PT09IHJlbGVhc2UgMS44LjAgPT09CgoyMDE2LTAzLTI0ICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0Bjb2F4aW9uLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDEuOC4wCgoyMDE2LTAzLTIzIDEzOjQzOjQ2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBNaW5vciBzdHJpbmcgZml4CgoyMDE2LTAzLTIzIDIyOjEzOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBWS19BUElfVkVSU0lPTiBoYXMgYmVlbiByZW1vdmVkCgkgIEluIGEgc3RhYmxlIHJlbGVhc2UgdG9vLCBuYXVnaHR5LgoJICBVc2UgVktfQVBJX1ZFUlNJT05fMV8wIGluc3RlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDA2NgoKMjAxNi0wMy0yMiAwNzoyMDo1OSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdsL3Byb3RvOiBzeW5jIG9wZXJhdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiBHTEVTIDMuMAoJICBXaXRob3V0IHRoZSBHU1RfR0xfQVBJX0dMRVMyIGJpdCBzZXQsIHdlIHdpbGwgbm90IGV2ZW4gYXR0ZW1wdCB0byBsb29rCgkgIGZvciB0aGUgZnVuY3Rpb24gcG9pbnRlcnMgaW4gdGhlIGNvcmUgbGlicmFyeSBhbmQgd2lsbCBmYWxsYmFjayB0bwoJICBnbEZsdXNoL2dsRmluaXNoLgoKMjAxNi0wMy0yMiAwNzoxNjozNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC9idWlsZDogYWRkIEdTVF9HTF9IQVZFX0RNQUJVRiB0byBnc3RnbGNvbmZpZy5oCgkgIGl0J3MgZXhwb3NlZCBpbiBwdWJsaWMgQVBJIHNvIGhpZGluZyBpdCBpbiBhbiBBQ19ERUZJTkUgZm9yIGNvbmZpZy5oIG9ubHkKCSAgd29ya3Mgd2hlbiBidWlsZGluZyBsaWJnc3RnbCBpdHNlbGYuICBBdHRlbXB0aW5nIHRvIHVzZSBsaWJnc3RnbCAoZXNwZWNpYWxseQoJICBvbiBlZ2wgcGxhdGZvcm1zKSB3aWxsIHRocm93IGEgY29tcGlsYXRpb24gZXJyb3IuCgoyMDE2LTAzLTIxIDE1OjIyOjE1ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggcXVlcnkgbWVtb3J5IGxlYWsKCSAgUGVlciBxdWVyeSBpc24ndCBiZWluZyBmcmVlZCBpbiBjYXNlIG9mIEdTVF9RVUVSWV9TRUVLSU5HLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTc0CgoyMDE2LTAzLTE4IDE5OjQ1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSAgdnVsa2FuOiBTaGlwIG1pc3NpbmcgaGVhZGVycyB3aXRoIHRhcmJhbGxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NzcKCjIwMTYtMDMtMTcgMTk6MjQ6MzIgKzAwMDAgIEFsZWtzYW5kZXIgV2FiaWsgPGF3YWJpa0BvcGVyYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY0cGFyc2UsIGgyNjVwYXJzZTogZml4IGhhbmRsaW5nIG9mIGRvd25zdHJlYW0gZm9yY2Uta2V5LXVuaXQgZXZlbnRzCgkgIFRoZSBwYXJzZXIgaGFuZGxlcyB0aGUgZG93bnN0cmVhbSBmb3JjZS1rZXktdW5pdCBldmVudCBpbmNvcnJlY3RseSwKCSAgaXQgdHJpZXMgdG8gcGFyc2UgaXQgYXMgYW4gdXBzdHJlYW0gZm9yY2Uta2V5LXVuaXQgZXZlbnQsIGRvZXMgbm90CgkgIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUsIGFuZCB0aGVuIHVzZXMgdW5pbml0aWFsaXplZCBtZW1vcnkgaW4KCSAgImFsbF9oZWFkZXJzIiBib29sZWFuIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzkzCgoyMDE2LTAzLTE3IDIyOjQzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVuc2V0IEdMX1VOUEFDS19ST1dfTEVOR1RIIGluIG9wZW5nbDMKCSAgSWYgdGhlIHVzZXIgdXBsb2FkcyB0aGVpciBvd24gdGV4dHVyZSB3aXRob3V0IHNldHRpbmcgdGhlIHVucGFjayBsZW5ndGgsIHRoZW4KCSAgdGhlbiB0aGUgcmVzdWx0IHdpbGwgaGF2ZSB0aGUgYXBwZWFyYW5jZSBvZiBzdHJpZGUgbWlzbWFuYWdlbWVudCBkdWUgdG8KCSAgYW4gaW5jb3JyZWN0IHJvdyBsZW5ndGguCgoyMDE2LTAzLTE3IDE2OjM0OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9xdDogcmVzdHJpY3QgdGhlIEdMIEFQSSB0byBvcGVuZ2wgd2hlcmUgbmVlZGVkCgkgIFVudGlsIHRoZSBleGFtcGxlcyBhcmUgcG9ydGVkIHRvIG9wZW5nbDMvZ2xlczIsIHRoZXkgd2lsbCBub3Qgd29yayB3aXRoIGFueQoJICBvdGhlciBHTCBhcGkuCgoyMDE2LTAzLTE3IDE2OjMxOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvZ3RrOiBjYWxsIFhJbml0VGhyZWFkcwoJICBGaXhlcyBzb21lIHNwb3JhZGljIFgxMSB0aHJlYWRpbmcgYXNzZXJ0aW9ucy4KCjIwMTYtMDMtMTcgMDM6MDY6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsdXRpbHM6IHJlbW92ZSBjdXN0b20gY29kZSBmb3Igc2V0dGluZyBjYXBzIGZlYXR1cmVzCgkgIEp1c3QgdXNlIGdzdF9jYXBzX3NldF9mZWF0dXJlcygpIGluc3RlYWQuCgoyMDE2LTAzLTE3IDAxOjUyOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IG9ubHkgYWxsb3cgdGhlIHNhbWUgc3JjL3NpbmsgY2FwcyB3aGVuIHdlIGFyZSBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIElmIHdlIGFyZSBnaXZlbiBjYXBzIHdpdGggZXh0cmEgZmVhdHVyZXMgKGxpa2UgdGhlIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgZmVhdHVyZXMpLCB3ZSBjYW4gb25seSBkZWFsIHdpdGggdGhhdCB3aGVuIHdlIGFyZSBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBQcmV2aW91c2x5IHdlIHdlcmUgYmFpbGluZyBlbnRpcmVseSBhbmQgbm90IGFsbG93aW5nIHBhc3N0aHJvdWdoIGZpbHRlciBlbGVtZW50cwoJICB3aXRoIHRoaW5ncyBsaWtlIHRleHRvdmVybGF5LgoJICBGaXhlcyB0aGUgZm9sbG93aW5nIHBpcGVsaW5lIChhc3N1bWluZyBnbGZpbHRlciBzdXBwb3J0cyBwYXNzdGhyb3VnaCk6CgkgIGdsICEgdGV4dG92ZXJsYXkgISBnbGZpbHRlciAhIC4uLiAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzU2CgoyMDE2LTAzLTE2IDIyOjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRlYWwgd2l0aCB0aGUgQU5ZIGNhcHMgZmVhdHVyZSBjb3JyZWN0bHkKCSAgV2hlbiB0cmFuc2Zvcm1pbmcsIHhwbG9kZSBpdCBvdXQgaW50byB0aGUgbmVjZXNzYXJ5IGNhcHMgZmVhdHVyZXMgYm90aAoJICB3aXRoIGFuZCB3aXRob3V0IHRoZSBwYXNzdGhvdWdoIGZlYXR1cmVzLgoJICBGaXhlcyBuZWdvdGlhdGlvbiBpbiB0aGUgZm9sbG93aW5nIGNsYXNzIG9mIHBpcGVsaW5lczoKCSAgZ2wgISB0ZXh0b3ZlcmxheSAhIGdsdXBsb2FkICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3NTYKCjIwMTYtMDMtMTYgMjI6MTk6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kOiBmaXggbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIG9uIGVycm9yCgkgIGdub21lLXNoZWxsIGRvZXNuJ3QgdGhlIHN1cHBvcnQgd2xfc2NhbGVyIGludGVyZmFjZSB3aGljaCBtYWtlcyBjcmVhdGluZyBhCgkgIHdheWxhbmQgZGlzcGxheSBmYWlsIGNyZWF0aW9uLgoJICBGb3VuZCBpbiB0aGUgZ2VuZXJpYyBzdGF0ZSBjaGFuZ2VzIHRlc3QKCjIwMTYtMDMtMTYgMjI6MTY6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJICBnbHN0ZXJlb3ttaXgsc3BsaXR9OiBhbGxvdyBydW5uaW5nIG9uIEdMRVMgMi8zCgkgIEl0J3MgbW9zdGx5IHN1cHBvcnRlZCBmb3IgR0xFUyAyLngsIGZ1bGx5IHN1cHBvcnRlZCBvbiBHTEVTIDMueAoKMjAxNi0wMy0xNiAxMjowMzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBXYXJuIGlmIHRoZSBwb3NpdGlvbiByZXBvcnRlZCBieSBPcGVuU0wgaXMgaGlnaGVyIHRoYW4gd2hhdCB3ZSBxdWV1ZWQgdXAgc28gZmFyCgkgIFRoaXMgd291bGQgaGludCBhdCB3cm9uZyBwb3NpdGlvbiByZXBvcnRpbmcsIGFuZCBhcHBhcmVudGx5IHNvbWV0aW1lcyBoYXBwZW5zCgkgIGFmdGVyIGEgc2Vlay4KCjIwMTYtMDMtMTYgMTE6MzQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14Zm11eDogRml4IHR5cG8gaW4gSlBFRzIwMDAgY29sb3JzcGFjZQoJICBzUkdDIC0+IHNSR0IKCj09PSByZWxlYXNlIDEuNy45MSA9PT0KCjIwMTYtMDMtMTUgMTI6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkxCgoyMDE2LTAzLTE1IDExOjU2OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTIgMTU6NDQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgdmlkZW8veC1oMjY1IHRvIHRlbXBsYXRlIGNhcHMKCjIwMTYtMDMtMTIgMDM6MDA6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBEb24ndCBsZWF2ZSBmcmVlZCBwcm9ncmFtcyBpbiB0aGUgaGFzaCB0YWJsZQoJICBXaGVuIHRoZSBzdWItY2xhc3MgY2xhaW1zIGEgcHJvZ3JhbSBmb3IgbGF0ZXIgZnJlZWluZywgbWFrZQoJICBzdXJlIGl0J3Mgbm90IGxlZnQgaW4gdGhlIGhhc2ggdGFibGUsIG9yIGl0IGNhbiBjYXVzZSBjcmFzaGVzIG9uIHNodXRkb3duLgoJICBNYWtlIHN1cmUgdHNkZW11eCBmcmVlcyBhbnkgcHJvZ3JhbSBpdCBoYXMga2VwdCBhcm91bmQgYXQgc2h1dGRvd24KCSAgaWYgaXQgd2Fzbid0IGZyZWVkIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1MDMKCjIwMTYtMDMtMTEgMTc6MzQ6MDMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NTogRml4IHNlZ2ZhdWx0IHdoaWxlIHRyYW5zZm9ybWluZyBoZXZjIHRvIG5hbCBhbGlnbmVkIGJ5dGVzdHJlYW0KCSAgQ3JlYXRlIHRlbXBvcmFyeSBQYXJzZUZyYW1lIGFuZCBjb3B5IHRoZSBuYWwgc2l6ZSBidWZmZXIgcmVnaW9uCgkgIGZvciBlYWNoIG5hbCB1bml0IGxpa2Ugd2UgZGlkIGZvciBoMjY0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDk0CgoyMDE2LTAzLTExIDEwOjA4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jOiBDb3JyZWN0bHkgaGFuZGxlIE5VTEwgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAxCgoyMDE2LTAzLTExIDEwOjAwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbWN2aWRlb2RlYzogZ2V0T3V0cHV0QnVmZmVycygpIHJldHVybnMgYSBOVUxMIGFycmF5IHdoZW4gYSBzdXJmYWNlIHdhcyBjb25maWd1cmVkCgkgIFNvIGRvbid0IGVycm9yIG91dCBpZiBpdCBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAxCgoyMDE2LTAzLTExIDAxOjQwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgZ2xlZmZlY3RzOyBnaXZlIGVhY2ggZWZmZWN0IGEgdW5pcXVlIGxvbmcgbmFtZSBhbmQgZGVzY3JpcHRpb24KCSAgR2l2ZXMgYXBwbGljYXRpb25zIHRoYXQgc2NyYXBlIHRoZSBmYWN0b3J5IGRldGFpbHMgbW9yZSBkZXRhaWxlZCBhbmQgdW5pcXVlCgkgIGRldGFpbHMgb24gdGhlIGV4YWN0IGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NjYKCjIwMTYtMDMtMTAgMTc6NDY6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2hhZGVyOiBzb21lIGNvbXBhdGliaWxpdHkgY2hhbmdlcyBmb3IgR0wgMS40CgkgIEdMIDEuNCAod2l0aCBHTF9BUkJfc2hhZGVyX29iamVjdHMpIGRvZXNuJ3QgaGF2ZSBnbElzUHJvZ3JhbSBvciBnbElzU2hhZGVyCgkgIGVxdWl2YWxlbnRzLiAgQXMgdGhleSBhcmUgc2ltcGx5IGFzc2VydGlvbnMsIHNraXAgdGhlbSB3aGVuIHRoZXJlIGlzbid0IGEKCSAgdmFsaWQgZnVuY3Rpb24gcG9pbnRlci4KCjIwMTYtMDMtMTAgMDA6Mjk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBnbGZpbHRlcmFwcDogdXBkYXRlIGZvciB0aGUgdXNlIG9mIHNoYWRlcnMKCSAgRml4ZXMgYmxhY2sgb3V0cHV0IHdoZW4gcGxhY2VkIGluIHBpcGVsaW5lcyAodXNpbmcgdGhlIGRlZmF1bHQgZHJhd2luZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzNjUKCjIwMTYtMDMtMTAgMDA6Mjc6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IHJldHJpZXZlIHRoZSBzaGFkZXIgYXR0cmlidXRlcyBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgcmVjZWl2ZSBib2d1cyB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzM2NQoKMjAxNi0wMy0xMCAwMDoyNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2N1YmUqOiBjaG9vc2Ugb3BlbmdsIGJ5IGRlZmF1bHQKCSAgVGhlIGV4YW1wbGVzIGRvbid0IHdvcmsgd2l0aCBhbnkgb3RoZXIgR0wgQVBJLgoJICBBbHNvIGZpeCB0aGUgeXV2IGV4YW1wbGUgdG8gbm90IHRyYW5zbGF0ZSB0aGUgY3ViZSBvdXQgb2YgdGhlIGNsaXBwaW5nIGFyZWEuCgoyMDE2LTAzLTEwIDAwOjIzOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBnbC9leGFtcGxlcy9meHRlc3Q6IGFkZCBuZWVkZWQgZ2x1cGxvYWQgdG8gdGhlIHBpcGVsaW5lCgkgIEZpeGVzIGEgbmVnb3RpYXRpb24gZmFpbHVyZSBpbiB0aGUgZXhhbXBsZQoKMjAxNi0wMy0wNyAxMzowNDowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBIYW5kbGUgbm9uLWhpZXJhcmNoaWNhbCBwcm9maWxlcyBhZ2FpbgoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIHNpbmNlIG1wZWd2aWRlb3BhcnNlciB3YXMgc3dpdGNoZWQgdG8KCSAgdXNlIHRoZSBjb2RlY3BhcnNpbmcgbGlicmFyeS4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgaGlnaCBiaXQgb2YgdGhlIHByb2ZpbGVfYW5kX2xldmVsIGlzIHVzZWQKCSAgdG8gc3BlY2lmeSBub24taGllcmFyY2hpY2FsIHByb2ZpbGVzIGFuZCBsZXZlbHMuIFVuZm9ydHVuYXRlbHkgd2UKCSAgd2VyZSBkaXNjYXJkaW5nIHRoYXQgaW5mb3JtYXRpb24uCgkgIEV4cG9zZSB0aGF0IGVzY2FwZSBiaXQsIGFuZCB1c2UgaXQgaW4gdGhlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzIyMAoKMjAxNi0wMy0wOSAxMTo1ODo0MyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IHdpbmRvdyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzU2CgoyMDE2LTAzLTA4IDExOjQxOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcmVzZXQvcmVjYWxjdWxhdGUgc2VnbWVudHMgd2l0aCBhY2N1cmF0ZSBzZWVrcwoJICBXaGVuIGRlYWxpbmcgd2l0aCBhY2N1cmF0ZSBzZWVrcywgd2UgbXVzdCBzZW5kIG91dCBhIHNlZ21lbnQgd2hpY2gKCSAgaXMgZXhhY3RseSB3aGF0IGlzIHJlcXVlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzI2MgoKMjAxNi0wMy0wOCAwMjowNjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNpZ25hbCBjb250aW51YXRpb24gaW4gcmVzZXQKCSAgV2Ugd2FudCB0byBpdGVyYXRlIG92ZXIgYWxsIHRoZSBwYWRzLCBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAgRml4IGJ5IHJldHVybmluZwoJICBUUlVFIGluIHRoZSBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMuCgkgIFJlbW92ZXMgYSBHU1RfSVNfR0xfQ09OVEVYVCgpIGFzc2VydGlvbiBvbiBzaHV0ZG93biB3aXRoID4yIGlucHV0cwoJICB1c2luZyBnc3QtbGF1bmNoLgoKMjAxNi0wMy0wOCAwMDozNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGRpc3BsYXk6IG1ha2UgcmVhZGRpbmcgdGhlIHNhbWUgY29udGV4dCBhIG5vLW9wCgkgIFdpdGggZTM4YWYyMzA0NDI3ZGI5MDhhMTZiYmFlMGU2MGFhNjhiZTFiYTViNSByZXR1cm5pbmcgdGhlIGNvcnJlY3QgY29udGV4dHMsCgkgIGdzdF9nbF9kaXNwbGF5X2FkZF9jb250ZXh0KCkgd2FzIHN1c2NlcHRpYmxlIHRvIGNhdXNpbmcgaW5maW50ZSBsb29wcyB3aGVuCgkgIGFkZGluZyB0aGUgc2FtZSBHc3RHTENvbnRleHQgbW9yZSB0aGFuIG9uY2UuICBGaXggYW5kIGFkZCBhIHRlc3QgZm9yCgkgIGdzdF9nbF9kaXNwbGF5X2FkZF9jb250ZXh0KCkuCgkgIEZpeGVzIGdsdmlkZW9taXhlciBnc3QtdmFsaWRhdGUgdGVzdHMuCgoyMDE2LTAzLTA3IDA4OjUyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBSZXZlcnQgImxpYmdzdGdsOiBjb2NvYSwgZWFnbDogZG9uJ3QgbWFyc2hhbCBHTCBjYWxscyB0byB0aGUgY29udGV4dCB0aHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzk3ZDY0MTVkZmQ2ZTExMWVmYjJjYWI1NDQ5NThhNjdjYmYyMmIxNy4KCSAgV2UncmUgZnJvemVuIGZvciAxLjguMCByZWxlYXNlIGFuZCB0aGlzIGNoYW5nZSBtaWdodCBoYXZlIGJpZ2dlciBpbXBhY3QuCgoyMDE2LTAzLTA3IDE2OjAzOjI1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGNvY29hLCBlYWdsOiBkb24ndCBtYXJzaGFsIEdMIGNhbGxzIHRvIHRoZSBjb250ZXh0IHRocmVhZAoJICBFeGVjdXRlIEdMIGNhbGxzIHdpdGhvdXQgbWFyc2hhbGxpbmcgdGhlbSB0byB0aGUgY29udGV4dCB0aHJlYWQuIEluIHRoZSBjb2NvYQoJICBhbmQgZWFnbCBiYWNrZW5kcyBjYWxsaW5nIGdzdF9nbF9jb250ZXh0X2FjdGl2YXRlIGlzIGNoZWFwIGFuZCB0aGVyZWZvcmUgY2FsbGluZwoJICBpdCBvbiB0aGUgY3VycmVudCB0aHJlYWQgYW5kIHNlcmlhbGl6aW5nIEdMIGNhbGxzIHdpdGggYSBwZXItY29udGV4dCBsb2NrIGlzCgkgIG1vcmUgZWZmaWNpZW50IChmYXN0ZXIgYW5kIGhhcyBsZXNzIG92ZXJoZWFkKSB0aGFuIG1hcnNoYWxsaW5nIGV2ZXJ5dGhpbmcgdG8gdGhlCgkgIGNvbnRleHQgdGhyZWFkLgoJICBUaGlzIG9wdGltaXphdGlvbiBjdXRzIGEgbGFyZ2Ugb3ZlcmhlYWQgaW4gZ19wb2xsIChjb250aW51b3VzbHkgd2FraW5nIHVwIHRoZQoJICBjb250ZXh0IHRocmVhZCkgYW5kIGluIGdfbXV0ZXhfKi9nX2NvbmRfKiAod2FpdGluZyBmb3IgcmVzdWx0cyBmcm9tIHRoZSBjb250ZXh0CgkgIHRocmVhZCkuCgoyMDE2LTAzLTA1IDE3OjE2OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogcmVhbGx5IHJldHJpZXZlIGdsY29udGV4dCBmb3IgYSBzcGVjaWZpYyB0aHJlYWQKCSAgV2hlbiByZXF1ZXN0aW5nIGEgZ2xjb250ZXh0IChyZWdhcmRsZXNzIG9mIHRocmVhZCksIHRoZSByZXN1bHQgd2FzIGNvcnJlY3QuCgkgIEhvd2V2ZXIsIHdoZW4gcmVxdWVzdGluZyBjdXJyZW50IGdsY29udGV4dCBvbiBhIHNwZWNpZmljIHRocmVhZCwgaXQgY291bGQKCSAgY29tZSB1cCB3aXRoIGEgZ2xjb250ZXh0IGFjdGl2ZSBvbiBhbm90aGVyIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzE2OAoKMjAxNi0wMy0wNiAxOTozNTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogbWlzYyBkb2NzIGZpeGVzL2FkZGl0aW9ucwoKMjAxNi0wMy0wNiAxOTozMjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2VudW1zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2wqbWVtb3J5OiBkb2N1bWVudCBuZXcgZnVuY3Rpb25hbGl0eSBhbmQgb2JqZWN0cwoKMjAxNi0wMy0wNiAxOToyMzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiBhZGQgbmV3IEdMIGFwaSB0byAudHlwZXMgZmlsZSBmb3IgdHlwZS9zaWduYWwgaW50cm9zcGVjdGlvbgoKMjAxNi0wMy0wNiAxOToyMjozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpZ25vcmUgc29tZSBwcml2YXRlIEdMIGhlYWRlcnMKCjIwMTYtMDMtMDYgMTk6MTg6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3MvZ2w6IGFkZCBnbCBmdW5jdGlvbnMvc3RydWN0cyBmcm9tIC11bnVzZWQgaW50byB0aGUgZG9jcwoKMjAxNi0wMy0wNSAxOTo0ODo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBoYW5kbGUgc29tZSBtb3JlIHVuZml4ZWQgZmllbGRzIHdoZW4gZml4YXRpbmcgY2FwcwoKMjAxNi0wMy0wNSAxMTozODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBleGFtcGxlczogI2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSSBhbmQgbGluayB3aXRoIFgxMV9MSUJTCgkgIFgxMV9MSUJTIGlzIG5lZWRlZCBmb3IgWEluaXRUaHJlYWRzKCkgYW5kIHdpdGhvdXQgdGhlICNkZWZpbmUgd2UgZ2V0CgkgIHdhcm5pbmdzIGFib3V0IHRoZSBHTCBBUEkgYmVpbmcgc3RpbGwgdW5zdGFibGUuCgoyMDE2LTAzLTAyIDE5OjMyOjEzICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtb3ZlIHVudXNlZCBmaWxlCgkgIGFoY3NyYyBpcyByZWdpc3RlcmVkIGJ5IGdzdGFtYy5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOTgKCjIwMTYtMDItMTcgMDk6MzY6MTUgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBwcm9wZXJseSBkZWluaXQgd2hlbiBhaGNzcmMgcmVnaXN0ZXIgZmFpbHMKCSAgSW4gdGhlIGFuZHJvaWRtZWRpYSBwbHVnaW5faW5pdCwgd2UgaW5pdGlhbGl6ZSB2YXJpb3VzIHJlc291cmNlcyBvbiB0aGUKCSAgQW5kcm9pZCBkZXZpY2UuIElmIGFueXRoaW5nIGZhaWxzIGR1cmluZyB0aGlzIHNlcmllcyBvZiBpbml0aWFsaXphdGlvbnMsCgkgIHdlIG5lZWQgdG8gZGVpbml0aWFsaXplIGFueSBpbml0aWFsaXphdGlvbnMgdGhhdCBhbHJlYWR5IG9jY3VycmVkLgoJICBIb3dldmVyLCB3ZSBkb24ndCBkbyBzbyBpZiB3ZSBmYWlsIHRvIHJlZ2lzdGVyIHRoZSBhaGNzcmMgZWxlbWVudC4gRml4CgkgIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTggMTE6MDA6NTAgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBjb3JyZWN0IGVycm9yIG1lc3NhZ2UKCSAgVGhlIGVycm9yIG1lc3NhZ2UgaXMgc3BlY2lmaWMgdG8gb25seSBvbmUgb2YgdGhlIGZhaWx1cmUgY2FzZXMgYW5kIGlzCgkgIG1pc2xlYWRpbmcgaW4gdGhlIG90aGVycy4gQ29ycmVjdCBpdCB0byBiZSBtb3JlIGdlbmVyaWMgYW5kIGNvdmVyIGFsbAoJICB0aGUgZmFpbHVyZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xNiAxMTo0NTowMSAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IHJlbW92ZSB1bm5lZWRlZCAjaW5jbHVkZSA8c3RkaW8uaD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xOCAxNjowMDoxOCAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGM6IHR5cG8gZml4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDMtMDMgMjI6MTU6MDcgLTA1MDAgIEpvZSBHb3JzZSA8amhnb3JzZUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IEFkZCBPUEVOU1NMX0NGTEFHUyB0byBDRkxBR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA3OQoKMjAxNi0wMy0wMyAxOTo0NTo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IERvbid0IGNoYW5nZSBtYXhzaXplIGF0IHJ1bi10aW1lCgkgIE1heHNpemUgaXMgaW5pdGlhbGl6ZWQgb25jZSBhbmQgc2hvdWxkIG5ldmVyIGNoYW5nZS4gQWxsb2NhdGluZyBkYXRhCgkgIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgc2VsZWN0ZWQgbWF4IHNpemUgZm9yIHRoaXMgbWVtb3J5LiBUaGlzCgkgIGNhdXNpbmcgbWVtb3J5IG1hcCBmYWlsdXJlIGFzIHRoZSBtYXhzaXplIHdvdWxkIGJlY29tZSBzbWFsbGVyIHRoZW4KCSAgc2l6ZS4gVGhpcyBoYXBwZW5lZCB3aGVuIHVzaW5nIGRpcmVjdCByZW5kZXJpbmcgaW4gYXZ2aWRkZWMgb24gR0wgdGhhdAoJICBkb2VzIG5vdCBzdXBwb3J0IFBCTyB0cmFuc2Zlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA0NQoKMjAxNi0wMy0wMSAxODoyMjozNyArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBGaXggbGVhayBvZiB0aGUgT3BlbkdMIGNvbnRleHRzCgkgIFtNYXR0aGV3IFdhdGVyc106IGFkZCBOVUxMIGNoZWNrcyBiZWZvcmUgdW5yZWZmaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5OTkKCjIwMTYtMDItMjkgMTQ6MjQ6NDYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrc2luazogZml4IHNwZWxsaW5nIG9uIGZhaWxlZCBfZW5zdXJlX2RhdGEoKSBlcnJvciBtZXNzYWdlCgoyMDE2LTAzLTAyIDIxOjQ2OjQ0ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IFByb3ZpZGUgZm9ybWF0IGFzIGEgc3RyaW5nIGluc3RlYWQgb2YgYSBjaGFyIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3CgkgIFRoZSBmb3JtYXQgd2FzIHByb3ZpZGVkIGFzICdJNDIwJyBpbnN0ZWFkIG9mICJJNDIwIiwgY2F1c2luZyBhIGNyYXNoLgoKMjAxNS0wMS0yMCAxNjoyMDoxMCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGhhbmRsZSBlYXJseSBQVFMgY29udmVyc2lvbiB3aGVuIGEgZ3JvdXAgaGFzIGJlZW4gZm91bmQKCSAgSW4gc29tZSBjYXNlcywgdGhlIFBUUyBtaWdodCBiZSBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IG9ic2VydmVkIFBDUgoJICB2YWx1ZSB3aGljaCBjYXVzZXMgZWxlbWVudCB0byBhcHBseSB3cmFwYXJvdW5kIGxlYWRpbmcgdG8gYm9ndXMKCSAgdGltZXN0YW1wLiBUbyBzb2x2ZSB0aGlzLCB3ZSBvbmx5IGFwcGx5IGl0IGlmIHRoZSBQVFMtUENSIGRpZmZlcmVuY2UgaXMKCSAgZ3JlYXRlciB0aGF0IDEgc2Vjb25kIHRvIGJlIHN1cmUgdGhhdCBpdCdzIGEgcmVhbCB3cmFwYXJvdW5kLgoJICBNb3Jlb3ZlciwgdXNpbmcgdW5zaWduZWQgMzIgYml0cyB2YWx1ZXMgdG8gaGFuZGxlIHdyYXBvdmVyIGNvdWxkIGVuZCB1cAoJICB3aXRoIGJvZ3VzIHZhbHVlLCBzbyBpdCB1c2UgcHRzIHZhbHVlIHRvIGhhbmRsZSBpdC4KCSAgQWxzbywgY29udmVydCBwY3IgdGltZSB0byBnc3QgdGltZSBiZWZvcmUgY29tcGFyaW5nIGl0IHRvIHB0cy4KCSAgU2luY2UgcmVmcGNyIGlzIGV4cHJlc3NlZCBpbiBQQ1IgdGltZSBiYXNlIHdoaWxlIHB0cyBpcyBleHByZXNzZWQgaW4gR1N0cmVhbWVyCgkgIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMyNTkKCjIwMTYtMDMtMDIgMTA6NDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBSRU1PVkVfU05BUF9GTEFHUygpIG1hY3JvCgkgICEoZmxhZzEgfCBmbGFnMiB8IGZsYWczKSBpcyBhbHdheXMgZXZhbHVhdGlvbiB0byAwLiB+IHdhcyBtZWFudCBoZXJlCgkgIGluc3RlYWQgb2YgIS4KCSAgQ0lEIDEzNTIwMzIuCgo9PT0gcmVsZWFzZSAxLjcuOTAgPT09CgoyMDE2LTAzLTAxIDE4OjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MAoKMjAxNi0wMy0wMSAxNzoxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTAxIDE2OjUzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYmcucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9ubC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMjkgMTI6MzU6NTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NDogRGlzYWJsZSBwYXNzdGhvcnVnaCBtb2RlIGVuYWJsaW5nCgkgIEVuYWJsaW5nIHBhc3N0aG9ydWdoIG1vZGUgaXMgY2F1c2luZyBtdWx0aXBsZSBpc3N1ZToKCSAgRm9yIG5hbCBhbGlnbmVkIG11bHRpcmVzb2x1dG9uIHN0cmVhbXMsIHBhc3N0aHJvdWdoIG1vZGUKCSAgbWFrZSBoMjY0cGFyc2UgdW5hYmxlIHRvIGFkdmVydGlzZSB0aGUgbmV3IHJlc291bHRpb25zLgoJICBBbHNvIGNhdXNpbmcgaXNzdWVzIHdoaWxlIHBhcnNpbmcgTVZDIHN0cmVhbXMgd2hpY2ggaGF2ZSB0d28KCSAgc2VwYXJhdGUgbGF5ZXJzIChiYXNlLXZpZXcgYW5kIG5vbi1iYXNlLXZpZXcpLgoJICBUaGlzIGZpeCBpcyBvbmx5IGEgdGVtcG9yYXJ5IHdvcmthcm91bmQuCgkgIEZvciBNVkMsIHByb3BlciBmaXhlcyBuZWVkZWQgaW4gbWFueSBwbGFjZXM6CgkgIChoYW5kbGUgcHJlZml4IG5hbCB1bml0LCBoYW5kbGUgbm9uLWJhc2UtdmlldyBzbGljZSBuYWwgZXh0ZW5zaW9uLAoJICBmaXggdGhlIHBpY3R1cmVfc3RhcnQgZGV0ZWN0aW9uIGZvciBtdWx0aS1sYXllci1tdmMgc3RyZWFtcyBldGMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg2NTYKCjIwMTYtMDItMjkgMTE6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBTZXQgY2FwcyB0byBhcHBsaWNhdGlvbi94LXJ0cCBpbnN0ZWFkIG9mIGFwcGxpY2F0aW9uL3gtdW5rbm93biBhcyByZXR1cm5lZCBieSB0aGUgU0RQIGhlbHBlcnMKCSAgVGhlIFNEUCBoZWxwZXJzIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBiZSBSVFAsIFNSVFAsIG9yIC4uLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg2MAoKMjAxNi0wMi0yOSAxMTo1MToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IEFkZCBwYWRzIHdpdGggdGhlIGNvcnJlY3QgbmFtZXMgaW4gY2FzZSBhbiBydHBiaW4gaXMgdXNlZAoJICBUaGV5J3JlIHN1cHBvc2VkIHRvIGJlIHN0cmVhbV8ldSBhbmQgbm90IHJlY3ZfcnRwX3NyY18ldV8ldV8ldS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg2MAoKMjAxNi0wMi0yOSAxMDozODozMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJICB2a3N3YXBwZXIvdmt1dGlsczogRml4IGdlcnJvciBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODQyCgoyMDE2LTAyLTI5IDEwOjM3OjExICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogRml4IGR1cGxpY2F0ZSBhc3NpZ25tZW50IG9mIHF1ZXVlIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NDIKCjIwMTYtMDItMjkgMTA6MzM6NDUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a3Npbms6IEZpeCBHRXJyb3IgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg0MgoKMjAxNi0wMi0yOCAxNDowNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZXhwb3J0cyBmb3IgbmV3IGxpYmdzdGdsIGZ1bmN0aW9uCgoyMDE2LTAyLTI4IDEwOjEyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogV2hlbiBvdXRwdXR0aW5nIG9uIGEgc3VyZmFjZSwgYWNjZXB0IGFsbCBjb2xvciBmb3JtYXRzCgkgIFdlIGRvbid0IGhhdmUgdG8gdW5kZXJzdGFuZCB0aGVtLCB3ZSBoYW5kbGUgdGhlbSBhcyBhIEdMIHRleHR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3OTIKCjIwMTYtMDItMjYgMTg6MTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBoYW5kbGUgc25hcCBzZWVraW5nIHdpdGhvdXQgc2V0dGluZyBhbnkgcG9zaXRpb24KCSAgV2hlbiB0aGUgc3RhcnRfdHlwZSBpcyBHU1RfU0VFS19UWVBFX05PTkUgZm9yIGEgZm9yd2FyZCBzZWVrCgkgIChvciBzdG9wX3R5cGUgZm9yIGEgcmV2ZXJzZSkgaXMgbm90IHNldCBvbiBhIHNuYXAgc2Vla2luZyBvcGVyYXRpb24sCgkgIHRoZSBlbGVtZW50IHNob3VsZCB1c2UgdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIHRoZW4gc25hcCBhcyByZXF1ZXN0ZWQuCgkgIEFsc28gZml4ZXMgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21wbGFpbnQgYnkgY2xhbmcgYWJvdXQKCSAgJ3RzJyB2YXJpYWJsZS4KCjIwMTYtMDItMjYgMTc6MzE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHN5bmMgaW5kZXggYW5kIHRoZSBzZWxlY3RlZCBjaHVuayB3aGVuIHNlZWtpbmcKCSAgT3RoZXJ3aXNlIHRoZSBjaHVuayBzZWxlY3RlZCBpc24ndCBtYXRjaGVkIHRvIHRoZSBpbmRleCBhbmQKCSAgdGhlIHRpbWluZyB3aWxsIGJlIGRpZmZlcmVudCwgY2F1c2luZyBpdCB0byBhY3R1YWxseSBzdGFydAoJICBmcm9tIGEgZGlmZmVyZW50IHBvc2l0aW9uCgoyMDE2LTAyLTI2IDEyOjQxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMjUzOTc0IHRvIDZmMmQyMDkKCjIwMTYtMDItMTcgMjA6MTM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2VtZW1vcnk6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zIGZvciBFR0wgZG1hYnVmCgkgIGUuZy4gdGhlIFJQaSBkb2Vzbid0IGhhdmUgdGhlbSBkZWZpbmVkCgoyMDE2LTAyLTI2IDAwOjM1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXM6IHJlbmFtZSBwbHVnaW4gdG8gb3B1c3BhcnNlIGZvciB0aGUgdGltZSBiZWluZwoJICBVbnRpbCB3ZSBmaXggaXQgdXAgYW5kIGdldCByaWQgb2YgdGhlIG9wdXMgZGVwZW5kZW5jeSBhbmQKCSAgbW92ZSBpdCBlbHNld2hlcmUgdG9vLgoKMjAxNi0wMi0xOSAwMDozODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogcmVtb3ZlIE9wdXMgZW5jb2Rlci9kZWNvZGVyLCBtb3ZlZCB0byAtYmFzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjgyCgoyMDE2LTAyLTI2IDA4OjM0OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBhIG1ldGhvZCB0byBhZGQgYSBjb250ZXh0IHRvIGFub3RoZXIgc2hhcmUgZ3JvdXAKCSAgSW50ZW5kZWQgZm9yIHVzZSB3aXRoIHdyYXBwZWQgY29udGV4dHMgdGhhdCBhcmUgY3JlYXRlZCBzaGFyZWQgd2l0aCBnc3QncwoJICBnbCBjb250ZXh0cyBpbiBvcmRlciB0byBtYW5hZ2UgdGhlIGludGVybmFsIHNoYXJlZ3JvdXAgc3RhdGUgY29ycmVjdGx5LgoJICBlLmcuIHdpdGggY2FvcGVuZ2xsYXllciAod2hpY2ggaXMgdXNlZCBpbiBnbGltYWdlc2luayBhbmQgY2FvcGVuZ2xsYXllcnNpbmsKCSAgb24gT1MgWCksIHdlIGNyZWF0ZSBhIENHTCBjb250ZXh0IGZyb20gdGhlIGdzdCBjb250ZXh0IGFuZCB0aGUgc2hhcmluZyBzdGF0ZQoJICB3YXMgbm90IGJlaW5nIGNvcnJlY3RseSBzZXQgb24gZWl0aGVyIEdMIGNvbnRleHQgYW5kIGdzdF9nbF9jb250ZXh0X2lzX3NoYXJlZCgpCgkgIHdhcyBhbHdheXMgcmV0dXJuaW5nIEZBTFNFLgoJICBXaXRoIDExZmI0ZmZmODBiNjNiOWQ2N2E3MzFkNGJiMjM4YjZjMGEyOWQ3NzQgb25seSBmbHVzaGluZyB3aXRoIG11bHRpcGxlCgkgIHNoYXJlZCBjb250ZXh0cywgdGhlIHJlcXVpcmVkIGZsdXNoIHdhcyBub3Qgb2NjdXJpbmcgY2F1c2luZyBzY3JlZW4KCSAgY29ycnVwdGlvbiBvciBzdHV0dGVyaW5nLgoJICBOb3RlOiB0aGlzIGRpZG4ndCBhZmZlY3QgR1NUX0dMX0FQST1vcGVuZ2wgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2MjAKCjIwMTYtMDItMTcgMTU6MjA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkgIG9wdXM6IHJlbW92ZSBPcHVzIFJUUCBlbGVtZW50cywgdGhleSBoYXZlIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDEtMTggMDg6NTA6MzQgKzAwMDAgIEFsZXggQXNobGV5IDxhbGV4LmFzaGxleUB5b3V2aWV3LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICBobHNkZW11eDogdGVzdHM6IHBhc3MgdGVzdCBuYW1lIGludG8gdGVzdCBzZXR1cCBmdW5jdGlvbgoJICBBbGwgaGxzZGVtdXggdGVzdHMgY3JlYXRlIGEgR3N0U3RydWN0dXJlIGNhbGxlZCAic3RhdGUiIHRoYXQgY2FuIGJlIHVzZWQKCSAgYnkgdGVzdCBjYXNlcyB0byBzdG9yZSBpbmZvcm1hdGlvbiBkdXJpbmcgYSB0ZXN0LiBUaGUgbmFtZSBvZiB0aGlzCgkgIHN0cnVjdHVyZSBpcyBhcmJpdHJhcnkuIFdoZW4gdGhlIGNvZGUgd2FzIHdyaXR0ZW4sIHRoZSBpbnRlbnRpb24gd2FzCgkgIHRvIHVzZSB0aGUgbmFtZSBvZiB0aGUgdGVzdCwgdG8gYWlkIGRlYnVnZ2luZy4gSG93ZXZlciwgZHVyaW5nCgkgIGRldmVsb3BtZW50IHRoaXMgd2FzIGxvc3QsIHNvIHRoYXQgdGhlIHN0YXRlIEdzdFN0cnVjdHVyZSBpcyBhbHdheXMKCSAgZ2l2ZW4gdGhlIG5hbWUgInNldHVwX3Rlc3RfdmFyaWFibGVzIi4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB0aGlzIHNvIHRoYXQgdGhlIG5hbWUgb2YgdGhlIHRlc3QgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjY4NAoKMjAxNi0wMi0yMyAxMjo0MjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogZHJvcCBzcGVjaWFsIGNhc2UgZm9yIHZhbGdyaW5kIHRpbWVvdXQKCSAgVGhlIGRlZmF1bHQgb25lIGlzIDYgbWludXRlcywgdGhlIHRlc3Qgd2FzIHVzaW5nIDUgbWludXRlcyBzbyBqdXN0CgkgIHJlc29ydCB0byB1c2luZyB0aGUgZGVmYXVsdC4KCSAgRm9yIHRoZSBub24tdmFsZ3JpbmQgdGVzdCBhbHNvIHVzZSB0aGUgZGVmYXVsdCAyMCBzZWNzIGluc3RlYWQgb2YKCSAgcmVkdWNpbmcgaXQgdG8gNnMuIE5vIHJlYWwgcmVhc29uIHRvIHNldCBhIGN1c3RvbSB2YWx1ZSBoZXJlLgoKMjAxNi0wMi0yMyAxMjoxNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogYWRkIHRlc3RzIGZvciBjYXBzIHF1ZXJpZXMKCSAgVmVyaWZpZXMgdGhhdCBwcm9wZXIgY2FwcyBhcmUgcmV0dXJuZWQgYmFzZWQgb24gd2hhdCBkb3duc3RyZWFtCgkgIHJlc3RyaWN0cy4KCjIwMTYtMDItMTggMTA6NTc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjYXBzIHF1ZXJpZXMgdG8gYWxsb3cgcHJvcGVyIHJlbmVnb3RpYXRpb24KCSAgV2hlbiBjYXBzIGFyZSBhbHJlYWR5IG5lZ290aWF0ZWQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvCgkgIHNlbGVjdCBmb3JtYXRzIG90aGVyIHRoYW4gdGhlIG9uZSB0aGF0IHdhcyBuZWdvdGlhdGVkLiBJZiBkb3duc3RyZWFtCgkgIGFsbG93cyBhbHBoYSB2aWRlbyBjYXBzIGFuZCBpdCBoYXMgYWxyZWFkeSBuZWdvdGlhdGVkIHRvIGEgbm9uLWFscGhhCgkgIGZvcm1hdCwgY2FwcyBxdWVyaWVzIHNob3VsZCBzdGlsbCByZXR1cm4gdGhlIGFscGhhIGNhcHMgYXMgYSBwb3NzaWJsZQoJICBmb3JtYXQgYXMgY2FwcyByZW5lZ290aWF0aW9uIGNhbiBoYXBwZW4uCgkgIEluY2x1ZGVzIHRlc3RzIChmb3IgY29tcG9zaXRvcikgdG8gY2hlY2sgdGhhdCBjYXBzIHF1ZXJpZXMgZG9uZSBhZnRlcgoJICBhIGNhcHMgaGFzIGJlZW4gbmVnb3RpYXRlZCByZXR1cm5zIGNvbXBsZXRlIHJlc3VsdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzYxMAoKMjAxNi0wMi0yNCAxNzowNzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBOZWdvdGlhdGUgdGhlIGRlY29kZXIgaW4gc2V0X2Zvcm1hdCgpIGFscmVhZHkKCSAgRG9uJ3Qgd2FpdCB1bnRpbCBsYXRlciwgd2Ugd2FudCB0byBrbm93IGhlcmUgaWYgdGhlIGNvZGVjIGNhbiBiZSBvcGVuZWQgb3Igbm90CgkgIGZvciB0aGUgcmVxdWVzdGVkIGZvcm1hdC4gVGhpcyB3YXMgcmVtb3ZlZCAoYWNjaWRlbnRpYWxseT8pIGJ5CgkgIDExOWUwOWVhYzMxNWY3OWFjMmNmNDViNDQ0MWFkMWQ5MzIxMzA2MTQKCSAgV2l0aG91dCB0aGlzIGRlY29kZWJpbiBoYXMgbm8gd2F5IHRvIHN3aXRjaCB0byBhIGRpZmZlcmVudCBkZWNvZGVyIGlmIHRoaXMgb25lCgkgIGRvZXMgbm90IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2MTMKCjIwMTYtMDItMjUgMTE6MzQ6NDAgKzAyMDAgIEpvZSBHb3JzZSA8amhnb3JzZUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogRnJhbWUgZHVyYXRpb25zIGFzIENUaW1lIHRvIHRoZSBBUEksIG5vdCBkb3VibGUKCSAgTmV3ZXIgaU9TIHNlZW1zIHRvIGF1dG9tYXRpY2FsbHkgY29udmVydCwgb2xkZXIgaU9TL09TWCBqdXN0IGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NzUKCjIwMTYtMDItMjQgMjM6NDg6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IHJlbGVhc2UgdGhlIGZyYW1lcyBhbmQgIGxpc3Qgd2hlbiBzZWFyY2hpbmcgZm9yIGFuIG91dHB1dCBidWZmZXIKCSAgRml4ZXMgYSBtYXNzaXZlIGxlYWsgaW46CgkgIHZpZGVvdGVzdHNyYyAhIG52aDI2NGVuYyAhIGZha2VzaW5rCgoyMDE2LTAyLTIzIDIzOjEwOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxdDogdXNlIGEgc3RhdGljX2Nhc3QgaW5zdGVhZCBvZiBkeW5hbWljIG9uZQoJICBUaGUgZHluYW1pY19jYXN0IGlzIGEgbGl0dGxlIGJ1dCBvZiBvdmVya2lsbCBhcyB0aGUgYXBwIHdpbGwgc3RpbGwgY3Jhc2ggaWYgaXQKCSAgZmFpbHMgaW4gdGhlIGxhdGVyIGdfYXNzZXJ0LgoJICBBbGxvd3MgY29tcGlsYXRpb24gd2l0aCAtZm5vLXJ0dGkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUyNgoKMjAxNi0wMi0yNCAxMDo0NToxNyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbG1peGVyOiBpdGVyYXRvciBkaWRuJ3QgYWR2YW5jZSBpbiBjb250aW51ZSBzdGF0ZW1lbnQKCSAgTGVhZGluZyB0byBhIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwODczCgoyMDE2LTAyLTIzIDE4OjE3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDE4OjEzOjM3ICswMjAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkgIGRpc3Bhcml0eTogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNi0wMi0yMyAxMDo0OTo0MCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0bHkgaGFuZGxlIGFuIEhUVFAtWFNEQVRFIHRoYXQgaXMgZXhhY3RseSB0aGUgc2l6ZSBvZiB0aGUgZGF0ZSBzdHJpbmcKCSAgVGhlIGNvZGUgaW4gdGhlIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfeHNkYXRlKCkgd2FzIHRyeWluZyB0bwoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIHN0cmluZyBpcyBub3QgbnVsbCB0ZXJtaW5hdGVkIGJ5IHJlc2l6aW5nCgkgIHRoZSBidWZmZXIgYW5kIGFwcGVuZGluZyBhIHplcm8gYnl0ZS4gVGhpcyBkb2VzIG5vdCB3b3JrIGlmIHRoZSBidWZmZXIKCSAgaXMgZXhhY3RseSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYmVjYXVzZSB0aGUgZ3N0X2J1ZmZlcl9yZXNpemUoKQoJICBmdW5jdGlvbiBkb2VzIG5vdCByZS1hbGxvY2F0ZSB0aGUgYnVmZmVyLCBpdCBqdXN0IGNoYW5nZXMgaXRzIHNpemUuCgkgIElmIGEgYnVmZmVyIGlzIHBhc3NlZCB0byBnc3RfZGFzaF9kZW11eF9wYXJzZV9odHRwX3hzZGF0ZSgpIHRoYXQgaXMKCSAgZXhhY3RseSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcsIHRoZSBmdW5jdGlvbiBmYWlscyB3aXRoIGFuIGFzc2VydAoJICBmYWlsdXJlIGluIGdzdF9idWZmZXJfcmVzaXplKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDgKCjIwMTYtMDItMjMgMTE6NTk6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBBZGQgYXVkaW9pbnRlcmxlYXZlCgoyMDE2LTAyLTIyIDEwOjIxOjQ3ICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIGZiZGV2c2luazogZml4IGJ5dGVzIHBlciBwaXhlbCBjYWxjdWxhdGlvbgoJICBTaW1wbGUgcGlwZWxpbmUKCSAgJCBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBmYmRldnNpbmsKCSAgY3Jhc2hlcyB3aXRoIFNJR1NFR1YgaW4gY2FzZSB0aGUgZnJhbWJ1ZmZlciB4cmVzIGlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgdmlydHVhbCB4cmVzIHJlc29sdXRpb24sIGUuZy46CgkgICQgZmJzZXQKCSAgbW9kZSAiODAweDQ4MC0wIgoJICAjIEQ6IDAuMDAwIE1IeiwgSDogMC4wMDAga0h6LCBWOiAwLjAwMCBIegoJICBnZW9tZXRyeSA4MDAgNDgwIDE5MjAgMTIwMCAxNgoJICB0aW1pbmdzIDAgMCAwIDAgMCAwIDAKCSAgYWNjZWwgdHJ1ZQoJICByZ2JhIDUvMTEsNi81LDUvMCwwLzAKCSAgZW5kbW9kZQoJICBEZWJ1ZzoKCSAgJCBnZGIgZ3N0LWxhdW5jaC0xLjAKCSAgKGdkYikgcnVuIHZpZGVvdGVzdHNyYyAhIGZiZGV2c2luawoJICAoZ2RiKSB3aGVyZQoJICAjMCAgMHhiNmJkMmQyNCBpbiBfX21lbWNweV9uZW9uICgpCgkgIGF0IC4uL3N5c2RlcHMvYXJtL2FybXY3L211bHRpYXJjaC9tZW1jcHlfaW1wbC5TOjU5MQoJICAjMSAgMHhiNjliMDRlOCBpbiBnc3RfZmJkZXZzaW5rX3Nob3dfZnJhbWUgKHZpZGVvc2luaz0weDEwYTMzNzgsCgkgIGJ1Zj0weGI1YzA4ODM4KSBhdCBnc3RmYmRldnNpbmsuYzoyNjkKCSAgIzIgIDB4YjY5ZTg4YzQgaW4gZ3N0X2Jhc2Vfc2lua19kb19wcmVyb2xsIChzaW5rPXNpbmtAZW50cnk9MHgxMGEzMzc4LAoJICBvYmo9MHhiNWMwODgzOCwgb2JqQGVudHJ5PTB4YTApIGF0IGdzdGJhc2VzaW5rLmM6MjI4MQoJICAjMyAgMHhiNjllOTJiYyBpbiBnc3RfYmFzZV9zaW5rX2RvX3N5bmMgKGJhc2VzaW5rPWJhc2VzaW5rQGVudHJ5PTB4MTBhMzM3OCwKCSAgb2JqPTB4YTAsIG9iakBlbnRyeT0weGI1YzA4ODM4LCBsYXRlPTB4MCwgbGF0ZUBlbnRyeT0weGI2NTQ4YmEwLAoJICBzdGVwX2VuZD0weDE0MCwgc3RlcF9lbmRAZW50cnk9MHhiNjU0OGJhNCkgYXQgZ3N0YmFzZXNpbmsuYzoyNTAwCgkgICM0ICAweGI2OWVhNjdjIGluIGdzdF9iYXNlX3NpbmtfY2hhaW5fdW5sb2NrZWQgKAoJICBiYXNlc2luaz1iYXNlc2lua0BlbnRyeT0weDEwYTMzNzgsIG9iaj0weDAsIG9iakBlbnRyeT0weGI1YzA4ODM4LAoJICBpc19saXN0PWlzX2xpc3RAZW50cnk9MCwgcGFkPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ3N0YmFzZXNpbmsuYzozNDg2CgkgICM1ICAweGI2OWVjMWMwIGluIGdzdF9iYXNlX3NpbmtfY2hhaW5fbWFpbiAoYmFzZXNpbms9MHgxMGEzMzc4LAoJICBwYWQ9PG9wdGltaXplZCBvdXQ+LCBvYmo9MHhiNWMwODgzOCwgaXNfbGlzdD0wKSBhdCBnc3RiYXNlc2luay5jOjM2NDcKCSAgIzYgIDB4YjZlYjViMTAgaW4gZ3N0X3BhZF9jaGFpbl9kYXRhX3VuY2hlY2tlZCAocGFkPTB4MTBhNjE3MCwKCSAgdHlwZT08b3B0aW1pemVkIG91dD4sIGRhdGE9MHhiNWMwODgzOCkgYXQgZ3N0cGFkLmM6NDA4NgoJICAjNyAgMHhiNmViN2EzNCBpbiBnc3RfcGFkX3B1c2hfZGF0YSAocGFkPXBhZEBlbnRyeT0weDEwYTYwMjAsCgkgIHR5cGU9dHlwZUBlbnRyeT00MTEyLCBkYXRhPTB4YjVjMDg4MzgpIGF0IGdzdHBhZC5jOjQzMzgKCSAgIzggIDB4YjZlYmYzNDQgaW4gZ3N0X3BhZF9wdXNoIChwYWQ9cGFkQGVudHJ5PTB4MTBhNjAyMCwKCSAgYnVmZmVyPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ3N0cGFkLmM6NDQ1NAoJICAjOSAgMHhiNjlmMjJmMCBpbiBnc3RfYmFzZV9zcmNfbG9vcCAocGFkPTB4MTBhNjAyMCkgYXQgZ3N0YmFzZXNyYy5jOjI4NDUKCSAgIzEwIDB4YjZlZWRkZmMgaW4gZ3N0X3Rhc2tfZnVuYyAodGFzaz0weDEwYTg4MjgpIGF0IGdzdHRhc2suYzozMzEKCSAgIzExIDB4YjZkNDg1YTAgaW4gZ190aHJlYWRfcG9vbF90aHJlYWRfcHJveHkgKGRhdGE9PG9wdGltaXplZCBvdXQ+KQoJICBhdCBndGhyZWFkcG9RdWl0CgkgIChnZGIpIGZyYW1lIDEKCSAgIzEgIDB4YjY5YjA0ZTggaW4gZ3N0X2ZiZGV2c2lua19zaG93X2ZyYW1lICh2aWRlb3Npbms9MHgxMGEzMzc4LAoJICBidWY9MHhiNWMwODgzOCkgYXQgZ3N0ZmJkZXZzaW5rLmM6MjY5CgkgIDI2OSAgICAgZ3N0ZmJkZXZzaW5rLmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCgkgIChnZGIpIHAgZmJkZXZzaW5rCgkgICQxID0gKEdzdEZCREVWU2luayAqKSAweDEwYTMzNzgKCSAgKGdkYikgcCAqZmJkZXZzaW5rCgkgICQyID0ge3ZpZGVvc2luayA9IHtlbGVtZW50ID0ge2VsZW1lbnQgPSB7b2JqZWN0ID0ge29iamVjdCA9IHsKCSAgZ190eXBlX2luc3RhbmNlID0ge2dfY2xhc3MgPSAweDEwYTJkNjB9LCByZWZfY291bnQgPSAzLAoJICBxZGF0YSA9IDB4MH0sIGxvY2sgPSB7cCA9IDB4MCwgaSA9IHswLCAwfX0sCgkgIG5hbWUgPSAweDEwYTJmMzAgImZiZGV2c2luazAiLCBwYXJlbnQgPSAweDEwYTcwYTAsIGZsYWdzID0gMzIsCgkgIGNvbnRyb2xfYmluZGluZ3MgPSAweDAsIGNvbnRyb2xfcmF0ZSA9IDEwMDAwMDAwMCwKCSAgbGFzdF9zeW5jID0gMTg0NDY3NDQwNzM3MDk1NTE2MTUsIF9nc3RfcmVzZXJ2ZWQgPSAweDB9LAoJICBzdGF0ZV9sb2NrID0ge3AgPSAweDEwOWY5YTgsIGkgPSB7MCwgMH19LCBzdGF0ZV9jb25kID0ge3AgPSAweDAsIGkgPSB7CgkgIDMsIDB9fSwgc3RhdGVfY29va2llID0gMiwgdGFyZ2V0X3N0YXRlID0gR1NUX1NUQVRFX1BBVVNFRCwKCSAgY3VycmVudF9zdGF0ZSA9IEdTVF9TVEFURV9SRUFEWSwgbmV4dF9zdGF0ZSA9IEdTVF9TVEFURV9QQVVTRUQsCgkgIHBlbmRpbmdfc3RhdGUgPSBHU1RfU1RBVEVfUEFVU0VELAoJICBsYXN0X3JldHVybiA9IEdTVF9TVEFURV9DSEFOR0VfQVNZTkMsIGJ1cyA9IDB4MTA4YmNiOCwgY2xvY2sgPSAweDAsCgkgIGJhc2VfdGltZSA9IDAsIHN0YXJ0X3RpbWUgPSAwLCBudW1wYWRzID0gMSwgcGFkcyA9IDB4MTA5Y2MyMCwKCSAgbnVtc3JjcGFkcyA9IDAsIHNyY3BhZHMgPSAweDAsIG51bXNpbmtwYWRzID0gMSwgc2lua3BhZHMgPSAweDEwOWNjMzAsCgkgIHBhZHNfY29va2llID0gMSwgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9fSwKCSAgc2lua3BhZCA9IDB4MTBhNjE3MCwgcGFkX21vZGUgPSBHU1RfUEFEX01PREVfUFVTSCwgb2Zmc2V0ID0gMCwKCSAgY2FuX2FjdGl2YXRlX3B1bGwgPSAwLCBjYW5fYWN0aXZhdGVfcHVzaCA9IDEsIHByZXJvbGxfbG9jayA9IHtwID0gMHgxLAoJICBpID0gezEsIDB9fSwgcHJlcm9sbF9jb25kID0ge3AgPSAweDAsIGkgPSB7MCwgMH19LCBlb3MgPSAwLAoJICBuZWVkX3ByZXJvbGwgPSAxLCBoYXZlX3ByZXJvbGwgPSAwLCBwbGF5aW5nX2FzeW5jID0gMSwKCSAgaGF2ZV9uZXdzZWdtZW50ID0gMSwgc2VnbWVudCA9IHtmbGFncyA9IEdTVF9TRUdNRU5UX0ZMQUdfTk9ORSwgcmF0ZSA9IDEsCgkgIGFwcGxpZWRfcmF0ZSA9IDEsIGZvcm1hdCA9IEdTVF9GT1JNQVRfVElNRSwgYmFzZSA9IDAsIG9mZnNldCA9IDAsCgkgIHN0YXJ0ID0gMCwgc3RvcCA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1LCB0aW1lID0gMCwgcG9zaXRpb24gPSAzMzMzMzMzMywKCSAgZHVyYXRpb24gPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSwgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLAoJICAweDB9fSwgY2xvY2tfaWQgPSAweDAsIHN5bmMgPSAxLCBmbHVzaGluZyA9IDAsIHJ1bm5pbmcgPSAwLAoJICBtYXhfbGF0ZW5lc3MgPSAyMDAwMDAwMCwgcHJpdiA9IDB4MTBhMzE4OCwgX2dzdF9yZXNlcnZlZCA9IHsKCSAgMHgwIDxyZXBlYXRzIDIwIHRpbWVzPn19LCB3aWR0aCA9IDAsIGhlaWdodCA9IDAsIHByaXYgPSAweDEwYTMxODAsCgkgIF9nc3RfcmVzZXJ2ZWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfX0sIGZpeGluZm8gPSB7CgkgIGlkID0gJ1wwMDAnIDxyZXBlYXRzIDE1IHRpbWVzPiwgc21lbV9zdGFydCA9IDEwNzg5ODQ3MDQsCgkgIHNtZW1fbGVuID0gNDYwODAwMCwgdHlwZSA9IDAsIHR5cGVfYXV4ID0gMCwgdmlzdWFsID0gMiwgeHBhbnN0ZXAgPSAxLAoJICB5cGFuc3RlcCA9IDEsIHl3cmFwc3RlcCA9IDAsIGxpbmVfbGVuZ3RoID0gMzg0MCwgbW1pb19zdGFydCA9IDAsCgkgIG1taW9fbGVuID0gMCwgYWNjZWwgPSAwLCBjYXBhYmlsaXRpZXMgPSAwLCByZXNlcnZlZCA9IHswLCAwfX0sIHZhcmluZm8gPSB7CgkgIHhyZXMgPSA4MDAsIHlyZXMgPSA0ODAsIHhyZXNfdmlydHVhbCA9IDE5MjAsIHlyZXNfdmlydHVhbCA9IDEyMDAsCgkgIHhvZmZzZXQgPSAwLCB5b2Zmc2V0ID0gMCwgYml0c19wZXJfcGl4ZWwgPSAxNiwgZ3JheXNjYWxlID0gMCwgcmVkID0gewoJICBvZmZzZXQgPSAxMSwgbGVuZ3RoID0gNSwgbXNiX3JpZ2h0ID0gMH0sIGdyZWVuID0ge29mZnNldCA9IDUsCgkgIGxlbmd0aCA9IDYsIG1zYl9yaWdodCA9IDB9LCBibHVlID0ge29mZnNldCA9IDAsIGxlbmd0aCA9IDUsCgkgIG1zYl9yaWdodCA9IDB9LCB0cmFuc3AgPSB7b2Zmc2V0ID0gMCwgbGVuZ3RoID0gMCwgbXNiX3JpZ2h0ID0gMH0sCgkgIG5vbnN0ZCA9IDAsIGFjdGl2YXRlID0gMCwgaGVpZ2h0ID0gNDI5NDk2NzI5NSwgd2lkdGggPSA0Mjk0OTY3Mjk1LAoJICBhY2NlbF9mbGFncyA9IDEsIHBpeGNsb2NrID0gMCwgbGVmdF9tYXJnaW4gPSAwLCByaWdodF9tYXJnaW4gPSAwLAoJICB1cHBlcl9tYXJnaW4gPSAwLCBsb3dlcl9tYXJnaW4gPSAwLCBoc3luY19sZW4gPSAwLCB2c3luY19sZW4gPSAwLAoJICBzeW5jID0gMCwgdm1vZGUgPSAwLCByb3RhdGUgPSAwLCBjb2xvcnNwYWNlID0gMCwgcmVzZXJ2ZWQgPSB7MCwgMCwgMCwgMH19LAoJICBmZCA9IDUsCgkgIGZyYW1lYnVmZmVyID0gMHhiNjU0YTAwMCA8ZXJyb3I6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHhiNjU0YTAwMD4sIGRldmljZSA9IDB4MTBhMzhkOCAiL2Rldi9mYjAiLCB3aWR0aCA9IDMyMCwgaGVpZ2h0ID0gMjQwLCBjeCA9IDI0MCwgY3kgPSAxMjAsCgkgIGxpbmVsZW4gPSAxMjgwLCBsaW5lcyA9IDI0MCwgYnl0ZXNwcCA9IDQsIGZwc19uID0gMzAsIGZwc19kID0gMX0KCSAgKGdkYikgcCBtYXAKCSAgJDMgPSB7bWVtb3J5ID0gMHhiNWQyNDAwOCwgZmxhZ3MgPSBHU1RfTUFQX1JFQUQsCgkgIGRhdGEgPSAweGI1ZDI0MDU4ICdcMzc3JyA8cmVwZWF0cyA5MCB0aW1lcz4sICJcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYSIuLi4sCgkgIHNpemUgPSAxNTM2MDAsIG1heHNpemUgPSAxNTM2MDMsIHVzZXJfZGF0YSA9IHsweDAsCgkgIDB4YjY5ZTNiYTQgPGdzdF9iYXNlX3Npbmtfc2V0X2xhc3RfYnVmZmVyX3VubG9ja2VkKzkyPiwgMHgxMGEzMzc4LCAweDB9LAoJICBfZ3N0X3Jlc2VydmVkID0gezB4MSwgMHgxMGEzMzc4LCAweGI2ZjUwZGQ4IDxfZ3N0X2RlYnVnX21pbj4sIDB4YjVjMDg4Mzh9fQoJICAoZ2RiKSBwIGkKCSAgJDQgPSAxMjEKCSAgRml4IHRoaXMgYnkgY2hhbmdpbmcgdGhlIGZiZGV2c2luay0+Ynl0ZXNwcCBjYWxjdWxhdGlvbiB1c2luZwoJICB0aGUgZnJhbWUgYnVmZmVyIHhyZXNfdmlydHVhbCBzaXplIGluc3RlYWQgb2YgeHJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQ4MgoKMjAxNi0wMi0yMiAxMjo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBFeHBvc2UgbW9yZSBHc3RWaWRlb092ZXJsYXkgQVBJIGluIHRoZSBHc3RQbGF5ZXJWaWRlb092ZXJsYXlWaWRlb1JlbmRlcmVyCgkgIEV4cG9zZSB0aGUgZXhwb3NlKCkgYW5kIHNldF9yZW5kZXJfcmVjdGFuZ2xlKCkgbWV0aG9kcy4gVGhlc2UgYXJlIHVzZWZ1bCBmb3IKCSAgcHJvcGVyIGZ1bmN0aW9uaW5nIG9mIHRoZSB2aWRlbyBvdmVybGF5IGluIHZhcmlvdXMgc2l0dWF0aW9ucyBhbmQgdG9vbGtpdHMuCgoyMDE2LTAyLTIyIDIxOjAzOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBmaXggdGhlIGJ1aWxkCgkgIDJkMjg3ODEyIHdhcyBpbmNvbXBsZXRlCgoyMDE2LTAyLTIyIDIwOjQ5OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBlcnJvciBvdXQgaWYgdGhlIGNvbmZpZ3VyZWQgR0wgQVBJIGlzIHVuc3VwcG9ydGVkIGJ5IG91ciBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4MDEKCjIwMTYtMDEtMjQgMTc6NDA6MzcgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcW1sZ2xzaW5rOiBTY2hlZHVsZSBvblNjZW5lR3JwYWhJbml0aWFsaXplZCB0byBleGVjdXRlIG9uIHJlbmRlciB0aHJlYWQKCSAgb25TY2VuZUdyYXBoSW5pdGlhbGl6ZWQoKSBpcyBjYWxsZWQgZnJvbSBub24gcmVuZGVyIHRocmVhZCBjdXJyZW50bHkgd2hlbgoJICBzY2VuZSBncmFwaCBpcyBhbHJlYWR5IGluaXRpYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDAzCgoyMDE2LTAxLTA3IDE4OjI2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IG5lZ290aWF0aW9uIGVycm9ycyB3aXRoIG11bHRpLWNoYW5uZWwgZmlsZXMKCSAgU2V0IGZhbGxiYWNrIGNoYW5uZWwgbGF5b3V0IG9uIGZpbGVzIHdpdGggbW9yZSB0aGFuIHR3bwoJICBjaGFubmVscy4gTm90IGNsZWFyIHdoZXJlIHRvIHJldHJpZXZlIHRoZSByZWFsIGxheW91dCBmcm9tCgkgIG9yIHdoYXQgdGhlIGRlZmF1bHQgbGF5b3V0IGlzIGZvciBBSUZGIGZpbGVzLCB0aGUgc3BlYwoJICBvbmx5IHNlZW1zIHRvIHNwZWNpZnkgc29tZSBsYXlvdXQgZm9yIHVwIHRvIDYgY2hhbm5lbHMKCSAgYW5kIHRoZSBmaWxlIGluIHF1ZXN0aW9uIGRvZXNuJ3QgaGF2ZSBhIENIQU4gY2h1bmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0MjUKCjIwMTYtMDItMjEgMTA6MzQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY2R4YXBhcnNlL2NkeGFwYXJzZS52Y3Byb2o6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LnZjcHJvajoKCSogZ3N0L292ZXJsYXkvb3ZlcmxheS52Y3Byb2o6CgkqIGdzdC9ydGpwZWcvcnRqcGVnLnZjcHJvajoKCSogZ3N0L3Ntb290aC9zbW9vdGgudmNwcm9qOgoJKiBnc3Qvc3BlZWQvc3BlZWQudmNwcm9qOgoJKiBnc3Qvc3RlcmVvL3N0ZXJlby52Y3Byb2o6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9nc3Quc2xuOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bmVvbi5kc3A6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIHdpbjMyOiByZW1vdmUgb3V0ZGF0ZWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGZvciBnZW5lcmF0aW9ucywgZG9lc24ndCB3b3JrLAoJICBhbmQgaXMganVzdCBjYXVzaW5nIGNvbmZ1c2lvbi4gV2UgYWxzbyBkb24ndCB3YW50IHRvCgkgIG1haW50YWluIHRoZXNlIGZpbGVzIG1hbnVhbGx5LgoKMjAxNi0wMi0yMCAxMjo1NTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJICBkYWFsYTogZG9uJ3QgdXNlIGV4cG9ydGVkIGJ1dCB1bmRlY2xhcmVkIGNvcmUgZGVidWcgY2F0ZWdvcnkgc3ltYm9scwoJICBJdCdzIG5vdCByaWdodCBhbmQgd29uJ3Qgd29yayBvbiBXaW5kb3dzIHdpdGggTVNWQy4KCjIwMTYtMDItMTkgMTQ6Mjc6NTkgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IGluaXRpYWxpemF0aW9uIG9mIHNsaWNlX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcKCSAgSC4yNjUgNy40LjcuMSBzYXlzOgoJICA+IFdoZW4gc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyBpcyBub3QgcHJlc2VudCwgaXQgaXMKCSAgPiBpbmZlcnJlZCB0byBiZSBlcXVhbCB0byBwcHNfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM1MQoKMjAxNi0wMi0xOSAxNjo0MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogcHJldmVudCBhc3NlcnRpb24gd2hlbiBzY2FubmluZyBmb3Igc3luYyBjb2RlCgkgIE9ubHkgc2VhcmNoIGlmIHRoZXJlIGlzIGluZGVlZCBlbm91Z2ggZGF0YSB0byBiZSBzZWFyY2hlZCBvdGhlcndpc2UKCSAgYW4gYXNzZXJ0aW9uIGlzIHJhaXNlZAoKMjAxNi0wMi0xOSAxNzo0ODo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBGaXggcGVyLXByb2dyYW0tcGFkIHB1c2hpbmcKCSAgVGhpcyBmaXhlcyBhIGNvdXBsZSBvZiBpc3N1ZXMgcmVnYXJkaW5nIHRoZSBvdXRwdXQgb2YgKHJlcXVlc3QpCgkgIHBlci1wcm9ncmFtIHBhZHMgb3V0cHV0OgoJICBXZSB3b3VsZCBuZXZlciBwdXNoIG91dCBQQVQgc2VjdGlvbnMgKG9rLCB0aGF0IHdhcyBvbmUgcmVhbGxseSBzdHVwaWQKCSAgbWlzdGFrZS4gSSBndWVzcyBub2JvZHkgZXZlciB1c2VzIHRoaXMgZmVhdHVyZSAuLi4pLgoJICBJbiB0aGUgY2FzZSB3aGVyZSB0aGUgUE1UIHNlY3Rpb24gb2YgYSBwcm9ncmFtIHdhcyBiaWdnZXIgdGhhbiBvbmUKCSAgcGFja2V0LCB3ZSB3b3VsZCBvbmx5IGVuZCB1cCBwdXNoaW5nIHRoZSBsYXN0IHBhY2tldCBvZiB0aGF0IFBNVC4gV2hpY2gKCSAgb2J2aW91c2x5IHJlc3VsdHMgaW4gdGhlIHJlc3VsdGluZyBzdHJlYW0gbmV2ZXIgY29udGFpbmluZyB0aGUgcHJvcGVyCgkgIChjb21wbGV0ZSkgUE1ULgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB0aGUgcHJvZ3JhbSBpcyBvbmx5IHN0YXJ0ZWQgKGluIHRoZSBiYXNlIGNsYXNzKQoJICBhZnRlciB0aGUgUE1UIHNlY3Rpb24gaXMgY29tcGxldGVseSBwYXJzZWQuIFdoZW4gZGVhbGluZyB3aXRoIHNpbmdsZS1wcm9ncmFtCgkgIHBhZHMsIHRzcGFyc2Ugb25seSB3YW50cyB0byBwdXNoIHRoZSBQTVQgY29ycmVzcG9uZGluZyB0byB0aGUgcmVxdWVzdGVkCgkgIHByb2dyYW0gKGFuZCBub3QgdGhlIG90aGVyIG9uZXMpLiB0c3BhcnNlIGRpZCB0aGF0IGNoZWNrIGJ5IGxvb2tpbmcKCSAgYXQgdGhlIHN0cmVhbXMgb2YgdGhlIHByb2dyYW0uLi4KCSAgLi4uIGJ1dCB0aGF0IHByb2dyYW0gZG9lc24ndCBleGlzdCBmb3IgdGhlIGZpcnN0IHBhY2tldHMgb2YgdGhlIGluaXRpYWwKCSAgUE1ULgoJICBUaGUgZml4IGlzIHRvIHVzZSB0aGUgYmFzZSBjbGFzcyBwcm9ncmFtIGluZm9ybWF0aW9uIChpZiBpdCBwYXJzZWQgdGhlCgkgIFBBVCBpdCBhbHJlYWR5IGhhcyBzb21lIGluZm9ybWF0aW9uLCBsaWtlIHRoZSBQTVQgUElEIGZvciBhIGdpdmVuIHByb2dyYW0pCgkgIGlmIHRoZSBwcm9ncmFtIGhhc24ndCBzdGFydGVkIHlldC4KCjIwMTYtMDItMTkgMTc6NDU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IFVzZSBHc3RGbG93Q29tYmluZXIKCSAgSW4gYWRkaXRpb24gdG8gdGhlIGZhY3QgdGhhdCBpdCdzIGEgc2FuZSB0aGluZyB0byBkbyBmb3IgbXVsdGktc291cmNlCgkgIHBhZCBlbGVtZW50cywgaXQgYWxzbyBhdm9pZHMgdGhlIHNpdHVhdGlvbiB3aGVyZSBqdXN0IHVzaW5nIGEgcmVxdWVzdAoJICBwYWQgKGFuZCBub3QgdGhlIG1haW4gc3RhdGljIHBhZCkgd291bGQgcmVzdWx0IGluIHRoZSBwcm9jZXNzaW5nCgkgIHN0b3BwaW5nLgoKMjAxNi0wMi0xOSAxMjozODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjIgPT09CgoyMDE2LTAyLTE5IDExOjUwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjIKCjIwMTYtMDItMTkgMTA6MzI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMTggMTQ6MzI6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLXVuaW5zdGFsbGVkLnBjLmluOgoJICB1bmluc3RhbGxlZC5wYzogYWRkIHN1cHBvcnQgZm9yIG5vbiBsaWJ0b29sIGJ1aWxkIHN5c3RlbXMKCSAgQ3VycmVudGx5IHRoZSAubGEgcGF0aCBpcyBwcm92aWRlZCB3aGljaCByZXF1aXJlcyB0byB1c2UgbGlidG9vbCBhcwoJICBtZW50aW9uZWQgaW4gdGhlIEdTdHJlYW1lciBtYW51YWwgc2VjdGlvbi1oZWxsb3dvcmxkLWNvbXBpbGVydW4uaHRtbC4KCSAgSXQgaXMgZmluZSBhcyBsb25nIGFzIHRoZSBhcHBsaWNhdGlvbiBpcyBidWlsdCB1c2luZyBsaWJ0b29sLgoJICBTbyBjdXJyZW50bHkgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbXBpbGUgYSBHU3RyZWFtZXIgYXBwbGljYXRpb24KCSAgd2l0aGluIGdzdC11bmluc3RhbGxlZCB3aXRoIENNYWtlIG9yIG90aGVyIGJ1aWxkIHN5c3RlbSBkaWZmZXJlbnQKCSAgdGhhbiBhdXRvdG9vbHMuCgkgIFRoaXMgcGF0Y2ggYWxsb3dzIHRvIGRvIHRoZSBmb2xsb3dpbmcgaW4gZ3N0LXVuaW5zdGFsbGVkIGVudjoKCSAgZ2NjIHRlc3QuYyAtbyB0ZXN0ICQocGtnLWNvbmZpZyAtLWNmbGFncyAtLWxpYnMgZ3N0cmVhbWVyLTEuMCBcCgkgIGdzdHJlYW1lci1nbC0xLjApCgkgIFByZXZpb3VzbHkgaXQgcmVxdWlyZWQgdG8gcHJlcGVuZCBsaWJ0b29sIC0tbW9kZT1saW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA3NzgKCjIwMTYtMDItMTggMTY6MjE6MzggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogbWFrZSBzdXJlIGRlYnVnIGlzIGluaXRpYWxpemVkIHdoZW4gY2FsbGluZyBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcgoJICBVc3VhbGx5IGdsIGRlYnVnIGlzIGluaXRpYWxpemVkIGluIGdzdF9nbF9jb250ZXh0X2NyZWF0ZV90aHJlYWQuCgkgIEJ1dCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIHdoZW4gdXNpbmcgdGhlIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MKCSAgZnJvbSBDaHJvbWl1bUdTdHJlYW1lckJhY2tlbmQuCgkgIFJlY2VpdmVkIHNpZ25hbCAxMSBTRUdWX01BUEVSUiAwMDAwMDAwMDAwMDAKCSAgZ3N0X2RlYnVnX2NhdGVnb3J5X2dldF90aHJlc2hvbGQKCSAgZ3N0X2dsX2luc2VydF9kZWJ1Z19tYXJrZXIKCSAgZ3N0X2dsX2Jhc2VfZmlsdGVyX2dsX3N0YXJ0CgoyMDE2LTAyLTE4IDEwOjMzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL2dsZXNfdmVyc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJICBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIGNvbnN0IHZhcmlhYmxlIHdpdGggZ2NjIDYKCSAgQ0MgICAgICAgbGliZ3N0Z2xfeDExX2xhLWdzdGdsY29udGV4dF9nbHgubG8KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdGdsY29udGV4dF9nbHguYzozOTowOgoJICAuLi91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDo1Mjo0MzogZXJyb3I6IOKAmGdsZXMyX3ZlcnNpb25z4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IHN0cnVjdCB7IGludCBtYWpvciwgbWlub3I7IH0gZ2xlczJfdmVyc2lvbnNbXSA9IHsKCSAgXn5+fn5+fn5+fn5+fn4KCjIwMTYtMDItMTggMTA6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBNb3ZlIHByaXZhdGUgaGVhZGVycyBmcm9tIFNPVVJDRVMgdG8gbm9pbnN0X0hFQURFUlMKCjIwMTYtMDItMTggMDA6MjQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBDKysxMSBjb21wYXRpYmlsaXR5CgkgIGdzdG1vZHBsdWcuY2M6OTQ6MTc6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgc3RyaW5nIG1hY3JvIFstV2Vycm9yPWxpdGVyYWwtc3VmZml4XQoJICAjZGVmaW5lIEZPUk1BVFMgInsgIkdTVF9BVURJT19ORSAoUzMyKSIsICJHU1RfQVVESU9fTkUgKFMxNikiLCBVOCB9IgoJICBeCgkgIGdzdG1vZHBsdWcuY2M6OTQ6Mzk6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgc3RyaW5nIG1hY3JvIFstV2Vycm9yPWxpdGVyYWwtc3VmZml4XQoJICAjZGVmaW5lIEZPUk1BVFMgInsgIkdTVF9BVURJT19ORSAoUzMyKSIsICJHU1RfQVVESU9fTkUgKFMxNikiLCBVOCB9IgoJICBeCgoyMDE2LTAyLTE2IDE1OjEwOjM0ICswMTAwICBEYXZpZCBGZXJuYW5kZXogPGQuZmVybmFuZGV6bG9wQGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGRvbid0IHNlbmQgZW1wdHkgYnVmZmVycwoJICBGaXhlcyBwcm9ibGVtIGluIGN1cmxodHRwc2luayB3aGVuIHF0bXV4IHVzZXMgZmFzdHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDEzCgoyMDE2LTAyLTE3IDExOjE2OjUzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IEZpeCBzb21lIGRlYnVncwoKMjAxNi0wMS0yNiAwOTozNDowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRfc3JjOiBGaXggY2FwcyBtZW1vcnkgbGVhawoJICB2NGxfY2FwcyBhbmQgbmV3X2NhcHMgYXJlIGJlaW5nIGFsbG9jYXRlZCBuZXcgbWVtb3J5IGJlZm9yZSBmcmVlaW5nIHRoZQoJICBvbGQgYWxsb2NhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTEwOAoKMjAxNS0xMi0yNCAxNTozNjo1NCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIGNvZGUgdG8gY2hlY2sgZm9yIHN1YmNsYXNzIHNlZWsgaGFuZGxpbmcKCSAgSWYgc3ViY2xhc3MgaXMgbm90IGFibGUgdG8gaGFuZGxlIHNlZWsgZXZlbnQsIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0bwoJICBzdG9wIHN0cmVhbWluZyBhbmQgc2VuZCBmbHVzaCBldmVudHMuIFdlIHNob3VsZCBzaW1wbHkgcmV0dXJuIEZBTFNFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTYKCjIwMTUtMTItMjQgMTU6MTA6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBZGQgY29uZGl0aW9uIHRvIGNoZWNrIGZvciBub24gd29ya2luZyBuZWdhdGl2ZSByYXRlCgkgIHRzZGVtdXggaXMgbm90IGFibGUgdG8gaGFuZGxlIG5lZ2F0aXZlIHBsYXliYWNrIHJhdGVzLgoJICBCdXQgaW4gbXBlZ3RzYmFzZSwgdGhlIHNhbWUgY2hlY2sgaXMgbm90IGJlaW5nIGRvbmUuCgkgIGFkZGVkIGEgY2hlY2sgdG8gbm90IGhhbmRsZSBuZWdhdGl2ZSByYXRlIHdoaWxlIHNlZWtpbmcgdW5sZXNzCgkgIHRoZSBzYW1lIGlzIGhhbmRsZWQgdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTYKCjIwMTYtMDItMTcgMTM6MDA6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogaW5zZXJ0IHRoZSBkZWJ1ZyBtYXJrZXIgZnJvbSB0aGUgR0wgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE1MzgKCjIwMTYtMDItMTcgMTE6NDI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHVuc2VkIHJlY29uZmlndXJlIHZhcmlhYmxlCgoyMDE2LTAxLTEzIDEzOjE3OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBwdXNoIGEgcmVjb25maWd1cmUgZXZlbnQgZnJvbSB0aGUgR0wgdGhyZWFkCgkgIERvaW5nIHNvIG1heSBjYXVzZSBkZWFkbG9ja3Mgd2hlbiBvdGhlciBlbGVtZW50cyBhdHRlbXB0IGRlc3Ryb3kgb3IgY3JlYXRlZAoJICBHTCByZXNvdXJjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTkKCjIwMTYtMDEtMjEgMTA6NDA6MzYgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgbGVhayBwYWQncyB2ZXJ0ZXggYnVmZmVyIG9uIHJlbGVhc2VfcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDItMTcgMDE6MDg6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2xtaXhlcjogUmVtb3ZlIHVzYWdlIG9mIEdzdEdMTWl4ZXJGcmFtZURhdGEKCSAgU3ViY2xhc3NlcyBjYW4ganVzdCBpdGVyYXRlIG92ZXIgdGhlIGxpc3Qgb2YgcGFkcyB0aGVtc2VsdmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDEtMTMgMTQ6NDE6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxlIGNhbGxpbmcgaW50byBHTAoJICBEb2luZyBzbyBjYW4gZGVhZGxvY2sgYmV0d2VlbiB0aGUgR0wgdGhyZWFkIGFuZCB0aGUgb2JqZWN0IGxvY2sgZS5nLgoJICB3aGVuIHBlcmZvcm1pbmcgcmVjb25maWd1cmUgZXZlbnRzIGluIGdsaW1hZ2VzaW5rIG9uIGEgcmVzaXplIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTU5CgoyMDE2LTAyLTE2IDIyOjM0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uOiBtYWtlIGNoZWNrLWV4cG9ydHMgbm90IGZhaWwgZm9yIGxpYmdzdGdsLmRlZgoJICBTaG91bGQgZml4IGRpc3RjaGVjayBvbiBzb21lIGJ1aWxkIGJvdHMuCgoyMDE2LTAxLTI2IDA5OjM3OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtZW5jL2FjbW1wM2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGJyZWFrIGFmdGVyIHJldHVybgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTA5CgoyMDE1LTA3LTIxIDE4OjAyOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW1wcm92ZSBjaGVjayBmb3Igd2F5bGFuZC1zY2FubmVyIGJpbmFyeQoJICBUaGUgcGx1Z2luIGRvZXNuJ3QgbmVlZCB0aGUgd2F5bGFuZC1zY2FubmVyIHBhY2thZ2UgdG8gYmUgYnVpbHQKCSAgb3IgcnVuLCBpdCBvbmx5IG5lZWRzIHRoZSB3YXlsYW5kLXNjYW5uZXIgcHJvZ3JhbSBkdXJpbmcgY29tcGlsZSB0aW1lLgoJICBXaGVuIGNyb3NzLWNvbXBpbGluZywgYnVpbGQgc3lzdGVtcyBtaWdodCBub3QgaGF2ZSB0aGUgd2F5bGFuZC1zY2FubmVyCgkgIHBhY2thZ2UgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIGFzIGl0IGlzIGEgZGV2ZWxvcGVyJ3MgdG9vbCwgd2hpbGUgaXQgc2hvdWxkCgkgIHN0aWxsIGJlIHBvc3NpYmxlIHRvIHVzZSB3YXlsYW5kLXNjYW5uZXIgZnJvbSB0aGUgaG9zdCBzeXN0ZW0uCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgbm90IHJlcXVpcmluZyB0aGUgd2F5bGFuZC1zY2FubmVyIHBhY2thZ2UgYnV0CgkgIGp1c3QgdGhlIGJpbmFyeSBpdHNlbGYuCgkgIE5vdGUgdGhhdCB0aGUgY2hlY2sgaXMgZG9uZSBvdXRzaWRlIG9mIHRoZSBQS0dfQ0hFQ0tfTU9EVUxFUwoJICBhcyBpdCBkb2Vzbid0IHdvcmsgaW5zaWRlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjg4CgoyMDE2LTAxLTIxIDExOjUzOjMzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc3RvcmUgYml0cmF0ZSBhdmVyYWdpbmcgc3VwcG9ydAoJICBUaGlzIHdhcyBhY2NpZGVudGFsbHkgcmVtb3ZlZCBpbiBjb21taXQgY2NmZjNiZTMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTYtMDEtMjAgMTU6MzM6MjggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBxdWV1ZTIgb3ZlcnJ1biBub3RpZmljYXRpb24KCSAgRHVlIHRvIHBlcmZvcm1hbmNlIGltcGFjdCBjb25jZXJucyB0aGlzIGlzIHJlbW92ZWQuIEFuIGFsdGVybmF0aXZlCgkgIGFwcHJvYWNoIHdvdWxkIGJlIHRvIHJlbHkgb24gYnVmZmVyaW5nIG1lc3NhZ2VzIG1vbml0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTYtMDItMTYgMTY6MTg6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdmtkZXZpY2U6IGFkZCB0aGUgbmVjZXNzYXJ5IGJ1dCBhcmJpdHJhcnkgcXVldWUgcHJpb3JpdHkKCSAgU2lsZW5jZXMgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gbGF5ZXJzLgoKMjAxNi0wMi0xNiAxNjoxMjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhZGQgdGhlIG5lY2Vzc2FyeSBjYWxsIHRvIGNoZWNrIGlmIHRoZSBwaHlzaWNhbCBkZXZpY2Ugc3VwcG9ydHMgdGhlIHN1cmZhY2UKCSAgU2lsZW5jZXMgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gbGF5ZXJzLgoKMjAxNi0wMi0xNiAxNTo1Mzo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gU0RLIDEuMC4zLjEKCjIwMTYtMDItMTYgMTU6MzY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnVsa2FuL2J1aWxkOiBzZWFyY2ggZm9yIHRoZSBjb3JyZWN0IGxpYnJhcnkKCSAgU0RLIDEuMC4xIHVzZWQgbGlidnVsa2FuLTEuc28sIDEuMC4yIHVzZXMgbGlidnVsa2FuLnNvCgoyMDE2LTAyLTE2IDExOjUxOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGl0ZXJhdGUgb3ZlciB0aGUgZGV2aWNlIHF1ZXVlJ3MgdXNpbmcgdGhlIG5ldyBpdGVyYXRpb24gQVBJCgoyMDE2LTAyLTE2IDExOjQ5OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSAgdmtkZXZpY2U6IGFkZCBjYWxsYmFjayBpdGVyYXRpb24gb3ZlciB0aGUgZGV2aWNlIHF1ZXVlJ3MKCjIwMTYtMDItMTYgMTE6MjI6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5jOgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuaDoKCSAgdmtxdWV1ZTogYWRkIGNvbnRleHQgaGVscGVycwoKMjAxNi0wMi0xMSAwMTozMToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkgIHZrdXRpbHM6IG1vdmUgb2JqZWN0LXNwZWNpZmljIGNvbnRleHQgcXVlcmllcyB0byB0aGVpciByZXNwZWN0aXZlIGZpbGVzCgkgIHZrdXRpbHMgbm93IGp1c3QgY29udGFpbnMgc29tZSB1dGlsaXR5IGZ1bmN0aW9ucyB0byBmdXJ0aGVyIHNpbXBsaWZ5IHJldHJpZXZpbmcKCSAgbXVsdGlwbGUgb2JqZWN0cy4KCjIwMTYtMDItMTEgMDA6NTA6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJICB2a2RldmljZTogcmVtb3ZlIHVubmVlZGVkIGVycm9yIHBhcmFtZXRlciBmcm9tIGdldF9xdWV1ZSgpCgoyMDE2LTAyLTEwIDE4OjA2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuaDoKCSAgdmt1cGxvYWQ6IGltcGxlbWVudCBhbiB1cGxvYWRlciBhYnN0cmFjdGlvbgoKMjAxNi0wMi0xMCAxOTo1MDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSAgdmtkaXNwbGF5OiB1bnJlZiB0aGUgaW5zdGFuY2UKCSAgZml4ZXMgbWVtb3J5IGxlYWsKCjIwMTYtMDItMTAgMTk6MzQ6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogY2hhaW4gdXAgaW4gZmluYWxpemUKCSAgVGhleSB3ZXJlIG1pc3NpbmcgaW4gc29tZSBjYXNlcwoKMjAxNi0wMi0xMCAxODo1ODozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtzaW5rOiBvbmx5IHVucmVmIGlmIHRoZSBwb2ludGVycyBhcmUgbm9uLU5VTEwKCjIwMTYtMDItMTAgMTg6MDU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBmcmVlIHRoZSBtYW5hZ2luZyBzdHJ1Y3Qgb24gX2ZyZWUKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNi0wMi0wOSAxODoyNjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogcGVyZm9ybSBhIHdhaXRJZGxlIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBkZXZpY2UKCjIwMTYtMDItMDkgMTc6NDY6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIFJldmVydCAidnVsa2FuOiByZW1vdmUgdmlld3MgZnJvbSB0aGUgbWVtb3J5IG9iamVjdHMuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFlYTgxNzI5OGVlNGQ1ZWY5YjAwZjg4OGY4ZWJlMTZhODg4YjExNTAuCgoyMDE2LTAyLTA5IDE3OjMxOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW5tZW1vcnk6IHJlbW92ZSBiaW5kIHZhcmlhbnRzCgoyMDE2LTAyLTA5IDE2OjIxOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW46IHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBtZW1vcnkgb2JqZWN0cy4KCSAgVGhleSBhcmUgbm90IHVzZWQgYW5kIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNyZWF0ZSB0aGUgdmlldyBiZWZvcmUgYmluZGluZyB0aGUKCSAgVmtEZXZpY2VNZW1vcnkgb2JqZWN0IHRvIHRoZW0uCgoyMDE2LTAyLTA5IDExOjM0OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFscGhhIGZsYWdzIGFyZSBub3cgc3VwcG9ydGVkIGJ5IEx1bmFyRydzIGRyaXZlcgoKMjAxNi0wMi0wOSAwMDowNzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5oOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkgIHZ1bGthbjogYWRkIGEgdnVsa2FuYnVmZmVyIGJ1ZmZlcnBvb2wKCjIwMTYtMDItMDggMjI6NDk6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vZ3N0dnVsa2FuLmM6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5oOgoJICB2dWxrYW46IGFkZCB1cGxvYWQgZWxlbWVudAoKMjAxNi0wMi0wOCAxODoyODoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZrdXRpbHM6IGZpeCBhc3NlcnQgaW52ZXJzaW9uCgoyMDE2LTAyLTA4IDE4OjI3OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW46IGFkZCBjYXBzIGZlYXR1cmUgbmFtZXMgZm9yIHRoZSBidWZmZXIgYW5kIGltYWdlIG1lbW9yaWVzCgoyMDE2LTAyLTA4IDE0OjQ0OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkgIHZ1bGthbjogYWRkIGRldmljZSB0byBoYW5kbGVfY29udGV4dF9xdWVyeQoKMjAxNi0wMi0wOCAxNDozMjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZ1bGthbjogbW92ZSBpbnN0YW5jZV9vcGVuIGludG8gdGhlIHV0aWxpdHkgZW5zdXJlX2VsZW1lbnRfZGF0YQoJICBTbyBjYWxsZXJzIGRvbid0IGhhdmUgdG8gcGVyZm9ybSBpdCB0aGVtc2VsdmVzLgoKMjAxNi0wMi0wOCAxNDoyNTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2luc3RhbmNlOiBhZGQgc2lnbmFsIGZvciBvdmVycmlkaW5nIGRldmljZSBjcmVhdGlvbgoKMjAxNi0wMi0wOCAxMjoyMjoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a21hY3Jvcy5oOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBzZXBhcmF0ZSBhbGxvY2F0aW9uIGFuZCBiaW5kaW5nIG9mIG1lbW9yeQoKMjAxNi0wMi0wOCAxMjoxNDo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJICB2a2J1ZmZlcm1lbW9yeTogZm9sbG93IHRoZSByZXN0IG9mIHRoZSBzdHJ1Y3QgbWFjcm9zCgoyMDE2LTAyLTA1IDE5OjMxOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IHVzZSBidWZmZXIgbWVtb3J5IHRvIHVwbG9hZCB2aWRlbyBmcmFtZXMgdG8gdGhlIEdQVQoKMjAxNi0wMi0wNSAxOToxODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogYWRkIGEgYnVmZmVyIG1lbW9yeSBhbGxvY2F0b3IKCSAgV3JhcHMgdGhlIFZrQnVmZmVyIGluIGEgR3N0TWVtb3J5IHN1YmNsYXNzLgoKMjAxNi0wMi0wNSAxOToxMTo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJICB2a21lbW9yeTogYWxpZ24gc3RydWN0IG1lbWJlcnMgaW4gdGhlIGhlYWRlcgoKMjAxNi0wMi0wNSAxOToxMDo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a21hY3Jvcy5oOgoJICB2a21hY3JvczogdXNlIHNwZWNpZmljIF9JTklUIG1hY3JvcyB0byBpbml0aWFsaXplIHN0cnVjdHVyZXMKCjIwMTYtMDItMDUgMTk6MDk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgdmtpbWFnZW1lbW9yeTogYWRkIGdldF97d2lkdGgsaGVpZ2h0KSBmdW5jdGlvbnMKCjIwMTYtMDEtMjcgMTU6MjA6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkgIHZ1bGthbjogdXBkYXRlIHRvIHJlbGVhc2UgMS4wLjEuMQoKMjAxNi0wMS0yMiAxNDozNDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkgIHZ1bGthbi94Y2I6IGZsdXNoIGFmdGVyIG1hcHBpbmcgdGhlIHdpbmRvdwoJICBPdGhlcndpc2UgdGhlIG1hcCBtYXkgbm90IHJlYWNoIHRoZSBzZXJ2ZXIgYW5kIG5vdCBhcHBlYXIuCgoyMDE2LTAxLTA0IDE2OjUxOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGZpeCBzZW1hcGhvcmUgdXNhZ2UKCjIwMTUtMTItMzEgMTY6MzQ6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogYWRkIHNvbWUgZGVidWdnaW5nIGFib3V0IHRoZSBzdXBwb3J0ZWQgZXh0ZW5zaW9ucwoKMjAxNS0xMi0zMSAxNTo1ODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBnZXQgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIGZyb20gdGhlIGNvcnJlY3Qgb2JqZWN0CgkgIEdldFBoeXNpY2FsRGV2aWNlKiBmdW5jdGlvbnMgYXJlIGluc3RhbmNlIGZ1bmN0aW9ucyByYXRoZXIgdGhhbiBkZXZpY2UKCSAgZnVuY3Rpb25zLgoKMjAxNS0xMi0zMSAxNTozODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJICB2a2luc3RhbmNlOiBhZGQgdGhlIG5lY2Vzc2FyeSB3aW5zeXMgZXh0ZW5zaW9uCgoyMDE1LTEyLTMxIDE1OjM0OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJICB2a2Rpc3BsYXk6IGZvcndhcmQgZGVjbGFyZSBHc3RWdWxrYW5EaXNwbGF5VHlwZQoKMjAxNS0xMi0zMSAxNTozMjoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJICB2a2FwaTogcmVtb3ZlIHVubmVlZGVkIGhlYWRlcnMKCSAgdmthcGkgaXMgZm9yIGFjY2Vzc2luZyB0aGUgdnVsa2FuIGhlYWRlcnMgd2l0aCB0aGUgY29ycmVjdCBkZWZpbmVzIGFwcGxpZWQgc28KCSAgZG9lc24ndCBuZWVkIGFueSBpbnRlcmFsIGhlYWRlcnMuCgoyMDE1LTEyLTMwIDE1OjE1OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogZml4IHRoZSBtZW1vcnkgYmFycmllciBhY2Nlc3MgbWFza3MKCSAgc2lsZW5jZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5ncyBmcm9tIHRoZSB2YWxpZGF0aW9uIGxheWVyCgkgIEFjY2Vzc01hc2sgeHh4IG11c3QgaGF2ZSByZXF1aXJlZCBhY2Nlc3MgYml0IHh4eCBhbmQgbWF5IGhhdmUgb3B0aW9uYWwgYml0cyAwCgkgIHdoZW4gbGF5b3V0IGlzIFZLX0lNQUdFX0xBWU9VVF9UUkFOU0ZFUl97U1JDLERTVH1fT1BUSU1BTAoKMjAxNS0xMi0zMCAxNToxNDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBvbmx5IHdhaXQgb24gdGhlIHNlbWFwaG9yZSBvbmNlCgkgIEl0J3MgaW52YWxpZCB1c2FnZSBhbmQgd2UgbWF5IGRlYWRsb2NrCgoyMDE1LTEyLTMxIDAxOjI3OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogaW5pdGlhbGl6ZSBmbGFncyBhbmQgZG9uJ3QgY3Jhc2ggb24gZXJyb3JzCgoyMDE1LTEyLTMwIDE0OjA2OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5jOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogdXBkYXRlIGVycm9yIGRiIGZvciAwLjEwLjIKCjIwMTUtMTItMjkgMTY6MDU6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5oOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmg6CgkgIHZ1bGthbjogdXBkYXRlIHRvIFNESyAwLjEwLjIKCjIwMTUtMTItMDcgMTc6MzM6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSogZXh0L3Z1bGthbi92a3V0aWxzX3ByaXZhdGUuaDoKCSAgdnVsa2FuOiBpbXBsZW1lbnQgR3N0Q29udGV4dCBoZWxwZXJzCgkgIEJhc2VkIG9mZiBsaWJnc3RnbCdzIGltcGxlbWVudGF0aW9uCgoyMDE1LTEyLTA3IDE3OjIxOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtkZXZpY2U6IHJlbW92ZSBnc3RfdnVsa2FuX2RldmljZV9jbG9zZSgpCgkgIFdoZW4gc2hhcmluZyB0aGUgZGV2aWNlIGJldHdlZW4gbXVsdGlwbGUgZWxlbWVudHMvYXBwbGljYXRpb24sIHdlIG5lZWQKCSAgdG8gdXNlIHRoIGVyZWZjb3VudCB0byBrbm93IHdoZW4gdG8gY2xvc2UgdGhlIGRldmljZS4KCjIwMTUtMTItMDcgMTc6MDA6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtpbnN0YW5jZTogcmVtb3ZlIGdzdF92dWxrYW5faW5zdGFuY2VfY2xvc2UKCSAgU2hhcmluZyB0aGUgaW5zdGFuY2UgYWNyb3NzIG11bHRpcGxlIGVsZW1lbnRzL2FwcGxpY2F0aW9uIHdpbGwgcmVxdWlyZQoJICB1c2luZyB0aGUgcmVmY291bnQgaW5zdGVhZCB0byBrbm93IHdoZW4gdG8gY2xvc2UgYW5kIGRlc3Ryb3kgdGhlIGluc3RhbmNlLgoKMjAxNS0xMi0wNyAxNjo0NjoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiByZW1vdmUgb3V0ZGF0ZWQgY29tbWVudAoKMjAxNS0xMi0wNyAxNjozOTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhbHdheXMgbWF0Y2ggbG9jay91bmxvY2sgb2YgdGhlIHJlbmRlciBsb2NrCgkgIElmIGEgZHJhdyBldmVudCBjb21lcyBmcm9tIHRoZSB3aW5zeXMgYmVmb3JlIHdlJ3ZlIHJlbmRlcmVkIGEgYnVmZmVyIHdlIHdlcmUKCSAgZGVhZGxvY2tpbmcuCgoyMDE1LTEyLTAyIDE3OjU0OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJICB2a21lbW9yeTogZGVidWcgb3V0cHV0IHRoZSBtZW1vcnkgcHJvcGVydGllcyByZXF1ZXN0ZWQKCjIwMTUtMTItMDIgMTc6MTQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBkb24ndCBsZWFrIEdzdE1hcEluZm8gaW4gZmFpbHVyZSBjYXNlcyBvbiBfbWFwKCkKCjIwMTUtMTItMDIgMTc6MTA6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogZGUtQzk5IHN0cnVjdCBkZWNsYXJhdGlvbnMKCjIwMTUtMTItMDEgMTg6Mzc6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkgIHZrd2luZG93L3N3YXBwZXI6IGltcGxlbWVudCByZWRyYXcgaGFuZGxpbmcKCSAgb25seSB4Y2IgaGFzIGJlZW4gaW1wbGVtZW50ZWQKCjIwMTUtMTItMDEgMTY6Mjg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkgIHZ1bGthbjogaW1wbGVtZW50IHF1aXR0aW5nIGFuZCByZXNpemluZyB0aGUgd2luZG93CgkgIEFzIGJlZm9yZSwgb25seSB4Y2IgaGFzIGJlZW4gaW1wbGVtZW50ZWQuCgoyMDE1LTEwLTI0IDE3OjI5OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi8uZ2l0aWdub3JlOgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL2dzdHZ1bGthbi5jOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuYzoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmM6CgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3Zrc2luay5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmg6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuaDoKCSogZXh0L3Z1bGthbi94Y2IveGNiX2V2ZW50X3NvdXJjZS5jOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmg6CgkgIG5ldyB2dWxrYW4gYmFzZWQgdmlkZW8gc2luawoJICBDdXJyZW50bHkgeGNiIGlzIHRoZSBvbmx5IHdpbnN5cyB0aGF0IGlzIGltcGxlbWVudGVkIGFuZCB0aGVyZSdzIG5vIHJlZHJhd3MgZXQKCSAgYWwKCjIwMTYtMDItMTYgMTI6Mzg6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvY2JyX3N0cmVhbS5tcDM6CgkqIHRlc3RzL2ZpbGVzL3N0cmVhbS5tcDI6CgkqIHRlc3RzL2ZpbGVzL3Zicl9zdHJlYW0ubXAzOgoJICB0ZXN0czogcmVtb3ZlIHRlc3QgZmlsZXMgbm8gbG9uZ2VyIG5lZWRlZAoKMjAxNi0wMi0xNiAxMDo0NDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbW92ZSBwbHVnaW4gZnJvbSAtYmFkIHRvIC11Z2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4NDkKCjIwMTYtMDItMTYgMTk6NTk6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJICBndGsoZ2wpc2luazogcmVtb3ZlIHRoZSBzaWduYWwgaGFuZGxlcnMgb24gZmluYWxpemUKCSAgSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBzaW5rIGVsZW1lbnQgd2lsbCBiZSBmcmVlZCBiZWZvcmUgdGhlIHdpZGdldCBpcwoJICBkZXN0cm95ZWQuICBXaGVuIHRoZSB3aWRnZXQgd2FzIGV2ZW50dWFsbHkgZGVzdHJveWVkLCBpdCB3YXMgYXR0ZW1wdGluZyB0bwoJICBhY2Nlc3MgbWVtYmVyIHZhcmlhYmxlcyBvZiB0aGUgZnJlZWQgc2luayBzdHJ1Y3Qgd2hpY2ggcmVzdWx0ZWQgaW4gdW5kZWZpbmVkCgkgIGJlaGF2aW91ci4KCSAgRml4IGJ5IGRpc2Nvbm5lY3Rpbmcgb3VyIHNpZ25hbCBvbiBmaW5hbGl6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjA5OAoKMjAxNi0wMi0xNiAwODo0ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBSZW1vdmUgbGVmdG92ZXIgZ19wcmludHMKCSAgT25lIHdhcyBjb21tZW50ZWQgb3V0LCBidXQgd2UgYWxzbyBkb24ndCB1c2UgLy8gY29tbWVudHMgOikKCjIwMTYtMDItMTYgMTQ6NDE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IHVzZSB0aGUgY29ycmVjdCBzcGVsbGluZyBmb3IgYmVoYXZpb3IKCSAgVGhlIGhlYWRlcnMgdXNlIHRoZSBhbWVyaWNhbiBzcGVsbGluZyBvZiBiZWhhdmlvciBub3QgdGhlIFVLL0FVUyB2ZXJzaW9uIHdpdGgKCSAgdGhlIGV4dHJhIFUuCgoyMDE2LTAyLTE2IDEzOjU4OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsY29udGV4dDogZG9uJ3QgZW5hYmxlIEdMIGRlYnVnIGZvciBtZXNzYWdlcyB0aGF0IHdvbid0IGJlIGxvZ2dlZAoJICBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiB0byBhdm9pZCBwb2ludGxlc3Mgc3RyaW5nIHByb2Nlc3NpbmcuCgoyMDE2LTAyLTE2IDEzOjAxOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJICBnbHZpZGVvZmxpcDogZG9uJ3QgaWdub3JlIG1ldGhvZCBjaGFuZ2VzIHdoZW4gY2FwcyBhcmVuJ3Qgc2V0ICh5ZXQpCgoyMDE2LTAyLTE2IDAwOjMzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IG1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE1LTEwLTA3IDIzOjQ5OjU4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L25ldHNpbS9NYWtlZmlsZS5hbToKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25ldHNpbS5jOgoJICBuZXRzaW06IEFkZCBuZXRzaW0gZWxlbWVudAoJICBSZXN1cnJlY3RlZCBmcm9tIHRoZSBGYXJzdHJlYW0gcmVwb3NpdG9yeSBhbmQgZ2l2ZW4gYW4KCSAgb3ZlcmhhdWwgdG8gZml4IHJhY2VzLCBkZWFkbG9ja3MgZXRjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjUyCgoyMDE1LTExLTIwIDE5OjM4OjAzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGRhc2hkZW11eDogZ3N0X2Rhc2hfZGVtdXhfZ2V0X2xpdmVfc2Vla19yYW5nZSByZXR1cm5zIHBvc2l0aXZlIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzc0CgoyMDE2LTAyLTEwIDEwOjMxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2w6IHN5bmNtZXRhOiBkZWZpbmUgR0xfVElNRU9VVF9JR05PUkVEIGluIG1vcmUgcG9ydGFibGUgd2F5CgoyMDE2LTAyLTEwIDE2OjM3OjIyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnc3RnbHNoYWRlcjogY2FjaGUgdW5pZm9ybSBsb2NhdGlvbnMKCSAgQXZvaWQgcmVkdW5kYW50IGNhbGxzIHRvIGdsR2V0VW5pZm9ybUxvY2F0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgY2FjaGVkIG9uY2UKCSAgdGhlIHNoYWRlciBoYXMgYmVlbiBsaW5rZWQuCgoyMDE2LTAyLTEwIDE1OjQwOjAyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHZpZGVvdGVzdHVyZWNhY2hlOiBsZXQgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZSBmbHVzaCBldmVyeSAxcwoJICBMZWF2ZSBrQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZU1heGltdW1UZXh0dXJlQWdlS2V5IHRvIHRoZSBkZWZhdWx0ICgxcykuIFdlIHVzZWQKCSAgdG8gc2V0IGl0IHRvIDAgYW5kIGZsdXNoIG1hbnVhbGx5LCBidXQgYXBwYXJlbnRseSAobG9va2luZyBhdCB0aGUgR0xFUyBwcm9maWxlcikKCSAgMCBtZWFucyAiZGlzYWJsZSB0aGUgY2FjaGUgZW50aXJlbHkiLgoKMjAxNi0wMi0xMCAxMzowODo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdzdGdsY29udGV4dDogbWljcm8gb3B0aW1pemF0aW9uIHRvIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQKCSAgSW52b2tlIHRoZSBjYWxsYmFjayByaWdodCBhd2F5IHdoZW4gY2FsbGVkIG9uIHRoZSBjb250ZXh0IHRocmVhZC4gUmVtb3ZlcwoJICBvdmVyaGVhZCB3aGVuIG5lc3RpbmcgbGliZ3N0Z2wgY2FsbHMgKGZvciBleGFtcGxlIHdoZW4gd29ya2luZyB3aXRoIHRoZSBzeW5jCgkgIG1ldGEpLgoKMjAxNi0wMS0wNiAyMTozOTowMCArMDAwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJICBydHBtc2luazogSW1wbGVtZW50IHNldGNhcHMgdGhhdCB1c2VzIHN0cmVhbWhlYWRlcgoJICBUaGlzIGFsbG93IGFkZGluZyBydG1wc2luayBhZnRlciB0aGUgZmx2IHN0cmVhbWluZyBoYXZlIHN0YXJ0ZWQuIE90aGVyd2lzZSwKCSAgRkxWIHN0cmVhbWhlYWRlciBpcyBuZXZlciBzZW50IHRvIHRoZSBzZXJ2ZXIsIHdoaWNoIGNhbm5vdCBmaWd1cmUtb3V0CgkgIHdoYXQgaXMgdGhpcyBzdHJlYW0gYWJvdXQuIEl0IHNob3VsZCBhbHNvIGhlbHAgaW4gY2VydGFpbiByZW5lZ290aWF0aW9uCgkgIGZpZ3VyZXMuIFRoZSBzaW5rIHdpbGwgbm8gbG9uZ2VyIHdvcmsgd2l0aG91dCBhbiBzdHJlYW1oZWFkZXIgaW4gY2FwcywKCSAgdGhvdWdoIHRoZXJlIGlzIG5vIGtub3duIGltcGxlbWVudGF0aW9uIG9mIGZsdmRlbXV4IHRoYXQgZG9lcyBub3QKCSAgc3VwcG9ydCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjQyCgoyMDE2LTAyLTA5IDIxOjM1OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIHN0cmVhbS0+Y3VycmVudF9mcmFnbWVudCBoYXMgdGhlIHZhbHVlIG9mIGdfbGlzdF9wcmV2aW91cyAoaXRlcikgd2hpY2ggaGFzCgkgIGp1c3QgYmVlbiBjaGVja2VkLiBObyBuZWVkIHRvIGNoZWNrIGl0IGFnYWluLgoJICBKdXN0IHRvIGJlIHNhZmUsIHVzZSBhIGdfYXNzZXJ0KCkgdG8gY2hlY2sgZnJhZ21lbnQgYmVmb3JlIGRlcmVmZXJlbmNpbmcuCgkgIENJRCAjMTM1MjA0MQoKMjAxNi0wMi0wOSAxNzoyNDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcGx1ZyBtcGQgY2xpZW50IGxlYWsKCSAgT24gcGFyc2luZyBlcnJvciwgZnJlZSB0aGUgbXBkIGNsaWVudCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyMAoKMjAxNi0wMS0wNCAxMjoxMjo0NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfdXBkYXRlX21hbmlmZXN0X2RhdGEKCSAgbmV3X2NsaWVudCBsb2NhbCB2YXJpYWJsZSB3YXMgbm90IGZyZWVkIGluIGNhc2Ugb2YgZXJyb3JzLgoJICBBbHNvLCB0aGUgYnVmZmVyIGlzIG5vdCB1bm1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyMAoKMjAxNS0xMS0xMCAyMjowMTozOCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbmFtZWQgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUgdG8gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfc3RhcnRfdGltZQoJICBUaGUgZnVuY3Rpb24gYWN0dWFsbHkgcmV0dXJucyB0aGUgc2VnbWVudCBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZSAoYXMgZGVmaW5lZCBieSB0aGUgc3RhbmRhcmQpLgoJICBUaGF0IGlzIGF0IHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQsIGJ1dCBpdCBpcyBjYWxsZWQgYXZhaWxhYmlsaXR5IHN0YXJ0IHRpbWUuCgkgIEF2YWlsYWJpbGl0eSBlbmQgdGltZSBpcyBzb21ldGhpbmcgZWxzZSAodGhlIHRpbWUgd2hlbiB0aGUgc2VnbWVudCBpcyBubyBsb25nZXIKCSAgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXIpLiBUaGUgZnVuY3Rpb24gbmFtZSB3YXMgbWlzbGVhZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY1NQoKMjAxNS0xMS0xMCAyMjowMDo1OCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBjb3JyZWN0ZWQgZ2V0dGluZyBzZWdtZW50IGF2YWlsYWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE1LTExLTE5IDE1OjMwOjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgZ2V0dGluZyBzZWdtZW50IGF2YWlsYWJpbGl0eSB3aGVuIHNlZ21lbnQgdGltZWxpbmUgaXMgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE2LTAxLTA3IDEyOjUwOjA2ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJICBhZGFwdGl2ZV9kZW11eDogdGVzdHM6IGltcHJvdmVkIHZhbGlkYXRpb24gb2YgcGFkcwoJICBXaGVuIHJlbW92aW5nIGEgcGFkLCB0aGUgb25fZGVtdXhQYWRSZW1vdmVkIGZ1bmN0aW9uIG11c3QgZmluZCBhIHN0cmVhbQoJICBmb3IgdGhhdCBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDcgMTI6NDg6MTIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkgIGFkYXB0aXZlX2RlbXV4OiB0ZXN0czogZml4IHBhZCB1c2VkIGZvciBBcHBTaW5rIGV2ZW50CgkgIG9uX2RlbXV4TmV3UGFkIHJlZ2lzdGVyZWQgdGhlIG9uX2FwcHNpbmtfZXZlbnQgY2FsbGJhY2sgb24gYSB3cm9uZyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDggMTY6MjU6MTIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogcmVtb3ZlIHVudXNlZCBkZW11eF9zZW50X2VvcyBjYWxsYmFjawoJICBUaGUgZGVtdXhfc2VudF9lb3MgY2FsbGJhY2sgaXMgdW51c2VkIGluIHRlc3RzLiBJdCB3YXMgYWxzbyByZWdpc3RlcmVkIG9uCgkgIGEgd3JvbmcgcGFkLCBzbyBpdCBhY3R1YWxseSB0cmlnZ2VyZWQgd2hlbiBkZW11eCByZWNlaXZlZCBlb3MgZnJvbSBhCgkgIGZyYWdtZW50IGRvd25sb2FkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMzI4CgoyMDE2LTAxLTA4IDE4OjE3OjIxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IHJlbW92ZSB1bm5lZWRlZCB5b3V0dWJlIHhtbG5zIGZyb20gbWFuaWZlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDItMDkgMTQ6MDc6NTQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcGxlbWVudCBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoKMjAxNi0wMi0wOSAxNDowNDowOSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogdXBkYXRlIGNvcHlyaWdodAoKMjAxNi0wMi0wOSAxMzo0Mjo0OCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogaW1wbGVtZW50IEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgkgIE5lZWRlZCB0byBwcm9wZXJseSBoYW5kbGUgZ3N0LmdsLmFwcF9jb250ZXh0KHMpLgoKMjAxNi0wMi0wOSAxMzozOToxOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogYWRkIG15c2VsZiB0byB0aGUgY29weXJpZ2h0IGhvbGRlcnMKCjIwMTYtMDItMDkgMTM6NTY6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIGdsOiB1cGRhdGUgd2luMzIgLmRlZiBmaWxlCgoyMDE2LTAyLTA5IDEzOjA4OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGZvciBHTF9USU1FT1VUX0lHTk9SRUQKCjIwMTYtMDItMDkgMTI6MTQ6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBnbHN5bmNtZXRhOiBzZXBhcmF0ZSBvdXQgZ3B1L2NwdSB3YWl0cy4KCSAgQ1BVIHdhaXRzIGFyZSBtb3JlIGV4cGVuc2l2ZSBhbmQgYXJlIG9ubHkgcmVxdWlyZWQgaWYgdGhlIENQVSBpcyBldmVyIGdvaW5nIHRvCgkgIGFjY2VzcyB0aGUgZGF0YS4gR1BVIHdhaXRzIHBlcmZvcm0gaW50ZXItY29udGV4dCBzeW5jaHJvbmlzYXRpb24gYW5kIGFyZSBjaGVhcGVyCgkgIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBDUFUgaW50ZXJ2ZW50aW9uLgoKMjAxNi0wMi0wOCAyMzoxNzozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIG92ZXJ3cml0dGVuIHZhbHVlCgkgIHJldCBpcyBvdmVyd2l0dGVuIGJlZm9yZSB1c2VkIHdpdGggdGhlIHJldHVybiBvZiB0aGUgc3ViY2xhc3Mgc2Vlay4KCSAgQ0lEICMxMzUyMDQ0CgoyMDE2LTAyLTA4IDE1OjAwOjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiByZW1vdmUgY29tbWVudGVkIG91dCBpbmNsdWRlCgkgIENvbW1pdCAyMTE4Mjg5NzliOGMxMGFiZjNjNzRkOTY0YmM2OThkYmRhNGQ0OTdkIHJlbW92ZWQgcnNuYXVkaW9tdW5nZSwKCSAgbm8gbmVlZCBmb3IgdGhpcyBjb21tZW50ZWQgb3V0IGluY2x1ZGUgZm9yIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgYW55bW9yZS4KCjIwMTYtMDItMDggMTQ6MjY6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIFJldmVydCAicmVzaW5kdmQ6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGVmZjZlMTk5MWNiMjRjYjY1ZjA3YzQ4MTc0Mjc4MmFjYWE4ZWM2Mi4KCSAgQnJlYWtzIHRoZSBidWlsZCB3aGVuIGxpbmtpbmcgd2l0aCBkdmRuYXYuaAoKMjAxNi0wMi0wOCAxMzo0MzoyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoJICBJdCB3YXMgbmV2ZXIgbmVlZGVkIHNpbmNlIGl0IGRvZXNuJ3QgdXNlIGFueSBzdGFuZGFyZCBpbnRlZ2VyIGZpeGVkIHdpZHRoCgkgIHR5cGVzLiBPbmx5IHRoZSBHbGliIHR5cGVzLgoKMjAxNi0wMi0wOCAxMzozMjo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUKCjIwMTYtMDItMDggMTI6NDQ6NTMgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzA0CgoyMDE2LTAyLTA4IDEyOjIzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkgIGdsZWZmZWN0czogaWRlbnRpdHk6IGFkZCB0aGUgc2hhZGVyIHRvIHRoZSBoYXNoIHRhYmxlCgkgIFNvIHRoYXQgd2UgZG9uJ3QgcmVjcmVhdGUgaXQgZXZlcnkgZnJhbWUgYW5kIGxlYWsgbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNTc4CgoyMDE2LTAyLTA1IDIwOjAyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGV4dGVuZCB0aGUgQU1fVEVTVFNfRU5WSVJPTk1FTlQgZnJvbSBjaGVjay5tYWsKCSAgVG8gZ2V0IHRoZSBDS19ERUZBVUxUX1RJTUVPVVQgZGVmaW5lZCBmb3IgYWxsIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NzIKCjIwMTYtMDItMDUgMTg6MDY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlOTdjOWJiIHRvIGI2NGYwM2YKCjIwMTYtMDItMDUgMTU6MzQ6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBnc3RydHBoMjY1ZGVwYXk6IGtlZXAgY29uc2lzdGVuY3kgd2l0aCBydHBoMjY0ZGVwYXkKCSAgVXNlIGdzdF9ydHBfZHJvcF9tZXRhKCkgYW5kIHRoZSBzYW1lIGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IKCSAgZ3N0X3J0cF9jb3B5X21ldGEoKSB0byBrZWVwIGNvbnNpc3RlbmN5IHdpdGggdGhlIFJUUCBlbGVtZW50cyBpbgoJICBnc3QtcGx1Z2lucy1nb29kCgoyMDE2LTAyLTA1IDIxOjMzOjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBVc2UgZ2xpYiBDTEFNUCgpIGluc3RlYWQgb2Ygb3VyIG93biBtYWNybwoKMjAxNi0wMi0wNSAxMzo1NjozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHRlcm1pbmF0aW9uIG9mIGFjY2VzcyB1bml0CgkgIE9ubHkgY29uc2lkZXIgdGhlIGFjY2VzcyB1bml0IGNvbXBsZXRlIHdoZW4gdGhlIG5leHQtb2NjdXJyaW5nIFZDTCBOQUwgdW5pdAoJICBoYXMgdGhlIGZpcnN0IGJpdCBhZnRlciBpdHMgTkFMIHVuaXQgaGVhZGVyIGVxdWFsIHRvIDEuCgoyMDE2LTAyLTAyIDEzOjUwOjI1ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFVwZGF0ZSBwb3NpdGlvbiBpbiBzdHJlYW0tPnNlZ21lbnQgZm9yIG5ldyBzdHJlYW0gc2VnbWVudCBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDU4CgoyMDE2LTAyLTA1IDE1OjQzOjIyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBMaW1pdCBwZXJpb2Qgc2l6ZSBhbmQgY291bnQgdG8gd2hhdCB0aGUgaC93IHBlcm1pdHMKCjIwMTYtMDItMDUgMTA6NDM6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICBnbDogYWRkIC5kZWYgZmlsZSBmb3IgbXN2YyBidWlsZHMKCSAgQWxzbyBpbnRlcm5hbGl6ZSBzb21lIEFQSSBmcm9tIGJlaW5nIGV4cG9ydGVkLgoKMjAxNi0wMi0wMiAxNzowMjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21zc2RlbXV4LmM6CgkgIHRlc3RzOiBtc3NkZW11eDogYWRkIHVuaXQgdGVzdHMKCSAgQWRkcyB1bml0IHRlc3RzIHNpbWlsYXIgdG8gdGhlIG9uZXMgdGhhdCB3ZSBoYXZlIGZvciBEQVNIIGFuZCBITFMuCgkgIFRlc3RzOgoJICAqIG1hbmlmZXN0IHBhcnNpbmcgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5CgkgICogc29tZSBxdWVyaWVzIChkdXJhdGlvbiwgc2Vla2FibGUsIGxhdGVuY3kpCgkgICogc2Vla2luZyB3aXRoIHZhcmlvdXMgdmFsdWVzIGFuZCBmbGFncwoKMjAxNi0wMi0wMiAxNjo1NDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBzbmFwIHNlZWtpbmcKCSAgSW1wbGVtZW50IHNuYXAgc2VlayBmbGFncyBoYW5kbGluZyBpbiBzdHJlYW1fc2VlayB0byBhbGxvdyB0aGUKCSAgcGFyZW50IGNsYXNzIHRvIGhhbmRsZSBpdCBmb3IgdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMi0wMiAxNjo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGNvcnJlY3Qgc2VlayBwb3NpdGlvbiBvbiByZXZlcnNlIHNlZWtzCgkgIE90aGVyd2lzZSBpdCB3YXMgYWx3YXlzIHVzaW5nIHRoZSAnc3RhcnQnIHZhbHVlLCBsZWFkaW5nIHRvIHdyb25nCgkgIGJlaGF2aW9yCgoyMDE2LTAyLTAyIDExOjMwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBvbmx5IHVwZGF0ZSBkb3dubG9hZCBwb3NpdGlvbiBpZiB0aGUgc2VlayByZXF1ZXN0cyB0bwoJICBTb21lIHNlZWtzIGFyZSBvbmx5IHVwZGF0aW5nIHRoZSBzdG9wIHBvc2l0aW9uLCB0aGVyZSBpcyBubyBuZWVkCgkgIHRvIGNoYW5nZSB0aGUgY3VycmVudCBkb3dubG9hZGluZyBwb3NpdGlvbi4KCjIwMTYtMDItMDIgMDk6NTI6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBhc3NlcnQgb24gZnJhZ21lbnQgcmVsb2FkcyBmb3Igbm9uLWxpdmUKCSAgSXQgY2FuIGJlIHVzZWQgYXMgYSByZXNvdXJjZSB0byB2ZXJpZnkgaWYgdGhlIHNlcnZlciBoYXMgdXBkYXRlZAoJICBzb21ldGhpbmcgaW4gdGhlIE1hbmlmZXN0IHdoZW4gZG93bmxvYWRzIGFyZSBmYWlsaW5nCgoyMDE2LTAxLTI3IDEwOjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc25hcCBmbGFncyBzZWVraW5nCgkgIFNpbWlsYXIgdG8gSExTIGJ1dCBEQVNIIGhhcyB0aGUgZXh0cmEgaXNzdWUgdGhhdCBpdCBjYW4gaGF2ZQoJICBtdWx0aXBsZSBzdHJlYW1zIHNvIHNuYXBwaW5nIGNhbiBiZSB0cmlja3kgYXMgc3RyZWFtcyB1c3VhbGx5CgkgIHdvbid0IGJlIGFsaWduZWQuCgkgIEZvciBub3csIHRob3NlIHRlc3RzIGhhbmRsZSB0aGUgY2FzZSBvZiBvbmx5IGhhdmluZyBhIHNpbmdsZQoJICBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxNTgKCjIwMTYtMDItMDEgMTA6NDk6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgc25hcCBzZWVrIGhhbmRsaW5nCgkgIEhhbmRsZSBzbmFwIHNlZWtpbmcgYXQgdGhlIHN0cmVhbV9zZWVrIG1ldGhvZCBhbmQgbGV0IHN1cGVyY2xhc3MKCSAgZG8gdGhlIHJlc3QgdG8gc3VwcG9ydCBzbmFwIHNlZWtpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMS0yNyAxMzozMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGhhbmRsZSBzbmFwIHNlZWtzCgkgIEFkYXB0aXZlIGRlbXV4ZXJzIG5lZWQgdG8gc3RhcnQgZG93bmxvYWRpbmcgZnJvbSBzcGVjaWZpYyBwb3NpdGlvbnMKCSAgKGZyYWdtZW50cykgZm9yIGV2ZXJ5IHN0cmVhbSwgdGhpcyBtZWFucyB0aGF0IGFsbCBzdHJlYW1zIGNhbiBzbmFwLXNlZWsKCSAgdG8gYSBkaWZmZXJlbnQgcG9zaXRpb24gd2hlbiByZXF1ZXN0ZWQuIFNuYXAgc2Vla2luZyBpbiB0aGlzIGNhc2Ugd2lsbAoJICBiZSBkb25lIGluIDIgc3RlcHM6CgkgIDEpIGRvIHRoZSBzbmFwIHNlZWtpbmcgb24gdGhlIHBhZCB0aGF0IHJlY2VpdmVkIHRoZSBzZWVrIGV2ZW50IGFuZAoJICBnZXQgdGhlIGZpbmFsIHBvc2l0aW9uCgkgIDIpIHVzZSB0aGlzIHBvc2l0aW9uIHRvIGRvIGEgcmVndWxhciBzZWVrIG9uIHRoZSBvdGhlciBzdHJlYW1zIHRvCgkgIG1ha2Ugc3VyZSB0aGV5IGFsbCBzdGFydCBmcm9tIHRoZSBzYW1lIHBvc2l0aW9uCgkgIE1vcmUgYXJndW1lbnRzIHdlcmUgYWRkZWQgdG8gdGhlIHN0cmVhbV9zZWVrIGZ1bmN0aW9uLCBhbGxvd2luZyBiZXR0ZXIgY29udHJvbAoJICBvZiBob3cgc2Vla2luZyBpcyBkb25lLiBLbm93aW5nIHRoZSBmbGFncyBhbmQgdGhlIHBsYXliYWNrIGRpcmVjdGlvbiBhbGxvd3MKCSAgc3ViY2xhc3NlcyB0byBoYW5kbGUgc25hcC1zZWVraW5nLgoJICBBbmQgYWxzbyBhZGRzIGEgbmV3IHJldHVybiBwYXJhbWV0ZXIgdG8gaW5mb3JtIG9mIHRoZSBmaW5hbAoJICBzZWxlY3RlZCBzZWVraW5nIHBvc2l0aW9uIHRoYXQgaXMgdXNlZCB0byBhbGlnbiB0aGUgb3RoZXIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMS0yNiAyMzo0MzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCB1dGlsaXR5IGZ1bmN0aW9uIHRvIGdldCBzdHJlYW0gZnJvbSBwYWQKCSAgU2ltcGxpZmllcyB0aGUgY29kZSBhIGJpdCBhbmQgYXZvaWQgcmVwZWF0aW5nIHRoaXMKCSAgY29tbW9uIG9wZXJhdGlvbgoKMjAxNi0wMi0wNCAxMjo1MDo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIHVudXNlZCBtdmlld19tb2RlIHZhbHVlCgkgIFNpbmNlIGNvbW1pdCBiNzdmOGUxNzJhM2YwYmU2YmU1Y2I0YTcyZTY1NDI1MzQwNGU2OTRmIHRoZSBuZXcgdmFsdWUKCSAgYXNzaWduZWQgdG8gbXZpZXdfbW9kZSBoYXNuJ3QgYmVlbiB1c2VkLiBUaGF0IGNvbW1pdCBjaGFuZ2VkIHRoZSBmb2xsb3dpbmcKCSAgImlmIiBjaGVjayB0byBhbiAiZWxzZSBpZiIsIHdoaWNoIG1lYW5zIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiBtdmlld19tb2RlCgkgIGlzIHVzZWQuCgoyMDE2LTAyLTA0IDEyOjE3OjMxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2xxdWVyeTogcmVtb3ZlIHVubmVjZXNzYXJ5IHBvaW50ZXIgY2hlY2sKCSAgQWxsIHVzZXMgb2YgcXVlcnktPmNvbnRleHQgaW4gZ3N0Z2xxdWVyeS5jIGFzc3VtZSBpdCBleGlzdHMuIFdlIGNhbiBhc3N1bWUKCSAgdGhpcyBhcyB3ZWxsIGJlZm9yZSB1bnJlZmluZyBpdC4gRnVydGhlcm1vcmUsIGdzdF9vYmplY3RfdW5yZWYoKSB3aWxsIGp1c3QKCSAgc2lsZW50bHkgcmV0dXJuIGlmIGl0IGV2ZXIgd2VyZSB0byBub3QgZXhpc3QuCgoyMDE2LTAyLTA0IDE4OjE1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGF2b2lkIHNlbmRpbmcgdW5uZWNlc3NhcnkgZG93bnN0cmVhbSBjYXBzIHF1ZXJpZXMvZXZlbnRzCgkgIGgyNjUgdmVyc2lvbnMgb2YgdGhlIGZvbGxvd2luZyBjb21taXRzOgoJICBmMzUyNjkxYTA0ODk2ZDBkZTMzODFmZThlZTg1YWRhOTQ4YmQ2MzM3CgkgIHRyeSB0aGUgY3VycmVudCBjYXBzIGJlZm9yZSBxdWVyeWluZyBkb3duc3RyZWFtCgkgIDcyYmM3ZDdmNzM2YTEwMTE3ZmVkYjhlMWQ0MDEzYTQ5NDZjZmVmYmMKCSAgaW5jcmVhc2UgY2FwcyBlcXVhbGl0eSBjaGVjayBmb3Igbm8gY29kZWNfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE2OjM2OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGluY3JlYXNlIGNhcHMgZXF1YWxpdHkgY2hlY2sgZm9yIG5vIGNvZGVjX2RhdGEKCSAgV2hlbiBjb252ZXJ0aW5nIGZyb20gYXZjIHRvIGJ5dGUtc3RyZWFtLCB0aGVyZSB3aWxsIG5vdCBiZSBhbnkgY29kZWNfZGF0YQoJICBpbiB0aGUgc3JjIGNhcHMuICBSZW1vdmUgaXQgYmVmb3JlIHRoZSBlcXVhbGl0eSBjaGVjayB0byBhdm9pZCBzZW5kaW5nIGNhcHMKCSAgZXZlbnRzIGRvd25zdHJlYW0gb24gZXZlcnkgU1BTL1BQUyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTU6MzQ6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdHJ5IHRoZSBjdXJyZW50IGNhcHMgYmVmb3JlIHF1ZXJ5aW5nIGRvd25zdHJlYW0KCSAgSWYgd2UgaGF2ZSBhIHN0cmVhbSB0aGF0IGNvbnRhaW5zIGFuIHVuY2hhbmdpbmcgU1BTL1BQUyBmb3IgZXZlcnkgdmlkZW8gZnJhbWUsCgkgIHdlIGRvbid0IG5lZWQgdG8gdG8gY29uc3RhbnRseSBxdWVyeSBkb3duc3RyZWFtIGZvciBpdCdzIHN1cHBvcnRlZCBjYXBzIGlmIHRoZQoJICBjdXJyZW50IGNhcHMgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUgbmVnb3RpYXRlZCBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE3OjMxOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogZW5hYmxlIHFvcyBieSBkZWZhdWx0CgkgIEltcHJvdmVzIHRoZSByZXNwb25zaXZlbmVzcyBvZiB0aGUgcGlwZWxpbmUgd2hlbiByZXNvdXJjZXMgYXJlIGNsb3NlL2Fib3ZlIHRoZQoJICBsaW1pdGF0aW9ucyBvZiB0aGUgaGFyZHdhcmUuCgkgIEFueSBzdWJjbGFzcyB0aGF0IHdpc2hlcyBub3QgdG8gZW5hYmxlIHFvcyBjYW4gZG8gc28gdGhlbXNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTUxOQoKMjAxNi0wMi0wNCAxNToxMToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogcGFzcyB0aGUgY29ycmVjdCB0aW1lIHZhbHVlIHRvIHdhaXRfZm9yX3N5bmMKCSAgV2hlbiB3ZSBhcmUgbm90IHdhaXRpbmcsIHdlIG5lZWQgdG8gcGFzcyAtMSB0byBzaWduYWwgdGhhdCB3ZSBqdXN0IHdhbnQgdG8gY2hlY2sKCSAgdGhhdCB0aGUgZnJhbWUgd2FzL24ndCByZW5kZXJlZC4gIEF2b2lkcyB3YWl0aW5nIGZvciBmcmFtZXMgdGhhdCB3aWxsIG5ldmVyIGJlCgkgIHJlbmRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE1OjA3OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBhZHZhbmNlIHRoZSByZWFkeSBjb3VudGVyIG91cnNlbHZlcyB3aGVuIHJlbmRlcj1GQUxTRQoJICBXaGVuIG5vdCByZW5kZXJpbmcgdGhlIHZpZGVvIGZyYW1lLCBlLmcuIHdoZW4gZnJlZWluZyBhbiB1bnJlbGVhc2VkIHN5bmMgZnJhbWUsCgkgIHdlIHdpbGwgbm90IHJlY2VpdmUgYSBmcmFtZSBsaXN0ZW5lciBjYWxsYmFjay4KCSAgUmVkdWNlcyB0aGUgYW1vdW50IG9mICdvbl9mcmFtZV9hdmFpbGFibGUgbWlzcyBkZXRlY3RlZCcgbWVzc2FnZXMgd2hlbiBkcm9wcGluZwoJICBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTQ6MjU6MTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBGaXggZGlzY29udCB0cmFja2luZwoJICBEb24ndCByZXNldCB0aGUgbWFya2VyIHRoYXQncyB0cmFja2luZyBkaXNjb250cyB1bnRpbAoJICBlaXRoZXIgdGhlIGRpc2NvbnQgZGlzYXBwZWFycyBvciB3ZSByZXN5bmMuCgoyMDE2LTAyLTAzIDIxOjIyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkgIFJlbW92ZSBhbmNpZW50IGFuZCBkZWFkIGNkcm9tIGNvbnRyb2wgcGx1Z2luCgkgIFRoaXMgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCBJIGRvbid0IHRoaW5rCgkgIGl0J3MgcGFydGljdWxhcmx5IHVzZWZ1bCwgc2luY2UgaXQncyBqdXN0IGEgY29udHJvbAoJICBpbnRlcmZhY2UgcmVhbGx5LiBMZXQncyByZW1vdmUgaXQuCgoyMDE2LTAyLTAzIDIxOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZG9jczogcmVtb3ZlIHNvbWUgbGVmdG92ZXIgJ1NpbmNlIDAuMTAueCcgbWFya2VycwoKMjAxNi0wMi0wMyAyMToxMzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzLy5naXRpZ25vcmU6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzLW1hcnNoYWwubGlzdDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZGVidWd1dGlsczogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxNi0wMi0wMyAxNjoyODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXM6IGZpeCBGRUMKCSAgRkVDIG1heSBvbmx5IGJlIHVzZWQgd2hlbiBQTEMgaXMgZW5hYmxlZCBvbiB0aGUgYXVkaW8gZGVjb2RlciwKCSAgYXMgaXQgcmVsaWVzIG9uIGVtcHR5IGJ1ZmZlcnMgdG8gZ2VuZXJhdGUgYXVkaW8gZnJvbSB0aGUgbmV4dAoJICBidWZmZXIuIEhvb2tpbmcgdG8gdGhlIGdhcCBldmVudHMgZG9lc24ndCB3b3JrIGFzIHRoZSBhdWRpbwoJICBkZWNvZGVyIGRvZXMgbm90IGxpa2UgbW9yZSBidWZmZXJzIG91dHB1dCB0aGFuIGl0IHNlbmRzLgoJICBUaGUgbGVuZ3RoIG9mIGRhdGEgdG8gZ2VuZXJhdGUgdXNpbmcgRkVDIGZyb20gdGhlIG5leHQgcGFja2V0CgkgIGlzIGRldGVybWluZWQgYnkgcm91bmRpbmcgdGhlIGdhcCBkdXJhdGlvbiB0byBuZWFyZXN0LiBUaGlzCgkgIGVuc3VyZXMgdGhhdCBkdXJhdGlvbiBpbXByZWNpc2lvbiBkb2VzIG5vdCBjYXVzZSBxdWFudGl6YXRpb24KCSAgdG8gMi41IG1pbGxpc2Vjb25kcyBsZXNzIHRoYW4gYXZhaWxhYmxlLiBEb2luZyBzbyBjYXVzZXMgdGhlCgkgIE9wdXMgQVBJIHRvIGZhaWwgZGVjb2RpbmcuIFN1Y2ggZHVyYXRpb24gaW1wcmVjaXNpb24gaXMgY29tbW9uCgkgIGluIGxpdmUgY2FzZXMuCgkgIFRoZSBidWZmZXIgdG8gY29uc2lkZXIgd2hlbiBkZXRlcm1pbmluZyB0aGUgbGVuZ3RoIG9mIGF1ZGlvCgkgIHRvIGJlIGRlY29kZWQgaXMgdGhlIHByZXZpb3VzIGJ1ZmZlciB3aGVuIHVzaW5nIEZFQywgYW5kIHRoZQoJICBuZXcgYnVmZmVyIG90aGVyd2lzZS4gSW4gdGhlIEZFQyBjYXNlLCB0aGlzIG1lYW5zIHdlIGRldGVybWluZQoJICB0aGUgYW1vdW50IG9mIGF1ZGlvIGZyb20gdGhlIHByZXZpb3VzIGJ1ZmZlciwgd2hldGhlciBpdCB3YXMKCSAgbWlzc2luZyBvciBub3QgKGFuZCBnZXQgdGhlIGRhdGEgZWl0aGVyIGZyb20gdGhpcyBidWZmZXIsIG9yCgkgIHRoZSBjdXJyZW50IG9uZSBpZiB0aGUgcHJldmlvdXMgb25lIHdhcyBtaXNzaW5nKS4KCjIwMTYtMDItMDMgMTA6NTk6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHJlY29uZmlndXJlIHRoZSBzcmMgd2hlbiBjaGFuZ2luZyB0by9mcm9tIHBhc3N0aHJvdWdoCgkgIE90aGVyd2lzZSBpdCdzIHZlcnkgcG9zc2libGUgdGhhdCBhbnkgR0wgcmVzb3VyY2VzIGhhdmUgbm90IGJlZW4gY3JlYXRlZCB5ZXQuCgoyMDE2LTAyLTAzIDEwOjUyOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkgIGdsdmlkZW9mbGlwOiBjb3JyZWN0bHkgdXBkYXRlIHRoZSBvdXRwdXQgY2FwcyBvbiBtZXRob2QgY2hhbmdlcwoJICBXaGVuIGNoYW5naW5nIG1ldGhvZHMgd2UgbWF5IG5lZWQgZGlmZmVyZW50IG91dHB1dCBjYXBzLgoKMjAxNi0wMi0wMiAxMToyMDoxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IGZpeCB0aW5hbHNhIHR5cG8KCjIwMTYtMDItMDIgMTE6MDY6NTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBmaXggc2FtcGxlIGxhdW5jaCBsaW5lCgoyMDE2LTAyLTAyIDE0OjQ2OjMwICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJICBsaWJzOiBwbGF5ZXI6IHVzZSBjb25maWd1cmVkIEdTVF9QS0dfQ09ORklHX1BBVEggd2hlbiBpbnZva2luZyB0aGUgaW50cm9zcGVjdGlvbiBzY2FubmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NjAKCjIwMTYtMDItMDIgMTU6MjA6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggd3JvbmcgYnVmZmVyIGJlaW5nIGNoZWNrZWQgZm9yIG1pc3NpbmcgZGF0YQoJICBUaGlzIGNhdXNlZCBhIGRlY29kaW5nIGVycm9yIGlmIHRoZSByZXN1bHRpbmcgKHdyb25nKSBidWZmZXIgc2l6ZQoJICB3YXMgcGFzc2VkIHRvIHRoZSBPcHVzIGRlY29kaW5nIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE1OAoKMjAxNi0wMi0wMiAxNjoyNjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogVXNlIGludCB0eXBlIGlmIHdlIHN1cHBvcnQgYSBzaW5nbGUgcmF0ZS9jaGFubmVsIGNvdW50CgkgIEF2b2lkcyB1c2luZyBhbiBpbnQgcmFuZ2UgaWYgdGhlIGZpZWxkIHdlJ3JlIHNldHRpbmcgaXMgbm90IGFjdHVhbGx5IGEKCSAgcmFuZ2UuCgoyMDE2LTAyLTAyIDE4OjM2OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBSZXZlcnQgImdsL2VhZ2w6IHRyeSBnZXR0aW5nIGEgZ2xlczMgY29udGV4dCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmI5NjY2ZDU5NmJlMTE1ZmQ0YjQ0NmVmODQ2NTA4YjdmZDA1YzI0LgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxMTM4NWQxNjdkODg0MzYwNGVhMjNhMDVlMmRlYTQwYjhiYmFjMzUuCgkgIFRoaXMgYnJlYWtzIHRoZSB0ZXh0dXJlIHNoYXJpbmcgd2l0aCB0aGUgYXBwbGVtZWRpYSBlbGVtZW50cyBhcwoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlIHNlZW1zIHRvIGhhdmUgYW4gYXJiaXRyYXJ5IHJlc3RyaWN0aW9uIG9uIEdMRVMyIG9ubHkuCgoyMDE2LTAyLTAyIDE2OjIxOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IHNraXAgc3Vic2V0IHN0cnVjdHVyZXMKCSAgV2UgbWF5IG5lZWQgdGhlbSB0byB0cmFuc2Zvcm0gaW50byBhIGRpZmZlcmVudCBzZXQgb2YgZm9ybWF0cy4KCSAgRml4ZXMgWVVWLT5ZVVYgd2l0aCB0d28gZ2xjb2xvcmNvbnZlcnRzLCBlLmc6CgkgIGZvcm1hdD1JNDIwICEgZ2xjb2xvcmNvbnZlcnQgISBnbGNvbG9yY29udmVydCAhIGZvcm1hdD1OVjEyCgoyMDE2LTAyLTAyIDE2OjE5OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogYWx3YXlzIGNhbGwgZ2xfc3RhcnQgd2hlbiBub3QgY2FsbGVkIGFscmVhZHkKCSAgRml4ZXMgZWxlbWVudHMgdHJhbnNpdGlvbmluZyBvdXQgb2YgcGFzc3Rocm91Z2ggbW9kZSB1c2luZyBHTCByZXNvdXJjZXMgdGhhdAoJICBoYWRuJ2UgYmVlbiBhbGxvY2F0ZWQgeWV0LgoKMjAxNi0wMi0wMiAxNToxNDoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggUkdCLHJlY3RhbmdsZS0+cGxhbmFyIFlVViBjb252ZXJzaW9uCgkgIENvbnZlcnRpbmcgdG8gR1JBWSBpcyBubyBmdW4uICBBbm90aGVyIGNhc2Ugb2Ygbm9ybWFsaXplZCB2cyB1bm5vcm1hbGl6ZWQKCSAgdGV4dHVyZSBjb29yZGluYXRlcy4KCjIwMTYtMDItMDIgMTM6NTE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IFlVWTIvVVlWWSxyZWN0YW5nbGUtPlJHQiBjb252ZXJzaW9uCgkgIDEuMCAvIHdpZHRoIGRvZXMgbm90IG9mZnNldCBieSBvbmUgcGl4ZWwgaW4gcmVjdGFuZ3VsYXIgdGV4dHVyZXMgKHdoaWNoIHVzZQoJICB1bm5vcm1hbGl6ZWQgY29vcmRpbmF0ZXMpLgoJICBQcm92aWRlIHRoZSBhY3R1YWwgcGl4ZWwgb2Zmc2V0IGFzIGEgdW5pZm9ybSB0byB0aGUgc2hhZGVyLgoKMjAxNi0wMS0yNyAxNjo0MjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3RpbnlhbHNhL01ha2VmaWxlLmFtOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2EuYzoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmg6CgkgIHRpbnlhbHNhOiBBZGQgYSBuZXcgc2luayBwbHVnaW4gdXNpbmcgdGlueWFsc2EKCSAgVGhpcyB1c2VzIHRoZSB0aW55YWxzYSBsaWJyYXJ5IHRvIHBsYXliYWNrIHRvIGFuIEFMU0EgZGV2aWNlLiBGdXR1cmUKCSAgd29yayBjYW4gaW5jbHVkZSB1c2luZyB0aGUgbW1hcCBpbnRlcmZhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyMzAKCjIwMTYtMDItMDIgMTI6NTA6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcGVyZm9ybSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgMS4gQ29ycmVjdGx5IGRlc2NyaWJlIHdoYXQgd2UgY2FuIGNhcHMgd2UgY2FuIHRyYW5zZm9ybSB0by9mcm9tLgoJICBpLmUuIG5vIFlVVi0+WVVWIG9yIEdSQVktPllVViBvciBZVVYtPkdSQVkgKGV4Y2VwdCBmb3IgcGFzc3Rocm91Z2gpLgoJICAyLiBQcmVmZXIgc2ltaWxhciBmb3JtYXRzIGFuZCBpZ25vcmUgaW5jb21wYXRpYmxlIGZvcm1hdHMgb24gZml4YXRpb24uCgoyMDE2LTAxLTI2IDIzOjE1OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0IGZvciB1cGRhdGluZyBzdG9wIHBvc2l0aW9uCgkgIFRlc3QgdGhhdCBhIHNlZWsgdGhhdCBvbmx5IHVwZGF0ZXMgdGhlIHN0b3AgcG9zaXRpb24gd29ya3MKCSAgYXMgZXhwZWN0ZWQKCjIwMTYtMDItMDEgMDk6NDg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG9ubHkgdXBkYXRlIGN1cnJlbnQgcmVhZGluZyBwb3NpdGlvbiB3aGVuIG5lZWRlZAoJICBJZiB0aGUgc2VlayBkb2Vzbid0IHNldCB0aGUgc3RhcnQvc3RvcCBwb3NpdGlvbiwgbm8gbmVlZCB0bwoJICByZXBvc2l0aW9uIHRoZSBkb3dubG9hZCBpbmRleC4KCjIwMTYtMDEtMjkgMjA6MzQ6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlc3BlY3Qgc2Vla2luZyBwYXJhbWV0ZXIKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc2VnbWVudCB2YWx1ZXMsIHVzZSB0aGUgcGFyYW1ldGVyCgkgIHJlcXVlc3RlZCBpbiB0aGUgc2Vla2luZyBhcmd1bWVudAoKMjAxNi0wMi0wMSAxNDoyNTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2g6IGZpeCBkYXNoIHRlc3RzIGFmdGVyIGluZGV4IGZpeAoJICA4ZTc4OGYyODQ1MDg2MTI5ODJlOGUzODMzNmVlZDY3NmMyZWVjMzVhIGJyb2tlIG9uZSBvZiB0aGUKCSAgZGFzaCBtcGQgdGVzdHMuIFRoaXMgdXBkYXRlcyBhbmQgZml4ZXMgaXQuCgoyMDE2LTAyLTAxIDEyOjIzOjMyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnc3RnbHdpbmRvdzogaW5pdGlhbGl6ZSBuYXZpZ2F0aW9uX2xvb3AgdG8gTlVMTAoJICBVc2VmdWwgd2hlbiBnc3RfZ2xfd2luZG93LmM6OmdzdF9nbF93aW5kb3dfbmV3IGlzIG5vdCB1c2VkLgoJICBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdXNpbmcgYSBjdXN0b20gR3N0R0xXaW5kb3cuCgkgIChleDogR3N0R0xXaW5kb3dHUFVQcm9jZXNzIGZyb20gQ2hyb21pdW0pCgoyMDE2LTAyLTAxIDA5OjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2w6IGVhZ2w6IGZpeCBidWlsZAoJICBnc3RnbGNvbnRleHRfZWFnbC5tOjIzODo0NTogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIGNhbGwsCgkgIGV4cGVjdGVkIGF0IGxlYXN0IDQsIGhhdmUgMwoKMjAxNi0wMi0wMSAxNToxMzowMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZDogYWxsb3cgdmlkZW8veC1yYXcgYXMgaW5wdXQKCSAgLi4uYW5kIGp1c3QgcGFzc3Rocm91Z2guIFRoaXMgaXMgdXNlZnVsIGZvciBwaXBlbGluZXMgd2hlcmUgZG93bnN0cmVhbSBtdXN0IGJlCgkgIG5vbi1HTCBidXQgdXBzdHJlYW0gY2FuIG9wdGlvbmFsbHkgYmUgR0wuCgoyMDE2LTAyLTAxIDEyOjU3OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiB0cnkgZ2V0dGluZyBhIGdsZXMzIGNvbnRleHQKCSAgRmFsbGJhY2sgdG8gYSBnbGVzMiBjb250ZXh0IGlmIHRoYXQgZmFpbHMKCjIwMTYtMDEtMjEgMTY6MTA6NDggKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IGNoZWNrZXIgdmJvIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkyNQoKMjAxNi0wMS0yNCAxNTo0NzoxMiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLnFtbDoKCSAgdGVzdHM6IGZpeCB3YXJuaW5nIGluIHFtbCBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwODIKCjIwMTYtMDEtMjQgMTU6NDI6MzIgKzAxMDAgIEhvbGdlciBLYWVsYmVyZXIgPGhvbGdlci5rQGVsYmVyZXIuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkgIHF0OiBGaXggYnVpbGQgZm9yIGFuZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA4MgoKMjAxNi0wMi0wMSAwMTowMToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICBSZW1vdmUgZGVhZCBzbmFwc2hvdCBwbHVnaW4KCSAgV2FzIG5ldmVyIHBvcnRlZCBhbmQgZG9lc24ndCBsb29rIGxpa2UKCSAgd2Ugd2FudCBpdCBvciBuZWVkIGl0IGluIHRoaXMgZm9ybSwgY2FuCgkgIGRvIHRoZSBzYW1lIHdpdGggdGhlIGxpYmdzdHZpZGVvIHNhbXBsZQoJICBjb252ZXJzaW9uIHV0aWxpdHkgQVBJIG5vdywgYnV0IGJldHRlcgoJICBhbmQgaW4gYSBtb3JlIGZsZXhpYmxlIHdheS4KCjIwMTYtMDItMDEgMDA6NDk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogYnVtcCByZXF1aXJlbWVudCB0byAyLjM2LjIKCSAgV2hpY2ggYWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHRoZSBjb25maWd1cmUgY2hlY2sgYW5kCgkgIHNvbWUgc3BlY2lhbC1jYXNpbmcgaW4gdGhlIGNvZGUsIGFuZCBpcyBwbGVudHkgb2xkCgkgIGluIGFueSBjYXNlLgoKMjAxNi0wMi0wMSAwMDoyOTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJmYW1lL1JFQURNRToKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9saWJmYW1lLm00OgoJICBSZW1vdmUgZGVhZCBsaWJmYW1lIHBsdWdpbgoJICBXYXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIHRoZSBsaWIKCSAgaGFzIGJlZW4gdW5tYWludGFpbmVkIGZvciBldmVyIGFuZCBkb2Vzbid0CgkgIGV2ZW4gc2VlbSB0byBiZSBwYWNrYWdlZCBhbnkgbW9yZS4KCjIwMTYtMDEtMzEgMTk6MDk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvUkVBRE1FOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIFJlbW92ZSBkZWFkIGF1ZGlvZmlsZSBwbHVnaW4KCSAgVGhpcyB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMC4KCjIwMTYtMDEtMzEgMTk6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIG00L2dzZXR0aW5ncy5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZ3NldHRpbmdzIHBsdWdpbiB3aGljaCB3YXMgbmV2ZXIgcG9ydGVkCgkgIERvbid0IHRoaW5rIHdlIG5lZWQgdGhpcyBhbnkgbG9uZ2VyIG9yIHdhbnQgdG8KCSAgc3VwcG9ydCBpdCwgYW5kIGNsZWFybHkgbm8gb25lIGhhcyBiZWVuIG1pc3NpbmcKCSAgaXQgYWxsIHRoZXNlIHllYXJzIGVpdGhlciwgc28gbGV0J3MganVzdCBnZXQgcmlkCgkgIG9mIGl0LgoKMjAxNi0wMS0zMSAxNjowMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgc21vb3Roc3RyZWFtaW5nOiByZW1vdmUgdW51c2VkIGRlcGVuZGVuY3kgb24gdXJpZG93bmxvYWRlcgoKMjAxNi0wMS0zMSAxNDo0MjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBzaW1wbGlmeSBjb25maWd1cmUgY2hlY2sgYW5kIHJlcXVpcmUgZmFhZCA+PSAyLjcKCSAgSnVzdCBjaGVjayB3aGV0aGVyIExBVE0gaXMgZGVmaW5lZCB3aGljaCBpcyBvbmx5IGF2YWlsYWJsZQoJICBpbiAyLjcgYW5kIGxhdGVyLiBBbGxvd3MgdXMgdG8gc2ltcGxpZnkgdGhlIGNvbmZpZ3VyZSBjaGVjawoJICBhIGxpdHRsZSBhbmQgd2UgY2FuIGdldCByaWQgb2Ygc29tZSBoYWNraXNoIHdvcmthcm91bmRzIGZvcgoJICBwcm9ibGVtcyB3aXRoIGVhcmxpZXIgdmVyc2lvbiBoZWFkZXJzLgoKMjAxNi0wMS0zMCAxNzozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCB1bm5lY2Vzc2FyeSB1c2Ugb2YgX3N0ZGludC5oCgoyMDE2LTAxLTI5IDIzOjM5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogR2VuZXJhdGUgVVVJRHMgYWNjb3JkaW5nIHRvIFJGQzQxMjIgdmVyc2lvbiA0IChha2EgcmFuZG9tKQoJICBJbnN0ZWFkIG9mIGZ1bGx5IHJhbmRvbSBVVUlEcywgdGhlc2Ugc2hvdWxkIGZvbGxvdyBhIHNjaGVtZS4KCjIwMTYtMDEtMjkgMjE6MDk6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBQcm9wZXJseSB3cml0ZSB2aWRlbyBsaW5lIG1hcCBkYXRhIGFzIGFuIGFycmF5IG9mIDMyIGJpdCBpbnRlZ2VycwoKMjAxNi0wMS0yOSAyMDo1ODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IERNU2NoZW1lcyBpbiB0aGUgUHJlZmFjZSBpcyBhIHJlcXVpcmVkIGZpZWxkCgkgIEV2ZW4gaWYgaXQgaGFzIDAgZW50cmllcy4KCjIwMTYtMDEtMjkgMTg6NDE6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZnVsOiBGaXggQ29udGVudCBTdG9yYWdlIFVMCgoyMDE2LTAxLTI5IDE4OjI4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogQmVzdCBlZmZvcnQgdmFsdWVzIG11c3QgYmUgd3JpdHRlbiBhbmQgaWYgdW5zZXQgbXVzdCBjb250YWluIHRoZSBkaXN0aW5ndWlzaGVkIHZhbHVlCgkgIEl0J3MgaW52YWxpZCB0byBub3Qgd3JpdGUgdGhlbSBhdCBhbGwuCgoyMDE2LTAxLTI5IDE3OjM2OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGZ1bDogQWRkIG1pc3NpbmcgT3BlcmF0aW9uYWxQYXR0ZXJuIFVMLCB3aGljaCBmaXhlcyBhbiBvZmYtYnktb25lIHdpdGggdGhlIG90aGVycwoKMjAxNi0wMS0yOSAxNzowNzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogT3VyIGJvZHkgcGFydGl0aW9uIGlzIGFsd2F5cyBjb21wbGV0ZSBhbmQgY2xvc2VkCgkgIFdlIGhhdmUgbm8gbWV0YWRhdGEgaW4gaXQuCgoyMDE2LTAxLTI5IDE3OjAyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBVc2UgSW5kZXhTSUQgb2YgMiBpbnN0ZWFkIG9mIDEKCSAgU29tZSB0b29scyBjb21wbGFpbiBpZiBlc3NlbmNlIGFuZCBpbmRleCBoYXZlIHRoZSBzYW1lIFNJRC4KCjIwMTYtMDEtMjkgMTY6Mzg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJld3JpdGUgYm9keSBwYXJ0aXRpb24gcGFjayBvbiBFT1MgYW5kIG1hcmsgaXQgYXMgY29tcGxldGUvY2xvc2VkCgoyMDE2LTAxLTI5IDIzOjI4OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBndWFyZCBhZ2FpbnN0IG5vdCBmaW5kaW5nIGEgdmFsaWQgZnJhbWUgaW4gbG9vcAoJICBGaXhlcyBzcG9yYWRpYyBjcmFzaGVzIG9uIGZpbmlzaGluZyBkZWNvZGluZyBhIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAxLTI5IDE1OjI0OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBbWNPbkZyYW1lQXZhaWxhYmxlTGlzdGVuZXIuamF2YToKCSAgYW1jdmlkZW9kZWM6IHNldCBvdXIgZGF0YSBwb2ludGVyIGluIGphdmEgdG8gTlVMTCBvbiBjbG9zZQoJICBUaGUgZnJhbWUgYXZhaWxhYmxlIGNhbGxiYWNrIGNhbiBiZSBjYWxsZWQgYWZ0ZXIgZGVjb25maWd1cmluZyB0aGUgYW1jIGNvZGVjLgoJICBHdWFyZCBhZ2FpbnN0IHRoaXMgYnkgc2V0dGluZyB0aGUgYmFjayBwb2ludGVyIHRvIE5VTEwgb24gY2xvc2UoKSBhbmQgaWdub3JpbmcKCSAgYW55IE5VTEwgZGF0YSBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAxLTI5IDE1OjA3OjU5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvZ2xjb250ZXh0aGVscGVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJlZmFjdG9yIEdMIGNvbnRleHQgY29kZQoJICBSZXdvcmsgdGhlIEdMIGNvbnRleHQgY29kZS4gTm93IGJvdGggYXZmdmlkZW9zcmMgYW5kIHZ0ZGVjIGNhbiBjcmVhdGUgYW4KCSAgaW50ZXJuYWwgR0wgY29udGV4dCBmb3IgcHVzaGluZyB0ZXh0dXJlcy4gQm90aCBlbGVtZW50cyB3aWxsIHN0aWxsIHRyeSB0bwoJICB1c2Uvc3dpdGNoIHRvIGEgbG9jYWwgY29udGV4dCB3aGVyZSBhdmFpbGFibGUgKGluY2x1ZGluZyBhZnRlciBSRUNPTkZJR1VSRQoJICBldmVudHMpLgoKMjAxNi0wMS0yOSAxMDozNToxNSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbHByb3RvdHlwZXM6IGZpeCBwYXJhbWV0ZXIgdHlwZSBvZiBnbEdlbkJ1ZmZlcnMKCSAgVGhlIG51bWJlciBvZiBidWZmZXJzIHNob3VsZCBiZSBHTHNpemVpIGluc3RlYWQgb2YgR0x1aW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjcyCgoyMDE1LTEyLTA4IDE0OjA5OjU4ICswODAwICBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IGZpeCBnbGVmZmVjdHMgZmlzaGV5ZSBzaGFkZXIgY29tcGlsZSBlcnJvcgoJICBPbiBzb21lIGVtYmVkZGVkIHN5c3RlbXMsIHNxcnQoKSBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzaGFkZXIsCgkgIHVzZSB0aGUgYWN0dWFsIHZhbHVlIG9mIHNxcnQoMikgaW5zdGVhZC4KCSAgU2lnbmVkLW9mZi1ieTogSGFpaHVhIEh1IDxiNTU1OTdAZnJlZXNjYWxlLmNvbT4KCSAgQnVnemlsbGE6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNzEKCjIwMTYtMDEtMjkgMTQ6MDM6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBwYXIgbWF5IG5vdCBleGlzdCBpbiB0aGUgY2FwcwoJICBGaXhlcyBhIGNyaXRpY2FsIGluIHRoZSBnc3QtdmFsaWRhdGUgdGVzdHM6CgkgIGdzdF9zdHJ1Y3R1cmVfZml4YXRlX2ZpZWxkX25lYXJlc3RfZnJhY3Rpb246IGFzc2VydGlvbiAnZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQKCSAgKHN0cnVjdHVyZSwgZmllbGRfbmFtZSkKCjIwMTYtMDEtMjkgMTI6NDU6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYmFjayBvdXQgdW5pbnRlbmRlZCBsb3N0X2NvbnRleHQgY2hhbmdlcwoKMjAxNi0wMS0yOCAxNjozOTowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDoKCSAgZWdsOiBpbXBsZW1lbnQgc2VsZWN0aW5nIG9wZW5nbDMgY29udGV4dHMKCjIwMTYtMDEtMjggMTQ6MzE6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJICBnbC9lZ2w6IHBhc3MgdGhlIGVycm9yIHZhbHVlIHRvIGdldF9lcnJvcl9zdHJpbmcoKQoKMjAxNi0wMS0yOCAxODoyMDo0NCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IGluaXRpYWxpemUgdXBkYXRlX3NpemUgdG8gRkFMU0Ugd2hlbiB1cGRhdGluZyBpbmZvCgkgIE90aGVyd2lzZSwgYmVoYXZpb3Igd2lsbCBiZSB1bmRlZmluZWQgd2hlbiBubyBzdHJpZGVzL29mZnNldHMgYXJlIHNldAoJICBhbmQgaXQgd2lsbCBsaWtlbHkgZ28gd3JvbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTE6NTY6MzYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IEZpeCBmcmFtZXNpemUgY2FsY3VsYXRpb24KCSAgV2hlbiB0aGUgZnJhbWVzaXplIGlzIG5vdCBzcGVjaWZpZWQsIHdlIHRyeSBhbmQgY2FsY3VsYXRlIGEgc2l6ZSBmcm9tCgkgIHRoZSBzdHJpZGVzIGFuZCBvZmZzZXQgaW5mb3JtYXRpb24uIFRoaXMgd2FzIGRvbmUgd2l0aCB0aGUgc3VtIG9mCgkgIG9mZnNldHMgKyB0aGUgc2l6ZSBvZiB0aGUgbGFzdCBmcmFtZS4gVGhhdCBpcyBqdXN0IHdyb25nIG1ldGhvZC4gV2UgYWxzbwoJICBuZWVkIHRvIGFjY291bnQgZm9yIHZpZGVvIG1ldGEgdGhhdCBtYXkgYmUgZmxpcHBpbmcgdHdvIHBsYW5lcy4gQW4KCSAgZXhhbXBsZSBpcyBpZiB5b3UgY29udmVydCBJNDIwIHRvIFlWMTIgYnkgZmxpcHBpbmcgdGhlIHR3byBsYXN0IG9mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTk6MzY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgZ2RwZGVwYXk6IEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gYWRqdXN0IGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDE2LTAxLTI5IDA0OjUwOjQyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBwa2ctY29uZmlnOiBEb24ndCBnZW5lcmF0ZSBhbmQgaW5zdGFsbCBwa2ctY29uZmlnIHdpdGggcmVsYXRpdmUgcGF0aHMKCSAgRG9uJ3QgcHV0IHJlbGF0aXZlIHBhdGhzIGluIHBrZy1jb25maWcgZmlsZXMsIGluY2x1ZGluZyB1bmluc3RhbGxlZAoJICBvbmVzLiBGb3IgdGhvc2UsIHVzZSBAYWJzX3RvcGJ1aWxkZGlyQCBhbmQgQGFic190b3BzcmNkaXJAIGFzIHdlCgkgIGRvIGVsc2V3aGVyZS4KCSAgUmVtb3ZlIGxpYnJhcmllcz0gZGlyZWN0aXZlcywgd2hpY2ggZG9lc24ndCBzZWVtIHRvIGJlIGEgcGtnLWNvbmZpZwoJICB2YXJpYWJsZSB0aGF0IGFjdHVhbGx5IGV4aXN0cywgYnV0IGhhcyBiZWVuIGluIGFsbCBvdXIgcGtnLWNvbmZpZwoJICBmaWxlcyBmb3IgYXMgbG9uZyBhcyB0aGV5J3ZlIGV4aXN0ZWQuCgoyMDE2LTAxLTI4IDE2OjQ5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFdyaXRlIHRoZSBjb3JyZWN0IGVzc2VuY2UgY29udGFpbmVyIFVMIGZvciBhbGwgY29kZWNzCgoyMDE2LTAxLTI4IDE2OjQxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFdyaXRlIHZlcnNpb24gbnVtYmVyIGludG8gdGhlIHBpY3R1cmUgZXNzZW5jZSBjb2RpbmcgVUwKCjIwMTYtMDEtMjggMTY6MzI6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFdyaXRlIGEgdGltZWNvZGUgdHJhY2sgaW50byB0aGUgc291cmNlIHBhY2thZ2UgdG9vCgoyMDE2LTAxLTExIDE1OjQ3OjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogdXNlIGRlY2lkZV9hbGxvY2F0aW9uIHRvIGNoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdmlkZW9tZXRhCgkgIElmIHllcywgd2UgYWRkIHRoZW0gdG8gZWFjaCBvdXRwdXQgYnVmZmVycyBhbmQgd2UgYXZvaWQgZnJhbWUgY29weS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0xMSAxNTo0NjoxNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IGFkZCAnZGVjaWRlX2FsbG9jYXRpb24nIHZmdW5jIHRvIGxldCBzdWJjbGFzcyBwYXJzZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5CgkgIEFuZCBzbyBzZW5kIGFuIGFsbG9jYXRpb24gcXVlcnkuIFRoaXMgY291bGQgYmUgdXNlZCB0byBjaGVjayB3aGV0aGVyCgkgIGRvd25zdHJlYW0gZWxlbWVudCBzdXBwb3J0cyBzb21lIG1ldGFzIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wOCAxNzoxNzowMSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogdXNlIHNpemUgb2YgYnVmZmVyIHdlIGdvdCBmcm9tIGFkYXB0ZXIKCSAgT3RoZXJ3aXNlIHBvc2l0aW9uIGluIHN0cmVhbSBjb3VsZCBiZSB3cm9uZyBpZiBzdWJjbGFzcyAncHJlX3B1c2hfZnJhbWUnCgkgIG1ldGhvZCBjaGFuZ2VzIHRoZSBidWZmZXIgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wNyAxNDoyNzoyNyArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IGFkZCBwcm9wZXJ0aWVzIHRvIHNldCBmcmFtZXNpemUsIHN0cmlkZXMgYW5kIHBsYW5lcyBvZmZzZXRzCgkgIFRvIG1ha2UgcGFyc2VyIHdvcmsgd2l0aCBpbWFnZSBoYXZpbmcgbm9uLXN0YW5kYXJkIHN0cmlkZXMsIHBsYW5lCgkgIG9mZnNldHMgb3Igd2l0aCBwYWRkaW5nIGJldHdlZW4gaW1hZ2VzLgoJICBGb3Igbm93LCBzaW5jZSBlbGVtZW50IGRvZXNuJ3QgY2hlY2sgZm9yIHZpZGVvbWV0YSwgd2UgY2FuJ3QgZGlyZWN0bHkKCSAgcHVzaCBidWZmZXJzIHdoZW4gdGhlc2UgcHJvcGVydGllcyBhcmUgc2V0IHNvIGl0IGNvbnZlcnQgdGhlIGZyYW1lCgkgIGluIHRoZSBwcmVfcHVzaF9idWZmZXIgbWV0aG9kIHRvIHJlbW92ZSBhbnkgY3VzdG9tIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMDggMTU6MjE6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiByZW5hbWUgJ3NldF9idWZmZXJfZmxhZ3MnIHZmdW5jIHRvICdwcmVfcHVzaF9idWZmZXInCgkgIHRvIGFsbG93IHN1YmNsYXNzIHRvIGNoYW5nZSBvdGhlciBmaWVsZHMgb2YgdGhlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wNyAxNDoxODowOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IGNhY2hlIHZpZGVvIGluZm8gaW4gaW5zdGFuY2UKCSAgVG8gYXZvaWQgaW5pdGlhbGl6aW5nIGFuZCBmaWxsaW5nIHZpZGVvIGluZm8gZWFjaCB0aW1lIHdlIG5lZWQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTU6Mzg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBteGZtdXg6IFdyaXRlIFRoaXMgR2VuZXJhdGlvbiBVSUQgaW50byB0aGUgSWRlbnRpZmljYXRpb24gbWV0YWRhdGEKCSAgSXQncyByZXF1aXJlZCBhY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJkIGFuZCB3ZSBmb3Jnb3QgdG8gYWN0dWFsbHkgd3JpdGUgaXQgdG8KCSAgdGhlIGZpbGUgYWx0aG91Z2ggd2Ugc3RvcmVkIGl0IGluIHRoZSBkYXRhIHN0cnVjdHVyZXMuCgoyMDE2LTAxLTI4IDE1OjI5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogQWRkIHdvcmthcm91bmQgZm9yIGZmbXBlZyBvbmx5IHdyaXRpbmcgb25lIFZpZGVvIExpbmUgTWFwIHZhbHVlCgkgIGh0dHBzOi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMTYtSmFudWFyeS8xODgyMDIuaHRtbAoKMjAxNS0xMC0xNCAyMToxMzo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBkbyBjYXBzIHByb2Nlc3NpbmcgdGhhdCBpcyBub3Qgb3ZlcnJpZGFibGUKCSAgQWxsb3dzIHRoZSBzdWJjbGFzcyB0byBjb21wbGV0ZWx5IG92ZXJyaWRlIHRoZSBjaG9zZW4gc3JjIGNhcHMuCgkgIFRoaXMgaXMgbmVlZGVkIGFzIHZpZGVvYWdncmVnYXRvciBnZW5lcmFsbHkgaGFzIG5vIGlkZWEgZXhhY3RseQoJICB3aGF0IG9wZXJhdGlvbiBpcyBiZWluZyBwZXJmb3JtZWQuCgkgIC0gQWRkcyBhIGZpeGF0ZV9jYXBzIHZmdW5jIGZvciBmaXhhdGlvbgoJICAtIE1lcmdlcyBnc3RfdmlkZW9fYWdncmVnYXRvcl91cGRhdGVfY29udmVydGVycygpIGludG8KCSAgZ3N0X3ZpZGVvYWdncmVnYXRvcl91cGRhdGVfc3JjX2NhcHMoKSBhcyB3ZSBuZWVkIHNvbWUgb2YgaXRzIGluZm8KCSAgZm9yIHByb3BlciBjYXBzIGhhbmRsaW5nLgoJICAtIFBhc3MgdGhlIGRvd25zdHJlYW0gY2FwcyB0byB0aGUgdXBkYXRlX2NhcHMgdmZ1bmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIwNwoKMjAxNi0wMS0yNyAyMDoyMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkgIGdsY29sb3JiYWxhbmNlOiByZXR1cm4gSEFSRFdBUkUgZnJvbSBnZXRfYmFsYW5jZV90eXBlCgoyMDE2LTAxLTI3IDIwOjA0OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uaDoKCSAgZ2xzaW5rYmluOiBhZGQgZ2xjb2xvcmJhbGFuY2UgZWxlbWVudAoJICBUaGlzIG1ha2VzIHBsYXliaW4gbm90IHBsdWcgdmlkZW9iYWxhbmNlIGFzIGdsY29sb3JiYWxhbmNlIGFscmVhZHkgZXhpc3RzIGFuZAoJICBpbXBsZW1lbnRzIHRoZSBHc3RDb2xvckJhbGFuY2UgaW50ZXJmYWNlLgoKMjAxNi0wMS0yNyAxOTo1NjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250cm9sYmluZGluZ3Byb3h5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuaDoKCSAgZ2w6IG1vdmUgY29udHJvbCBiaW5kaW5nIHByb3h5IGltcGxlbWVudGF0aW9uIGZyb20gZ2x2aWRlb21peGVyCgkgIE90aGVyIGVsZW1lbnRzIG1heSBuZWVkIHRvIHVzZSBpdCdzIGZ1bmN0aW9uYWxpdHkKCjIwMTYtMDEtMjcgMTg6MTc6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJICBnbGNvbG9yYmFsYW5jZTogY3JlYXRlIHRoZSBzaGFkZXIgaWYgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgcmVuZGVyIGNhbGxiYWNrCgkgIENoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIG1heSByZXN1bHQgaW4gZ2xjb2xvcmJhbGFuY2UgbW92aW5nIGZyb20gcGFzc3Rocm91Z2ggdG8KCSAgbm9uLXBhc3N0aHJvdWdoIGFuZCB3ZSB3ZXJlbid0IGNyZWF0aW5nIHRoZSBzaGFkZXIgaW4gdGhhdCBjYXNlLgoKMjAxNi0wMS0yNSAxNjoyOTo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgcXQ6IHNwZWNpZnkgdGhhdCB3ZSBjdXJyZW50bHkgb25seSB0YWtlIDJEIHRleHR1cmVzCgkgIEZpeGVzIGJsYWNrIHNjcmVlbiB2aWRlbyBwbGF5YmFjayBvbiBhbmRyb2lkIHdpdGhvdXQgYSBjYXBzIGZpbHRlci4KCjIwMTYtMDEtMjUgMTk6MTE6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSAgZ2x2aWRlb2ZsaXA6IGluY29ycG9yYXRlIHRoZSBhc3BlY3QgcmF0aW8gaW50byB0aGUgc2NhbGVfeCBjYWxjdWxhdGlvbnMKCSAgMS4gT3RoZXJ3aXNlIHJvdGF0aW5nIHRoZSB2aWRlbyB3aWxsIGNsaXAgYW5kIHNob3cgYmxhY2sgYmFycyBkdWUgdG8KCSAgZ2x0cmFuc2Zvcm1hdGlvbidzIGltcGxlbWVudGF0aW9uLgoJICAyLiBUaGUgb3RoZXIgb3B0aW9uIG9mIG1ha2UgZ2x0cmFuc2Zvcm1hdGlvbiBhc3BlY3QtYWdub3N0aWMgcHJvZHVjZXMKCSAgaW5jb3JyZWN0IG91dHB1dCB3aXRoIHBlcnNwZWN0aXZlIHRyYW5zZm9ybWF0aW9ucy4KCjIwMTYtMDEtMjcgMTQ6MzY6MzYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGFjdHVhbGx5IHNldCB0aGUgY29uZmlndXJlZCBmcmFtZXJhdGUKCSAgQWN0dWFsbHkgc2V0IHRoZSBjb25maWd1cmVkIGZyYW1lcmF0ZS4gQmVmb3JlIHdlIG9ubHkgdXNlZCB0byBzZXQgdGhlIGZpcnN0CgkgIG1hdGNoaW5nIGZyYW1lcmF0ZSByYW5nZS4gT24gaU9TIHdoZXJlIHRoZSBjYW1lcmEgcmVwb3J0cyByYW5nZXMgWzIsIDYwXSwgd2UKCSAgdXNlZCB0byBjb25maWd1cmUgdGhlIGNhbWVyYSB0byBvdXRwdXQgYW55dGhpbmcgYmV0d2VlbiAyIGFuZCA2MGZwcy4KCjIwMTYtMDEtMjUgMjI6MzA6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkgIG9wZW5jdjogYWRkIG1hc2sgcHJvcGVydHkgdG8gY3ZsYXBsYWNlCgkgIEFkZCBhICJtYXNrIiBwcm9wZXJ0eSB0aGF0IHNldHMgd2hldGhlciB0aGUgZWRnZXMgYnkgY3ZMYXBsYWNlIHNob3VsZCBiZQoJICB1c2VkIGFzIGEgbWFzayBvbiB0aGUgb3JpZ2luYWwgaW5wdXQgb3Igbm90LiBUaGUgc2FtZSB3YXkgdGhlIG9yaWdpbmFsCgkgIGltYWdlIGlzIGNvcGllZCB0byB0aGUgZWRnZXMgaW4gZWRnZWRldGVjdC4KCjIwMTYtMDEtMjUgMjE6NDI6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSAgb3BlbmN2OiBhZGQgbWFzayBwcm9wZXJ0eSB0byBjdnNvYmVsCgkgIEFkZCBhICJtYXNrIiBwcm9wZXJ0eSB0aGF0IHNldHMgd2hldGhlciB0aGUgZGV0ZWN0ZWQgZGVyaXZhdGl2ZSBlZGdlcwoJICBzaG91bGQgYmUgdXNlZCBhcyBhIG1hc2sgb24gdGhlIG9yaWdpbmFsIGlucHV0IG9yIG5vdC4gVGhlIHNhbWUgd2F5CgkgIHRoZSBvcmlnaW5hbCBpbWFnZSBpcyBhZGRlZCB0byB0aGUgZWRnZXMgaW4gZWRnZWRldGVjdC4KCjIwMTYtMDEtMjUgMTU6MTk6MzcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJICBvcGVuY3Y6IHVwZGF0ZSBkZXByZWNhdGVkIGZ1bmN0aW9uIGluIHNraW5kZXRlY3QKCSAgY3ZDdnRQaXhUb1BsYW5lKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBPcGVuQ1YgMy4wLCBhbmQgY3ZTcGxpdCgpIGlzIHRoZQoJICBzdWdnZXN0ZWQgcmVwbGFjZW1lbnQuIFNpbmNlIGN2U3BsaXQoKSBpcyBhdmFpbGFibGUgaW4gT3BlbkNWIDIuNCwgaXQgaXMKCSAgc2FmZSBhbmQgY2F1dGlvdXMgdG8gdXBkYXRlIHRoZSBmdW5jdGlvbiB1c2FnZSBiZWZvcmUgaXQgYmVjb21lcyBhbiBpc3N1ZS4KCjIwMTYtMDEtMjUgMTE6NDM6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkgIG9wZW5jdjogZml4IGN2bGFwbGFjZQoJICBjdmxhcGxhY2Ugd2FzIGFsc28gYWZmZWN0ZWQgYnkgdGhlIHNpbGVudCBjaGFuZ2UgaW4gT3BlbkNWIEFQSSwgc2FtZSBhcwoJICBjdnNvYmVsLiBJdCBoYXNuJ3QgYmVlbiB3b3JraW5nIGZvciBhIHdoaWxlLiBJdCB3b3VsZCByZXR1cm4gYSBwbGFpbiBibGFjawoJICBpbWFnZS4gVGhpcyBjb21taXQgdXBkYXRlcyB0aGUgdXNhZ2Ugb2YgY3ZMYXBsYWNlIGJ5IHVzaW5nIGN2Q3Z0Q29sb3IgdG8KCSAgY3JlYXRlIHRoZSBncmF5c2NhbGUgaW50ZXJtZWRpYXRlIGltYWdlIHRvIHByb2Nlc3MuIFRoaXMgYWxzbyBtZWFucyB0aGVyZQoJICBpcyBubyBuZWVkIGFueW1vcmUgdG8gdXNlIEdzdEJhc2VUcmFuc2Zvcm0ncyB0cmFuc2Zvcm1fY2Fwcywgc2luY2UgdGhlIHBhZHMKCSAgYXJlIFJHQi4KCjIwMTYtMDEtMjUgMTM6MzM6MDkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBidWZmZXIgbGVhayB3aGVuIHNwcyBpcyBub3QgcHJlc2VudAoJICBXaGVuIHNwcyBkYXRhIGlzIE5VTEwsIHRoZSBidWZmZXIgYWxsb2NhdGVkIGFuZCBtYXBwZWQgaXMgbm90IGJlaW5nIGZyZWVkLgoJICBJbiB0aGlzIHNjZW5hcmlvIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb2NhdGUgdGhlIGJ1ZmZlciBhcyB3ZSBhcmUgc3VwcG9zZWQgdG8gcmV0dXJuIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNzAKCjIwMTYtMDEtMjUgMTI6MDU6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIFdoaWxlIHNldHRpbmcgY2FwcywgY29kZWNfZGF0YSBidWZmZXIgaXMgbWFwcGVkLCBidXQgbm90IGJlaW5nIHVubWFwcGVkCgkgIGxlYWRpbmcgdG8gbWVtb3J5IGxlYWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDcwCgoyMDE2LTAxLTIzIDE3OjEwOjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkgIG9wZW5jdjogZml4IGN2c29iZWwKCSAgY3Zzb2JlbCBoYW4ndCBiZWVuIHdvcmtpbmcgZm9yIGEgd2hpbGUgZHVlIHRvIGEgc2lsZW50IGNoYW5nZSBpbiBPcGVuQ1YKCSAgQVBJLiBJdCB3b3VsZCByZXR1cm4gYSBwbGFpbiBibGFjayBpbWFnZS4gVGhpcyBjb21taXQgdXBkYXRlcyB0aGUgdXNhZ2UKCSAgb2YgY3ZTb2JlbCBieSB1c2luZyBjdkN2dENvbG9yIHRvIGNyZWF0ZSB0aGUgZ3JheXNjYWxlIGltYWdlIHRvIHByb2Nlc3MuCgkgIFRoaXMgYWxzbyBtZWFucyB0aGVyZSBpcyBubyBuZWVkIHRvIHVzZSBHc3RCYXNlVHJhbnNmb3JtJ3MgdHJhbnNmb3JtX2NhcHMKCSAgYW55bW9yZSwgc2luY2UgdGhlIHBhZHMgY2FuIGJlIFJHQi4KCjIwMTYtMDEtMjMgMDU6MzA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIHBrZy1jb25maWc6IFByb3Blcmx5IHZlcnNpb24gYW5kIGluc3RhbGwgYmFzZS9hdWRpby92aWRlbyAucGMgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDczMyNjMTcKCjIwMTYtMDEtMjIgMTY6NDM6MDMgKzAwMDAgIEFsZXggQXNobGV5IDxhbGV4LmFzaGxleUB5b3V2aWV3LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGxlYWsgb2Ygc3RyZWFtLT5pbnRlcm5hbF9wYWQKCSAgVGhlIGZ1bmN0aW9uIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fdXBkYXRlX3NvdXJjZSgpIGZ1bmN0aW9uIGNyZWF0ZXMKCSAgYSBuZXcgR3N0UGFkIGNhbGxlZCBpbnRlcm5hbF9wYWQuIFRoaXMgcGFkIGlzIG5vdCBmcmVlZCB3aGVuIHJlbGVhc2luZwoJICB0aGUgc3RyZWFtLgoJICBUaGUgc29sdXRpb24gaXMgdG8gc2V0IEdTVF9QQURfRkxBR19ORUVEX1BBUkVOVCBzbyB0aGF0IHRoZSBjaGFpbgoJICBmdW5jdGlvbnMgZG8gbm90IGdldCBjYWxsZWQgd2hlbiB0aGUgcGFkIGhhcyBubyBwYXJlbnQgYW5kIHRoZW4KCSAgcmVtb3ZlIHRoZSBwYXJlbnQgaW4gdGhlIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJlZSgpIGZ1bmN0aW9uLiBUaGlzCgkgIGNhdXNlcyB0aGUgcmVmY291bnQgb2YgdGhlIHBhZCB0byBiZSBzZXQgdG8gemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk4MgoKMjAxNi0wMS0yMSAyMjowMDo0NCArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IFVzZSBSZXByZXNlbnRhdGlvbkluZGV4IGluc3RlYWQgb2YgSW5pdGlhbGl6YXRpb24gdG8gZ2V0IHRoZSBVUkwgb2YgdGhlIFJlcHJlc2VudGF0aW9uSW5kZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkzNgoKMjAxNi0wMS0yMiAxNzoyNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogRmFpbCBncmFjZWZ1bGx5IGlmIG91ciBjYWxsYmFjayBjbGFzcyBjYW4ndCBiZSBmb3VuZAoJICBJbnN0ZWFkIG9mIGp1c3QgaWdub3JpbmcgdGhhdCBlcnJvciBhbmQgdGhlbiBjYWxsaW5nIEpOSSBmdW5jdGlvbnMgd2l0aCBOVUxMLAoJICB3aGljaCB3aWxsIGtpbGwgdGhlIHZpcnR1YWwgbWFjaGluZS4KCSAgVGhlIGVycm9yIGhhbmRsaW5nIGhlcmUgbmVlZHMgc29tZSBmdXJ0aGVyIGltcHJvdmVtZW50cyB0aG91Z2gsIGVycm9ycyBpbiBtb3JlCgkgIHBsYWNlcyBhcmUganVzdCBpZ25vcmVkLgoKMjAxNi0wMS0yMiAxNzoyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogSW5pdGlhbGl6ZSBHRXJyb3IgcG9pbnRlciB3aXRoIE5VTEwKCSAgT3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgYXNzZXJ0aW9ucy4KCjIwMTYtMDEtMjIgMTc6MTg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBPbmx5IGZyZWUgR3N0QW1jQnVmZmVyIGlmIGl0J3Mgbm90IE5VTEwKCSAgQW5kIGFsc28gZnJlZSBpdCBvbiBHTCBlcnJvcnMuCgoyMDE2LTAxLTEzIDIyOjA1OjQ5ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AY3RvbmRlbWFuZC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBpbXBsZW1lbnQgUkdCIGNhcHR1cmUgc3VwcG9ydAoJICBDb21iaW5lIG1vZGUgYW5kIGZvcm1hdCB0byBnZW5lcmF0ZSBjYXBzIGFuZCBzdXBwb3J0IHRoZSBmbGFncyBmcm9tIFZpZGVvQ2hhbmdlZCBjYWxsYmFjayB0byBzdXBwb3J0IFJHQiBjYXB0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTk0CgoyMDE2LTAxLTIyIDE2OjIyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW1jOiBBZGQgYW4gYXNzZXJ0aW9uIGZvciBOVUxMIEdFcnJvcnMKCSAgU2hvdWxkIG5ldmVyIGhhcHBlbiEgQnV0IGFuIGFzc2VydGlvbiBpcyBiZXR0ZXIgdGhhbiBhIE5VTEwgcG9pbnRlcgoJICBkZXJlZmVyZW5jZS4KCjIwMTYtMDEtMjIgMTY6MTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogRml4IGluZGVudGF0aW9uCgoyMDE2LTAxLTIyIDE2OjEzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jOiBNZWRpYUNvZGVjOjpnZXRPdXRwdXRCdWZmZXIoKSBjYW4gcmV0dXJuIE5VTEwgd2l0aG91dCBleGNlcHRpb24KCSAgSGFwcGVucyB3aGVuIGRvaW5nIHplcm9jb3B5IHJlbmRlcmluZywgb3Igd2hlbiBwYXNzaW5nIGEgd3JvbmcgaW5kZXggdG8gaXQuCgkgIEhhbmRsZSB0aGlzIHByb3Blcmx5IGZvciB6ZXJvY29weSByZW5kZXJpbmcsIGZhaWwgcHJvcGVybHkgZm9yIHRoZSBvdGhlcgoJICBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk2MQoKMjAxNi0wMS0xNiAxODo1OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBiYXNlL2F1ZGlvL3ZpZGVvOiBJbnN0YWxsIGhlYWRlcnMgYW5kIHBrZy1jb25maWcgZmlsZXMKCSAgVGhleSBhcmUgc3RpbGwgY29uc2lkZXJlZCB1bnN0YWJsZSBBUEkgYnV0IGl0IHdvdWxkIGJlIGdvb2QgdG8gZ2l2ZSB0aGVtIHNvbWUKCSAgd2lkZXIgdGVzdGluZyBhbHJlYWR5IHRvIG1ha2Ugc3VyZSB0aGUgQVBJIGlzIHVzZWZ1bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDczMwoKMjAxNi0wMS0xNiAxODo1NjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8ucGMuaW46CgkgIGF1ZGlvOiBNb3ZlIGF1ZGlvYWdncmVnYXRvciBiYXNlIGNsYXNzIHRvIGEgbGlicmFyeQoJICBJdCdzIHVzZWZ1bCBlbm91Z2ggYWxyZWFkeSB0byBiZSB1c2VkIGluIG90aGVyIGVsZW1lbnRzIGZvciBhdWRpbyBhZ2dyZWdhdGlvbiwKCSAgbGV0J3MgZ2l2ZSBwZW9wbGUgdGhlIG9wcG9ydHVuaXR5IHRvIHVzZSBpdCBhbmQgZ2l2ZSBpdCBzb21lIEFQSSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzCgoyMDE2LTAxLTIxIDIzOjEzOjM2ICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgZ2x3aW5kb3c6IEZpeCBhbmRyb2lkIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5NzIKCjIwMTYtMDEtMjIgMTM6NTE6NDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdGV4dHVyZSBjYWNoZTogY29weSB0aGUgaW5wdXQgbWV0YXMKCSAgQ29weSB0aGUgaW5wdXQgbWV0YXMgc28gYXZmdmlkZW9zcmMgYW5kIHZ0ZW5jIGNhbiBmYXN0IHBhdGggdG8gdXNpbmcKCSAgQ1ZQaXhlbEJ1ZmZlcihzKSBldmVuIHdoZW4gdXNpbmcgR0xNZW1vcnkuCgoyMDE2LTAxLTIxIDEzOjUwOjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJICBNZXJnZSBicmFuY2ggJ2FuZHJvaWQtaGFyZHdhcmUtY2FtZXJhJwoJICBUaGlzIGJyYW5jaCBhZGRzIHN1cHBvcnQgZm9yIEFuZHJvaWQgSGFyZHdhcmUgQ2FtZXJhIEFQSSB0aHJvdWdoIGEgbmV3CgkgIGVsZW1lbnQgY2FsbGVkIGFoY3NyYy4gVGhpcyBpcyB0aGUgIm9sZCIgQW5kcm9pZCBDYW1lcmEgQVBJLCB0aGVuIG9ubHkKCSAgQVBJIGF2YWlsYWJsZSBvbiBBbmRyb2lkIDQuWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWYuY2dpP2lkPTczNzc4NgoKMjAxNi0wMS0wOCAxNjoxNjowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBGaXggbGF0ZW5jeSByZXBvcnRpbmcKCSAgQ3VycmVudGx5IGl0IHdhcyB3cm9uZ2x5IHJlcG9ydGluZyBtaW4vbWF4IGFzIGJlaW5nIHRoZSBzaG9ydGVzdCBhbmQKCSAgbG9uZ2VzdCBwb3NzaWJsZSBmcmFtZSBkdXJhdGlvbi4gVGhpcyBpcyBub3QgaG93IGxhdGVuY3kgd29ya3MgaW4KCSAgR1N0cmVhbWVyLgoJICBGaXggYnkgcmVwb3J0aW5nIG1pbiBsYXRlbmN5IGFzIGJlaW5nIHRoZSBsb25nZXN0IHBvc3NpYmxlIGR1cmF0aW9uIG9mCgkgIG9uZSBmcmFtZS4gQXMgd2UgZG9uJ3Qga25vdyBob3cgbWFueSBidWZmZXJzIHRoZSBzdGFjayBjYW4gYWNjdW11bGF0ZSwgd2UKCSAgc2ltcGx5IGFzc3VtZSB0aGF0IG1heCBsYXRlbmN5IGlzIHRoZSBzYW1lICh0aGUgdXN1YWwgZGVmYXVsdCBiZWhhdmlvdXIpLgoKMjAxNS0xMi0wNyAxNDozMTo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogZml4IGRlYWRsb2NrIHdoZW4gZmx1c2hpbmcKCSAgX2RhdGFfcXVldWVfaXRlbV9mcmVlKCkgY2FsbHMgZ3N0X2J1ZmZlcl91bnJlZigpLCB3aGljaAoJICBjYWxscyBnc3RfYWhjX3NyY19idWZmZXJfZnJlZV9mdW5jKCksIHdoaWNoIGNhbGxzCgkgIGdfbXV0ZXhfbG9jaygpIG9uIHNlbGYtPm11dGV4IGFuZCB0aGVyZSB5b3UgZ28uLi4gZGVhZGxvY2shCgoyMDE1LTEyLTI0IDEyOjUxOjEzICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJICBhaGNzcmM6IHBvcnRpbmcgZnJvbSAwLjEwIHRvIDEuMAoKMjAxNS0xMi0yNCAxMjoxNDoyNCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLnBjLmluOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY2NhbGxiYWNrLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmg6CgkgIG1vdmUgYW5kcm9pZGNhbWVyYSBpbnRvIGFuZHJvaWRtZWRpYQoJICBUaGlzIGNvbW1pdCBpcyBhIHBhcnQgb2YgcG9ydG5nIGFuZHJvaWQgaGFyZHdhcmUgY2FtZXJhIGZyb20gMC4xMCBpbXBsZW1lbnRhdGlvbi4KCSAgVG8gcHJlc2VydmUgaGlzdG9yeSBhbmQgZ2V0IGRpZmYgY2xlYXJseSwgdGhlIGludGVyZXN0aW5nIGZpbGVzIGFyZSBtb3ZlZCB0bwoJICBkZXBsb3ltZW50IGRpcmVjdG9yeSBhbmQgdGhlIHJlbWFpbmluZyBmaWxlcyBhcmUgcmVtb3ZlZC4KCjIwMTMtMDEtMDcgMTg6Mjc6NDAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBTZXBhcmF0ZSByZWxlYXNlIGFuZCBmcmVlIEFQSXMKCjIwMTMtMDEtMDcgMTg6MjA6NDcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGdldF9sZXZlbCBhbmQgZ2V0X3Byb2ZpbGUgZXhjZXB0aW9uIGNoZWNraW5nIGJ5IG5vdCB1c2luZyByZXR1cm4KCjIwMTMtMDEtMDcgMTg6MTk6MjggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgZXh0ZXJuIGdpbnQgZGVjbGFyYXRpb25zCgoyMDEzLTAxLTA3IDE4OjE4OjE4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSAgZ3N0ZHZtOiBGaXggR1NUX0RWTV9HRVRfU1RBVElDX0ZJRUxECgoyMDEyLTExLTI5IDIwOjEwOjE5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNtYWxsIHJlZmFjdG9yIGluIGNhc2Ugb3BlbiBkb2Vzbid0IHRocm93IGFuIGV4Y2VwdGlvbiBidXQgcmV0dXJucyBudWxsCgoyMDEyLTEyLTEzIDE3OjU3OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0xMyAxNzo1NjowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJICBkdm06IFJlbmFtZSBnc3QtZHZtLltjaF0gdG8gZ3N0ZHZtLltjaF0gZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgR1N0cmVhbWVyIGNvZGUKCjIwMTItMTItMTMgMTc6NDA6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5oOgoJICBkdm06IEFkZCBuZXcgZnVuY3Rpb24gdG8gY2hlY2sgaWYgd2Ugc3RhcnRlZCBhIFZNIG9yIG9ubHkgdXNlZCBhbiBleGlzdGluZyBvbmUKCjIwMTItMTItMTMgMTc6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IE1ha2UgZXZlcnl0aGluZyBjb21waWxlIHdpdGggdGhlIG5ldyB3cmFwcGVycwoKMjAxMi0xMi0xMyAxMjoxMzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0Lmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHJlbWFpbmluZyBiaXRzIG9mIHRoZSBKYXZhIHdyYXBwZXJzIHVzaW5nIGxpYmdzdGR2bQoKMjAxMi0xMi0xMyAxMjoxMzoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSAgZHZtOiBBZGQgc29tZSBtb3JlIGhlbHBlciBtYWNyb3MKCjIwMTItMTItMTIgMTg6MTA6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1vdmUgZ19yZXR1cm5faWZfZmFpbHMoKQoJICBUaGlzIGlzIG5vdCBwdWJsaWMgQVBJIHNvIGl0IGhhcyBubyBhZHZhbnRhZ2UgdG8gaGF2ZSB0aGVtIGhlcmUuCgoyMDEyLTExLTI4IDIwOjUzOjUxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSAgYW5kcm9pZG1lZGlhOiBVc2UgZ3N0LWR2bSBhbmQgcmVmYWN0b3IgamF2YSB3cmFwcGVycyAoV0lQKQoJICBNb3ZlZCB0aGUgamF2YSB3cmFwcGVyIEFQSSBpbnRvIGl0cyBvd24gZmlsZXMgYW5kIG1hZGUgdXNlIG9mIHRoZQoJICBnc3QtZHZtIG1hY3Jvcy4gQWxzbyByZW5hbWVkIHRoZSBBUEkgdG8gaGF2ZSB0aGUgcHJvcGVyIG5hbWluZwoJICBjb252ZW50aW9uIGFuZCBjb2Rpbmcgc3R5bGUgaW4gb3JkZXIgdG8gbWF0Y2ggdGhlIG9uZSBpbiBhbmRyb2lkY2FtZXJhLgoJICBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcyEgImFuZHJvaWQvbWVkaWEvTWVkaWFDb2RlY0xpc3QiIGlzIHN0aWxsIG1pc3NpbmcKCSAgYW5kIHRoZSBhY3R1YWwgZWxlbWVudHMgaGF2ZSBub3QgYmVlbiBwb3J0ZWQgdG8gdXNlIHRoZSBuZXcgZnVuY3Rpb24gbmFtZXMuCgoyMDEyLTExLTI4IDE1OjI2OjQ5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBHX0JFR0lOL0VORF9ERUNMUyB0byB0aGUgLmgKCjIwMTItMTEtMjcgMTk6MjU6MDYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS5wYy5pbjoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtZHZtLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGdzdC1kdm06IENyZWF0ZSBhIGdzdC1kdm0gbGlicmFyeSB1c2luZyBwYXJ0IG9mIGFuZHJvaWRjYW1lcmEKCjIwMTItMTEtMjcgMTc6MjQ6MzUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkaW5nIGEgZGV2aWNlLW5hbWUgcHJvcGVydHkKCjIwMTItMTEtMjAgMTk6NTY6MjIgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5kcm9pZGNhbWVyYS54bWw6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxMi0xMS0xOSAxODoyNToxMiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkY2FtZXJhOiBQcmV0dGlmeSB0aGUgZ3N0YWhjY2FsbGJhY2suYyBnZW5lcmF0aW9uIGxpbmUgaW4gdGhlIG1ha2VmaWxlCgoyMDEyLTExLTE1IDEyOjMzOjI2IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWNhbWVyYTogTWFrZSBzdXJlIHRoZSBUTVAgZW52IHZhciBleGlzdHMgYW5kIGNoZWNrIGZvciBERVggdmFyIHRvbwoKMjAxMi0xMS0xNCAxMTozODo1MSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBEbyBub3QgdXNlIGdzdF9saXN0X2ZyZWVfZnVsbCBzaW5jZSBpdCByZXF1aXJlcyBnbGliIDIuMjgKCjIwMTItMTEtMTIgMTg6NTk6NTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBzbW9vdGgtem9vbSBwcm9wZXJ0eSBmb3Igc21vb3RoIHpvb21pbmcgZmVhdHVyZQoKMjAxMi0xMS0xMiAxODoxOToyMCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZm9jYWwtbGVuZ3RoLCB2aWV3LWFuZ2xlIGFuZCB2aWRlby1zdGFiaWxpemF0aW9uIHByb3BlcnRpZXMKCjIwMTItMTEtMTIgMTg6MTg6MTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCB2aWRlbyBzdGFiaWxpemF0aW9uIEFQSQoKMjAxMi0xMS0xMiAxNjozODo0MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgcHJvcGVydHkgcHJvYmUgZm9yIHRoZSBwaG90b2dyYXBoeSBwcm9wZXJ0aWVzCgoyMDEyLTExLTA5IDE4OjIxOjIxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNtYWxsIHJlZmFjdG9yCgoyMDEyLTExLTA5IDE2OjU3OjMwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBzbWFsbCBtZW1sZWFrCgoyMDEyLTExLTA5IDE2OjU1OjU3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFN0b3JlIEdQYXJhbVNwZWMgZm9yIHByb3BlcnRpZXMgYW5kIHVzZSB0aGF0IGZvciB0aGUgUHJvcGVydHlQcm9iZSBjb21wYXJpc29uCgoyMDEyLTExLTA5IDEyOjIzOjM3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEhhbmRsZSB6b29tIGNvbXBhcmlzb24gYmV0dGVyLCBhbmQgYXZvaWQgZmxvYXQgcHJlY2lzaW9uIGlzc3VlCgoyMDEyLTExLTA5IDEyOjIyOjEyIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBFViBjb21wZW5zYXRpb24gc3VwcG9ydAoKMjAxMi0xMS0wNyAxOToxNjowNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXBsZW1lbnQgbmV3IEdzdFBob3RvZ3JhcGh5IGVudW1zCgoyMDEyLTExLTA3IDE1OjM4OjE5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IERvIG5vdCBhZHZlcnRpc2Ugem9vbSBjYXBhYmlsaXRpZXMgaWYgY2FtZXJhIGRvZXNuJ3Qgc3VwcG9ydCB6b29tCgoyMDEyLTExLTA3IDE1OjM3OjQzIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEJlIE5VTEwtc2FmZSB3aGVuIGEgSk5JIGxpc3QgaXMgcmV0dXJuZWQKCjIwMTItMTEtMDIgMTg6MDc6MjQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogVXNlIHN0cmNtcCBvbiB0aGUgR1BhcmFtU3BlYyBwcm9wZXJ0eSBuYW1lCgkgIFVzZSBzdHJjbXAgaW5zdGVhZCBvZiB1c2luZyB0aGUgcHJvcGVydHlfaWQgYmVjYXVzZSBpdCdzIG92ZXJyaWRlbgoKMjAxMi0xMS0wMiAxODowMDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcGxlbWVudCBwcm9wZXJ0eSBwcm9iZSBmb3Igem9vbSBhbmQgZXZfY29tcGVuc2F0aW9uCgoyMDEyLTExLTAyIDE3OjAwOjQ1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgYXV0b2ZvY3VzIHN1cHBvcnQKCjIwMTItMTEtMDIgMTY6NTk6NDIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogT3ZlcnJpZGUgcHJvcGVydGllcwoKMjAxMi0xMS0wMSAxNToyNDoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbnJvaWRjYW1lcmE6IEFkZCBzdXBwb3J0IGZvciB0aGUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlCgoyMDEyLTExLTAxIDExOjU4OjMzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgbW9yZSB3cmFwcGVycyBmb3IgdGhlIENhbWVyYS5QYXJhbWV0ZXJzIGNsYXNzCgoyMDEyLTEwLTMxIDE0OjIxOjQ3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNlbmQgcHJvcGVyIGVycm9yIHdoZW4gdW5hYmxlIHRvIG9wZW4gY2FtZXJhCgoyMDEyLTEwLTMwIDEyOjEzOjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZGluZyBkZXZpY2Utb3JpZW50YXRpb24gYW5kIGRldmljZS1mYWNpbmcgcHJvcGVydGllcwoKMjAxMi0xMC0zMCAxMTozNTozNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGRldmljZSBwcm9wZXJ0eSBhbmQgcHJvcGVydHkgcHJvYmUgaXQKCjIwMTItMTAtMzAgMTA6MTI6MDYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IG1lbWxlYWsgYW5kIGxvc2Ugb2YgYnVmZmVyIGlmIHRoZSBkYXRhIHF1ZXVlIGlzIGZsdXNoaW5nCgoyMDEyLTEwLTMwIDA5OjQ5OjM5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IENhbGxpbmcgc2V0X3ByZXZpZXdfY2FsbGJhY2sgd2l0aCBOVUxMIGZyZWVzIGFsbCB0aGUgYnVmZmVycyBpbiB0aGUgcXVldWUuCgkgIFdlIG11c3Qgbm90IGRvIGl0IGF0IHRoZSBzdG9wIG90aGVyd2lzZSB3ZSBsb3NlIGFsbCBvdXIgYnVmZmVycy4gSXQncyBiZXN0IHRvIGRvCgkgIGl0IGR1cmluZyB0aGUgY2xvc2UsIHNvIHdlIGZyZWUgdXAgdGhlIHJlc291cmNlcy4KCjIwMTItMTAtMzAgMDk6NDk6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRHJvcCBmcmFtZXMgaWYgd2UgZG9uJ3QgaGF2ZSBhIGNsb2NrIGFuZCB2YXIgcmVuYW1lCgoyMDEyLTEwLTMwIDA5OjQ1OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWNhbWVyYTogaWYgYnVmZmVyIHNpemUgaW5jcmVhc2VzLCB0aGVuIHJlYWRkIG5ldyBidWZmZXJzIHRvIHRoZSBxdWV1ZSBhbmQgZHJvcCBvbGQgb25lcwoJICBUaGUgb25fcHJldmlldyBjYWxsYmFjayBnZXRzIGNhbGxlZCB3aXRoIE5VTEwgaWYgdGhlIGJ1ZmZlciBpbiB0aGUgcXVldWUgaXMKCSAgdG9vIHNtYWxsLCBzbyB3ZSBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgYXJyYXkgaXMgTlVMTC4gQWxzbwoJICB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgYW5kcm9pZCBzb3VyY2Ugd2hpY2ggbWFrZXMgaXQgZHJvcCBvbmUgb2YgdGhlIGJ1ZmZlcnMKCSAgc28gaWYgd2UgaGFkIDUgYnVmZmVycywgYW5kIHdlIHJlbmVnb3RpYXRlIHRvIGEgaGlnaGVyIHJlc29sdXRpb24sIHRoZW4gd2UnZAoJICBvbmx5IGdldCA0IGNhbGxzIHRvIG9uX3ByZXZpZXdfZnJhbWUgd2l0aCBOVUxMLCB3aXRoIG9uZSBiZWluZyBkcm9wcGVkLgoJICBUaGlzIG1lYW5zIHdlIGNhbid0IHJlYWxsb2NhdGUgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlmIChkYXRhID09IE5VTEwpIGNhc2UKCSAgYmVjYXVzZSB3ZSBtaWdodCBlbmQgdXAgd2l0aCAwIGJ1ZmZlcnMgaW4gdGhlIGVuZC4KCjIwMTItMTAtMzAgMDk6NDQ6MzEgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogSWYgY2FsbGJhY2sgaXMgTlVMTCB0aGVuIHNldCBpdCB0byBOVUxMIGluIGpuaQoKMjAxNi0wMS0yMSAxMzo0Njo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTItMTAtMjYgMTI6NTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IENob3NlIHRoZSBzbWFsbGVzdCByYW5nZSB0aGF0IGNvbnRhaW5zIHRoZSB0YXJnZXQgZnJhbWVyYXRlCgoyMDEyLTEwLTI2IDEyOjQzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXByb3ZlIG5lZ290aWF0aW9uCgkgIEFuZCBtYWtlIHN1cmUgd2Ugc2V0IGFuIEZQUyByYW5nZSBmcm9tIHRoZSBzdXBwb3J0ZWQgb25lcwoJICBub3cgaW5zdGVhZCBvZiBhIHBvdGVudGlhbGx5IHVuc3VwcG9ydGVkIHJhbmdlLgoKMjAxMi0xMC0yNiAxMjoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjYgMTE6NTc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgaGF2ZSBhIHZhbGlkIGNhbWVyYSBzb3VyY2UgaW5zdGFuY2UgaW4gdGhlIGJ1ZmZlciBmcmVlIGZ1bmN0aW9uCgoyMDEyLTEwLTI2IDExOjQ2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogTWFrZSBzdXJlIHRvIG5vdCBjYWxsIGFueSBjYWxsYmFja3MgYWZ0ZXIgc3RvcHBpbmcgdGhlIGNhbWVyYQoJICBGaXhlcyBzZWdmYXVsdHMgd2hlbiByb3RhdGluZyB0aGUgZGV2aWNlIGZvciBleGFtcGxlLgoKMjAxMi0xMC0yNCAxNToyNTo1NCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggdGltZXN0YW1waW5nIGlzc3VlCgoyMDEyLTEwLTI0IDEzOjU5OjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgY2FwcyBuZWdvdGlhdGlvbiBzdXBwb3J0CgoyMDEyLTEwLTI0IDEwOjU1OjUyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXRjYXBzIHRoYXQgcHJvYmVzIHRoZSBjYW1lcmEgZm9yIGNhcGFiaWxpdGllcwoKMjAxMi0xMC0yMyAxMzo1NDo0NiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IERyb3AgdGhlIGZpcnN0IGJ1ZmZlciB0byBoYXZlIHByb3BlciB0aW1lc3RhbXBpbmcKCjIwMTItMTAtMjMgMTE6MTQ6MDAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGbHVzaCB0aGUgcXVldWUgd2hlbiB0aGUgc291cmNlIGlzIHN0b3BwZWQKCjIwMTItMTAtMjMgMTE6MTM6MzcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvY2F0ZS9mcmVlIHRleHR1cmUgd2hlbiBjYW1lcmEgaXMgb3Blbi9jbG9zZWQKCjIwMTItMTAtMjMgMTE6MTM6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgYSBnc3RfYWhjX3NyY19jbG9zZSBmdW5jdGlvbgoKMjAxMi0xMC0yMyAxMToxMjoxOSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzbWFsbCBpbmRlbnRhdGlvbiBpc3N1ZXMKCjIwMTItMTAtMjMgMTA6MTI6NTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBEaXNhYmxlIHBsdWdpbiBpZiBhbmRyb2lkLXNkayBpc24ndCBmb3VuZCBhbmQgZHluYW1pY2FsbHkgc2VhcmNoIGZvciBwbGF0Zm9ybSB2ZXJzaW9uCgoyMDEyLTEwLTIzIDA5OjAxOjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2NvbS9nc3RyZWFtZXIvR3N0QWhjQ2FsbGJhY2suamF2YToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY2NhbGxiYWNrLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBzdXBwb3J0IGZvciB1c2luZyBEZXhMb2FkZXIgd2l0aCBFbWJlZGVkIEdzdEFoY0NhbGxiYWNrLmphcgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggY29tcGlsYXRpb24gaXNzdWVzCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkbWVkaWEuYzoKCSAgUmVtb3ZlIHByZXZpb3VzIGNydWZ0IGFuZCBjcmVhdGUgYW5kcm9pZGNhbWVyYSBwbHVnaW4KCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgRnJlZSB0aGUgYnVmZmVycyBhbmQgcmVhZGQgdGhlIGFycmF5cyB3aGVuIHRoZSBxdWV1ZSBpcyBjbGVhcmVkCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uaDoKCSAgQWRkIGEgR1NUX0RWTV9DQUxMIG1hY3JvIHRvIGVhc2UgZnVuY3Rpb24gY2FsbGluZyB3aXRoIGV4Y2VwdGlvbiBjaGVjawoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgQ2FsY3VsYXRlIHRpbWVzdGFtcCBhdCByZWNlcHRpb24gb2YgdGhlIGJ1ZmZlciwgbm90IHdoZW4gcHVzaGluZyBpdCBvdXQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgTWFrZSB0aGUgbnVtYmVyIG9mIGNhbGxiYWNrIGJ1ZmZlcnMgY29uZmlndXJhYmxlLCBhbmQgZGVsZXRlIHRoZWlyIGxvY2FsIHJlZgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgVXNlIEdzdERhdGFRdWV1ZSBpbnN0ZWFkIG9mIEdBc3luY1F1ZXVlIGZvciBzdG9yaW5nIGJ1ZmZlcnMKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgVXNlIHRoZSBidWZmZXIncyBmcmVlX2Z1bmMgdG8gbWFwIGJ5dGVBcnJheSBkYXRhIHdpdGhvdXQgbWFraW5nIGEgY29weQoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBSZW1vdmUgb3BlbiBmYWlsdXJlIHRlc3QgY29kZSBhbmQgZGVidWcgbG9nCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIFVzZSBZVjEyIGFzIHRoZSBkZWZhdWx0IGZvcm1hdAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJICBBZGQgYSBkZWluaXQgZnVuY3Rpb24gYW5kIHJlbW92ZSBqY2xhc3MgcmVmZXJlbmNlcyBpbiBjYXNlIG9mIGVycm9yCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSAgU3VyZmFjZVRleHR1cmUgY29uc3RydWN0dXJlIG5lZWRzIHRleHR1cmVfaWQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIEFkZCBhaGNzcmMgQ2FtZXJhIHNvdXJjZSBlbGVtZW50IHByb3RvdHlwZQoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIEFkZCBhbmRyb2lkLmhhcmR3YXJlLkNhbWVyYSAoYW5kIGRlcHMpIEpOSSB3cmFwcGVycwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtZHZtLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uaDoKCSAgQWRkaW5nIERhbHZpayBWaXJ0dWFsIE1hY2hpbmUgcm91dGluZXMgYW5kIG1hY3JvcwoKMjAxMi0xMC0xNyAxNzo1NjozMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGFuZHJvaWRtZWRpYSBwbHVnaW4KCjIwMTYtMDEtMTUgMTQ6MzE6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3R0b25lZ2VuZXJhdGVzcmMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0dG9uZWdlbmVyYXRlc3JjLmg6CgkgIHNwYW5kc3A6IEFkZCB0b25lIGdlbmVyYXRvcgoKMjAxNS0wNy0xNCAxMzo0MDo0NiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogc2V0IG5vbi0wIHBheWxvYWQgbGVuZ3RoIGluIFBFUyBoZWFkZXIgaWYgdmlkZW8gRVMgcGFja2V0IGlzIHNtYWxsIGVub3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTA3CgoyMDE1LTA3LTE0IDEzOjQyOjU0ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiByZXNldCBwZXNfYnl0ZXNfd3JpdHRlbiB3aGVuIHN0YXJ0aW5nIHRvIHdyaXRlIG5ldyBQRVMgcGFja2V0CgkgIEluIGNhc2Ugb2YgYW4gdW5ib3VuZGVkIHBhY2tldCAodmlkZW8gdXN1YWxseSksIHBlc19ieXRlc193cml0dGVuIHdhcwoJICBubyByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUwNwoKMjAxNi0wMS0xOSAxNzowODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBILjI2NS9IRVZDIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjcKCjIwMTYtMDEtMTkgMTM6MjA6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgZ2w6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYy02CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBlZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOjI1OjA6CgkgIGVmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6MTc0OjMyOiBlcnJvcjogJ3hyYXlfY3VydmUnIGRlZmluZWQgYnV0IG5vdCB1c2VkCgkgIHN0YXRpYyBjb25zdCBHc3RHTEVmZmVjdHNDdXJ2ZSB4cmF5X2N1cnZlID0gewoJICAuLi4KCjIwMTYtMDEtMTkgMDg6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIGxpYnM6IGctaTogZml4IGluaXQgc2VjdGlvbiB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncwoJICAuLkdzdFBsYXllci0xLjAuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKCSAgLi5Hc3RQbGF5ZXItMS4wLmM6NTg3OjM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdzdF9pbml04oCZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAwOTAKCjIwMTYtMDEtMTkgMTk6MTg6NDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IGZpeCBidWlsZCBvbiBpT1MKCjIwMTYtMDEtMTkgMTU6NTA6MjIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogYWx3YXlzIGZpbGwgR3N0QnVmZmVycyB3aXRoIEdzdE1lbW9yeQoJICBBbHdheXMgZmlsbCBidWZmZXJzIHdpdGggb3VyIGN1c3RvbSBtZW1vcnkuIFRoZSBjdXN0b20gbWVtb3J5IHdpbGwgYXZvaWQKCSAgbWFwcGluZyBDVi9DTSBidWZmZXJzIHVubGVzcyBuZWNlc3NhcnkuCgoyMDE1LTA0LTE5IDAwOjMwOjQ4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBpbXBsZW1lbnQgY29weWluZyBvZiBtZXRhCgkgIEJlZm9yZSB0aGlzLCBidWZmZXJzIHdvdWxkIGxvc2UgdGhlaXIgQ29yZSBWaWRlbyAvIENvcmUgTWVkaWEgbWV0YQoJICBvdmVyIGludGVydmlkZW8qIGJvdW5kYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjE2CgoyMDE1LTA0LTAyIDIwOjA0OjE4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGltcGxlbWVudCBHc3RBcHBsZUNvcmVWaWRlb01lbW9yeQoJICBJbXBsZW1lbnQgYSBuZXcgbWVtb3J5IHR5cGUgd3JhcHBpbmcgQ1ZQaXhlbEJ1ZmZlci4KCSAgVGhlcmUgYXJlIHR3byBpbW1lZGlhdGUgYWR2YW50YWdlczoKCSAgYSkgTWFrZSB0aGUgR3N0TWVtb3J5IGl0c2VsZiByZXRhaW4gdGhlIENWUGl4ZWxCdWZmZXIuIFByZXZpb3VzbHksCgkgIHRoZSBjb250YWluaW5nIEdzdEJ1ZmZlciB3YXMgc29sZWx5IHJlc3BvbnNpYmxlIGZvciB0aGUgbGlmZXRpbWUgb2YKCSAgdGhlIGJhY2tpbmcgQ1ZQaXhlbEJ1ZmZlci4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgd2UgcmVtb3ZlIHRoZSBHU1RfTUVNT1JZX0ZMQUdfTk9fU0hBUkUgc28gdGhhdAoJICBHc3RNZW1vcnkgb2JqZWN0cyBiZSByZWZlcmVuY2VkIGJ5IG11bHRpcGxlIEdzdEJ1ZmZlcnMgKGRvaW5nIGF3YXkKCSAgd2l0aCB0aGUgbmVlZCB0byBjb3B5LikKCSAgYikgRGVsYXkgbG9ja2luZyBDVlBpeGVsQnVmZmVyIGludG8gQ1BVIG1lbW9yeSB1bnRpbCBpdCdzIGFjdHVhbGx5CgkgIG1hcHBlZCAtLSBwb3NzaWJseSBuZXZlci4KCSAgVGhlIENWUGl4ZWxCdWZmZXIgb2JqZWN0IGlzIHNoYXJlZCBhbW9uZyByZWZlcmVuY2VzLCBzaGFyZXMgYW5kCgkgIChpbiBwbGFuYXIgZm9ybWF0cykgcGxhbmVzLCBzbyBhIHdyYXBwZXIgR3N0QXBwbGVDb3JlVmlkZW9QaXhlbEJ1ZmZlcgoJICBzdHJ1Y3R1cmUgd2FzIGludHJvZHVjZWQgdG8gbWFuYWdlIGxvY2tpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMTYKCjIwMTYtMDEtMTkgMTI6NTY6NDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkgIGFwcGxlbWVkaWE6IGlvc3VyZmFjZW1lbW9yeTogYWxsb2Mgd2l0aCBnX25ldzAKCSAgLi4uc2luY2UgdGhlIGJhc2UgY2xhc3MgZG9lc24ndCB1c2UgZ19zbGljZSBhbnltb3JlCgoyMDE2LTAxLTA4IDExOjA0OjEzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIGNoZWNrIHRoYXQgYXZhaWxhYmlsaXR5U3RhcnRUaW1lIGlzIHByZXNlbnQgZm9yIGxpdmUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjAyCgoyMDE1LTExLTA0IDE4OjE1OjI0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBhZGFwdGl2ZWRlbXV4OiBpbXByb3ZlZCBlcnJvciBtZXNzYWdlIGlmIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSBpcyBtaXNzaW5nIGZvciBhIGxpdmUgc3RyZWFtCgkgIEZvciBhIGxpdmUgbXBkLCBpZiBhdmFpbGFiaWxpdHlTdGFydFRpbWUgaXMgbWlzc2luZywgYWRhcHRpdmUgZGVtdXggYXNzZXJ0cwoJICB3aXRoOiBVbmV4cGVjdGVkIGNyaXRpY2FsL3dhcm5pbmc6IGdzdF9kYXRlX3RpbWVfdG9fZ19kYXRlX3RpbWU6IGFzc2VydGlvbgoJICAnZGF0ZXRpbWUgIT0gTlVMTCcgZmFpbGVkLgoJICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBlcnJvciBtZXNzYWdlIHRvOgoJICBVbmV4cGVjdGVkIGNyaXRpY2FsL3dhcm5pbmc6IGdzdF9tcGRfY2xpZW50X3NlZWtfdG9fdGltZTogYXNzZXJ0aW9uCgkgICdjbGllbnQtPm1wZF9ub2RlLT5hdmFpbGFiaWxpdHlTdGFydFRpbWUgIT0gTlVMTCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2MDIKCjIwMTYtMDEtMTQgMTg6Mjc6NTAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJICB0ZXN0czogYWRhcHRpdmUtc3RyZW1haW5nOiBmaXggbWVtb3J5IGxlYWsgaW4gdGVzdF9odHRwX3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjAwCgoyMDE2LTAxLTE1IDEwOjQ5OjEyIC0wNTAwICBNYXR0IENyYW5lIDxtYXR0Y3JhbmVAdHljb2ludC5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIF9yZW5kZXIoKS8gX2FsbG9jYXRvcl9mcmVlKCkKCSAgRHJvcCBvYmplY3QgbG9jayBiZWZvcmUgdW5yZWZpbmcgbWVtb3J5LCBvdGhlcndpc2UgdGhlIG9iamVjdAoJICBsb2NrIG1pZ2h0IGJlIHRha2VuIGFnYWluIGZyb20gdGhlIGFsbG9jYXRvciBhbmQgdGhlbiB0aGluZ3MKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTEKCjIwMTYtMDEtMTYgMTc6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEZpcnN0IG1ha2UgY2FwcyB3cml0YWJsZSBpbiBmaXhhdGVfY2FwcygpLCB0aGVuIHRydW5jYXRlIHRoZW0KCSAgVHJ1bmNhdGluZyByZXF1aXJlcyB3cml0YWJsZSBjYXBzLgoKMjAxNi0wMS0xNiAxNzoxMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQ2FwcyBwYXNzZWQgdG8gZml4YXRlX2NhcHMoKSBhcmUgbm90IG93bmVkIGJ5IHVzIGFuZCBndWFyYW50ZWVkIHRvIGJlIGZpeGVkCgkgIFNvIGRvbid0IHRyeSB0byBmaXhhdGUgdGhlbSwgd2hpY2ggdGFrZXMgb3duZXJzaGlwIGFuZCBzdGVhbHMgdGhlbSBmcm9tCgkgIGJhc2V0cmFuc2Zvcm0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2OTYKCjIwMTYtMDEtMTYgMTY6NTU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIFJldmVydCAiZ2xwb29sOiBmaXggY2FwcyByZWZjb3VudCBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYmRjZGVkZmEwMGI4N2YxZGI1MDUyMTg3ODkxNzgzMThhMTZjNzQzLgoJICBnc3RfY2Fwc19yZXBsYWNlKCkgdGFrZXMgYSBuZXcgcmVmZXJlbmNlIGFscmVhZHksIGlmIHRoZXJlIGlzIGEgcHJvYmxlbSB0aGVuCgkgIGl0IGlzIGVsc2V3aGVyZS4gQW5kIHRoZXJlIGFyZSBhIGZldyBwcm9ibGVtcywgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2OTYKCjIwMTYtMDEtMTUgMTY6MTA6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB1bm5lZWRlZCBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuIHRocm93IGl0CgkgIGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIgZGlyZWN0bHkuCgoyMDE2LTAxLTE1IDE1OjU2OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGFkZCAic2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFZQUy9TUFMvUFBTIGluZm9ybWF0aW9uCgkgIHNlbnQgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFZQUy9TUFMvUFBTIGlzbid0IGVub3VnaC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFZQUy9TUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBWUFMvU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgY29tbWl0IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuCgkgIFRoaXMgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbgoJICB0aGlzIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBWUFMsIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikKCSAgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTUgMTU6MTk6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE2LTAxLTEzIDA5OjUxOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZXBsYWNlIGdob3N0cGFkIHdpdGggYSBzdGFuZGFyZCBwYWQKCSAgSGFuZGxpbmcgdGhlIGdob3N0cGFkIGFuZCBpdHMgaW50ZXJuYWwgcGFkIHdhcyBjYXVzaW5nIG1vcmUgaXNzdWVzCgkgIHRoYW4gaGVscGluZyBiZWNhdXNlIG9mIHRoZWlyIGNvdXBsZWQgYWN0aXZhdGlvbi9kZWFjdGl2YXRpb24KCSAgYWN0aW9ucy4KCSAgQXMgd2UgaGF2ZSB0byBpbnN0YWxsIGN1c3RvbSBjaGFpbixldmVudCBhbmQgcXVlcnkgZnVuY3Rpb25zIGl0IGlzCgkgIGJldHRlciB0byB1c2UgYSBmbG9hdGluZyBzaW5rIHBhZCBpbnRlcm5hbGx5IGluIHRoZSBkZW11eGVyIGFuZCBqdXN0CgkgIHVzZSB0aG9zZSBwYWQgZnVuY3Rpb25zIHRvIHB1c2ggdGhyb3VnaCBhIHN0YW5kYXJkIHBhZCBpbiB0aGUgZGVtdXhlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTUxCgoyMDE1LTExLTExIDE3OjI0OjMzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IGZsdXNoIHRoZSBpbnB1dCBwYWQKCSAgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9jbGVhcl9lb3NfYW5kX2ZsdXNoX3N0YXRlKCkgZnVuY3Rpb24gd2lsbCBkbwoJICBhbGwgdGhlIG5lY2Vzc2FyeSBjbGVhbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk1MQoKMjAxNi0wMS0xNSAxMTo0NDo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHZpZGVvc2VnbWVudGNsaXA6IGZhaWwgdG8gc2V0X2NhcHMgaWYgcHJvYmxlbSBpbiBjYXBzIHN0cnVjdHVyZQoJICBnc3RfdmlkZW9fc2VnbWVudF9jbGlwX3NldF9jYXBzICgpIHNob3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlcmUgd2FzIGEKCSAgcHJvYmxlbSByZWFkaW5nIHRoZSBmcmFtZXJhdGUgdmFsdWVzIGZyb20gdGhlIGNhcHMgc3RydWN0dXJlLgoKMjAxNi0wMS0xNSAxNzowMDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2xxdWVyeTogcHJvdmlkZSBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0xfUVVFUllfUkVTVUxUCgkgIGUuZy4gYW5kcm9pZCBkb2Vzbid0IGhhdmUgaXQKCSAgV2hpbGUgd2UncmUgaGVyZSBtb3ZlIGEgc3RhdGUgc3BlY2lmaWMgYXNzZXJ0aW9uIGFmdGVyIHRoZSBzdXBwb3J0ZWQgY2hlY2suCgkgIFJlbW92ZXMgYW4gYXNzZXJ0aW9uIG9uIEdMRVMKCjIwMTYtMDEtMTUgMTY6MDc6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gb2YgR0xpbnQ2NAoJICBlLmcuIGFucmRvaWQgZG9lc24ndCBoYXZlIGl0CgoyMDE2LTAxLTA4IDIyOjE5OjA2ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdlLmJvcm92a292QGdtYWlsLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogTWFyayBtYXRlcmlhbCBkaXJ0eSB3aGVuIHRleHR1cmUgYnVmZmVyIGlzIHVwZGF0ZWQKCSAgUXQgbWlnaHQgbm90IHJlZHJhdyB0aGUgc2NlbmUgb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mjg2CgoyMDE2LTAxLTE1IDE0OjAwOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdscG9vbDogZml4IGNhcHMgcmVmY291bnQgaXNzdWUKCSAgVGhlIGNhcHMgYXJlIGZyb20gYW4gYWxsb2NhdGlvbiBxdWVyeSB3aGljaCBhcmUgdHJhbnNmZXIgbm9uZSBidXQgd2VyZSBiZWluZwoJICB0cmVhdGVkIGFzIHRyYW5zZmVyIGZ1bGwuCgoyMDE2LTAxLTExIDEzOjMwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBsb2cgdGhlIHRpbWUgZm9yIGdsVGV4U3ViSW1hZ2UvZ2xSZWFkUGl4ZWxzCgoyMDE2LTAxLTA4IDE4OjM2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9xdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xxdWVyeS5jOgoJICBnbDogYWRkIGEgZ3N0Z2xxdWVyeSBvYmplY3QgZm9yIGFyYml0cmFyeSBHTCBxdWVyaWVzCgkgIEN1cnJlbnRseSBvbmx5IEdMX1RJTUVfRUxBUFNFRCBhbmQgR0xfVElNRVNUQU1QIGFyZSBzdXBwb3J0ZWQKCjIwMTYtMDEtMTEgMTc6MjI6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkgIGdsZGVidWc6IGltcGxlbWVudCBhIGRlbGF5ZWQgZGVidWcgc3lzdGVtCgkgIFRoZSBtZXNzYWdlcyBhcmUgc3RvcmVkIGJ5IGdzdF9nbF9hc3luY19kZWJ1Z19zdG9yZV9sb2dfbXNnKCkgYW5kIG91dHB1dCBsYXRlcgoJICBieSBhIGNvcnJlc3BvbmRpbmcgc3RvcmUoKSwgb3V0cHV0KCkgb3IgYW4gdW5zZXQoKS9mcmVlKCkuCgkgIFNvbWUgd3JhcHBlciBtYWNyb3MgYXJlIHByb3ZpZGVkIHRvIGF2b2lkIGNhbGxlcnMgZXhwbGljaXRseSB1c2luZyBfX0ZJTEVfXywKCSAgR1NUX0ZVTkNUSU9OIGFuZCBfX0xJTkVfXwoKMjAxNi0wMS0xMSAxNzoyNjowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogdXNlIGdzdF9pbmZvX3Zhc3ByaW50ZiBpbiBpbnNlcnRfZGVidWdfbWFya2VyKCkKCSAgQWxsb3dzIGV4cGFuc2lvbiBvZiBHU1RfUFRSX0ZPUk1BVCBhbmQgR1NUX1NFR01FTlRfRk9STUFUIGFyZ3VtZW50cy4KCjIwMTYtMDEtMTUgMTE6MjI6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSB2aWRlb2ZsaXAgZWxlbWVudAoJICBCZWhhdmVzIGV4YWN0bHkgdGhlIHNhbWUgYXMgdGhlIG5vbi1HTCB2aWRlb2ZsaXAgZWxlbWVudAoKMjAxNi0wMS0xNSAwMDowNDoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZWNyZWF0ZSB0aGUgZmJvIG9uIGNhcHMgY2hhbmdlcwoJICBUaGUgd2lkdGgvaGVpZ2h0IG1heSBjaGFuZ2Ugd2hpY2ggcmVxdWlyZXMgcmVjcmVhdGluZyB0aGUgZGVwdGggYnVmZmVyLgoKMjAxNi0wMS0xNSAwMDowMjo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkgIGdsYmFzZWZpbHRlcjogYWRkIGEgY2xhc3MgZnVuY3Rpb24gb24gc2V0X2NhcHMgKGZyb20gR0wpCgkgIFRoaXMgaXMgc2ltcGx5IGEgY29udmVuaWVuY2UgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIHRocmVhZCBtYXJzaGFsbGluZyBvbgoJICBzZXRfY2Fwcy4KCjIwMTYtMDEtMTUgMDA6MDA6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGFsd2F5cyBidWlsZCBhIHZhbGlkIG12cCBtYXRyaXgKCSAgVGhlIGRlZmF1bHQgY2FzZSBpcyB0byBidWlsZCBhbiBpZGVudGl0eSBtYXRyaXguCgoyMDE2LTAxLTE0IDE5OjAzOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBzdXBwb3J0IG5lZ2F0aXZlIHNjYWxlcwoJICBBIHNjYWxlIG9mIC0xLjAgbWVhbnMgdG8gZmxpcCB0aGUgdmlkZW8uCgoyMDE2LTAxLTE0IDE4OjQyOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBpbXBsZW1lbnQgcGFzc3Rocm91Z2ggaGFuZGxpbmcKCjIwMTYtMDEtMTQgMTc6NDU6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBuYXZpZ2F0aW9uIGV2ZW50cwoJICBSZXZlcnNlcyB0aGUgdHJhbnNmb3JtYXRpb24gYXBwbGllZCB0aHJvdWdoIHRoZSBwcm9wZXJ0aWVzIGFuZCBmb3J3YXJkcyB0aGUKCSAgZXZlbnQuCgkgIFRoZSBwcm9jZXNzIGZvciBmaW5kaW5nIHRoZSBjb29yZGluYXRlcyBvbiB0aGUgdmlkZW8gYXJlIGFzIGZvbGxvd3M6CgkgIDEuIENvbnZlcnQgdGhlIGdpdmVuIHBvaW50ZXJfeCBhbmQgcG9pbnRlcl95IHRvIG1vZGVsIHNwYWNlIGF0IHRoZSBuZWFyIGFuZCBmYXIgcGxhbmVzCgkgIDIuIEdldCB0aGUgZXF1YXRpb24gb2YgdGhlIHZpZGVvIHBsYW5lCgkgIDMuIEZpbmQgd2hlcmUgdGhlIHJheSBpbiAxIGludGVyc2VjdHMgdGhlIHBsYW5lCgkgIDQuIFByb2ZpdCEKCjIwMTYtMDEtMTQgMTY6NTk6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHJlZHVudGFudCBnbGltYWdlc2luayBmcm9tIGRlYnVnIGxvZ2dpbmcKCjIwMTYtMDEtMTQgMTY6NTc6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMS9uYXZpZ2F0aW9uOiBhZGQgYnV0dG9uIHByZXNzIHRvIHRoZSBzZWxlY3RlZCBldmVudCBtYXNrCgkgIE90aGVyd2lzZSB3ZSB3b24ndCBnZXQgdGhlIGJ1dHRvbiBwcmVzcyBldmVudHMgYW5kIEdzdE5hdmlnYXRpb24gZmFpbHMuCgoyMDE2LTAxLTE0IDE2OjAwOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogdHJ5IGhhcmRlciB0byBwYXNzdGhyb3VnaAoJICBUaGlzIG1ha2VzIGEgcGlwZWxpbmUgbGlrZToKCSAgLi4uICEgdmlkZW8veC1yYXcobWVtb3J5OkdMTWVtb3J5KSxmb3JtYXQ9VVlWWSAhIGdsY29sb3Jjb252ZXJ0ICEKCSAgdmlkZW8veC1yYXcobWVtb3J5OkdMTWVtb3J5KSxmb3JtYXQ9e1VZVlksIE5WMTJ9ICEgLi4uCgkgIHBhc3N0aHJvdWdoIGluc3RlYWQgb2YgY29udmVydGluZyBVWVZZID0+IE5WMTIuIFRoZSBjb252ZXJzaW9uIHdvdWxkIGhhcHBlbgoJICBiZWZvcmUgdGhpcyBjaGFuZ2Ugc2luY2UgdGhlIGVsZW1lbnQgKGFuZCBiYXNldHJhbnNmb3JtKSB0cmFuc2Zvcm0gdGhlIHNyYyBjYXBzCgkgIHRvIGZvcm1hdD17TlYxMiwgVVlWWX0gKHNpbmNlIE5WMTIgY29tZXMgZmlyc3QgaW4gdGhlIGdsY29sb3Jjb252ZXJ0OnNyYwoJICB0ZW1wbGF0ZSkgYW5kIHRoZW4gdGhlIGRlZmF1bHQgY2FwcyBmaXhhdGUgZnVuYyB3b3VsZCBmaXhhdGUgdG8gTlYxMi4gQmxhaC4KCSAgQWxzbyB0aGVyZSdzIG5vIG5lZWQgdG8gaW50ZXJzZWN0IGFnYWluc3QgdGhlIHRlbXBsYXRlIGNhcHMgaW4gOjp0cmFuc2Zvcm1fY2FwcwoJICBzaW5jZSBiYXNldHJhbnNmb3JtIGRvZXMgdGhhdCByaWdodCBhZnRlciBjYWxsaW5nIHRoZSB2ZnVuYy4KCjIwMTYtMDEtMTIgMTg6MzE6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBpbXBsZW1lbnQgYSBjb2xvcmJhbGFuY2UgZWxlbWVudAoJICBJdCBwZXJmb3JtcyB0aGUgZXhhY3Qgc2FtZSBvcGVyYXRpb24gYXMgdmlkZW9iYWxhbmNlIGJ1dCB3aXRoIG9wZW5nbCBzaGFkZXJzIGFuZAoJICB3YXMgdGVzdGVkIHdpdGggZ2x2aWRlb21peGVyIGJ5IGNvbXBhcmluZyBmcmFtZXMgZnJvbSB2aWRlb2JhbGFuY2UgYW5kCgkgIGdsY29sb3JiYWxhbmNlLgoKMjAxNi0wMS0xMiAxODoyMTo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IGdsQmxlbmRGdW5jIGFuZCBnbEJsZW5kRXF1YXRpb24KCSAgQWxsb3dzIG1vcmUgYmxlbmRpbmcgb3B0aW9ucyB0aGFuIGp1c3QgQSBvdmVyIEIKCSAgZS5nLiBmcmFtZSBjb21wYXJpc29ucyBhcmUgbm93IHBvc3NpYmxlLgoJICBnbHZpZGVvbWl4ZXIgbmFtZT1tCgkgIHNpbmtfMDo6em9yZGVyPTAKCSAgc2lua18xOjp6b3JkZXI9MQoJICBzaW5rXzE6OmJsZW5kLWVxdWF0aW9uLXJnYj17c3VidHJhY3QscmV2ZXJzZS1zdWJ0cmFjdH0KCSAgc2lua18xOjpibGVuZC1mdW5jdGlvbi1zcmMtcmdiPXNyYy1jb2xvcgoJICBzaW5rXzE6OmJsZW5kLWZ1bmN0aW9uLWRzdC1yZ2I9ZHN0LWNvbG9yCgkgICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWNoZWNrZXJzLTQgISBtLnNpbmtfMAoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1jaGVja2Vycy04ICEgbS5zaW5rXzEKCjIwMTYtMDEtMDggMTg6Mzg6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IGFkZCBhIHNwZWNpZmljIGNhdGVnb3J5IGZvciB0aGUgZGVidWcgc3BhbSBmcm9tIHRoZSBkcml2ZXIKCjIwMTYtMDEtMTIgMTQ6NTQ6MjMgKzAwMDAgIFRpbSBTaGVyaWRhbiA8dGltLnNoZXJpZGFuQGltZ3RlYy5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogRml4IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbgoJICBTQkMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIHdhc24ndCBiZWluZyByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IGJ5dGUKCSAgKGFzIHNwZWNpZmllZCBpbiB0aGUgQTJEUCAxLjAgc3BlY2lmaWNhdGlvbiwgc2VjdGlvbiAxMi45KS4gVGhpcyBjb3VsZAoJICBjYXVzZSAnc3RlcmVvJyBhbmQgJ2pvaW50IHN0ZXJlbycgbW9kZSBTQkMgc3RyZWFtcyB0byBoYXZlIGluY29ycmVjdGx5CgkgIGNhbGN1bGF0ZWQgZnJhbWUgbGVuZ3Rocy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjQ0NgoKMjAxNi0wMS0xMiAyMzozNDozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogdXBkYXRlIGZvciByZWNlbnQgR0wgYXBpIGNoYW5nZXMKCSAgU3BlY2lmaWNhbGx5IHRoZSBHc3RHTE1lbW9yeVBCTyBhZGRpdGlvbiAod2hpY2ggd2FzIHRoZSB1bmFkb3JuZWQgR3N0R0xNZW1vcnkpLgoKMjAxNi0wMS0xMiAxNDozNjowMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogb3B0aW9uYWxseSBnZXQgdGhlIEdMIGNvbnRleHQgZnJvbSBnc3RfZWxlbWVudF9zZXRfY29udGV4dAoJICBBbGxvdyBzZXR0aW5nIHRoZSBHTCBjb250ZXh0IHdpdGggZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQuIFdoZW4gYXZhaWxhYmxlLCB0aGUKCSAgbG9jYWwgY29udGV4dCBvYnRhaW5lZCB2aWEgdGhlIGNvbnRleHQgcXVlcnkgc3RpbGwgaGFzIHRoZSBwcmVjZWRlbmNlLgoKMjAxNi0wMS0xMiAxNDowMjo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSAgYXBwbGVtZWRpYTogaW9zdXJmYWNlbWVtb3J5OiByZW1vdmUgTk9fU0hBUkUgZmxhZwoJICBUaGUgZnVsbCBtZW1vcnkgY2FuIGJlIHNhZmVseSBzaGFyZWQuIFNoYXJpbmcgYSBzdWIgcmVnaW9uIGNhbid0IGJlIGRvbmUgYW5kCgkgIHdpbGwgZmFpbCBpbiB0aGUgYmFzZSBhbGxvY2F0b3IsIHRyaWdnZXJpbmcgYSBjb3B5LgoKMjAxNi0wMS0xMSAxMzozMzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHJtaXhlcjogcmVwbGFjZSBhY2NlcHQtY2FwcyB3aXRoIGNhcHMgcXVlcnkKCSAgSXQgd2FudHMgdG8gY2hlY2sgaWYgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYSBjZXJ0YWluIGZvcm1hdCwKCSAgYWNjZXB0LWNhcHMgbWlnaHQgb25seSBjaGVjayBpZiB0aGUgbmV4dCBlbGVtZW50IGNhbiBwcm9kdWNlIGl0LgoKMjAxNi0wMS0wNyAyMDo1Njo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xiYXNlbWVtb3J5OiBGcmVlIHRoZSBhY3R1YWwgbWVtb3J5IG9iamVjdCB3aGVuIHJlcXVlc3RlZAoJICBPdGhlcndpc2Ugd2UgYXJlIGxlYWtpbmcgfjQwMEIgb24gZWFjaCBHc3RNZW1vcnkgYWxsb2NhdGlvbi4KCSAgRnJlZWluZyBpbiB0aGUgYmFzZSBjbGFzcyBtYXRjaGVzIHRoZSBHT2JqZWN0IHNlbWFudGljcy4KCjIwMTYtMDEtMDcgMjA6NTQ6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogZG9uJ3QgZG91YmxlIHJlYWQgcGl4ZWxzCgkgIFRoZSBvcHRpbWlzdGljIGRvd25sb2FkX3RyYW5zZmVyIHdhcyBub3Qgc2V0dGluZyB0aGUgcmVxdWlyZWQgZmxhZyB0byBub3QKCSAgcGVyZm9ybSBnbFJlYWRQaXhlbHMgb24gc3Vic2VxdWVudCBtYXAgKFJFQUQpLiByZXN1bHRpbmcgaW4gZ2xSZWFkUGl4ZWxzCgkgIGhhcHBlbmluZyB0d2ljZS4KCjIwMTYtMDEtMDcgMTg6NDc6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5OiBleHBvc2UgZ3N0X2dsX21lbW9yeV90ZXhzdWJpbWFnZQoJICBSZW1vdmVzIGV4dHJlbWVseSBzaW1pbGFyIGNvZGUgZnJvbSBnbG1lbW9yeXBiby4KCjIwMTYtMDEtMDcgMTg6MDU6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgZ2xmZWF0dXJlIGFkZCBhIHNwZWNpZmljIGRlYnVnIGNhdGVnb3J5CgkgIFNhdmVzIGhhdmluZyB0byB0cmF3bCB0aHJvdWdoIHRoZSAnZGVmYXVsdCcgY2F0ZWdvcnkgd2hlbiBmdW5jdGlvbiByZXRyaWV2YWwKCSAgZ29lcyB3cm9uZy4KCjIwMTYtMDEtMDUgMTQ6MzU6MTEgLTA1MDAgIEJvYiBIb2xjb21iIDxiaG9sY29tYkBtYWsuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCByZXNlcnZlIGJpdHMgc28gdGhleSBhcmUgMSdzCgkgIFRoZSBNUEVHIHN0YW5kYXJkIChJU08tMTM4ODAtMSkgc2F5cyB0aGUgcmVzZXJ2ZSBiaXRzIG5lZWQgdG8gYmUgc2V0CgkgIHRvIG9uZSAoMi4xLjY0KS4gVGhpcyBpcyBjYXVzaW5nIHRyYW5zcG9ydCBzdHJlYW1zIHRvIGZhaWwgdmFsaWRhdGlvbgoJICBvbiBzb21lIHN5c3RlbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxMjcKCjIwMTYtMDEtMDggMTc6MTE6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogcmVtb3ZlIGNoZWNrIGZvciBPcGVuQ1YgdmVyc2lvbgoJICBBZnRlciBjb21taXQgNjQwODBlNjMyLCBjb25maWd1cmUgY2hlY2tzIGZvciBhbGwgdGhlIGhlYWRlciBmaWxlcyB0aGF0CgkgIHNob3VsZCBiZSBhdmFpbGFibGUgaW4gT3BlbkNWIDIuMyBhbmQgbGF0ZXIuIElmIGFueSBvZiB0aGVzZSBmaWxlcyBpc24ndAoJICB0aGVyZSB0aGUgT3BlbkNWIGVsZW1lbnRzIHdvbid0IGJlIHBhcnQgb2YgdGhlIGJ1aWxkLgoJICBObyBuZWVkIHRvIHJlY2hlY2sgZm9yIG9wZW5jdjIvbGVnYWN5L2xlZ2FjeS5ocHAgYWdhaW4gaW4KCSAgZ3N0cHlyYW1pZHNlZ21lbnQuaC4gTWluaW11bSBzdXBwb3J0ZWQgT3BlbkNWIHZlcnNpb24gbXVzdCBoYXZlIHRoaXMgaGVhZGVyCgkgIGFuZCBjb25maWd1cmUgYWxyZWFkeSBjaGVja3MgZm9yIGl0LiBSZW1vdmluZyBjaGVjay4KCjIwMTYtMDEtMDggMTU6MDE6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgb3BlbmN2OiBhbHdheXMgZG8gY3ZzbW9vdGggaW4gcGxhY2UKCSAgQWZ0ZXIgdGhlIHVwZGF0ZSB0byBuZXcgT3BlbkNWIEFQSSB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHVzaW5nIGFuIG91dAoJICBidWZmZXIgaXMgbm90IG5lY2Vzc2FyeS4gV2UgY2FuIGFsd2F5cyBkbyB0aGUgdHJhbnNmb3JtYXRpb24gaW4gcGxhY2UuCgoyMDE2LTAxLTA4IDEyOjM5OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBkbyBweXJhbWlkc2VnbWVudCdzIHRyYW5zZm9ybWF0aW9uIGluIHBsYWNlCgkgIFJ1biB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIG9mIHB5cmFtaWRzZWdtZW50IGluIHBsYWNlLCByZXVzaW5nIHRoZSBpbWFnZQoJICBkYXRhIGFzIGJvdGggc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpbiBjdlB5clNlZ21lbnRhdGlvbi4gVGhpcyBhdm9pZHMKCSAgY29weWluZyB0aGUgaW1hZ2UgYmFjayBhbmQgZm9ydGggYW5kIHRoZSBleHRyYSBtZW1vcnkuCgoyMDE2LTAxLTA3IDE1OjIxOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBobHNkZW11eDogYWRkIHRlc3QgZm9yIHVwZGF0aW5nIHNlZ21lbnQgc3RvcAoJICBBZGQgYSB0ZXN0IGZvciBzZWVraW5nIHRoYXQgb25seSB1cGRhdGVzIHN0b3AgcG9zaXRpb24gYW5kIHZlcmlmaWVzCgkgIHRoYXQgc3RhcnQgaXMgdW5tb2RpZmllZAoKMjAxNi0wMS0wNyAxNToyMToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2Vla2luZyB0aGF0IGp1c3QgdXBkYXRlcyBzdG9wIHBvc2l0aW9uCgkgIEZpeGVkIGFkYXB0aXZlZGVtdXggc2Vla2luZyB3aXRob3V0IGZsdXNoaW5nIHRoYXQganVzdCB3YW50cwoJICB0byB1cGRhdGUgc3RvcCBwb3NpdGlvbi4gVGhpcyByZXF1aXJlZCBwcm90ZWN0aW5nIHRoZSBzZWdtZW50CgkgIHZhcmlhYmxlcyB3aXRoIGEgbmV3IG11dGV4IHNvIHRoYXQgdGhlIHNlZWtpbmcgdGhyZWFkIGFuZCB0aGUKCSAgZG93bmxvYWQgdGhyZWFkcyBjb3VsZCBzYWZlbHkgbWFuaXB1bGF0ZSB0aGUgc2VnbWVudCBhbmQKCSAgZXZlbnRzIHJlbGF0ZWQgdG8gaXQuCgkgIFRoaXMgY29udGVudGlvbiBpcyBvbmx5IGxvY2tlZC91bmxvY2tlZCB3aGVuIHN0YXJ0aW5nIGEgbmV3CgkgIGRvd25sb2FkLCB3aGVuIHRoZSBmaXJzdCBmcmFnbWVudCBvZiBhIHNlZ21lbnQgaXMgcmVjZWl2ZWQgYW5kCgkgIHdoZW4gc2Vla2luZyBzbywgaG9wZWZ1bGx5LCBpdCB3b24ndCBkYW1hZ2UgcGVyZm9ybWFuY2UuCgoyMDE2LTAxLTA2IDE2OjUxOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWdtZW50IHVwZGF0ZSBvbiBzZWVrcwoJICBGaXhlcyB0eXBvIG9uIHJldmVyc2UgcmF0ZSBjaGVjayBhbmQgYWxzbyBvbmx5IHVwZGF0ZSB0aGUKCSAgcG9zaXRpb24gd2hlbiB0aGUgc3RhcnQvc3RvcCB3YXMgYWN0dWFsbHkgY2hhbmdlZC4KCjIwMTYtMDEtMDcgMTg6MTA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBEb24ndCBzdG9yZSBwb2ludGVycyBpbiBzdGFjayBhbGxvY2F0ZWQgZ3VpbnRzCgkgIFRoaXMgd29ya3MgdXN1YWxseSBpbiB0aGlzIHBsYWNlLCB1bmxlc3MgdGhlIGNvbXBpbGVyIG9wdGltaXplcyB0aGluZ3MgaW4KCSAgaW50ZXJlc3Rpbmcgd2F5cyBpbiB3aGljaCBjYXNlIGl0IGNhdXNlcyBzdGFjayBjb3JydXB0aW9uIGFuZCBjcmFzaGVzIGxhdGVyLgoJICBUaGUgY29tcGlsZXIgaW4gcXVlc3Rpb24gaGVyZSBpcyBjbGFuZyB3aXRoIC1PMSwgd2hpY2ggc2VlbXMgdG8gcGFjayB0aGUgc3RhY2sKCSAgYSBiaXQgbW9yZSBhbmQgY2F1c2VzIHdyaXRpbmcgdG8gdGhlIGd1aW50IGFzIHBvaW50ZXIgdG8gb3ZlcndyaXRlIG1hcC5tZW1vcnksCgkgIHdoaWNoIHRoZW4gbGF0ZXIgY3Jhc2hlcyBkdXJpbmcgdW5tYXBwaW5nIG9mIHRoZSBtZW1vcnkuCgoyMDE2LTAxLTA3IDE4OjAyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogSW5pdGlhbGl6ZSBib29sZWFuIHRvIEZBTFNFIHRvIGZpeCB2YWxncmluZCB3YXJuaW5nCgkgIFNlZW1zIHRvIGJlIGEgZmFsc2Ugd2FybmluZyB0aG91Z2guCgoyMDE2LTAxLTA3IDE0OjA4OjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBvbmx5IGZsdXNoIHdpdGggYSBzaGFyZWQgY29udGV4dAoJICBUaGUgd2FpdCBjb2RlIHdpbGwgZmx1c2ggZm9yIHVzIGZvciBzaW5nbGUgY29udGV4dCBwaXBlbGluZXMuCgoyMDE2LTAxLTA3IDE0OjAyOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBpbXBsZW1lbnQgY2hlY2tpbmcgd2hldGhlciBhIGNvbnRleHQgaGFzIGJlZW4gc2hhcmVkCgkgIFNvbWUgb3BlcmF0aW9ucyBhcmUgdW5uZWNlc3Nhcnkgd2hlbiBydW5uaW5nIHdpdGggb25seSBhIHNpbmdsZSBHTAoJICBjb250ZXh0LgoJICBlLmcuIGdsRmx1c2ggd2hlbiBzZXR0aW5nIGEgZmVuY2Ugb2JqZWN0IGFzIHRoZSBmbHVzaCBoYXBwZW5zIG9uIHdhaXQuCgkgIEFQSTogZ3N0X2dsX2NvbnRleHRfaXNfc2hhcmVkCgoyMDE2LTAxLTA2IDE0OjU0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHV0IGJvb2xlYW4gdmFsdWVzIGludG8gZ2Jvb2xlYW4gdmFyaWFibGVzCgkgIEFuZCByZW1vdmUgc3VwZXJmbHVvdXMgYXNzaWdubWVudHMuCgoyMDE2LTAxLTA2IDE2OjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBPbmx5IHNldCB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBpbiBwbGF5KCkgaWYgYnVmZmVyaW5nPj0xMDAlCgkgIE90aGVyd2lzZSB0aGUgYXBwbGljYXRpb24gY2FuIGJyZWFrIHRoZSBidWZmZXJpbmcgbG9naWMgYnkgc2V0dGluZyB0aGUKCSAgcGlwZWxpbmUgdG8gUExBWUlORyBiZWZvcmUgd2UgYnVmZmVyZWQgZW5vdWdoLgoKMjAxNi0wMS0wNSAxNzo0MToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdGVzdHMgZm9yIHBvc3Qtc2VlayBzZWdtZW50IGJvdW5kYXJpZXMgY2hlY2sKCSAgQ2hlY2tzIGlmIHRoZSBwb3N0IHNlZWsgc2VnbWVudCBpcyB3aGF0IGlzIGV4cGVjdGVkLgoJICBBbHNvIG1ha2VzIGl0IGVhc3kgdG8gYWRkIG1vcmUgdGVzdHMgd2l0aCBkaWZmZXJlbnQgc2Vla2luZyBmbGFncyB1c2luZyB0aGUKCSAgc2FtZSBmdW5jdGlvbnMuCgoyMDE2LTAxLTA1IDEwOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBhZGQgdGVzdHMgZm9yIHNlZWsgd2l0aCByZXZlcnNlIHJhdGUgYW5kIHNuYXAgZmxhZ3MKCSAgQWRkIHRlc3RzIHRvIGVuc3VyZSBzbmFwIGZsYWdzIHdvcmsgYXMgZXhwZWN0ZWQgZm9yIHJldmVyc2UKCSAgcmF0ZXMKCjIwMTYtMDEtMDUgMTA6Mzk6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc3RvcCByZXZlcnNlIHBsYXliYWNrIHdoZW4gd2UgcmVhY2ggdGhlIGxpbWl0CgkgIEF2b2lkcyBkb3dubG9hZGluZyBhbmQgcHVzaGluZyBhIGZ1bGwgc2VnbWVudCBqdXN0IHRvIGdldCAxIG5hbm9zZWNvbmQKCSAgb2YgZGF0YS4gVGhpcyBoYXBwZW5zIGZyZXF1ZW50bHkgd2hlbiBzZWVraW5nIGlzIGRvbmUgd2l0aCBmbGFncwoJICB0aGF0IGFkanVzdCB0byBib3VuZGFyaWVzIG9yIHdoZW4gdGhlIHN0YXJ0IGlzIGFsaWduZWQgd2l0aCBzZWdtZW50CgkgIHN0YXJ0cy4gVGhlIGxhdGVyIGlzIGNvbW1vbiB3aGVuIHNlZ21lbnQgZHVyYXRpb25zIGlzIGEgbXVsdGlwbGUgb2YKCSAgYSBzZWNvbmQuCgoyMDE2LTAxLTA1IDA5OjE2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBzZWVrIHdpdGggc25hcCBmbGFncwoJICBQcm9wZXJseSBoYW5kbGUgc25hcCBmbGFncyBkdXJpbmcgcmV2ZXJzZSBzZWVraW5nLiBJbiB0aGlzIGNhc2UKCSAgdGhlIGJlZm9yZS9hZnRlciBhcmUgYWxzbyByZXZlcnNlZCwgc28gaGFuZGxlIHRob3NlIGFzIHN1Y2guCgkgIEZvciBleGFtcGxlOiB3aXRoIGEgc2VxdWVuY2Ugb2YgMXMgZnJhZ21lbnRzOgoJICB8LS0gMCAtLXwtLSAxIC0tfC0tIDIgLS18LS0gMyAtLXwKCSAgSWYgeW91IHNlZWsgdG8gMS41cyBpdCBpcyBpbnNpZGUgZnJhZ21lbnQgMS4gV2l0aCByZXZlcnNlIGFuZAoJICBzbmFwLWJlZm9yZTogc2hvdWxkIHBsYXkgZnJvbSB0aGUgZW5kIG9mIGZyYWdtZW50IDEKCSAgc25hcC1hZnRlcjogc2hvdWxkIHBsYXkgZnJvbSB0aGUgZW5kIG9mIGZyYWdtZW50IDAKCjIwMTYtMDEtMDUgMDk6MDE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY29ycmVjdGx5IHRyYWNrIHNlZ21lbnQucG9zaXRpb24gaW4gcmV2ZXJzZSBwbGF5YmFjawoJICBGb3IgcmV2ZXJzZSwgc2V0IHBvc2l0aW9uIHRvIHNlZ21lbnQuc3RvcCB3aGVuIHN0YXJ0aW5nIGFuZCBhbHNvCgkgIGRvbid0IHNldCB0aGUgcG9zaXRpb24gdG8gZnJhZ21lbnQgZW5kIHRpbWVzdGFtcCB3aGVuIGl0IGZpbmlzaGVzLAoJICBqdXN0IGxlYXZlIGl0IGF0IHRoZSBmcmFnbWVudCBzdGFydC4KCjIwMTYtMDEtMDUgMDg6NTk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNpbXBsaWZ5IHNuYXAgZmxhZ3MgY2hlY2tpbmcKCSAgUmVwbGFjZToKCSAgaWYgKGJvb2xlYW4pIHZhciA9IHRydWU7CgkgIHdpdGg6CgkgIHZhciA9IChib29sZWFuKTsKCjIwMTUtMTItMjggMDI6MTg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlc3BlY3Qga2V5dW5pdCBmbGFnIGZvciBwb3NpdGlvbgoJICBTZXQgdGhlIHNlZ21lbnQgc3RhcnQgcG9zaXRpb24gd2hlbiBrZXl1bml0IGZsYWcgaXMgYWN0aXZlCgoyMDE1LTEyLTI0IDE4OjQ5OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBobHNfZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc2Vla2luZyBzZWdtZW50CgkgIFRlc3RzIHRoYXQgY2hlY2sgdGhhdCB0aGUgc2VnbWVudCBzZW50IGFmdGVyIGEgc2VlayBpcyBjb3JyZWN0LgoJICBBbGxvd3MgdGVzdGluZyB0aGF0IG11bHRpcGxlIHNlZWtpbmcgZmxhZ3Mgd29yayBhcyBleHBlY3RlZAoKMjAxNS0xMi0yNCAwOToyNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIHRlc3RzOiBhZGFwdGl2ZV9kZW11eDogYWRkIGZ1bmN0aW9uIHRvIGJlIGFibGUgdG8gY2hlY2sgZGVtdXhlciBldmVudHMKCSAgQWxsb3dzIHdyaXRpbmcgdGVzdHMgdGhhdCB2ZXJpZnkgdGhhdCBldmVudHMgYXJlIGNvcnJlY3QuCgkgIFVzZWZ1bCB0byBtb25pdG9yIGFuZCBjaGVjayBzZWdtZW50cyBhZnRlciBzZWVrcywgZm9yIGV4YW1wbGUuCgoyMDE1LTEyLTIzIDE1OjI1OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBhZGFwdGl2ZTogdXBkYXRlIHRvIGFsbG93IG1vcmUgZmxleGlibGUgc2Vla2luZyB0ZXN0cwoJICBBbGxvd3MgZGVmaW5pbmcgYSBzZWVrIGV2ZW50IHRvIGJlIGFibGUgdG8gY2hhbmdlIHNlZWtpbmcgcGFyYW1ldGVycwoJICBhbmQgY3JlYXRlIG1vcmUgc2Vla2luZyB0ZXN0IHNjZW5hcmlvcwoKMjAxNS0xMi0yMyAxNToyMzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBobHNkZW11eDogZml4IG1ha2VmaWxlIHZhcmlhYmxlIHR5cG8KCjIwMTYtMDEtMDYgMTY6NTA6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGVuYWJsZSByZW5lZ290aWF0aW9uCgkgIFdlIGNhbiBhY3R1YWxseSByZW5lZ290aWF0ZSBub3csIHNvIHJlbW92ZSBvbGQgY2hlY2sgd2hpY2ggZGlzYWJsZWQgaXQuCgoyMDE2LTAxLTA2IDE2OjI1OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcGxlbWVudCB1c2FnZSBvZiBhIGJ1ZmZlciBwb29sCgkgIFNhdmVzIHVubmVjZXNzYXJ5IGdsR2VuVGV4dHVyZXMgYW5kIGdsRGVsZXRlVGV4dHVyZXMgd2hpY2ggbWF5IGhhdmUgYQoJICBub24tdHJpdmlhbCBjb3N0LgoKMjAxNi0wMS0wNiAxNTo1MDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IGZpeCBjb3B5aW5nIEdzdEdMQWxsb2NhdGlvblBhcmFtcwoJICBGaXhlcyBhIEdTVF9JU19HTF9DT05URVhUIGNyaXRpY2FsCgoyMDE2LTAxLTA2IDE1OjQ0OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IHJlbW92ZSB1bnVzZWQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5Njc5CgoyMDE2LTAxLTA2IDEzOjIwOjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBzbWFsbCBuZWdvdGlhdGlvbiBmaXgKCSAgRml4IG5lZ290aWF0aW9uIHdoZW4gR0xNZW1vcnkgaXMgcmVxdWVzdGVkIGJ1dCBhIGNvbnRleHQgaXMgbm90IGF2YWlsYWJsZQoKMjAxNi0wMS0wNiAxMTo0MDozOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogYWNjZXB0IFVZVlkgb24gTWFjCgkgIFdoZW4gZG9pbmcgR0xNZW1vcnkgYXZmdmlkZW9zcmMgbmVnb3RpYXRlcyBVWVZZLiBUaGlzIGNoYW5nZSBhbGxvd3MgYXZmdmlkZW9zcmMKCSAgISB0ZWUgbmFtZT10ICEgLi4uICEgZ2xpbWFnZXNpbmsgdC4gISAuLi4gISBnbGRvd25sb2FkICEgdnRlbmNfaDI2NCAhIC4uLgoJICB0byBkbyBHTE1lbW9yeSBhbmQgMC1jb3B5IHdpdGggdGhlIGVuY29kZXIgKHdpdGggdGhlIENWIG1ldGEpLgoKMjAxNi0wMS0wNiAxMToyOToxNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogY2hhbmdlIHRleHR1cmUgZm9ybWF0IGZyb20gQkdSQSB0byBOVjEyIG9uIGlPUwoJICBDaGFuZ2UgdGV4dHVyZSBmb3JtYXQgZnJvbSBCR1JBIHRvIE5WMTIuIFRoaXMgYWxsb3dzIGEgcGlwZWxpbmUgbGlrZSBhdmZ2aWRlb3NyYwoJICAhIHRlZSBuYW1lPXQgISAuLi4gISBnbGltYWdlc2luayB0LiAhIC4uLiAhIGdsZG93bmxvYWQgISB2dGVuY19oMjY0ICEgLi4uICB0bwoJICBuZWdvdGlhdGUgR0xNZW1vcnkuIFRoaXMgbWFrZXMgdGhlIGdsaW1hZ2VzaW5rIGJyYW5jaCBtdWNoIGZhc3RlciAob2J2aW91c2x5KQoJICBhbmQgdHJpZ2dlcnMgdGhlIDAtY29weSBwYXRoIGJldHdlZW4gYXZmdmlkZW9zcmMgYW5kIHZ0ZW5jICh1c2luZyB0aGUgQ1YgbWV0YSkuCgkgIENvbWJpbmVkIHRoaXMgcmVzdWx0cyBpbiBhIGh1Z2UgcGVyZiBpbXByb3ZlbWVudCBvbiBpT1MgKDI1LTMwJSBvZiBDUFUgdGltZSBpbiBhCgkgIHBpcGVsaW5lIGxpa2UgdGhlIG9uZSBhYm92ZSkuCgkgIE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgaW50cm9kdWNlIGEgbmV3IHNoYWRlciBjb252ZXJzaW9uIGluIHRoZSBzaW5rLCBzaW5jZSBCR1JBCgkgIHRleHR1cmVzIGhhZCB0byBiZSBjb3BpZWQvY29udmVydGVkIGZyb20gZm9ybWF0PUJHUkEsdGV4dHVyZS10YXJnZXQ9UkVDVEFOR0xFIHRvCgkgIGZvcm1hdD1SR0JBLHRleHR1cmUtdGFyZ2V0PTJEIGFueXdheS4KCjIwMTYtMDEtMDQgMjA6MjY6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1cGxvYWQ6IGFsd2F5cyBhZGQgdGV4dHVyZS10YXJnZXQgZmllbGQgdG8gR0wgY2FwcwoJICAxLiBWYXJpb3VzIGVsZW1lbnRzL2Jhc2UgY2xhc3NlcyBvbmx5IHBlcmZvcm0gYSBzdWJzZXQgY2hlY2sgb24gYWNjZXB0LWNhcHMKCSAgMi4gU29tZSBHTCBlbGVtZW50cyBoYXZlIHRleHR1cmUtdGFyZ2V0IGluIHRoZWlyIHBhZCB0ZW1wbGF0ZQoJICAzLiBXaGVuIGNoZWNraW5nIHN1YnNldHMsIG9ubHkgdGhlIGNhcHMgdG8gY2hlY2sgYXJlIGFsbG93ZWQgdG8gY29udGFpbiBleHRyYQoJICBmaWVsZHMuICBJZiB0aGUgJ3RlbXBsYXRlJyBjYXBzIGhhdmUgZXh0cmEgZmllbGRzLCB0aGUgc3Vic2V0IGZhaWxzLgoJICBUaHVzIHdpdGhvdXQgdGV4dHVyZS10YXJnZXQgb24gdGhlIGNhcHMsIHZhcmlvdXMgYWNjZXB0LWNhcHMgaW1wbGVtZW50YXRpb25zCgkgIHdlcmUgZmFpbGluZy4KCSAgQWxzbywgYWRkIHNvbWUgY29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBzZXR0aW5nIGFuZCByZXRyaWV2aW5nCgkgIHRleHR1cmUgdGFyZ2V0cyB0by9mcm9tIEdWYWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTg2MAoKMjAxNS0xMi0yOSAxODoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBwYXNzdGhyb3VnaCBjb21wb3NpdGlvbiBjYXBzIGZlYXR1cmVzCgkgIERvbid0IHVuY29uZGl0aW9uYWxseSBhZGQgaXQgdG8gYW55IGFuZCBhbGwgY2FwcyB0cmFuc2Zvcm1hdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4NjAKCjIwMTYtMDEtMDQgMDk6NTI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBSZW1vdmUgZ3N0X3BsYXllcl9uZXcoKSBhbmQgbWFrZSBnc3RfcGxheWVyX25ld19mdWxsKCkgdGhlIG5vcm1hbCBjb25zdHJ1Y3RvcgoJICBJbiB2ZXJ5IGZldyBjYXNlcyB0aGUgc2ltcGxlIHZlcnNpb24gd2FzIGFjdHVhbGx5IG5lZWRlZCBhbmQgaGF2aW5nIHRoZQoJICBwYXJhbWV0ZXJzIGhpZGRlbiBieSBhIF9mdWxsKCkgdmVyc2lvbiBjYXVzZWQgYXBwbGljYXRpb24gdGhhdCBhY3R1YWxseSBuZWVkZWQKCSAgaXQgdG8gbm90IHVzZSBpdC4KCjIwMTYtMDEtMDQgMDE6MDM6MDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogRml4IHN0ZXJlb3Njb3BpYyBoYW5kbGluZyB3LyB0ZXh0dXJlLXRhcmdldAoJICBUaGUgYWRkaXRpb24gb2YgdGV4dHVyZS10YXJnZXQgbmVnb3RpYXRpb24gYnJva2Ugc3RlcmVvc2NvcGljCgkgIGhhbmRsaW5nIHdoZW4gbm90IGluIHBhc3N0aHJvdWdoIG1vZGUsIHNvIGZpeCB0aGF0LgoKMjAxNS0xMC0wNyAxODo1Mzo0MyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZXBsYWNlIGR1cGxpY2F0ZWQgY29kZXMgdG8gY2FsbCBuZXcgYmFzZSBzZHAgYXBpcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODgwCgoyMDE1LTEyLTMwIDE4OjAwOjQ3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9SRUFETUU6CgkgIHJ0bXA6IHJlZmVyIHRvIGJvdGggZWxlbWVudHMgaW4gdGhlIFJFQURNRQoKMjAxNS0xMi0yOSAxNDozNToxNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBjaGVjayBmb3IgZmFpbGVkIFJUTVAgY29udGV4dCBhbGxvYwoJICBBdm9pZHMgYW4gdW5saWtlbHkgY3Jhc2guCgkgIEFyZ3VhYmx5LCBpZiBhbGxvY2F0aW9uIGZhaWxzIHdlIGhhdmUgbm8gY2hhbmNlIG9mCgkgIHJlY292ZXJpbmcgYnV0IG5vbmV0aGVsZXNzLCBSVE1QX0FsbG9jIGNhbiBmYWlsIGFuZAoJICBsaWJydG1wJ3MgUlRNUF9pbml0KCkgKGNhbGxlZCBuZXh0KSBhc3N1bWVzIGEgbm9uLU5VTEwKCSAgcG9pbnRlciBpcyBwYXNzZWQgd2l0aG91dCBjaGVja2luZy4KCSAgQWRkaXRpb25hbGx5LCB1bmlmeSBleGl0IHBhdGggb24gZXJyb3IuCgoyMDE1LTEyLTI5IDE0OjE2OjU4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogY2hlY2sgZm9yIGZhaWxlZCBSVE1QIGNvbnRleHQgYWxsb2MKCSAgQXZvaWRzIGFuIHVubGlrZWx5IGNyYXNoLgoJICBBcmd1YWJseSwgaWYgYWxsb2NhdGlvbiBmYWlscyB3ZSBoYXZlIG5vIGNoYW5jZSBvZgoJICByZWNvdmVyaW5nIGJ1dCBub25ldGhlbGVzcywgUlRNUF9BbGxvYyBjYW4gZmFpbCBhbmQKCSAgbGlicnRtcCdzIFJUTVBfaW5pdCgpIChjYWxsZWQgbmV4dCkgYXNzdW1lcyBhIG5vbi1OVUxMCgkgIHBvaW50ZXIgaXMgcGFzc2VkIHdpdGhvdXQgY2hlY2tpbmcuCgkgIEFkZGl0aW9uYWxseSwgdW5pZnkgZXhpdCBwYXRoIG9uIGVycm9yLgoKMjAxNS0xMi0yOSAxMTo1ODozMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJICBydG1wOiBjb3JyZWN0IGxpYnJ0bXAgbG9nLWxldmVsIG1hcHBpbmdzCgkgIEFkZGl0aW9uYWxseSwgbW92ZSB0byBhIHN3aXRjaCBpbiBfc2V0X2RlYnVnX2xldmVsKCkKCSAgdG8gbWFrZSBlYXNpZXIgdG8gZm9sbG93IGFuZCBjb21wYXJlIHdpdGggdGhlCgkgIG1hcHBpbmdzIGluIF9sb2dfY2FsbGJhY2soKQoKMjAxNS0xMi0zMCAxMzoxNjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBtaW5vciBjbGVhbi11cAoJICBSZW1vdmUgc2V0dGluZyBvZiBwYXJzZXIgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlLAoJICB0aGF0IG1ha2VzIG5vIHNlbnNlIChhbmQgY292ZXJpdHkgaXMgbm8gZG91YnQgZ29pbmcKCSAgdG8gY29tcGxhaW4gYWJvdXQgaXQpLgoKMjAxNS0xMi0zMCAxMzoxMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBmaXggbWFjcm8gbmFtZXNwYWNpbmcgYW5kIHJlbmFtZSBHc3RWcDlJbnRlcnBGaWx0ZXIKCjIwMTUtMTItMzAgMTM6MDg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZwOTogZml4IGRvYyB0eXBvcyBhbmQgc3ByaW5rbGUgc29tZSBTaW5jZSBtYXJrZXJzCgoyMDE1LTEyLTMwIDExOjAzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBtb3ZlIGxpY2Vuc2UgYmx1cmIgaW50byBoZWFkZXIgYW5kIHJlbW92ZSBhdXggZmlsZXMKCSAgVGhpcyBpcyBqdXN0IGEgYnVuY2ggb2YgbG9va3VwIHRhYmxlcy4uCgoyMDE1LTEyLTMwIDExOjU0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBVcGRhdGUgbGliZ3N0Y29kZWNwYXJzZXJzLmRlZiB3aXRoIHRoZSBuZXcgc3ltYm9scwoKMjAxNS0xMi0zMCAxMTo1NDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIGFub3RoZXIgR19HTlVDX0lOVEVSTkFMCgoyMDE1LTEyLTMwIDExOjQwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IFNwcmVhZCBzb21lIEdfR05VQ19JTlRFUk5BTCBpbiB2YXJpb3VzIHBsYWNlcwoKMjAxNS0xMi0zMCAxMTozODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSAgdnA5cGFyc2VyOiBGaXggaW5kZW50YXRpb24gdG8gbWFrZSBnc3QtaW5kZW50IGhhcHBpZXIKCjIwMTUtMTItMzAgMTE6MzY6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgdnA5cGFyc2VyOiBSZW5hbWUgc3ltYm9scyB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdHMKCSAgQWxzbyBtYWtlIGNsYW1wKCkgYSBzdGF0aWMgZnVuY3Rpb24gZm9yIHRoZSBzYW1lIHJlYXNvbiBhbmQgdXNlIENMQU1QIChhcwoJICBkZWZpbmVkIGJ5IEdMaWIpIGluIHRoZSBHU3RyZWFtZXIgY29kZS4KCjIwMTUtMTItMzAgMTE6MTk6MzMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5MSUNFTlNFOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLlBBVEVOVFM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBWUDkgY29kZWMgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc1OTcKCjIwMTUtMTItMzAgMTI6MTI6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogZml4IHdyYXBwaW5nIGRhdGEgb24gR0wgMi4xCgkgIEdMIDIuMSBvbmx5IHN1cHBvcnRzIHBibyB1cGxvYWQuCgkgIFRoZSB3cmFwcGVkIGRhdGEgcG9pbnRlciB3YXMgb25seSBiZWluZyBzZXQgb24gdGhlIHBibyBtZW1vcnkgYW5kIG9uIHRoZQoJICBnbG1lbW9yeSBzbyB3aGVuIGEgZG93bmxvYWQgd2FzIHJlcXVlc3RlZCAoaW4gR0wgMi4xKSwgZ2xtZW1vcnkgd2FzCgkgIGFsbG9jYXRpbmcgYSBuZXcgZGF0YSBwb2ludGVyIGFuZCB0aHVzIG5vdCByZXR1cm5pbmcgdGhlIHdyYXBwZWQgZGF0YS4KCjIwMTUtMTItMzAgMTI6MTE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogb25seSBjcmVhdGUgYSBwYm8gbWVtb3J5IGlmIHRoZSBjb250ZXh0IGFjdHVhbGx5IHN1cHBvcnRzIGl0CgkgIGUuZy4gR0wgPD0gMi4wIGRvZXMgbm90IHN1cHBvcnQgcGJvIHVzYWdlIGFuZCBHTCAyLjEgb25seSBzdXBwb3J0cyBwYm8gdXBsb2FkLgoKMjAxNS0xMi0zMCAxMjowOToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeTogc21hbGwgY29kZSByZWZvcm1hdAoJICBtYWtlcyB0aGUgYWxsb2NfcGFyYW1zIHNlbGVjdGlvbnMgZml0IG9uIGEgc2luZ2xlIGxpbmUuCgoyMDE1LTEyLTMwIDEyOjA2OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIHRlc3RzL2dsbWVtb3J5OiBvdXRwdXQgZGF0YSBwb2ludGVyIHZhbHVlcyBvbiBmYWlsdXJlCgkgIEFsbG93cyBxdWlja2VyIGluc3BlY3Rpb24gb2Ygd2hhdCBmYWlsZWQuCgoyMDE1LTEyLTI5IDE3OjA0OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogZml4IHNoYWRlciBjb21waWxhdGlvbiB3aXRoIGxlZ2FjeSBvcGVuZ2wKCSAgQWxsIHRoZSBnbGVmZmVjdHMgc2hhZGVycyBjYW4gYmUgcnVuIGFnYWluc3QgYSBnbGVzMiBvciBhIGxlZ2FjeSBvcGVuZ2wgZ2xzbAoJICBjb21waWxlciBidXQgd2VyZW4ndCBiZWluZyBhZHZlcnRpc2VkIGFzIHN1Y2guCgkgIEZpeGVzIGdsZWZmZWN0cyB1bmRlciBkZXNrdG9wIG9wZW5nbCA8IDMuMi4KCjIwMTUtMTItMjkgMTg6MDE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogUmVtb3ZlIGJvZ3VzIE5VTEwgY2hlY2sKCSAgQ0lEIDEzNDY1MzQKCjIwMTUtMTItMjkgMTA6NTc6MzYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IG91dHB1dCBhdCBoaWdoZXN0IGZwcy9yZXNvbHV0aW9uIGJ5IGRlZmF1bHQKCSAgRml4YXRlIHRvIHRoZSBoaWdoZXN0IHBvc3NpYmxlIHJlc29sdXRpb24gYW5kIGZwcy4gT3RoZXJ3aXNlIGJ5IGRlZmF1bHQgd2UgZW5kCgkgIHVwIGZpeGF0aW5nIGF0IDJmcHMgYW5kIHRoZSBsb3dlc3Qgc3VwcG9ydGVkIHJlc29sdXRpb24sIHdoaWNoIGlzIGhhcmRseSB3aGF0CgkgIHNvbWVvbmUgd2hvIGJvdWdodCBhbiBvdmVycHJpY2VkIHNtYXJ0cGhvbmUgd2FudHMuCgoyMDE1LTEyLTI4IDE1OjUzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdsOiBBZGQgXDAgdGVybWluYXRvcnMgZm9yIHRoZSBBcHBsZSBzeW5jIGV4dGVuc2lvbgoJICBPdGhlcndpc2UgR0wgaW5pdGlhbGl6YXRpb24gbWlnaHQgY2hlY2sgZm9yIGV4dGVuc2lvbnMgZm9yZXZlciBhbmQgbmV2ZXIgZmluaXNoZXMuCgoyMDE1LTEyLTI4IDE0OjQxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEFkZCBzb21lIGRlYnVnIG91dHB1dCB3aGVuIHRoZSBHTCB0aHJlYWQgaXMgYWN0dWFsbHkgcnVubmluZwoKMjAxNS0xMi0yMiAxMToyMzoxOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmVkIHVubmVjZXNzYXJ5IHNwYWNlIHRyaW1taW5nIGluIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfaGVhZAoJICBzc2NhbmYgaGFzIHJlbW92ZWQgYWxsIHNwYWNlcyB3aGVuIGl0IGhhcyBjb25zdHJ1Y3RlZCB6b25lIHN0cmluZy4gVGhlcmUgaXMKCSAgbm8gbmVlZCB0byBzZWFyY2ggZm9yIGxlYWRpbmcgc3BhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQzCgoyMDE1LTEyLTIxIDE0OjUwOjE1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFjY2VwdCAyIG9yIDQgZGlnaXQgeWVhciB3aGVuIHVzaW5nIEhUVFAgSEVBRCBmb3IgY2FsY3VsYXRpbmcgY2xvY2sgY29tcGVuc2F0aW9uCgkgIENvbnZlcnQgeWVhciBmcm9tIDIgZGlnaXRzIHRvIDQgZGlnaXRzIGluIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfaGVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQzCgkgIEFsc28gdXBkYXRlZCByZWZlcmVuY2VzIHRvIFJmYzgyMiB0byBSZmM1MzIyCgoyMDE1LTEyLTI3IDExOjM3OjA5ICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGZpeCB1c2FnZSBkb2MKCSAgVGhlIHByb3BlcnR5IGxvY2F0aW9uIGhhcyBiZWVuIGNoYW5nZWQgaW4gZmF2b3Igb2YgdmVydGV4L2ZyYWdtZW50CgkgIHN0cmluZyBwcm9wZXJ0aWVzOyB0aGUgZG9jIGhhZCBub3QgYmVlbiB1cGRhdGVkIGFuZCB3YXMgc3RpbGwgcmVmZXJyaW5nCgkgIHRvIHRoZSBwcmV2aW91cyBwcm9wZXJ0eTsgYWxzbywgbm93IHRoZSAjdmVyc2lvbiBoZWFkZXIgaGFzIGJlY29tZSBtYW5kYXRvcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTkwMgoKMjAxNS0xMi0yNiAyMjozNDoyOSArMDEwMCAgRmxvcmVudCBUaGnDqXJ5IDxmbG9yZW50LnRoaWVyeUB1YmljYXN0LmV1PgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBQb3N0IHVuaGFuZGxlZCBuYXZpZ2F0aW9uIGV2ZW50cyBvbiB0aGUgYnVzCgkgIEJhc2VkIG9mZiB4dmltYWdlc2luayBpbXBsZW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODY5CgoyMDE1LTEyLTI3IDIyOjMyOjIyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBzcGxpdHRpbmcgb2YgUkdCIGNvbG9yIHN0cmluZwoJICBObyBuZWVkIHRvIGF0dGVtcHQgc3BsaXR0aW5nIHRoZSBSR0Igc3RyaW5nIGluIDI1NSB0b2tlbnMKCSAgaWYgd2Ugb25seSBleHBlY3QgMy4KCSAgTGVmdCBtYXhfdG9rZW5zIGF0IDQgdG8gcHJlc2VydmUgdGhlIGN1cnJlbnQgbG9naWMgKHdoaWNoCgkgIGFsbG93cyBmb3IgZXh0cmEgc3R1ZmYgYXQgdGhlIGVuZCkgYW5kIGFkZGVkIGEgd2FybmluZyBvbgoJICBwYXJzaW5nIGZhaWx1cmUgaW5zdGVhZCBvZiBzaWxlbnRseSBkaXNjYXJkaW5nIHRoZSB2YWx1ZS4KCjIwMTUtMTItMjcgMjE6MjM6MzcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IHR5cG8gaW4gaGVhZGVyCgoyMDE1LTEyLTI3IDIxOjE5OjE5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBtaXNsZWFkaW5nIHdhcm5pbmcgbWVzc2FnZQoJICBjYWxjdWxhdGVfbW90aW9uICE9IEZBTFNFIG1lYW5zIHRoZSBtb3Rpb24gY29tcHV0YXRpb24KCSAgbG9naWMgaXMgZGlzYWJsZWQsIG5vdCBhIG1hcHBpbmcgZXJyb3IuCgoyMDE1LTEyLTI3IDIxOjExOjE4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IHJld29yayBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCjIwMTUtMTItMjcgMDE6MTE6NDIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogdXNlIE5VTEwgaW5zdGVhZCBvZiBnX3N0cmR1cChOVUxMKQoKMjAxNS0xMi0yOCAwOTowNDoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBGaXggYnVpbGQgZXJyb3IKCSAgV2hlbiBHU1RfR0xfSEFWRV9QTEFURk9STV9FR0wgaXMgbm90IGRlZmluZWQsIHRoZW4gaW5mbyB2YXJpYWJsZQoJICB3aWxsIG5vdCBiZSB1c2VkIGFuZCB0aGlzIHJlc3VsdHMgaW4gYnVpbGQgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTkxMwoKMjAxNS0xMi0yNCAxNToyODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjEgPT09CgoyMDE1LTEyLTI0IDE0OjI4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjEKCjIwMTUtMTItMjQgMTQ6MDA6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0xMi0yNCAxMjoyMzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMTItMjMgMjM6MTM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BjYXBwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE1LTEyLTIzIDIzOjEwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkgIHRlc3RzOiBwY2FwcGFyc2U6IGFkZCBjaGVjayBmb3IgMC1zaXplZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzMKCjIwMTUtMTItMjMgMjA6MjQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGRvbid0IGNyYXNoIG9uIDAtc2l6ZWQgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTczCgoyMDE1LTEyLTIzIDEzOjA2OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uCgoyMDE1LTEyLTIzIDEzOjA0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci5wYy5pbjoKCSAgcGxheWVyOiBBZGQgcGtnLWNvbmZpZyBmaWxlcwoKMjAxNS0xMi0yMyAxMjoxNjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IEVuYWJsZSBwbGF5ZXIgdGVzdHMgYnkgZGVmYXVsdAoJICBUaGlzIHdpbGwgYmUgYXV0b21hdGljYWxseSBiZSB1cGRhdGVkIHRvZ2V0aGVyIHdpdGggdGhlIG5leHQgY29tbW9uIHVwZGF0ZQoJICBhZ2Fpbi4KCjIwMTUtMTItMjMgMDk6NTU6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IEFkZCB1bml0IHRlc3QgdGhhdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0CgkgIFRoZSB1bml0IHRlc3QgaXMgZG93bmxvYWRpbmcgYSBmZXcgc21hbGwgbWVkaWEgZmlsZXMgZnJvbSB0aGUgSW50ZXJuZXQsCgkgIHdoaWNoIGFyZSB0aGVuIHVzZWQgZHVyaW5nIHRoZSB0ZXN0LiAibWFrZSBjbGVhbiIgcmVtb3ZlcyB0aGUgZmlsZXMgYWdhaW4uCgoyMDE1LTEyLTIyIDE0OjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIHBsYXllcjogSW50ZWdyYXRlIGludG8gdGhlIGRvY3VtZW50YXRpb24gYnVpbGQgc3lzdGVtCgoyMDE1LTEyLTIyIDE0OjI0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLWctbWFpbi1jb250ZXh0LXNpZ25hbC1kaXNwYXRjaGVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLWctbWFpbi1jb250ZXh0LXNpZ25hbC1kaXNwYXRjaGVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8tcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItc2lnbmFsLWRpc3BhdGNoZXItcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tcmVuZGVyZXItcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aXN1YWxpemF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9wbGF5ZXIuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogSW1wb3J0IEdzdFBsYXllciBwbGF5YmFjayBjb252ZW5pZW5jZSBBUEkKCSAgQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3Nkcm9lZ2UvZ3N0LXBsYXllcgoJICBjb21taXQgOWNlNmFlMGRiYjhlZWVlZmFmNzk0Y2ZhZTgwZTI3OWEwM2NjNTk4ZAoKMjAxNS0xMi0yMyAwOTo1MDoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogQ29tbWVudCBvdXQgdW51c2VkIGZ1bmN0aW9ucyB0byBmaXggY29tcGlsYXRpb24gd2l0aCBjbGFuZwoJICBJdCdzIG5vdCBjbGVhciBpZiB0aGVzZSBhcmUgaW50ZW50aW9uYWxseSB1bnVzZWQgb3IgdGhlIGNvZGUgc2hvdWxkIGJlCgkgIGNoYW5nZWQsIGJ1dCB0aGlzIGZpeGVzIGNvbXBpbGF0aW9uIGZvciB0aGUgdGltZSBiZWluZyBhdCBsZWFzdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2NzkKCjIwMTUtMTEtMTAgMTY6MjU6NTMgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IHRlc3RzOiBjaGVjayBVUkwgam9pbmluZyBpZiBtZWRpYSBVUkwgY29udGFpbnMgYSAnLycgY2hhcmFjdGVyCgkgIElmIHRoZSBxdWVyeSBwYXJhbWV0ZXIgKGZvciBleGFtcGxlCgkgIGh0dHA6Ly9leGFtcGxlLm5ldC8xMDU0NTU5XzE1MDBrLm1wNC9tYXN0ZXIubTN1OD9hY2w9LyoxMDU0NTU5XzE1MDBrLm1wNCksCgkgIGNoZWNrIHRoYXQgbTN1OC5jIGNvcnJlY3RseSBjb252ZXJ0cyB0aGUgcmVsYXRpdmUgVVJMcyBvZiB0aGUgbWVkaWEKCSAgcGxheWxpc3RzIGluIHRvIGFic29sdXRlIFVSTHMuIEl0IG11c3Qgbm90IHVzZSB0aGUgbGFzdCAnLycgaXQgZmluZHMgaW4KCSAgdGhlIFVSTCwgYXMgYWNjb3JkaW5nIHRvIFJGQzM5ODYgdGhlICcvJyBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBpbgoJICB0aGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg0CgoyMDE1LTExLTEwIDE2OjIzOjU5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogdW5xdW90ZSBhbGwgdGhlIHF1b3RlZC1zdHJpbmcgYXR0cmlidXRlcwoJICBUaGUgVVJJIGF0dHJpYnV0ZSBmcm9tIHRoZSBFWFQtWC1LRVkgdGFnIGFuZCB0aGUgVVJJIGF0dHJpYnV0ZSBmcm9tIHRoZQoJICBFWFQtWC1JLUZSQU1FUy1PTkxZIHRhZyBhcmUgYm90aCBxdW90ZWQtc3RyaW5nIGF0dGlidXRlcyB0aGF0IGhhdmUgdGhlaXIKCSAgcXVvdGF0aW9uIG1hcmtzIHJlbW92ZWQgZHVyaW5nIHBhcnNpbmcuIFRoZSBDT0RFQ1MgYXR0cmlidXRlIG9mIHRoZQoJICBFWFQtWC1TVFJFQU0tSU5GIGlzIGFsc28gYSBxdW90ZWQtc3RyaW5nIGF0dHJpYnV0ZSwgYnV0IHRoaXMgYXR0cmlidXRlCgkgIHdhcyBub3QgYmVpbmcgdW4tcXVvdGVkLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBwYXJzZXIgdG8gYWx3YXlzIHVucXVvdGUgYWxsIHF1b3RlZC1zdHJpbmcKCSAgYXR0cmlidXRlcyBhbmQgYWRqdXN0cyB0aGUgdW5pdCB0ZXN0cyB0byB0aGlzIG5ldyBiZXZhaGlvdXIgZm9yIHRoZQoJICBDT0RFQ1MgYXR0cmlidXRlLgoJICBBbiBhZGRpdGlvbmFsIHRlc3QgaXMgYWRkZWQgdG8gY2hlY2sgdGhhdCBwYXJzaW5nIG9mIGFsbCBvZiB0aGUgZmllbGRzCgkgIGluIHRoZSBFWFQtWC1TVFJFQU0gdGFnIGlzIGNvcnJlY3QsIGluY2x1ZGluZyB0aG9zZSB0aGF0IGNvbnRhaW4gY29tbWEKCSAgY2hhcmFjdGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM4NAoKMjAxNS0xMS0xMCAxNjo0MTowMiArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICBobHNkZW11eDogdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBobHNkZW11eAoJICBVc2luZyB0aGUgbmV3IEdzdEFkYXB0aXZlRGVtdXggdGVzdCBmcmFtZXdvcmssIGFkZCB0ZXN0cyB0aGF0CgkgIGV4ZXJjaXNlIGhsc2RlbXV4LiBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBhZGRlZDoKCSAgc2ltcGxlVGVzdAoJICBBIHNpbXBsZSBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIHNvbWUgbWVkaWEgVVJMcwoJICB0ZXN0TWVkaWFQbGF5bGlzdAoJICBBIG1hc3RlciBwbGF5bGlzdCB3aXRoIGEgdmFyaWFudCBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIG1lZGlhIFVSTHMKCSAgdGVzdE1lZGlhUGxheWxpc3ROb3RGb3VuZAoJICBBIG1hc3RlciBwbGF5bGlzdCB0aGF0IHBvaW50cyB0byBhIG1pc3NpbmcgdmFyaWFudCBwbGF5bGlzdAoJICB0ZXN0RnJhZ21lbnROb3RGb3VuZAoJICBBIG1hc3RlciBwbGF5bGlzdCB3aXRoIGEgdmFyaWFudCBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIG1lZGlhIFVSTHMKCSAgVGhlcmUgaXMgYSBtaXNzaW5nIG1lZGlhIGZpbGUgcmVmZXJlbmNlZCBmcm9tIHRoZSB2YXJpYW50IHBsYXlsaXN0LgoJICB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICBEdXJpbmcgdGhlIGRvd25sb2FkIG9mIG9uZSBtZWRpYSBmaWxlLCB0aGUgdGVzdCBzaW11bGF0ZXMgdGhlIG5ldHdvcmsKCSAgY29ubmVjdGlvbiBiZWluZyBkcm9wcGVkLgoJICB0ZXN0U2VlawoJICBBIHNpbXBsZSB0ZXN0IG9mIHRyeWluZyB0byBwZXJmb3JtIGEgc2VlayBvbiBhbiBITFMgc3RyZWFtLgoKMjAxNS0xMS0xMCAxMzoxMzozNSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuaDoKCSAgZGFzaGRlbXV4OiB0ZXN0czogUmVmYWN0b3IgaW50byBhZGFwdGl2ZV9lbmdpbmUgY29tcG9uZW50cwoJICBUbyBhbGxvdyBjb2RlIGZyb20gZGFzaF9kZW11eC5jIHRvIGJlIHVzZWQgYnkgb3RoZXIgZWxlbWVudHMKCSAgdGhhdCBhcmUgYmFzZWQgdXBvbiBHc3RBZGFwdGl2ZURlbXV4LCB0aGUgY29kZSBoYXMgYmVlbgoJICByZWZhY3RvcmVkIGludG8gZm91ciBuZXcgZmlsZXM6CgkgIGFkYXB0aXZlX2RlbXV4X2VuZ2luZS5bY2hdCgkgIGFkYXB0aXZlX2RlbXV4X2NvbW1vbi5bY2hdCgkgIFRoZSBjb2RlIGluIGFkYXB0aXZlX2RlbXV4X2VuZ2luZS5jIHByb3ZpZGVzIGEgZ2VuZXJpYwoJICB0ZXN0IGVuZ2luZSBmb3IgZWxlbWVudHMgYmFzZWQgdXBvbiBHc3RBZGFwdGl2ZURlbXV4LgoJICBUaGUgY29kZSBpbiBhZGFwdGl2ZV9kZW11eF9jb21tb24uYyBwcm92aWRlcyBhIHNldAoJICBvZiB1dGlsaXR5IGZ1bmN0aW9ucyB0aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdGVzdHMKCSAgZm9yIGhsc2RlbXV4IGFuZCBkYXNoZGVtdXguCgkgIEFzIHBhcnQgb2YgdGhlIHJlZmFjdG9yaW5nLCB2YXJpYWJsZXMgaW4gc3RydWN0dXJlcyB3ZXJlCgkgIHJlbmFtZWQgZnJvbSB1c2luZyBjYW1lbENhc2UgdG8gdW5kZXJzY29yZV9jYXNlIHRvIG1hdGNoIG90aGVyCgkgIEdTdHJlYW1lciBzb3VyY2UgY29kZS4KCSAgVGhlIGZha2VfaHR0cF9zcmMgd2FzIHJlbmFtZWQgdGVzdF9odHRwX3NyYyBhbmQgY2hhbmdlZCB0byB1c2UKCSAgY2FsbGJhY2tzIHRvIHByb3ZpZGUgaW5wdXQgZGF0YSBhbmQgZXJyb3IgY29uZGl0aW9ucy4gUmF0aGVyIHRoYW4KCSAgdXNpbmcgYW4gYXJyYXkgb2YgaW5wdXQgZGF0YSB0aGF0IHRyaWVzIHRvIGVuY29kZSBhbGwgdGhlCgkgIHBvc3NpYmxlIHVzZSBjYXNlcyBmb3IgdGhlIEdzdFRlc3RIVFRQU3JjIGVsZW1lbnQsIHVzZSBhIHN0cnVjdCBvZgoJICBjYWxsYmFja3MuCgkgIFVzZXJzIG9mIHRoaXMgZWxlbWVudCBhcmUgb2JsaWdlZCB0byBpbXBsZW1lbnQgYXQgbGVhc3QgdGhlIHNyY19zdGFydAoJICBjYWxsYmFjaywgd2hpY2ggcHJvdmlkZXMgYSB3YXkgdG8gbGluayBmcm9tIGEgVVJJIHRvIHRoZSBzZXR0aW5ncwoJICBmb3IgdGhhdCBVUkkuCgoyMDE1LTEyLTIyIDExOjEwOjMxICswMjAwICBNYXR0aGV3IE1hcnNoIDxtYXR0QHN0b25ldGhyZWUuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogZml4IGhpZ2ggQ1BVIHVzZSBvbiBpbml0aWFsaXphdGlvbiBvZiBtdWx0aXBsZSBlbmNvZGVycyBhdCB0aGUgc2FtZSB0aW1lCgkgIFdlIG5lZWQgYSBzdGF0aWMgbG9jayB0byBwcm90ZWN0IHZhcmlvdXMgTlZFTkMgbWV0aG9kcyBpbiBfc2V0X2Zvcm1hdCgpLiBXaXRob3V0CgkgIHRoaXMgdGhlIENQVSB1c2UgaW5jcmVhc2VzIGRyYW1hdGljYWxseSBvbiBpbml0aWFsaXNhdGlvbiBvZiB0aGUgZWxlbWVudCB3aGVuCgkgIHRoZXJlIGFyZSBtdWx0aXBsZSBlbGVtZW50cyBiZWluZyBpbml0aWFsaXNlZCBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQyCgoyMDE1LTEyLTIyIDEwOjE1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgZXZlcnkgYmFkIHVwZGF0ZV9wbGF5bGlzdCByZXR1cm4gc2V0cyBhbiBlcnJvcgoJICBPdGhlcndpc2UgaXQgc2VnZmF1bHRzIHdoZW4gcmVwb3J0aW5nIHRoZSBlcnJvciBpbiB0aGUgYnVzCgoyMDE1LTEyLTIxIDEzOjU3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBVc2UgTlVMTCBpbnN0ZWFkIG9mIGdfc3RyZHVwKCdcMCcpCgkgIFdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gZ19zdHJkdXAoTlVMTCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3MjgKCjIwMTUtMTItMjEgMTI6MzM6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLUJzeW1ib2xpYy1mdW5jdGlvbnMgaWYgYXZhaWxhYmxlCgkgIFdoaWxlIHRoaXMgaXMgbW9yZSB1c2VmdWwgZm9yIGxpYnJhcmllcywgc29tZSBvZiBvdXIgcGx1Z2lucyB3aXRoIG11bHRpcGxlCgkgIGZpbGVzIGFuZCBzb21lIGludGVybmFsIEFQSSBjYW4gYWxzbyBiZW5lZml0IGZyb20gdGhpcy4KCjIwMTUtMTItMjEgMTI6MTk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggbmFtZSBvZiB0ZXN0c3VpdGUKCjIwMTUtMTItMjEgMTI6MTM6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogU2lnbmFsIGNvbnRleHQgY3JlYXRpb24gZnJvbSBpbnNpZGUgdGhlIGNvbnRleHQgbG9vcCBhbmQgdXNlIGdfdGhyZWFkX2pvaW4oKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGNvbmRpdGlvbiB2YXJpYWJsZQoJICBBbHNvIHByb3RlY3QgYWdhaW5zdCBzcHVyaW91cyBjb25kaXRpb24gdmFyaWFibGUgd2FrZXVwcyBkdXJpbmcgY29udGV4dAoJICBjcmVhdGlvbi4KCjIwMTUtMTItMjEgMTE6Mjc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBIaWRlIG5hdmlnYXRpb24gc3BlY2lmaWMgaW50ZXJuYWwgQVBJIGFuZCBhZGQgQVBJIHRvIGFzeW5jaHJvbm91c2x5IHNlbmQgbmF2aWdhdGlvbiBldmVudHMKCSAgRXhwb3NpbmcgdGhlIG5hdmlnYXRpb24gdGhyZWFkJ3MgbWFpbiBjb250ZXh0LCBHU291cmNlRnVuY3MgYW5kIHN0cnVjdHMgY2FsbGVkCgkgIGtleV9ldmVudCBhbmQgbW91c2VfZXZlbnQgaXMgZXhwb3NpbmcgYSBiaXQgdG9vIG11Y2ggb2YgdGhlIGludGVybmFscy4gTGV0J3MKCSAganVzdCBnbyB3aXRoIHR3byBmdW5jdGlvbnMgdG8gYXN5bmNocm9ub3VzbHkgc2VuZCBuYXZpZ2F0aW9uIGV2ZW50cyBvbiB0aGUKCSAgd2luZG93IHdpdGggdGhlIHNhbWUgQVBJIGFzIHRoZSBzeW5jaHJvbm91cyBvbmVzLgoKMjAxNS0xMi0yMSAxMDo0Njo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IFVzZSBnX3RocmVhZF9qb2luKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBjb25kaXRpb24gdmFyaWFibGUgZm9yIHdhaXRpbmcgZm9yIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCB0byBmaW5pc2gKCSAgQWxzbyBoaWRlIHNvbWUgaW50ZXJuYWwgZnVuY3Rpb25zIGFuZCBmaWVsZHMgd2hpbGUgd2UncmUgYXQgaXQgYW5kIGZpeAoJICBhIHJhY2UgY29uZGl0aW9uIHdpdGggdGhlIHN0YXJ0dXAgY29uZGl0aW9uIHZhcmlhYmxlLgoKMjAxNS0xMS0zMCAwOTozNjowOSArMDgwMCAgSGFpaHVhIEh1IDxiNTU1OTdAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogRml4IG1lbW9yeSBsZWFrIG9mIG5hdmlnYXRpb24gdGhyZWFkCgkgIFdoZW4gc3RvcHBpbmcgdGhlIG5hdmlnYXRpb24gdGhyZWFkLCBjYWxsIGdfdGhyZWFkX2pvaW4oKSB0byByZWxlYXNlCgkgIHRoZSByZXNvdXJjZXMgaG9sZCBieSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODgyMAoKMjAxNS0xMi0xOSAyMToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgYXNzcmVuZGVyLCBkdmJzdWJvdmVybGF5OiBmaXggZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcwoKMjAxNS0xMi0xOSAyMToxMDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlZmxvdyB1cGRhdGVfcGxheWxpc3QgYSBiaXQKCSAgUmVkdWNlIGluZGVudGF0aW9uIGJ5IGVycm9yaW5nIG91dCBkaXJlY3RseSBvbiBmYWlsdXJlLgoKMjAxNS0xMi0xOSAyMDo1OToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBwb3RlbnRpYWwgZXJyb3IgbGVhawoJICBDbGVhciBlcnJvciBhcyBzb29uIGFzIHdlIGRldGVybWluZSB0aGF0IHRoZSBkb3dubG9hZCBmYWlsZWQsCgkgIG90aGVyd2lzZSB0aGVyZSBhcmUgY29kZSBwYXRocyB3aGVyZSB3ZSBtaWdodCByZXR1cm4gd2l0aG91dAoJICBjbGVhcmluZyBpdCBldmVyLCB3aGljaCB3b3VsZCBsZWFrIHRoZSBHRXJyb3IgdGhlbi4gQWxzbywgd2UKCSAgY2FuIHBhc3MgYSBOVUxMIEdFcnJvciBwb2ludGVyIHRvIF9mZXRjaF91cmkoKSwgc28ganVzdCBkbyB0aGF0CgkgIGluc3RlYWQgb2YgcGFzc2luZyBvbmUgdGhhdCB3ZSdyZSBnb2luZyB0byBqdXN0IGZyZWUgYWdhaW4KCSAgcmlnaHQgYXdheSBhbnl3YXkuCgoyMDE1LTEyLTE5IDEyOjA1OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcmVtb3ZlIHVubmVlZGVkIHNpbmtfZXZlbnQgZnVuY3Rpb24gaW4gcHlyYW1pZHNlZ21lbnQKCjIwMTUtMTItMTkgMTI6MDQ6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSAgb3BlbmN2OiByZW1vdmUgdW5uZWVkZWQgc2lua19ldmVudCBmdW5jdGlvbiBpbiB0ZXh0b3ZlcmxheQoKMjAxNS0xMi0xOCAxODo1MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSAgdGVtcGxhdGVtYXRjaDogcmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24KCjIwMTUtMTItMTggMTE6NTY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFsd2F5cyBzZXQgdGltZXN0YW1wIG9uIHJldmVyc2UgcGxheWJhY2sKCSAgRG93bnN0cmVhbSBuZWVkcyB0byBiZSBhYmxlIHRvIHJlc3RvcmUgdGhlIHRpbWVzdGFtcHMgYWZ0ZXIgYSBkaXNjb250CgkgIHRvIGRvIHJldmVyc2UgcGxheWJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTU5MgoKMjAxNS0xMi0xOCAxNTozNjo0MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29udmVydDogRml4IGNvbXBpbGF0aW9uIG9mIEdSQVkxNl9MRS9CRSBzaGFkZXIKCjIwMTUtMTEtMTMgMTc6MjQ6MzAgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQWRkIGRtYWJ1ZiB1cGxvYWQgbWV0aG9kLgoJICBUaGlzIHVwbG9hZCBtZXRob2QgZGV0ZWN0IGFuZCBvcHRpbWl6ZSB1cGxvYWRzIG9mIERNQUJ1ZiBtZW1vcnkuIFRoaXMgaXMKCSAgZG9uZSBieSBjcmVhdGluZyBhbmQgY2FjaGluZyBFR0xJbWFnZXMgd3JhcHBlciBhcm91bmQgRE1BQnVmLiBUaGUKCSAgRUdMSW1hZ2VzIGFyZSB0aGVuIGJpbmRlZCB0byBhIHRleHR1cmUgd2hpY2ggZ2V0IGNvbnZlcnRlciB1c2luZwoJICBzdGFuZGFyZCBzaGFkZXIuCgkgIEV4YW1wbGUgcGlwZWxpbmU6CgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgXAoJICBnc3QtbGF1bmNoLTEuMCB2NGwyc3JjIGRldmljZT0vZGV2L3ZpZGVvMSBpby1tb2RlPTQgISBcCgkgIHZpZGVvL3gtcmF3LGZvcm1hdD1OVjEyICEgZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMi0xOCAxNTo1Mjo0NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZW1lbW9yeTogQWxzbyBpbXBvcnQgQkdSMTYsIEFCR1IsIHhCR1IsIEFZVVYsIEdSQVkxNl9MRS9CRSBhbmQgWTQ0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDExOjA4OjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlbWVtb3J5OiBBZGQgUkdCL0JHUiBETUFCdWYgaW1wb3J0YXRpb24gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjQwOjA4ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuaDoKCSAgZWdsaW1hZ2VtZW1vcnk6IE1ldGhvZHMgdG8gY3JlYXRlIEdzdEdMTWVtb3J5IGZyb20gZG1hYnVmcwoJICBNYXBzIEdzdFZpZGVvRm9ybWF0cyB0byBzdWl0YWJsZSBEUk0gZm91cmNjcyB3aGljaCB3b3JrIHdpdGgKCSAgZ2xjb2xvcmNvbnZlcnQsIHVzaW5nIGdzdF9nbF9tZW1vcnlfYWxsb2MoKS4gV2UgcmVxdWlyZSBtb3N0bHkKCSAgb25seSA0IGZvcm1hdHMgdG8gYmUgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIuIFdlIHJlcXVpcmUgRFJNCgkgIGVxdWl2YWxlbnQgdG8gUkdCMTYsIFJHQkEsIFI4IGFuZCBSRzg4LiBUaGlzIHdheSBpdCdzIGNvbXBhdGlibGUgd2l0aAoJICBEZXNrdG9wR0wsIHNpbmNlIEdMX1RFWFRVUkVfMkQgaXMgdXNlZCBhbmQgbGltaXQgZHJpdmVyIHJlcXVpcmVtZW50cy4KCSAgV2l0aCB0aGlzIHdlIGNhbiB2aXJ0dWFsbHkgc3VwcG9ydCBhbGwgZm9ybWF0cyB0aGUgZ2xjb2xvcmNvbnZlcnQKCSAgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTAtMDIgMTM6MzE6MzkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBidWlsZDogQWRkIGRtYWJ1ZiBidWlsZCBjb25kaXRpb24uCgkgIGNvbmZpZ3VyZS5hYzogQnVpbGQgZG1hYnVmIHdoZW4gRUdMIGFuZCBkcm1fZm91cmNjLmggaXMgYXZhaWxhYmxlLgoJICBnbDogTGluayBnc3QtYWxsb2NhdG9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMS0xMyAxNzowOToxMyArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTaG93IGVycm9yIHdoZW4gdmlkZW8gZnJhbWUgaXMgbm90IG1hcHBlZC4KCSAgQWRkcyBtb3JlIG1lYW5pbmdmdWwgZXJyb3IgdGhhbgoJICAiRmFpbGVkIHRvIGNvbnZlcnQgbXVsdGl2aWV3IHZpZGVvIGJ1ZmZlciIsIHdoaWNoIGlzIGFsd2F5cyB1c2VkCgkgIHdoZW4gcHJlcGFyZV9uZXh0X2J1ZmZlcigpIGZhaWxzIGluIGdzdF9nbGltYWdlX3NpbmtfcHJlcGFyZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjA1OjExICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdzdGdsY29udGV4dF9lZ2w6IEV4cG9zZSBnc3RfZ2xfY29udGV4dF9lZ2xfZ2V0X2Vycm9yX3N0cmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMi0xOCAxNjo1NjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogdXBkYXRlIG9wZW5jdnRleHRvdmVybGF5IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBvcGVuY3Z0ZXh0b3ZlcmxheSB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZgoJICBmcm9tIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuIFRoZSBjaGFpbi90cmFuc2Zvcm0gZnVuY3Rpb24gaXMgbm93IGEgdGhpcmQgb2YgdGhlIHNpemUgdGhhbgoJICBiZWZvcmUuCgoyMDE1LTEyLTE4IDE2OjE4OjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogdXBkYXRlIHRlbXBsYXRlbWF0Y2ggdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIHB5cmFtaWRzZWdtZW50IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTggMTU6NDg6MTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBweXJhbWlkc2VnbWVudCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgcHlyYW1pZHNlZ21lbnQgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xNyAxNzoyNjoyOSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogTWFkZSAiYXV0byIgbW9kZSB3b3JrIGFjY29yZGluZyB0byBjYXBzCgkgIFdoZW4gdGhlIG1vZGUgb2YgZGVja2xpbmt2aWRlb3NpbmsgaXMgc2V0IHRvICJhdXRvIiwgdGhlIHNpbmsgY2xhaW1zIHRvCgkgIHN1cHBvcnQgdGhlIGZ1bGwgc2V0IG9mIGNhcHMgdGhhdCBpdCBjYW4gc3VwcG9ydCBmb3IgYWxsIG1vZGVzLiBUaGVuLCBldmVyeQoJICB0aW1lIG5ldyBjYXBzIGFyZSBzZXQsIHRoZSBzaW5rIHdpbGwgYXV0b21hdGljYWxseSBmaW5kIHRoZSBjb3JyZWN0IG1vZGUgZm9yCgkgIHRoZXNlIGNhcHMgYW5kIHNldCBpdC4KCSAgQ2F2ZWF0OiBXZSBoYXZlIG5vIHdheSB0byBrbm93IHdoZXRoZXIgYSBzcGVjaWZpYyBtb2RlIHdpbGwgYWN0dWFsbHkgd29yayBmb3IKCSAgeW91ciBoYXJkd2FyZS4gVGhlcmVmb3JlLCBpZiB5b3UgdHJ5IHNlbmRpbmcgNEsgdmlkZW8gdG8gYSAxMDgwIHNjcmVlbiwgaXQKCSAgd2lsbCBzaWxlbnRseSBmYWlsLCB3ZSBoYXZlIG5vIHdheSB0byBrbm93IHRoYXQgaW4gYWR2YW5jZS4gTWFudWFsbHkgc2V0dGluZwoJICB0aGF0IG1vZGUgYXQgbGVhc3QgZ2F2ZSB0aGUgdXNlciBhIHdheSB0byBkb3VibGUtY2hlY2sgd2hhdCB0aGV5IGFyZSBkb2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYwMAoKMjAxNS0xMi0xOCAxMjoyODoyMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIG9wZW5jdjogdXBkYXRlIG1vdGlvbmNlbGxzIHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBtb3Rpb25jZWxscyB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE4IDEyOjI2OjE2ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBhZGQgZGV2aWNlIHByb3BlcnR5IGFzIGl0IGlzIGRvbmUgaW4gZGlyZWN0c291bmRzaW5rCgkgIFRoaXMgYWxsb3dzIHNlbGVjdGlvbiBvZiB0aGUgZGV2aWNlIGJ5IEdVSUQgaW5zdGVhZCBvZiB0aGUgbmFtZS4gVGhlIG5hbWUgaXMKCSAgdXNlci1naXZlbiBhbmQgbXVsdGlwbGUgZGV2aWNlcyBjYW4gaGF2ZSB0aGUgc2FtZSBuYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDg0CgoyMDE1LTEyLTE4IDEyOjM2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBDb252ZXJ0IGhlYWRlciBmcm9tIChzb21lKSBET1MgbGluZSBlbmRpbmdzIHRvIFVOSVgKCSAgQSBtaXggYmV0d2VlbiBkaWZmZXJlbnQgbGluZSBlbmRpbmdzIGluIHRoZSBzYW1lIGZpbGUgaXMgbm90IGEgZ29vZCBpZGVhLAoJICBhbmQgdGhlIC5jIGZpbGVzIGFyZSBib3RoIHdpdGggVU5JWCBsaW5lIGVuZGluZ3Mgc28gbGV0J3MgdXNlIHRoYXQuCgoyMDE1LTEyLTE4IDEwOjMwOjI1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBzZXQgLW1tYWNvc3gtdmVyc2lvbi1taW4gdG8gMTAuOAoJICBPdGhlcndpc2UgcXRraXR2aWRlb3NyYyBmYWlscyB0byBidWlsZCBvbiBPU1ggMTAuMTAuNAoJICBiZWNhdXNlIFFUS2l0IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgT1MgWCAxMC45LgoJICBBbHNvIHNldCAtbW1hY29zeC12ZXJzaW9uLW1pbj0xMC44IGluIGZyb250IHRvIGFsbG93CgkgIHRoZSB1c2VyIG9yIGNlcmJlcm8gdG8gb3ZlcnJpZGUgdGhlIHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1NjQKCjIwMTUtMTItMTggMTM6MTc6MzQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGdsbWVtb3J5OiBhZGQgZ3N0X2dsX21lbW9yeV9hbGxvY2F0b3JfZ2V0X2RlZmF1bHQKCSAgQWRkIGdzdF9nbF9tZW1vcnlfYWxsb2NhdG9yX2dldF9kZWZhdWx0IHRvIGdldCB0aGUgZGVmYXVsdCBhbGxvY2F0b3IgYmFzZWQgb24KCSAgdGhlIG9wZW5nbCB2ZXJzaW9uLiBBbGxvd3MgdXMgdG8gc3RvcCBoYXJkY29kaW5nIHRoZSBQQk8gYWxsb2NhdG9yIHdoaWNoIGlzbid0CgkgIHN1cHBvcnRlZCBvbiBnbGVzMi4KCSAgRml4ZXMgR0wgdXBsb2FkIG9uIGlPUzkgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxNS0xMi0xOCAxMTo0OToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBkZWFkbG9jayBvbiByZXNpemUKCSAgUGVyZm9ybWluZyBhbnkgR0wgZnVuY3Rpb24gbWFyc2hhbGxpbmcgb2ZmIHRoZSBHTCB0aHJlYWQgd2l0aCBnbGltYWdlc2luaydzCgkgIHJlbmRlciBsb2NrIGlzIHByb25lIHRvIGRlYWRsb2NrcyBiZXR3ZWVuIHRoZSBHTCB0aHJlYWQgYW5kIHRoZSBub24tR0wgdGhyZWFkLgoJICBXaGF0IGNhbiBoYXBwZW4gaXMgdGhpczoKCSAgMS4gbm9uLUdMIHRocmVhZCBhdHRlbXB0cyB0byBmdW5jdGlvbiBtYXJzaGFsIHRvIHRoZSBHTCB0aHJlYWQuCgkgIDIuIHdoaWxlIDEgaXMgaGFwcGVuaW5nLCB0aGUgd2luc3lzIGdpdmVzIGFuIGV2ZW50IChzYXkgcmVzaXplKQoJICAzLiBUaGlzIGNhbGxzIGJhY2sgaW50byBnbGltYWdlc2luayB3aGljaCB0YWtzIHRoZSByZW5kZXIgbG9jay4KCSAgNC4gQXMgdGhlIEdMIGZ1bmN0aW9uIG1hcnNoYWxsaW5nIGlzIGF0dGVtcHRpbmcgdG8gcnVuIG9uIHRoZSBHTAoJICBhbmQgYWxyZWFkeSBoYXMgZ2xpbWFnZXNpbmsncyByZW5kZXIgbG9jayBsb2NrZWQuICBUaGlzIGRlYWRsb2NrcwoJICBhcyB0aGUgdGhyZWFkcyBhcmUgd2FpdGluZyBmb3IgZWFjaCBvdGhlci4KCjIwMTUtMTItMTcgMTg6MTY6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSAgb3BlbmN2OiB1cGRhdGUgZWRnZWRldGVjdCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgZWRnZWRldGVjdCB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE3IDE1OjU2OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBEb24ndCBjcmFzaCB3aGVuIGRlY29kaW5nIHJldHVybnMgTlVMTCBkYXRhIGZvciBhbnkgY29tcG9uZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDMKCjIwMTUtMTItMTUgMTQ6MTQ6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbGJhc2VtZW1vcnk6IGRvbid0IHVuY29uZGl0aW9uYWxseSBhZGQgdGhlIGFsaWdubWVudCBieXRlcyB0byB0aGUgc2l6ZQoJICBlLmcgd2hlbiB3cmFwcGluZyBhIGRhdGEgcG9pbnRlciB3ZSBkb24ndCB3YW50IHRvIG1hcC91bm1hcCBvZmYgdGhlIGVuZCBvZgoJICBwb2ludGVyIHdpdGggdGhlIGFsaWdubWVudCBieXRlcy4KCSAgSW5zdGVhZCB0cmFjayB0aGF0IGluZm9ybWF0aW9uIHNlcGFyYXRlbHkgYXMgbWF4c2l6ZSBpcyB1c2VkIGZvciBtYXBwaW5nIGJ5CgkgIEdzdE1lbW9yeSBhbmQgdGh1cyByZXByZXNlbnRzIGEgc2l6ZSB3aXRob3V0IGFueSBhbGlnbm1lbnQgcGFkZGluZyBieXRlcy4KCjIwMTUtMTItMTcgMTA6NTE6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBvcGVuY3Y6IGFkZCBibHVyIGFuZCBiaWxhdGVyYWwgc3VwcG9ydCBpbiBjdnNtb290aAoJICBBZGRpbmcgdGhlIHN1cHBvcnQgZm9yIHRoZSB0d28gb3RoZXIgT3BlbkNWIGxpbmVhciBmaWx0ZXJzIHRvIHNtb290aAoJICBpbWFnZXMuIFRoZSBuZXcgQVBJIGRvZXMgc3VwcG9ydCBzcGF0aWFsIHNpZ21hIGluIHRoZSBiaWxhdGVyYWwgZmlsdGVyLAoJICBoZW5jZSBicmluZ2luZyB0aGF0IHByb3BlcnR5IGJhY2suCgkgIEFkZGluZyByZWZlcmVuY2UgdG8gbmV3IGRvY3VtZW50YXRpb24uCgoyMDE1LTEyLTE3IDA4OjUxOjQ4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBGaXggd3JvbmcgbG9naWMgbGVhZGluZyB0byBtZW1vcnkgbWlzaGFuZGxpbmcKCSAgV2hpbGUgZW5jb2RpbmcgdGhlIGZyYW1lIGluIEFTQ0lJIG1vZGUsIHBlciBjb21wb25lbnQgZm91ciBieXRlcyBhcmUgbmVlZGVkCgkgIGFuZCBhZnRlciBldmVyeSAyMCBieXRlcywgYSBcbiB3aWxsIGJlIGFkZGVkLiBTbyB0aGUgY2FsY3VsYXRpb24gc2hvdWxkIGJlCgkgIHNpemUgPSBzaXplICogKDQgKyAxIC8gMjApLiBUaGlzIHNob3VsZCBleGNsdWRlIHRoZSBoZWFkZXIgYmVpbmcgd3JpdHRlbi4KCSAgU2luY2UgaGVhZGVyIGlzIGFsc28gYmVpbmcgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucywgbWVtb3J5IG1pc2hhbmRsaW5ncwoJICBhcmUgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIwCgoyMDE1LTEyLTE3IDE1OjUwOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgZ2xidWZmZXI6IGFkZCBhIG5hbWUgdG8gdGhlIGFsbG9jYXRvcgoKMjAxNS0xMi0xNyAxNToyMzoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wqbWVtb3J5KjogcmV2ZXJzZSB0aGUgcGFyYW1ldGVyIG9yZGVyIG9mIHVzZXJfZGF0YSBhbmQgZGVzdHJveSBub3RpZnkKCSAgVGhlIGNvbnZlbnRpb24gaXMgdG8gaGF2ZSB0aGUgZGVzdHJveSBub3RpZnkgbGFzdCBhZnRlciBhbnkgdXNlciBkYXRhCgoyMDE1LTEyLTE3IDE1OjA3OjMzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IGZpeCBidWlsZCBvbiBpT1MKCSAgRml4IGJ1aWxkIGFmdGVyIDc3OWRjMzEzMmM4ZjZkZDU2MGNiMDdjYzJlMmMzYzcyYWVhYTc4NDUKCjIwMTUtMTItMTcgMTQ6NDk6MTMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGRvIGZpeGF0ZQoKMjAxNS0xMi0xNiAxODo0MTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xtZW1vcnlwYm86IHJlbW92ZSBvdXIgb3duIGFsbG9jKCkvd3JhcHBlZCgpL2V0YyBmdW5jdGlvbnMKCSAgcmVwbGFjZWQgYnkgZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5IHdpdGhpbiBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2MoKQoKMjAxNS0xMi0xNiAxODozOTozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBkb2N1bWVudCBnc3RfZ2xfbWVtb3J5X2luaXQKCjIwMTUtMTItMTYgMTg6Mzg6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xidWZmZXI6IHJlbW92ZSB1bm5lZWRlZCBnc3RfZ2xfYnVmZmVyX2FsbG9jKCkKCSAgUmVwbGFjZWQgYnkgZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jKCkKCjIwMTUtMTItMTYgMTg6Mzc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBkb2N1bWVudCBzb21lIGZ1bmN0aW9ucwoKMjAxNS0xMi0xNiAxODozNjoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgYSBkZWZhdWx0IGNvcHkgaW1wbGVtZW50YXRpb24KCSAgU3ViY2xhc3NlcyBzdGlsbCBuZWVkIHRvIG92ZXJyaWRlIHRoaXMgdG8gY29weSBpbnRvIHRoZSBjb3JyZWN0IG1lbW9yeSB0eXBlLgoKMjAxNS0xMi0xNiAxODozMjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogdXNlIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYyBhcyBhIGdlbmVyaWMgR0wgYWxsb2NhdGlvbiBmcmFtZXdvcmsKCSAgUmVxdWlyZXMgdGhlIHVzYWdlIG9mIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIGhvd2V2ZXIgYW55IHVzZXIgY2FuIHNldCB0aGVpcgoJICBvd24gcGFyYW1ldGVycyBhbG9uZyB3aXRoIGFuIGFsbG9jYXRvciB3aGljaCB3aWxsIGJlIHVzZWQgdG8gYWxsb2NhdGUgdGhlCgkgIGNvcnJlY3QgbWVtb3J5IHR5cGUuCgoyMDE1LTEyLTE2IDE4OjMwOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkgIGdsbWVtb3J5cGJvOiBpbXBsZW1lbnQgR3N0R0xCYXNlTWVtb3J5OmFsbG9jCgkgIFVzZXMgdGhlIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIHBhcmFtZXRlcnMKCjIwMTUtMTItMTYgMTg6MjM6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSAgZ2xidWZmZXI6IGltcGxlbWVudHMgR3N0R0xCYXNlTWVtb3J5OjphbGxvYwoJICBDcmVhdGUgR3N0R0xCdWZmZXJBbGxvY2F0aW9uUGFyYW1zIHdoaWNoIGlzIHN1YmNsYXNzIG9mIEdzdEdMQWxsb2NhdGlvblBhcmFtcwoKMjAxNS0xMi0xNiAxODoyMDoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsbWVtb3J5OiBpbXBsZW1lbnQgR3N0R0xCYXNlTWVtb3J5OjphbGxvYwoJICAtIENyZWF0ZSBHc3RHTFZpZGVvQWxsb2NhdGlvblBhcmFtcyB3aGljaCBpcyBhIEdzdEdMQWxsb2NhdGlvblBhcmFtcyBzdWJjbGFzcy4KCSAgLSBNYWtlIGl0IHBvc3NpYmxlIHRvIGFsbG9jYXRlIGdsbWVtb3J5IG9iamVjdHMgZGlyZWN0bHkgaWYgbm8gZnJpbGxzIGFyZQoJICBuZWVkZWQuCgoyMDE1LTEyLTE2IDE4OjEzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSAgZ2xiYXNlbWVtb3J5OiBhZGQgYSBnZW5lcmljIGludGVyZmFjZSBmb3IgYWxsb2NhdGluZyBHTCBtZW1vcmllcwoJICBUaGlzIGlzIG1hZGUgcG9zc2libGUgYnkgYSBzdWJjbGFzc2FibGUgR3N0R0xBbGxvY2F0aW9uUGFyYW1zIHRoYXQgaG9sZHMKCSAgdGhlIGFsbG9jYXRpb24gcGFyYW1ldGVycwoJICBFdmVyeSBhbGxvY2F0aW9uIHdvdWxkIG5vdyBnbyB0aHJvdWdoIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYyB3aXRoIHRoZQoJICBhbGxvY2F0aW9uIHBhcmFtZXRlcnMgbm93IGJlaW5nIHNwZWNpZmllZCBpbiBhIHNpbmdsZSBzdHJ1Y3QgdG8gYWxsb3cKCSAgZXh0ZW5zaW9uIGJ5IGRpZmZlcmVudCBhbGxvY2F0b3JzLgoKMjAxNS0xMi0xNyAxMjozMDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICByZXZlcnQgY29tbW9uIHN1Ym1vZHVsZSBjaGFuZ2UKCSAgOGFlMDAzMzI2MTU3NDM4YzEyYzQ1NTg5ZTA1MGM1ZjQ0NjcyM2Y2MSBjb250YWluZWQgYSBlcnJvbmVvdXMgY29tbW9uIGNoYW5nZQoKMjAxNS0xMi0xNyAxMTowNjozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIFJldmVydCAiZ2xidWZmZXI6IERvbid0IHBhc3MgYWxsb2NhdGlvbiBwYXJhbXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDUyZjQxZTVjMjkzZWMxN2MwMzg0NjdlZDFlN2I5MmIwNGQ0OTRiMC4KCSAgVGhpcyBpcyBpbmNvcnJlY3QgYW5kIHdpbGwgYWZmZWN0IGFueSBvdGhlciBnbGJ1ZmZlciB1c2VyIHRoYXQgbmVlZHMvd2FudHMgdG8KCSAgcGVyZm9ybSBkYXRhIGFsaWdubWVudC4KCjIwMTUtMTItMTYgMTk6MjE6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgb3BlbmN2OiBhZGQgbWVkaWFuQmx1ciBzdXBwb3J0IGluIGN2c21vb3RoCgkgIFdpdGggdGhlIGRlcHJlY2F0aW9uIG9mIGN2U21vb3RoIHdlIGhhdmUgdG8gaGFuZGxlIHRoZSBvdGhlciBzbW9vdGhpbmcKCSAgZnVuY3Rpb25zIG1hbnVhbGx5LgoKMjAxNS0xMi0xNiAxODozNzozNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIG9wZW5jdjogc3dpdGNoIGRlcHJlY2F0ZWQgY3ZTbW9vdGggZm9yIEdhdXNzaWFuQmx1cgoJICBUaGUgT3BlbkNWIGN2U21vb3RoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgWzBdIGFuZCB0aGUgZG9jdW1lbnRhdGlvbgoJICByZWNvbW1lbmRzIHRvIHVzZSBHYXVzc2lhbkJsdXIgKCkuIFRoaXMgbWFrZXMgdGhlIHNwYXRpYWwgcHJvcGVydHkgZ28KCSAgdW51c2VkLiBNYXJraW5nIGl0IGFzIGRlcHJlY2F0ZWQsIG1ha2luZyBpdCBub24tZnVuY3Rpb25hbCBhbmQgd2lsbCByZW1vdmUKCSAgaW4gdGhlIG5leHQgY3ljbGUuCgkgIFswXSBodHRwOi8vZG9jcy5vcGVuY3Yub3JnLzIuNC9tb2R1bGVzL2ltZ3Byb2MvZG9jL2ZpbHRlcmluZy5odG1sCgoyMDE1LTEyLTE2IDExOjU2OjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgZ2xidWZmZXI6IERvbid0IHBhc3MgYWxsb2NhdGlvbiBwYXJhbXMKCSAgVGhlIGltcG9ydGVkIG1lbW9yeSBoYXMgYWxyZWFkeSBiZWVuIGFsbG9jYXRlZCwgcGFzc2luZyBhbGxvY2F0aW9uCgkgIHBhcmFtZXRlcnMgd2l0aCBhbGlnbm1lbnQgY29uZnVzZXMgdGhlIG1lbW9yeSB3aGljaCBlbmR1cCB3aXRoIGEKCSAgc2l6ZSBkaWZmZXJlbnQgZnJvbSBtYXhzaXplIGFuZCBsZWFkIHRvIG92ZXJydW4gd2hlbiB0aGUgbWVtb3J5CgkgIGlzIGJlaW5nIGNvcGllZC4KCjIwMTUtMTItMTYgMTM6NTk6MTggKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSB2YWxpZGF0aW9uIG9mIFVUQ3RpbWluZyBlbGVtZW50CgkgIGdzdF9tcGRwYXJzZXJfcGFyc2VfdXRjdGltaW5nX25vZGUgZG9lcyBub3QgdmFsaWRhdGUgdGhlIHBhcnNlZCB2YWx1ZXMgY29tcGxldGVseS4gVGhlIGZvbGxvd2luZyBzY2VuYXJpb3MgYXJlIGluY29ycmVjdGx5IGFjY2VwdGVkOgoJICAtIGVsZW1lbnRzIHdpdGggbm8gc2NoZW1lSWRVcmkgcHJvcGVydHkgc2hvdWxkIGJlIHJlamVjdGVkCgkgIC0gZWxlbWVudHMgd2l0aCB1bnJlY29nbml6ZWQgVVRDVGltaW5nIHNjaGVtZSBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgLSBlbGVtZW50cyB3aXRoIGVtcHR5IHZhbHVlcyBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgVGhlIGxhc3Qgb25lIHRyaWdnZXJzIGEgZGl2aXNpb24gYnkgMCBpbiBnc3RfZGFzaF9kZW11eF9wb2xsX2Nsb2NrX2RyaWZ0OgoJICBjbG9ja19kcmlmdC0+c2VsZWN0ZWRfdXJsID0gY2xvY2tfZHJpZnQtPnNlbGVjdGVkX3VybCAlIGdfc3Rydl9sZW5ndGggKHVybHMpOwoJICBiZWNhdXNlIGl0IHVybHMgaXMgYSB2YWxpZCBwb2ludGVyIHRvIGFuIGVtcHR5IGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTQ3CgoyMDE1LTEyLTE2IDEwOjQxOjQ3ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNsb2NrX2NvbmQgaXMgbm90IHVzZWQgYW5kIHNob3VsZCBiZSByZW1vdmVkCgkgIFRoZXJlIGFyZSBubyB0aHJlYWRzIHdhaXRpbmcgb24gY2xvY2tfY29uZC4gSXQgaXMganVzdCBpbml0aWFsaXNlZCBhbmQKCSAgc2lnbmFsbGVkLiBJdCBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzNwoKMjAxNS0xMi0xNiAxMDoyMzoyMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgY2xvY2sgY29tcGVuc2F0aW9uIGluIGdldF9mcmFnbWVudF93YWl0aW5nX3RpbWUKCSAgQ2xvY2sgY29tcGVuc2F0aW9uIGlzIGNhbGN1bGF0ZWQgaW4gdXNlYyBidXQgaXMgYWRkZWQgdG8gYSBHc3RDbG9ja1RpbWUgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzQKCjIwMTUtMTItMTYgMTA6MjE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB0byBJT1N1cmZhY2UuZnJhbWV3b3JrIGZvciB0aGUgSU9TdXJmYWNlIEFQSQoKMjAxNS0xMi0xNSAxNzoxMDowMCArMDAwMCAgRGF2ZSBDcmFpZyA8ZGF2ZWNyYWlnQHVuYmFsYW5jZWRhdWRpby5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBDaGVjayBmb3IgTlVMTCByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUwMwoKMjAxNS0xMi0xNiAxNDozMjoyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogRml4IHZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyNQoKMjAxNS0xMi0xNiAxNDoyOToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogRml4IHZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMwoKMjAxNS0xMi0xNiAxMzowODoyMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRml4IHNjYW5uZXIgbWVtb3J5IGxlYWsKCSAgRm9yIGNvcnJ1cHRlZCBmaWxlcywgc2Nhbm5lciBtZW1vcnkgaXMgYmVpbmcgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIyCgoyMDE1LTEyLTE2IDEzOjA2OjQ1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIEluIGNhc2Ugb2YgY29ycnVwdGVkIGZpbGUsIHMtPmJ1ZiBhbGxvY2F0ZWQgaXMgbm90IGJlaW5nIGZyZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjIKCjIwMTUtMTItMTYgMDk6MDU6NDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgaGVhZGVyIGJlaW5nIGFsbG9jYXRlZCBpcyBub3QgZnJlZWQgcmVzdWx0aW5nIGluIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMAoKMjAxNS0xMi0xNiAwODo1MjoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBvdXRidWZmZXIgYmVpbmcgYWxsb2NhdGVkIGlzIG5vdCBiZWluZyBwdXNoZWQgdG8gcXVldWUgZm9yIEVPUyBldmVudCBhbmQgaGVuY2UKCSAgc2hvdWxkIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE5CgoyMDE1LTEyLTE2IDA5OjM5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IExpbmsgdG8gSU9LaXQuZnJhbWV3b3JrIGZvciBJT1N1cmZhY2UgcmVsYXRlZCBmdW5jdGlvbnMKCjIwMTUtMTItMTYgMDk6MzM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJICBkb2NzOiB1cGRhdGUgdG8gZ2l0CgoyMDE1LTEyLTE2IDA4OjI1OjE5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzCgkgIFdoZW4gYXBwbHlpbmcgdGhlIHNwYXRpYWwgcHJlZGljdGlvbiwgdGhlcmUgaXMgYW4gaWxsZWdhbCBhY2Nlc3Mgb2YgLTEgaW5kZXggb2YgYXJyYXkuCgkgIEhlbmNlIGFkZGluZyBhIGNvbmRpdGlvbiB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE4CgoyMDE1LTEyLTE2IDA4OjIyOjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkgIHlhZGlmOiBGaXggZ3ZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUxOAoKMjAxNS0xMi0xNiAxNzowMjoyNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHRleHR1cmUtdGFyZ2V0IG9uIGlPUwoKMjAxNS0xMi0xNiAxNToyMDozMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIG9ic29sZXRlIEZJWE1FCgoyMDE1LTEyLTE2IDE0OjM4OjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiByZXdvcmsgR0xNZW1vcnkgbmVnb3RpYXRpb24KCSAgT25seSBkbyBHTE1lbW9yeSB3aGVuIGEgR3N0R0xDb250ZXh0IGlzIGF2YWlsYWJsZSBBTkQgR0xNZW1vcnkgaXMgYWN0dWFsbHkKCSAgbmVnb3RpYXRlZCB3aXRoIGRvd25zdHJlYW0uCgoyMDE1LTEyLTE2IDEzOjQ3OjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiB1cGRhdGUgYWZ0ZXIgSU9TdXJmYWNlIGNoYW5nZXMKCSAgUHJlZmVyIEdMTWVtb3J5IG92ZXIgc3lzbWVtLiBBbHNvIG5vdyB3aGVuIHB1c2hpbmcgR0xNZW1vcnkgd2UgcHVzaCB0aGUKCSAgb3JpZ2luYWwgZm9ybWF0cyAoVVlWWSBpbiBPU1gsIEJHUkEgaW4gaU9TKSBhbmQgbGVhdmUgaXQgdG8gZG93bnN0cmVhbSB0bwoJICBjb252ZXJ0LgoKMjAxNS0xMi0xNCAxNjoxMDowMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIHRoZSBpbnRlcm5hbCBHc3RHTENvbG9yQ29udmVydAoJICBJdCB3YXMgYWRkZWQgYmFjayBpbiB0aGUgZGF5IHRvIG1ha2UgdGV4dHVyZSBzaGFyaW5nIHdvcmsgYnkgZGVmYXVsdCB3aXRoCgkgIGdsaW1hZ2VzaW5rIGluc2lkZSBwbGF5YmluLiBUaGVzZSBkYXlzIGdsaW1hZ2VzaW5rIGFjY2VwdHMgKGFuZCBjb252ZXJ0cykgWVVWCgkgIGludGVybmFsbHkgc28gaXQncyBubyBsb25nZXIgbmVlZGVkLgoKMjAxNS0xMi0xNCAxNDoyMzoyMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZGVjb3VwbGUgb3V0cHV0dGluZyB0ZXh0dXJlcyBmcm9tIG91dHB1dHRpbmcgUkdCQQoJICBXZSdyZSBnb2luZyB0byBiZSBhYmxlIHRvIG91dHB1dCBOVjEyIHRleHR1cmVzIHNvb24uCgoyMDE1LTEyLTExIDEzOjIwOjA1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHN3aXRjaCB0byBJT1N1cmZhY2Ugb24gTWFjCgkgIFN3aXRjaCB0byB1c2luZyBJT1N1cmZhY2UgaW5zdGVhZCBvZiBDVk9wZW5HTFRleHR1cmVDYWNoZSBvbiBPU1guIFRoZSBsYXR0ZXIgY2FuJ3QgYmUKCSAgdXNlZCBhbnltb3JlIHRvIGRvIFlVViA9PiBSR0Igd2l0aCBvcGVuZ2wzIG9uIEVsIENhcGl0YW4gYXMgR0xfWUNCQ1JfNDIyX0FQUExFCgkgIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgb3BlbmdsMyBkcml2ZXIuIEFsc28gc3dpdGNoIHRvIE5WMTIgZnJvbSBVWVZZLCB3aGljaAoJICB3YXMgdGhlIG9ubHkgWVVWIGZvcm1hdCBzdXBwb3J0ZWQgYnkgQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUuCgoyMDE1LTEyLTEwIDE2OjIyOjA4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJlbmFtZSBHc3RDb3JlVmlkZW9UZXh0dXJlQ2FjaGUgdG8gR3N0VmlkZW9UZXh0dXJlQ2FjaGUKCSAgRmlyc3Qgb2YgYSBmZXcgY29tbWl0cyB0byBzdG9wIHVzaW5nIENWT3BlbkdMVGV4dHVyZUNhY2hlIG9uIE9TWCBhbmQgdXNlCgkgIElPU3VyZmFjZXMgZGlyZWN0bHkgaW5zdGVhZC4gQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUgaGFzbid0IGJlZW4gdXBkYXRlZCBmb3IgT3BlbkdMCgkgIDMgd2hpY2ggaXMgd2h5IHRleHR1cmUgc2hhcmluZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gT1NYLgoKMjAxNS0xMS0xNyAxOTozMTo1MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBSZXZlcnQgInZ0ZGVjOiBkaXNhYmxlIHRoZSB0ZXh0dXJlIGNhY2hlIG9uIE9TWCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmMDI0MjVjNGFmY2Q4NTI2MGExYjM4N2FlZGRmODYzNzc0MjU3OTE3LgoKMjAxNS0xMi0xNSAxNDoxNzoxNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBhbGxvY2F0b3IgbmFtZSBhZnRlciBHTE1lbW9yeSBBUEkgY2hhbmdlcwoKMjAxNS0xMi0xNSAxOToyODowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdHNpbms6IEFkZCBjb25maWd1cmVkIEdMIGNmbGFncyB0byB0aGUgYnVpbGQKCSAgV2UgZG9uJ3QgZGlyZWN0bHkgbGluayB0byBHTCBpbiB0aGUgZWxlbWVudCwgdGhvdWdoIHdlIHVzZSBHTCBoZWFkZXJzLgoJICBGb3IgdGhpcyByZWFzb24gd2UgbmVlZCB0byBpbmNsdWRlIHRoZSBwcm9wZXIgR0wgaGVhZGVycyBwYXRoLiBUaGlzCgkgIHByZXZlbnQgdGhpcyBlbGVtZW50IGZyb20gdXNpbmcgYSBkaWZmZXJlbnQgR0wgaGVhZGVyIHRoZW4gbGliZ3N0Z2wuCgoyMDE1LTEyLTE1IDE5OjI1OjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogQWxsb3cgdXNpbmcgbm9uLXN5c3RlbSBtZXNhIHdpdGggYm90aCBHTCBhbmQgR0xFUwoJICBHQ0MgYXV0b21hdGljYWxseSBkaXNhYmxlIHJlZHVuZGFuY2Ugd2FybmluZ3MgZm9yIHN5c3RlbSBoZWFkZXJzLiBBcwoJICBzb29uIGFzIHdlIHN0YXJ0IHVzaW5nIGEgbm9uLXN5c3RlbSBpbnN0YWxsZWQgbWVzYSwgd2Ugd291bGQgc3RhcnQKCSAgaGF2aW5nIGlzc3Vlcy4gVGhlIHRlc3QgZm9yIGJvdGggd2Fzbid0IHNldHRpbmcgYW55IGZsYWdzLCBzbyBpdCB3b3VsZAoJICB3b3JrIGJ1dCB0aGVuIGZhaWwgYXQgcnVudGltZS4KCSAgVGhpcyBpcyBiZWluZyBmaXhlZCBieSBkaXNhYmxpbmcgaW4gdGhlIGNvZGUgKHdoZXJlIG5lZWRlZCBvbmx5KSB0aGF0CgkgIEdDQyB3YXJuaW5nLiBUaGUgdGVzdCBpcyBhbHNvIGZpeGVkIHRvIGF2b2lkIHRoZSBmYWxzZSBwb3NpdGl2ZSB3ZSBoYWQuCgoyMDE1LTEyLTE1IDE1OjU5OjMwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcHlyYW1pZHNlZ21lbnQ6IGZpeCBleGFtcGxlIGxhdW5jaCBsaW5lCgkgIFVzZSB2aWRlb3Rlc3RzcmMgYW5kIGF1dG92aWRlb3NpbmsgaW4gdGhlIGV4YW1wbGUgZ3N0LWxhdW5jaC0xLjAgbGluZSBhbmQKCSAgbm90IGEgdXNlbGVzcyBmYWtlc3JjLWZha2VzaW5rIGV4YW1wbGUuCgoyMDE1LTEyLTE1IDE1OjU2OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJICBvcGVuY3Y6IGFkZCBoZWFkZXJzIHdpdGggZXhhbXBsZSBsYXVuY2ggbGluZXMKCSAgQWRkIGRlc2NyaXB0aW9uIGhlYWRlcnMgZm9yIGFsbCB0aGUgT3BlbkNWIHBsdWdpbnMgbWlzc2luZyB0aGVtLCBzbyB3ZSBjYW4KCSAgaGF2ZSBnc3QtbGF1bmNoLTEuMCBleGFtcGxlIGxhdW5jaCBsaW5lcyBmb3IgYWxsIG9mIHRoZW0uCgoyMDE1LTEyLTE0IDE2OjQ4OjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5nbDogVXNlIHBrZy1jb25maWcgaWYgYXZhaWxhYmxlCgkgIGxpYk1lc2Egc2hpcHMgLnBjIGZpbGVzIG5vdyBmb3IgZ2wvZWdsL2dsZXN2Mi4gVGhpcyBwYXRjaCBtYWtlcyB1c2UKCSAgb2YgaXQgd2hpbGUga2VlcGluZyBzdXBwb3J0IGZvciBzeXN0ZW0gd2l0aG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA2OAoKMjAxNS0xMi0xNSAxMTo1OTowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBoZWFkZXJzIHdpdGggZXhhbXBsZSBsYXVuY2ggbGluZXMKCSAgQWRkIGRlc2NyaXB0aW9uIGhlYWRlcnMgZm9yIGFsbCBnZW9tZXRyaWN0cmFuc2Zvcm0gZWxlbWVudHMgc28gd2UgY2FuIGhhdmUKCSAgZ3N0LWxhdW5jaC0xLjAgZXhhbXBsZSBsYXVuY2ggbGluZXMgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNS0xMi0xNCAxMTowOTo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTI6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZHAvUkVBRE1FOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHZiL1JFQURNRToKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBwbHVnaW5zLWJhZDogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgkgIHJlbmFtZSBnc3QtbGF1bmNoIC0tPiBnc3QtbGF1bmNoLTEuMAoJICByZXBsYWNlIG9sZCBlbGVtZW50cyB3aXRoIG5ldyBlbGVtZW50cyhmZm1wZWdjb2xvcnNwYWNlIC0+IHZpZGVvY29udmVydCwgZmZlbmNfKiogLT4gYXZlbmNfKiopCgkgIGZpeCBjYXBzIGluIGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0MzIKCjIwMTUtMTItMTQgMTU6MDE6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGlnbm9yZTogdmlkZW9mcmFtZS1hdWRpb2xldmVsIHRlc3QKCjIwMTUtMTItMTQgMTQ6NDQ6MzEgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgYmFkOiBBZGQgZ19hdXRvcHRyKCkgc3VwcG9ydCB0byBhbGwgdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NAoKMjAxNS0xMi0xNCAxMjozMTo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgcHJpdi0+cHJpbWFyeV9vdXQgY291bGQgYmUgTlVMTCwgY2hlY2sgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQgaW4KCSAgR1NUX0JVRkZFUl9GTEFHX1NFVCAoKQoJICBDSUQgMTMwODk0NQoKMjAxNS0xMi0xNCAxMzo0MzoxMCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJICB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWw6IEZpeCBwb3NzaWJsZSBkaXZpc2lvbiBieSB6ZXJvCgkgIEluIHVwZGF0ZV9ybXNfZnJvbV9idWZmZXIoKSwgZGl2aXNpb24gYnkgImZyYW1lcyIgd2Fzbid0IGNoZWNraW5nIHdoZXRoZXIKCSAgImZyYW1lcyIgaXMgemVyby4KCSAgQ0lEIDEzNDE1MTkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0NDMKCjIwMTUtMTItMTQgMDk6Mzg6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBjbHV0dGVyOiBGaXggY29tcGlsYXRpb24gZXJyb3IgaW4gR0wgZXhhbXBsZXMKCSAgSW5jbHVkZSBnc3QvZ2wuaCBpbnN0ZWFkIG9mIHNwZWNpZmljIGhlYWRlcnMgdG8gcHJldmVudCBzdWNoIHByb2JsZW1zIGFsc28gaW4KCSAgdGhlIGZ1dHVyZS4KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nbC5oOjQ3OjAsCgkgIGZyb20gLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOjEzNywKCSAgZnJvbSAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoyOSwKCSAgZnJvbSBjbHV0dGVyc2hhcmUuYzozOToKCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6NTE6MjA6IGVycm9yOiBmaWVsZCDigJhtZW3igJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeSAgICAgIG1lbTsKCSAgXgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoxMjQ6MjQ6IGVycm9yOiBmaWVsZCDigJhwYXJlbnTigJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeUFsbG9jYXRvciBwYXJlbnQ7CgkgIF4KCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6MTM0OjI5OiBlcnJvcjogZmllbGQg4oCYcGFyZW50X2NsYXNz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKCSAgR3N0R0xNZW1vcnlBbGxvY2F0b3JDbGFzcyBwYXJlbnRfY2xhc3M7CgkgIF4KCjIwMTUtMTItMTQgMTk6MTg6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9yIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE0IDE5OjE1OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiB1cGRhdGUgZm9yIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE0IDE4OjQxOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ2xtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTUtMTItMTQgMTg6MjA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogYmluZC91bmJpbmQgb24gbWFwL3VubWFwIGZvciBHTCBtYXBwaW5ncwoJICBCaW5kIHRoZSBoYW5kbGUgdG8gdGhlIEdMIHRhcmdldCBvbiBtYXAvdW5tYXAgdG8gc2F2ZSB0aGUgY2FsbGVyIGZyb20KCSAgaGFuZGxpbmcgdGhpcyB0aGVtc2VsdmVzLgoKMjAxNS0xMi0xNCAxODoxOTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJICBnbGJ1ZmZlcjogcmVtb3ZlIGJ1ZmZlciBzcGVjaWZpYyB0cmFuc2ZlciBmbGFncwoJICBJbnN0ZWFkIHJlbHkgb24gR3N0R0xCYXNlTWVtb3J5J3MgdHJhbnNmZXIgaGFuZGxpbmcKCjIwMTUtMTItMTQgMTg6MTg6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogbWFwL3VubWFwIHBibyBtZW1vcnkgY29ycmVjdGx5IGZvciBzdGF0ZSB0cmFja2luZwoJICBPdGhlcndpc2Ugc29tZSBkb3dubG9hZHMgd2lsbCBmYWlsIHRvIG9jY3VyIGZyb20gdGhlIFBCTy4KCjIwMTUtMTItMTQgMTg6MTU6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IGluY2x1ZGUgdGhlIGdlbmVyaWMgZ2wgaGVhZGVyCgkgIEluY2x1ZGluZyBnc3RnbG1lbW9yeS5oIGRpcmVjdGx5IHJlc3VsdHMgaW4gdGhlIGNvbXBpbGVyIGNvbXBsYWluaW5nCgkgIGFib3V0IGluY29tcGxldGUgdHlwZXMuCgoyMDE1LTEyLTE0IDE3OjA1OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSAgZ2xmb3JtYXQ6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zIGZvciBPRVMvcmVjdGFuZ2xlIHRleHR1cmVzCgoyMDE1LTEyLTE0IDEzOjQ5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsYmFzZWJ1ZmZlcjogcmVtb3ZlIHVuc2VkIG1lbW9yeSBzdWJjbGFzcwoJICBUaGUgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbiBzcGxpdCBpbnRvIEdzdEdMQmFzZU1lbW9yeSBhbmQgR3N0R0xCdWZmZXIuCgoyMDE1LTEyLTE0IDEzOjQzOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGJhc2UgY2xhc3NpZnkgYW5kIGFkZCB0aGUgcGJvIG1lbW9yeSBvbiB0b3AKCSAgVGhlIGJhc2UgY2xhc3MgaXMgdXNlZnVsIGZvciBoYXZpbmcgbXVsdGlwbGUgYmFja2luZyBtZW1vcnkgdHlwZXMgb3RoZXIKCSAgdGhhbiB0aGUgZGVmYXVsdC4gIGUuZy4gSU9TdXJmYWNlLCBFR0xJbWFnZSwgZG1hYnVmPwoJICBUaGUgUEJPIHRyYW5zZmVyIGxvZ2ljIGlzIG5vdyBpbnNpZGUgR3N0R0xNZW1vcnlQQk8gd2hpY2ggdXNlcyBHc3RHTEJ1ZmZlcgoJICB0byBtYW5hZ2UgdGhlIFBCTyBtZW1vcnkuCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgZm9ybWF0IHV0aWxpdHkgZnVuY3Rpb25zIGludG8gdGhlaXIgb3duIGZpbGUuCgoyMDE1LTEyLTE0IDEzOjA4OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgYSBHTCBidWZmZXIgYmFzZWQgR3N0TWVtb3J5CgkgIEhlYXZpbHkgYmFzZWQgb24gR3N0R0xCYXNlQnVmZmVyIHRoYXQgaXMgYSBzdWJjbGFzcyBvZiBHc3RHTEJhc2VNZW1vcnkuCgkgIFByb3ZpZGVzIEdQVSBhbmQgQ1BVIGFjY2Vzc2libGUgR0wgYnVmZmVyIG9iamVjdHMgYnkgR0wgaGFuZGxlIG9yIGJ5CgkgIHN5c21lbSBkYXRhIHBvaW50ZXIuCgoyMDE1LTEyLTE0IDEyOjU5OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbDogYWRkIGEgYmFzZSBtZW1vcnkgb2JqZWN0CgkgIEl0IGhhbmRsZXMgdGhlIGZvbGxvd2luZwoJICAtIEdzdEFsbG9jYXRpb25QYXJhbXMgLT4gZ3N0X21lbW9yeV9pbml0IHRyYW5zZm9ybWF0aW9uCgkgIC0gTWFrZXMgc3VyZSB0aGF0IG1hcC91bm1hcC9jcmVhdGUvZGVzdHJveSBoYXBwZW4gb24gdGhlIEdMIHRocmVhZCB3aXRoCgkgIGEgR0wgY29udGV4dCBjdXJyZW50LgoJICAtIEhvbGRzIGEgcG9zc2libGUgc3lzbWVtIGFjY2Vzc2libGUgZGF0YSBwb2ludGVyIHdpdGggYWxpZ25tZW50LgoJICAtIEhvbGRzIHRoZSBuZWVkIHVwbG9hZC9kb3dubG9hZCB0cmFuc2ZlciBzdGF0ZQoKMjAxNS0xMi0xNCAxMjoyNjowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgdGhlIHN0YXJ0IG9mIGEgdmlkZW8gZnJhbWUKCSAgR2V0J3MgdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyBmcmFtZSBiYXNlZCBvbiBhIEdzdFZpZGVvSW5mbyBhbmQKCSAgR3N0VmlkZW9BbGlnbm1lbnQuCgoyMDE1LTEyLTExIDE2OjA3OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkbWV0YTsgcmVtb3ZlIGNvbnZlbmllbmNlIGhlbHBlciBBUEkKCSAgSXQgd2FzIG5vdCByZWFsbHkgdXNlZnVsIGFzIGlmIG9uZSBrbm93cyBhYm91dCBsaWJnc3RnbCwgb25lIGNhbiBqdXN0IHVzZQoJICBHTE1lbW9yeSBvYmplY3RzIGRpcmVjdGx5LgoKMjAxNS0xMi0xMSAxNTozOTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBnbGRvd25sb2FkOiByZW1vdmUgaGVscGVyIGFwaSBmcm9tIHRoZSBsaWJyYXJ5CgkgIEl0IHdhcyBuZXZlciB1c2VkIGJ5IGFueW9uZSBhbmQgaXMgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGVsZW1lbnQKCSAgYW5kIEdzdEdMTWVtb3J5J3MgdHJhbnNwYXJlbnQgc3VwcG9ydCBmb3IgZG93bmxvYWRpbmcgdGV4dHVyZXMuCgoyMDE1LTEyLTEyIDIwOjA3OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBjbGVhbiBpbmNsdWRlcwoJICBUaGUgb3BlbmN2IGVsZW1lbnQgaW5jbHVkZXMgd2VyZSBmdWxsIG9mIGR1cGxpY2F0ZXMgYW5kIHVuZWVkZWQgaGVhZGVycy4KCSAgRm9yIGV4YW1wbGUgYSBmZXcgZWxlbWVudHMgdGhhdCBzdG9wcGVkIHVzaW5nIGdzdGN2b3BlbmN2dXRpbHMgc3RpbGwKCSAgaW5jbHVkZWQgdGhhdCBoZWFkZXIgZmlsZS4KCjIwMTUtMTItMTIgMTk6MzE6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBvcGVuY3Y6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGluIGdzdG9wZW5jdnV0aWxzCgkgIFNpbmNlIGNvbW1pdCA0NWNhODg3NmIyZjUyNjdmN2VkYjg0MmI2ZDU2ZDdhNmMyNzFjY2IzIG5vYm9keSBpcyB1c2luZwoJICBnc3Rfb3BlbmN2X2dldF9pcGxfZGVwdGhfYW5kX2NoYW5uZWxzKCkgb3IKCSAgZ3N0X29wZW5jdl9wYXJzZV9pcGxpbWFnZV9wYXJhbXNfZnJvbV9zdHJ1Y3R1cmUoKS4gUmVtb3ZlIHRoaXMgZGVhZAoJICBjb2RlLgoKMjAxNS0xMi0xMiAxOToxMzo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBSZW1vdmUgdW51c2VkIGluY2x1ZGVzCgoyMDE1LTEyLTEyIDEwOjA2OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIHJldmVydCBjb21tb24gc3VibW9kdWxlIGNoYW5nZQoKMjAxNS0xMi0xMiAwOTozMzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBjbGVhciB0byB0cmFuc3BhcmVudAoJICBPdGhlcndpc2UgY29tcG9zaXRpb24gd2lsbCByZXN1bHQgaW4gYSBibGFjayBmcmFtZSBvdXRzaWRlIHRoZSB0cmFuc2Zvcm1lZAoJICB2aWRlby4KCjIwMTUtMTItMTEgMTE6Mzk6MDggKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ2hlY2sgcmV0dXJuIHZhbHVlcyBvZiBEaXJlY3RTb3VuZCBmdW5jdGlvbnMgaW4gcmVhZCBsb29wCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBlbmQgdXAgaW4gYW4gaW5maW5pdGUgbG9vcCBiZWNhdXNlIG9mIGVycm9ycy4KCSAgQWxzbyB0YWtlIHRoZSBlbGVtZW50J3MgbXV0ZXggaW4gdW5wcmVwYXJlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyOTIKCjIwMTUtMTItMTAgMTI6NDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IHByZS1zZXQgcG9zaXRpb24gZm9yIGV4YWN0bHkgdGhlIHNhbWUgZXNzZW5jZSB0cmFjawoJICBUaGUgZWRpdCByYXRlIGlzIG9ubHkgc3VwcG9zZWQgdG8gYmUgdGhlIHNhbWUgaW4gYSBzb3VyY2UgcGFja2FnZSwgYnV0IHRoZXJlCgkgIG1pZ2h0IGJlIG11bHRpcGxlIHNvdXJjZSBwYWNrYWdlcyB3aXRoIHRoZSBzYW1lIGVzc2VuY2UgY29udGFpbmVyLiBBcyBzdWNoCgkgIGp1c3QgY29tcGFyaW5nIHRoZSBib2R5L2luZGV4IFNJRCBpcyBub3Qgc3VmZmljaWVudC4KCjIwMTUtMTItMTAgMTI6MjU6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IHByZS1zZXQgdGhlIHRyYWNrIHBvc2l0aW9uIGlmIGl0J3MgZm9yIHRoZSBzYW1lIGJvZHkvaW5kZXggU0lECgoyMDE1LTEyLTEwIDE0OjQxOjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgbGliZ3N0Z2w6IGdzdGdsY29udGV4dF9jb2NvYToga0NHTFBGQVN0ZXJlbyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIDEwLjExCgkgIEFsc28gc2luY2UgdGhlIHZlcnNpb24gc2NoZW1lIGhhcyBjaGFuZ2VkICh0byBpbmNsdWRlIHRoZSBtaWNybyBudW1iZXIpIHNpbmNlCgkgIDEwLjEwLCB1c2UgdGhlIE1BQ19PU19YX1ZFUlNJT05fKiBtYWNybyB0byBhdm9pZCBjb25mdXNpb24uCgoyMDE1LTEyLTEwIDEyOjQxOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiByZWxheCBjaGVjayBmb3IgbXVsdGlwbGUgdGV4dHVyZSB0YXJnZXRzCgkgIE9ubHkgY29tcGxhaW4gYWJvdXQgbXVsdGlwbGUgdGV4dHVyZSB0YXJnZXRzIHdoZW4gX2RpZmZlcmVudF8gdGV4dHVyZSB0YXJnZXRzCgkgIGFyZSBjb25maWd1cmVkLgoKMjAxNS0xMi0xMCAxMjozMzo1MiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHRha2Ugc3Vic2FtcGxpbmcgaW50byBhY2NvdW50IGZvciByZWN0YW5nbGUgdGV4dHVyZXMKCSAgUmVjdGFuZ2xlIHRleHR1cmVzIGRvbid0IHVzZSBub3JtYWxpemVkIGNvb3JkaW5hdGVzIHNvIHN1YnNhbXBsaW5nIG5lZWRzIHRvIGJlCgkgIGZhY3RvcmVkIGluIGV4cGxpY2l0bHkuCgkgIEZpeGVzIFlVViA9PiBSR0IgY29udmVyc2lvbiBmb3IgcmVjdGFuZ2xlIHRleHR1cmVzLgoKMjAxNS0xMi0wOSAxNjo1NTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgYWNjZXNzIHRoZSBpbmRleCB0YWJsZSBpZiBpdCBoYXMgZW5vdWdoIGVsZW1lbnRzCgoyMDE1LTEyLTA5IDE2OjI4OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXNlIGtleWZyYW1lIGluZm9ybWF0aW9uIGZyb20gaW5kZXggdGFibGUgc2VnbWVudHMgaWYgYXZhaWxhYmxlCgkgIFdlIGRvbid0IGltcGxlbWVudCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIGFsbCBjb2RlY3MgYW5kIHRoaXMgd2lsbCBhbGxvdyB1cyB0bwoJICBpbXBsZW1lbnQgYmV0dGVyIHNlZWtpbmcuCgoyMDE1LTEyLTA5IDE2OjMxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29sbGVjdCBhbGwgaW5kZXggdGFibGUgc2VnbWVudHMgYWZ0ZXIgZmluZGluZyB0aGUgcmFuZG9tIGluZGV4IHBhY2sKCSAgVGhhdCB3YXkgd2UgYWx3YXlzIGhhdmUgdGhlIGluZGV4IHRhYmxlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSwgZXNwZWNpYWxseSB0aGUKCSAga2V5ZnJhbWUtbmVzcyBvZiBhbGwgYnVmZmVycy4KCjIwMTUtMTItMDggMTg6MTU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogRml4IGhhbmRsaW5nIG9mIEluZGV4VGFibGVTZWdtZW50cwoJICBUaGlzIHdhcyBjb21wbGV0ZWx5IGJyb2tlbiBiZWZvcmUgYW5kIGNvdWxkIG9ubHkgd29yayBvbiBhIHZlcnkgY29uc3RyYWluZWQKCSAgc2V0IG9mIGZpbGVzLiBBZnRlciB0aGVzZSBjaGFuZ2VzIGl0IHNob3VsZCB3b3JrIGV4Y2VwdCBmb3Igc2l0dWF0aW9ucyB3aGVyZQoJICBQVFMgIT0gRFRTLCB3aGljaCBpcyBub3QgaGFuZGxlZCBhdCBhbGwgaW4gbXhmZGVtdXggY3VycmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTE4CgoyMDE1LTEyLTA4IDE0OjA2OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGF2b2lkIHB1c2hpbmcgZXZlbnRzIHdpdGggbWFuaWZlc3QgbG9jawoJICBJdCBjYW4gYmUgYW4gZWFzeSBzb3VyY2Ugb2YgZGVhZGxvY2tzLiBSZXByb2R1Y2libGUgd2l0aCB2ZXJ5CgkgIGZhc3QgY29ubmVjdGlvbnMgKGxvY2FsIHNlcnZlcikuCgoyMDE1LTEyLTA4IDIwOjI0OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogRml4IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMKCjIwMTUtMTItMDggMTg6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEhhbmRsZSBhZ2dyZWdhdGlvbiB3aXRoIE5VTEwgYnVmZmVycyB3aXRob3V0IGNyYXNoaW5nCgoyMDE1LTEyLTA4IDE2OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgRklYTUUgYWJvdXQgZW5mb3JjaW5nIHRoYXQgYWxsIHRyYWNrcyBpbiBhIHNvdXJjZSBwYWNrYWdlIGhhdmUgdGhlIHNhbWUgZWRpdCByYXRlCgkgIFRoZSBzdGFuZGFyZCByZXF1aXJlcyB0aGlzIGFuZCBhbHNvIHRoZSBpbmRleCB0YWJsZSBzZWdtZW50cyBhcmUgbm90IGdvaW5nIHRvCgkgIHdvcmsgb3RoZXJ3aXNlLgoKMjAxNS0xMi0wNyAyMDoyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogV3JpdGUgaW5kZXggdGFibGUgc2VnbWVudHMKCSAgQnV0IG9ubHkgZm9yIHRoZSBmaXJzdCBlc3NlbmNlIHRyYWNrLCBhbmQgb25jZSBmb3IgZXZlcnkga2V5ZnJhbWUgZXZlcnkgMgoJICBzZWNvbmRzLgoKMjAxNS0xMi0wNyAyMDoyNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEZpeCBzdGF0aWMgbG9jYWwgdGFnIGZvciBpbmRleCBzaWQKCjIwMTUtMTItMDcgMTk6MzQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmdHlwZXM6IEFkZCBmdW5jdGlvbiB0byBzZXJpYWxpemUgYW4gaW5kZXggdGFibGUgc2VnbWVudCB0byBhIGJ1ZmZlcgoKMjAxNS0xMi0wNyAxODo1OTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14Zm11eDogSW5kZXggdGFibGUgc2VnbWVudHMgbXVzdCBub3QgdXNlIHRoZSBwcmltZXIgcGFjawoJICBBY2NvcmRpbmcgdG8gUzM3Ny0xLTIwMDljIDkuMiB0aGUgbG9jYWwgdGFncyBtdXN0IG5vdCBiZSByZXNvbHZlZCBmcm9tIHRoZQoJICBwcmltZXIgcGFjaywgd2hpY2ggYXMgYSByZXN1bHQgbWVhbnMgdGhhdCB0aGVyZSBjYW4ndCBiZSBhbnkgb3RoZXIgdGFncyB0aGFuCgkgIHN0YXRpY2FsbHkgYXNzaWduZWQgb25lcy4KCjIwMTUtMTItMDcgMTQ6MTA6MzAgKzEwMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBmcmFnbWVudCBib3VuZGFyaWVzCgkgIFNldHRpbmcgdGhlIHNlZWsgZmxhZ3MgdG8gR1NUX1NFRUtfRkxBR19TTkFQXyogd2lsbCBjaGFuZ2UgdGhlIHNlZWsKCSAgdGFyZ2V0IHRpbWUgdG8gYSBzZWdtZW50IGJvdW5kYXJ5LgoJICBCYXNlZCBvbiBvcmlnaW5hbCB3b3JrIGJ5IEJlbiBXaWxsZXJzIDxid2lsbGVyc0BkaWdpc29mdC50dj4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMDgKCjIwMTUtMTItMDggMDk6NTM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoOiBGaXggdW5pdCB0ZXN0IGFmdGVyIG1vdmluZyBvZiBmcmFtZXJhdGVzIHRvIFJlcHJlc2VudGF0aW9uQmFzZVR5cGUKCjIwMTUtMTItMDggMDk6MzM6MzkgKzA5MDAgIHN1aHdhbmcua2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBTdWdnZXN0aW9uIGZvciBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgaW5mb3JtYXRpb24uCgkgIERhc2hkZW11eCBoYXMgc2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGluZm9ybWF0aW9uIGZyb20gTVBEIG1hbmlmZXN0LgoJICBTb21lIGVtYmVkZGVkIGRldmljZXMgd2hpY2ggYXJlIG5vdCBpbnN1ZmZpY2llbnQgSC9XIHJlc291cmNlcyBuZWVkIG1vcmUgaW5mb3JtYXRpb24gc3VjaCBhcyBmcmFtZXJhdGUKCSAgdG8gYXNzaWduIEgvVyByZXNvdXJjZXMuIFNvIEkgc3VnZ2VzdGVkIHRoYXQgZGFzaGRlbXV4IGFsc28gbmVlZHMgdG8gc2V0IHRoZSBmcmFtZXJhdGUgaW5mb3JtYXRpb24gZnJvbSBNRFAgbWFuaWZlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTUKCjIwMTUtMTItMDggMDk6MjM6MjIgKzA5MDAgIHN1aHdhbmcua2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG1heEZyYW1lUmF0ZSAmIG1pbkZyYW1lUmF0ZSBzaG91bGQgYmUgaW4gUmVwcmVzZW50YXRpb25CYXNlLgoJICBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHRoZXkgY2FuIGJlIGluIEFkYXB0YXRpb25TZXQsIFJlcHJlc2VudGF0aW9uIGFuZCBTdWJSZXByZXNlbnRhdGlvbi4KCSAgU28gVGhleSBzaG91bGQgYmUgaW4gUmVwcmVzZW50YXRpb25CYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE1CgoyMDE1LTEyLTA4IDE2OjM1OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2xwcm90bzogaW5jbHVkZSBmdW5jdGlvbiBkZWZpbml0aW9ucyBmb3IgR0xfQVBQTEVfc3luYwoJICBQcm92aWRlcyBhIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IG9uIGlPUyB3aGVyZSB3ZSB3ZXJlIGZhbGxpbmcgYmFjayB0byBnbEZpbmlzaAoJICBvbiBzZXR0dGluZyBzeW5jIHBvaW50cy4KCjIwMTUtMTItMDcgMjA6MzQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEFsbCBmcmFtZXMgaW4gSlBFRzIwMDAgYXJlIGtleWZyYW1lcywgbWFyayB0aGVtIGFzIHN1Y2gKCjIwMTUtMTItMDcgMDk6MDg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzE5OTA5IHRvIDg2ZTQ2NjMKCjIwMTUtMTItMDcgMTM6NDg6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJlbW92ZSBtb3JlIGRlYWQgY29kZQoJICBDb3Zlcml0eSBDSUQgIzEzMjg4MTgKCjIwMTUtMTItMDcgMTM6MzY6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IEZpeCBsZWFrIGFuZCBOVUxMIHBvaW50ZXIgdXNhZ2UKCSAgQ292ZXJpdHkgQ0lEICMxMzQxNzQ0CgoyMDE1LTEyLTA3IDExOjU2OjA5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBSZW1vdmUgZGVhZCBjb2RlCgkgICsraSBpbiBhIGZvcigpIGxvb3AgcmVzdWx0cyBpbiB0aGUgbG9vcCBuZXZlciBiZWluZyBleGVjdXRlZCBtb3JlIHRoYW4gb25jZQoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDgKCSAgQ292ZXJpdHkgQ0lEICMxMzQxNzQzCgoyMDE1LTAzLTEyIDExOjI5OjAwICswMDAwICBGcsOpZMOpcmljIFdhbmcgPGZyZWQud2FuZ0BmcmVlLmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY206IFBvcnQgQUNNIE1QMyBkZWNvZGVyIGFuZCBlbmNvZGVycyB0byBHU3RyZWFtZXIgMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwNDcKCjIwMTUtMDktMjQgMTc6NDA6MDIgKzAyMDAgIERhbmllbCBLYW1pbCBLb3phciA8ZGtrMDg5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICBwb3J0IHRlbGV0ZXh0ZGVjIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODE5CgoyMDE1LTEyLTAyIDE4OjI4OjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNnhwYXJzZTogUmVzZW5kIFBQUy9TUFMgYWZ0ZXIgc2VlawoJICBUaGlzIGlzIHRvIHN1cHBvcnQgYnl0ZS1zdHJlYW0gZGVjb2RlciB0aGF0IGRvZXMgbm90IHJlbWVtYmVyIHRoZQoJICBQUFMvU1BTIGFmdGVyIGEgZmx1c2guIFRoaXMgaXMgbm90IG5lZWRlZCBieSBhbGwgZGVjb2RlcnMsIGJ1dCBpcwoJICBoYXJtbGVzcyBmb3IgdGhvc2UgdGhhdCBkbyByZW1lbWJlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQwNQoKMjAxNS0xMi0wMSAxODowOToyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBPbmx5IG9mZmVyIGN1c3RvbSBhbGxvY2F0b3Igd2l0aCBjYXBzIGZlYXR1cmVzCgkgIFRvIHVzZSBHTE1lbW9yeSBhbmQgRUdMSW1hZ2UgYWxsb2NhdG9ycywgb25lIG5lZWQgdG8ga25vdyB0aGUKCSAgbGliZ3N0Z2wgQVBJLiBUaGlzIGlzIG9ubHkgZXhwZWN0ZWQgaWYgdGhlIGFzc29jaWF0ZWQgY2FwcyBmZWF0dXJlcwoJICBoYXZlIGJlZW4gbmVnb3RpYXRlZC4gR2VuZXJpYyBlbGVtZW50IHRoYXQgb3RoZXJ3aXNlIHJlY2VpdmUgdGhvc2UKCSAgYWxsb2NhdG9ycyBtYXkgZmFpbCwgcmVzdWx0aW5nIGluIGJyb2tlbiBwaWVsaW5lLiBXZSBkb24ndCB3YW50IHRvCgkgIGZvcmNlIGFsbCBnZW5lcmljIGVsZW1lbnQgdG8gY2hlY2sgaWYgdGhlIGFsbG9jYXRvciBpcyBhIGN1c3RvbQoJICBhbGxvY2F0b3Igb3IgYSBub3JtYWwgYWxsb2NhdG9yICh3aGljaCBpbXBsZW1lbnQgdGhlIF9hbGxvYyBtZXRob2QpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODc3CgoyMDE1LTEyLTA0IDE4OjA1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBjb3B5IGlucHV0IGJ1ZmZlcnMsIGp1c3QgYXBwZW5kIHRoZW0gdG8gdGhlIGhlYWRlcgoKMjAxNS0xMi0wMyAxMTo0NjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUmVzeW5jIGxpdmUgcGxheWxpc3RzIHRvIHRoZSAzcmQgbmV3ZXN0IGZyYWdtZW50IGlmIHdlIGZhbGwgb2ZmIHRoZSBwbGF5bGlzdAoJICBBcyBITFMgZG9lcyBub3QgcHJvdmlkZSBhbnkgd2F5IG9mIGtub3dpbmcgdGhlIHNlcnZlcidzIGNsb2NrLCBhbmQgd2UgZG8KCSAgYnVmZmVyaW5nIG9mICJsaXZlIiBzdHJlYW1zLCBhdCBzb21lIHBvaW50IHdlIHdpbGwgZmFsbCBiZWhpbmQgdGhlIHNlcnZlciBpbgoJICBtYW55IGNhc2VzIGFuZCB3b3VsZCBoYXZlIHRvIGFkdmFuY2UgdG8gYSBmcmFnbWVudCB0aGF0IGlzIG5vdCBpbiB0aGUgcGxheWxpc3QKCSAgYW55bW9yZS4KCSAgUHJldmlvdXNseSB3ZSB3b3VsZCd2ZSBqdXN0IHJlc3luY2VkIHRvIHRoZSBuZXh0IG9sZGVzdCBmcmFnbWVudCB0aGF0IGlzIHN0aWxsCgkgIHRoZXJlLCBidXQgdGhpcyBjYXVzZXMgcHJvYmxlbXMgYXMgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMgd2Ugd291bGQgYWx3YXlzCgkgIGZhbGwgb2ZmIHRoZSBwbGF5bGlzdCBhZ2FpbiBhbGwgdGhlIHRpbWUuCgkgIEluc3RlYWQgd2Ugbm93IHJlc3luYyBhbmQgbW92ZSB0byB0aGUgM3JkIG5ld2VzdCBmcmFnbWVudCBsaWtlIHdlIHdvdWxkIGRvCgkgIHdoZW4gc3RhcnRpbmcgcGxheWJhY2sgb2YgYSBsaXZlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk4NwoKMjAxNS0xMi0wMyAxODoyMTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IG0zdTg6IHJlbW92ZSBzdXBlcmZsdW91cyBnc3RfbTN1OF9jb3B5KCkgaW1wbGVtZW50YXRpb24KCSAgTm8gbmVlZCB0byBpbXBsZW1lbnQgX2NvcHkoKSB3aGVuIHdlIGp1c3QgY29weSBhIGxpc3QgdGhhdAoJICB3ZSdyZSBmcmVlaW5nIHRocmVlIGxpbmVzIGxhdGVyIGFueXdheS4gSW5zdGVhZCBqdXN0IHN0ZWFsCgkgIHRoZSBuZXcgbWFpbiBsaXN0LgoKMjAxNS0xMi0wMyAxMDowODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTG9nIFBUUyBvZiBidWZmZXJzIHRoYXQgYXJlIHB1c2hlZCBkb3duc3RyZWFtCgoyMDE1LTEwLTIwIDA5OjQ5OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRXhwb3NlIERWQiBTdWJwaWN0dXJlIGFzIHN1YnBpY3R1cmVzCgkgIEZvciBzb21lIHJlYXNvbiB3ZSB3ZXJlIGNvbnNpZGVyaW5nIHRoZW0gYXMgcHJpdmF0ZSBkYXRhLgoKMjAxNS0xMC0yMCAxNzoyMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggR0FQIGV2ZW50cyAqYWZ0ZXIqIGRlYWN0aXZhdGluZyBvbGQgcHJvZ3JhbXMKCSAgVGhlIG9yZGVyIGluIHdoaWNoIHByb2dyYW0gc3dpdGNoIG11c3QgaGFwcGVuIGlzOgoJICAxKSBkcmFpbiBhbGwgZGF0YSBvbiBvbGQgcGFkcyAoYnV0IGRvbid0IHB1c2ggRU9TKQoJICAyKSBhZGQgbmV3IHBhZHMgKGJ1dCBkb24ndCBwdXNoIGFueSBkYXRhIG9uIHRoZW0pCgkgIDMpIFB1c2ggRU9TIGFuZCByZW1vdmUgb2xkIHBhZHMKCSAgNCkgU3RhcnQgcHVzaGluZyBkYXRhIG9uIG5ldyBwYWRzCgkgIFRoZXJlIHdhcyBvbmUgY2F2ZWF0IGluIHRoaXMgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHRoYXQgd2hlbgoJICB3ZSBhY3RpdmF0ZSBhIHNwYXJzZSBwYWQgKHN0ZXAgMikgd2Ugd291bGQgcHVzaCBhIEdBUCBldmVudC4gVGhlIHByb2JsZW0KCSAgaXMgdGhhdCwgd2hpbGUgYmVpbmcgYW4gZXZlbnQsIGl0IGlzIGFjdHVhbGx5ICpkYXRhKi4KCSAgV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJlIHB1c2hpbmcgdGhvc2UgR0FQIGV2ZW50IGlzIGRvbmUgYXQgdGhlIHN0ZXAKCSAgd2Ugc3RhcnQgcHVzaGluZyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTA5LTE1IDE4OjIwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBzdXJlIG9sZCBzdHJlYW1zIGFyZSBkcmFpbmVkIGJlZm9yZSBzd2l0Y2hpbmcKCSAgQmVmb3JlIHdlIGFkZCBhbnkgc3RyZWFtcywgbWFrZSBzdXJlIHdlIGRyYWluIGFsbCBzdHJlYW1zLiBUaGlzIGVuc3VyZXMKCSAgdGhlcmUncyBjb25zaXN0ZW5jeSB0aGF0IG9ubHkgIm5ldyIgZGF0YSB3aWxsIGJlIHB1c2hlZCBvbiBidWZmZXJzIG9uY2UKCSAgdGhlIG5ldyBwYWRzIGFyZSBhZGRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTA5LTEwIDE0OjU1OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IEFsbG93IGRlYWN0aXZhdGlvbiBvZiBwcm9ncmFtcyB0byBiZSBkZWxheWVkCgkgIFdoZW4gY2hhbmdpbmcgcHJvZ3JhbXMsIHRoZSBvcmRlciBvZiBldmVudHMgbmVlZHMgdG8gYmUgdGhlIGZvbGxvd2luZzoKCSAgKiBhZGQgcGFkcyBmcm9tIG5ldyBwcm9ncmFtCgkgICogc2VuZCBFT1Mgb24gb2xkIHBhZHMKCSAgKiByZW1vdmUgb2xkIHBhZHMKCSAgKiBlbWl0ICduby1tb3JlLXBhZHMnCgkgIFByZXZpb3VzbHkgdHNkZW11eCB3YXMgbm90IGRvaW5nIHRoYXQsIGFuZCB3YXMgZmlyc3QgZGVhY3RpdmF0aW5nIGFuZAoJICByZW1vdmluZyBvbGQgcGFkcyBiZWZvcmUgYWRkaW5nIG5ldyBvbmVzLgoJICBXZSBmaXggdGhpcyBieSBhbGxvd2luZyBzdWJjbGFzc2VzIG9mIG1wZWd0c2Jhc2UgdG8gYmUgYWJsZSB0byBoYW5kbGUKCSAgdGhlbXNlbHZlcyB0aGUgZGVhY3RpdmF0aW9uIG9mIHByb2dyYW1zLiBJbiB0aGlzIGNhc2UgdHNkZW11eCB3aWxsCgkgIHByb3Blcmx5IGRlYWN0aXZhdGUgaXQgb25jZSBpdCBoYXMgYWN0aXZhdGVkIHRoZSBuZXcgcHJvZ3JhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQwMgoKMjAxNS0xMi0wMiAxMTowMTo1MyArMDEwMCAgTWFyb8WhIE9uZHLDocWhZWsgPG14M2xkZXZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXBkYXRlIGN1cnJlbnQgdmFyaWFudCBpZiBjb25uZWN0aW9uIHNwZWVkIGlzIHNldAoJICBJZiBjb25uZWN0aW9uIHNwZWVkIGlzIHNldCwgcGxheWxpc3QgYWNjb3JkaW5nCgkgIHRvIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2VsZWN0ZWQgYXMgY3VycmVudCBwbGF5bGlzdC4KCSAgUHJvYmxlbSBpcyB0aGF0IHRoZSBjdXJyZW50IHZhcmlhbnQgb2YgbWFpbiBwbGF5bGlzdCBzdGlsbAoJICBwb2ludHMgdG8gcHJldmlvdXNseSBzZXQgdmFyaWFudC4KCSAgSWYgcHJldmlvdXNseSBzZXQgdmFyaWFudCBkb2Vzbid0IGNvcnJlc3BvbmQgdG8gY3VycmVudAoJICBwbGF5bGlzdCwgdGhlbiBpdCBjYXVzZXMgdW5uZWNlc3NhcnkgY2hhbmdlIG9mIHBsYXlsaXN0CgkgIHRvIHRoZSBzYW1lIHBsYXlsaXN0IGFmdGVyIGZpcnN0IGZyYWdtZW50IGlzIGRvd25sb2FkZWQsCgkgIGJlY2F1c2Ugb2Ygbm90IHVwZGF0ZWQgY3VycmVudCB2YXJpYW50LgoJICBUbyBmaXggdGhpcywgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBjdXJyZW50IHZhcmlhbnQKCSAgb2YgbWFpbiBwbGF5bGlzdCBjb3JyZXNwb25kcyB0byB0aGUgY3VycmVudCBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTQ2CgoyMDE1LTEyLTAyIDE0OjM1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgdmlkZW9mcmFtZS1hdWRpb2xldmVsOiBGaXggY29tcGlsYXRpb24gb2Ygc3RhdGljIHBsdWdpbiBhbmQgc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBVc2UgR19HU0laRV9GT1JNQVQgZm9yIGdzaXplIGluc3RlYWQgb2YgJWxkIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgcGx1Z2luIG5hbWUKCSAgaXMgYSB2YWxpZCBDIGlkZW50aWZpZXIsIGkuZS4gY29udGFpbnMgbm8gc3BhY2VzIG9yIGRhc2hlcy4KCjIwMTUtMTItMDIgMjI6NDI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogaW1wcm92ZSB0aGUgWVVZMi9VWVZZLT5SR0JBIGNvbnZlcnNpb24gc2hhZGVyCgkgIERvbid0IG9mZnNldCB0aGUgeS1heGlzLiAgV2Ugb25seSBuZWVkIHRvIG9mZnNldCBvbiB0aGUgeC1heGlzLgoJICBSZW1vdmVzIGEgc2F3dG9vdGggcGF0dGVybiBvbiBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBlZGdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ4NgoKMjAxNS0xMi0wMiAyMjo0MDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXByb3ZlIFJHQkEtPllVWTIvVVlWWSBjb252ZXJzaW9uIHNoYWRlcgoJICBXZSBzaG91bGQgb25seSBhdmVyYWdlIHRoZSBjaHJvbWEgc2FtcGxlcyBub3QgdGhlIGx1bWEgc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTA0CgoyMDE1LTExLTExIDAzOjU1OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFRlbGwgdGhlIGJhc2UgY2xhc3MgdGhlIGZyYWdtZW50IGR1cmF0aW9uCgkgIGFkYXB0aXZlZGVtdXggdXNlcyB0aGUgZnJhZ21lbnQgZHVyYXRpb24gYXMgYSBkZWxheQoJICBpbiBzb21lIGNhc2VzLCBzbyBtYWtlIHN1cmUgdG8gc2V0IGl0LgoKMjAxNS0xMS0xMSAwMzo1NDo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogU2VuZCB0aGUgYml0cmF0ZSBvZiB0aGUgc3RyZWFtIGFzIGEgdGFnCgkgIElmIHdlIGtub3cgb3IgY2FuIG1lYXN1cmUgdGhlIG5vbWluYWwgYml0cmF0ZSBvZiBhIHN0cmVhbSwKCSAgc2VuZCB0aGF0IGluZm8gYXMgYSB0YWcgZG93bnN0cmVhbQoKMjAxNS0xMS0wOCAwMTozNDozMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXaGVuIHN3aXRjaGluZyBiaXRyYXRlIHZhcmlhbnRzLCBkb24ndCBqdW1wIGJhY2sKCSAgRG9uJ3QganVtcCBiYWNrd2FyZCB0byAzIGZpbGVzIGZyb20gdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QKCSAgd2hlbiBzd2l0Y2hpbmcgdmFyaWFudHMgLSBpdCBqdXN0IG1lYW5zIHdlIGRvd25sb2FkZWQKCSAgZnJhZ21lbnRzIGZhc3QgYW5kIGNhdWdodCB1cCB0byB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdC4KCSAgRGlzYWJsZSB0aGF0IGJ5IHRyZWF0aW5nIGEgdmFyaWFudCBzd2l0Y2ggYXMgYSBwbGF5bGlzdAoJICB1cGRhdGUsIG5vdCBhIHJlc3RhcnQgZHVlIHRvIGEgc2VlayBvciBzby4KCjIwMTUtMDQtMjEgMjE6MDk6MTkgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkgIGFsZXZlbDogTmV3IGF1ZGlvL3ZpZGVvIGxldmVsIGVsZW1lbnQKCSAgVGhlIHZpZGVvZnJhbWUtYXVkaW9sZXZlbCBlbGVtZW50IGFjdHMgbGlrZSBhIHN5bmNocm9uaXplZCBhdWRpby92aWRlbyAibGV2ZWwiCgkgIGVsZW1lbnQuIEZvciBlYWNoIHZpZGVvIGZyYW1lLCBpdCBwb3N0cyBhIGxldmVsLXN0eWxlIG1lc3NhZ2UgY29udGFpbmluZyB0aGUKCSAgUk1TIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGF1ZGlvIGZyYW1lcy4gVGhpcyBlbGVtZW50IG5lZWRzIGJvdGggdmlkZW8gYW5kCgkgIGF1ZGlvIHRvIHBhc3MgdGhyb3VnaCBpdC4gRnVydGhlcm1vcmUsIGl0IG5lZWRzIGEgcXVldWUgYWZ0ZXIgaXRzIHZpZGVvCgkgIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODI1OQoKMjAxNS0xMi0wMSAyMzoyMDo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJICBEcm9wIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZy1pci1zY2FubmVyIC0tc3RyaXAtcHJlZml4IGZsYWcKCjIwMTUtMTEtMTAgMTY6MTk6MzQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBjb3JyZWN0IHRoZSBjYWxjdWxhdGlvbiBvZiBzZWVrIHJhbmdlIG9mIG5vbi1saXZlIHN0cmVhbXMKCSAgVGhlIHNlZWsgcmFuZ2UgY2FsY3VsYXRpb24gZm9yIG9uLWRlbWFuZCBzdHJlYW1zIHdhcyBpbmNvcnJlY3RseQoJICBleGNsdWRpbmcgdGhlIGxhc3QgdGhyZWUgc2VnbWVudHMgb2YgdGhlIHN0cmVhbS4gVGhpcyB0aHJlZSBzZWdtZW50CgkgIHJ1bGUgc2hvdWxkIG9ubHkgYmUgYXBwbGllZCB0byBsaXZlIHN0cmVhbXMgWzFdLgoJICBbMV0gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXBhbnRvcy1odHRwLWxpdmUtc3RyZWFtaW5nLTE3I3NlY3Rpb24tNi4zLjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM4NgoKMjAxNS0xMi0wMSAxNzo1MjowMyArMDAwMCAgUGFvbG8gUGV0dGluYXRvIDxwcGV0dGluYUBjaXNjby5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZvcndhcmQgRkxVU0hfU1RPUCBldmVudHMgZG93bnN0cmVhbSB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkxMwoKMjAxNS0xMS0yOSAwMTowMjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBobHNkZW11eDogZml4IGNyYXNoIHdoZW4gZGVjcnlwdGlvbiBrZXkgY2FuJ3QgYmUgZG93bmxvYWRlZAoJICBIYXBwZW5lZCB3aXRoCgkgIGh0dHA6Ly9zc2xobHMubTZ0di5jZG4uc2ZyLm5ldC9obHMtbGl2ZS9saXZlcGtnci9fZGVmaW5zdF8vbTZfaGxzX2Flcy9tNl9obHNfYWVzXzg1Ni5tM3U4CgkgIGlmIGdsaWItbmV0d29ya2luZyB3YXMgbm90IGluc3RhbGxlZCAoc2luY2Uga2V5IGhhcyBodHRwcyB1cmkpLgoKMjAxNS0xMS0zMCAxMTowNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSBwb2ludGxlc3MgY2xpZW50X2hhc19tYWluKCkgZnVuY3Rpb24KCSAgV2UgYWx3YXlzIGhhdmUgYSBtYWluIGxpc3QuCgoyMDE1LTExLTI4IDAwOjEyOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSB1bnVzZWQgX2dldF9jdXJyZW50X2ZyYWdtZW50X2R1cmF0aW9uKCkgZnVuY3Rpb24KCjIwMTUtMTEtMjcgMTk6MjE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHVudXNlZCBtM3U4IGNsaWVudCB1cGRhdGVfZmFpbGVkX2NvdW50IGZpZWxkCgoyMDE1LTExLTE1IDE3OjMxOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSBoZWxwZXIgdmFyIHRoYXQncyBvbmx5IHVzZWQgZHVyaW5nIHBhcnNpbmcgZnJvbSBzdHJ1Y3R1cmUKCSAgSnVzdCBrZWVwIHRoYXQgbG9jYWwgdG8gdGhlIHBhcnNpbmcgZnVuY3Rpb24uCgoyMDE1LTExLTAxIDEzOjIxOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZXh0L2hscy9nc3RobHMuaDoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc3BsdWdpbi5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzOiByZW5hbWUgcGx1Z2luIGZyb20gZnJhZ21lbnRlZCB0byBobHMKCjIwMTUtMTItMDEgMTk6NDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHdheXMgZ2l2ZSB0aW1lc3RhbXBzIGlmIHdlJ3JlIGRpc2NvbnQgYW5kIGRvbid0IG1hcmsgc3RyZWFtIGRpc2NvbnQgaWYgYSBwbGF5bGlzdCBjaGFuZ2Ugd2FzIG5vdCBzdWNjZXNzZnVsCgkgIElmIHRoZSBzdHJlYW0gaXMgZGlzY29udCwgd2UgbXVzdCBwcm92aWRlIGEgdGltZXN0YW1wIGluIGFueSBjYXNlLiBFbGVtZW50cwoJICBsaWtlIHRzZGVtdXggYXJlIG5vdCBnb2luZyB0byBvdXRwdXQgYW55dGhpbmcgaWYgd2UgZ2l2ZSBhIE5PTkUgdGltZXN0YW1wCgkgIGFmdGVyIGEgZGlzY29udC4KCSAgQWxzbyBtYXJraW5nIGEgc3RyZWFtIGFzIGRpc2NvbnQgaWYgYSBwbGF5bGlzdCBjaGFuZ2Ugd2FzIG5vdCBzdWNjZXNzZnVsIHdvdWxkCgkgIGxlYWQgdG8gdGhlIGFib3ZlIHNpdHVhdGlvbiwgYnV0IGluIHRoYXQgY2FzZSB3ZSBhcmUgbm90IHJlcXVpcmVkIGF0IGFsbCB0bwoJICBtYXJrIHRoZSBzdHJlYW0gZGlzY29udCBhcyB3ZSdyZSBzdGlsbCBhdCB0aGUgb2xkIHBsYXlsaXN0LgoKMjAxNS0xMi0wMSAxNzowNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IGZpeCB3cm9uZyBsb2cgbWVzc2FnZSBsZXZlbAoJICBFUlJPUiBsZXZlbCBpcyBkZWJ1Z2dpbmcgbGVmdC1vdmVyLgoKMjAxNS0xMS0wOSAxNjowODozMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6YWdncmVnYXRvcjogZml4IHRjIGZhaWx1cmUgYW5kIGNvcnJlY3QgY2hlY2sgdmFsdWUKCSAgRmFpbHVyZSBieSB0aGlzIGNvbW1pdCAyZGZhNTQ4ZjM2NDU4NDQwODJjM2RiNjVkOTZkODcyNTU3MDFiM2FkLCB3aGljaCBpcwoJICB0byBhcHBlbmQgaG9va3MgaW5zdGVhZCBvZiBwcmVwZW5kLgoJICBCZWNhdXNlIG9mIHRoaXMgY2hhbmdlLCBhZ2dyZXRhdGVkX2NiIGlzIG5vdCBjYWxsZWQgYW5kIGxlYWRzIHRvIGZhaWx1cmUuCgkgIEFuZCBjb3JyZWN0IHRvIGNoZWNrIGZsdXNoIHN0b3AgdmFsdWUgaW5zdGVhZCBvZiBmbHVzaCBzdGFydCB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODAxCgoyMDE1LTExLTMwIDE5OjUzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgdHJ5IHRvIHJlY3JlYXRlIHN3YXBjaGFpbiB3aGlsZSB0aGUgd2luZG93IGlzIG1pbmltaXplZAoJICBJdCB3aWxsIGZhaWwgYW5kIGNhdXNlIHRoZSBzaW5rIHRvIGNyYXNoLiBJbnN0ZWFkIHdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcwoJICB2aXNpYmxlIGFnYWluIGJlZm9yZSBjaGVja2luZyBpZiB0aGUgc3dhcGNoYWluIHJlYWxseSBoYXMgdG8gYmUgcmVjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNjA4CgoyMDE1LTExLTI3IDE4OjQ2OjU2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcmVtb3ZlIHVubmVlZGVkIHN0YXRlbWVudAoJICBjb21taXQgZGE1YzQxOTMwYzQwODM5NzliMTc0NWY0ZDg4NDhkOTdmZTAzZDhlYiByZW1vdmVkIHRoZSB0d28gdXNlcyBvZiB0aGUKCSAgbmV3IHZhbHVlIG9mIGRhdGE6CgkgIGNoYW5uZWxzID0gb3B1c19wYWNrZXRfZ2V0X25iX2NoYW5uZWxzIChkYXRhKTsKCSAgYmFuZHdpZHRoID0gb3B1c19wYWNrZXRfZ2V0X2JhbmR3aWR0aCAoZGF0YSk7CgkgIFNpbmNlIHRoZW4sIGRhdGEgaXNuJ3QgYmVpbmcgdXNlZCBiZXR3ZWVuIGluY3JlbWVudGluZyBpdCBieSBwYWNrZXRfb2Zmc2V0CgkgIGFuZCBnb2luZyBvdXQgb2Ygc2NvcGUuIFJlbW92aW5nIHRoaXMgdW5lZWRlZCBzdGF0ZW1lbnQuCgoyMDE1LTExLTI3IDEyOjQ0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIHRlc3RzOiBpZDNtdXg6IGFkZCB1bml0IHRlc3QgZm9yIEdTVF9UQUdfUFJJVkFURV9EQVRBIHdyaXRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcyOAoKMjAxNS0xMS0yNyAxMTozMzowNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IHdyaXRlIHByaXZhdGUgZGF0YSB0YWcKCSAgSGFuZGxlICJQUklWIiB0YWcgaW4gaWQzbXV4LiBXcml0ZSBvd25lcgoJICBpZGVudGlmaWVyIGFuZCBwcml2YXRlIGRhdGEgYW5kIGFkZCB0byB0aGUKCSAgaWQzdjIgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MjgKCjIwMTUtMTEtMjYgMTA6MTU6MzYgKzAxMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uQGtkYWIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGFkZCBtZXRhZGF0YSB0byBsb2NrZWQgYnVmZmVyCgkgIFRoZSB2aWRlbyBkZWNvZGVycyB0cmllZCBjYWxsaW5nIGdzdF9idWZmZXJfYWRkXyptZXRhKCkgb24gbm9uLXdyaXRhYmxlCgkgIGJ1ZmZlciByZXN1bHRpbmcgaW4gd2FybmluZ3Mgb2YgdGhpcyBraW5kOgoJICBnc3RhbWN2aWRlb2RlYy5jOjkyMSAoX2dsX3N5bmNfcmVuZGVyX3VubG9ja2VkKTogV0FSTklORzogYW1jdmlkZW9kZWMKCSAgRmFpbGVkIHRvIGNyZWF0ZSB0aGUgdHJhbnNmb3JtYXRpb24gbWV0YSBmb3IgdGhlIGdsX3N5bmMgMHhhYmMwMzg0OAoJICBidWZmZXIgMHhhYmIwMWI0MCAoMCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODY5NAoKMjAxNS0xMS0wOSAxODowNzozMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBkaXNhYmxlZCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIHRlc3QKCSAgVW50aWwgd2Ugd2lsbCBoYXZlIHN1cHBvcnQgdG8gY29udHJvbCB0aGUgZ2VuZXJhdGluZyB0aHJlYWQgZnJvbQoJICBmYWtlSFRUUHNyYyBlbGVtZW50LCB0aGUgdGVzdCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIGlzIGRpc2FibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTA5IDE0OjE0OjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGNvcnJlY3RlZCBhY2Nlc3MgdG8gZmFrZUhUVFBzcmMgZWxlbWVudAoJICBUaGUgc3JjIGVsZW1lbnQgZm9yIGFkYXB0aXZlZGVtdXggaXMgbm93IGEgYmluLiBVcGRhdGVkIHRoZSB0ZXN0cyB0bwoJICBjb3JyZWN0bHkgcmVhY2ggaW50byB0aGUgYmluIGFuZCBnZXQgdGhlIGZha2VIVFRQc3JjIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzc3NgoKMjAxNS0xMS0wOSAxNDoxMzowNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBtYWRlIGZha2VIVFRQc3JjIGVsZW1lbnQgTVQgc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTIzIDExOjMyOjEzICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBzcHUtcGdzOiBGaXggYXJyYXkgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNwoKMjAxNS0xMS0yNCAwMDoyMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb21peGVyOiByZWdpc3RlciBmdW5jdGlvbiBuYW1lIGZvciBkZWJ1Z2dpbmcganVzdCBvbmNlCgkgIE5vdCBldmVyeSB0aW1lIGFnZ3JlZ2F0ZSBpcyBjYWxsZWQuLi4KCjIwMTUtMTEtMjQgMTI6NDI6NDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbW92ZSBnc3RfbXBkX2NsaWVudF9jaGVja190aW1lX3Bvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1OTMKCjIwMTUtMTEtMjQgMTE6NTA6NTEgKzAxMDAgIE1hcm/FoSBPbmRyw6HFoWVrIDxteDNsZGV2QGdtYWlsLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBkZXB0aCBmaWVsZCB0byBhdWRpbyBjYXBzIGlmIGF2YWlsYWJsZQoJICBkZXB0aCBmaWVsZCBjYW4gYmUgcmV0cmlldmVkIGZyb20gIkJpdHNQZXJTYW1wbGUiIG9yCgkgIGZyb20gIldhdmVGb3JtYXRFeCIgc3RydWN0dXJlLCBpZiBwcm92aWRlZCBpbiBNYW5pZmVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTg2CgoyMDE1LTExLTIwIDE2OjM1OjQzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGZyYWN0aW9uIG9mIHNlY29uZHMgaW4gYXZhaWxhYmlsaXR5U3RhcnRUaW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MTAKCjIwMTUtMTEtMjAgMTY6MzY6MDAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3IgcGFyc2luZyBmcmFjdGlvbiBvZiBzZWNvbmRzIGluIGRhdGVUaW1lIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEwCgoyMDE1LTExLTIyIDEzOjExOjQ4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBwdXQgdGhlIHdheWxhbmRzaW5rIGV4YW1wbGUgd2luZG93LnVpIGZpbGUgaW4gRVhUUkFfRElTVAoKMjAxNS0xMS0yMiAxMzowODozNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGxpbmtpbmcgd2F5bGFuZHNpbmsgZXhhbXBsZSB3aXRoIHRoZSBnc3R3YXlsYW5kIGxpYnJhcnkKCSAgRmlyc3QsIHVzZSB0b3BfYnVpbGRkaXIsIG90aGVyd2lzZSBpdCBmYWlscyBpbiBvdXQtb2Ytc291cmNlIGJ1aWxkcy4KCSAgU2Vjb25kLCBsaW5rIHRvIHRoZSBsaWJ0b29sIGFyY2hpdmUgZGlyZWN0bHkgdG8gbGV0IG1ha2UgdW5kZXJzdGFuZAoJICB0aGUgZGVwZW5kZW5jeS4KCjIwMTUtMTEtMjAgMjA6NTk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFsd2F5cyBzZXQgcHJlc2VudGF0aW9uVGltZU9mZnNldAoJICBTZXQgaXQgZm9yIGFsbCB0eXBlcyBvZiBzZWdtZW50IGxpc3RzICh0ZW1wbGF0ZXMgLyBsaXN0cyAvIGJhc2UpCgkgIGFuZCBub3Qgb25seSBmb3IgdGVtcGxhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTI5CgoyMDE1LTExLTIwIDE3OjUwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBFcnJvciBvdXQgaWYgd2UgZ2V0IGEgdGltZW91dCBkdXJpbmcgbGl2ZSBtaXhpbmcKCSAgV2UgY2FuJ3QgaGFuZGxlIHRoYXQgYnV0IG5lZWQgY29tcGxldGUgc3RyZWFtcyB3aXRob3V0IGdhcHMuCgoyMDE1LTExLTIwIDE3OjQ2OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFVzZSB0aGUgY29ycmVjdCBzb3VuZCBlc3NlbmNlIGNvbXByZXNzaW9uIFVMIGZvciBNUDMKCSAgVGhlcmUncyBvbmUgZm9yIE1QRUcgMSBMYXllciAxIGFuZCBvbmUgZm9yIExheWVyIDIgYW5kIDMuIFdlIHByZXZpb3VzbHkKCSAgaGFkIHRoZSBzZWNvbmQgZm9yIExheWVyIDEgYW5kIDIgYW5kIG5vdGhpbmcgZm9yIExheWVyIDMsIHdoaWNoIHdhcyB3cm9uZy4KCjIwMTUtMTEtMjAgMTc6MzQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogU2V0IHRoZSBlc3NlbmNlIGNvbnRhaW5lciBVTCBieXRlIDEzIHRvIDB4MTAgZm9yIGgyNjQKCSAgMHgwNCBzaWduaWZpZXMgYSBNUEVHIGVsZW1lbnRhcnkgc3RyZWFtIGJ1dCBhY2NvcmRpbmcgdG8gUlAyMDA4LCAweDEwIHNob3VsZAoJICBiZSB1c2VkIGZvciBhIGgyNjQgYnl0ZS1zdHJlYW0uIFRoaXMgYWxzbyBmaXhlcyBjb21wYXRpYmlsaXR5IG9mIG91ciBmaWxlcwoJICB3aXRoIGZmbXBlZy4KCjIwMTUtMTEtMjAgMTE6MTg6NDMgKzExMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHJldXNlIGV4aXN0aW5nIEdzdFFTR1RleHR1cmUKCSAgRml4ZXMgYSBtZW1vcnkgbGVhayBsZWFraW5nIHRoZSB0ZXh0dXJlIG9iamVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTUtMTEtMjAgMTE6MDg6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxbWw6IGFjdGl2YXRlIHRoZSB3cmFwcGVkIGNvbnRleHQgd2hlbiBiaW5kaW5nCgkgIE1pdGlnYXRlcyB0aGUgZm9sbG93aW5nIGNyaXRpY2FsCgkgIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQ6IGFzc2VydGlvbiAnY29udGV4dC0+cHJpdi0+YWN0aXZlX3RocmVhZCA9PSBnX3RocmVhZF9zZWxmICgpJyBmYWlsZWQKCjIwMTUtMTEtMTkgMTE6NTU6MTkgKzAxMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHByb3BlciBpbml0aWFsaXphdGlvbiBpZiBzY2VuZSBpcyBhbHJlYWR5IGluaXRpYWxpemVkCgkgIFRoZSBzY2VuZSBncmFwaCBjYW4gYmUgaW5pdGlhbGl6ZWQgd2hlbiB0aGUgd2UgcmVjZWl2ZSB3aW5kb3cgaGFuZGxlIGNoYW5nZQoJICBub3RpZmljYXRpb24gYW5kIHNvIHdlIHdpbGwgbm90IHJlY2VpdmUgYSBzY2VuZWdyYXBoIGluaXRpYWxpemF0aW9uCgkgIG5vdGlmaWNhdGlvbi4gIEluaXRpYWxpemUgb3Vyc2VsZiBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzMzcKCjIwMTUtMDctMjkgMjI6MzE6MzAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFkZCBiaW5hcnkgc2VhcmNoIGZvciBzdHJlYW1fc2lkeF9zZWVrCgkgIEFkZCBiaW5hcnkgc2VhcmNoIHRvIG9wdGltaXplIGluIHN0cmVhbV9zaWR4X3NlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NTMKCjIwMTUtMTEtMTkgMTU6NTk6NTYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGdzdF9tcGRwYXJzZXJfZ2V0X2NodW5rX2J5X2luZGV4IGFuZCBnc3RfbXBkcGFyc2VyX2ZpbmRfc2VnbWVudF9ieV9pbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjMzCgoyMDE1LTExLTE5IDE3OjI0OjUzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICBkb2NzOiB1cGRhdGUgZ3N0LWxhdW5jaC0wLjEwIGxpbmVzCgkgIFVwZGF0ZSByZWZlcmVuY2VzIHRvIGdzdC1sYXVuY2gtMC4xMCB0byBnc3QtbGF1bmNoLTEuMAoKMjAxNS0xMS0xOSAxMDozMjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFtY3ZpZGVvZGVjOiBtb3ZlIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciBpbnRvIHRoZSBzeW5jIG1ldGEKCSAgU29tZSBkZXZpY2VzIG9ubHkgZXZlciBrZWVwIG9uZSBidWZmZXIgYXZhaWxhYmxlIGluIHRoZSBHTCBxdWV1ZSByZXN1bHRpbmcgaW4KCSAgbXVsdGlwbGUgY2FsbHMgdG8gcmVsZWFzZV9vdXRwdXRfYnVmZmVyIG9ubHkgY2F1c2luZyBvbmUgZnJhbWUgdG8gYmUgcmVuZGVyZWQuCgkgIElmIHRoZXJlIGlzIGEgcXVldWUgYWZ0ZXIgYW1jdmlkZW9kZWMgKGV2ZW4gcGxheXNpbmsncyBzbWFsbCBvbmUpLCB0aGVuCgkgIG11bHRpcGxlIGJ1ZmZlcnMgYXJlIHB1c2hlZCBidXQgb25seSBhIHNtYWxsIGZyYWN0aW9uIG9mIHRoZW0gYXJlIGFjdHVhbGx5CgkgIHJlbmRlcmVkIG9uIHRpbWUuICBUaGUgcmVzdCB3aWxsIGVpdGhlciByZW5kZXIgc29tZSBudW1iZXIgb2YgZnJhbWVzIGFoZWFkIG9mCgkgIHdoZXJlIHRoZXkgYXJlIG1lYW50IHRvIGJlIG9yIHRpbWVvdXQgd2FpdGluZyBmb3IgYSBmcmFtZSB0aGF0J3MgYWxyZWFkeSBiZWVuCgkgIHJlbmRlcmVkLgoJICBTb2x2ZWQgYnkgbW92aW5nIHRoZSByZWxlYXNlX291dHB1dF9idWZmZXIgaW50byB0aGUgc3luY19tZXRhIHRoZSBpcyBwdXNoZWQKCSAgZG93bnN0cmVhbS4gIFdoZW4gZG93bnN0cmVhbSByZW5kZXJzLCB0aGUgY3VzdG9tIHN5bmMgaW1wbGVtZW50YXRpb24gYXR0ZW1wdHMKCSAgdG8gcmVsZWFzZSB0aGUgY3VycmVudCBidWZmZXIgKGlmIG5vdCBhbHJlYWR5IHJlbGVhc2VkKSBhbmQgcmVuZGVyLiBPbmNlIHRoZQoJICBmcmFtZSBoYXMgYmVlbiByZW5kZXJlZCB0byB0aGUgc2NyZWVuLCB0aGUgbmV4dCBmcmFtZSBpcyByZWxlYXNlZCBhbmQgaXMKCSAgaG9wZWZ1bGx5IGF2YWlsYWJsZSBieSB0aGUgdGltZSB0aGUgbmV4dCBmcmFtZSBpcyB0byBiZSByZW5kZXJlZC4KCSAgVGhpcyBmaXhlcyBhIHBlcmNlaXZlZCBmcmFtZSBqaXR0ZXIgaW4gdGhlIG91dHB1dC4KCjIwMTUtMTEtMTcgMTU6MjM6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCSAgZ19mcmVlKCkgaXMgTlVMTC1zYWZlCgoyMDE1LTExLTExIDE2OjExOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogQWxzbyBhbGxvdyAnLycgaW4gUmVwcmVzZW50YXRpb25JRAoJICBVc2VkIGJ5IGh0dHA6Ly93d3cuYm9rLm5ldC9kYXNoL3RlYXJzX29mX3N0ZWVsL2NsZWFydGV4dC9zdHJlYW0ubXBkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MDMKCjIwMTUtMTAtMjYgMTY6MjQ6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay93aW5kb3cudWk6CgkgIHRlc3RzL2V4YW1wbGVzOiBhZGQgYSB3YXlsYW5kc2luayBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMjIKCjIwMTUtMTEtMTggMTI6NTY6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogY2FsbCBnc3RfdmlkZW9fc2lua19jZW50ZXJfcmVjdCB3aXRoIGEgZGVzdGluYXRpb24gcmVjdGFuZ2xlIHRoYXQgc3RhcnRzIGZyb20gKDAsMCkKCSAgVGhlIGludGVudGlvbiBvZiB0aGlzIGNvZGUgaXMgdG8gZmluZCB0aGUgY2VudGVyIHJlY3RhbmdsZSByZWxhdGl2ZQoJICB0byAoMCwwKSwgc2luY2Ugc3Vic3VyZmFjZSBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVudAoJICBzdXJmYWNlLgoJICBUaGUgb2xkIGNvZGUgdXNlZCB0byB3b3JrIGJ1dCB3YXMgd3JvbmcgYW5kIGJyb2tlbiBieQoJICBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhc2UvY29tbWl0L2dzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb3NpbmsuYz9pZD1mZjU3ZjY5MTM0NTZlYzE5OTFlNTU1MTdjZjFmMjM5ZTgwZWVkZGVmCgoyMDE1LTExLTE2IDE3OjI1OjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbGFzdF9mcmFnbWVudF90aW1lc3RhbXBfZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxODgKCjIwMTUtMTEtMTYgMTc6MjU6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZ3N0X21wZF9jbGllbnRfZ2V0X2xhc3RfZnJhZ21lbnRfdGltZXN0YW1wX2VuZAoJICBUaGUgdGltZXN0YW1wIGZvciBsYXN0IGZyYWdtZW50IGlzIGluY29ycmVjdGx5IHJldHJpZXZlZCBpZiBzZWdtZW50IHRlbXBsYXRlcwoJICBhcmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE4OAoKMjAxNS0xMS0xNyAxNjoyMTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IERvbid0IHJlcXVpcmUgYSBub24temVybyBidWZmZXIgc2l6ZSB3aGVuIGRvaW5nIGRlY29kaW5nIHRvIGEgc3VyZmFjZQoJICBBdCBsZWFzdCBvbiBzb21lIGRldmljZXMvQW5kcm9pZCB2ZXJzaW9ucyB0aGUgYnVmZmVyIHNpemUgd2lsbCBhbHdheXMgYmUgemVybwoJICBpbiB0aGVzZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODIyOAoKMjAxNS0xMS0xNyAxNzoxNzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBnc3RnbGltYWdlc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2dsaW1hZ2Vfc2lua19vbl9kcmF3JzoKCSAgZ3N0Z2xpbWFnZXNpbmsuYzoxOTU5OjE4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdzeW5jX21ldGEnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KCSAgR3N0R0xTeW5jTWV0YSAqc3luY19tZXRhID0gTlVMTDsKCSAgXgoKMjAxNS0xMS0xNyAxNzowOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IFN0cmluZyBsaXRlcmFscyBhcmUgY29uc3QKCSAgZ3N0Z2x2aWV3Y29udmVydC5jOiBJbiBmdW5jdGlvbiAnX21hbmdsZV9leHRlbnNpb25zJzoKCSAgZ3N0Z2x2aWV3Y29udmVydC5jOjE1MTE6MTM6IGVycm9yOiBhc3NpZ25tZW50IGRpc2NhcmRzICdjb25zdCcgcXVhbGlmaWVyIGZyb20gcG9pbnRlciB0YXJnZXQgdHlwZSBbLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVyc10KCSAgZXh0X3N0ciA9ICIjZXh0ZW5zaW9uIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWwgOiByZXF1aXJlXG4iOwoJICBeCgoyMDE1LTExLTE3IDE3OjA4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogQWN0dWFsbHkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG1ldGEgZnJvbSBnc3RfYnVmZmVyX2FkZF9nbF9zeW5jX21ldGEoKQoJICBnc3RnbHN5bmNtZXRhLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2xpYmdzdGdsXzEuMF9sYS1nc3RnbHN5bmNtZXRhLm8KCSAgZ3N0Z2xzeW5jbWV0YS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2J1ZmZlcl9hZGRfZ2xfc3luY19tZXRhJzoKCSAgZ3N0Z2xzeW5jbWV0YS5jOjEzMToxOiBlcnJvcjogY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlvbiBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KCSAgfQoJICBeCgoyMDE1LTExLTE3IDE2OjIxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRml4IGluZGVudGF0aW9uCgoyMDE1LTExLTE3IDE2OjA4OjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggbmVnb3RpYXRpb24gbW9yZQoJICBZZWFyIDEyOiBJIHN0aWxsIGRvbid0IHVuZGVyc3RhbmQgaG93IG5lZ290aWF0aW9uIHdvcmtzLgoJICBBcHBhcmVudGx5IGdzdF9wYWRfcXVlcnlfY2FwcyBkb2Vzbid0IGRvIHdoYXQgSSB0aG91Z2h0IGl0IGRpZC4gVG8gZ2V0IHRoZQoJICBhY3R1YWwgY2FwcyB0aGF0IGNhbiBmbG93IHRocm91Z2ggdnRkZWM6c3JjIHdlIG11c3QgY2FsbCBnc3RfcGFkX3BlZXJfcXVlcnlfY2FwcwoJICB3aXRoIHRoZSB0ZW1wbGF0ZSBjYXBzIGFzIGZpbHRlci4KCSAgRml4ZXMgbmVnb3RpYXRpb24gd2l0aCBzdHVmZiB0aGF0IGRvZXNuJ3QgdW5kZXJzdGFuZCBHTE1lbW9yeSAoaGVsbG8gdmlkZW9zY2FsZSkuCgoyMDE1LTExLTE3IDE2OjE0OjExICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBtaW5vciB0ZXh0dXJlIGNhY2hlIGZpeGVzCgkgIFNtYWxsIGZpeCBvbiBob3cgdGhlIHRleHR1cmUgY2FjaGUgaXMgY2xlYW5lZCB1cCAvIHNldHVwIGluIGNhc2Ugb2YgcmVuZWdvdGlhdGlvbgoKMjAxNS0xMS0xNyAxNjoxMzowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBzdG9wIGNvbmZpZ3VyaW5nIGNhY2hlLT5jb252ZXJ0IG92ZXIgYW5kIG92ZXIKCjIwMTUtMTEtMTYgMTU6NDY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBnbGltYWdlc2luazogd2FpdCBvbiB0aGUgY29ycmVjdCBzeW5jIG1ldGEgd2hlbiByZW5kZXJpbmcKCjIwMTUtMTEtMDMgMTM6MTk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW1jdmlkZGVjOiBvdXRwdXQgZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIFRoaXMgcHJvdmlkZXMgYSBwZXJmb3JtYW5jZSBhbmQgcG93ZXIgdXNhZ2UgaW1wcm92ZW1lbnQgYnkgcmVtb3ZpbmcKCSAgdGhlIHRleHR1cmUgY29weSBmcm9tIGFuIE9FUyB0ZXh0dXJlIHRvIDJEIHRleHR1cmUuCgkgIFRoZSBmbG93IGlzIGFzIGZvbGxvd3MKCSAgMS4gR2VuZXJhdGUgdGhlIG91dHB1dCBidWZmZXIgd2l0aCB0aGUgcmVxdWlyZWQgc3luYyBtZXRhIHdpdGggdGhlIGluY3JlbWVudGluZwoJICBwdXNoIGNvdW50ZXIgYW5kIE9FUyBHTCBtZW1vcnkKCSAgMS4xIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciAoYnVmLCByZW5kZXI9dHJ1ZSkgYW5kIHB1c2ggZG93bnN0cmVhbQoJICAyLiBEb3duc3RyZWFtIHdhaXRzIGZvciBvbiB0aGUgc3luYyBtZXRhICh0aW1lZCB3YWl0KSBvciBkcm9wcyB0aGUgZnJhbWUgKG5vIHdhaXQpCgkgIDIuMSBUaW1lZCB3YWl0IGZvciB0aGUgZnJhbWUgbnVtYmVyIHRvIHJlYWNoIHRoZSBudW1iZXIgb2YgZnJhbWUgY2FsbGJhY2tzIGZpcmVkCgkgIDIuMiBVbmNvbmRpdGlvbmFsbHkgdXBkYXRlIHRoZSBpbWFnZSB3aGVuIHRoZSB3YWl0IGNvbXBsZXRlcyAoc3VjY2VzcyBvciBmYWlsKS4KCSAgU2V0cyB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBtZXRhIG9uIHRoZSBidWZmZXIuCgkgIDMuIERvd25zdHJlYW0gcmVuZGVycyBhcyB1c3VhbC4KCSAgQXQgKnNvbWUqIHBvaW50IHRocm91Z2ggdGhpcyB0aGUgb25fZnJhbWVfY2FsbGJhY2sgbWF5IG9yIG1heSBub3QgZmlyZS4gIElmIGl0CgkgIGRvZXMgZmlyZSwgd2UgY2FuIGZpbmlzaCB3YWl0aW5nIGVhcmx5IGFuZCByZW5kZXIuIE90aGVyd2lzZSB3ZSBoYXZlIHRvCgkgIHdhaXQgZm9yIGEgdGltZW91dCB0byBvY2N1ciB3aGljaCBtYXkgY2F1c2UgbW9yZSBidWZmZXJzIHRvIGJlIHB1c2VkIGludG8gdGhlCgkgIGludGVybmFsIEdMIHF1ZXVlIHdoaWNoIHNpZ2luaWZpY2FudGx5IGRlY3JlYXNlcyB0aGUgY2hhbmNlcyBvZiB0aGUKCSAgb25fZnJhbWVfY2FsbGJhY2sgdG8gZmlyZSBhZ2Fpbi4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgZnJhbWUgY2FsbGJhY2sgb25seSBvY2N1cnMKCSAgd2hlbiB0aGUgaW50ZXJuYWwgR0wgcXVldWUgY2hhbmdlcyBzdGF0ZSBmcm9tIGVtcHR5IHRvIG5vbi1lbXB0eS4KCSAgQmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgdG8gcmVsaWFibHkgY29ycmVsYXRlIGJldHdlZW4gdGhlIG51bWJlciBvZiBidWZmZXJzCgkgIHB1c2hlZCBhbmQgdGhlIG51bWJlciBvZiBmcmFtZSBjYWxsYmFja3MgcmVjZWl2ZWQsIHRoZXJlIGFyZSBhIG51bWJlciBvZgoJICB3b3JrYXJvdW5kcyBpbiBwbGFjZS4KCSAgMS4gV2Ugc2VsZi1pbmNyZW1lbnQgdGhlIHJlYWR5IGNvdW50ZXIgd2hlbiBpdCBmYWxscyBiZWhpbmQgdGhlIHB1c2ggY291bnRlcgoJICAyLiBUaW1lIGJhc2VkIHdhaXRzIGFzIHRoZSBmcmFtZSBjYWxsYmFjayBtYXkgbm90IGJlIGZpcmVkIGZvciBhIGNlcnRhaW4gZnJhbWUuCgkgIDMuIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgZGV2aWNlIGNhbiByZW5kZXIgYXQgc3BlZWQgb3IgcGVyZm9ybXMgc29tZSBRb1Mgb2YKCSAgdGhlIGludGVyYWwgR0wgcXVldWUgKHdoaWNoIG1heSBub3QgbWF0Y2ggdGhlIEdTdHJlYW1lciBRb1MpLgoJICBJdCBob2xkcyB0aGF0IHdlIGNhbGwgU3VyZmFjZVRleHR1cmU6OnVwZGF0ZVRleEltYWdlIGZvciBlYWNoIGJ1ZmZlciBwdXNoZWQKCSAgZG93bnN0cmVhbSBob3dldmVyIHRoZXJlJ3Mgbm8gZ3VhcmVudGVlIHRoYXQgdXBkYXRlVGV4SW1hZ2Ugd2lsbCByZXN1bHQgaW4KCSAgdGhlIGV4YWN0IG5leHQgZnJhbWUgKGl0IGNvdWxkIHNraXAgb3IgZHVwbGljYXRlKSBzbyBzeW5jaHJvbml6YXRpb24gaXMgbm90CgkgIGd1YXJhbnRlZWQgdG8gYmUgYWNjdXJhdGUgYWx0aG91Z2ggaXQgc2VlbXMgdG8gYmUgY2xvc2UgZW5vdWdoIHRvIGJlIHVuYWJsZQoJICB0byBkaXNjZXJuIHZpc3VhbGx5LiAgVGhpcyBoYXMgbm90IGNoYW5nZWQgZnJvbSBiZWZvcmUgdGhpcyBwYXRjaC4gIFRoZSBjdXJyZW50CgkgIHJlcXVpcmVtZW50IGZvciBzeW5jaHJvbml6YXRpb24gaXMgdGhhdCB1cGRhdGVUZXhJbWFnZSBpcyBjYWxsZWQgYXQgdGhlIHBvaW50IGluCgkgIHRpbWUgd2hlbiB0aGUgYnVmZmVycyBpcyB0byBiZSByZW5kZXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0wMiAxNzo1NzoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogYWRkIHZmdW5jcyBmb3IgYWxsIG9wZXJhdGlvbnMKCSAgdGhlcmUgY291bGQgYmUgb3RoZXIgd2F5cy9yZXF1aXJlbWVudHMgZm9yIHN5bmNocm9uaXNpbmcgdHdvIEdQVSBjb21tYW5kCgkgIHN0cmVhbXMgKHdoZXRoZXIgR0wgb3IgcGxhdGZvcm0gc3BlY2lmaWMpLgoJICBlLmcuIGdsZmVuY2VzeW5jL2VnbHdhaXRuYXRpdmUvY29uZC9ldGMKCjIwMTUtMTEtMTAgMTU6Mzc6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyODUKCjIwMTUtMTEtMTAgMTQ6NTQ6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsdmlld2NvbnZlcnQ6IGFkZCBzdXBwb3J0IHJlY3RhbmdsZS9leHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0xNyAxNToxODoyOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHNldHRpbmcgaW50ZXJuYWwgU0tJUCAvIERST1AgZmxhZ3MKCjIwMTUtMTEtMTcgMDk6MDg6NTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBzdHJ1Y3R1cmUgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODIwNQoKMjAxNS0xMS0xNiAyMTo1MjowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlcmxpc3RzCgoyMDE1LTExLTE3IDExOjIxOjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIFJld29yayBuZWdvdGlhdGlvbiBpbXBsZW1lbnRpbmcgR3N0VmlkZW9EZWNvZGVyOjpuZWdvdGlhdGUuIE1ha2UgaXQgcG9zc2libGUgdG8KCSAgc3dpdGNoIHRleHR1cmUgc2hhcmluZyBvbiBhbmQgb2ZmIGF0IHJ1bnRpbWUuIFVzZWZ1bCB0byAoZXZlbnR1YWxseSkgdHVybgoJICB0ZXh0dXJlIHNoYXJpbmcgb24gaW4gcGlwZWxpbmVzIHdoZXJlIGdsaW1hZ2VzaW5rIGlzIGxpbmtlZCBvbmx5IGFmdGVyCgkgIGRlY29kaW5nIGhhcyBhbHJlYWR5IHN0YXJ0ZWQgKGZvciBleGFtcGxlIE9XUikuCgoyMDE1LTExLTE3IDExOjE5OjU3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBpbXByb3ZlIGhhbmRpbmcgb2YgZGVjb2RlIGVycm9ycy9mcmFtZSBkcm9wcwoJICBJbXByb3ZlIGRlY29kZSBlcnJvciBoYW5kbGluZyBieSBhdm9pZGluZyBjYWxsaW5nIGludG8gR3N0VmlkZW9EZWNvZGVyIGZyb20gdGhlCgkgIFZUIGRlY29kZSBjYWxsYmFjay4gVGhpcyByZW1vdmVzIGNvbnRlbnRpb24gb24gdGhlIEdTVF9WSURFT19ERUNPREVSX1NUUkVBTV9MT0NLCgkgIHdoaWNoIHVzZWQgdG8gbWFrZSB0aGUgZGVjb2RlIGNhbGxiYWNrIHNsb3cgZW5vdWdoIGZvciBWVCB0byBzdGFydCBkcm9wcGluZyBsb3RzCgkgIG9mIGZyYW1lcyBvbmNlIHRoZSBmaXJzdCBmcmFtZSB3YXMgZHJvcHBlZC4KCjIwMTUtMTEtMTcgMTE6MjI6MTUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMTUtMTEtMTQgMjA6MjE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgbm93LWRlZnVuY3QgIm51bS1sb29rYmFjay1mcmFnbWVudHMiIHByb3BlcnR5CgkgIFRoaXMgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcsIGFuZCBpdCB3YXMgbWFya2VkIGFzIENPTlNUUlVDVF9PTkxZCgkgIHdoaWNoIG1lYW5zIHNvbWVvbmUgd291bGQgcmVhbGx5IGhhdmUgdG8gZ28gb3V0IG9mIHRoZWlyIHdheSB0bwoJICBiZSBhYmxlIHRvIHNldCB0aGlzLCB3aGljaCB3b3VsZCBvbmx5IGJlIGRvbmUgaW4gdmVyeSBjdXN0b20KCSAgc2NlbmFyaW9zLCBpZiBldmVyLCBhbmQgdGhvc2Ugd2lsbCBsaWtlbHkgdGFyZ2V0IGEgc3BlY2lmaWMKCSAgdmVyc2lvbiBvZiBHU3RyZWFtZXIgdGhlbiwgc28gcHJvYmFibHkgbm90IG11Y2ggcG9pbnQga2VlcGluZwoJICBpdCBkZXByZWNhdGVkIGZvciBhIHdoaWxlIGJlZm9yZSByZW1vdmluZyBpdC4KCjIwMTUtMTEtMTMgMTc6MTQ6MTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFsd2F5cyBnaXZlIGEgdmFsaWQgcmVwbHkgdG8gaW50ZXJuYWwgY2FwcyBxdWVyaWVzCgkgIENhcHMgcXVlcmllcyBjYW4gYWx3YXlzIGhhdmUgYSB2YWxpZCByZXBseSwgZWl0aGVyIHRoZSBmaWx0ZXIgb3IgQU5ZLgoJICBJZiB0aGUgY2FwcyBhcmUgQU5ZLCB0aGVuIGFjY2VwdC1jYXBzIGFsd2F5cyByZXR1cm5zIFRSVUUuCgoyMDE1LTExLTEyIDE2OjM1OjEyICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzZWN0aW9uX2RhdGEgbGVhawoJICBJZiBwYWNrZXQtPnBheWxvYWRfdW5pdF9zdGFydF9pbmRpY2F0b3IgaXMgdHJ1ZSBhbmQgcG9pbnRlciAwLCB0aGVyZSBpcyBubwoJICBkaXNjb250aW51aXR5IGNoZWNrLiBUaGVyZWZvcmUgdGhlcmUgY291bGQgYmUgYSBwcmV2aW91cyBzZWN0aW9uIG5vdCBjb21wbGV0ZQoJICB0aGF0IG5lZWQgdG8gYmUgY2xlYXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAxMAoKMjAxNS0xMS0xMyAxMDo0MTo1OCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZpeCBwb3NzaWJsZSBzdHJpbmcgb3ZlcnJ1biBpbiBnc3RfZ2xzbF92ZXJzaW9uX3Byb2ZpbGVfZnJvbV9zdHJpbmcKCSAgZ2l2ZW4gYSBOVUxMLXRlcm1pbmF0ZWQgc3RyaW5nLCBzLgoJICBzW2ldID0gJ1wwJzsKCSAgaSsrOwoJICBkb2VzIG5vdCBndWFyZW50ZWUgdGhhdCBzW2ldIGlzIE5VTEwgdGVybWluYXRlZCBhbmQgdGh1cyBzdHJpbmcgb3BlcmF0aW9ucwoJICBjb3VsZCByZWFkIG9mZiB0aGUgZW5kIG9mIHRoZSBhcnJheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxNjo1MDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBkb24ndCByZWFkIGludmFsaWQgbGlzdCBwb2ludGVycyAodXNlIGFmdGVyIGZyZWUpCgkgIGdzdF9nbF9zaGFkZXJfZGV0YWNoX3VubG9ja2VkIGFscmVhZHkgcmVtb3ZlcyB0aGUgbGlzdCBlbnRyeSBzbyBhdHRlbXB0aW5nIHRvCgkgIHVzZSB0aGUgZWxlbWVudCB0byBpdGVyYXRlIHRvIHRoZSBuZXh0IHN0YWdlIGNvdWxkIHJlYWQgaW52YWxpZCBkYXRhLgoJICBCYXNlZCBvbiBwYXRjaCBieSBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDEwOjQ0OjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHNsLmM6CgkgIHRlc3RzOmdsc2w6IHZlcnNpb25fcHJvZmlsZV9zIHN0cmluZyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTA6NTY6MTAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJICBnbHNsOiBmcmVlIHN0ciB3aGlsZSByZXR1cm5pbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxMTowNDozNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6Z2x1cGxvYWQ6IGZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTIgMTI6MjE6NTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGF2b2lkIHBvdGVudGlhbCBvdmVyZmxvdyBleHByZXNzaW9uCgkgIFRoZSByZXN1bHQgb2YgdGhlIHR3byBleHByZXNzaW9ucyB3aWxsIGJlIHByb21vdGVkIHRvIGd1aW50NjQgYW55d2F5LAoJICBwZXJmb3JtIGFsbCB0aGUgYXJpdGhtZXRpYyBpbiA2NCBiaXRzIHRvIGF2b2lkIHBvdGVudGlhbCBvdmVyZmxvd3MuCgkgIENJRCAxMzM4NjkwLCBDSUQgMTMzODY5MQoKMjAxNS0xMS0xMiAxMjowMDowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBtZW1vcnkgbGVhawoJICBUaGUgdmFsdWVzIG9mIGNoYW5uZWxfbWFwcGluZyBhcmUgY29waWVkIGJ5IGdzdF9jb2RlY191dGlsc19vcHVzX2NyZWF0ZV9jYXBzICgpCgkgIGJ1dCBpdCBkb2Vzbid0IGZyZWUgb3IgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGdfbmV3MCBhbGxvY2F0ZWQgbWVtb3J5LiBUaGlzCgkgIG5lZWRzIHRvIGJlIGZyZWVkIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUuCgkgIENJRCAxMzM4NjkyCgoyMDE1LTExLTEyIDExOjQyOjM2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgYnVmZmVyIGNoZWNrCgkgIGJ1ZiBzdXJlbHkgaXNuJ3QgTlVMTCBpbnNpZGUgdGhlIGJsb2NrIGNvbmRpdGlvbmFsIHRvIGEgYnVmZmVyIHNpemUgYmlnZ2VyCgkgIHRoYW4gKEdfTUFYVUlOVDE2IC0gMykuIFBsdXMgZ3N0X2J1ZmZlcl91bnJlZigpIGNoZWNrcyBpZiB0aGUgYnVmZmVyIGlzCgkgIE5VTEwgYW5kIGRvZXMgbm90aGluZyBpZiBpdCBpcy4KCSAgQ0lEIDEzMzg2OTMKCjIwMTUtMTEtMTIgMTE6MjM6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBpbml0aWFsaXplIHNhbXBsZSByYXRlIHRvIGEgZGVmYXVsdAoJICBzYW1wbGVfcmF0ZSBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaWYgIXNpbmtfY2FwcyBpcyBUUlVFLiBJbml0aWFsaXplCgkgIGl0IHRvIHRoZSBkZWZhdWx0IHVzZWQgaW4gZ3N0X2NvZGVjX3V0aWxzX29wdXNfcGFyc2VfY2FwcyAoKSB3aGVuIHRoZXJlIGlzCgkgIG5vIHJhdGUgZGVmaW5lZCBpbiB0aGUgY2Fwcy4KCSAgQ0lEIDEzMzg2OTUKCjIwMTUtMTEtMTIgMTY6MzY6MDMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogRml4IHZlcnRleF9zb3VyY2VzIG1lbW9yeSBsZWFrCgkgIHZlcnRleF9zb3VyY2VzIGlzIGJlaW5nIGFsbG9jYXRlZCBidXQgbm90IGZyZWVkIHJlc3VsdGluZyBpbiBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTIgMTY6MjY6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBmcmVlCgkgIHZlcnNpb25fc3RyIGlzIGFscmVhZHkgYmVpbmcgZnJlZWQuIFNvIG5vIG5lZWQgdG8gY2FsbCBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTEyIDE2OjE4OjM1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggc3RyaW5nIGxlYWsKCSAgU3RyaW5nIGdvdCB1c2luZyBnc3RfZ2xzbF92ZXJzaW9uX3Byb2ZpbGVfdG9fc3RyaW5nLCBpcyBhbGxvY2F0ZWQKCSAgbWVtb3J5IGFuZCBzaG91bGQgYmUgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMiAxNjowMjo0NSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGZyYWdfcHJvZyBhbmQgZnJhZ19ib2R5IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTEgMTY6NTE6MjMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBoYW5kbGluZyBlcnJvcnMgZW1pdHRlZCBieSB1cmkgaGFuZGxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTQ3CgoyMDE1LTExLTEwIDE2OjMyOjM3ICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHBlbmRpbmcgYnVmZmVycyBsZWFrIHdoZW4gZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5NQoKMjAxNS0wNi0xMCAxNDoxODowMCArMDIwMCAgRXRpZW5uZSBQZXJvbiA8ZXRpZW5uZS5wZXJvbkBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHBhZCBsZWFrIHdoZW4gdGhlIHBhZCBpcyBuZXZlciBleHBvc2VkCgkgIElmIHRzZGVtdXggbmV2ZXIgcmVjZWl2ZXMgZGF0YSBmb3IgYSBzdHJlYW0sIHRoZSBjb3JyZXNwb25kaW5nIHBhZCB3aWxsIG5ldmVyCgkgIGJlIGFkZGVkIGFuZCBzdHJlYW0tPmFjdGl2ZSB3aWxsIHJlbWFpbiBGQUxTRS4gV2hlbiB0aGUgc3RyZWFtIGlzIHJlbW92ZWQsIHRoZQoJICBwYWQgd2lsbCBub3QgYmUgdW5yZWZmZWQgYW5kIHdpbGwgYmUgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODczCgoyMDE1LTExLTA5IDE3OjQ1OjI5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEZpeCB0aGUgd3Jvbmcgd2lkdGggJiBoZWlnaHQgcGFyc2luZyBvZiB2cDkgYml0c3RyZWFtCgkgIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGZvciBkZXRlY3RpbmcgdGhlIHJlc29sdXRpb24gY2hhbmdlcwoJICBvbiBrZXkgZnJhbWVzIGlzIGJhc2VkIG9uIHZwOCBiaXRzdHJlYW0gYWxpZ25tZW50LiBBdm9pZCB0aGlzCgkgIHdpZHRoIGFuZCBoZWlnaHQgcGFyc2luZyBmb3IgdnA5IGJpdHN0cmVhbSwgd2hpY2ggcmVxdWlyZXMgcHJvcGVyCgkgIGZyYW1lIGhlYWRlciBwYXJzaW5nIGlub3JkZXIgdG8gZGV0ZWN0IHRoZSByZXNvbHV0aW9uIGNoYW5nZSAoRml4bWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODI1CgoyMDE1LTExLTExIDExOjQwOjUyICswMTAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBTZXQgcHJvZmlsZV9sZXZlbCB0byBOVUxMIGFmdGVyIHJlbGVhc2UKCSAgT3RoZXJ3aXNlLCBnc3RfdnRlbmNfbmVnb3RpYXRlX3Byb2ZpbGVfYW5kX2xldmVsIHdpbGwgZG91YmxlLXJlbGVhc2UgYXMKCSAgaXQgY2hlY2tzIGZvciBwcm9maWxlX2xldmVsICE9IE5VTEwuIFRoaXMgY2F1c2VkIGNyYXNoZXMgd2hlbiB0aGUKCSAgdnRlbmMgaW5zdGFuY2UgaXMgc3RvcHBlZCBhbmQgdGhlbiByZXN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MzUKCjIwMTUtMTEtMTEgMjM6Mzk6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogbWFuZ2xlIGdsX0ZyYWdDb2xvciBmb3IgR0wzCgkgIFNvbWUgZHJpdmVycyBkb24ndCBwcm92aWRlIHRoZSBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gYW5kIHdlIG5lZWQgdG8gcHJvdmlkZQoJICBvdXIgb3duICdvdXQgdmVjNCcgdmFyaWFibGUgdG8gcHV0IHRoZSByZXN1bHRzIG9mIHRoZSBmcmFnbWVudCBzaGFkZXIgaW50by4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkzOAoKMjAxNS0xMS0xMSAxNjowNjoyNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgdGVzdHM6Z2xjb2xvcmNvbnZlcnQ6IEZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIE91dHB1dCBjYXBzIGJlaW5nIGdvdCBmcm9tIHZpZGVvIGluZm8gaXMgbm90IGdldHRpbmcgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkyOQoKMjAxNS0xMS0xMCAxNzo1ODo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcHJvdmlkZSBvdXIgb3duIGRlZmluaXRpb24gb2YgbG9nMigpCgkgIFRoZSBsb2cyIGZ1bmN0aW9uL21hY3JvIGRvZXNuJ3QgZXhpc3Qgd2hlbiB0YXJnZXR0aW5nIGFuZHJvaWQgQVBJIDwgMTggKG9yIE1TVkMKCSAgPCAyMDEzKSB3aGVyZWFzIG91ciBjdXJyZW50IGJhc2VsaW5lIGlzIEFQSSA5LgoKMjAxNS0xMS0xMCAxMzo1MjozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogcmVtb3ZlIHNldF9mb3JtYXQKCSAgV2UgbmVlZCB0aGUgY2FwcyB0byBiZSBhYmxlIHRvCgkgIDEuIGNoZWNrIHRoZSBjYXBzIGZlYXR1cmVzCgkgIDIuIGdldCB0aGUgcmVxdWVzdGVkIHRleHR1cmUtdGFyZ2V0IG9uIGlucHV0L291dHB1dAoKMjAxNS0xMS0xMSAxMDozMTowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggYSBtZW1vcnkgbGVhayBpZiB0aGUgdmlldyBjb252ZXJzaW9uIGZhaWxzCgoyMDE1LTExLTExIDEzOjM3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGJhbGFuY2UgdGhlIGNyZWF0aW9uL2Rlc3RydWN0aW9uIG9mIHRoZSBvdmVybGF5IGNvbXBvc2l0b3IKCSAgRml4ZXMgc29tZSBsZWFrcy9wb3NzaWJsZSBzZWdmYXVsdCBvbiB3aGVuIGZhaWxpbmcgdG8gY3JlYXRlIHRoZSBjb21wb3NpdG9yLgoKMjAxNS0xMS0xMSAxMjoyMzozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsc2hhZGVyOiBwcm9wZXJseSB1bnJlZiB0aGUgc3RhZ2VzIG9uIGZhaWx1cmUKCSAgV2hlbiBmYWlsaW5nIGluIHRoZSB2YXJhcmdzIGZ1bmN0aW9ucywgYWxsIHRoZSBzdGFnZSBvYmplY3RzIG5vdCBoYW5kbGVkIG5lZWQgdG8KCSAgYmUgdW5yZWZmZWQgdG8gcHJldmVudCBhIGxlYWsuCgoyMDE1LTExLTExIDExOjI5OjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogcHJvcGVybHkgcmV0dXJuIGFuIGVycm9yIHdoZW4gd2UgY291bGQgbm90IGNyZWF0ZSB0aGUgc2hhZGVyIHN0YWdlCgkgIFdoaWxlIGl0IHdhcyBlcnJvcmluZyBvdXQgY29ycmVjdGx5IGxhdGVyLCB0aGVyZSB3ZXJlIEdMaWIgd2FybmluZ3MgYWJvdXQKCSAgc2V0dGluZyBhIEdFcnJvciBvdmVyIHRoZSB0b3Agb2YgYW5vdGhlciBHRXJyb3IuCgoyMDE1LTExLTExIDAxOjA1OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmM6CgkgIGdsc2hhZGVyc3RyaW5nczogZml4dXAgdGhlIGV4dGVybmFsLW9lcyBmcmFnbWVudCBzaGFkZXIKCSAgVGhlIHdyb25nIHNhbXBsZXIgdHlwZSB3YXMgdXNlZAoJICBzL3NhbXBsZXIyREV4dGVybmFsT0VTL3NhbXBsZXJFeHRlcm5hbE9FUy8KCjIwMTUtMTEtMTAgMjM6NDE6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogdHJ5IHRvIGtlZXAgdGhlIHNhbWUgdGV4dHVyZS10YXJnZXQgaWYgcG9zc2libGUKCSAgRml4ZXMgaXNzdWVzIGF0dGVtcHRpbmcgdG8gcGFzc3Rocm91Z2ggZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgoyMDE1LTExLTEwIDIyOjQxOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCByZW5kZXJpbmcgcmVjdGFuZ3VsYXIgdGV4dHVyZXMgd2l0aCBHTDMKCSAgUmVjdGFuZ3VsYXIgdGV4dHVyZXMgYXJlIHVuYXZhaWxhYmxlIGluIHVuZXh0ZW5kZWQKCSAgR0xFUzIgI3ZlcnNpb24gMTAwIHNoYWRlcnMuCgkgIEZpeGVzCgkgIHRleHR1cmUtdGFyZ2V0PXJlY3RhbmdsZSAhIGdsY29sb3Jjb252ZXJ0ICEgdGV4dHVyZS10YXJnZXQ9MkQKCSAgVGhlcmUncyBhIGNvdXBsZSBvZiBkaWZmZXJlbmNlcyBiZXR3ZWVuIEdMMyBhbmQgR0xFUzIvR0wKCSAgLSB2YXJ5aW5nIC0+IGluIG9yIG91dCBkZXBlbmRpbmcgb24gdGhlIHN0YWdlICh2ZXJ0ZXgvZnJhZ21lbnQpCgkgIC0gYXR0cmlidXRlIC0+IGluCgkgIC0gZmlsdGVyZWQgdGV4dHVyZSBhY2Nlc3MgaXMgYSBzaW5nbGUgZnVuY3Rpb24sIHRleHR1cmUoKQoKMjAxNS0xMS0xMCAyMDoyMDoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwcm9wZXJseSB1c2UgdGhlIG90aGVyIHRleHR1cmUtdGFyZ2V0IG9uIGZpeGF0aW9uCgoyMDE1LTExLTEwIDIwOjE1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogYWRkIGRlYnVnIGFzIHRvIHdoeSBfc2V0X3N0cmluZ3MoKSBmYWlsZWQKCjIwMTUtMTEtMTAgMjA6MTM6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZpeCBjaGVjayBmb3IgZ2xzbCB2ZXJzaW9uIGFnYWluc3QgR0wgY29udGV4dCBpbnZlcnNpb24KCSAgQW55IEdMU0wgdmVyc2lvbiB0aGF0IHdhcyBsZXNzIHRoYW4gdGhlIHByb3ZpZGVkIEdMIHZlcnNpb24gd291bGQgZmFpbAoKMjAxNS0xMS0xMCAxMDowMjozOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IHBhZCBtZW1vcnkgbGVhay4KCSAgVGhlIHN0YXRpYyBwYWRzIGdvdCBmcm9tIHF1ZXVlIGFuZCB1cmlfaGFuZGxlciBhcmUgbm90IGJlaW5nIGZyZWVkCgkgIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NTkKCjIwMTUtMTEtMTAgMTM6MTM6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9lbnVtcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2w6IGZvcndhcmQgZGVjbGFyZSBzb21lIGVudW1zCgkgIFNwZWNpZmljYWxseSB0aGUgR3N0R0xUZXh0dXJlVGFyZ2V0IGVudW0KCjIwMTUtMTEtMTAgMTM6MTE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogZXhwb3NlIHRoZSBkZWZhdWx0IHNoYWRlciBzdHJpbmdzIGFzIHB1YmxpYwoJICBBZGQgc29tZSBvdGhlciBzaW1wbGUgc3RyaW5ncyBmb3IgZXh0ZXJuYWwtb2VzIHRleHR1cmVzIG9yIHRyYW5zZm9ybWluZwoJICB0aGUgdGV4dHVyZSBjb29yZGluYXRlcyB3aXRoIGEgdHJhbnNmb3JtYXRpb24gbWF0cml4CgoyMDE1LTExLTA2IDAzOjA1OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHdhaXQgb24gdGhlIHN5bmMgbWV0YSBmb3IgaW5wdXQgYnVmZmVycwoKMjAxNS0xMS0wNSAwMDoxMzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB3YWl0IG9uIHRoZSBwcm92aWRlZCBzeW5jIG1ldGEgcHJvdmlkZWQgdG8gZ2xpbWFnZXNpbmsKCjIwMTUtMTEtMDggMjI6MTQ6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogdXNlIHRoZSBjb3JyZWN0IG9lcyB0YXJnZXQgc3RyaW5nIGluIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDE1LTExLTEwIDEyOjMyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGs6IGFkZCB0aGUgb3ZlcmxheWNvbXBvc2l0aW9uIGZlYXR1cmUgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCSAgVGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBfZ2V0X2NhcHMgaW1wbCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZQoJICBmZWF0dXJlIGluIHRoZSBmaWx0ZXIgY2FwcyB3aGljaCB3aGVuIGludGVyZWN0aW5nIHdpdGggdGhlIHRlbXBsYXRlLAoJICB3aWxsIHJldHVybiBFTVBUWSBhbmQgdGhlcmVmb3JlIGZhaWwgbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NTQKCjIwMTUtMTEtMTAgMTQ6MjE6MzMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IGZpeCB2dGRlYyB0ZXh0dXJlIHNoYXJpbmcgb24gaW9zIDkuMQoJICBVc2UgZ3N0X2dsX3NpemVkX2dsX2Zvcm1hdF9mcm9tX2dsX2Zvcm1hdF90eXBlIHRvIGdldCB0aGUgZm9ybWF0IHBhc3NlZCB0bwoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlVGV4dHVyZUZyb21JbWFnZS4gQmVmb3JlIHRoaXMgY2hhbmdlIGV4dHJhY3RpbmcgdGhlCgkgIHNlY29uZCB0ZXh0dXJlIGZyb20gdGhlIHBpeGVsIGJ1ZmZlciB3YXMgZmFpbGluZyBvbiBpb3MgOS4xLgoKMjAxNS0xMS0wNiAxNzoyNDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBhZGQgYSBmcmFtZXJhdGUgdG8gdGVzdCBjYXBzCgkgIFRoZSBwYWQgdGVtcGxhdGUgcmVxdWlyZXMgYSBmcmFtZXJhdGUsIHNvIHVzZSBpdCB0byBwcmV2ZW50CgkgIGNhcHMgbmVnb3RpYXRpb24gZmFpbHVyZXMuCgkgIEZpeGVzIHRoZSB1bml0IHRlc3QKCjIwMTUtMTEtMDYgMjA6Mzg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogdXBkYXRlIC5naXRpZ25vcmUgZm9yIG5ldyB0ZXN0IGJpbmFyaWVzCgoyMDE1LTExLTA2IDE5OjI2OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBkb24ndCBzZW5kIGZsdXNoIGV2ZW50cyBvbiBzZWVrcwoJICBJdCdzIGZvciB0aGUgdXBzdHJlYW0gZWxlbWVudCBkcml2aW5nIHRoZSBwaXBlbGluZSB0bwoJICBoYW5kbGUgc2Vla3MgYW5kIHNlbmQgZmx1c2ggZXZlbnRzIG9yIG5vdCwgZmlsdGVycwoJICBzaG91bGQgbm90IGludGVyZmVyZSBoZXJlLCBvdGhlcndpc2UgZG93bnN0cmVhbSBwYWRzCgkgIGNvdWxkIGJlIGZsdXNoaW5nIGJlZm9yZSB1cHN0cmVhbSBwYWRzIGFyZSBmbHVzaGluZywKCSAgd2hpY2ggY2FuIHJlc3VsdCBpbiBHU1RfRkxPV19FUlJPUiBiZWluZyBzZW50IGluc3RlYWQKCSAgb2YgR1NUX0ZMT1dfRkxVU0hJTkcgd2hlbiB0cnlpbmcgdG8gZm9yd2FyZCBzdGlja3kKCSAgZXZlbnRzIGF0IGp1c3QgdGhlIHdyb25nIG1vbWVudC4KCjIwMTUtMTEtMDYgMTY6MTY6MzIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzCgkgIEl0IGlzIHVwIHRvIHRoZSBlbGVtZW50IGhhbmRsaW5nIHRoZSBzZWVrIHRvIHNlbmQgZmx1c2ggZXZlbnRzCgkgIGRvd25zdHJlYW0sIG90aGVyd2lzZSB3ZSBlbmQgdXAgd2l0aCBhIHNpdHVhdGlvbiB3aGVyZSB1cHN0cmVhbQoJICB3b3VsZCBnZXQgdW5leHBlY3RlZCBHU1RfRkxPV19GTFVTSElORwoKMjAxNS0xMS0wNiAxOToyMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgRml4IGNvZGUgaW5kZW50YXRpb24KCjIwMTUtMTAtMjIgMTM6NDA6MzYgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IHVzZSBzdHJlYW0gdGltZSBmb3IgdGltZXN0YW1wCgkgIFRoZSBPbnZpZiBTdHJlYW1pbmcgU3BlY2lmaWNhdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgTlRQIHRpbWVzdGFtcHMKCSAgaW4gdGhlIE9udmlmIGV4dGVuc2lvbiBoZWFkZXIgaW5kaWNhZXMgdGhlIGFic29sdXRlIFVUQyB0aW1lIGFzc29jaWF0ZWQKCSAgd2l0aCB0aGUgYWNjZXNzIHVuaXQuIEJ1dCBieSB1c2luZyBydW5uaW5nIHRpbWUgd2UgY2FuIG5vdCBhY2hpZXZlIHRoYXQsCgkgIHNpbmNlIGEgZnJhbWUncyBydW5uaW5nIHRpbWUgZGVwZW5kcyBvbiB0aGUgcGxheWVkIGludGVydmFsLCB3aGV0aGVyIGEKCSAgbm9uLWZsdXNoaW5nIGlzIGRvbmUsIGV0Yy4gSW5zdGVhZCB3ZSBoYXZlIHRvIHVzZSB0aGUgc3RyZWFtIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2ODgKCjIwMTUtMTEtMDYgMDk6NDQ6NTcgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogVXBkYXRlIG50cC1vZmZzZXQgYW5kIGQvZS1iaXRzIHdpdGggYSBHc3RFdmVudAoJICBJdCBpcyBub3cgcG9zc2libGUgdG8gdXBkYXRlIHRoZSBjdXJyZW50bHkgdXNlZCBudHAtb2Zmc2V0IHdpdGggYQoJICBjdXN0b20gc2VyaWFsaXplZCBkb3duc3RyZWFtIGV2ZW50LiBUaGUgZWxlbWVudCB3aWxsIHJlYWQgdGhlIG50cC1vZmZzZXQKCSAgcHJvcGVydHkgd2hlbiBkb2luZyB0aGUgc3RhdGUgdHJhbnNpdGlvbiBmcm9tIFJFQURZIHRvIFBBVVNFRCBhbmQKCSAgdXNlIHRoYXQgb2Zmc2V0IHVudGlsIGl0IHJlY2VpdmVzIGEgIkdzdE50cE9mZnNldCIgZXZlbnQsIHdoaWNoIGFsc28KCSAgaGFzIGEgIm50cC1vZmZzZXQiIGF0dHJpYnV0ZSBpbiB0aGF0IGl0J3Mgc3RydWN0dXJlLiBJbiBjYXNlIHRoZQoJICBwcm9wZXJ0eSBpcyBub3Qgc2V0IGFuZCBubyBldmVudCBoYXMgYmVlbiByZWNlaXZlZCwgdGhlIGVsZW1lbnQgd2lsbAoJICBndWVzcyB0aGUgbnB0LW9mZnNldCB3aXRoIGhlbHAgb2YgdGhlIGNsb2NrLiBJZiBubyBjbG9jayBjYW4gYmUKCSAgcmV0cmlldmVkLCB0aGUgZWxlbWVudCB3aWxsIGVycm9yIG91dCBhbmQgc3RvcCB0aGUgZGF0YSBmbG93LgoJICBUaGUgc2FtZSBldmVudCBpcyBhbHNvIHVzZWQgZm9yIHVwZGF0aW5nIHRoZSBEL0UtYml0cyBpbiB0aGUgUlRQCgkgIGV4dGVuc2lvbiBoZWFkZXIuIFRoZSBkaXNjb250IGZsYWcgaW4gYSBidWZmZXIgY2FuIGJlIHNldCB3aGVudmVyIGEKCSAgbGl2ZS9uZXR3b3JrIHNvdXJjZSBsb29zZXMgYSBmcmFtZSwgYnV0IHRoYXQgaXMgbm90IHRoZSB0eXBlIG9mCgkgIGRpc2NvbnRpbnVpdHkgdGhhdCB0aGUgb252aWYgZXh0ZW5zaW9uIGhlYWRlciBzaG91bGQgcmVmbGVjdC4gVGhlCgkgIGhlYWRlciBpcyBtYWlubHkgdXNlZCBmb3IgcGxheWJhY2sgb2YgYSB0cmFjayBjb25jZXB0LCBpbiB3aGljaAoJICBnYXBzIGNhbiBiZSBwcmVzZW50LCBhbmQgaXQncyB0aG9zZSBraW5kIG9mIGdhcHMgdGhhdCBzaG91bGQgYmUKCSAgaGlnaGxpZ2h0ZWQgd2l0aCB0aGUgRC0gYW5kIEUtYml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMS0wNiAwOTo0NDoxNiArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBEbyBub3QgcmVhcmFuZ2Ugb3JkZXIgb2YgZGF0YQoJICBJZiBhIGJ1ZmZlciBvciBhIGJ1ZmZlciBsaXN0IGlzIGNhY2hlZCwgbm8gZXZlbnRzIHNlcmlhbGl6ZWQgd2l0aCB0aGUKCSAgZGF0YSBzdHJlYW0gc2hvdWxkIGdldCB0aHJvdWdoLiBUaGUgY2FjaGVkIGJ1ZmZlcnMgYW5kIGV2ZW50cyBzaG91bGQKCSAgYmUgcHVyZ2VkIHdoZW4gd2Ugc3RvcCBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMC0xMyAxNDoyMTo0NyArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmOiBzcGxpdCB1bml0IHRlc3RzIGluIHNldmVyYWwgZmlsZXMKCSAgU3BsaXQgdGhlIHVuaXQgdGVzdHMgZm9yIHJ0cG9udmlmdGltZXN0YW1wIGFuZCBydHBvbnZpZnBhcnNlCgkgIGVsZW1lbnRzIGluIHNlcGFyYXRlIGZpbGVzLgoJICBTZXR1cCBhbmQgY2xlYW51cCB0aGUgZWxlbWVudCBhbmQgcGFkcyBpbiBmaXh1cmVzLiBNYWtlIHRoZSB0ZXN0cyB3b3JrCgkgIHdpdGggQ0tfRk9SSz1ubyBhcyB3ZWxsLCBieSBjbGVhbmluZyB1cCB0aGUgJ2J1ZmZlcnMnIGxpc3Qgd2hlbiBuZWVkZWQuCgkgIE1ha2UgdW5pdCB0ZXN0cyB3b3JrIHdoZW4gcnVuIGluIHZhbGdyaW5kIGJ5IHVucmVmZmluZyBhbGwgYnVmZmVycywKCSAgYW5kIGJ5IG5vdCBhbGxvY2F0aW5nIGFueSBwYXlsb2FkIGluIFJUUCBidWZmZXJzLiBTaW5jZSB3ZSdyZSBub3QKCSAgZG9pbmcgYW55dGhpbmcgd2l0aCB0aGUgcGF5bG9hZCBwYXJ0LCBidXQgd2UncmUgbWVtY21wLWFyaW5nIHRoZQoJICBjb21wbGV0ZSBidWZmZXIgbWVtb3J5LCB2YWxncmluZCBjb21wbGFpbmVkIGFib3V0IG5vbi1pbml0aWFsaXplZAoJICBtZW1vcnkgYmVpbmcgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0wOS0wNCAwOTo1OTowNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBpbXByb3ZlZCBiaXRyYXRlIGVzdGltYXRpb25zCgkgIEJpdHJhdGUgZXN0aW1hdGlvbiBpcyBub3cgaGFuZGxlZCB0aHJvdWdoIGEgcXVldWUyIGVsZW1lbnQgYWRkZWQgYWZ0ZXIKCSAgdGhlIHNvdXJjZSBlbGVtZW50IHVzZWQgdG8gZG93bmxvYWQgZnJhZ21lbnRzLgoJICBPcmlnaW5hbCBobHNkZW11eCBwYXRjaCBieSBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTU5CgoyMDE1LTExLTA2IDEyOjU5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93OiBmaXggR0xpc3QgbGVhawoJICBfcmVtb3ZlX2xpbmsoKSB3b3VsZCBub3QgZnJlZSB0aGUgYWN0dWFsIGxpc3Qgbm9kZXMuCgoyMDE1LTExLTA2IDEyOjMxOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBnbHNoYWRlciwgdHNkZW11eDogc2ltcGxpZnkgY29kZQoJICBKdXMgdXNlIF9kZWxldGVfbGluaygpIGluc3RlYWQgb2YgX3JlbW92ZV9saW5rKCkgKyBfZnJlZTEoKQoKMjAxNS0xMS0wNiAxMjozMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IGZpeCBtaW5vciBsZWFrCgkgIERvbid0IGxlYWsgcmVtb3ZlZCBsaXN0IG5vZGUuCgoyMDE1LTExLTA2IDEwOjIyOjQyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgc29vbiBlbm91Z2gKCSAgQXZvaWRpbmcgYXNzZXJ0aW9ucwoKMjAxNS0xMS0wNSAxMDoxMjo0MSArMDAwMCAgSnVsaWFuIEJvdXphcyA8anVsaWFuLmJvdXphc0B2Y2F0ZWNobm9sb2d5LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGRlZCAtLXdpdGgtaGxzLWNyeXB0bz1hdXRvfG5ldHRsZXxsaWJnY3J5cHR8b3BlbnNzbCBvcHRpb24gdG8gYnVpbGQgdGhlIHNvdXJjZSB1c2luZyB0aGUgZGVzaXJlZCBjcnlwdG9ncmFwaGljIGxpYnJhcnkgZm9yIEhMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzE5CgoyMDE1LTExLTA2IDAwOjQ4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogbTN1ODogZG9uJ3QgbGVhayBHTGlzdCBub2RlcyB3aGVuIG1hdGNoaW5nIHVwIHZhcmlhbnQgbGlzdHMgYWZ0ZXIgbWFzdGVyIGxpc3QgdXBkYXRlCgoyMDE1LTExLTA1IDEyOjM2OjQ4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiB1c2UgR1NUX1NUSU1FX0ZPUk1BVCBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZSBvZiBkZWFkbGluZSwgR1NUX1NUSU1FX0ZPUk1BVCBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDUgMTI6MTc6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IHVzZSBHU1RfU1RJTUVfRk9STUFUIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gdXNlIEdfR0lOVDY0X0ZPUk1BVCBmb3IgcG90ZW50aWFsbHkgbmVnYXRpdmUgdmFsdWVzIG9mCgkgIEdzdENsb2NrVGltZURpZmYuIFNpbmNlIDEuNiB0aGVzZSBjYW4gYmUgaGFuZGxlZCB3aXRoIEdTVF9TVElNRV9GT1JNQVQuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wNSAxMjoxMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVXBkYXRlIHNpbmsgcGFkIHRlbXBsYXRlcwoJICBXZSBhbHdheXMgcmVxdWlyZSB0aGUgY2hhbm5lbC1tYXBwaW5nLWZpZWxkLiBJZiBpdCdzIDAgd2UgcmVxdWlyZSBub3RoaW5nCgkgIGVsc2UsIG90aGVyd2lzZSB3ZSBuZWVkIGNoYW5uZWxzLCBzdHJlYW0tY291bnQgYW5kIGNvdXBsZWQgY291bnQgdG8gYmUKCSAgYXZhaWxhYmxlLgoKMjAxNS0xMS0wMyAxOTowOTozMyAtMDgwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9uJ3QgY29tcGFyZSB0ZW1wbCBpbnN0YW5jZSBwb2ludGVycwoJICBPbmUgY2FuIHBhc3MgdGhlIFBhZFRlbXBsYXRlIGZyb20gdGhlIGVsZW1lbnRfY2xhc3Mgb3IgdGhlIG9uZSBmcm9tIHRoZSBmYWN0b3J5LgoJICBXaGlsZSB0aGV5IGhhdmUgdGhlIHNhbWUgY29udGVudCwgdGhlIGFkZHJlc3NlcyBhcmUgZGlmZmVyZW50LgoKMjAxNS0xMS0wNCAwMDoxMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogUmVtb3ZlIGludmFsaWQgdW5pdCB0ZXN0CgkgIE9wdXMgaGVhZGVycyBzaG91bGQgbmV2ZXIgYmUgaW4tYmFuZCwgc28gZG9uJ3QgdGVzdCBmb3IgY29ycmVjdAoJICBoYW5kbGluZyBvZiB0aGF0LgoKMjAxNS0xMS0wNCAwMDoxMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQ3JlYXRlIGFuIGVtcHR5IHRhZ2xpc3QgaWYgdGhlcmUgaXMgbm9uZQoJICBUaGVyZSBhbHdheXMgaGF2ZSB0byBiZSAyIGJ1ZmZlcnMgaW4gdGhlIHN0cmVhbWhlYWRlcnMsIGV2ZW4gaWYKCSAgdGhlIGNvbW1lbnQgYnVmZmVyIGlzIGJhc2ljYWxseSBlbXB0eS4KCjIwMTUtMTEtMDMgMTQ6NDE6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNldCB0byBydW5uaW5nIGluIGEgc2luZ2xlIHBsYWNlCgkgIE9ubHkgc2V0IHRvIHJ1bm5pbmcgd2hlbiB0aGUgdGhyZWFkIGlzIGFjdHVhbGx5IHN0YXJ0ZWQuCgoyMDE1LTExLTAzIDE0OjM3OjI2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBtb3JlIGxvY2tpbmcKCjIwMTUtMTEtMDMgMTk6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBjcmVhdGUgYW4gaW5jb21wbGV0ZSBPcHVzSGVhZCBidXQgc2V0IGFsbCB0aGUgb3RoZXIgY2FwcyBmaWVsZHMgaW5zdGVhZAoJICBPcHVzSGVhZCBpcyBvcHRpb25hbCwgdGhlIG90aGVyIGZpZWxkcyBhcmUgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDE5OjUxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IFNpbXBsaWZ5IE9wdXMgY2FwcyBwYXJzaW5nIGJ5IHVzaW5nIGNvZGVjdXRpbHMgaGVscGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDE0OjUwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTE6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogRml4IHVwIHByZS1za2lwIGluIE9wdXNIZWFkIGlmIHVwc3RyZWFtIHVzaW5nIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhCgkgIE1ha2VzIHRyYW5zbXV4aW5nIGZyb20gZS5nLiBNUEVHLVRTIHRvIE9nZyBzYW1wbGUgYWNjdXJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTg6MDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuYzoKCSAgdHNkZW11eC9tdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RBdWRpb0NsaXBwaW5nTWV0YSBmb3IgT3B1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTExLTAyIDE3OjMzOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBIYW5kbGUgR3N0QXVkaW9DbGlwcGluZ01ldGEgaW5zdGVhZCBvZiB0aGUgcHJlLXNraXAgZmllbGQgaW4gdGhlIE9wdXNIZWFkCgkgIG9nZ2RlbXV4IGlzIG91dHB1dHRpbmcgdGhlIG1ldGEgbm93LCBhbmQgb25seSBvdXRwdXRzIGlmIGl0IHNob3VsZCByZWFsbHkKCSAgYXBwbHkgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLiBQcmV2aW91c2x5IHdlIHdvdWxkIHNraXAgTiBzYW1wbGVzIGFsc28gaWYgd2UKCSAgc3RhcnRlZCB0aGUgZGVjb2RlciBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTY6NTI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBHc3RBdWRpb0NsaXBwaW5nTWV0YSB0byBidWZmZXJzIHRoYXQgbmVlZCB0byBiZSBjbGlwcGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTA6MzA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IERpc2FibGUgZ3JhbnVsZSBwb3NpdGlvbiBjYWxjdWxhdGlvbnMgYnkgdGhlIGJhc2UgY2xhc3MKCSAgSXQgaXMgZG9pbmcgdGhlIHdyb25nIHRoaW5nIGJlY2F1c2Ugb2YgdGhlIE9wdXMgcHJlLXNraXA6IHdoaWxlIHRoZSB0aW1lc3RhbXBzCgkgIGFyZSBzaGlmdGVkIGJ5IHRoZSBwcmUtc2tpcCwgdGhlIGdyYW51bGUgcG9zaXRpb25zIGFyZSBub3Qgc2hpZnRlZC4KCSAgb2dnbXV4IGlzIGRvaW5nIHRoZSByaWdodCB0aGluZyBoZXJlIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMzEgMTU6MDI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBzb21lIEZJWE1FIGNvbW1lbnRzIGFib3V0IGNhbGN1bGF0aW5nIHBhZGRpbmcgd2l0aCBMUEMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0zMCAyMDo1NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBFbmNvZGUgZXhhY3RseSB0aGUgYW1vdW50IG9mIHNhbXBsZXMgd2UgZ290IGFzIGlucHV0IGFuZCBwdXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGl0CgkgIFRoZSBmaXJzdCBmcmFtZSBoYXMgbG9va2FoZWFkIGxlc3Mgc2FtcGxlcywgdGhlIGxhc3QgZnJhbWUgbWlnaHQgaGF2ZSBzb21lCgkgIHBhZGRpbmcgb3Igd2UgbWlnaHQgaGF2ZSB0byBlbmNvZGUgYW5vdGhlciBmcmFtZSBvZiBzaWxlbmNlIHRvIGdldCBhbGwgb3VyCgkgIGlucHV0IGludG8gdGhlIGVuY29kZWQgZGF0YS4KCSAgVGhpcyBpcyBiZWNhdXNlIG9mIGEpIHRoZSBsb29rYWhlYWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5jb2RpbmcsIHdoaWNoCgkgIHNoaWZ0cyBhbGwgZGF0YSBieSB0aGF0IGFtb3VudCBvZiBzYW1wbGVzIGFuZCBiKSB0aGUgcGFkZGluZyBuZWVkZWQgdG8gZmlsbAoJICB0aGUgdmVyeSBsYXN0IGZyYW1lIGNvbXBsZXRlbHkuCgkgIElkZWFsbHkgd2Ugd291bGQgdXNlIExQQyB0byBjYWxjdWxhdGUgc29tZXRoaW5nIGJldHRlciB0aGFuIHNpbGVuY2UgZm9yIHRoZQoJICBwYWRkaW5nIHRvIG1ha2UgdGhlIGVuY29kaW5nIGFzIHNtb290aCBhcyBwb3NzaWJsZS4KCSAgV2l0aCB0aGlzIHdlIGdldCBleGFjdGx5IHRoZSBzYW1lIGFtb3VudCBvZiBzYW1wbGVzIGFnYWluIGluIGFuCgkgIG9wdXNlbmMgISBvcHVzZGVjIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTMwIDIwOjQ3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNlbmM6IFB1dCBsb29rYWhlYWQvcHJlLXNraXAgaW50byB0aGUgT3B1c0hlYWQgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMjUgMTc6Mjc6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9vcHVzLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIHRzbXV4OiBBZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI0IDE0OjI3OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIE9wdXMKCSAgQ29kZSBwYXJ0aWFsbHkgYmFzZWQgb24KCSAgaHR0cHM6Ly9naXQudmlkZW9sYW4ub3JnLz9wPWZmbXBlZy5naXQ7YT1jb21taXQ7aD03NDE0MWY2OTNkZWQyZmJmNzVhZjU2ZmZmMzA5ZDJkYjM1MTgzNjM1CgkgIGFuZCBiYXNlZCBvbiB0aGUgc3BlYyBkcmFmdCBhdAoJICBodHRwczovL3dpa2kueGlwaC5vcmcvT3B1c1RTCgkgIE1ha2VzIGl0IHBvc3NpYmxlIHRvIGRlbXV4CgkgIGh0dHA6Ly93d3cub2JlLnR2L0Rvd25sb2Fkcy9vcHVzLnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjUgMTk6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogRG9uJ3QgbGVhayBidWZmZXIgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxOToyOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBDYWxsIHByZXBhcmUgZnVuY3Rpb24gZm9yIGVhY2ggY29sbGVjdGVkIGJ1ZmZlcgoJICBOb3Qgd2hlbiBjbGlwcGluZyBidWZmZXJzLCBhcyB0aGF0IGRvZXNuJ3QgaGFwcGVuIGZvciBldmVyeSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjUgMTg6MDk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEFkZCBBUEkgZm9yIGNyZWF0aW5nIGV4dGVuZGVkIGRlc2NyaXB0b3JzIGFuZCBmaXggd3JpdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTEtMDIgMjE6MTY6MTUgLTA4MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGNhc3QgcGFyYW1zcGVjIGZsYWdzIHRvIGZpeCB0aGUgYnVpbGQgZm9yIGMrKwoJICBBbGwgdGhlIG90aGVyIGVsZW1lbnRzIGluIHRoaXMgcGx1Z2luIGRvIHRoaXMgYWxyZWFkeS4KCjIwMTUtMTEtMDMgMTU6MDU6MjAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIHVzZSBHX0dJTlQ2NF9GT1JNQVQgZm9yIHBvdGVudGlhbGx5IG5lZ2F0aXZlIHZhbHVlcyBvZgoJICBHc3RDbG9ja1RpbWVEaWZmLiBTaW5jZSAxLjYgdGhlc2UgY2FuIGJlIGhhbmRsZWQgd2l0aCBHU1RfU1RJTUVfQVJHUy4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTAzIDE1OjAwOjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlIG9mIGRlYWRsaW5lLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDMgMTA6NDI6NDAgKzAwMDAgIEh5dW5pbCBQYXJrIDxoeXVuaWw0Ni5wYXJrQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFkZCBleGNlcHRpb24gY29kZSBmb3Igc2V0dGluZyB3bF9zdXJmYWNlCgkgIFdheWxhbmRzaW5rIG5lZWRzIGV4Y2VwdGlvbiBjb2RlIGluIGdzdF93YXlsYW5kX3Npbmtfc2V0X3dpbmRvd19oYW5kbGUoKS4KCSAgQWZ0ZXIgbWFraW5nIHNpbmstPndpbmRvdywgVXNlciBjYW4gY2FsbAoJICBnc3Rfd2F5bGFuZF9zaW5rX3NldF93aW5kb3dfaGFuZGxlKCkuIEl0IGlzIHRoZSB1c2VyJ3MgZmF1bHQsIGJ1dAoJICBXYXlsYW5kc2luayBuZWVkcyB0byBoYW5kbGUgdGhlIGV4Y2VwdGlvbiwgaWYgbm90IHRoZW4gc2luay0+d2luZG93IGlzCgkgIGNoYW5nZWQgYW5kIHJlbmRlcmluZyBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4MgoKMjAxNS0wNC0wOSAxMzoxNzowMSArMDkwMCAgSHl1bmlsIFBhcmsgPGh5dW5pbDQ2LnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIGV4Y2VwdGlvbiBjb2RlIGZvciBzZXR0aW5nIHdsX2Rpc3BsYXkKCSAgV2F5bGFuZHNpbmsgbmVlZHMgZXhjZXB0aW9uIGNvZGUgaW4gZ3N0X3dheWxhbmRfc2lua19zZXRfY29udGV4dCgpLiBBZnRlcgoJICBjYWxsaW5nIGdzdF93YXlsYW5kX3Npbmtfc2V0X2NvbnRleHQoKSwgYmVsb3cgY29kZSBpcyBzZXQuCgkgIEdTVF9FTEVNRU5UX0NMQVNTIChwYXJlbnRfY2xhc3MpLT5zZXRfY29udGV4dCAoZWxlbWVudCwgY29udGV4dCk7IGJ1dCwgSWYKCSAgdXNlciBjYW4gY2FsbCBvbmVtb3JlLiBJdCBpcyB1c2VyJ3MgZmF1bHQuIGJ1dCB3YXlsYW5kc2luayBuZWVkIHRvCgkgIGV4Y2VwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4MgoKMjAxNS0xMS0wMiAyMDoxMDozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSG9sZCBvYmplY3QgbG9jayB3aGlsZSBtYW5pcHVsYXRpbmcgdGhlIHNlZ21lbnQKCSAgTWFrZSBzdXJlIHRoZSBvYmplY3QgbG9jayBpcyBoZWxkIHdoZW4gYWdncmVnYXRvci0+c2VnbWVudCBpcwoJICBtb2RpZmllZC4KCjIwMTUtMTEtMDIgMTk6NDA6MjggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBJbXByb3ZlIGxvZyBtZXNzYWdlcwoJICBNYWtlIHRoZSBsZXZlbCBvZiBsb2cgbWVzc2FnZXMgc2FuZXIgYW5kIGltcHJvdmUgc29tZS4KCjIwMTUtMTEtMDIgMTk6MDU6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSBkZWFkIGNvZGUKCSAgVGhpcyBjb2RlIHdpbGwgbmV2ZXIgYmUgY2FsbGVkIGFzIG1heD49bWluIGluIGFsbCBjYXNlcy4gSWYgdGhlIHVwc3RyZWFtCgkgIGxhdGVuY3kgcXVlcnkgcmV0dXJuZWQgbWluPm1heCwgdGhlIGZ1bmN0aW9uIGFscmVhZHkgcmV0dXJuZWQgYW5kIGFsbAoJICB2YWx1ZXMgdGhhdCBhcmUgYWRkZWQgdG8gdGhvc2UgaGF2ZSBtYXg+PSBtaW4uCgoyMDE1LTExLTAyIDE3OjAyOjQ3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGJlc3QtPmR0cyBpbgoJICBHU1RfREVCVUdfT0JKRUNULiBVc2UgR1NUX1NUSU1FX0FSR1MgZm9yIHRoaXMuCgoyMDE1LTExLTAyIDE2OjU4OjU3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDExOjE3OjI5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnJlYWNoYWJsZSBjb2RlCgkgIFRoZSBzdHJlYW0tPmN1cl9zZWdfdGVtcGxhdGUgaXMgc2V0IHRvIHRoZSBsb3dlc3QgYXZhaWxhYmxlIHNlZ21lbnQKCSAgdGVtcGxhdGUgKHJlcHJlc2VudGF0aW9uIG9yIGFkYXB0YXRpb24gb3IgcGVyaW9kLCBpbiB0aGlzIG9yZGVyKS4KCSAgQmVjYXVzZSB0aGUgdGVtcGxhdGUgZWxlbWVudHMgYXJlIGluaGVyaXRlZCwgdGhlIGxvd2VzdCB0ZW1wbGF0ZSB3aWxsCgkgIGhhdmUgYWxsIHRoZSBlbGVtZW50cyB0aGUgcGFyZW50cyBoYWQsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhlCgkgIHBhcmVudCBmb3IgYW4gZWxlbWVudCB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hpbGQgKGVnIGluaXRpYWxpc2F0aW9uCgkgIG9yIGluZGV4KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjcxNAoKMjAxNS0xMS0wMiAxMDo0ODoxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3IgTVBEIGZpbGUgZHVyYXRpb24gcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzM2CgoyMDE1LTExLTAyIDEwOjI1OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZCBzb21lIGNoZWNrcyB0byBkdXJhdGlvbiBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMzYKCjIwMTUtMDktMjkgMDk6MzI6MDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgZHVyYXRpb24gZm9ybWF0IHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMzNgoKMjAxNS0xMS0wMiAxMToyMToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBGcmVlIG5ld19tcGQsIGFsbG9jYXRlZCB3aXRoIGdfc2xpY2VfbmV3KCksIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgaW4KCSAgZ290byBlcnJvci4KCSAgQ0lEIDEzMzgwNTAKCjIwMTUtMTEtMDIgMjA6MTQ6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgUmV2ZXJ0ICJ2dGVuYzogZnJlZSBpbnB1dCBidWZmZXIgQVNBUCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MTAxZmM1N2I4YWZhYzRmNGU0YWE3NDI4OTJmMGQ5Yzk5ZDM4YThjLgoJICBHc3RWaWRlb0VuY29kZXIgYXNzdW1lcyB0aGF0IHRoZSBpbnB1dCBidWZmZXIgaXMgYXZhaWxhYmxlIHVudGlsIF9maW5pc2hfZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NTEKCjIwMTUtMTEtMDEgMjM6MzQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IEFzc3VtZSA0OGtIeiBpZiBubyBzYW1wbGUgcmF0ZSBpcyBnaXZlbiBpbiB0aGUgaGVhZGVyCgoyMDE1LTEwLTMwIDIwOjU5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBQbGFjZSA0OGtIeiBmaXJzdCBpbiB0aGUgY2FwcwoJICBGb3IgYWxsIHRoZSBvdGhlciBzYW1wbGUgcmF0ZXMgdGhlIGVuY29kZXIgd2lsbCBoYXZlIHRvIHJlc2FtcGxlIGludGVybmFsbHkuCgoyMDE1LTExLTAyIDEyOjEwOjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdzdGdsdXRpbHM6IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gb24gTW91bnRhaW4gTGlvbgoJICBNYWtlIGdzdF9nbF9jb250ZXh0X2dlbl9zaGFkZXIvX2NvbXBpbGVfc2hhZGVyIGFzc3VtZSBHU1RfR0xTTF9QUk9GSUxFX0VTIHwKCSAgR1NUX0dMU0xfUFJPRklMRV9DT01QQVRJQklMSVRZIGFzIHRoZSBwcm9maWxlLiBXaXRob3V0IHRoaXMsIHRoZSBzaGFkZXIgY29tcGlsZXIKCSAgZG9lc24ndCBpbmplY3QgdGhlICN2ZXJzaW9uIHRhZyByZXN1bHRpbmcgaW4gYSBjb21waWxhdGlvbiBlcnJvciBvbiBNb3VudGFpbgoJICBMaW9uLgoJICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3Igb2xkIGNvZGUgdXNpbmcgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlci4gTmV3IGNvZGUKCSAgc2hvdWxkIHVzZSB0aGUgZ3N0X2dsc2xfc3RhZ2VfKiBBUEkgZGlyZWN0bHkgd2hpY2ggYWxsb3dzIHRoZSBjYWxsZXIgdG8KCSAgZXhwbGljaXRseSBzcGVjaWZ5IHZlcnNpb24vcHJvZmlsZS4KCjIwMTUtMTAtMzEgMTg6NDc6MzkgKzAxMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGRvbid0IHRyeSB0byBhbGlnbiBjdXJyZW50IHRpbWVzdGFtcCBvbiBwcmV2aW91cyB0aW1lc3RhbXAKCSAgdGhpcyBjYXVzZXMgZnJhbWVzIHRvIGJlIGRyb3BwZWQuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgU2ViYXN0aWFuIERyw7ZnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzM3CgoyMDE1LTEwLTMxIDIzOjI4OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogZXhwbGljaXRseSBpbml0aWFsaXplIGEgcG9zc2libHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoJICBUaGUgcmV0IHZhcmlhYmxlIG1heSBiZSB1bmluaXRpYWxpemVkIGFuZCBzbyBpdHMgY29udGVudHMgd2VyZSB1bmRlZmluZWQgYW5kCgkgIHRoZSByZXN1bHRzIHdlcmUgZXJyYXRpYyAoZmFpbGluZyB3aXRoIGdsdmlkZW9taXhlciwgc3VjY2VlZGluZyBpbiBvdGhlciBjYXNlcykKCSAgUC5TLiBObyBpZGVhIHdoeSBnY2MvY2xhbmcgZXQgYWwgbmV2ZXIgcGlja2VkIHVwIG9uIHRoaXMgbGlrZSB0aGV5IG5vcm1hbGx5IGRvCgkgIChwcm9iYWJseSBkdWUgdG8gc29tZSBvcHRpbWlzYXRpb24gcGFzcyBmaWd1cmluZyBvdXQgaXQncyBvbmx5IHNldCBvbmNlLi4uKQoKMjAxNS0xMC0yOSAxMTozODozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogbWFrZSBkdXJhdGlvbnMgdW5zaWduZWQgd2hlcmUgYXBwcm9wcmlhdGUKCSAgVGhlIHN0YW5kYXJkIGRvZXMgbm90IHNlZW0gdG8gbWFrZSBhbnkgcGFydGljdWxhciBleHBsaWNpdCBub3QKCSAgaW1wbGljaXQgcmVmZXJlbmNlIHRvIHRoZSBzaWduZWRuZXNzIG9mIGR1cmF0aW9ucywgYW5kIHRoZSBjb2RlCgkgIGRvZXMgbm90IHJlbHkgb24gc3VjaCwgbm9yIG9uIHRoZSBuZWdhdGl2aXR5IG9mIHRoZSAtMSB2YWx1ZQoJICB0aGF0J3MgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIHdoZW4gYSBkdXJhdGlvbiBwcm9wZXJ0eSBpcyBub3QKCSAgcHJlc2VudCBpbiB0aGUgWE1MLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODQ3CgoyMDE1LTEwLTMwIDE1OjU1OjE5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGluaGVyaXQgYml0c3RyZWFtU3dpdGNoaW5nIGZyb20gUGVyaW9kIHRvIEFkYXB0YXRpb25TZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjM0MAoKMjAxNS0wOC0yMCAxODoxNDozNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtYXJrZWQgUFJPUF9CQU5EV0lEVEhfVVNBR0UgcHJvcGVydHkgYXMgZGVwcmVjYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODkwCgoyMDE1LTEwLTMwIDE1OjAyOjM1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdW5pdCB0ZXN0aW5nIHJlcHJvZHVjaW5nIGluaGVyaXRlZCBzZWdtZW50IGR1cmF0aW9uIG92ZXJmbG93CgkgIHVuaXQgdGVzdCByZXByb2R1Y2luZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODMyCgoyMDE1LTEwLTMwIDE0OjMxOjIxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGluaGVyaXRlZCBzZWdtZW50IFVSTHMgYXJlIGlnbm9yZWQgaWYgdGhleSBhcmUgZGVmaW5lZCBhZ2FpbiBpbiBhIGxvd2VyIFNlZ21lbnRMaXN0CgkgIEFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQ6CgkgICJTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlIGFuZCBTZWdtZW50TGlzdCBzaGFsbCBpbmhlcml0CgkgIGF0dHJpYnV0ZXMgYW5kIGVsZW1lbnRzIGZyb20gdGhlIHNhbWUgZWxlbWVudCBvbiBhIGhpZ2hlciBsZXZlbC4KCSAgSWYgdGhlIHNhbWUgYXR0cmlidXRlIG9yIGVsZW1lbnQgaXMgcHJlc2VudCBvbiBib3RoIGxldmVscywKCSAgdGhlIG9uZSBvbiB0aGUgbG93ZXIgbGV2ZWwgc2hhbGwgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIG9uZQoJICBvbiB0aGUgaGlnaGVyIGxldmVsLiIKCSAgZ3N0X21wZHBhcnNlcl9wYXJzZV9zZWdtZW50X2xpc3Rfbm9kZSB3aWxsIG5vdyBkaXNjYXJkIGFueSBpbmhlcml0ZWQKCSAgc2VnbWVudCBVUkxzIGlmIHRoZSBwYXJzZWQgZWxlbWVudCBkZWZpbmVzIHNvbWUgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODMyCgoyMDE1LTEwLTIwIDE3OjIxOjAwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBmcmFnbWVudCBkb3dubG9hZCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTIwIDE1OjQ2OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IG1hZGUgYWRhcHRpdmUgZGVtdXggdGVzdCB0aHJlYWQgc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTE2IDE2OjIwOjM0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHF1ZXJ5IHRlc3QKCSAgVGVzdGluZyBpZiBhZGFwdGl2ZSBkZW11eCByZXNwb25kcyB0byBxdWVyaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTI4IDExOjIxOjE0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIG11bHRpcGxlIEJhc2VVUkwgZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjQ1CgoyMDE1LTA5LTE2IDEwOjQwOjMzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgNmQxZWRhOTM5MWQzMTQzYjVmYzYzM2VkZmQ5NGI4OWRiYmEyMDlhYgoJICBDb21taXQgNmQxZWRhOTM5MWQzMTQzYjVmYzYzM2VkZmQ5NGI4OWRiYmEyMDlhYiBmaXhlZCB0aGUgcGVyaW9kIHN0YXJ0CgkgIHRpbWUgc2NhbGluZy4gVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSB1bml0IHRlc3RzIHRvIGNvdmVyIHRoYXQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDUKCjIwMTUtMTAtMTYgMTc6MTA6MTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgZG93bmxvYWQgZXJyb3IgdGVzdAoJICBUZXN0cyBhZGFwdGl2ZSBkZW11eCBiZWhhdmlvdXIgd2hlbiB0aGUgdXJpIGlzIHdyb25nIGFuZCBkb3dubG9hZCBkb2VzCgkgIG5vdCBoYXBwZW4uCgoyMDE1LTEwLTMwIDEyOjQ5OjIwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc3RvcCB0YXNrIG9uIG11bHRpcGxlIGRvd25sb2FkIGVycm9ycwoJICBPbiBtdWx0aXBsZSBkb3dubG9hZCBlcnJvcnMsIHdlIHN0b3AgdGhlIGRvd25sb2FkIHRhc2sgYW5kIGNoYW5nZSB0aGUgc3JjCgkgIGVsZW1lbnQgc3RhdGUgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI0MAoKMjAxNS0xMC0zMCAxMjoyNDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBhIG1pc3NpbmcgbG9jayBpbiB3cml0ZSB0byBzdHJlYW0tPmxhc3RfcmV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNTkKCjIwMTUtMTAtMDcgMjM6MjA6NTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXR1cm4gZXJyb3IgaWYgc3JjIGVsZW1lbnQgY2Fubm90IHN0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMDkKCjIwMTUtMTAtMDggMTE6NDU6MjUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCB3YWl0aW5nIGZvciBmcmFnbWVudCB1cGRhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzcKCjIwMTUtMTAtMDggMTI6MzU6NDQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggaGVhZGVyIHJlZG93bmxvYWQgaW4gY2FzZSBvZiBlcnJvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzOQoKMjAxNS0xMC0zMCAwMDowNDoxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgbWFuaWZlc3QgbG9jayBiZWZvcmUgc2VuZGluZyBmbHVzaCBzdG9wIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczMzcKCjIwMTUtMTAtMjkgMjM6NDE6NDYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXNldCBkb3dubG9hZF9maW5pc2hlZCBiZWZvcmUgc3RhcnRpbmcgdGhlIHNyYyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczMzYKCjIwMTUtMTAtMjkgMjM6MjM6MDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIG1hbmlmZXN0IGxvY2sgYmVmb3JlIGNoYW5naW5nIGVsZW1lbnQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNQoKMjAxNS0xMC0zMCAxNjozODoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiBmaXggY29tcGlsYXRpb24gZXJyb3IKCSAgVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CgkgICJfX2dsX3RhcmdldF90b19nc3QiLCByZWZlcmVuY2VkIGZyb206CgkgIF9fZG9fZ2V0X2dsX2J1ZmZlciBpbiBsaWJnc3RhcHBsZW1lZGlhX2xhLWNvcmV2aWRlb3RleHR1cmVjYWNoZS5vCgoyMDE1LTEwLTMwIDE1OjAwOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxNS0xMC0zMCAxNDo0MzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogcmVtb3ZlIHVudXNlZCByZXQgdmFyaWFibGUKCjIwMTUtMTAtMzAgMTQ6NDA6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSAgZ2xzbHN0YWdlOiByZW1vdmUgdHlwZWRlZnMgZnJvbSB0aGUgaGVhZGVyCgkgIFRoZXkgYXJlIGFscmVhZHkgZGVmaW5lZCBpbiB0aGUgZm9yd2FyZCBkZWNsZXJhdGlvbiBoZWFkZXIgYW5kIGRlZmluaW5nIHRoZW0KCSAgbW9yZSB0aGFuIG9uY2Ugd2lsbCBnaXZlIGFuIGVycm9yIHdpdGggT1NYJ3MgY2xhbmcgYWJvdXQgdHlwZWRlZiByZWRlZmluaXRpb24KCSAgYmVpbmcgYSBDMTEgZmVhdHVyZS4KCjIwMTUtMTAtMzAgMTQ6Mzg6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZm9sbG93IHRoZSBjb3JyZWN0IHRleHR1cmUgdGFyZ2V0IG5hbWVzCgoyMDE1LTEwLTMwIDAxOjQyOjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGV4cGxpY2l0bHkgY29uZmlndXJlIHRoZSB0ZXh0dXJlIHRhcmdldCBvbiB0aGUgZ2wgYnVmZmVyIHBvb2wKCSAgSWYgd2UgZG9uJ3QsIHRoZW4gdGhlIHBvb2wgY291bGQgZW5kIHVwIGFsbG9jYXRpbmcgMkQgdGV4dHVyZXMgd2hlbiB0aGUKCSAgY2FwcyBleHBsaWN0bHkgc3RhdGUgdGhleSBzaG91bGQgYmUgcmVjdGFuZ2xlIHRleHR1cmVzLgoKMjAxNS0xMC0zMCAwMToyNzozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsYnVmZmVycG9vbDogYWRkIGJ1ZmZlcnBvb2wgb3B0aW9ucyBmb3IgdGhlIHZhcmlvdXMgdGV4dHVyZSB0YXJnZXRzCgkgIFRoaXMgd2FzIGNob3NlbiBvdmVyIHJlbHlpbmcgc29sZWx5IG9uIHRoZSBjYXBzIGFzIGdsdXBsb2FkIG5lZWRzIHRvIHByb3Bvc2UgYW4KCSAgYWxsb2NhdGlvbiBhbmQgc2V0IHRoZSB0ZXh0dXJlIHRhcmdldCBiYXNlZCBvbiB0aGUgb3V0cHV0IGNhcHMuICBTZXR0aW5nIHRoZQoJICBjYXBzIGluIHRoZSBjb25maWcgaXMgY3VycmVudGx5IHBvaW50bGVzcyBhcyB0aGV5IGFyZSBvdmVyd3JpdHRlbiBpbiBhIGxvdCBvZgoJICBlbGVtZW50J3MgZGVjaWRlX2FsbG9jYXRpb24gZnVuY3Rpb25zLgoJICBUaGlzIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciB0aGUgYnVmZmVyIHBvb2wgdG8gYmUgY29uZmlndXJlZCBmb3IgYSBjZXJ0YWluCgkgIHRleHR1cmUgdGFyZ2V0IHdoZW4gbm9uZSBoYXMgYmVlbiBjb25maWd1cmVkLgoKMjAxNS0xMC0yOSAxMzowNDozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBzdXBwb3J0IGZvciBjb252ZXJ0aW5nIHRleHR1cmUgdGFyZ2V0cwoJICBTb2x2ZWQgd2l0aCBhIHNpbXBsZSBzaGFkZXIgdGVtcGxhdGluZyBtZWNoYW5pc20gYW5kIHN0cmluZyByZXBsYWNlbWVudHMKCSAgb2YgdGhlIG5lY2Vzc2FyeSBzYW1wbGVyIHR5cGVzL3RleHR1cmUgYWNjZXNzZXMgYW5kIHRleHR1cmUgY29vcmRpbmF0ZQoJICBtYW5nbGluZyBmb3IgcmVjdGFuZ3VsYXIgYW5kIGV4dGVybmFsLW9lcyB0ZXh0dXJlcy4KCjIwMTUtMTAtMjkgMDA6NDQ6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIHN1cHBvcnQgZm9yIHJlY3RhbmdsZSB0ZXh0dXJlcwoJICBBZGQgdGhlIHZhcmlvdXMgdG9rZW5zL3N0cmluZ3MgZm9yIHRoZSBkaWZmZXJuZXQgdGV4dHVyZSB0eXBlcyAoMkQsIHJlY3QsIG9lcykKCSAgQ2hhbmdlcyB0aGUgR0xtZW1vcnkgYXBpIHRvIGluY2x1ZGUgdGhlIEdzdEdMVGV4dHVyZVRhcmdldCBpbiBhbGwgcmVsZXZhbnQKCSAgZnVuY3Rpb25zLgoJICBVcGRhdGUgdGhlIHJlbGV2YW50IGNhcHMvdGVtcGxhdGVzIGZvciAyRCBvbmx5IHRleHR1cmVzLgoKMjAxNS0xMC0zMCAwMTo0NToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBvcmRlciB0aGUgY2FwcyB0ZW1wbGF0ZSBzbyB0aGF0IFJHQkEgaXMgZmlyc3QKCSAgZ2xjb2xvcmNvbnZlcnQgISBnbGNvbG9yY29udmVydCB3b3VsZCBzb21ldGltZXMgbmVnb3RpYXRlZCBSR0IKCSAgKHRoZSBmaXJzdCBsaXN0IGVudHJ5KSBvdGhlcndpc2UuCgoyMDE1LTEwLTMwIDAxOjE2OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiBtb3ZlIHR5cGVkZWYncyBpbnRvIHRoZSBmb3J3YXJkIGRlY2xlcmF0aW9uIGZpbGUKCSAgT3RoZXJ3aXNlLCBmb3IgZXhhbXBsZSwgY2xhbmcgd2lsbCB3YXJuIGFib3V0IHR5cGVkZWYgcmVkZWZpbml0aW9ucwoJICBiZWluZyBhIEMxMSBmZWF0dXJlLgoKMjAxNS0xMC0xNiAxODozNjoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkgIHRlc3RzOiBmaXhlZCBmYWtlIHNvdXAgaHR0cCBzcmMgcGx1Z2luCgkgIFRoZSBzb3VwIGh0dHAgc3JjIGNoYW5nZWQgdGhlIHdheSBpdCBpbnRlcnByZXRzIHRoZSBzZWVrIHNlZ21lbnQgc3RvcCB2YWx1ZS4KCSAgUHJldmlvdXNseSBpdCB3YXMgaW5jbHVzaXZlLCBub3cgaXQgaXMgbm90IChzZWUgY29tbWl0CgkgIDIxYzZkYTY3NjRjMGNkMDE1ZTlmM2M1ZWVjYmEzNmUyOTcxODdkZWIsCgkgIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2KQoJICBVcGRhdGVkIGZha2Ugc291cCBodHRwIHNyYyB0byBhbHNvIGNvbnNpZGVyIHNlZ21lbnQgc3RvcCBub3QgaW5jbHVzaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzIyCgoyMDE1LTEwLTA5IDE0OjEwOjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3QgZm9yIGFkYXB0aXZlZGVtdXgKCSAgQ3JlYXRlZCBhIHVuaXQgdGVzdCBmb3IgZGFzaGRlbXV4LiBJdCByZWxpZXMgb24gYSBmYWtlIFNPVVAgSFRUUCBzcmMgcGx1Z2luCgkgIHRoYXQgd2lsbCBmZWVkIGRhdGEgdG8gZGFzaGRlbXV4LiBUaGUgdGVzdCBjb250cm9scyB0aGUgZGF0YSB0byBiZQoJICBnZW5lcmF0ZWQgYW5kIGNoZWNrcyB0aGUgY29ycmVjdCBkYXRhIHdhcyByZWNlaXZlZCBmb3IgZWFjaCBleHBlY3RlZAoJICBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMjIKCjIwMTUtMTAtMDkgMjE6MjM6MjAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5oOgoJICB0ZXN0czogYWRkZWQgZmFrZSBodHRwIHNyYyBwbHVnaW4KCSAgQWRkZWQgYSBmYWtlIGh0dHAgc3JjIHBsdWdpbiBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgZGF0YSBidWZmZXJzIGZvciBhCgkgIHJlcXVlc3Qgb2YgYSBodHRwIHVybC4gQ2FuIGJlIHVzZWQgaW4gdGVzdHMgdG8gc2ltdWxhdGUgaHR0cCBhY2Nlc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMyMgoKMjAxNS0wNy0wNyAxNTozODowOCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcHJvdmlkZSBhIGRlZmF1bHQgc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkKCSAgSWYgTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGlzIG5vdCBwcmVzZW50IGluIHRoZSBtYW5pZmVzdCwKCSAgZGFzaGRlbXV4IHNlbGVjdHMgdGhlIGZyYWdtZW50IGNsb3Nlc3QgdG8gdGhlIG1vc3QgcmVjZW50bHkgZ2VuZXJhdGVkCgkgIGZyYWdtZW50LiBUaGlzIGNhdXNlcyBhIHBsYXliYWNrIGlzc3VlIGJlY2F1c2UgdGhpcyBjaG9pY2UgZG9lcyBub3QgYWxsb3cKCSAgdGhlIERBU0ggY2xpZW50IHRvIGJ1aWxkIHVwIGFueSBidWZmZXIgb2YgZG93bmxvYWRlZCBmcmFnbWVudHMgd2l0aG91dAoJICBwYXVzaW5nIHBsYXliYWNrLiBUaGlzIGlzIGJlY2F1c2UgYnkgZGVmaW5pdGlvbiBuZXcgZnJhZ21lbnRzIGFwcGVhciBvbgoJICB0aGUgc2VydmVyIGluIHJlYWwtdGltZSAoZS5nLiBpZiBzZWdtZW50IGR1cmF0aW9uIGlzIDQgc2Vjb25kcywgYSBuZXcKCSAgZnJhZ21lbnQgd2lsbCBhcHBlYXIgb24gdGhlIHNlcnZlciBldmVyeSA0IHNlY29uZHMpLiBJZiB0aGUgc3RhcnRpbmcKCSAgcGxheWJhY2sgcG9zaXRpb24gd2FzIG4qc2VnbWVudER1cmF0aW9uIHNlY29uZHMgYmVoaW5kICJub3ciLCB0aGUgREFTSAoJICBjbGllbnQgY291bGQgZG93bmxvYWQgdXAgdG8gJ24nIGZyYWdtZW50cyBmYXN0ZXIgdGhhbiByZWFsdGltZSBiZWZvcmUgaXQKCSAgcmVhY2hlZCB0aGUgcG9pbnQgd2hlcmUgaXQgbmVlZGVkIHRvIHdhaXQgZm9yIGZyYWdtZW50cyB0byBhcHBlYXIgb24gdGhlCgkgIHNlcnZlci4KCSAgVGhlIE1QREBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSBhdHRyaWJ1dGUgYWxsb3dzIGEgY29udGVudCBwdWJsaXNoZXIKCSAgdG8gcHJvdmlkZSBhIHN1Z2dlc3RlZCBzdGFydGluZyBwb3NpdGlvbiB0aGF0IGlzIGJlaGluZCB0aGUgY3VycmVudAoJICAibGl2ZSIgcG9zaXRpb24uCgkgIElmIHRoZSBNUERAc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkgYXR0cmlidXRlIGlzIG5vdCBwcmVzZW50LCBwcm92aWRlCgkgIGEgc3VpdGFibGUgZGVmYXVsdCB2YWx1ZSBhcyBhIHByb3BlcnR5IG9mIHRoZSBkYXNoZGVtdXggZWxlbWVudC4gVG8KCSAgYWxsb3cgdGhlIGRlZmF1bHQgcHJlc2VudGF0aW9uIGRlbGF5IHRvIGJlIHNwZWNpZmllZCBlaXRoZXIgdXNpbmcKCSAgZnJhZ21lbnRzIG9yIHNlY29uZHMsIHRoZSBwcm9wZXJ0eSBpcyBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgbnVtYmVyCgkgIGFuZCBhIHVuaXQgKGUuZy4gIjEwIHNlY29uZHMiLCAiNCBmcmFnbWVudHMiLCAiMjUwMG1zIikuCgoyMDE1LTEwLTI5IDE1OjAyOjM4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBBZGQgdnA5IHN1cHBvcnQKCSAgRGlmZmVyZW50aWF0ZSB0aGUgdnA4L3ZwOSBiaXRzdHJlYW0gYmFzZWQgb24gZm91cmNjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjUxCgoyMDE1LTA5LTA5IDE0OjA5OjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgZGV0ZWN0aW9uIG9mIHN0cmVhbSBsYW5ndWFnZQoJICBJbXByb3ZlZCB0aGUgZGV0ZWN0aW9uIG9mIHN0cmVhbSdzIGxhbmd1YWdlIGlmIHRoZSBBZGFwdGF0aW9uU2V0CgkgIGNvbnRhaW5zIG1vcmUgdGhhbiAxIENvbnRlbnRDb21wb25lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjM2NwoKMjAxNS0xMC0yOSAxMjowNDozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaF9tcGQ6IHJlc3RyaWN0IHNlZ21lbnQgdGVtcGxhdGUgZm9ybWF0IHN0cmluZ3MgdG8gJTBbMC05XSpkIGFzIHBlciBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MzUKCjIwMTUtMDktMDkgMTI6MzY6MTAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogc2VnbWVudCB0ZW1wbGF0ZSBwYXJzaW5nOiBhZGRlZCBzdXBwb3J0IGZvciAlZAoJICBBZGRlZCBzdXBwb3J0IGZvciAlZCBpbiB0ZW1wbGF0ZSBpZGVudGlmaWVyLgoJICBBZGRlZCB0ZXN0Y2FzZXMgZm9yICVkLCAlM2QsICUwLTRkIGlkZW50aWZpZXIgZm9ybWF0cy4KCjIwMTUtMTAtMjkgMTE6NTQ6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2Ygc2VnbWVudCB0ZW1wbGF0ZXMKCSAgQ29ycmVjdGVkIHRoZSBwYXJzaW5nIG9mIGEgc2VnbWVudCB0ZW1wbGF0ZSBzdHJpbmcuCgkgIEFkZGVkIHVuaXQgdGVzdHMgdG8gdGVzdCB0aGUgc2VnbWVudCB0ZW1wbGF0ZSBwYXJzaW5nLgoJICBBbGwgcmVwb3J0ZWQgcHJvYmxlbXMgYXJlIG5vdyBjb3JyZWN0bHkgaGFuZGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTczNQoKMjAxNS0xMC0yOSAxMToxNzo0OCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGRhaHNkZW11eDogdGFzayBpcyBzaWduYWxlZCB0byBzdG9wIHdpdGhvdXQgc3RvcCBjb25kaXRpb24gYmVpbmcgc2V0CgkgIFRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2ZyZWUgZnVuY3Rpb24gaXMgdHJ5aW5nIHRvIHN0b3AgdGhlIHN0cmVhbSdzCgkgIGRvd25sb2FkIHRhc2suIEZvciB0aGlzLCBpdCBzaWduYWxzIHRoZSB0YXNrLiBCdXQgaXQgZmFpbHMgdG8gYWxzbyBzZXQgdGhlCgkgIHN0cmVhbS0+ZG93bmxvYWRfZmluaXNoZWQgPSBUUlVFLCBzbyB0aGUgdGFzayB3aWxsIGdvIGJhY2sgdG8gc2xlZXAgYW5kCgkgIG9ubHkgZXhpdCB3aGVuIHRoZSBkb3dubG9hZCBpcyBmaW5pc2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyMQoKMjAxNS0xMC0yOCAxNzowMjo1MSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBjcmFzaCB3aGVuIHNlZ21lbnQgdGltZWxpbmUgbGlzdCBpcyBncmVhdGVyIHRoYW4gc2VnbWVudCB1cmwgbGlzdAoJICBXaGVuIGJ1aWxkaW5nIHRoZSBtZWRpYSBzZWdtZW50IGxpc3QgdXNpbmcgYSBTZWdtZW50TGlzdCBub2RlLCB0aGUKCSAgZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24gZnVuY3Rpb24gd2lsbCBpdGVyYXRlIHRocm91Z2ggdGhlCgkgIGxpc3Qgb2YgUyBub2RlcyBhbmQgd2lsbCBleHBlY3QgdG8gZmluZCBhIG1hdGNoaW5nIFNlZ21lbnRVcmwgbm9kZS4gSWYKCSAgb25lIGRvZXMgbm90IGV4aXN0LCB0aGUgY29kZSBtYWRlIGFuIGlsbGVnYWwgbWVtb3J5IGFjY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5NgoKMjAxNS0wOS0xMSAxMDo1OToxNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHVuaXQgdGVzdCBmb3IgbWlzc2luZyBwcm9maWxlcwoKMjAxNS0wOS0xMSAxMDo1NzoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBkbyBub3QgZGVyZWZlcmVuY2UgcHJvZmlsZXMgaXMgYWJzZW50CgkgIFRoZXNlIGFyZSB1c2VkIHRvIGFwcGx5IHJlc3RyaWN0aW9ucyBvbiB3aGF0IHRoZSBNUEQgZmlsZSBtYXkKCSAgdXNlLCBzbyBubyBwcm9maWxlIG1lYW5zIG5vIHJlc3RyaWN0aW9ucy4KCSAgQmVzaWRlcywgbm90aGluZyBhY3R1YWxseSB1c2VzIHRoZSBwcm9maWxlcyAoeWV0KSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjkKCjIwMTUtMDktMTYgMTY6NDY6MjkgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgbXVsdGl0aHJlYWQgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTY5CgoyMDE1LTEwLTI4IDE2OjMxOjM5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHBhcnNlciByZWplY3RzIG5lZ2F0aXZlIHZhbHVlcyBmb3IgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzI2CgoyMDE1LTEwLTI4IDE2OjI0OjAxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBwYXJzaW5nIG9mIG5lZ2F0aXZlIHZhbHVlcyBpbnRvIHVuc2lnbmVkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyOQoKMjAxNS0wOS0xNyAyMDoxODo1MiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjQ6IGluaXRpYWxpemUgcGFyc2luZyBzdHJ1Y3R1cmVzCgkgIEluaXRpYWxpemUgdG8gMCB0aGVzZSBwYXJzZSBzdHJ1Y3R1cmVzIGJlZm9yZSBmaWxsaW5nIHRoZW06IEdzdEgyNjRTRUlNZXNzYWdlLAoJICBHc3RIMjY0TmFsVW5pdCwgR3N0SDI2NFBQUywgR3N0SDI2NFNQUyBhbmQgR3N0SDI2NFNsaWNlSGRyLgoJICBXaGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9ucyB3aGljaCBmaWxsIHRob3NlIHN0cnVjdHVyZXMsIHRoZXkgbWF5IGZhaWwsIGxlYXZpbmcKCSAgdW5pdGlhbGl6ZWQgdGhvc2Ugc3RydWN0dXJlcy4gVGhpcyBzaXR1YXRpb24gbWF5IGxlYWQgdG8gZnV0dXJlIHByb2JsZW1zLCBzdWNoCgkgIGFzIGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gZnJlZWluZywgZm9yIGV4YW1wbGUuCgkgIFRoaXMgcGF0Y2ggaW5pdGlhbGl6ZXMgdG8gemVybyB0aGVzZSBzdHJ1Y3R1cmVzLCBiZWZvcmUgZmlsbGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTYxCgoyMDE1LTA5LTE4IDEwOjA5OjI2ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogaW5pdGlhbGl6ZSBwYXJzaW5nIHN0cnVjdHVyZXMKCSAgSW5pdGlhbGl6ZSB0byAwIHRoZXNlIHBhcnNlIHN0cnVjdHVyZXMgYmVmb3JlIGZpbGxpbmcgdGhlbTogR3N0SDI2NVNFSU1lc3NhZ2UsCgkgIEdzdEgyNjVOYWxVbml0LCBHc3RIMjY1VlBTLCBHc3RIMjY1UFBTLCBHc3RIMjY1U1BTIGFuZCBHc3RIMjY1U2xpY2VIZHIuCgkgIFdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25zIHdoaWNoIGZpbGwgdGhvc2Ugc3RydWN0dXJlcywgdGhleSBtYXkgZmFpbCwgbGVhdmluZwoJICB1bml0aWFsaXplZCB0aG9zZSBzdHJ1Y3R1cmVzLiBUaGlzIHNpdHVhdGlvbiBtYXkgbGVhZCB0byBmdXR1cmUgcHJvYmxlbXMsIHN1Y2gKCSAgYXMgYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBmcmVlaW5nLCBmb3IgZXhhbXBsZS4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0byB6ZXJvIHRoZXNlIHN0cnVjdHVyZXMsIGJlZm9yZSBmaWxsaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjEKCjIwMTUtMTAtMjYgMTk6NTg6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGxpdmVhZGRlcjogTWFrZSBsYXRlbmN5IHByb3BlcnR5IGJlIGEgdWludCBpbiBtaWxsaXNlY3MKCSAgVGhpcyByZXN0b3JlcyByb3VnaGx5IHRoZSBzYW1lIGJlaGF2aW91ciBhcyB0aGUgb2xkIGxpdmVhZGRlciBlbGVtZW50LgoJICBFeGNlcHQgdGhhdCB0aGUgbGF0ZW5jeSBub3cgYWxzbyBpbmNsdWRlcyB0aGUgb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA1MAoKMjAxNS0wOS0wOCAxNDowMDo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmb3JiaWQgbmVnYXRpdmUgdmFsdWVzIGZvciBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDkyCgoyMDE1LTEwLTI4IDE1OjM5OjA3ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHBhcnNlciByZWplY3RzIFhNTHMgd2l0aCBuZWdhdGl2ZSBwZXJpb2QgZHVyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMyOQoKMjAxNS0xMC0yOCAxNTozNDoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBjaGVjayBzZWdtZW50IGxpc3RzIGhhdmUgZWl0aGVyIGR1cmF0aW9uIG9yIHRpbWVsaW5lCgkgIEFuZCBhZGQgZXJyb3IgY2hlY2tpbmcgYWxvbmcgdGhlIHdheS4KCSAgQWRkIGR1cmF0aW9uIHdoZXJlIGFwcHJvcHJpYXRlIHNvIHVuaXQgdGVzdHMgc3RpbGwgcGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY1MAoKMjAxNS0wOS0yOSAxNjoxNzowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB2YWxpZGF0ZSByZXByZXNlbnRhdGlvbiBzZXQgaWRlbnRpZmllcgoJICBJdCBtdXN0IGhhdmUgbm8gd2hpdGVzcGFjZSwgYW5kIG11c3QgY29tcGx5IHdpdGggUkZDIDE3Mzggd2hlbgoJICB1c2VkIHRvIGJ1aWxkIGEgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODUyCgoyMDE1LTEwLTI4IDE0OjQxOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBpbml0aWFsaXplIG91dHB1dCBwYXJhbXMgdG8gMCBiZWZvcmUgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgVGhlIGNsaWVudCBzaWRlIEFQSSBvZiB0aGUgQ2hyb21pdW0ncyBHUFUgUHJvY2VzcyBoYXMgYXNzZXJ0cwoJICBpbiBkZWJ1ZyBtb2RlIHRoYXQgY2hlY2sgdGhhdCBvdXRwdXQgcGFyYW1zIGFyZSBpbml0aWFsaXplZCB0byAwLgoKMjAxNS0xMC0yNyAxNjozMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgY291bGQgbmV2ZXIgYmUgY2FsbGVkCgkgIENvdmVyaXR5IENJRHMgIzEzMjg4MTgsICMxMzI4ODE5LCAjMTMyODgyMC4KCjIwMTUtMTAtMjcgMDA6MzY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGJ1aWxkL3Byb3ZpZGUgZ2xzdGVyZW9taXgvc3BsaXQgb24gZ2xlcyBvbmx5IHN5c3RlbXMKCjIwMTUtMTAtMjYgMTY6NTE6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogcmVuYW1lIGdlbWV0cmljIG1hdGggZnVuY3Rpb25zIHRvIGhhdmUgdGhlaXIgc3ltYm9scyBuYW1lc3BhY2VkCgkgIE90aGVyd2lzZSB0aG9zZSBzeW1ib2xzIGNhbiBjb25mbGljdCB3aXRoIGV4dGVybmFsIGxpYnJhcmllcyB3aGVuCgkgIGxpbmtpbmcgZXZlcnl0aGluZyBzdGF0aWNhbGx5IGZvciBtb2JpbGUgdGFyZ2V0cy4KCSAgVXNlIHRoZSBnc3RfZ21fIHByZWZpeCwgc2hvcnQgZm9yIGdzdCBnZW9tZXRyaWMgbWF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg4MgoKMjAxNS0xMC0yNiAxNTozMDowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkb24ndCBhZHZlcnRpc2UgdGhlIGxvY2FsIHdsX2Rpc3BsYXkgY29udGV4dAoJICBUaGlzIHdsX2Rpc3BsYXkgcHJveHkgaXMgdGVtcG9yYXJ5IG9ubHkgdW50aWwgd2F5bGFuZHNpbmsgZ29lcyBOVUxMLAoJICBhdCB3aGljaCBwb2ludCB0aGUgY29ubmVjdGlvbiB0byB0aGUgZGlzcGxheSBpcyBkaXNwb3NlZC4gVW5mb3J0dW5hdGVseSwKCSAgaWYgdGhpcyBpcyBhZHZlcnRpc2VkIGFzIGEgR3N0Q29udGV4dCwgcGxheWJpbiB3aWxsIGNhY2hlIGl0IGFuZCByZS1mZWVkCgkgIGl0IHRvIHRoZSBzaW5rIHdoZW4gaXQgZ29lcyBQTEFZSU5HIGFnYWluLCBidXQgdGhlIHdsX2Rpc3BsYXkgcG9pbnRlcgoJICB3aWxsIGF0IHRoYXQgcG9pbnQgYmUgaW52YWxpZCBhbmQgY2F1c2UgYSBjcmFzaC4KCSAgQW5vdGhlciBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSB3b3VsZCBiZSB0byBhbHNvIGNhY2hlIHRoZSBHc3RXbERpc3BsYXkKCSAgb2JqZWN0IGluc2lkZSB0aGUgR3N0Q29udGV4dCwgd2hpY2ggd291bGQgYXV0b21hdGljYWxseSByZWYtY291bnQKCSAgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiwgYnV0IEkgc2VlIG5vIHJlYXNvbiBpbiBkb2luZyB0aGF0IGF0IHRoZSBtb21lbnQsCgkgIGFzIHRoZXJlIGFyZSBubyBrbm93biB1c2VycyBvZiB0aGlzIEdzdENvbnRleHQgb3V0c2lkZSB3YXlsYW5kc2luay4KCSAgSXQncyBwcm9iYWJseSBiZXR0ZXIgdG8gYXZvaWQgY2hhc2luZyBoaWRkZW4gcmVmY291bnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTY3CgoyMDE1LTEwLTI2IDE4OjI2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFsbG93IG91dHB1dHRpbmcgbXVsdGlwbGUgdGV4dHVyZXMgZm9yIGdsZXMzIGNvbnRleHRzCgkgIHRoZSBVU0lOR19HTEVTMiBpbmNsdWRlcyBhbGwgR0xFUzMgY29udGV4dHMgYXMgd2VsbCB3aGljaCBkb2VzIHN1cHBvcnQKCSAgZHJhd2luZyB0byBtdWx0aXBsZSBidWZmZXJzLiAgSW5zdGVhZCBtYWtlIG9yIGRlY2lzaW9uIHNvbGVseSBiYXNlZCBvbgoJICB3aGV0aGVyIGdsRHJhd0J1ZmZlcnMgaXMgYXZhaWxhYmxlIG9yIG5vdC4KCjIwMTUtMTAtMjYgMTc6MzY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogZXhwb3NlIHRoZSBlbGVtZW50IG9uIGdsZXMyIHBsYXRmb3JtcwoJICBXZSBjYW4gZG8gZXZlcnl0aGluZyB3aXRoIGdsZXMzIGhvd2V2ZXIgZ2xlczIgcmVzdHJpY3RzIHVzIG5vdCBhbGxvd2luZwoJICBzZXBhcmF0ZWQgb3IgZnJhbWUtYnktZnJhbWUgbXVsdGl2aWV3IG1vZGVzIGR1ZSB0byBtdWx0aXBsZSBkcmF3IGJ1ZmZlcnMuCgoyMDE1LTEwLTI1IDAxOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICB0ZXN0czogaGxzZGVtdXhfbTN1OiBhZGQgdGVzdCBmb3IgbWFzdGVyIHBsYXlsaXN0IHdpdGggbWlzc2luZyB2YXJpYW50IGxpc3QgdXJpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NjEKCjIwMTUtMTAtMjAgMDk6MTM6MDQgKzAxMDAgIEFuZHLDqSBEcmFzemlrIDxnaXRAYW5kcmVkLm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZG9uJ3QgY3Jhc2ggb3IgbGVhayBtZW1vcnkgb24gYnJva2VuIG1hc3RlciBwbGF5bGlzdAoJICBJZiBhIChtYXN0ZXIpIHBsYXlsaXN0IGNvbnRhaW5zIGEgdmFyaWFudCBsaXN0IGVudHJ5IHdpdGhvdXQgYQoJICBVUkkgdGhlbiBkdXJpbmcgcGFyc2luZyBvZiB0aGUgbmV4dCB2YXJpYW50IGxpc3QgZW50cnkgd2UgYXJlCgkgIGEpIGxlYWtpbmcgdGhlIGVudHJ5IHdlJ3JlIGN1cnJlbnRseSBwYXJzaW5nIChuZXdfbGlzdCksIGFuZAoJICBiKSBmcmVlJ2luZyB0aGUgcG9pbnRlciB0byB0aGUgcHJldmlvdXMgbGlzdCBlbnRyeSAobGlzdCkgd2l0aG91dAoJICB1cGRhdGluZyB0aGUgcG9pbnRlci4KCSAgSGVuY2Ugd2hlbiB0aGVuIGFkZGluZyB0aGUgVVJJIGZvciB0aGUgbGF0ZXN0IHBhcnNlZCBlbnRyeSwgaW5jb3JyZWN0CgkgIGluZm9ybWF0aW9uIGlzIHN0b3JlZCwgYXMgdGhlIGluZm9ybWF0aW9uIGlzIHVzZWQgZnJvbSAnbGlzdCcgd2hpY2gKCSAgaXMgbm90IHZhbGlkIG1lbW9yeSBhbnltb3JlLCBhbHNvIGxlYWRpbmcgdG8gY3Jhc2hlcy4KCSAgRml4IHRoaXMgYnkgY29ycmVjdGx5IHN0b3JpbmcgdGhlIG5ldyB2YXJpYW50IGxpc3QgZW50cnkgcG9pbnRlcgoJICBhcyBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NjEKCjIwMTUtMDktMDQgMTE6Mjk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjaGFuZ2UgZGlzcG9zZSBmdW5jdGlvbiB0byBmaW5hbGl6ZQoKMjAxNS0wOC0zMCAyMTozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBoZWxwZXIgZnVuY3Rpb24gb25seSB1c2VkIG9uY2UKCjIwMTUtMDgtMzAgMTc6NDE6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCAnZnJhZ21lbnRzLWNhY2hlJyBwcm9wZXJ0eQoJICBJdCdzIGJlZW4gbm9uLWZ1bmN0aW9uYWwgZm9yIHR3byBjeWNsZXMgbm93LCBsZXQncwoJICBnZXQgcmlkIG9mIGl0LgoKMjAxNS0wOS0wMiAxNjo0MDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogbW92ZSBmaWxlIGxvb2t1cCBieSBzZXF1ZW5jZSBkaXJlY3RseSBpbnRvIGNvZGUKCSAgTmljZXIgdG8gcmVhZCwgdHdvIGxpbmVzIG9mIGNvZGUgbGVzcywgYW5kIGFsc28gdGhlIGNhbGxiYWNrCgkgIGZ1bmN0aW9uIHNob3VsZCd2ZSBiZWVuIGEgR0NvbXBhcmVGdW5jIHRoYXQgcmV0dXJucyBhIGdpbnQKCSAgYW5kIG5vdCBhIGJvb2xlYW4gKGl0IGRpZCB3b3JrIGNvcnJlY3RseSwgd2FzIGp1c3QgY29uZnVzaW5nKS4KCjIwMTUtMDktMDEgMTI6NDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhbi11cDogcmVtb3ZlIHVudXNlZCBhcmd1bWVudCBpbiBmdW5jdGlvbiBjYWxsCgoyMDE1LTA4LTMwIDE3OjIyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhbi11cDogcmVpbmRlbnQgaGVhZGVyIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKCSAgQW5kIHJlbW92ZSBkdXBsaWNhdGUgZGVmaW5lLgoKMjAxNS0xMC0yMyAxODo1ODo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIGVtcHR5IHNldC9nZXRfcHJvcGVydHkoKQoJICBXZSBjYW4gYWRkIHRoZW0gYWdhaW4gaWYgd2UgZXZlciBhZGQgcHJvcGVydGllcy4KCjIwMTUtMTAtMjMgMTg6Mzg6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFBvcnQgdG8gR3N0QWdncmVnYXRvcgoKMjAxNS0xMC0yMiAxOToyMDoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU2V0IEdDIGVzc2VuY2UgZWxlbWVudCBVTCB2ZXJzaW9uIHRvIDB4MDEKCSAgZmZtcGVnIG90aGVyd2lzZSByZWplY3RzIGl0IGFuZCB0aGUgc3BlYyBpcyBub3QgMTAwJSBjbGVhciBhYm91dCB0aGF0LgoKMjAxNS0xMC0yMCAxNzowOToyMiArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IEZpeCBjcml0aWNhbCB3YXJuaW5nIHRyeWluZyB0byByZXRyaWV2ZSBTU1JDIGZyb20gYSBub24gZmIgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODc2CgoyMDE1LTEwLTIyIDE5OjI0OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgbXhmOiBSZW9yZGVyIENGTEFHUyBhbmQgTElCUwoKMjAxNS0xMC0yMyAxNTo0MjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBBZGQgY3JlYXRlX25ld19wYWQoKSB2ZnVuYyB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW91cgoJICBOb3QgYWxsIGFnZ3JlZ2F0b3Igc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSBzaW5nbGUgcGFkIHRlbXBsYXRlIGNhbGxlZCBzaW5rXyV1CgkgIGFuZCBtaWdodCBkbyBzb21ldGhpbmcgc3BlY2lhbCBkZXBlbmRpbmcgb24gd2hhdCB0aGUgYXBwbGljYXRpb24gcmVxdWVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwMTgKCjIwMTUtMTAtMjEgMTk6MDA6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNldCBLQUcgc2l6ZSB0byAxCgkgIFdlJ3JlIG5vdCBhbGlnbmluZyBvdXIgb3V0cHV0IGluIGFueSB3YXksIGFuZCAwIGlzIGludmFsaWQuCgoyMDE1LTEwLTIxIDE4OjU4OjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBsZXQgdGhlIGhlYWRlciBwYXJ0aXRpb24ncyBwcmV2X3BhcnRpdGlvbiBwb2ludCBmb3J3YXJkIHRvIHRoZSBmb290ZXIKCjIwMTUtMTAtMjEgMTg6MzI6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBGaXggZ2VuZXJhdGlvbiBvZiBvcGVyYXRpb25hbCBwYXR0ZXJuIFVMCgoyMDE1LTEwLTIxIDE4OjMxOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGZkZW11eC1zdHJ1Y3R1cmU6IFN5bmMgZmFrZXNpbmsgc3RhdGUgd2l0aCB0aGUgYmluIHRvIG1ha2UgdGhlIGFwcGxpY2F0aW9uIHdvcmsgYXQgYWxsCgoyMDE1LTEwLTIxIDE4OjIwOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IGgyNjQgaXMgYWx3YXlzIGJ5dGUtc3RyZWFtIGluc2lkZSBNWEYKCjIwMTUtMTAtMjEgMTg6MDY6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IEFkZCB1bml0IHRlc3RzIGZvciBIMjY0L1BDTQoKMjAxNS0xMC0yMSAxNzo0NzowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgbGVhayBTRUVLIGV2ZW50cyB3aGVuIGRyb3BwaW5nIHRoZW0KCjIwMTUtMTAtMjEgMTc6MjE6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZ2YzM6IFRoZSB3cmFwcGluZyBpcyB0aGUgMTV0aCBieXRlIG9mIHRoZSBlc3NlbmNlIGNvbnRhaW5lciBVTCwgbm90IHRoZSAxNnRoCgkgIEluIG90aGVyIG1hcHBpbmdzIGl0IGlzIHRoZSAxNnRoIHRob3VnaC4KCjIwMTUtMTAtMjEgMTc6MTE6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJZiBzZWVraW5nIHRvIHRoZSByZW1haW5pbmcgcGFydHMgb2YgdGhlIGZpbGUgZmFpbHMgb24gRU9TLCBjb25zaWRlciB0aGUgc3RyZWFtIGRvbmUKCSAgV2l0aG91dCB0aGlzIHdlIHdvdWxkIHJ1biB0aGlzIHdoaWxlIGxvb3AgZm9yZXZlciwgYWx3YXlzIHNlZWtpbmcgYWdhaW4gZm9yCgkgIHRoZSBzYW1lIHN0cmVhbS4KCjIwMTUtMTAtMjEgMTU6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IFByb3Blcmx5IGVuYWJsZSB1bml0IHRlc3RzIGFnYWluCgoyMDE1LTEwLTIxIDAxOjIyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGYuYzoKCSAgbXhmOiBSZS1lbmFibGUgbXhmbXV4IGVsZW1lbnQKCjIwMTUtMTAtMjEgMDE6MjE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14ZmpwZWcyMDAwOiBGaXggY2FwcwoJICBUaGVyZSBpcyBubyBmaWVsZHMgZmllbGQgYW55bW9yZS4KCjIwMTUtMTAtMjEgMDE6MTc6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGZhaWwgU0VHTUVOVCBldmVudHMKCjIwMTUtMTAtMjEgMDE6MDI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFB1c2ggc3RyZWFtLXN0YXJ0IGFuZCBjYXBzIGV2ZW50IGJlZm9yZSBzZWdtZW50IGV2ZW50CgkgIEFuZCBkb24ndCBwdXNoIHRoZSBjYXBzIGV2ZW50IGR1cmluZyBpbnN0YW5jZSBpbml0aWFsaXphdGlvbiBhbHJlYWR5LgoKMjAxNS0xMC0yMSAwMDo0NToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZhZXMtYndmOiBGb3JtYXQgaXMgdW5zaWduZWQgaWYgaXQncyAxIGJ5dGUgcGVyIGNoYW5uZWwKCSAgLi4uIG5vdCAxIGJ5dGUgcGVyIGJsb2NrLgoKMjAxNS0xMC0yMSAxNjo1MToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogaGFuZGRldGVjdDogbm8gbmVlZCB0byBnZXQgYSB3cml0YWJsZSBidWZmZXIKCSAgTm8gbmVlZCB0byBnZXQgYSB3cml0YWJsZSBidWZmZXIgaW5zaWRlIGN2X3RyYW5zX2Z1bmMgb2Ygb3BlbmN2IHZpZGVvCgkgIGZpbHRlci4gR3N0QmFzZVRyYW5zZm9ybSB0YWtlcyBjYXJlIG9mIHRoaXMuCgoyMDE1LTEwLTIxIDE0OjM1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiOTk4MDBhIHRvIGIzMTk5MDkKCjIwMTUtMTAtMjAgMTc6Mjk6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBuZXcgR1NUX0VOQUJMRV9FWFRSQV9DSEVDS1MgI2RlZmluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODcwCgoyMDE1LTEwLTIxIDE0OjI2OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDlhZWQxZDcgdG8gYjk5ODAwYQoKMjAxNS0xMC0yMSAwNTozNDoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogZnJlZSB0aGUgdmVydGV4IGFuZCBmcmFnbWVudCBzdHJpbmdzIG9uIGZpbmFsaXplCgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsgd2hlbiB1c2luZyB0aGUgdmVydGV4L2ZyYWdtZW50IHByb3BlcnRpZXMuCgoyMDE1LTEwLTIxIDA1OjMzOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGJ1aWxkIGVycm9ycwoJICBwcmludGYgJWxsZCBpbnN0ZWFkIG9mIEdfR0lOVDY0X0ZPUk1BVC4KCSAgRG91YmxlIHJldCB2YXJpYWJsZSBkZWNsYXJhdGlvbi4KCjIwMTUtMTAtMjEgMDU6MDA6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IHJlbW92ZSB1bm5lZWRlZCByZWZlcmVuY2UgdG8gPGdzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oPgoKMjAxNS0xMC0yMSAwNDo0NDo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCB1c2FnZSBvZiBzdHJpbmcuaCBhbmQgc3RkaW8uaCBmdW5jdGlvbnMgd2l0aG91dCBpbmNsdWRpbmcgdGhlIGhlYWRlcnMKCSAgZS5nOgoJICBnc3RnbGNvbnRleHRfZWdsLmM6NjEzOjc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RyY21wJwoJICBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KCSAgaWYgKHN0cmNtcCAoR19NT0RVTEVfU1VGRklYLCAic28iKSA9PSAwKQoKMjAxNS0xMC0xNiAwNzowMzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjcmVhdGUgYSBjb250ZXh0IGluIE5VTExfUkVBRFkKCSAgU28gdGhhdCBpdCdzIHBvc3NpYmxlIGZvciBkZWNvZGVycyBldCBhbC4gdG8gcmVxdWVzdCB0aGUgT3BlbkdMIGNvbnRleHQKCSAgaW4gdGhlaXIgUkVBRFlfUEFVU0VEIHRyYW5zaXRpb24gd2l0aCBkZWNvZGViaW4vcGxheWJpbi4KCjIwMTUtMTAtMTYgMDA6MzQ6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbWN2aWRkZWM6IHVzZSBnc3Rjb250ZXh0IHRvIHJldHJlaXZlIHRoZSBPcGVuR0wgY29udGV4dAoKMjAxNS0wNC0yMCAxMzo0Njo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBPbmx5IGFsbG93IEdMIG91dHB1dCBpZiB0aGUgZGVjb2RlciBoYXMgdW5rbm93biBjb2xvciBmb3JtYXRzCgkgIElmIEdTVF9BTUNfSUdOT1JFX1VOS05PV05fQ09MT1JfRk9STUFUUyBpcyBzZXQgdG8geWVzLCBub24tR0wgb3V0cHV0CgkgIGlzIHN0aWxsIGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyMDQKCjIwMTQtMDYtMDUgMTA6MzM6NTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2UuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBbWNPbkZyYW1lQXZhaWxhYmxlTGlzdGVuZXIuamF2YToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgR0wgb3V0cHV0IGluIGFtY3ZpZGVvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyMDQKCjIwMTUtMDQtMzAgMTI6MzM6NTggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG8gbm90IGZsdXNoIGNvZGVjIGlmIGl0IGlzIG5vdCBzdGFydGVkCgoyMDE1LTA0LTEzIDEzOjEwOjEwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxsb3cgb2JqZWN0IHRvIGJlIE5VTEwgaW4gZ3N0X2FtY19qbmlfKnVucmVmIGZ1bmN0aW9ucwoKMjAxNS0wMy0xMyAxNjoxMzowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZGVidWcgc3RhdGVtZW50ICglZCBmb3IgYSBnc2l6ZSBhcmd1bWVudCkKCjIwMTUtMDQtMDIgMTY6Mjg6MTQgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBJbXByb3ZlIGNvbG9yIGZvcm1hdCBkZWJ1ZyBtZXNzYWdlcwoKMjAxNS0wMy0zMSAxNjoyNDo0MCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBJbXByb3ZlIGRlYnVnIG1lc3NhZ2VzCgoyMDE1LTAzLTMxIDE3OjQ4OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvIG5vdCB3YXJuIHdlIGRvIG5vdCBzdXBwb3J0IENPTE9SX0Zvcm1hdFN1cmZhY2UKCjIwMTUtMTAtMjEgMDM6NTk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSAgZ2w6IHJlbW92ZSB1bm5lZWRlZCBzaGFkZXIgdmFyaWFibGUgcGFyc2luZyBjb2RlCgoyMDE1LTEwLTIxIDAzOjIzOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsc2hhZGVyZWxlbWVudDogaW1wbGVtZW50IHNldHRpbmcgYXJiaXRyYXJ5IHVuaWZvcm1zCgkgIEN1cnJlbnRseSBmbG9hdCBhbmQgaW50IGFyZSBzdXBwb3J0ZWQgYnkgZGVmYXVsdC4gdmVjMiwgdmVjMywgdmVjNAoJICBhbmQgbWF0NCBhcmUgc3VwcG9ydGVkIGlmIGdyYXBoZW5lIGlzIHVzZWQuICBPZiBjb3Vyc2UgaWYgb25lIHdhbnRzCgkgIHRvIHNldCBjdXN0b20gdW5pZm9ybXMgdGhleSBjYW4gYWxzbyBiZSBzZXQgdXNpbmcgdGhlIGNyZWF0ZS1zaGFkZXIKCSAgc2lnbmFsLgoKMjAxNS0xMC0yMCAxMjoyNDoxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogaGFuZGRldGVjdDogZnJlZSBiZXN0X3Igd2l0aCBkZWxldGUKCSAgYmVzdF9yIGlzIGEgY3Y6OlJlY3QsIHNvIGl0IHNob3VsZCBiZSBmcmVlZCB3aXRoIGRlbGV0ZSBhbmQgbm90IHdpdGgKCSAgZ19mcmVlKCkKCjIwMTUtMTAtMjAgMTI6MDg6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgb3BlbmN2OiBtb3Rpb25jZWxsczogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFdlIGtub3cgdGhhdCB0aGUgZ2NoYXIgYXJyYXlzIGNvbnRhaW4gYXQgbGVhc3Qgb25lIHN0cmluZy4gRnVydGhlcm1vcmUsCgkgIGdfc3RyZnJlZXYoKSBjaGVja3MgaWYgdGhlIGFycmF5IGlzIE5VTEwgYW5kIHNpbXBseSByZXR1cm5zIGlmIGl0IGlzLgoJICBIZW5jZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpZiB0aGUgYXJyYXkgaXMgZW1wdHkgYmVmb3JlIHVzaW5nCgkgIGdfc3RyZnJlZXYoKS4KCSAgQ0lEIDEzMjc0MTItMTMyNzQxNQoKMjAxNS0wNy0wOCAxNzoxNzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzL20zdTg6IFVwZGF0ZSBjdXJyZW50IHBvc2l0aW9uIGluIGFsbCBjYXNlcwoJICBJbiBvcmRlciB0byBlbnN1cmUgdGhlIHNlcXVlbmNlX3Bvc2l0aW9uIHdpbGwgYWx3YXlzIGJlIGNvbnNpc3RlbnRseSB1cGRhdGVkLAoJICBzdG9yZSB0aGUgY3VycmVudCBmaWxlIGR1cmF0aW9uLgoJICBUaGlzIHdheSwgd2hlbiB3ZSBhZHZhbmNlLCB3ZSBjYW4gYWx3YXlzIGluY3JlbWVudCB0aGUgcG9zaXRpb24gYmFzZWQgb24gd2hhdAoJICB3YXMgcHJldmlvdXNseSBvdXRwdXR0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMzIKCjIwMTUtMTAtMTQgMTg6MzU6MDAgKzAyMDAgIHBsYW1vdCA8cGllcnJlLmxhbW90QG9wZW53aWRlLmZyPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IEZpeCA2NGJpdCBjb21wYXRpYmlsaXR5IGlzc3VlCgkgIFNldFdpbmRvd0xvbmcgd29ya3Mgb25seSBmb3IgMzIgYml0IHN5c3RlbXMsIHRodXMgd2luZG93cyBldmVudHMgKG1vdmUvcmVzaXplKQoJICB3aGVyZSBub3QgaW50ZXJwcmV0ZWQgb24gNjQgYml0IHN5c3RlbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjYxNwoKMjAxNS0xMC0xOSAxNToxNTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsOiBiZSBjb25zaXN0ZW50IGluIGdvYmplY3QgYm9pbGVycGF0ZQoJICBHU1RfR0xfSVNfKiB2cyBHU1RfSVNfR0xfKgoJICBnaXQgZ3JlcCAtbCAnR1NUX0dMX0lTXycgfCB4YXJncyBzZWQgLWkgJ3MvR1NUX0dMX0lTXy9HU1RfSVNfR0xfL2cnCgoyMDE1LTEwLTE5IDE1OjAyOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBhZGQgZ2xsaXZlc2hhZGVyIHByb2dyYW0gdG8gLmdpdGlnbm9yZQoKMjAxNS0xMC0xNyAxMjo0ODoxMSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBkcm9wIGZyYW1lIGluIGNhc2Ugb2YgX2hhbmRsZSgpIGZhaWx1cmUKCSAgQWxsb3dzIGJhc2VjbGFzcyB0byBoYW5kbGUgaXQgZnJvbSB0aGVyZQoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYzCgoyMDE1LTEwLTE3IDAxOjUxOjI0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IHByb3BhZ2F0ZSBpbnB1dCBzdGF0ZSBhZnRlciBwYXJzaW5nCgkgIFN0b3JlIGFuZCBjb3B5IGlucHV0IHN0YXRlIGZpZWxkcyB3aGVuIHNldHRpbmcgdGhlCgkgIG91dHB1dCBzdGF0ZSBvZiB0aGUgZGVjb2Rlci4gQXZvaWRzIHByb2JsZW1zIGxpa2UKCSAgdGhlIGZyYW1lcmF0ZSBzZXQgYnkgYW4gdXBzdHJlYW0gZWxlbWVudCBiZWluZyBpZ25vcmVkCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTYgMjA6NDU6NDIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogY29tcGxldGVseSByZXNldCBwYXJzaW5nIHN0YXRlIGF0IGZsdXNoCgkgIE1ha2VzIHN1cmUgdGhlIG1uZ3Igc3RydWN0IHJlZmxlY3RzIGEgY2xlYW4gc3RhdGUKCSAgZm9yIHRoZSBuZXh0IGZyYW1lLCBhdm9pZGluZyBmYWlsdXJlcyBsaWtlOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYzCgoyMDE1LTEwLTE3IDE1OjI2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2xzaGFkZXJlbGVtZW50OiBpbXBsZW1lbnQgb24tZGVtYW5kIGNyZWF0ZS1zaGFkZXIgc2lnbmFsbGluZwoJICBPbmUgbWF5IG5vdCBoYXZlIGFuIEdzdEdMQ29udGV4dCBhdmFpbGFibGUgb3IgY3VycmVudCBpbiB0aGUgdGhyZWFkIHdoZXJlIG9uZQoJICB3b3VsZCBuZWVkIHRvIHVwZGF0ZSB0aGUgc2hhZGVyLiAgU3VwcG9ydCB0aGlzIGJ5IHNpZ25hbGxpbmcgY3JlYXRlLXNoYWRlcgoJICB3aGVuZXZlciB0aGUgb25lLXNob3QgJ3VwZGF0ZS1zaGFkZXInIGlzIHNldCB0byBUUlVFLgoKMjAxNS0xMC0xNyAwMjo0Mjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsL2NhbGF5ZXI6IGRvbid0IGxlYWsgYSBnbCBzaGFkZXIgb2JqZWN0CgkgIFdlIHdpbGwgYWx3YXlzIG92ZXJ3cml0ZSB0aGUgY2Ffc2luay0+cmVkaXNwbGF5X3NoYWRlciB3aXRob3V0IGZyZWVpbmcgdGhlCgkgIG9iamVjdC4KCjIwMTUtMTAtMTcgMDI6NDA6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBzZXBhcmF0ZSBvdXQgdGhlIHdpZGdldC93aW5kb3cgZGVzdHJveSBjYWxsYmFja3MKCSAgRml4ZXMgYXNzZXJ0aW9uIGR1ZSB0byB0aGUgc2lua19maW5hbGl6ZSgpIGJlaW5nIHJ1biBiZWZvcmUgdGhlIHdpZGdldCBkZXN0cm95CgkgIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTY5CgoyMDE1LTEwLTE3IDAxOjA4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2wvZXhhbXBsZXM6IGFkZCBhIGxpdmUgc2hhZGVyIGRlbW8gdXNpbmcgdGhlIG5ldyBHc3RHTFNMU3RhZ2UKCSAgSW1wbGVtZW50ZWQgd2l0aCB2aWRlb3Rlc3RzcmMgISBnbHNoYWRlciAhIGdsdXBsb2FkICEgZ3RrZ2xzaW5rCgkgIEVycm9ycyBvbiBhbiBpbnZhbGlkIHNoYWRlciBjb21waWxhdGlvbiBhcmUgaWdub3JlZCBob3dldmVyIGFueSBlcnJvcgoJICBwcm92aWRlZCBieSB0aGUgZ2xzbCBjb21waWxlciBpcyBwcmludGVkIHRvIHN0ZG91dC4KCjIwMTUtMTAtMTYgMDA6MjM6NTYgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBza2lwIHBhZGRpbmcgd2hlbiBtYXBwaW5nIFJUUCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY2NTMKCjIwMTUtMTAtMTQgMTk6MzI6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBQcm9wZXJseSBmb3J3YXJkIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3OAoKMjAxNS0xMC0xNCAxOToyNDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEltcGxlbWVudCBzdXBwb3J0IGZvciBDT0xPUl9RQ09NX0Zvcm1hdFlWVTQyMFNlbWlQbGFuYXIzMm1NdWx0aVZpZXcgZm9yIGRlY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzgKCjIwMTUtMTAtMTYgMDI6NTc6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBhZGQgYnJhY2tldHMgYXJvdW5kIHBvaW50ZXIgZGVyZWZlcmVuY2UgcmVmZXJlbmNpbmcgYW4gYXJyYXkKCSAgV2hpbGUgdGVjaG5pY2FsbHksIGkgaXMgYWx3YXlzIDAgYW5kICp2ZXJ0ZXhfc291cmNlc1tpKytdIGlzIGVxdWl2YWxhbnQKCSAgdG8gKCp2ZXJ0ZXhfc291cmNlcylbaSsrXS4gIEJlIGZ1dHVyZS1wcm9vZiBpbiB0aGUgY2FzZSBvZiBjb2RlCgkgIG1vdmVzL2NoYW5nZXMvZXRjLgoJICBDSUQgMTMyNzQwNgoKMjAxNS0xMC0xNSAyMzo0NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXJzaW5rOiBwb3J0IHRvIG5ldyBHc3RHTFNoYWRlciBBUEkKCSAgZml4ZXMgYnVpbGQgZXJyb3I6CgkgICJ1bmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlOgoJICBnc3RfZ2xfc2hhZGVyX2NvbXBpbGVfd2l0aF9kZWZhdWx0X3ZmX2FuZF9jaGVjayIKCjIwMTUtMTAtMTUgMjI6NDI6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL3Rlc3RzOiBwb3J0IGdsY29udGV4dCB0ZXN0IHRvIG9wZW5nbAoJICBOb3cgdXNlcyB2YW8ncyBhbmQgdmJvJ3Mgd2hlbiBwb3NzaWJsZSBsaWtlIHRoZSByZXN0IG9mIHRoZSBnc3RnbCBsaWJyYXJ5LgoKMjAxNS0wOS0wNCAxNjoxNjo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJICBnbHNoYWRlcjogcG9ydCBlbGVtZW50IHRvIEdzdEdMU0xTdGFnZQoJICAtIFByb3ZpZGUgYSBzaGFkZXIgcHJvcGVydHkgdG8gc2V0IHRoZSBmdWxsIHNoYWRlciBwaXBlbGluZQoJICAtIFByb3ZpZGUgdmVydGV4IGFuZCBmcmFnbWVudCBwcm9wZXJ0aWVzIGZvciBqdXN0IHByb3ZpZGluZyBzaW1wbGUKCSAgc2hhZGVyIHNvdXJjZXMuCgoyMDE1LTA5LTA0IDE2OjAyOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsc2hhZGVyOiBwb3J0IHRvIHVzaW5nIEdzdEdMU0xTdGFnZSBvYmplY3RzIGZvciBzdHJpbmcgbWFuYWdlbWVudAoJICBBIEdzdEdMU2hhZGVyIGlzIG5vdyBzaW1wbHkgYSBjb2xsZWN0aW9uIG9mIHN0YWdlcyB0aGF0IGFyZQoJICBjb21waWxlZCBhbmQgbGlua2VkIHRvZ2V0aGVyIGludG8gYSBwcm9ncmFtLiAgVGhlIHVuaWZvcm0vYXR0cmlidXRlCgkgIGludGVyZmFjZSBoYXMgcmVtYWluZWQgdGhlIHNhbWUuCgoyMDE1LTA5LTA0IDE0OjM2OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJICBnbHNsOiBhZGQgYSBzaGFkZXIgc3RhZ2Ugb2JqZWN0IEdzdEdMU0xTdGFnZQoJICBSZXByZXNlbnRzIGEgc3RhZ2UgKHZlcnRleCwgZ2VvbWV0cnksIGZyYWdtZW50LCBldGMpIGluIHRoZSBzaGFkZXIKCSAgcGlwZWxpbmUuCgoyMDE1LTA5LTA0IDAwOjA5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSAgZ2wvc2hhZGVyL3ZhcmlhYmxlczogaW5jbHVkZSBnZW5lcmljIGdsLmggaGVhZGVyCgkgIE90aGVyd2lzZSB3ZSBtYXkgbWlzcyBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zCgkgIEZpeGVzIGJ1aWxkIGVycm9yOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIEdzdEdMU0xTdGFnZQoKMjAxNS0wOC0yMCAxNToxMTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbC5jOgoJICBnbDogYWRkIHNvbWUgR0xTTCB1dGlsaXR5IGZ1bmN0aW9ucwoJICBTcGVjaWZpY2FsbHkgcGFyc2luZy9zZXR0aW5nIEdMU0wgdmVyc2lvbnMgYW5kIHRoZSBzaGFkZXIgcmVsYXRlZAoJICBmdW5jdGlvbiB0YWJsZS4KCjIwMTUtMTAtMTQgMjI6NTE6MjkgKzAyMDAgIFBhdWwgQXJ6ZWxpZXIgPHBhdWwuYXJ6ZWxpZXJAZnJlZS5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJICBkdGxzOiBGaXggbmFtZSBjb25mbGljdCB3aXRoIG9wZW5zc2wgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU5MgoKMjAxNS0wOS0wNCAxODo0MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogaWYgbWVkaWEgc2VxdWVuY2UgaXMgbm90IHNwZWNpZmllZCwgdXNlIDAKCSAgQWxsb3dzIHBsYXlsaXN0cyB0aGF0IGFyZSBtaXNzaW5nIHRoZSBtZWRpYXNlcXVlbmNlIGluZm9ybWF0aW9uIHRvCgkgIGJlIGNvcnJlY3RseSBwYXJzZWQuIElmIHRoZSBwbGF5bGlzdCB3YXMgdXBkYXRlZCB3aXRob3V0IHJlc2V0aW5nCgkgIHRoZSBtZWRpYXNlcXVlbmNlIGl0IHdvdWxkIGNvbnN0YW50bHkgaW5jcmVhc2Ugb3ZlciBzdWJzZXF1ZW50IHVwZGF0ZXMsCgkgIGxlYWRpbmcgdG8gaXNzdWVzIGR1cmluZyBwbGF5YmFjay4KCjIwMTUtMDgtMzAgMTQ6NTY6NTcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGZhbGxiYWNrIGJ1ZmZlciBhbGxvY2F0aW9uCgkgIENvcHktcGFzdGUgbWlzdGFrZTsgdGhlIHdsX2J1ZmZlciB3YXMgYXR0YWNoZWQgb24gdGhlIHdyb25nIGJ1ZmZlci4uLgoKMjAxNS0wOC0zMCAxNDo1NToxMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSBHc3RXbERpc3BsYXk6OmZvcm1hdHMgYXJyYXkgdG8gc2htX2Zvcm1hdHMKCSAgVGhlc2UgZm9ybWF0cyBhcmUgc3BlY2lmaWMgdG8gdGhlIHdsX3NobSBpbnRlcmZhY2UuIFdlIGFyZSBnb2luZwoJICB0byBhZGQgZG1hYnVmIGZvcm1hdHMgbGF0ZXIgYXMgd2VsbC4KCjIwMTUtMDgtMjkgMjI6Mjk6MTcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuaDoKCSAgd2F5bGFuZHNpbms6IHJlcGxhY2UgdGhlIGN1c3RvbSBHc3RXbFNobU1lbW9yeSB3aXRoIEdzdEZkTWVtb3J5CgoyMDE1LTEwLTE0IDE5OjUzOjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBVcGRhdGUgUE9URklMRVMuaW4gZm9yIE9wZW5DViBDKysgZmlsZSByZW5hbWUKCjIwMTUtMTAtMTQgMTc6NDE6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBBbGxvdyBkZWJ1Z2dpbmcgb2YgdGhlIHBsYXlsaXN0CgkgIEhlbHBzIGRlYnVnZ2luZyBpc3N1ZXMKCjIwMTUtMTAtMTQgMTc6Mzg6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBdm9pZCBuZWdhdGl2ZSBzZXF1ZW5jZSBudW1iZXJzCgkgIEZvciBsaXZlIHN0cmVhbXMsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZXJlJ3MgYSBjZXJ0YWluIGRpc3RhbmNlCgkgIGJldHdlZW4gdGhlIHNlcXVlbmNlIHRvIHBsYXkgYW5kIHRoZSBsYXN0IChlYXJsaWVzdCkgZnJhZ21lbnQuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgaXQgYXNzdW1lcyB0aGVyZSBhcmUgYXQgbGVhc3QgMyBmcmFnbWVudHMgaW4KCSAgdGhlIHBsYXlsaXN0LCB3aGljaCBtaWdodCBub3QgYWx3YXlzIGJlIHRoZSBjYXNlIChsaWtlIGluIHRoZSBjYXNlCgkgIG9mIGEgc2VydmVyIHJlc3RhcnRpbmcgYW5kIGdyYWR1YWxseSBhZGRpbmcgZnJhZ21lbnRzKS4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggbmVnYXRpdmUgc2VxdWVuY2UgbnVtYmVycyAod2hpY2gKCSAgd2lsbCBqdXN0IGxvb3AgZm9yZXZlciksIGxpbWl0IHRoZSBuZXcgdGFyZ2V0IHNlcXVlbmNlIG51bWJlciB0bwoJICB0aGUgaGlnaGVzdCBvZjoKCSAgKiBlaXRoZXIgdGhlIGZpcnN0IHNlcXVlbmNlIG51bWJlciBvZiB0aGUgcGxheWxpc3QgKGZhbGxiYWNrKQoJICAqIG9yIDMgZnJhZ21lbnRzIGZyb20gdGhlIGxhc3Qgb25lIChzdGFuZGFyZCBiZWhhdmlvdXIpCgoyMDE1LTEwLTE0IDE1OjMwOjA1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkgIG9wZW5jdjogc3dpdGNoIHJlbWFpbmluZyB0byBDKysKCSAgU3dpdGNoIHJlbWFpbmluZyBDIGZpbGVzIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVDViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTE0IDEwOjMxOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogU2V0IGRlZmF1bHQgbGFzdF9ieXRlX3BvcyB0byAtMQoJICBUaGUgdmFsdWUgaXMgb3B0aW9uYWwgaW4gdGhlIHJhbmdlLCBhbmQgaWYgaXQgaXMgYWJzZW50IGl0IG1lYW5zIHdlIHNob3VsZAoJICBkb3dubG9hZCB1bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4gTm90IHVudGlsIHBvc2l0aW9uIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTQgMTA6MzQ6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEhUVFAgcmFuZ2VzIGFyZSBpbmNsdXNpdmUsIEdTdHJlYW1lciBzZWdtZW50LnN0b3AgaXMgZXhjbHVzaXZlCgkgIFRyYW5zbGF0ZSB0aGUgdmFsdWVzIGFjY29yZGluZ2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTE0IDE0OjM0OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgb3BlbmN2OiBtb3Rpb25jZWxsczogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0bW90aW9uY2VsbHMgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTE0IDIyOjM1OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBsaXZlYWRkZXIgZGlyZWN0b3J5IHRvIHRoZSBjcnVmdCBsaXN0CgkgIFNvIHRoYXQgd2UgY2FuIHJlbW92ZSBpdCBhbmQgYXZvaWQgZHVwbGljYXRlIEdzdExpdmVBZGRlciBHVHlwZSByZWdpc3RyYXRpb25zLgoKMjAxNS0xMC0xMyAxMjo0MDowNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbDogZml4IGxlYWsgaW4gZ3N0X2dsX2luc2VydF9kZWJ1Z19tYXJrZXIoKQoJICBUaGUgc3RyaW5nIGFsbG9jYXRlZCBieSBnX3Zhc3ByaW50ZigpIHdhcyBsZWFrZWQuCgkgIFJlcHJvZHVjZWQgdXNpbmcgdGhlCgkgIHZhbGlkYXRlLmZpbGUuY29tcG9zaXRvci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHZhbGlkYXRlIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDkyCgoyMDE1LTEwLTEyIDExOjA3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjQyNAoKMjAxNS0xMC0xMiAwOTozNjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgbGl2ZWFkZGVyOiBsYXRlbmN5IHByb3BlcnR5IGlzIGFuIHVpbnQ2NCBpbiBhdWRpb21peGVyCgoyMDE1LTEwLTExIDIzOjQ0OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSAgdGV4dG92ZXJsYXk6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdHRleHRvdmVybGF5IHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMSAyMTo1NDozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcHlyYW1pZHNlZ21lbnQ6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdHB5cmFtaWRzZWdtZW50IHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wNSAwMDo1NTozNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IFJlbW92ZSBwbHVnaW4sIHJlcGxhY2UgYnkgY29tcGF0IHN1YmNsYXNzIG9mIGF1ZGlvbWl4ZXIKCSAgTmV3IHN1YmNsYXNzIHdpdGggYSBzaW1pbGFyIGJlaGF2aW91ciBhcyB0aGUgb2xkIGxpdmVhZGRlciwgYnV0CgkgIGEgc2xpZ2h0bHkgZGlmZmVyZW50IEFQSSBhcyB0aGUgbGF0ZW5jeSBpcyBpbiBuYW5vc2Vjb25kcywgbm90CgkgIG1pbGxpc2Vjb25kcy4gQWxzbywgdGhlIG5ldyBsaXZlYWRkZXIgaGFzIGEgZWZmZWN0aXZlIGxhdGVuY3kgdGhhdAoJICBpcyBsYXRlbmN5ICsgb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbi4gSW4gcHJhY3RpY2UsIGp1c3Qgc2V0dGluZyBhIG5vbi16ZXJvCgkgIGxhdGVuY3kgd2l0aCB0aGUgbmV3IGF1ZGlvbWl4ZXIgZ2l2ZXMgeW91IHRoZSByaWdodCBiZWhhdmlvciBpbiA5OSUgb2YgdGhlCgkgIGNhc2VzLgoKMjAxNS0xMC0xMSAxMDowMDo0MyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoZGVtdXg6IGZpeCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGdzdF9udHBfY2xvY2tfbmV3CgkgIEZvdW5kIHdpdGggZ3N0LWluc3BlY3QtMS4wIC1iIGluIGdzdC11bmluc3RhbGxlZCBlbnYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODMKCjIwMTUtMTAtMTAgMTc6NTI6MjMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSAgY3Zzb2JlbDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3Zsc29iZWwgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywgYW5kCgkgIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTEwIDE3OjAwOjU1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJICBjdmxhcGxhY2U6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2bGFwbGFjZSB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLCBhbmQKCSAgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTY6NTc6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJICBjdmVxdWFsaXplaGlzdDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3ZlcXVhbGl6ZWhpc3QgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTEwIDE0OjEwOjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJICBjdmVyb2RlOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RjdmVyb2RlIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsIGFuZAoJICBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wOCAxNDo0NjoxMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yjogc2ltcGxpZnkgWkFQIGZpbGUgZm9ybWF0IHBhcnNlcgoJICBTaW1wbGlmeSBzdGF0ZSBoYW5kaW5nLCBkcm9wIHVubmVlZGVkIGxvY2FsIHZhcnMsIGV0Yy4KCjIwMTUtMTAtMDcgMTQ6MjI6NDYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgaGFzX25leHRfcGVyaW9kCgkgIGdzdF9tcGRfY2xpZW50X2hhc19uZXh0X3BlcmlvZCBub3cgY2FsbHMgZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uCgkgIHRvIHJlZnJlc2ggdGhlIHBlcmlvZCBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4NgoKMjAxNS0xMC0wNyAwODo0ODoxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEZpeCBidWlsZCBlcnJvcgoJICBCdWlsZCBlcnJvciBkdWUgdG8gd3JvbmcgYXJndW1lbnQgdHlwZSBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGFhZ2ctPnByaXYtPm9mZnNldCBhbmQgbmV4dF9vZmZzZXQgYXJlIG9mIHR5cGUgaW50NjQsIGJ1dCB1aW50NjQKCSAgZm9ybWF0dGVyIGlzIGJlaW5nIHVzZWQgaW4gbG9ncy4gQ2hhbmdpbmcgYWxsIHRob3NlIHRvIGludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwNjUKCjIwMTUtMTAtMDYgMjE6MjM6MTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBQcm94eSB0aGUgaWdub3JlLWVvcyB2aWRlb2FnZ3JlZ2F0b3IgcHJvcGVydHkgYXMgd2VsbAoJICBJZGVudGljYWwgdG8gaG93IHRoZSB6LW9yZGVyIHByb3BlcnR5IGlzIHByb3hpZWQKCjIwMTUtMTAtMDUgMTE6MjE6MDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGZpeCBzYW1wbGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIHNhbXBsZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgaXMgbm90IGJlaW5nIGZyZWVkIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA3MAoKMjAxNS0xMC0wMSAxMToxODo1MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBwbHVnIG1lbW9yeS1sZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDAxCgoyMDE1LTEwLTAyIDIyOjU3OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBQb3J0IHRvIG5ldyBHTGliIG11dGV4L2NvbmQgQVBJCgoyMDE1LTEwLTAyIDIyOjI0OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFVwZGF0ZSBHTGliIGRlcGVuZGVuY3kgdG8gMi40MC4wCgoyMDE1LTEwLTAyIDE5OjAyOjI2ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkgIGN2ZGlsYXRlOiBDaGFuZ2UgZ3N0Y3ZkaWxhdGUgdG8gQysrCgkgIENoYW5nZSB0aGUgZ3N0Y3ZkaWxhdGUuYyBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvcgoJICBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdiBhbmQgYmVjYXVzZSBPcGVuY3Ygbm90IHN1cHBvcnQgQwoJICBsYW5ndWFnZSBpbiBuZXcgQVBJIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxODo1MDo0NSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSAgc2tpbmRldGVjdDogQ2hhbmdlIGdzdHNraW5kZXRlY3QgdG8gQysrCgkgIENoYW5nZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IgY29uc2lzdGVuY3kKCSAgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YgYW5kIGJlY2F1c2UgT3BlbmN2IG5vdCBzdXBwb3J0IEMgbGFuZ3VhZ2UgaW4KCSAgbmV3IEFQSSAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMDgtMzEgMTc6NDM6MjYgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBvcGVuY3Z1dGlsczogYWRkIGV4dGVybiBDLCBmb3IgdGhlIG9wZW5jdiBlbGVtZW50cyB3b3JrLgoJICBBZGRpbmcgR19CRUdJTl9ERUNMUyBhbmQgR19FTkRfREVDTFMgdG8gZ3N0b3BlbmN2dXRpbHMuaAoJICB0byBhbGxvdyBDLXN0eWxlIGxpbmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTg6NDA6NDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJICByZXRpbmV4OiB1c2UgT3BlbkNWIG5hbWVzcGFjZQoJICBBcyBwYXJ0IG9mIHRoZSBzd2l0Y2ggdG8gQysrLCB1c2UgdGhlIG5ldyBPcGVuQ1YgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE4OjEwOjMyICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkgIGN2c21vb3RoOiBwb3J0IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yIGNvbnNpc3RlbmN5CgkgIHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2IGFuZCBiZWNhdXNlIE9wZW5jdiBub3Qgc3VwcG9ydCBDIGxhbmd1YWdlIGluCgkgIG5ldyBBUEkgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE3OjQ4OjQ3ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJICByZXRpbmV4OiBDaGFuZ2UgcmV0aW5leCB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RyZXRpbmV4LmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgcmV0aW5leCBlbGVtZW50IHRvIEMrKywKCSAgYmVjYXVzZSBuZXcgT3BlbmN2IEFQSSBsZWF2ZXMgb2Jzb2xldGUgZnVuY3Rpb25zIGxpa2UgY3ZTbW9vdGguCgkgIFRoaXMgZWxlbWVudCB1c2VzIHRoaXMgZnVuY3Rpb24uCgkgIFlvdSBjYW4gc2VlIGluIHRoaXMgbGluazoKCSAgaHR0cDovL2RvY3Mub3BlbmN2Lm9yZy9tb2R1bGVzL2ltZ3Byb2MvZG9jL2ZpbHRlcmluZy5odG1sPwoJICBoaWdobGlnaHQ9Y3ZzbW9vdGgjdm9pZCBjdlNtb290aChjb25zdCBDdkFyciogc3JjLCBDdkFyciogZHN0LAoJICBpbnQgc21vb3RodHlwZSwgaW50IHNpemUxLCBpbnQgc2l6ZTIsIGRvdWJsZSBzaWdtYTEsIGRvdWJsZSBzaWdtYTIpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTc6MTg6MzMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSBhbm90aGVyIHVudXNlZCB2YXJpYWJsZQoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNzowMjo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBDdlBvaW50IHZhbHVlcyBjaGFuZ2VkIGZyb20gdWludCB0byBpbnQKCSAgVGhlIHggYW5kIHkgdmFsdWVzIG9mIEN2UG9pbnQgY2hhbmdlZCBmcm9tIHVuc2lnbmVkIHRvIHNpZ25lZCBpbnRlZ2VycwoJICBpbiBPcGVuQ1YgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE2OjIyOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysKCSAgVGhlIGNhc2NhZGUgY2xhc3NpZmllciBjaGFuZ2VzIGl0cyBzdHJ1Y3R1cmUgb24gbmV3IHZlcnNpb24gb2YgT3BlbkNWIDIuNC4xMS4KCSAgSXQgaXMgbmVlZCB0byBtaWdyYXRlIHRvIEMrKyB0byB1dGlsaXplIHRoZSBuZXcgbG9hZCBtZXRob2Qgb2YgT3BlbkNWIHdoaWNoCgkgIGFsbG93cyB0byBsb2FkIHRoZSBvbGQgYW5kIG5ldyBjbGFzc2lmaWVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNjowMToyOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBoYW5kZGV0ZWN0OiBDaGFuZ2UgZ3N0aGFuZGRldGVjdCB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RoYW5kZGV0ZWN0LmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgaGFuZGRldGVjdCBwbHVnaW4gdG8gQysrLAoJICBpbiBvcmRlciB0byBsb2FkIG5ldyBhbmQgb2xkIGNsYXNzaWZpZXJzLCB0byBtYWtlIGhhbmRkZXRlY3Qgd29yawoJICB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIE9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNzowNToxMSArMDIwMCAgUG9sb2Nob25fc3RyZWV0IDxwb2xvY2hvbnN0cmVldEBnbXguZnI+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHM6IGZpeCBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgoyMDE1LTA4LTIwIDE2OjAzOjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLWpwZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBnc3RyZWFtZXI6IGJhZDogRml4IG1lbW9yeSBsZWFrcyB3aGVuIGNvbnRleHQgcGFyc2UgZmFpbHMKCSAgV2hlbiBnX29wdGlvbl9jb250ZXh0X3BhcnNlIGZhaWxzLCBjb250ZXh0IGFuZCBlcnJvciB2YXJpYWJsZXMgYXJlIG5vdCBnZXR0aW5nIGZyZWUnZAoJICB3aGljaCByZXN1bHRzIGluIG1lbW9yeSBsZWFrcy4gRnJlZSdpbmcgdGhlIHNhbWUuCgkgIEFuZCByZXBsYWNpbmcgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgd2hpY2ggY2hlY2tzIGlmIHRoZSBlcnJvciBiZWluZyBwYXNzZWQKCSAgaXMgbm90IE5VTEwgYW5kIHNldHMgdGhlIHZhcmlhYmxlIHRvIE5VTEwgb24gZnJlZSdpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTQKCjIwMTUtMDYtMjUgMTk6MTc6MzYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBvcHRpbWl6ZSBibGVuZGluZwoJICBTa2lwIGVtcHR5IHNvdXJjZSBwaXhlbHMgd2hlbiBibGVuZGluZyBhbiBpbWFnZS4gVGhlcmUgY2FuIGJlIGh1bmRyZWRzCgkgIG9mIGltYWdlcyB0byBibGVuZCBhdCBlYWNoIGZyYW1lLCBzbyB0aGlzIGJyaW5ncyBhIG5pY2UgcGVyZm9ybWFuY2UKCSAgYm9vc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjEKCjIwMTUtMDgtMTkgMTc6MTg6MzEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBVc2UgdGhlIHdpbmRvdyBzaXplIGZyb20gZG93bnN0cmVhbQoJICBUaGlzIGFsbG93cyByZW5kZXJpbmcgdGhlIG92ZXJsYXkgYXQgYSByZXNvbHV0aW9uIG1hdGNoaW5nIHRoZSB2aWRlbwoJICByZXNvbHV0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODI0CgoyMDE0LTA5LTA0IDE4OjE2OjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBuZWdvdGlhdGlvbgoJICBUaGlzIGlzIG1vc3RseSBhIGNvcHkvcGFzdGUgb2YgdGhlIG5lZ290aWF0aW9uIGZ1bmN0aW9uIGluCgkgIGJhc2V0ZXh0b3ZlcmxheSwgd2hpY2ggd2FzIGltcHJvdmVkIHJlY2VudGx5IHRvIGhhbmRsZSBtYW55IG1vcmUgY2FzZXMuCgkgIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBuZWdvdGlhdGUgYSB3aW5kb3cgc2l6ZSB3aXRoIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTUtMDgtMTkgMTM6NDQ6MzUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbmRlciB0aGUgc3VidGl0bGVzIHdpdGggdGhlIHByb3BlciBhc3BlY3QKCSAgVGhpcyBidW1wcyB0aGUgbGliYXNzIHZlcnNpb24gcmVxdWlyZW1lbnQgdG8gMC4xMC4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODI0CgoyMDE1LTA5LTA3IDE2OjIwOjQyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdDogYWRkZWQgdW5pdCB0ZXN0IGZvciBwcmVzZW50YXRpb24gdGltZSBvZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQwOQoKMjAxNS0wOS0zMCAxMDoyNzowNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR0bHM6IHJlcXVpcmUgb3BlbnNzbCA+PSAxLjAuMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODkyCgoyMDE1LTEwLTAyIDE0OjQ2OjU5ICswMjAwICBQYXVsIEFyemVsaWVyIDxwYXVsLmFyemVsaWVyQGZyZWUuZnI+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHM6IGZpeCBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5ODEKCjIwMTUtMDktMzAgMTE6MDA6MzkgKzA4MDAgIEpvaG4gQ2hhbmcgPHI5NzkyMjE1M0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJICBkYXNoZGVtdXg6IENvcnJlY3RseSBhc3NpZ24gZWFybGllc3QgcHRzIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyBpdCB3aXRoIGZpcnN0IG9mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODI0CgoyMDE1LTA5LTE1IDAzOjE0OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBvbiBvc3gvaW9zCgkgIEluY2x1ZGluZzoKCSAgLSBOZWNlc3NhcnkgY29uZmlndXJlIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBjb21waWxlIHRpbWUgcGxhdGZvcm0gY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IHJ1bnRpbWUgcXQgaU9TL09TWCBwbGF0Zm9ybSBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwMAoKMjAxNS0wOS0yOCAxMToyOToyOSArMDEwMCAgSm9obiBTbGFkZSA8am9obkBqdGVzLm5ldD4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IGluZGVudGF0aW9uIHdpdGggZ3N0LWluZGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzMyCgoyMDE1LTEwLTAyIDExOjMxOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkgIGF1ZGlvdmlzdWFsaXplcnM6IEZpeCBub2Rpc3RfSEVBREVSUwoKMjAxNS0xMC0wMiAxNDo1Njo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBSZW1vdmUgYmFzZWF1ZGlvdmlzdWFsaXplciB0ZXN0LgoJICBUaGUgYmFzZSBjbGFzcyBoYXMgbW92ZWQgaW50byBnc3QtcGx1Z2lucy1iYXNlCgoyMDE1LTA5LTMwIDE5OjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb252ZXJ0IEdTVF9FUlJPUl9PQkpFQ1QoKSBmb3Igc2VlayBldmVudHMgdG8gR1NUX0RFQlVHX09CSkVDVCgpCgoyMDE1LTA5LTMwIDE5OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGb3IgdGhlIHN0YXJ0IHRpbWUgc2VsZWN0aW9uLCBvbmx5IHNldCB0aGUgc2VnbWVudCBwb3NpdGlvbgoJICBzZWdtZW50LnRpbWUgYW5kIHNlZ21lbnQuc3RhcnQgY2FuIHN0YXkgdGhlIHNhbWUsIGFuZCB3ZXJlIGFsd2F5cyB0aGUgc2FtZQoJICBiZWZvcmUgYW55d2F5IGJlY2F1c2Ugb2YgYSBtaXN0YWtlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjIzCgoyMDE1LTA5LTMwIDE5OjAxOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogU2VsZWN0IHRoZSBpbml0aWFsIG9mZnNldCBiYXNlZCBvbiB0aGUgc3RhcnQgc2VnbWVudCBwb3NpdGlvbgoJICBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZyAwLiBPdGhlcndpc2Ugd2UgbWlnaHQgb3V0cHV0IGEgbG90IG9mIHNpbGVuY2UgaW4gdGhlCgkgIGJlZ2lubmluZyBpbnN0ZWFkIG9mIG91dHB1dHRpbmcgZnJvbSB0aGUgcmVsZXZhbnQgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjMKCjIwMTUtMTAtMDEgMTU6MzU6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IG1lcmdlIGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzZXMKCSAgVGhlc2UgcGx1Z2lucyBub3cgdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbiBwYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMDIgMDE6MDE6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IG1vdmUgZGVidWdnaW5nIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHRoZWlyIG93biBmaWxlCgoyMDE1LTEwLTAxIDIzOjIwOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogdXNlIGdsYmFzZWZpbHRlciB2ZnVuY3MKCSAgVXNlcyBsZXNzIGNvZGUgXG8vCgkgIEZpeGVzIGxlZ2FjeSBvcGVuZ2wgcmVuZGVyaW5nIFxvLwoKMjAxNS0wOS0xNiAxMjo1MDo0NiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFjdGl2YXRlIHN0cmVhbXMgYmVmb3JlIGNvbmZpZ3VyaW5nIGJpdHJhdGUKCSAgRG9pbmcgdGhlIGNvbnRyYXJ5IGhhcyBubyBlZmZlY3QgYW5kIHRoZSBjb25zZXF1ZW5jZSBpcyB0aGF0IHBsYXliYWNrCgkgIHdpbGwgc3RhcnQgd2l0aCB0aGUgbG93ZXN0IGJpdHJhdGUgZXZlbiBpZiB3ZSBjYW4gYWxyZWFkeSBoYW5kbGUKCSAgaGlnaGVyIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDgKCjIwMTUtMDYtMDggMTU6MzM6MjIgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBQbGF5UmVhZHkgV1JNIHBhcnNpbmcgc3VwcG9ydAoJICBJZiB0aGUgbWFuaWZlc3QgaGFzIGEgUHJvdGVjdGlvbkhlYWRlciBub2RlIHRoZW4gcGFyc2UgaXQgYW5kIGVtaXQKCSAgcHJvdGVjdGlvbiBldmVudHMgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgcHJvdGVjdGlvbiBTeXN0ZW1JRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxMwoKMjAxNS0wOS0wMyAxNToxMTowMCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsd2F5cyB1c2UgdGltZXNjYWxlIGZvciBnc3QgdGltZXN0YW1wIGNhbGN1bGF0aW9uCgkgIE5vdCBkb2luZyB0aGlzIGNhbiBsZWFkIHRoZSBkZW11eGVyIHRvIGF0dGVtcHQgZG93bmxvYWRpbmcgZnJhZ21lbnRzCgkgIGZvciBhbiBpbnZhbGlkIHN0YXJ0IHRpbWUuIFRoZSBzZXJ2ZXIgd291bGQgdGhlbiBzZW5kIGEgSFRUUAoJICBQcmVjb25kaXRpb24gZmFpbGVkIGVycm9yLCB0aGUgZGVtdXhlciB3b3VsZCB0cnkgc29tZSBtb3JlIHRpbWVzIHRvCgkgIGRvd25sb2FkIHRoZSBpbnZhbGlkIGZyYWdtZW50IGFuZCBldmVudHVhbGx5IGVycm9yIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUyMwoKMjAxNS0wOS0zMCAwODozNjoxNSArMDIwMCAgQW50b2luZSBKYWNvdXRvdCA8YWphY291dG90QGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IFBhc3MgR0xfQ0ZMQUdTIHRvIGctaXItc2Nhbm5lcgoJICBUaGlzIHVuYnJlYWtzIGJ1aWxkaW5nIHdoZW4gc29tZSBoZWFkZXJzIGFyZSB1bmRlciBhIG5vbi1zdGFuZGFyZCBwYXRoLgoJICBlLmcuIC91c3IvWDExUjYvaW5jbHVkZSBhcyBvbiBPcGVuQlNELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODUwCgoyMDE1LTA5LTMwIDAwOjQ0OjE2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBkaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NTIKCjIwMTUtMDktMzAgMTM6MTM6MTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiB0eXBlY2FzdCBiaXQtbWFzayB0byBndWludDY0IHRvIGZpeCBzZWdtZW50YXRpb24gZmF1bHQKCSAgV2hpbGUgY3JlYXRpbmcgY2FwcyBpbiBhdWRpb2ludGVybGVhdmUgdGVzdHMsIGJpdG1hc2sgaXMgYmVpbmcgc2V0IGFzIDB4OQoJICBUaGlzIGlzIHJlc3VsdGluZyBpbiBzZWdtZW50YXRpb24gZmF1bHQuIEZpeCB0aGUgc2FtZSBieSB0eXBlY2FzdGluZyB0byBndWludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NDAKCjIwMTUtMDktMzAgMTU6MTc6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXh1cCBzdHJzdHIgbGVuZ3RocyBzbyB3ZSBkb24ndCBvdmVycnVuCgoyMDE1LTA5LTMwIDEzOjMxOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVtb3ZlIHVzZWxlc3MgcmVsZWFzZV9idWZmZXIKCSAgSXQncyBhIGxlZnRvdmVyIGZyb20gd2hlbiB3ZSB3ZXJlbid0IG91dHB1dHRpbmcgR3N0QnVmZmVyJ3MgYW5kCgkgIHJldHVybmluZyByYXcgdGV4dHVyZSBpZCdzLgoKMjAxNS0wOS0zMCAwMTo1Mzo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2x1dGlsczogdXNlIGdzdF9lbGVtZW50X3NldF9jb250ZXh0IGZvciBzZXR0aW5nIGRpc3BsYXkvb3RoZXJfY29udGV4dAoJICAxLiBTbyB3ZSBnZXQgdHJhY2tpbmcgaW5zaWRlIEdzdEVsZW1lbnQgcHJvcGVybHkgd2hlbiBlLmcuIGFkZGluZyB0byBhIGJpbgoJICAyLiBSZW1vdmVzIHJlZHVuZGFudCBjb2RlLiAgTm93IG9ubHkgb25lIHBsYWNlIHdoZXJlCgkgIEdzdENvbnRleHQtPkdzdEdMRGlzcGxheS9Hc3RHTENvbnRleHQgdHJhbnNmb3JtYXRpb24gb2NjdXJzCgkgIDMuIEZpeGVzIGEgbWVtb3J5IGxlYWsgaW4gdGhlIHByb2Nlc3MKCSAgNC4gTWFrZSB0aGUgcmV0cmlldmFsIG9mIGRlYnVnIGNhdGVnb3JpZXMgdGhyZWFkIHNhZmUKCjIwMTUtMDktMjkgMjI6NTc6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBhZGQgc29tZSBHTCBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIHNob3cgdXAgaW4gR0wgdHJhY2VzCgoyMDE1LTA4LTMwIDE3OjExOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IG1vcmUgY2xlYW4tdXBzCgkgIFJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zOyBtb3ZlIEdzdE0zVTggc3RydWN0IGludG8gLmMgZmlsZSwKCSAgYW5kIGluZGVudCB0aGUgaGVhZGVyIHNvIGl0J3MgbmljZSB0byByZWFkLgoKMjAxNS0wOC0zMCAxNzowMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBmaXggc2lsbHkgcXVldWUgaXRlcmF0aW9uIGNvZGUKCjIwMTUtMDgtMzAgMTY6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW9yZSBtaW5vciBwbGF5bGlzdF9yZW5kZXIoKSBjbGVhbi11cHMKCSAgTW92ZSB0aGUgVEFHIGRlZmluZXMgZGlyZWN0bHkgaW50byB0aGUgY29kZSwgbm90IHN1cmUgd2hhdAoJICB0aGVpciBwdXJwb3NlcyBpcywgdGhlc2UgYXJlIHByaW50ZiBmb3JtYXQgc3RyaW5ncyBzbyBoYXZpbmcKCSAgdGhlbSBkaXJlY3RseSBhcyBsaXRlcmFscyBpbiB0aGUgY29kZSB3aGVyZSB0aGV5J3JlIHVzZWQKCSAgbWFrZXMgdGhlIGNvZGUgZWFzaWVyIHRvIGZvbGxvdy4KCjIwMTUtMDgtMzAgMTY6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW92ZSBlbnRyeSByZW5kZXJpbmcgaW50byByZW5kZXJfcGxheWxpc3QoKQoJICBNYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93IGFuZCBhdm9pZHMgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5CgkgIHN0cmluZ3MsIHNpbmNlIHdlIGNhbiBqdXN0IGFwcGVuZCB0byB0aGUgcGxheWxpc3QgR1N0cmluZyBkaXJlY3RseS4KCjIwMTUtMDgtMzAgMTY6MjQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IG0zdThwbGF5bGlzdDogc2ltcGxpZnkgZ3N0X20zdThfcGxheWxpc3RfcmVuZGVyKCkKCSAgUmVtb3ZlIHBsYXlsaXN0X3N0ciBHU3RyaW5nIHZhcmlhYmxlIGZyb20gR3N0TTNVOFBsYXlsaXN0IHN0cnVjdCwKCSAgc2luY2UgaXQncyBvbmx5IHVzZWQgdGVtcG9yYXJpbHkgaW4gcGxheWxpc3RfcmVuZGVyKCkuIE1pZ2h0IGp1c3QKCSAgYXMgd2VsbCBrZWVwIGl0IGxvY2FsIHRoZW4uCgoyMDE1LTA4LTMwIDE1OjU1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IHJlbW92ZSB1bnVzZWQgbWFjcm8gYW5kIGRpcmVjdCBnaW8gdXNhZ2UKCjIwMTUtMDktMzAgMDA6MzY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBkb3duc3RyZWFtIGtleSB1bml0IGV2ZW50cyBoYW5kbGluZyB3aXRoIGhsc3NpbmsKCSAgVGhlIGJ1ZmZlciB0aW1lc3RhbXBzIGluIHRoZSBjb2xsZWN0IGZ1bmN0aW9uIHdpbGwgYWxyZWFkeSBiZQoJICBydW5uaW5nIHRpbWUsIGRvbid0IHRyeSB0byBjb252ZXJ0IHRoZW0gYWdhaW4gdG8gcnVubmluZyB0aW1lLAoJICB0aGlzIHdvdWxkIHlpZWxkIENMT0NLX1RJTUVfTk9ORSBub3cgdGhhdCB0aGUgc2VnbWVudCBpcyBzaGlmdGVkCgkgIHRvIGFjY291bnQgZm9yIG5lZ2F0aXZlIGR0cy4KCSAgVGhpcyBmaXhlcyB4MjY0ZW5jICEgbXBlZ3RzbXV4ICEgaGxzc2luaywgd2hpY2ggd2FzIGJyb2tlbgoJICBiZWNhdXNlIG1wZWd0c211eCB3b3VsZCBzZW5kIGEgZG93bnN0cmVhbSBrZXkgdW5pdCBldmVudCB3aXRoCgkgIHJ1bm5pbmcgdGltZSBOT05FIGFuZCB0aGVuIGhsc3Npbmsgd291bGQgaW1tZWRpYXRlbHkgc2VuZAoJICBhbm90aGVyIG9uZSB1cHN0cmVhbSBhbmQgaXQgd291bGQganVzdCBiZSBhIGZsb29kIG9mIGZvcmNlCgkgIGtleWZyYW1lIGV2ZW50cyBpbiBib3RoIGRpcmVjdGlvbnMgYWZ0ZXIgdGhlIGZpcnN0IG9uZS4gVGhpcwoJICB3b3VsZCB0aGVuIGJyZWFrIGhsc3NpbmsgYmVjYXVzZSBpdCB1c2VzIG11bHRpZmlsZXNpbmsgaW4KCSAgbmV4dC1maWxlPWtleS11bml0LWV2ZW50IG1vZGUsIGFuZCBzdGFydGluZyBhIG5ldyBmaWxlIGFmdGVyCgkgIGV2ZXJ5IGZldyBrQiBkb2VzIG5vdCB3b3JrIHdlbGwgZm9yIEhMUy4KCjIwMTUtMDgtMjAgMTc6MzU6MDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSAgb3BlbmN2OiBlcm9kZTogcmVtb3ZlIG5vbi1pcCB0cmFuc2Zvcm0gZnVuYwoJICBUcmFuc2Zvcm0gaXMgc2V0IHRvIGJlIGRvbmUgaW4gcGxhY2UgaW4gZ3N0Y3ZkaWxhdGVlcm9kZS5jLCBzbyB0aGUgaW4tcGxhY2UKCSAgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIGFsd2F5cyB1c2VkIGFuZCB0aGUgb3RoZXIgaXMgcmVkdW5kYW50LiBSZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg4NQoKMjAxNS0wOC0yMCAxNzoyMzo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSAgb3BlbmN2OiBkaWxhdGU6IHJlbW92ZSBub24taXAgdHJhbnNmb3JtIGZ1bmMKCSAgVHJhbnNmb3JtIGlzIHNldCB0byBiZSBkb25lIGluIHBsYWNlIGluIGdzdGN2ZGlsYXRlZXJvZGUuYywgc28gdGhlIGluLXBsYWNlCgkgIHRyYW5zZm9ybSBmdW5jdGlvbiBpcyBhbHdheXMgdXNlZCBhbmQgdGhlIG90aGVyIGlzIHJlZHVuZGFudC4gUmVtb3ZpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4ODUKCjIwMTUtMDktMjkgMjA6MDA6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBnc3Rfb3BlbmN2X3ZpZGVvX2ZpbHRlcl9zZXRfaW5fcGxhY2UoKQoJICBVc2luZyB0aGUgZ3N0X2Jhc2VfdHJhbnNmb3JtIGZ1bmN0aW9uIGRpcmVjdGx5IHdvbid0IHdvcmsuIE5lZWQgdG8gdXNlCgkgIGdzdF9vcGVuY3ZfdmlkZW9fZmlsdGVyX3NldF9pbl9wbGFjZSgpLgoKMjAxNS0wOS0yOSAxNzowMDoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBjaGVjayBmb3IgaGFhciBjYXNjYWRlIGZpbGVzIHBhdGgKCSAgV2hlbiBydW5uaW5nIEdTdHJlYW1lciBmcm9tIHVuaW5zdGFsbGVkIHNvdXJjZXMsIHRoZSBsb2NhdGlvbiBvZiB0aGUgaGFhcgoJICBjYXNjYWRlIGZpbGVzIHdpbGwgYmUgbG9jYWwuIENoZWNrIGlmIHJ1bm5pbmcgaW4gdW5pbnN0YWxsZWQgYW5kIHNldCB0aGUKCSAgZmlsZSBwYXRocyBhY2NvcmRpbmdseS4KCjIwMTUtMDktMjYgMTc6MDI6MDkgKzA4MDAgIEpvaG4gQ2hhbmcgPHI5NzkyMjE1M0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTY1NgoKMjAxNS0wOS0yOSAxMzozMToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBnbGliIHZlcnNpb24KCSAgUmVtb3ZlIHdlaXJkIHVzZSBvZiBwcml2YXRlIGd0eXBlIGRlZmluZXMgYW5kIGZpeCBjb21waWxhdGlvbgoJICB3aXRoIG9sZGVyIGdsaWIgdmVyc2lvbnMgc3VjaCBhcyAyLjM2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU0CgoyMDE1LTA5LTI5IDEzOjUyOjQ3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBjdmxhcGxhY2U6IGFkZCBzY2FsZSBhbmQgc2hpZnQgcHJvcGVydGllcwoJICBBZGQgc2NhbGUgYW5kIHNoaWZ0IHByb3BlcnRpZXMgc28gdGhlc2UgY2FuIGJlIHVzZWQgdG8gdHdlYWsgdGhlIHZhbHVlcwoJICB1c2VkIGluIGN2Q29udmVydFNjYWxlKCkgaW5zdGVhZCBvZiB1c2luZyBvbmx5IGRlZmF1bHRzLgoKMjAxNS0wOC0yOCAxNjoyNDoyNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkgIHF0c2luazogZXhwbGljaXRlbHkgZmFsbHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBJbiBjYXNlIHJldCBpcyBGYWxzZSwgZmFsbHRocm91Z2ggdG8gZGVmYXVsdCBjYXNlLgoJICBDSUQgIzEzMjA3MDUKCjIwMTUtMDgtMjggMTY6MTM6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgYnJlYWsgdG8gc3dpdGNoIGNhc2UKCSAgRXZlbiB0aG91Z2ggYWxsIGNhc2VzIGluc2lkZSBWQzFfU1RSRUFNX0ZPUk1BVF9BU0YgYXJlIGdvdG8gb3IKCSAgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSwgYWRkIGEgYnJlYWsgYXQgdGhlIGVuZCB0byBhcHBlYXNlIENvdmVyaXR5LgoJICBDSUQgIzEzMjA3MDYKCjIwMTUtMDktMjggMjA6NTY6NTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggbGVhayBvZiB0YWcgc2FtcGxlcyBpbiB0aGUgdGFnIGxpc3QKCSAgTW92ZSBoYW5kbGluZyBvZiBhIEdzdFNhbXBsZSBpbiBhIHNlcGFyYXRlIGZ1bmN0aW9uLCBhbmQgdW5yZWYgdGhlCgkgIHNhbXBsZSBhZnRlciBjYWxsaW5nIGl0LiBsaWJhc3MgY29waWVzIHRoZSBmb250IGRhdGEgc28gd2UgZG9uJ3QgbmVlZCB0bwoJICBrZWVwIGl0IGFyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc1OQoKMjAxNS0wOS0yOCAyMDozMDoxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBnYXAgZXZlbnQgbGVhayBhbmQgaW52YWxpZCByZXR1cm4gdmFsdWUKCSAgV2UgZG9uJ3Qgd2FudCB0aGUgZ2FwIGV2ZW50IHRvIGJlIGZvcndhcmRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU5CgoyMDE1LTA5LTI5IDE2OjE3OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiBjYWxsIHRoZSBwYXJlbnQgY2xhc3Mgb24gR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCjIwMTUtMDktMTcgMTY6NTk6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IHVzZSB0aGUgZGVmYXVsdCBHTCBjb250ZXh0IGRlYnVnIGNhdGVnb3J5CgoyMDE1LTA3LTMwIDE2OjQyOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL252ZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZlbmMvUkVBRE1FOgoJKiBzeXMvbnZlbmMvVE9ETzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmg6CgkgIEFkZCBOdmlkaWEgYmFzZWQgaGFyZHdhcmUgZW5jb2RlciBlbGVtZW50CgkgIEN1cnJlbnRseSBvbmx5IGgyNjQgaXMgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MDUKCjIwMTUtMDktMjkgMDA6MjU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBmaXggYXNzZXJ0aW9uIHdoZW4gdGhlIGVsZW1lbnQgaGFzIG5vIHBlZXIKCSAgV2hlbiBwcm94eWluZyBrZXlib2FyZC9uYXZpZ2F0aW9uL21vdXNlIGV2ZW50cywgb25seSB1bnJlZiBhIHN1Y2Nlc3NmdWxseQoJICByZXRyZWl2ZWQgcGVlciBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzgKCjIwMTUtMDktMjggMTU6MzA6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5jOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5oOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIFJldmVydCAibWlkaTogYWRkIGFuIEFMU0EgTUlESSBzZXF1ZW5jZXIgc291cmNlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNkN2Y0ZTUyNDcxOGEyZjc1NDY3ODUyMjM1ZTRlMTNkNjRkMmFjODIuCgoyMDE1LTA5LTI4IDIyOjMxOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogc2V0IHRoZSBjb250ZXh0IG9uIHRoZSBlbGVtZW50IG9uIGEgY29udGV4dCBxdWVyeQoJICBPdGhlcndpc2UgaXQncyBwb3NzaWJsZSB0byBsb3NlIHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGlmIHRoZQoJICBjb250ZXh0IGlzIG9ubHkgcHJvcGFnYXRlZCB0aHJvdWdoIHF1ZXJpZXMuCgoyMDE1LTA5LTI4IDIyOjIwOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgZm9yIEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NzkKCjIwMTUtMDgtMDcgMTU6Mjg6NTQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuYzoKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuaDoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBhZGQgYW4gQUxTQSBNSURJIHNlcXVlbmNlciBzb3VyY2UKCSAgVGhlIGFsc2FtaWRpc3JjIGVsZW1lbnQgYWxsb3dzIHRvIGdldCBpbnB1dCBldmVudCBmcm9tIEFMU0EgTUlESQoJICBzZXF1ZW5jZXIgZGV2aWNlcywgYW5kIHBvc3NpYmx5IGNvbnZlcnQgdGhlbSB0byBzb3VuZCB1c2luZyBzb21lCgkgIGRvd25zdHJlYW0gZWxlbWVudCBsaWtlIGZsdWlkZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njg3CgoyMDE1LTA4LTI4IDE2OjM1OjM5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiByZW1vdmUgb3ZlcndyaXR0ZW4gdmFsdWUKCSAgVmFsdWUgaW4gdGV4IGlzIG92ZXJ3cml0dGVuIGJlZm9yZSBiZWluZyB1c2VkLiBSZW1vdmluZyBpdC4KCSAgQ0lEIDEzMjA3MTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI1MwoKMjAxNS0wOS0wMiAyMzo0NTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZy9ydW5uaW5nIG9uIGFuZHJvaWQKCSAgSW5jbHVkaW5nOgoJICAtIE5lY2Vzc2FyeSBjb25maWd1cmUgY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IGNvbXBpbGUgdGltZSBwbGF0Zm9ybSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgcnVudGltZSBxdCBhbmRyb2lkIHBsYXRmb3JtIGRldGVjdGlvbgoJICAtIEVzY2FwaW5nIEdMc3luYyBkZWZpbml0aW9uIHdpdGggUXQncyBHTEVTMiBpbXBsZW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTAyIDIzOjQwOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBkb24ndCB1c2UgQ1BQRkxBR1MgZm9yIHRvb2xzIHRoYXQgY2Fubm90IHVzZSB0aGVtCgkgIEZvciBleGFtcGxlIG1vYyB3aWxsIGJhaWwgb3V0IHdoZW4gZ2l2ZW4gYXJndW1lbnRzIGl0IGRvZXMgbm90CgkgIGtub3cgYWJvdXQuICBUaGUgbW9jIHNwZWNpZmljIE1PQ19DUFBGTEFHUyBjYW4gc3RpbGwgYmUgdXNlZAoJICB0byBwYXNzIGZsYWdzIHRvIG1vYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0wMiAyMzozOTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogcmVuYW1lIGxpYnJhcnkgdG8gaW5jbHVkZSBnc3QgcHJlZml4CgkgIGxpYnF0c2luayAtPiBsaWJnc3RxdHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOC0zMSAxOToyMTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogc3ByaW5rbGUgc29tZSBkZWJ1ZyBtYXJrZXJzIHRvIGVhc2UgZGVidWdnaW5nCgoyMDE1LTA4LTMxIDE5OjE4OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbC91dGlsczogYWRkIGEgZnVuY3Rpb24gdG8gaW5zZXJ0IGEgZGVidWcgbWFya2VyCgkgIFRoZXNlIG1hcmtlcnMgYXJlIHZpc2libGUgaW4gdG9vbHMgdGhhdCByZWNvcmQgdGhlIEdMIGZ1bmN0aW9uIGNhbGxzCgkgIHN1Y2ggYXMgYXBpdHJhY2UsIGV0IGFsLgoJICBNYWtlcyBpdCBlYXNpZXIgdG8gbWF0Y2ggdXAgR0wgZHJhdyBjb21tYW5kcyB3aXRoIHNwZWNpZmljIGVsZW1lbnRzLgoKMjAxNS0wOC0zMSAxOToxNzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbDogYWRkIHNvbWUgZGVidWdnaW5nIHByb3RvdHlwZXMKCjIwMTUtMDktMjYgMTk6MTk6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiByZW1vdmUgdW51c2VkIGRyYXdfdW5sb2NrZWQgZnVuY3Rpb24KCSAgVGhlIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgZHJhdyBhbnl3YXkgYW5kIGlzIGxlZnRvdmVyIGZyb20KCSAgWDExJ3Mgc3BlY2lmaWMgdGhyZWFkaW5nIHJlcXVpcmVtZW50cyB0aGF0IG5vIGxvbmdlciBhcHBseS4KCjIwMTUtMDktMjcgMTM6MDc6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogU2VuZCBnYXAgdXBkYXRlcyB0byB0aGUgc2VnbWVudCBzdG9wIGR1cmluZyBzdGlsbHMKCSAgSWdub3JlIHRoZSBub3JtYWwgZ2FwIHRocmVzaG9sZCBmb3IgbGFnZ3kgc3RyZWFtcyBhbmQKCSAgaW1tZWRpYXRlbHkgY2F0Y2ggYWxsIHN0cmVhbXMgdXAgdG8gdGhlIGVuZCBvZiB0aGUgc2VnbWVudAoJICB3aGVuIHByb2Nlc3NpbmcgZ2FwIHVwZGF0ZXMgZm9yIGEgc2VnbWVudCBkdXJpbmcgYQoJICBzdGlsbCBmcmFtZSBzZXF1ZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTY4MAoKMjAxNS0wOS0yNyAwMDoyNDoyNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIFJldmVydCAiZHZkc3B1OiByZW5kZXIgdG8gQVlVViBvdmVybGF5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDUwMTZhNzMxOTA1OTU1MDVkYzM4YjU0ZjhmOWEwOGM0ZjE4MGYzYTYuCgoyMDE1LTA5LTI3IDAwOjI0OjIzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBSZXZlcnQgImR2ZHNwdTogcmVuZGVyIHRvIEFSR0Igb3ZlcmxheSBpbnN0ZWFkIG9mIEFZVVYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZGQzZTlkZWIyYWE2OTVhMzkxYjU4ZjI0ZDg2YTNjMDBiYmMxMjU4YS4KCjIwMTUtMDktMjcgMDA6MjQ6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBSZXZlcnQgImR2ZHNwdTogaGFuZGxlIGZyYW1lIHNpemUgZXZlbnQgZnJvbSB1cHN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NmFhYWE2YzMwOWI4YThmNmUyMTgxNDJmZDU5NDRmNWQyNGYwOTVjLgoKMjAxNS0wOS0yNyAwMDoyNDoxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBSZXZlcnQgImR2ZHNwdTogY2FjaGUgb3ZlcmxheSBjb21wb3NpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhYWJiOGExYTY4MzcyZjc1MGM2M2I5YjY1ODZlMThlODI5NzQ1Nzc0LgoKMjAxNS0wOS0yNyAwMDoyNDoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBSZXZlcnQgImR2ZHNwdTogaW1wcm92ZSBuZWdvdGlhdGlvbiBvZiBvdmVybGF5IGNvbXBvc2l0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE4OTllMmEwOTk5MzJhN2E3MzRlNzc4NGMyMGI2MjQ1MTcyMzdlMTguCgoyMDE1LTA5LTE4IDE5OjA3OjQ3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IGZpeCBwZ3MgcGFsZXR0ZSBjb2xvcnMKCSAgVSBhbmQgViB3ZXJlIGludmVydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyMzkKCjIwMTQtMDgtMjcgMTY6NDc6MjIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBpbXByb3ZlIG5lZ290aWF0aW9uIG9mIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgU3VwcG9ydCBuZWdvdGlhdGluZyBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbiBkb3duc3RyZWFtCgkgIHdoaWxlIG5vdCBwcm92aWRpbmcgaXQgdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDktMDIgMTc6NDg6NTAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBjYWNoZSBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIFRoaXMgYXZvaWRzIHJlbmRlcmluZyB0aGUgb3ZlcmxheSBidWZmZXIgZm9yIGVhY2ggdmlkZW8gZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDgtMzAgMjI6MDg6MDEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IGhhbmRsZSBmcmFtZSBzaXplIGV2ZW50IGZyb20gdXBzdHJlYW0KCSAgQW4gSURYIGZpbGUgb3IgY29kZWNfZGF0YSBub3JtYWxseSBjb250YWlucyB0aGUgb3JpZ2luYWwgZnJhbWUgc2l6ZSBvZgoJICB0aGUgdmlkZW8uIEFsbG93IHVwc3RyZWFtIHRvIHByb3ZpZGUgdGhpcyBpbmZvcm1hdGlvbiBieSBzZW5kaW5nIGEKCSAgY3VzdG9tIGV2ZW50LCB3aGljaCB3aWxsIGFsbG93IHNjYWxpbmcgdGhlIG92ZXJsYXkgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTEyLTA1IDIxOjU5OjE4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYWxsb3cgc3VmZml4IGluIGR2ZCBldmVudCBuYW1lIHRvIGFsbG93IG11bHRpcGxlIHN0aWNreSBkdmQgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDQtMDcgMTQ6Mzg6MDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogcmVuZGVyIHRvIEFSR0Igb3ZlcmxheSBpbnN0ZWFkIG9mIEFZVVYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wMS0yMyAxNzo1OTowMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogcmVuZGVyIHRvIEFZVVYgb3ZlcmxheQoJICBJbnN0ZWFkIG9mIG9ubHkgc3VwcG9ydGluZyB3cml0aW5nIFNQVSBkYXRhIGRpcmVjdGx5IHRvIFlVViBmcmFtZXMsCgkgIHJlbmRlciB0aGUgU1BVIGRhdGEgdG8gYW4gaW50ZXJtZWRpYXRlIEFZVVYgb3ZlcmxheSBidWZmZXIuIFRoZSBvdmVybGF5CgkgIGRhdGEgaXMgdGhlbiBhdHRhY2hlZCB0byB0aGUgdmlkZW8gZnJhbWUgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5CgkgIGNvbXBvc2l0aW9uLCBvdGhlcndpc2UgdGhlIEFZVVYgb3ZlcmxheSBpcyBibGVuZGVkIHRvIHRoZSB2aWRlbyBmcmFtZS4KCSAgRm9yIHRoZSBQR1MgZm9ybWF0LCB0aGUgb3ZlcmxheSBidWZmZXIgc2l6ZSBpcyBzZXQgdG8gdGhlIHNpemUgb2YgdGhlCgkgIENvbXBvc2l0aW9uIFdpbmRvdywgYW5kIGl0cyBwb3NpdGlvbiBpbiB0aGUgb3ZlcmxheSBjb21wb3NpdGlvbiBpcyBzZXQKCSAgdG8gdGhlIHdpbmRvdyBwb3NpdGlvbi4gVGhlIG9iamVjdHMgdG8gcmVuZGVyIGFyZSBub3cgY3JvcHBlZCB3aGVuIHRoZQoJICBjcm9wcGluZyBmbGFnIGlzIHNldC4KCSAgRm9yIHRoZSBWb2JzdWIgZm9ybWF0LCB0aGUgb3ZlcmxheSBidWZmZXIgc2l6ZSBpcyBzZXQgdG8gdGhlIHNpemUgb2YgdGhlCgkgIERpc3BsYXkgQXJlYS4KCSAgT25jZSByZW5kZXJlZCwgdGhlIG92ZXJsYXkgY29tcG9zaXRpb24gcmVjdGFuZ2xlIGlzIG5vdyBtb3ZlZCBhbmQgc2NhbGVkCgkgIHRvIGZpdCB0aGUgdmlkZW8gb3V0cHV0IHNpemUsIHRvIGF2b2lkIGNsaXBwaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTA5LTAyIDE3OjA3OjQ5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogcGFzcyBkdmRzcHUgYXJndW1lbnQgdG8gc2V0X2NhcHMgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDktMTggMTk6MTU6NDUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogc2tpcCB1bm5lZWRlZCByZWFkaW5nIG9mIFJMRSBkYXRhCgkgIFRoZSBSTEUgZGF0YSB3YXMgYmVpbmcgcmVhZCBmb3IgZHVtcGluZyB0aGUgU1BVIGltYWdlIGV2ZW4gd2hlbiB0aGUKCSAgRFVNUF9GVUxMX0lNQUdFIG1hY3JvIHdhcyBub3Qgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDE1LTA4LTI5IDE5OjE2OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNoZWNrOiBBZGQgdGVzdCBmb3IgdmlkZW9hZ2dyZWdhdG9yIHNpbmtwYWRzIGJlaW5nIHNvcnRlZCBieSB6b3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI4NQoKMjAxNS0wOS0yNiAxMDoyMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb21peGVyOiBmaXggZGVhZGxvY2sgd2hlbiBHX0RJU0FCTEVfQVNTRVJUIGlzIG5vdCBkZWZpbmVkCgkgIFRoaXMgbWFrZXMgdGhlIGF1ZGlvbWl4ZXIgdW5pdCB0ZXN0IHRpbWUgb3V0IGluIG1hc3Rlci4KCSAgQnJva2Ugd2l0aCA1ODdlN2M0CgoyMDE1LTA5LTI2IDEwOjQ5OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaDogRml4IHVuaXQgdGVzdCBhZnRlciBpbnRlcm5hbCBBUEkgY2hhbmdlCgoyMDE1LTA4LTI1IDE3OjM5OjMwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogRml4IHR5cG8gaW4gZ290byB2YXJpYWJsZSBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNTcKCjIwMTUtMDgtMTggMTQ6MTY6MTEgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNyZWF0ZSBzcmMgcGFkcyBmb3Igc3VidGl0bGUgc3RyZWFtcy4KCSAgQ3JlYXRlIHNyYyBwYWRzIGZvciBSZXByZXNlbnRhdGlvbnMgdGhhdCBjb250YWluIHRpbWVkLXRleHQgc3VidGl0bGVzLAoJICBib3RoIHdoZW4gdGhlIHN1YnRpdGxlcyBhcmUgZW5jYXBzdWxhdGVkIGluIElTTyBCTUZGIChpLmUuLCB0aGUKCSAgUmVwcmVzZW50YXRpb24gaGFzIG1pbWVUeXBlICJhcHBsaWNhdGlvbi9tcDQiKSBhbmQgd2hlbiB0aGV5IGFyZQoJICB1bmVuY2Fwc3VsYXRlZCAoaS5lLiwgdGhlIFJlcHJlc2VudGF0aW9uIGhhcyBtaW1lVHlwZQoJICAiYXBwbGljYXRpb24vdHRtbCt4bWwiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzc3NAoKMjAxNS0wOS0yNiAwMDoxNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBnc3Rfc2VnbWVudF90b19wb3NpdGlvbigpCgoyMDE1LTA4LTMxIDE2OjEyOjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBmb3J3YXJkIFFPUyBldmVudHMgdG8gc2lua3BhZHMgdGhhdCBoYWQgbm8gYnVmZmVyIHlldAoJICBPdGhlcndpc2UgdGhleSB3aWxsIHJlY2VpdmUgYSBRT1MgZXZlbnQgdGhhdCBoYXMgZWFybGllc3RfdGltZT0wIChiZWNhdXNlIHdlCgkgIGNhbid0IGhhdmUgbmVnYXRpdmUgdGltZXN0YW1wcyksIGFuZCBjb25zaWRlciB0aGVpciBidWZmZXIgYXMgdG9vIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDM1NgoKMjAxNS0wOS0yMiAxNjoxNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGxhenktbG9hZGluZyBvZiBleHRlcm5hbCBwZXJpb2RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMjEgMjE6MDU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBMb2FkIE9uTG9hZCBleHRlcm5hbCByZXNvdXJjZXMgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBvbiBkZW1hbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0wOCAxMzozNjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEFkZCBzdXBwb3J0IGZvciBsb2FkaW5nIGV4dGVybmFsIFNlZ21lbnRMaXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTA4IDEzOjA0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgZXh0ZXJuYWwgQWRhcHRhdGlvblNldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOC0yMSAxNjo0MDoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEltcGxlbWVudCBsb2FkaW5nIG9mIGV4dGVybmFsIFBlcmlvZCBub2RlcwoJICBUaGUgc2FtZSBoYXMgdG8gYmUgZG9uZSBmb3IgQWRhcHRhdGlvblNldCBhbmQgU2VnbWVudExpc3Qgbm9kZXMgc3RpbGwuCgkgIEFsc28gdGhpcyBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IHRoZSBzZW1hbnRpY3M6IGJ5IGRlZmF1bHQgUGVyaW9kIChhbmQKCSAgb3RoZXIgbm9kZXMpIHNob3VsZCBvbmx5IGJlIGxvYWRlZCB3aGVuIG5lZWRlZCwgbm90IGluIHRoZSB2ZXJ5IGJlZ2lubmluZy4gV2UKCSAgbmVlZCB0byBpbXBsZW1lbnQgbGF6eSBsb2FkaW5nIGZvciB0aGVtLCB3aGljaCBtZWFucyBhZGp1c3RpbmcKCSAgZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDgtMjEgMTI6MDY6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbXBkcGFyc2VyOiBTdG9yZSBhbiBVUkkgZG93bmxvYWRlciBpbiB0aGUgcGFyc2VyIGZvciBkb3dubG9hZGluZyBhZGRpdGlvbmFsIE1QRCByZXNvdXJjZXMgaWYgbmVlZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDctMTAgMTg6NTY6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogUGFyc2UgeGxpbmsgYXR0cmlidXRlcyBmcm9tIFBlcmlvZCwgQWRhcHRhdGlvblNldCBhbmQgU2VnbWVudExpc3QKCSAgV2Ugc3RpbGwgaGF2ZSB0byBkbyBzb21ldGhpbmcgdXNlZnVsIHdpdGggdGhlbSwgbGlrZSBhY3R1YWxseSBsb2FkaW5nIHRoZQoJICBjb250ZW50IGJlaGluZCB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTE2IDIzOjM4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgaGFuZGxlIHJlbGF0aXZlIGFuZCBub24tSFRUUCBVUklzIGZvciB0aGUgaGVhZGVycy9pbmRpY2VzCgkgIGdzdF91cmlfam9pbl9zdHJpbmdzKCkgd2lsbCByZXR1cm4gdGhlIHNlY29uZCBwYXJhbWV0ZXIgaWYgaXQgaXMgYW4gYWJzb2x1dGUKCSAgVVJJLiBObyBuZWVkIHRvIGRvIGEgKHdyb25nKSBjaGVjayBpZiB0aGUgVVJJIGlzIGFic29sdXRlIG9yIG5vdCBiZWZvcmVoYW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTM0CgoyMDE1LTA5LTE2IDIzOjEyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSWYgbm8gSW5pdGlhbGl6YXRpb24gaXMgcHJlc2VudCBpbiB0aGUgU2VnbWVudEJhc2UsIGFzc3VtZSBpdCBpcyBiZWZvcmUgdGhlIGluZGV4UmFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEzMgoKMjAxNS0wOS0yNSAyMzo1MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS42LjAgPT09CgoyMDE1LTA5LTI1IDIzOjMzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS42LjAKCjIwMTUtMDktMjUgMjM6MDE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0yNSAxMDozMjowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHVzZSBHTF9FTEVNRU5UX0FSUkFZX0JVRkZFUiBmb3IgdmJvIGluZGljZXMKCSAgRml4ZXMgdGhpcyBlcnJvciB3aXRoIGNocm9taXVtIGdwdSBwcm9jZXNzOgoJICBHTF9JTlZBTElEX09QRVJBVElPTiwgZ2xCaW5kQnVmZmVyOiBidWZmZXIgYm91bmQgdG8gbW9yZSB0aGFuIDEgdGFyZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTgKCjIwMTUtMDktMTcgMTQ6MTc6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggdGV4dHVyZSBsZWFrIGluIF9nbF9tZW1fY29weQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDU2CgoyMDE1LTA5LTI0IDE4OjUxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IE9ubHkgcnVuIGZyb20gdGhlIG1haW4gdGhyZWFkIGluIHN0b3AoKSBpZiB3ZSBjcmVhdGVkIHRoZSB3aW5kb3cKCSAgV2UncmUgbm90IGRvaW5nIGFueXRoaW5nIGF0IGFsbCBmcm9tIHRoZSBtYWluIHRocmVhZCBpbiBvdGhlciBjYXNlcy4KCjIwMTUtMDktMjQgMTU6NTI6NDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IFdoZW4gc2V0dGluZyBmb3JtYXQgY2hlY2sgaWYgcGVuZGluZyBmb3JtYXQgY2hhbmdlZAoJICBJbiBjYXNlIHRoZSBmb3JtYXQgY2hhbmdlZCBmYXN0IGFuZCB0aGUgcGVuZGluZyBmb3JtYXQgaXMgZGlmZmVyZW50CgkgIHRoYW4gdGhlIGN1cnJlbnRseSBzZXQgYnV0IHRoZSBjdXJyZW50bHkgc2V0IGlzIGVxdWFsIHRvIHRoZSBwZW5kaW5nCgkgIG9uZSB3ZSBjb3VsZCBlbmQgdXAgaGF2aW5nIG1pc21hdGNoIGJldHdlZW4gdGhlIGZpbmFsbHkgc2V0IGZvcm1hdAoJICBhbmQgdGhlIGRhdGEgc3RyZWFtIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTU0MgoKMjAxNS0wOS0yNCAxNTo1MToyOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IERvIG5vdCBmb3JnZXQgdG8gcmVsZWFzZSBPQkpFQ1RfTE9DSyBvbiBlcnJvciBwYXRoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1NDIKCjIwMTUtMDktMjQgMTE6Mzc6MDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGt1dGlscy5jOgoJKiBleHQvZ3RrL2dzdGd0a3V0aWxzLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBGYWN0b3Igb3V0IGEgZnVuY3Rpb24gdG8gcnVuIGEgZnVuY3Rpb24gb24gbWFpbiB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI1MQoKMjAxNS0wOS0yNCAxMDo1MTozMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IE1hcnNoYWxsIHN0YXRlIGNoYW5nZXMgaW4gdGhlIG1haW4gdGhyZWFkCgkgIEd0ayBpcyBub3QgTVQgc2FmZSB0aHVzIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCB3aGVuIHdvcmtpbmcgd2l0aCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI1MQoKMjAxNS0wOS0yMyAxNTo1NjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgYSBjbG9jayBlcG9jaCB0aGF0IGlzIHVzZWQgYXMgb2Zmc2V0IHdoZW5ldmVyIHJlc3RhcnRpbmcgdGhlIGNsb2NrCgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byByZXR1cm4gdGltZXMgc3RhcnRpbmcgYXQgMCBhZ2FpbiBhZnRlciBzaHV0dGluZyBkb3duCgkgIGFuIGVsZW1lbnQgZm9yIGEgc3BlY2lmaWMgaW5wdXQvb3V0cHV0IGFuZCB0aGVuIHVzaW5nIGl0IGFnYWluIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDI2CgoyMDE1LTA5LTIyIDE5OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBEaXNhYmxlIGlucHV0cy9vdXRwdXRzIGluIFBBVVNFRC0+UkVBRFkgdG8gYWxsb3cgZ29pbmcgdG8gUEFVU0VEIGFnYWluIGZyb20gdGhlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQyNgoKMjAxNS0wOS0yMyAxMTo0Mjo1MSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiBEbyBub3Qgc2hvdyB3aW5kb3cgdW50aWwgd2UgcmVhY2ggdGhlIFBBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDU5CgoyMDE1LTA5LTIyIDE0OjQzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogT25seSBjaGVjayBzdHJlYW0tPnNlZ21lbnRzIGZvciBhIHJlcGVhdGVkIGxhc3Qgc2VnbWVudCBpZiB3ZSBoYXZlIGEgc3RhdGljIGxpc3Qgb2Ygc2VnbWVudHMKCSAgT3RoZXJ3aXNlIHdlJ2xsIGNyYXNoLCB0cnlpbmcgdG8gZGVyZWZlbmNlIE5VTEwuIEFuZCBpZiB3ZSBoYXZlIG5vIHN0YXRpYyBsaXN0CgkgIG9mIHNlZ21lbnRzLCB3ZSBjYW4ndCBoYXZlIHJlcGVhdGVkIHNlZ21lbnRzIGFueXdheS4KCSAgUmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNmZTI4NzFhNWUzYzViMWRiMjA0NzA5Mjc2NDJiNzc2ZTA1NWE4N2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQxMQoKMjAxNS0wOS0yMSAxOTowMjowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IERyb3AgaW5jb3JyZWN0IHN0cmVhbS1mb3JtYXQ9ImF2YyIgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNS0wOS0yMSAxMDo0NzoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiBEbyBub3QgcmUgZGVzdHJveSB0aGUgR3RrV2luZG93IGlmIGRlc3Ryb3llZCBieSB0aGUgdXNlcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBnZXQgYW4gQVNTRVJULgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjQ5CgoyMDE1LTA5LTIxIDA4OjA0OjQwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBmaXggcmVuZGVyaW5nIHdpdGggcmVjZW50IHJlc2l6ZSBzdGF0ZSB0cmFja2luZwoJICA1NTdjYTZmZGE1ZjgzMWJlNGFiYTU4MTliZjdiMzBiMjk2ZTU3NWNkIGRpZG4ndCBjaGFuZ2UgdG8gdGhlCgkgIG5lY2Vzc2FyeSBnc3RfZ2xfd2luZG93X3Jlc2l6ZSgpIGNhbGwgZm9yIHRoZSBkaXNwbWFueCBiYWNrZW5kLgoKMjAxNS0wOS0xOSAxMTo0NjozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogSGlkZSBhbmQgY2xlYW4gdGhlIEd0a1dpbmRvdyB3ZSBtaWdodCBjcmVhdGUKCSAgV2hlbiBzdG9wcGluZyB0aGUgc2luayB3ZSBzaG91bGQgYWx3YXlzIGhpZGUgdGhlIHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI0OQoKPT09IHJlbGVhc2UgMS41LjkxID09PQoKMjAxNS0wOS0xOCAxOTo1MTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkxCgoyMDE1LTA5LTE4IDE5OjMxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMTggMTg6MDA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBPbmx5IHNraXAgdGhlIHJlbWFpbmluZyBwYXJ0IG9mIGEgR0FQIGJ1ZmZlcgoJICBXZSBtaWdodCd2ZSBxdWV1ZWQgdXAgYSBHQVAgYnVmZmVyIHRoYXQgaXMgb25seSBwYXJ0aWFsbHkgaW5zaWRlIHRoZSBjdXJyZW50CgkgIG91dHB1dCBidWZmZXIgKGkuZS4gd2UgcmVjZWl2ZWQgaXQgdG9vIGxhdGUhKS4gSW4gdGhhdCBjYXNlIHdlIHNob3VsZCBvbmx5CgkgIHNraXAgdGhlIHBhcnQgb2YgdGhlIEdBUCBidWZmZXIgdGhhdCBpcyBpbnNpZGUgdGhlIGN1cnJlbnQgb3V0cHV0IGJ1ZmZlciwgbm90CgkgIGFsc28gdGhlIHJlbWFpbmluZyBwYXJ0LiBPdGhlcndpc2Ugd2UgZm9yd2FyZCB0aGlzIHBhZCB0b28gZmFyIGludG8gdGhlIGZ1dHVyZQoJICBhbmQgYnJlYWsgc3luY2hyb25pemF0aW9uLgoKMjAxNS0wOS0xOCAyMToxNDo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRpc2FibGUgdGhlIHRleHR1cmUgY2FjaGUgb24gT1NYCgkgIFRoaXMgYSB3b3JrYXJvdW5kIHVudGlsIHRoZSBpbmNvbXBhdGliaWxpdHkgd2l0aCBDVk9wZW5HTFRleHR1cmVDYWNoZQoJICBhbmQgb3BlbmdsMyBjb250ZXh0cyBpcyBmaXhlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc4NgoKMjAxNS0wOS0xNyAxOTo0MjozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogS2VlcCBhdCBsZWFzdCB0d28gYnVmZmVycyBpbiB0aGUgcXVldWUgaW4gbGl2ZSBtb2RlCgkgIFdoZW4gaW4gbGl2ZSBtb2RlLCB0aGUgcXVldWUgbmVlZHMgdG8gaG9sZCB0aGUgY3VycmVudGx5IHByb2Nlc3NlZAoJICBidWZmZXIgYW5kIG9uZSBtb3JlIGF0IGxlYXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODUxCgoyMDE1LTA5LTE4IDExOjU1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA5LTE4IDE1OjI4OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZ3N0LWluZGVudCBmaWxlCgoyMDE1LTA5LTE3IDE5OjU2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogcGdzOiBmaXggcHJpbnRmIGZvcm1hdC9hcmd1bWVudCBtaXNtYXRjaCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZXh0cmEgZGVidWdnaW5nIGlzIGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lLgoKMjAxNS0wOS0xNyAxNzo1NDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVucHJlZml4IFNUQVRJU1RJQ1NfTUVTU0FHRV9OQU1FIGFmdGVyIGFsbAoJICBJdCB3YXMgb25seSBhZGRlZCBkdXJpbmcgMS41Lnggc28gd2UgbWlnaHQganVzdCBhcyB3ZWxsIHJlbW92ZSBpdAoJICBpbW1lZGlhdGVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY4NgoKMjAxNS0wOS0wNyAxNjo1NzowNSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHByZWZpeCB0aGUgc3RhdGlzdGljcyBtZXNzYWdlIG5hbWUgbWFjcm8KCSAgS2VlcCBvbGQgZGVmaW5lIGFyb3VuZCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njg2CgoyMDE1LTA5LTE4IDAwOjEwOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogSG9vayB1cCB0aGUgcmVjZW50bHkgYWRkZWQgY2hhbmdlX3N0YXRlIHZmdW5jLgoJICBUaGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdhcyBpbXBsZW1lbnRlZCwgYnV0IG5vdCBpbnN0YWxsZWQsCgkgIG1ha2luZyB0aGUgY29tcGlsZXIgY29tcGxhaW4gYWJvdXQgdGhlIHVudXNlZCBmdW5jdGlvbi4KCjIwMTUtMDktMTggMDA6MjA6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBEb24ndCB0aHJvdyBjb21waWxlciB3YXJuaW5ncyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCSAgRGlzYWJsZSBjb2RlIHRoYXQgd2FybnMgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyB3aGVuIEdfRElTQUJMRV9BU1NFUlQKCSAgaXMgZGVmaW5lZCwgYXMgaXQgaXMgaW4gdGFyYmFsbHMgYW5kIHByZS1yZWxlYXNlcy4KCjIwMTUtMDktMTcgMjI6MTc6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FvcGVuZ2xsYXllcjogZml4IG5vbi1leGlzdGVudCBzZWxlY3RvciB3YXJuaW5nCgkgIDU1N2NhNmZkYTVmODMxYmU0YWJhNTgxOWJmN2IzMGIyOTZlNTc1Y2QgaW50cm9kdWNlZCB0aGUgcXVldWVSZXNpemUKCSAgY2FsbCB3aXRob3V0IGltcGxlbWVudGluZyB0aGUgc2VsZWN0b3IKCjIwMTUtMDktMTcgMjE6MzE6MzkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBGaXggZ19yZXR1cm5fdmFsX2lmX2ZhaWwgaW4gYSB2b2lkIGZ1bmN0aW9uCgoyMDE1LTA5LTE3IDE1OjA2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhL3Z0ZGVjOiBmaXggbmVnb3RpYXRpb24gZXJyb3JzIHdoZW4gcmVzaXppbmcgZ2xpbWFnZXNpbmsKCSAgR3N0VmlkZW9EZWNvZGVyIGhhcyBpdHMgb3duIGxvZ2ljIGZvciBkZXRlY3Rpbmcgd2hlbiB0byByZWNvbmZpZ3VyZQoJICB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGRlY2lkZV9hbGxvY2F0aW9uIGFuZCByZXN1bHRzIGluIGEgbmV3CgkgIHRleHR1cmUgY2FjaGUgdGhhdCBoYXMgbm90IGJlZW4gY29uZmlndXJlZCBmcm9tIG91ciByZWNvbmZpZ3VyZSBjaGVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE1NgoKMjAxNS0wOS0xNyAxNzoyMjo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZXF1ZXN0IGEgcmVzaXplIG9uIGNhcHMvM2QgbW9kZSBjaGFuZ2VzCgkgIEZpeGVzIGluY29ycmVjdCBhc3BlY3QgcmF0aW8gb24gT1NYIHdoZW4gY2hhbmdpbmcgY2FwcyBvciB0aGUgM2QKCSAgb3V0cHV0IG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMTEKCjIwMTUtMDktMTcgMTc6MDY6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsd2luZG93OiBhZGQgQVBJIHRvIHJlcXVlc3QgYSByZXNpemUgZXZlbnQgb24gdGhlIG5leHQgZHJhdwoJICAtIGdsaW1hZ2VzaW5rIG5lZWRzIHRvIGJlIGFibGUgdG8gcmVzaXplIHRoZSB2aWV3cG9ydCBvbiBhc3BlY3QgcmF0aW8KCSAgY2hhbmdlcyByZXN1bHRpbmcgZnJvbSBlaXRoZXIgY2FwcyBjaGFuZ2VzIG9yIDNkIG91dHB1dCBtb2RlIGNoYW5nZXMuCgkgIC0gUGVyZm9ybWluZyBhIGdsVmlld3BvcnQgb3V0c2lkZSB0aGUgR3N0R0xXaW5kb3c6OnJlc2l6ZSBjYWxsYmFjawoJICB3aWxsIG5vdCBoYXZlIHRoZSB3aW5zeXMnIHN0YWNrIG9mIHZpZXdwb3J0cyByZXF1aXJlZCB0byBjb3JyZWN0bHkKCSAgcGxhY2UgdGhlIG91dHB1dCBmcmFtZS4KCSAgUHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHJlcXVlc3QgYSByZXNpemUgb24gdGhlIG5leHQgZHJhdyBldmVudCBmcm9tIHRoZQoJICB3aW5zeXMuCgkgIEFsc28gdHJhY2sgc2l6ZSBjaGFuZ2VzIGluc2lkZSB0aGUgYmFzZSBHc3RHTFdpbmRvdyBjbGFzcyByYXRoZXIKCSAgdGhhbiBpbiBlYWNoIHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTExCgoyMDE1LTA5LTE3IDE2OjU1OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsL3VwbG9hZGVsZW1lbnQ6IGZhaWwgZWFybGllciBpZiB3ZSBjb3VsZCBub3QgdXBsb2FkIHRoZSBidWZmZXIKCjIwMTUtMDktMTcgMTY6MDU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogc3RvcmUgdGhlIGNvcnJlY3QgZGltZW5zaW9uIGZyb20gdGhlIHJlc2l6ZSBldmVudHMKCSAgc21hbGwgdHlwbyBzL3dpZHRoL2hlaWdodC8KCjIwMTUtMDktMTcgMTM6NDc6MjMgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBhdmR0cHV0aWw6IGZpeCBHRXJyb3IgbWVtb3J5IGxlYWsgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNDIKCjIwMTUtMDktMTcgMTM6MzU6MDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBGaXggR0Vycm9yIGxlYWtzIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTQwCgoyMDE1LTA5LTE2IDAwOjE5OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJICBpbnRlcnZpZGVvc2luazogcmVuZGVyIHByZXJvbGwgZnJhbWVzIGFzIHdlbGwKCSAgRGVyaXZlIGZyb20gR3N0VmlkZW9TaW5rIHNvIHRoYXQgcHJlcm9sbCBmcmFtZXMgd2lsbCBhdXRvbWF0aWNhbGx5CgkgIGdldCByZW5kZXJlZCB0b28sIHVubGVzcyB0aGUgc2hvdy1wcmVyb2xsLWZyYW1lIHByb3BlcnR5IGlzIHNldCB0bwoJICBGQUxTRS4gRml4ZXMgaW50ZXJ2aWRlb3NyYyBvbmx5IHBpY2tpbmcgdXAgZnJhbWVzIGlmIGludGVydmlkZW9zaW5rCgkgIGlzIGluIFBMQVlJTkcgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDkKCjIwMTUtMDktMTcgMDA6MDE6NTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uLgoJICBGaXggdGhlIG5lZ290aWF0aW9uIG9mIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uIGJ5IGNoZWNraW5nCgkgIGludGVyc2VjdGlvbiB3aXRoIHRoZSBwZWVyIGNhcHMsIHJhdGhlciB0aGFuIGp1c3QgYWNjZXB0LWNhcHMsCgkgIHdoaWNoIG1pZ2h0IG9ubHkgY2hlY2sgdGhlIHBhZCB0ZW1wbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTExMwoKMjAxNS0wOS0wOSAxNDo0OToxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IGZvciBuZWdhdGl2ZSByZXBlYXQgY291bnQgaW4gc2VnbWVudHMKCSAgSW1wbGVtZW50cyBuZWdhdGl2ZSByZXBlYXQgc2VnbWVudCBmaWVsZHMsIGRlZmluZWQgaW4gNS4zLjkuNi4xLgoKMjAxNS0wOS0wOCAxNToxNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogcHJvcGVybHkgcmVhZCBzaWduZWQgciB2YWx1ZXMgZm9yIFMgZWxlbWVudHMKCSAgVGhlIHNwZWMgZGVmaW5lcyB0aGVzZSBhcyBzaWduZWQgaW4gNS4zLjkuNi4xLgoJICBTaW5jZSB3ZSBkb24ndCBzdXBwb3J0IHRoaXMgYmVoYXZpb3IsIHdhcm4gYW5kIGRlZmF1bHQgdG8gMAoJICAobm9uIHJlcGVhdGluZyksIHdoaWNoIGlzIHRoZSBzcGVjJ3MgZGVmYXVsdCB3aGVuIHRoZSB2YWx1ZQoJICBpcyBub3QgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ4MAoKMjAxNS0wOS0wOSAxMTowNTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbWRwcGFyc2VyOiBjYXRjaCBmYWlsdXJlcyB0byBwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTE2IDE3OjI4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBhdm9pZCB1cGRhdGluZyB0aGUgdmlld3BvcnQgaW4gdGhlIGRyYXcgbG9vcAoJICBGaXhlcyBmbGFzaGVzL2luY29ycmVjdCBhc3BlY3QgcmF0aW8gd2hlbiByZXNpemluZyBnbGltYWdlc2luayBvbiBPU1guCgoyMDE1LTA5LTE1IDIxOjUwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggcGxheWJhY2sgb2YgbGl2ZSBzdHJlYW1zCgkgIGRhc2hkZW11eCBzZWVrcyBlYWNoIGxpdmUgc3RyZWFtIHRvIGl0cyBjdXJyZW50IGZyYWdtZW50IGluIHRoZSBiZWdpbm5pbmcsIGJ1dAoJICB0aGUgYmFzZSBjbGFzcyBkb2VzIG5vdCBrbm93IGFib3V0IHRoaXMuIFVwZGF0ZSB0aGUgZGVtdXhlciBzZWdtZW50IHdpdGggdGhpcwoJICBzZWVrIHNvIHdlIGdlbmVyYXRlIHRoZSBjb3JyZWN0IFNFR01FTlQgZXZlbnQgYW5kIGNhbiBhY3R1YWxseSBwbGF5IHRoZQoJICBzdHJlYW0uCgkgIFRoaXMgbmVlZHMgc29tZSByZWZhY3RvcmluZyBhdCBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQ3CgoyMDE1LTA5LTE1IDE1OjM5OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHJlbW92ZSBjaGVjayBmb3IgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIG9wdXMgZGVjb2RlciBjYW4gY29udmVydCBmcm9tIGRpZmZlcmVudCBudW1iZXIgb2YgY2hhbm5lbHMsIG5vCgkgIG5lZWQgdG8gY2hlY2ssIGp1c3QgbGV0IGl0IG5lZ290aWF0ZSBhbmQgY3JlYXRlIGEgbmV3IGRlY29kZXIgaWYKCSAgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDU5CgoyMDE1LTA5LTE1IDEwOjAwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE9ubHkgb3ZlcndyaXRlIGxhc3QgcmV0dXJuIGlmIGl0IHdhcyBPSwoJICBQcmV2ZW50cyBvdmVyd3JpdGluZyBvdGhlciBjb25kaXRpb25zIHRoYXQgd291bGQgYmUgbW9yZSBpbXBvcnRhbnQsCgkgIHN1Y2ggYXMgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQyCgoyMDE1LTA5LTE1IDA5OjU4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggcmV0dXJuIHdoZW4gdHJ5aW5nIHRvIGFkdmFuY2UgaW4gc3ViZnJhZ21lbnRlZCBzdHJlYW0KCSAgRXZlbiBpZiBpdCBkb2Vzbid0IGFjdHVhbGx5IGFkdmFuY2UgdGhlIHN1YmZyYWdtZW50IGluIHRoZSBkZWZhdWx0IHdheQoJICBmb3Igc3RyZWFtcyB0aGF0IGhhdmUgc3ViZnJhZ21lbnRzLCBpdCBjYW4gaGVscCB0aGUgYmFzZSBjbGFzcyB0byByZXR1cm4KCSAgRU9TIHdoZW4gdGhlcmUgaXMgbm8gbW9yZSBmcmFnbWVudHMgaW5zdGVhZCBvZiBzaWduYWxpbmcgaXQgdGhhdCBpdCBzaG91bGQKCSAgY29udGludWUgZG93bmxvYWRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDIKCjIwMTUtMDktMTUgMTE6MzQ6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogYnVmZmVycG9vbCB0YWtlIGludG8gYWNjb3VudCB2aWRlbyBzdHJpZGUgYWxpZ25tZW50IHJlcXVpcmVtZW50cwoJICB3aGVuIGFsbG9jYXRpbmcgbWVtb3J5LiBGaXhlcyBjcmFzaGVzIHdpdGggYXZkZWNfaDI2NSBpbiB0aGUgQVZYMgoJICBjb2RlIHBhdGggd2hpY2ggcmVxdWlyZXMgMzItYnl0ZSBzdHJpZGUgYWxpZ25tZW50LCBidXQgdGhlCgkgIEdzdEFsbG9jYXRpb25QYXJhbXMgb25seSBzcGVjaWZpZWQgYSAxNi1ieXRlIGFsaWdubWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyMAoKMjAxNS0wOS0xNSAxMzo0MDo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBTZXQgc2VxbnVtIG9uIG5ld2x5IGNyZWF0ZWQgc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDEyCgoyMDE1LTA5LTExIDIxOjM3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRml4IG1peHVwIG9mIHJ1bm5pbmcgdGltZXMgYW5kIHNlZ21lbnQgcG9zaXRpb25zCgkgIFdlIGhhdmUgdG8gcXVldWUgYnVmZmVycyBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWUsIG5vdCBiYXNlZCBvbgoJICB0aGUgc2VnbWVudCBwb3NpdGlvbi4KCSAgQWxzbyByZXR1cm4gcnVubmluZyB0aW1lIGZyb20gR3N0QWdncmVnYXRvcjo6Z2V0X25leHRfdGltZSgpIGluc3RlYWQgb2YKCSAgYSBzZWdtZW50IHBvc2l0aW9uLCBhcyByZXF1aXJlZCBieSB0aGUgQVBJLgoJICBBbHNvIG9ubHkgdXBkYXRlIHRoZSBzZWdtZW50IHBvc2l0aW9uIGFmdGVyIHdlIHB1c2hlZCBhIGJ1ZmZlciwgb3RoZXJ3aXNlCgkgIHdlJ3JlIGdvaW5nIHRvIHB1c2ggZG93biBhIHNlZ21lbnQgZXZlbnQgd2l0aCB0aGUgbmV4dCBwb3NpdGlvbiBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTExIDE2OjU2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogVXNlIHN0cmVhbSB0aW1lIGluIHRoZSBwb3NpdGlvbiBxdWVyeSBpbnN0ZWFkIG9mIHNlZ21lbnQgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0xMSAxMjoyMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGaXggbWl4dXAgb2YgcnVubmluZyB0aW1lcyBhbmQgc2VnbWVudCBwb3NpdGlvbnMKCSAgV2UgaGF2ZSB0byBxdWV1ZSBidWZmZXJzIGJhc2VkIG9uIHRoZWlyIHJ1bm5pbmcgdGltZSwgbm90IGJhc2VkIG9uCgkgIHRoZSBzZWdtZW50IHBvc2l0aW9uLgoJICBBbHNvIHJldHVybiBydW5uaW5nIHRpbWUgZnJvbSBHc3RBZ2dyZWdhdG9yOjpnZXRfbmV4dF90aW1lKCkgaW5zdGVhZCBvZgoJICBhIHNlZ21lbnQgcG9zaXRpb24sIGFzIHJlcXVpcmVkIGJ5IHRoZSBBUEkuCgkgIEFsc28gb25seSB1cGRhdGUgdGhlIHNlZ21lbnQgcG9zaXRpb24gYWZ0ZXIgd2UgcHVzaGVkIGEgYnVmZmVyLCBvdGhlcndpc2UKCSAgd2UncmUgZ29pbmcgdG8gcHVzaCBkb3duIGEgc2VnbWVudCBldmVudCB3aXRoIHRoZSBuZXh0IHBvc2l0aW9uIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMTEgMTI6MjE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IHRoYXQgZ2V0X25leHRfdGltZSgpIHNob3VsZCByZXR1cm4gcnVubmluZyB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMDMgMTQ6MjA6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBwZXJpb2Qgc3RhcnQgdGltZXMgaW4gcGVyaW9kcyB3aXRoIHNlZ21lbnQgbGlzdHMgZWl0aGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDMgMTA6MjY6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEZpeCB1bml0IHRlc3QgdGhhdCBhc3N1bWVkIHRoYXQgZnJhZ21lbnQgdGltZXN0YW1wcyBzaG91bGQgaW5jbHVkZSB0aGUgcGVyaW9kIHN0YXJ0IHRpbWVzdGFtcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjIyCgoyMDE1LTA5LTAyIDE4OjMzOjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBFeHBvcnQgdGhlIHBlcmlvZCBzdGFydCB0aW1lIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDIgMTg6Mjk6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogUHJvcGVybHkgaW1wbGVtZW50IHRpbWVzdGFtcGluZyBvZiBtdWx0aS1wZXJpb2Qgc3RyZWFtcwoJICBFYWNoIHBlcmlvZCB3aWxsIHN0YXJ0IGFnYWluIHdpdGggcHRzIDAgKyBwZXJpb2QgcHJlc2VudGF0aW9uIG9mZnNldCwgd2hpY2ggaXMKCSAgYWxzbyBnb2luZyB0byBiZSB0aGUgcHJlc2VudGF0aW9uIHRpbWUgaW5zaWRlIHRoZSBjb250YWluZXIgc3RyZWFtIGlmIGFueS4KCSAgSG93ZXZlciBhbGwgcGVyaW9kcyB0b2dldGhlciBzaG91bGQgZm9ybSBhIGNvbnRpbnVvdXMgdGltZWxpbmUsIHdpdGggcmVnYXJkIHRvCgkgIHN0cmVhbSB0aW1lIGFuZCBydW5uaW5nIHRpbWUuCgkgIEZvciBtYWtpbmcgdGhpcyBwb3NzaWJsZSB3ZSBrZWVwIHRyYWNrIG9mIHRoZSAidXNlciByZXF1ZXN0ZWQgc2VnbWVudCIsIGkuZS4KCSAgdGhlIHNlZWsgZXZlbnRzLCBpbnNpZGUgdGhlIGRlbXV4ZXIgd2l0aG91dCBhZGp1c3RpbmcgYW55dGhpbmcgYW5kIHRha2luZyB0aGlzCgkgIGRlbXV4ZXIgc2VnbWVudCBvbmx5IGFzIG9yaWVudGF0aW9uIGZvciBtb2RpZmllZCBzZWdtZW50cyBwZXIgc3RyZWFtLgoJICBUaGlzIHBlciBzdHJlYW0gc2VnbWVudHMgd2lsbCBoYXZlIHRoZWlyIHNlZ21lbnQuc3RhcnQgYXQgcHRzIHRoYXQgd291bGQgYmUKCSAgcHJvZHVjZWQgZm9yIHRoaXMgc3RyZWFtIGluIHRoaXMgcGVyaW9kLCBhbmQgdGhlIHNlZ21lbnQuYmFzZS90aW1lIGFkanVzdGVkIHNvCgkgIHRoYXQgdGhpcyBwdHMgbWFwcyB0byB0aGUgcnVubmluZyBhbmQgc3RyZWFtIHRpbWUgdGhpcyBwZXJpb2Qgc2hvdWxkIGhhdmUgaW4KCSAgdGhlIGNvbnRleHQgb2YgYWxsIG90aGVyIHBlcmlvZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDEgMTM6MTM6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBmcm9tIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYyNmE4ZjBhNzRmOGVhNzQ4YjgxMWI3NGJhOWU3YWUyYmFlYTJjY2EuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGdldCB0aGUgcGxhaW4gcHJlc2VudGF0aW9uIG9mZnNldCBhbmQgdGhlIHBlcmlvZCBzdGFydCB0aW1lCgkgIHNlcGFyYXRlbHkuIFdlIGhhdmUgdG8gYWRqdXN0IHRoZSB0aW1lc3RhbXAgYnkgdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQsIGJ1dAoJICB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgc2hvdWxkIG9ubHkgYWRqdXN0IHRoZSBzdHJlYW0gdGltZSBhbmQgcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDA5CgoyMDE1LTA5LTAxIDEzOjEyOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBJbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgaW4gdGhlIGZyYWdtZW50IHRpbWVzdGFtcHMgaW4gYWxsIGNhc2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2NzFhZDI1YTk4OWNiMjFjNjJjN2E1ODY3YzIwOTA4OTBjZTQ5YmEuCgkgIFRoZSB0aW1lc3RhbXBzIHNob3VsZCByZXN0YXJ0IGF0IDAgYWdhaW4gZm9yIGVhY2ggcGVyaW9kLCBidXQgd2UgaGF2ZSB0bwoJICBhZGp1c3QgdGhlIHNlZ21lbnQgdG8gbWFwIHRob3NlIHRpbWVzdGFtcHMgdG8gdGhlIGFjdHVhbCBzdHJlYW0gdGltZSBhbmQKCSAgcnVubmluZyB0aW1lIG9mIHRoYXQgcGVyaW9kLgoJICBPdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0aW1lc3RhbXBzIHRoYXQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcyBmcm9tIHRoZSB0ZmR0CgkgIGluc2lkZSB0aGUgTVA0IGNvbnRhaW5lciwgd2hpY2ggYXJlIHJlc3RhcnRpbmcgYXQgMCBmb3IgZWFjaCBwZXJpb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MDkKCjIwMTUtMDktMTQgMTk6MDM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBDb25zaWRlciB0aGUgcmVwZWF0IGNvdW50IHdoZW4gY2hlY2tpbmcgaWYgYSBzZWdtZW50IGlzIHRoZSBsYXN0IG9uZQoJICBPdGhlcndpc2Ugd2UgcGxheSBvbmx5IHRoZSBmaXJzdCByZXBldGl0aW9uIG9mIHRoZSBsYXN0IHNlZ21lbnQgYW5kIHRoZW4gRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTE0IDEzOjU2OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbHNvIGNoZWNrIGZvciBzdWJmcmFnbWVudHMgb24gaGFzX25leHRfZnJhZ21lbnQKCSAgSW4gZGFzaCBpc29tYmZmIHByb2ZpbGUgdGhlIGZyYWdtZW50IGlzIHNwbGl0IGludG8gc3ViZnJhbWVudHMgd2hlcmUKCSAgYml0cmF0ZSBzd2l0Y2hpbmcgaXMgcG9zc2libGUuIEFsc28gdGFrZSB0aGF0IGludG8gY29uc2lkZXJhdGlvbgoJICB3aGVuIGNoZWNraW5nIGlmIGEgc3RyZWFtIGhhcyBuZXh0IGZyYWdtZW50cy4KCjIwMTUtMDktMTEgMTE6MjI6MzUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBpbXByb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydGllcyBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MTkKCjIwMTUtMDktMTEgMTE6MTE6MDkgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgdGhyb3cgZ193YXJuaW5nIHdoZW4gZ2V0dGluZyBkZXByZWNhdGVkIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgxOQoKMjAxNS0wOS0wOSAxOTo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgcXVlcnkgdG8gcHJvcGVybHkgaGFuZGxlIGFscGhhIGZvcm1hdHMKCSAgT25seSBhY2NlcHQgYWxwaGEgaWYgZG93bnN0cmVhbSBoYXMgYWxwaGEgYXMgd2VsbC4gSXQgY291bGQKCSAgdGhlb3JldGljYWxseSBhY2NlcHQgYWxwaGEgdW5jb25kaXRpb25hbGx5IGlmIGJsZW5kaW5nIGlzCgkgIHByb3Blcmx5IGltcGxlbWVudGVkIGZvciBoYW5kbGUgaXQgYnV0IGF0IHRoZSBtb21lbnQgdGhpcwoJICBpcyBhIG1pc3NpbmcgZmVhdHVyZS4KCSAgSW1wcm92ZXMgdGhlIGNhcHMgcXVlcnkgYnkgYWxzbyBjb21wYXJpbmcgd2l0aCB0aGUgdGVtcGxhdGUKCSAgY2FwcyB0byBmaWx0ZXIgYnkgd2hhdCB0aGUgc3ViY2xhc3Mgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjUKCjIwMTUtMDktMTIgMDA6NTE6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiBVc2UgUi9SRyB0ZXh0dXJlcyBmb3IgTlYxMiB3aGVuIHRoZSBjb250ZXh0IHByb3ZpZGVzIHRoZW0KCSAgRml4ZXMgcGxheWJhY2sgdG8gR0wgbWVtb3J5IG9uIGlPUywgd2hlcmUgdGhlIGNvbG91cnMgYXJlIG1lc3NlZAoJICB1cCBieSBwYXNzaW5nIEx1bWluYW5jZS9MdW1pbmFuY2VBbHBoYSB0ZXh0dXJlcyB3aGVyZQoJICBjb2xvciBjb252ZXJ0IGV4cGVjdHMgUi9SRyB0ZXh0dXJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUwNAoKMjAxNS0wOS0wOCAxNzoxNzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUHJlZmVyIEdMIG91dHB1dCBjYXBzLgoJICBQcmVmZXIgR0wgY2FwcyBieSBwdXR0aW5nIHRoZW0gZmlyc3QgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBhbmQKCSAgaW50ZXJzZWN0aW5nIHVzaW5nIEdTVF9DQVBTX0lOVEVSU0VDVF9GSVJTVC4KCjIwMTUtMDktMTAgMTk6MDI6MTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgc2VsZWN0aW9uIG9mIEFjdGl2ZSBSZWYgUGljIFNldAoJICBJZiBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X3Nwc19mbGFnIGlzIEZBTFNFLCB0aGUgU2hvcnRUZXJtUmVmUGljU2V0CgkgIHN0cnVjdHVyZSBpcyBzdXBwb3NlZCB0byBkZXJpdmUgZnJvbSBzbGljZSBoZWFkZXIuIFdoaWNoIG1lYW5zLAoJICBDdXJyUnBzSWR4IGlzIGVxdWFsIHRvIG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cy4gQnV0IHRoZSBudW1iZXIKCSAgb2YgcmVmcGljc2V0cyBjb21tdW5pY2F0ZWQgdmlhIHNwcyBoZWFkZXIgaXMgb25seSBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMgLSAxLgoJICBBbmQgd2UgYXJlIHVzaW5nIHNsaWNlX2hlYWRlciBzdHJ1Y3R1cmUgdG8gcmVmZXJlbmNlIHRoZSBsYXN0IGVudHJ5LCB3aGljaCBpcwoJICBTaG9ydFRlcm1SZWZQaWNTZXRbbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzXS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgzNAoKMjAxNS0wOS0xMCAxNjoyODozMSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NSA6IEZpeCBkZWZhdWx0IHNjYWxpbmcgbGlzdCB2YWx1ZXMKCSAgRml4IHRoZSBkZWZhdWx0X3NjYWxpbmdfbGlzdCB2YWx1ZXMgYmFzZWQgb24gVGFibGUgNy02CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MzQKCjIwMTUtMDktMTAgMTQ6MTE6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogbGVzcy10aGFuLXplcm8gY29tcGFyaXNvbiBvZiBhbiB1bnNpZ25lZCB2YWx1ZSBpcyBuZXZlciB0cnVlCgkgIFVzZSB0aGUgY29ycmVjdCB0eXBlLCBHc3RDbG9ja1RpbWVEaWZmLCBpbnN0ZWFkLgoJICBDSUQgMTMyMzc0MgoKMjAxNS0wOS0xMCAwMDowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGd0aywgcXQ6IG1vcmUgc3BlY2lmaWNhbGx5IGRlZmluZSB0aGUgY29tcGlsZSB0aW1lIHJlcXVpcmVtZW50cwoJICBPdGhlcndpc2Ugd2UgY291bGQgaW5jbHVkZSBoZWFkZXJzL2NvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbAoJICBuZXZlciBiZWVuIGluc3RhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0wMiAyMzo0MjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZC9xdDogaW5kZW50IGNvbmZpZ3VyZSBmaWxlCgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0xMCAwMDowMDoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHF0OiB1c2Ugb3VyIGZ1bmN0aW9uIHRhYmxlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgT3RoZXJ3aXNlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWFzLW5lZWRlZCB3ZSB3b3VsZCBuZWVkIHRvIGxpbmsgdG8KCSAgYSBHTCBvciBHTEVTIGxpYnJhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3MzIKCjIwMTUtMDktMDkgMjM6NTM6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbC9hcGk6IHVzZSBwdWJsaWMgcmF0aGVyIHRoYW4gcHJpdmF0ZSBkZWZpbmUKCSAgSEFWRV9JT1MgaXMgb25seSBkZWZpbmVkIGZvciB0aGUgYnVpbGQgb2YgdGhpcyBtb2R1bGUgc28KCSAgYXR0ZW1wdGluZyB0byB1c2UgZ3N0Z2wgaW4gaU9TIHdvdWxkIHJlc3VsdCBpbiBpbmNvcnJlY3QgR0wKCSAgaW5jbHVkZXMuCgkgIFVzZSBHU1RfR0xfSEFWRV9QTEFURk9STV9FQUdMIGluc3RlYWQgZm9yIGNob29zaW5nIHRoZSBpT1MgR0wKCSAgaGVhZGVyLgoKMjAxNS0wOS0wMyAxNjozNjo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBIYW5kbGUgcGlwZWxpbmVzIHdoZXJlIHRoZSBydW5uaW5nIHRpbWUgZG9lcyBub3Qgc3RhcnQgYXJvdW5kIDAgcHJvcGVybHkKCSAgV2Ugd2VyZSBjb252ZXJ0aW5nIGFsbCB0aW1lcyB0byBvdXIgaW50ZXJuYWwgcnVubmluZyB0aW1lcywgdGhhdCBpcyB0aGUgdGltZQoJICB0aGUgc2luayBpdHNlbGYgc3BlbnQgaW4gUExBWUlORyBhbHJlYWR5LiBCdXQgZm9yZ290IHRvIGRvIHRoYXQgZm9yIHRoZQoJICBydW5uaW5nIHRpbWUgY2FsY3VsYXRlZCBmcm9tIHRoZSBidWZmZXIgdGltZXN0YW1wcy4gQXMgc3VjaCwgYWxsIGJ1ZmZlcnMgd2VyZQoJICBzY2hlZHVsZWQgbXVjaCBsYXRlciBpZiB0aGUgcGlwZWxpbmUncyBydW5uaW5nIHRpbWUgZGlkIG5vdCBzdGFydCBhdCAwLgoJICBUaGlzIGhhcHBlbnMgZm9yIGV4YW1wbGUgaWYgYSBiYXNlIHRpbWUgaXMgZXhwbGljaXRseSBzZXQgb24gdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTI4CgoyMDE1LTA5LTA3IDEzOjM2OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IENvbnNpZGVyIHBpcGVsaW5lIGxhdGVuY3ksIHJlbmRlciBkZWxheSBhbmQgdHMgb2Zmc2V0IHdoZW4gc2NoZWR1bGluZyBmcmFtZXMKCSAgV2l0aG91dCB0aGlzLCB3ZSB3aWxsIHNjaGVkdWxlIGFsbCBmcmFtZXMgdG9vIGxhdGUgaW4gbGl2ZSBwaXBlbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2NjYKCjIwMTUtMDktMDkgMTM6NTg6MDUgKzA5MDAgIEtvdWhlaSBTdXRvdSA8a291QGNsZWFyLWNvZGUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBmaXggYnVpbGQgZXJyb3IgZm9yIDY0Yml0IFdpbmRvd3MgYnVpbGQgYnkgTWluR1cKCSAgQ2FzdGluZyB0byBVSU5UIGZyb20gSE1JWEVSIGdlbmVyYXRlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgd2l0aAoJICA2NGJpdCBXaW5kb3dzIHRhcmdldCBNaW5HVzoKCSAgZ3N0ZGlyZWN0c291bmRzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kaXJlY3Rzb3VuZF9zcmNfbWl4ZXJfZmluZCc6CgkgIGdzdGRpcmVjdHNvdW5kc3JjLmM6NzMzOjMwOiBlcnJvcjogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdlcnJvcj1wb2ludGVyLXRvLWludC1jYXN0XQoJICBtbXJlcyA9IG1peGVyR2V0RGV2Q2FwcyAoKFVJTlQpIGRzb3VuZHNyYy0+bWl4ZXIsCgkgIF4KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgV2UgY2FuIHVzZSBwb3J0YWJsZSBHUE9JTlRFUl9UT19VSU5UKCkgbWFjcm8gZm9yIHRoaXMgcHJvcG9zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NgoKMjAxNS0wOS0wOSAwOTozMzowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IEFsc28gdW5iaW5kIHJlbmRlcmJ1ZmZlciBhZnRlciBzZXR0aW5nIHVwIGZyYW1lYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NTcKCjIwMTUtMDktMDkgMDk6Mjc6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiBEb24ndCBtYWtlIGNvbnRleHQgdW5jdXJyZW50IGp1c3QgdG8gbWFrZSBpdCBjdXJyZW50IGFnYWluIGluIHRoZSBuZXh0IGxpbmUKCSAgQWxzbyBiaW5kaW5nIHRoZSBmcmFtZWJ1ZmZlciBhZ2FpbiBpcyB1bm5lY2Vzc2FyeSB0aGVuIGFzIGl0IHdhcyBqdXN0IGJvdW5kIGEKCSAgZmV3IGxpbmVzIGJlZm9yZSB3aGlsZSB0aGUgY29udGV4dCB3YXMgY3VycmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NwoKMjAxNS0wOS0wNyAxMjowOTo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXggcGVyaW9kIHN0YXJ0IHRpbWUgc2NhbGluZwoJICBUaGlzIEdzdFN0cmVhbVBlcmlvZCBzdGFydCB2YWx1ZSBpcyBleHByZXNzZWQgaW4gbmFub3NlY29uZHMsCgkgIGFuZCB0aGUgZ2xpYiB0aW1lIGFkZGl0aW9uIGZ1bmN0aW9uIGV4cGVjdHMgbWljcm9zZWNvbmRzLgoJICBUaGVyZSBzZWVtcyB0byBoYXZlIGJlZW4gYSBjb25mdXNpb24gd2l0aCBHc3RQZXJpb2ROb2RlJ3Mgc3RhcnQKCSAgZmllbGQsIHdoaWNoIGlzIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMuCgkgIEFkZGl0aW9uYWxseSwgYWRkIGEgd2FybmluZyBpZiB0aGUgdGltZXN0YW1wIG1vZGlmaWNhdGlvbiBkaWQKCSAgbm90IHN1Y2NlZWQsIGFuZCBOVUxMIHdhcyByZXR1cm5lZC4KCjIwMTUtMDktMDUgMjM6Mzg6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBZGQgYml0cmF0ZSBpbmZvIHRvIHRoZSB0YWdzIG91dHB1dC4KCSAgTWFrZXMgaXQgcG9zc2libGUgZm9yIG11eGVycyB0byBrbm93IHRoZSB0YXJnZXQgYml0cmF0ZSBhcyBzb29uCgkgIGFzIGVuY29kaW5nIHN0YXJ0cywgd2hpY2ggZmx2bXV4IG5vdyB1c2VzLgoKMjAxNS0wOS0wNSAwMTo1MDo0MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEVuc3VyZSBhbGwgYXJndW1lbnRzIHRvIENMQU1QIGFyZSBzaWduZWQgaW50CgkgIElmIGFueSBvZiB0aGUgYXJndW1lbnRzIHRvIENMQU1QIGFyZSB1bnNpZ25lZCBpbnRlZ2VycywgdGhlIGNvbXBhcmlzb24gY2F1c2VzCgkgIGFuIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIHRoZSBzaWduZWQgaW50IHRvIHVuc2lnbmVkLCB3aGljaCBjYXVzZXMgLTEgdG8gYmVjb21lCgkgIFVJTlRfTUFYIGFuZCBnZXQgY2xhbXBlZCB0byB0aGUgaGlnaCB2YWx1ZSBvZiB0aGUgQ0xBTVAgaW5zdGVhZCBvZiAwLgoJICBTZWUgNzE2IGF0IGh0dHA6Ly9jMHguY29kaW5nLWd1aWRlbGluZXMuY29tLzYuMy4xLjguaHRtbAoJICBBbHNvIGFkZCBhIHRlc3QgZm9yIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NzYKCjIwMTUtMDktMDQgMTU6NDM6NDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IERvIG5vdCBjb25zaWRlciBHdGtFdmVudHMgYXMgaGFuZGxlZAoJICBBcHBsaWNhdGlvbnMgbWlnaHQgc3RpbGwgd2FudCB0byB1c2UgdGhlbQoJICBhZnRlciB0aGUgc2luayB0cmFuc2Zvcm1lZCB0aGVtIGludG8KCSAgR3N0TmF2aWdhdGlvbiBldmVudHMKCjIwMTUtMDktMDIgMTk6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBsaWZ0IHJlc3RyaWN0aW9uIG9mIGNoYW5naW5nIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBUaGUgdmlkZW9hZ2dyZWdhdG9yIGNhbiBjb252ZXJ0IFBBUiwgdGhlcmUgaXMgbm8gcmVhc29uIGZvcgoJICByZXN0cmljdGluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI5MQoKMjAxNS0wOC0wNyAxNzoyNzo0OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxzaW5rOiBFbnN1cmUgdGhhdCBhdCBsZWFzdCBvbmUgd2luZG93aW5nIHN5c3RlbSBpcyBhdmFpbGFibGUKCSAgT3RoZXJ3aXNlLCB3ZSdsbCBqdXN0IGNyYXNoIGF0IHJ1bnRpbWUgYmVjYXVzZSB0aGUgZ2wgY29udGV4dCBpcyBOVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMDgKCjIwMTUtMDgtMjggMjA6MzM6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFJlc2V0IHN0YXRlIG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxNTIKCjIwMTUtMDgtMzEgMTg6MDY6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ3RrLCBxdCwgZ2w6IGZpeCB0eXBvIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxNS0wOC0yOCAyMzowNToyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBpZ25vcmUgc3RhcnQtdGltZSBvbiBzZWVrIGZyb20gZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MDYKCjIwMTUtMDgtMjkgMTY6NTE6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdmFyaWFibGVzIGluIGNsYW1wX3JlY3RhbmdsZSgpIHNob3VsZCBiZSBzaWduZWQKCSAgeC95L3cvaCBhcmUgc2lnbmVkIGludGVnZXJzLiBBcyBjYW4gYmUgc2VlbiBpbiBHc3RDb21wb3NpdG9yUGFkLgoJICBUaGUgcHJvdG90eXBlIGZvciBjbGFtcF9yZWN0YW5nbGUgd2FzIHdyb25nLiBUaGlzIGNvbW1pdCByZXZlcnRzIHRoZSBjaGFuZ2UKCSAgYW5kIGZpeGVzIHRoZSBwcm90b3R5cGUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYmNhNDQ0ZWE0YTg0YzM5ZTk5ODk2ODFmODkyZjZlNGNiMjAzM2NmOS4KCjIwMTUtMDgtMjggMTk6NTU6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvZHJpMl93cy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ19kZWZzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX3R5cGVzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvcHZyMmQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlc2V4dC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3dzZWdsLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIEZpeCBmaWxlIHBlcm1pc3Npb25zIG9mIHNvbWUgZmlsZXMKCjIwMTUtMDgtMjggMTU6MjE6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHJlbW92ZSBjaGVjayBmb3IgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdmFsdWUgaXMgJzwgMCcgYW5kICc+IG1heCcuIFZhbHVlIHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZQoJICBudW1iZXIgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZgoJICBpdCBpcyBiaWdnZXIgdGhhbiBtYXggYnkgdXNpbmcgTUlOKCkuCgkgIENJRCAxMzIwNzA3CgoyMDE1LTA4LTI4IDEzOjQyOjI5ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJICBlZGdlZGV0ZWN0OiBSZW5hbWUgZ3N0ZWRnZWRldGVjdC5jIHRvIGdzdGVkZ2VkZXRlY3QuY3BwIGZvciBjb25zaXN0ZW5jeS4KCSAgQ2hhbmdlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvciBjb25zaXN0ZW5jeQoJICB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0yNyAyMTo1MTo1MiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogcmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyBmdW5jdGlvbnMuCgkgIFRoZSBjdlNtb290aCBjdk5vdCBmdW5jdGlvbnMgYW5kIGRvIG5vdCBoYXZlIHRoZSBjb3JyZWN0IGlucHV0IHBhcmFtZXRlcnMuCgkgIEZ1cnRoZXJtb3JlLCBjdlNtb290aCBmdW5jdGlvbiBpcyBub3QgbmVjZXNzYXJ5IGZvciBlZGdlIGRldGVjdGlvbiwKCSAgYmVjYXVzZSB0aGUgQ2FubnkgZnVuY3Rpb24gbWFrZXMgdGhlIHN0ZXAgb2Ygc21vb3RoaW5nIHRoZSBpbWFnZS4KCSAgQW5kIGN2Tm90IGZ1bmN0aW9uIGlzIHVzZWxlc3MgYmVjYXVzZSB0aGVyZSBhcmVuJ3QgY2hhbmdlcyBpZiB0aGlzCgkgIGZ1bmN0aW9uIGlzIGVsaW1pbmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMDgtMjYgMTg6NDA6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgdGV4dG92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGJ1dCBuZXZlciB1c2VkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDgtMjYgMTg6MjE6MTUgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDE3OjU2OjUwICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrLgoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YgMi40LjExLgoJICBJdCBpcyBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG9sZCBhbmQgbmV3IGNsYXNzaWZpZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDEyOjQ3OjU4ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ2hlY2sgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgaXMgcmVsZWFzZSBiZWZvcmUgYmVpbmcgbW9kaWZpZWQuCgkgIEZvciBQUk9QX1BST0ZJTEUgY2FzZSB0aGF0IGV4aXN0IGluc2lkZSBnc3RfZmFjZV9ibHVyX3NldF9wcm9wZXJ0eQoJICBmdW5jdGlvbiBsb2FkcyB0aGUgbmV3IFhNTCBmaWxlIGluIHRoZSBDdkhhYXJDbGFzc2lmaWVyQ2FzY2FkZSBwcm9wZXJ0eQoJICB3aXRob3V0IGZpcnN0IGNoZWNraW5nIHRoYXQgaXQgaXMgcmVsZWFzZWQgYmVjYXVzZSBtYXliZSB0aGVyZSBpcyBhbiBYTUwKCSAgZmlsZSBwcmV2aW91c2x5IGxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxMjoyNzoxNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSAgZmFjZWJsdXI6IENvZGUgcmVmYWN0b3Jpbmcgb2YgZ3N0X2ZhY2VfYmx1cl9sb2FkX3Byb2ZpbGUuCgkgIENoYW5nZXMgaW5zaWRlIHRoZSBnc3RfZmFjZV9ibHVyX2xvYWRfcHJvZmlsZSBmdW5jdGlvbiwgdGhlIG51bWJlciBvZgoJICBpbnB1dCBwYXJhbWV0ZXJzIGFuZCBpbiBsaW5lcyB3aGVyZSBpdCBpcyB1c2VkIGR1ZSB0byBpdCBjYW5ub3QgYmUgdXNlZAoJICBnZW5lcmljYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxMTo1NzoyNCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ2hhbmdlIGdzdGZhY2VibHVyIHRvIEMrKy4KCSAgQ2hhbmdlIHRoZSBnc3RmYWNlYmx1ci5jIGZpbGUgdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZS4KCSAgSXQgaXMgbmVjZXNzYXJ5IHRvIG1pZ3JhdGUgdGhlIGZhY2VibHVyIHBsdWdpbiB0byBDKyssCgkgIGluIG9yZGVyIHRvIGxvYWQgbmV3IGFuZCBvbGQgY2xhc3NpZmllcnMsIHRvIG1ha2UgZmFjZWJsdXIgd29yawoJICB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIE9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNyAxMToxMDowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IGNhcHMgbWVtb3J5IGxlYWsgYnkgbWFraW5nIHN0YXRpYyBjYXBzIGFjdHVhbGx5IHN0YXRpYwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE1NwoKMjAxNS0wOC0yMSAxNjoxMzo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvbid0IG1lZGRsZSB3aXRoIHRoZSBjbGFzcyBzdHJ1Y3QgZnJvbSBhbiBpbnN0YW5jZQoJICBGaXggc29tZSB2ZXJ5IGR1YmlvdXMgY29kZS4gVGhlIGNsYXNzIG1ldGhvZHMgc2hvdWxkIGFsd2F5cwoJICBiZSBzZXQsIGFuZCB0aGUgaW5zdGFuY2Utc3BlY2lmaWMgY2hlY2sgc2hvdWxkIHRoZW4gYmUgZG9uZQoJICBpbnNpZGUgdGhlIG1ldGhvZC4gRm9yIGRhdGFfcmVjZWl2ZWQgdGhhdCdzIHRoZXJlIGFscmVhZHksIGZvcgoJICBmaW5pc2hfZnJhZ21lbnQgd2UgbmVlZCB0byBhZGQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MzcKCjIwMTUtMDgtMjYgMTA6NTI6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NHBhcnNlL2gyNjVwYXJzZTogRml4IG5lZ290aWF0aW9uIGNyYXNoCgkgIEFzIGl0J3MgcmVjdXJzaXZlLCBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBtYXkgYWxzbyByZXR1cm4KCSAgZW1wdHkgZm9yIGFueXRoaW5nIGluY29tcGF0aWJsZSBkb3duc3RyZWFtLiBFTVBUWSBpcyBub3QgdmFsaWQgY2FwcwoJICB2YWx1ZSBmb3IgZ3N0X2NhcHNfZml4YXRlKCkuIFRoaXMgbGVhZCB0byBhc3NlcnRpb24gYW5kIHRoZW4gY3Jhc2guCgkgIElkZWFsbHksIHRoZSBuZWdvdGlhdGUgZnVuY3Rpb24gc2hvdWxkIGJlIHJlLWZhY3RvcmVkIHRvIGhhdmUgYSByZXR1cm4KCSAgdmFsdWUsIGFuZCB3ZSBjb3VsZCBtYWtlIHRoZSBuZWdvdGlhdGlvbiBmYWlscyBlYXJsaWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTIyCgoyMDE1LTA4LTI2IDE1OjQwOjE2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWN0dWFsbHkgdXNlIHRoZSBvdXRwdXQgcmVzb2x1dGlvbiBmb3IgY2xhbXBpbmcKCSAgVGhlIG9ic2N1cmVkIGNoZWNrIGluIGNvbXBvc2l0b3Igd2FzIHVzaW5nIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBwYWQgdG8gY2xhbXAKCSAgdGhlIGgvdyBvZiB0aGUgcGFkIGluc3RlYWQgb2YgdGhlIG91dHB1dCByZXNvbHV0aW9uLCBhbmQgd2FzIGRvaW5nIGFuIGluY29ycmVjdAoJICBjYWxjdWxhdGlvbiB0byBkbyBzby4gRml4IHRoYXQgYnkgc2ltcGxpZnlpbmcgdGhlIHdob2xlIGNhbGN1bGF0aW9uIGJ5IHVzaW5nCgkgIGNvcm5lciBjb29yZGluYXRlcy4gQWxzbyBhZGQgYSB0ZXN0IGZvciB0aGlzIGJ1ZyB3aGljaCBmZWxsIHRocm91Z2ggdGhlIGNyYWNrcywKCSAgYW5kIGp1c3Qgc2tpcCBhbGwgdGhlIG9ic2N1cmVkIHRlc3RzIGlmIHRoZSBwYWQncyBhbHBoYSBpcyAwLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMDcKCjIwMTUtMDgtMjQgMDc6NDY6MjcgKzAzMDAgIFh1R3Vhbmd4aW4gPEd1YW5neGluLlh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGlsZSByb3cgYW5kIGNvbHVtbiBwYXJzaW5nCgkgIFNlY3Rpb24gNi41LjE6ICBDb2RpbmcgdHJlZSBibG9jayByYXN0ZXIgYW5kIHRpbGUgc2Nhbm5pbmcgY29udmVyc2lvbiBwcm9jZXNzCgkgIEZvbGxvdyB0aGUgZXF1YXRpb25zIDYtMyBhbmQgNi00CgkgIFRoaXMgd2lsbCBwcm92aWRlIGNvcnJlY3Qgb2Zmc2V0X21heCBpbiBzbGljZV9oZWFkZXIgZm9yIHBhcnNpbmcKCSAgbnVtX2VudHJ5X3BvaW50X29mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwMjQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKMjAxNS0wOC0wNyAxMjo1MzoyMyArMDMwMCAgQXRoYW5hc2lvcyBPaWtvbm9tb3UgPGF0aG9pa0BnbWFpbC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNlbGVjdCBjb3JyZWN0IHBvc2l0aW9uIGZvciBsaXZlIHN0cmVhbXMgdGhhdCBkb24ndCByZW1vdmUgZnJhZ21lbnRzCgkgIFNvbWUgbGl2ZSBzdHJlYW1zIChlZyB5b3V0dWJlKSBkb24ndCByZW1vdmUgZnJhZ21lbnRzIGluIG9yZGVyIHRvIGFsbG93CgkgIHNlZWtpbmcgYmFjayBpbiB0aW1lIChsaXZlICsgdm9kKS4KCSAgV2hlbiBnc3RfbTN1OF9jbGllbnRfaGFzX25leHRfZnJhZ21lbnQgaXMgY2FsbGVkLCB3ZSBhcmUgZ2V0dGluZyB3cm9uZyBmcmFnbWVudAoJICBiZWNhdXNlIGN1cnJlbnRfZmlsZSBwb2ludHMgaW4gZmlyc3QgZmlsZSBvZiB0aGUgZnJhZ21lbnRzIGxpc3QgcmVzdWx0aW5nIGluCgkgIHdhdGNoaW5nIHRoZSBzdHJlYW0gZnJvbSB0aGUgYmVnaW5uaW5nIGFnYWluLgoJICBUaGlzIHBhdGNoIHNldHMgY3VycmVudF9maWxlIHRvIG50aCBmcmFnbWVudCBmb3IgbGl2ZSBzdHJlYW1zLCB0aGVuIG9uCgkgIGdzdF9tM3U4X2NsaWVudF9oYXNfbmV4dF9mcmFnbWVudCB3aWxsIGtlZXAgdXAgd2l0aCB0aGUgbGl2ZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzNDQKCjIwMTUtMDgtMjQgMTk6NDc6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IFVzZSBiYXNlIGNsYXNzIG1ldGFkYXRhIGNvcHkgZnVuY3Rpb24KCSAgVGhpcyBhbGxvdyBwcm9wZXJseSBjb3B5aW5nIHNlbGVjdGVkIG1ldGEsIGxpa2UgdGhlIGNvbXBvc2l0aW9uCgkgIG92ZXJsYXkuIE5vdGUgdGhhdCBvdXRwdXQgYnVmZmVyIG5lZWQgdG8gYmUgcmVhZGFibGUsIGJ1dCBHbFVwbG9hZAoJICBrZWVwcyBhIHJlZi4gRm9yIG5vdywgc2ltcGx5IGRyb3AgR2xVcGxvYWQgcmVmIGFmdGVyIHBlcmZvcm0sCgkgIGxlYXZpbmcgdGhhdCByZWYgaGFzIG5vIHB1cnBvc2UuIFRoZSBtZXRob2Qgc2hhbGwgYmUgcmVtb3ZlZAoJICBpbiB0aGUgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDQ3CgoyMDE1LTA4LTI0IDE5OjI4OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBVc2UgYmFzZSB0cmFuc2Zvcm0gbWV0YWRhdGEgY29weQoJICBVc2UgYmFzZSBjbGFzcyBkZWZhdWx0IG1ldGhvZCBpbnN0ZWFkIG9mIG9ubHkgY29weWluZyBmbGFncyBhbmQKCSAgdGltZXN0YW1wLiBUaGlzIHdheSwgc2VsZWN0ZWQgbWV0YSdzIGxpa2UgY29tcG9zdGlvbiBvdmVybGF5IHdpbGwKCSAgYmUgcGFzc2VkIGRvd25zdHJlYW0gYXMgZXhwZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDcKCjIwMTUtMDgtMjUgMTA6MDk6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IFVucmVmIGNvbnRleHQgYWZ0ZXIgc2V0dGluZyBhIHdpbmRvdyBoYW5kbGUKCSAgZ3N0X2dsX3dpbmRvd19nZXRfY29udGV4dCgpIHJldHVybnMgYSBuZXcgcmVmZXJlbmNlLgoJICBIb3BlZnVsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1OAoKMjAxNS0wOC0yNCAyMToyODo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogQWRkIG5ldyBoMjY1IHBhcnNlciBzeW1ib2xzCgoyMDE1LTA4LTI0IDA4OjA2OjE1ICswMzAwICBseWIgPGFuZHlfbGl1X2NoaW5hQDE2My5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogQWRkIEFQSXMgZm9yIHVwLXJpZ2h0LWRpYWdvbmFsL3Jhc3RlciBzY2FuIGNvbnZlcnNpb24KCSAgQXMgcGVyICA3LTQyIGFuZCA3LTQzIHRoZSBTY2FsaW5nRmFjdG9yJ3Mgc2NhbklkeCBpcyAwLAoJICB3aGljaCBpcyAidXAtcmlnaHQtZGlhZ29uYWwiIHNjYW4uIEFkZCBBUElzIGZvciBjb252ZXJ0aW5nCgkgIHVwLXJpZ2h0LWRpYWdvbmFsIHRvIHJhc3RlciBhbmQgdmlzZSB2ZXJzYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDAyNAoKMjAxNS0wOC0yNCAwNDoxODo1MiArMDMwMCAgWHVHdWFuZ3hpbiA8R3Vhbmd4aW4uWHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSByYW5nZSBvZiBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20KCSAgQmVpbmcgbW9yZSBzdHJpY3Qgb24gc3BlY2lmaWNhdGlvbiwgQWNjb3JkaW5nIHRvIDcuNC43LjMsCgkgIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbSBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mCgkgIFsoMCAtIGx1bWFfbG9nMl93ZWlnaHRfZGVub20pLCAoNyAtIGx1bWFfbG9nMl93ZWlnaHRfZGVub20pXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDI0CgoyMDE1LTA4LTIzIDIzOjM4OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGxhdGVuY3kgaGFuZGxpbmcgYWdhaW4KCSAgVGhlIHRzZGVtdXggbGF0ZW5jeSBzaG91bGQgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBtaW5pbXVtCgkgIGxhdGVuY3kgKHdoaWNoIGlzIGFsd2F5cyBhIHZhbGlkIGNsb2NrIHRpbWUgdmFsdWUpLiBUaGUKCSAgImNsZWFudXAiIGluIGNvbW1pdCBhMWY3MDljMiBtYWRlIGl0IHNvIHRoYXQgaXQgd291bGQgbm90CgkgIGJlIGFkZGVkIGlmIHVwc3RyZWFtIHJlcG9ydGVkIDAgYXMgbWluaW11bSBsYXRlbmN5IChhcwoJICBlLmcuIHVkcHNyYyB3b3VsZCkuIFRoaXMgYnJva2UgcGxheWJhY2sgb2YgbGl2ZSBtcGVnLXRzCgkgIHN0cmVhbWluZyBpbiBzb21lIGNhc2VzLCBsZWFkaW5nIHRvIHBsYXliYWNrIHN0dXR0ZXIgZHVlCgkgIHRvIGEgdG9vLXNtYWxsIGNvbmZpZ3VyZWQgbGF0ZW5jeSBmb3IgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTA4CgoyMDE1LTA4LTIxIDEzOjQyOjE4IC0wNzAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVwZGF0ZSBkaXNwbGF5IHNpemUgYmVmb3JlIHNlbmRpbmcgZXZlbnQKCSAgVGhpcyBpcyBtaW5vciBpc3N1ZSwgYXMgdGhlIHJlY29uZmlndXJlIGV2ZW50IGlzIGFzeW5jaHJvbm91cy4KCSAgQmFzaWNhbGx5LCB1cGRhdGUgd2lkdGgvaGVpZ2h0IGJlZm9yZSBzZW5kaW5nIHRoZSBldmVudC4KCjIwMTUtMDgtMjAgMTc6Mjc6MzQgLTA3MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBMZXQgYmFzZSB0cmFuc2Zvcm0gcmVsYXkgdGhlIG1ldGEgYXBpIGZvciB1cwoJICBEdXJpbmcgYWxsb2NhdGlvbiBxdWVyeSwgd2hlbiB0aGlzIGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoLCBpdCBtdXN0CgkgIHJlbGF5IHRoZSBvdmVybGF5IGNvbXBvc3Rpb24gbWV0YSBhbmQgaXQncyBwYXJhbWV0ZXJzLiBGb3J0dW5hdGx5LCBiYXNlCgkgIHRyYW5zZm9ybSBjYW4gZG8gdGhpcyBmb3IgdXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTAKCjIwMTUtMDgtMjEgMjA6Mjk6MjQgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjdXJsOiBHaXZlIG5ldGluZXQvaXAuaCBpdCBvd24gY29uZmlndXJlIGNoZWNrCgkgIE9uIEZyZWVCU0QgbmV0aW5ldC9pcC5oIG5lZWRzIHRoZSBzeXMvdHlwZXMuaCBhbmQgbmV0aW5ldC9pbi5oIGhlYWRlcgoJICBiZWZvcmUgaXQgY2FuIGJlIHRlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk0NAoKMjAxNS0wOC0xOSAxNzo0Mjo0OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBsZW5ndGggaXMgc2V0IHRvIGEgZGlmZmVyZW50IHZhbHVlIGJlZm9yZSBiZWluZyByZWFkLiBSZW1vdmUgaW5pdGlhbCB2YWx1ZS4KCSAgU2lsZW5jZXMgY29tcGlsZXIgd2FybmluZy4KCjIwMTUtMDgtMjEgMDU6MjY6MjUgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDgtMjEgMTQ6MDc6MzIgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhZGQgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZSB3aGVuIG1pc3NpbmcgR0xfU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OCgkgIEdMX1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTiB3YXMgaW50cm9kdWNlZCBzaW5jZSBFUyAyLjAsIGJ1dCBpbiBzb21lCgkgIGFuZHJvaWQgZW11bGF0b3IgZG9lc24ndCBzdXBwb3J0IHRoaXMgZmVhdHVyZS4gVG8gcHJldmVudCBjb25mdXNpb24gZm9yCgkgIGRldmVsb3BlciwgdGhlIGVycm9yIG1lc3NhZ2UgbmVlZCB0byBiZSBtb3JlIGNsZWFyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTA1CgoyMDE1LTA4LTIxIDE2OjQ0OjQzICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvbWl4ZXI6IHJlbW92ZSBkdXBsaWNhdGVkIHdvcmQgaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTE1CgoyMDE1LTA4LTIxIDE2OjMxOjQxICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogRG9uJ3QgY2hhaW4gdXAgdG8gcGFyZW50J3MgcXVlcnkgaGFuZGxpbmcgdHdpY2UgZm9yIERSQUlOIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTMKCjIwMTUtMDgtMjAgMTU6MDA6MDIgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgY2hlY2s6IGhsc2RlbXV4OiBtYWtlIGR1cmF0aW9uIHVuaXQgdGVzdCByb2J1c3QgdG8gZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcKCSAgVGhlIHRlc3RfcGxheWxpc3Rfd2l0aF9kb3VibGVzX2R1cmF0aW9uKCkgdGVzdCBmYWlscyBvbiBzb21lIHBsYXRmb3JtcwoJICBkdWUgdG8gcm91bmRpbmcgZXJyb3JzIHRoYXQgb2NjdXIgd2hlbiBtM3U4LmMgY29udmVydHMgZnJvbSB0aGUgZmxvYXRpbmcKCSAgcG9pbnQgdmFsdWUgaW4gdGhlIEhMUyBtYW5pZmVzdCB0byBhIEdzdENsb2NrVGltZS4KCSAgVXNpbmcgYXNzZXJ0X2VxdWFsc19mbG9hdCgpIGZpeGVzIHRoaXMgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMKCSAgdGhlIHJvdW5kaW5nIGVycm9yIGlzc3VlcyBieSBhY2NlcHRpbmcgYWxtb3N0IGVxdWFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODgxCgoyMDE1LTA4LTE3IDE4OjM1OjU4ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogb25seSBjYWxsIGdsX3tzdG9wLHN0YXJ0fSBpZiB0aGUgY29udGV4dCBjaGFuZ2VkCgkgIFJlbW92ZXMgdGhlIHJlZHVuZGFudCBHTCBvYmplY3QgY3JlYXRpb24vZGVsZXRpb24gb24gZXZlcnkKCSAgZGVjaWRlX2FsbG9jYXRpb24gY2FsbCB3aGljaCBpcyBiZWluZyBjYWxsZWQgZm9yIGV2ZXJ5IGNhcHMgY2hhbmdlLgoJICBUaHVzIHJlZHVjZXMgdGhlIHJlcXVpcmVkIEdMIHN0YXRlIGNoYW5nZXMgb24gcmVjb25maWd1cmUgZXZlbnRzCgkgIHdoaWNoIGFyZSBiZWluZyBzZW50IGJ5IGdsaW1hZ2VzaW5rL3h2aW1hZ2VzaW5rCgoyMDE1LTA4LTIwIDE0OjA5OjM3ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogRml4IE9wZW5DViBkYXRhIHBhdGggY2hlY2sgdG8gd29yayB3aXRoIGNyb3NzIGNvbXBpbGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NTEKCjIwMTUtMDgtMjAgMTQ6MTE6NTYgKzAzMDAgIEJlbiBCcm93aXR0IDxiZW4uYnJvd2l0dEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWx3YXlzIHNldCB0aGUgcGFkJ3MgYnVmZmVyX3ZpbmZvIHdoZW4gc3RvcmluZyBhIGJ1ZmZlcgoJICBPdGhlcndpc2UgaXQgbWlnaHQgYmUgdW5zZXQsIGFuZCB0aGVuIHRoZSBidWZmZXIgaXMgdXNlZCBhbmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdpbGwgY3Jhc2ggYmVjYXVzZSBvZiBpbnZhbGlkIHZpZGVvLWluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MDUKCjIwMTUtMDgtMTkgMjE6MzM6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZSA8eG1sPiBlbGVtZW50IHdoZW4gZHVtcGluZyBub2RlcwoJICBQcmV2aW91cyBwYXRjaCBkaWQgbm90IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhbiBlbmNvZGluZyAoZS5nLiBVVEYtOCkgaXMKCSAgc3BlY2lmaWVkIGluIHRoZSA8eG1sID8+IGVsZW1lbnQuIEFkZGVkIGFuIGV4dHJhIHRlc3QgZm9yIHdpdGggYW5kIHdpdGhvdXQKCSAgZW5jb2RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MTMKCjIwMTMtMDEtMzEgMTQ6MDM6NDAgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBjaGVjayB2aWRlbyBmcmFtZSBtYXBwaW5nIHN1Y2NlZWRlZCBiZWZvcmUgYmxlbmRpbmcKCSAgSWYgdGhlIG1hcHBpbmcgZmFpbHMganVzdCBza2lwIG92ZXJsYXkgcmVuZGVyaW5nIGFuZCBwdXNoIHRoZSB2aWRlbwoJICBmcmFtZSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODIyCgoyMDE1LTA4LTE5IDE1OjMxOjE2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlLmFjOiBmaXggYnVpbGQgd2hlbiB0aGUgdXZjaDI2NCBwbHVnaW4gaXMgbm90IHNlbGVjdGVkCgkgIEluc3RlYWQgb2YgY2hlY2tpbmcgZm9yIHRoZSBnc3RyZWFtZXItdmlkZW8tMS4wIHBhY2thZ2UgaXMgaW5zdGFsbGVkLAoJICBqdXN0IGFzc3VtZSBpdCBpcyBzaW5jZSB3ZSBhbHJlYWR5IGNoZWNrIGZvciB0aGUgLWJhc2UgZGVwZW5kZW5jeS4KCSAgV2l0aCB0aGlzIHJlcGxhY2UgdGhlIEdTVF9WSURFT18qIHZhcmlhYmxlcyBpbiBtYWtlZmlsZXMgYW5kIGRpcmVjdGx5CgkgIGxpbmsgd2l0aCBsaWJnc3R2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyMAoKMjAxNS0wOC0xOSAxMToyOTo0MyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcmVwbGFjZSB4bWxOb2RlRHVtcCB3aXRoIHhtbE5vZGVEdW1wT3V0cHV0CgkgIFdoZW4gcnVubmluZyBvbiBhbiBTVEIsIHRoZSBmdW5jdGlvbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfbm9kZV9hc19zdHJpbmcgY2F1c2VzIGEgc2VnbWVudGF0aW9uIGZhdWx0LiBUaGlzCgkgIGNvZGUgd29ya3MgY29ycmVjdGx5IG9uIGEgTGludXggZGVza3RvcC4KCSAgTG9va2luZyBhdCB0aGUgbGlieG1sIGRvY3VtZW50YXRpb24sIHRoZSB4bWxOb2RlRHVtcCBpcyBkZXByZWNhdGVkLgoJICBSZXBsYWNpbmcgdGhlIHVzZSBvZiB4bWxOb2RlRHVtcCB3aXRoIHhtbE5vZGVEdW1wT3V0cHV0IGZpeGVzIHRoZQoJICBzZWdmYXVsdCBvbiB0aGUgU1RCIGFuZCByZW1vdmVzIHRoZSB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgZnVuY3Rpb24uCgoyMDE1LTA4LTE5IDEyOjM3OjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBRdCB2ZXJzaW9uCgkgIFVzYWdlIG9mIFFTR1NpbXBsZVRleHR1cmVOb2RlOjpzZXRPd25zVGV4dHVyZSgpIHdhcyBhZGRlZCBpbiBjb21taXQKCSAgNmI4Y2Y4NDE5ZDhlYTgwMDgxZGU4MTUwYTZiMWMzY2Y3NjNjNGQ2OSwgdGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgaW4KCSAgUXQgNS40LjAuIENoZWNrIGZvciB0aGlzIHZlcnNpb24gb3IgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MTIKCjIwMTUtMDctMTYgMjI6NTc6MzYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWJvcnQgcGxheWxpc3QgdXBkYXRlIHdoZW4gY2FuY2VsbGVkCgkgIE90aGVyd2lzZSB0aGUgZG93bmxvYWQgdGhyZWFkIHdpbGwgZ2V0IHN0dWNrLCBzaW5jZSB0aGUgZG93bmxvYWRlciBpcwoJICBkaXNhYmxlZC4KCjIwMTUtMDgtMTkgMTM6NTI6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0ay9nbDogVXNlIG91ciBHTCBmdW5jdGlvbiB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGNhbGxpbmcgR0wgZnVuY3Rpb25zCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRvIGxpbmsgdGhlIHBsdWdpbiB0byB0aGUgR0wgbGlicmFyaWVzIGRpcmVjdGx5LgoKPT09IHJlbGVhc2UgMS41LjkwID09PQoKMjAxNS0wOC0xOSAxMzo0Njo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkwCgoyMDE1LTA4LTE5IDEyOjUyOjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDgtMTkgMTE6MzY6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOC0xOCAxMzo1Njo1OSArMDIwMCAgR3VpbGxhdW1lIE1hcnF1ZWJpZWxsZSA8Z3VpbGxhdW1lLm1hcnF1ZWJpZWxsZUBwYXJyb3QuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggYXNzZXJ0aW9uIHdoZW4gY29weWluZyBidWZmZXIgcmVnaW9uCgkgIEluIGdzdF9saXZlX2FkZGVyX2NoYWluKCkgZnVuY3Rpb24sIGNhbGxzIHRvIGdzdF9idWZmZXJfY29weV9yZWdpb24oKSBjYW4gbGVhZAoJICB0byBhc3NlcnRpb24gYXMgJ29mZnNldCArIHNpemUgPD0gYnVmc2l6ZScgaXMgbm90IHJlc3BlY3RlZC4KCSAgSW5kZWVkICdvZmZzZXQnIGFuZCAnc2l6ZScgcGFyYW1ldGVycyBhcmUgY2FsY3VsYXRlZCB0aHJvdWdoIGNhbGxpbmcgZ3N0X2xpdmVfYWRkZXJfbGVuZ3RoX2Zyb21fZHVyYXRpb24oKSwKCSAgYW5kIHRodXMgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZCgpLgoJICBEZXBlbmRpbmcgb24gdGhlIG5lYXJlc3QgaW50ZWdlcnMsIHJvdW5kZWQgdmFsdWVzICdvZmZzZXQnIGFuZCAnc2l6ZScgY2FuIHRoZW4gdHJpZ2dlciB0aGUgYXNzZXJ0aW9uLgoJICBUaGlzIGNhc2UgbWFpbmx5IG9jY3VycyB3aGVuICdza2lwJyB2YWx1ZSBpcyA+IDAgaW4gY2hhaW4gZnVuY3Rpb24gcHJvY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1OQoKMjAxNS0wOC0xNyAxODowNjozMCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTcgMTg6MDI6MjggKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNoZWNrIEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlIGlzIHJlbGVhc2UgYmVmb3JlIGJlaW5nIG1vZGlmaWVkLgoJICBNYWtlIHN1cmUgYSBwcmV2aW91cyBjYXNjYWRlLCBpZiBpdCBleGlzdHMsIGlzIHJlbGVhc2VkIGJlZm9yZSBsb2FkaW5nIGEKCSAgbmV3IFhNTCBmaWxlIG9udG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTcgMTc6NDc6NDIgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNvZGUgcmVmYWN0b3Jpbmcgb2YgZ3N0X2hhbmRkZXRlY3RfbG9hZF9wcm9maWxlLgoJICBDaGFuZ2UgZ3N0X2hhbmRkZXRlY3RfbG9hZF9wcm9maWxlKCkgc28gaXQgY2FuIGJlIHVzZWQgZ2VuZXJpY2FsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTggMTE6NTQ6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGFlbmM6IEZpeCBidWlsZAoJICBBbmQgYWxzbyBvbmx5IGdlbmVyYXRlIHRoZSBzdXBwb3J0ZWQgY2FwcyBvbmNlLCBub3Qgb24gZXZlcnkgQ0FQUy9BQ0NFUFRfQ0FQUwoJICBxdWVyeS4gSXQncyBub3QgdGhhdCBjaGVhcC4KCjIwMTUtMDgtMTcgMjM6NDQ6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBhZGQgc2lsZW50IG9wdGlvbgoJICBCeSBkZWZhdWx0IHRoZSBleGFtcGxlIGZsb29kcyB0aGUgc2NyZWVuIHdpdGggdGhlIGRldGVjdGVkIGZhY2UgdmFsdWVzLgoJICBBZGQgYW4gb3B0aW9uIHRvIGF2b2lkIHRoaXMgZm9yIGZyYWlsIHRlcm1pbmFscy4KCjIwMTUtMDgtMTcgMTQ6Mzg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogYWRkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIE92ZXdyaXRlIGRlZmF1bHQgaGFuZGxpbmcgdG8gYXZvaWQgZG9pbmcgYSBjYXBzIHF1ZXJ5LiBDaGVjawoJICB0aGUgcmVjZWl2ZWQgY2FwcyBhZ2FpbnN0IHRoZSBwb3NzaWJsZSBmb3JtYXRzIHN1cHBvcnRlZCBieQoJICB0aGUgeDI2NSBsaWJyYXJ5LgoKMjAxNS0wOC0xNyAxNDozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkgIGRhYWxhZW5jOiBhZGQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgT3Zld3JpdGUgZGVmYXVsdCBoYW5kbGluZyB0byBhdm9pZCBkb2luZyBhIGNhcHMgcXVlcnkuIENoZWNrCgkgIHRoZSByZWNlaXZlZCBjYXBzIGFnYWluc3QgdGhlIHBvc3NpYmxlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5CgkgIHRoZSBkYWFsYSBsaWJyYXJ5LgoKMjAxNS0wOC0xNiAwNzowNjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICB2aWRlb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBvcGVuanBlZ2VuYywgc2Nocm9lbmMsIHdlYnBlbmMsIHBubWVuYwoKMjAxNS0wOC0xNyAxNzozODoxNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IHN1cHBvcnQgYWx0ZXJuYXRpdmUgcGF0aCBjb252ZW50aW9uCgkgIFNvbWUgZGlzdHJpYnV0aW9ucyBzdG9yZSBPcGVuQ1YgZmlsZXMgaW4gL3Vzci9zaGFyZS9vcGVuY3YgYW5kIHNvbWUgb3RoZXJzCgkgIChhbmQgZGVmYXVsdCB3aGVuIGJ1aWxkaW5nIGZyb20gc291cmNlKSBpbnN0YWxsIHRoZW0gaW4KCSAgL3Vzci9zaGFyZS9PcGVuQ1YuIFN1cHBvcnQgYm90aCB0byBmaW5kIGNhc2NhZGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NTEKCjIwMTUtMDgtMTYgMjE6MTg6NTAgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoZGVtdXg6IGxpbmsgYWdhaW5zdCBnaW8gZm9yIGdfcmVzb2x2ZXIgYW5kIGdfaW5ldF9hZGRyZXNzX2Zyb21fc3RyaW5nCgkgIEFkZCBtaXNzaW5nIGdpby0yLjAgQ0ZMQUdTL0xJQlMgdG8gZml4IGxpbmtlciBmYWlsdXJlCgoyMDE1LTA4LTE2IDA3OjE4OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBhdWRpb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBmYWFjLCBnc21lbmMsIG9wdXNlbmMsIHNiY2VuYywgdm9hbXJ3YmVuYywgYWRwY21lbmMsIHNpcmVuZW5jCgoyMDE1LTA4LTE3IDA3OjU1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFJlbW92ZSBjdXN0b20gZ2V0Y2FwcyBhbmQganVzdCB1c2UgdGhlIHRlbXBsYXRlCgkgIFdlIGtub3cgZnJvbSB0aGUgYmVnaW5uaW5nIHRoZSBjYXBzIHRoYXQgYXJlIGFjY2VwdGFibGUsIG5vIG5lZWQKCSAgZm9yIGN1c3RvbSBnZXRjYXBzIG9yIG1hbnVhbGx5IGdlbmVyYXRpbmcgY2Fwcy4KCjIwMTUtMDgtMTcgMDc6NTQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogYWRkIHZlcnNpb24gdG8gZ3N0LWxhdW5jaCBzdHJpbmcgb24gZG9jdW1lbnRhdGlvbgoJICBnc3QtbGF1bmNoIHdpbGwgY2FsbCB0aGUgMC4xMCB2ZXJzaW9uLCB3ZSB3YW50IDEuMAoKMjAxNS0wOC0xNyAwNzoxNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBtYWtlIHRlbXBsYXRlIHBhZCBjYXBzIG1vcmUgYWNjdXJhdGUgYW5kIHJlbW92ZSBjdXN0b20gZ2V0Y2FwcwoJICBBbGxvd3MgcmV1c2luZyBiYXNlY2xhc3MgY2FwcyBxdWVyeSBoYW5kbGluZyBhbmQgc2ltcGxpZnlpbmcgbmVnb3RpYXRpb24KCSAgY29kZS4KCjIwMTUtMDgtMTcgMTE6NTA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogc3RpbGwgcmVzZXQgcGVuZGluZyBhdWRpbyBpbmZvIG9uIGhhcmQgZmx1c2gKCSAgRm9sbG93LXVwIHRvIHByZXZpb3VzIGNvbW1pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQzMQoKMjAxNS0wNy0xNSAxMDo0NDowMiAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXggaGFuZGxpbmcgb2Ygc2FtcGxlIHJhdGUgY2hhbmdlIGR1cmluZyBwbGF5YmFjawoJICBJZiB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIG1lZGlhIGNoYW5nZXMsIHRoZSByZXN1bHRpbmcgZmx1c2ggd2lsbAoJICBjbGVhciB0aGUgaGFzX25leHRfYXVkaW9pbmZvIGZsYWcsIGFuZCB0aGUgY2FwcyB3b24ndCBiZSBzZW50CgkgIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MzEKCjIwMTUtMDMtMTcgMTc6NTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgZ3N0X2Jhc2VfcGFyc2VfbWVyZ2VfdGFncygpCgkgIEluc3RlYWQgb2Ygc3F1YXNoaW5nIGFsbCB1cHN0cmVhbSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTg6MTM6MTIgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogUmVjYWxjdWxhdGUgb2Zmc2V0IGFuZCBzaXplIGluIHJhdyB1cGxvYWQKCSAgQXMgd2Ugb25seSBleHBvc2UgdGhlIG1hcHBlZCBwb3J0aW9uIG9mIHRoZSBmcmFtZSBpbnRvIHRoZSBHTAoJICBtZW1vcnkgb2JqZWN0IChhbmQgbm90IHRoZSBvcmlnaW5hbCBwYWRkaW5nKSB3ZSBuZWVkIHRvCgkgIHJlLWNhbGN1bGF0ZSB0aGUgc2l6ZSBhbmQgb2Zmc2V0LgoKMjAxNS0wOC0xNiAwODo0OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG9mZiBieSBvbmUgc2Vla2luZyBpc3N1ZQoJICBXaGVuIHNlZWtpbmcgdG8gdGhlIGxhc3Qgc2Vjb25kIG9mIGEgbXBkIGl0IHdvdWxkIHJlamVjdCB0aGUgc2VlawoJICBiZWNhdXNlIHRoZSBjb21wYXJpc29uIHdhcyA8IGluc3RlYWQgb2YgPD0KCSAgVGhpcyBmYWlscyB0aGUgaW1wb3J0YW50IHVzZSBjYXNlIG9mIHNlZWtpbmcgdG8gdGhlIGVuZCBvZiBhIGZpbGUKCSAgdG8gcGxheSBpdCBiYWNrIGluIHJldmVyc2UgZnJvbSB0aGUgZW5kCgoyMDE1LTA4LTE2IDEyOjU1OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBpbGxvZ2ljYWwgY29tcGFyaXNpb24KCSAgQSB2YXJpYWJsZSBjYW4ndCBiZSB0d28gdmFsdWVzIGF0IG9uY2UuIFdlIHdhbnQgdG8gc3RvcCBpZiBpdCdzIG5vdCB0aGUKCSAgYWN0dWFsIHRzICpBTkQqIG5vdCB0aGUgb3RoZXIgdHMKCSAgQ0lEICMxMzE2NDc1CgoyMDE1LTA4LTE2IDEyOjUyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRnJlZSBVVENUaW1pbmcgc3RydWN0IGlmIHRoZXJlIGFyZSBubyB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIGl0CgkgIENJRCAxMzE2NDc5CgoyMDE1LTA4LTE1IDIzOjM2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBMaW5rIGFnYWluc3QgR01vZHVsZSBmb3IgdGVzdHMgdXNpbmcgZ19tb2R1bGVfKgoKMjAxNS0wOC0xNSAxOTowNDoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRGVtb3RlIGRlYnVnZ2luZyBsZXZlbAoKMjAxNS0wOC0xNSAxOTowMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWN0dWFsbHkgd2FpdCBmb3IgcGxheWxpc3QgdXBkYXRlIHdoZW4gcmVxdWVzdGVkCgkgIFRoZXJlIGFyZSBzZXZlcmFsIGNhc2VzIHdoZXJlIGEgSExTIHNlcnZlciBjb3VsZCB0ZW1wb3JhcmlseSBoYXZlIHdyb25nCgkgIGZyYWdtZW50cywgb3IgcmVjb25maWd1cmUgdGhlIHBsYXlsaXN0LiBJbiB0aG9zZSBjYXNlcywgd2hlbiB3ZSBnZXQKCSAgZnJhZ21lbnQgZG93bmxvYWQgZmFpbHVyZXMsIHdlICpyZWFsbHkqIHdhbnQgdG8gd2FpdCBhIGJpdCAoZm9yIHRoZSBuZXh0CgkgIHBsYXlsaXN0IHVwZGF0ZSkgYmVmb3JlIHJldHJ5aW5nIHRvIGdldCBmcmFnbWVudHMuCgkgIFByZXZpb3VzbHkgdGhpcyBtZXRob2Qgd2FzIGZpcnN0IGNoZWNraW5nIHRvIHNlZSBpZiB0aGVyZSB3YXMgbmV4dCBmcmFnbWVudHMKCSAgKGFjY29yZGluZyB0byB0aGUgcHJldmlvdXMgbWFuaWZlc3QgdXBkYXRlKSBiZWZvcmUgd2FpdGluZyBmb3IgdGhlIG5leHQgdXBkYXRlLgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCBpZiB0aGF0IGlmIHRoZXJlIGlzIGEgdGVtcG9yYXJ5IGZhaWx1cmUgb24gdGhlIHNlcnZlciwKCSAgdGhhdCdzIHVuY29ycmVsYXRlZCB0byB3aGV0aGVyIHRoZSBtYW5pZmVzdCBjb250YWlucyBuZXh0IGZyYWdtZW50cyBvciBub3QuCgoyMDE1LTA4LTE0IDEyOjI1OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2tzOiBFbnN1cmUgdGhyZWFkLXNhZmUgbGliWDExL0dMIHdoZW4gcnVubmluZyB0ZXN0cwoKMjAxNS0wOC0xNSAxMjo1ODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBhdWRpb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGR0c2RlYywgZmFhZCwgZ3NtZGVjLCBtcGcxMjNhdWRpb2RlYywgb3B1c2RlYywKCSAgc2JjZGVjLCBhZHBjbWRlYywgc2lyZW5kZWMKCjIwMTUtMDgtMTUgMTI6NTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2aWRlb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGRhYWxhZGVjLCBsaWJkZTI2NWRlYywgb3BlbmpwZWdkZWMsIHJzdmdkZWMsIHNjaHJvZGVjLAoJICB3ZWJwZGVjLCBwbm1kZWMsIHZtbmNkZWMsIG9wZW5leHJkZWMKCjIwMTUtMDgtMTUgMTY6MjI6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzIHN1cmUKCSAgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE1LTA4LTE1IDE1OjAyOjMzICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBBbHNvIGRpc2FibGUgdGhlIGJsZW5kIHdoZW4gZG9uZQoKMjAxNS0wOC0xNSAxNDozMToxNSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHNpbms6IEVuYWJsZSBzeW5jIG1ldGEgb24gcG9vbHMgd2Ugb2ZmZXIKCSAgQXMgdGhlIHVwbG9hZCBpcyBhc3luY2hyb25vdXMsIHdlIG5lZWQgdG8gZW5hYmxlIHRoZSBzeW5jIG1ldGEgdG8KCSAgZ2FpbiBjb3JyZWN0IHJlbmRlcmluZy4gVGhlIGJ1ZmZlciBwb29sIHJlY2VpdmVyIGRvbid0IGtub3cgYWJvdXQKCSAgdGhhdC4KCjIwMTUtMDgtMTUgMTU6MTI6MjcgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBBZGQgb3ZlcmxheSBjb21wb3NpdGlvbiBzdXBwb3J0CgkgIFJlbmRlcmluZyBjb21wb3NpdGlvbiBvdmVybGF5IGluIEdMIHdpdGggYWRkaXRpb25hbCBoaWdoIHJlc29sdXRpb24KCSAgb3ZlcmxheSBiZWluZyBhZGRlZC4KCjIwMTUtMDgtMTUgMTU6MDg6MTEgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtnbHNpbms6IEZpeCB1bnNhZmUgaGFuZGxpbmcgb2YgYnVmZmVyIGxpZmUgdGltZQoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGFjdGl2ZSBidWZmZXIgKHRoZSBvbmUgd2UgaGF2ZSByZXRyZWl2ZSBhCgkgIHRleHR1cmUgaWQgZnJvbSkgb3RoZXJ3aXNlIGl0J3MgcmFjeSBhbmQgdXBzdHJlYW0gbWF5IHVwbG9hZAoJICBuZXcgY29udGVudCBiZWZvcmUgd2UgaGF2ZSByZW5kZXJlZCBvciBkdXJpbmcgbGF0ZXIgcmVkaXNwbGF5LgoKMjAxNS0wOC0xNCAxODowNzoxNSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVtb3ZlIHJlc2V0IHBhdGgKCSAgVGhlIHJlc2V0IHBhdGggaXMgYm9ndXMgYW5kIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBnZXQgcmlkIG9mIHRoZXNlCgkgIHRoaW5ncyBkdXJpbmcgcmVzaXplLgoKMjAxNS0wOC0xNCAxNzozNjo0OCArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBNb3ZlIG92ZXJsYXkgcmVuZGVyaW5nIGFmdGVyIHZpZGVvIHJlbmRlcmluZwoJICBUaGlzIGlzIG1vc3RseSBjb3NtZXRpYywgYnV0IGhlb3JldGljYWxseSBpdCByZWR1Y2VzIHRoZSBhbW91bnQgb2YKCSAgcmVxdWlyZWQgb2JqZWN0IGluIHRoZSBjb250ZXh0IGF0IG9uZSBwb2ludC4gSXQgYWxzbyBhdm9pZHMgcG90ZW50aWFsCgkgIGNvbmZsaWN0cy4KCjIwMTUtMDgtMTUgMTQ6NDU6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogQ29weSBtZXRhZGF0YSBpbiB0aGUgcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTE1IDExOjQxOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFVzZSBHU1RfV0FSTklOR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9XQVJOSU5HKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xNSAxMTozMDozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gc2h1dHRpbmcgZG93bgoJICBBIHJhY2UgY29uZGl0aW9uIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gbWF5IGNhdXNlIGJ1ZmZlcnMgdG8gYmUKCSAgdW5yZWZmZWQgd2hpbGUgdGhleSBhcmUgc3RpbGwgdXNlZCBieSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbgoJICBnc3RfcnRwX2gyNjVfcGF5X3NlbmRfdnBzX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4gdXAgdG8gdGhlCgkgIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSBzdHJlYW1pbmcKCSAgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTUtMDgtMTUgMTA6MDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBvcGVuZ2w6IENoYW5nZSBHTGNsYW1wZCB0byBkb3VibGUKCSAgR0xjbGFtcGQgZG9lcyBub3QgZXhpc3Qgb24gR0xFUywgb25seSBkZXNrdG9wIEdMLgoKMjAxNS0wOC0xNCAxMDozMjoxNCAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBvcGVuZ2w6IGFkZCBtaXNzaW5nIENsZWFyRGVwdGggcHJvdG90eXBlCgkgIFRoZSBDbGVhckRlcHRoIGNhbGwgaXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYzOQoKMjAxNS0wOC0wNiAxNDozMzo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDbGVhciBTUFMgaW5mbyBhZnRlciBwcm9jZXNzaW5nLgoJICBUaGUgU1BTIHN0cnVjdCBtaWdodCBiZSBmaWxsZWQgb3V0IGJ5IGEgY2FsbCB0bwoJICBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc3Vic2V0X3Nwcywgd2hpY2ggZmlsbHMgb3V0CgkgIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBkYXRhIGFuZCByZXF1aXJlcyBhIGNhbGwKCSAgdG8gZ3N0X2gyNjRfc3BzX2NsZWFyKCkgdG8gZnJlZSBpdC4gQWxzbyBtYWtlIHN1cmUKCSAgdG8gY2xlYXIgb3V0IGFueSBhbGxvY2F0ZWQgU1BTIGRhdGEgd2hlbiByZXR1cm5pbmcKCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMDYKCjIwMTUtMDgtMTIgMDA6MjA6MjYgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogUmVmYWN0b3IgdGhlIGNvZGUKCSAgU29tZSBsaW5lcyBvZiBjb2RlIGFyZSByZXBlYXRlZCBzZXZlcmFsIHRpbWVzLCB0aGVyZWZvcmUKCSAgdGhpcyBsaW5lcyBhcmUgc2ltcGxpZmllZCB3aXRoIGEgaW5saW5lIGZ1bmN0aW9uLCB0aGF0IHRoaXMgaXMKCSAgcHJvcGVyIHN0eWxlIG9mIEMrKy4KCjIwMTUtMDgtMTQgMTE6NDM6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IGVuYWJsZSBhY2NlcHQtaW50ZXJzZWN0IGFuZCBhY2NlcHQtdGVtcGxhdGUgZmxhZ3Mgb24gc2lua3BhZAoJICBEbyBhIHF1aWNrIGNoZWNrIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGl0IGlzIGVub3VnaC4gVXNlcnMKCSAgc2hvdWxkIGhhdmUgZmlndXJlZCB0aGUgYXBwcm9wcmlhdGUgZnVsbCBjYXBzIG9uIGEgcHJldmlvdXMgY2FwcyBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDExOjQzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZW5hYmxlIGFjY2VwdC10ZW1wbGF0ZSBmbGFnCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTU6MDg6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXIgaWYgdGhlIHBpcGVsaW5lIHdhcyBzaHV0ZG93biB3aGlsZSBhCgkgIFNQUy9QUFMgaGVhZGVyIHdhcyBiZWluZyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjcxCgoyMDE1LTA4LTE0IDExOjQ5OjUxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgcnRwaDI2NWRlcGF5OiBjb3B5IG1ldGFkYXRhIGluIHRoZSBkZXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xNCAwOTo0NDoyNCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgSFRUUCBIRUFEIG1ldGhvZCBvZiB0aW1lIHN5bmMKCSAgVGhlIHVybjptcGVnOmRhc2g6dXRjOmh0dHAtaGVhZDoyMDE0IG1ldGhvZCBvZiB0aW1lIHN5bmNocm9uaXNhdGlvbgoJICB1c2VzIGFuIEhUVFAgSEVBRCByZXF1ZXN0IHRvIGEgc3BlY2lmaWVkIFVSTCBhbmQgdGhlbiBwYXJzZXMgdGhlCgkgIERhdGU6IEhUVFAgcmVzcG9uc2UgaGVhZGVyLgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgdG8gZGFzaGRlbXV4IGZvciB0aGlzIG1ldGhvZCBvZiB0aW1lCgkgIHN5bmNocm9uaXNhdGlvbiBieSBtYWtpbmcgYSBIRUFEIHJlcXVlc3QgYW5kIHRoZW4gcGFyc2luZyB0aGUgRGF0ZToKCSAgcmVzcG9uc2UuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCB0byBnc3RmcmFnbWVudCB0byByZXR1cm4gdGhlIEhUVFAgaGVhZGVycwoJICBhbmQgdG8gdXJpZG93bmxvYWRlciB0byBzdXBwb3J0IEhFQUQgcmVxdWVzdHMuIFRvIGF2b2lkIGNyZWF0aW5nIGEKCSAgbmV3IEFQSSwgdGhlIFJBTkdFIGdldCBmdW5jdGlvbiBpcyByZS11c2VkIChhYnVzZWQ/KSB3aXRoIHN0YXJ0PS0xCgkgIGFuZCBlbmQ9LTEgdG8gaW5kaWNhdGUgYSBIRUFEIHJlcXVlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDgtMTMgMTg6MjE6MjkgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHBvc3QtcmV2aWV3IGZpeHVwIG9mIFVUQ1RpbWluZyBlbGVtZW50CgkgIFRoaXMgY29tbWl0IGFkZHJlc3NlcyB0aGUgZm9sbG93aW5nIGl0ZW1zIGZyb20gdGhlIGNvZGUgcmV2aWV3OgoJICB1c2UgYSBwb3J0YWJsZSB3YXkgdG8gZGVmaW5lIE5UUF9UT19VTklYX0VQT0NILAoJICBmaXggbWVtb3J5IGxlYWsgb24gZXJyb3IsIGFuZAoJICBhZGQgZG9jdW1lbnRhdGlvbiB0byBVVENUaW1pbmcgcGFyc2UgZnVuY3Rpb25zCgkgIFVzaW5nIExMIGlzIG5vdCBwb3J0YWJsZSwgc28gdGhlIEdfR1VJTlQ2NF9DT05TVEFOVCBuZWVkcyB0byBiZSBpbnN0ZWFkLgoJICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIEROUyByZXNvbHV0aW9uLCB0aGUgR0Vycm9yIHdhcyBub3QgYmVpbmcKCSAgcmVsZWFzZWQsIGNhdXNpbmcgYSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wNy0xNSAxMTo1NjoxMyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBVVENUaW1pbmcgZWxlbWVudHMgZm9yIGNsb2NrIGRyaWZ0IGNvbXBlbnNhdGlvbgoJICBVbmxlc3MgdGhlIERBU0ggY2xpZW50IGNhbiBjb21wZW5zYXRlIGZvciB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGl0cwoJICBjbG9jayBhbmQgdGhlIGNsb2NrIHVzZWQgYnkgdGhlIHNlcnZlciwgdGhlIGNsaWVudCBtaWdodCByZXF1ZXN0CgkgIGZyYWdtZW50cyB0aGF0IGVpdGhlciBub3QgeWV0IG9uIHRoZSBzZXJ2ZXIgb3IgZnJhZ21lbnRzIHRoYXQgaGF2ZQoJICBhbHJlYWR5IGJlZW4gZXhwaXJlZCBmcm9tIHRoZSBzZXJ2ZXIuIFRoaXMgaXMgYW4gaXNzdWUgYmVjYXVzZSB0aGVzZQoJICByZXF1ZXN0cyBjYW4gcHJvcGFnYXRlIGFsbCB0aGUgd2F5IGJhY2sgdG8gdGhlIG9yaWdpbgoJICBJU08vSUVDIDIzMDA5LTE6MjAxNC9BbWQgMSBbUERBTTFdIGRlZmluZXMgYSBuZXcgVVRDVGltaW5nIGVsZW1lbnQgdG8gYWxsb3cKCSAgYSBEQVNIIGNsaWVudCB0byB0cmFjayB0aGUgY2xvY2sgdXNlZCBieSB0aGUgc2VydmVyIGdlbmVyYXRpbmcgdGhlCgkgIERBU0ggc3RyZWFtLiBNdWx0aXBsZSBVVENUaW1pbmcgZWxlbWVudHMgbWlnaHQgYmUgcHJlc2VudCwgdG8gaW5kaWNhdGUKCSAgc3VwcG9ydCBmb3IgbXVsdGlwbGUgbWV0aG9kcyBvZiBVVEMgdGltZSBnYXRoZXJpbmcuIEVhY2ggZWxlbWVudCBjYW4KCSAgY29udGFpbiBhIHdoaXRlIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIFVSTHMgdGhhdCBjYW4gYmUgY29udGFjdGVkCgkgIHRvIGRpc2NvdmVyIHRoZSBVVEMgdGltZSBmcm9tIHRoZSBzZXJ2ZXIncyBwZXJzcGVjdGl2ZS4KCSAgVGhpcyBjb21taXQgcHJvdmlkZXMgcGFyc2luZyBvZiBVVENUaW1pbmcgZWxlbWVudHMsIHVuaXQgdGVzdHMgb2YgdGhpcwoJICBwYXJzaW5nIGFuZCBhIGZ1bmN0aW9uIHRvIHBvbGwgYSB0aW1lIHNlcnZlci4gVGhpcyBmdW5jdGlvbgoJICBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CgkgIHVybjptcGVnOmRhc2g6dXRjOm50cDoyMDE0CgkgIHVybjptcGVnOmRhc2g6dXRjOmh0dHAteHNkYXRlOjIwMTQKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC1pc286MjAxNAoJICB1cm46bXBlZzpkYXNoOnV0YzpodHRwLW50cDoyMDE0CgkgIFRoZSBtYW5pZmVzdCB1cGRhdGUgdGFzayBpcyB1c2VkIHRvIHBvbGwgdGhlIGNsb2NrIHRpbWUgc2VydmVyLAoJICB0byBzYXZlIGhhdmluZyB0byBjcmVhdGUgYSBuZXcgdGhyZWFkLgoJICBXaGVuIGNob29zaW5nIHRoZSBzdGFydGluZyBmcmFnbWVudCBudW1iZXIgYW5kIHdoZW4gd2FpdGluZyBmb3IgYQoJICBmcmFnbWVudCB0byBiZWNvbWUgYXZhaWxhYmxlLCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzZXJ2ZXIncyBpZGVhCgkgIG9mIFVUQyBhbmQgdGhlIGNsaWVudCdzIGlkZWEgb2YgVVRDIGlzIHRha2VuIGludG8gYWNjb3VudC4gRm9yIGV4YW1wbGUsCgkgIGlmIHRoZSBzZXJ2ZXIncyB0aW1lIGlzIGJlaGluZCB0aGUgY2xpZW50J3MgaWRlYSBvZiBVVEMsIHdlIHdhaXQgZm9yCgkgIGxvbmdlciBiZWZvcmUgcmVxdWVzdGluZyBhIGZyYWdtZW50CgkgIFtQREFNMV06IGh0dHA6Ly93d3cuaXNvLm9yZy9pc28vaG9tZS9zdG9yZS9jYXRhbG9ndWVfdGMvY2F0YWxvZ3VlX2RldGFpbC5odG0/Y3NudW1iZXI9NjYwNjgKCSAgZGFzaGRlbXV4OiBzdXBwb3J0IE5UUCB0aW1lIHNlcnZlcnMgaW4gVVRDVGltaW5nIGVsZW1lbnRzCgkgIFVzZSB0aGUgZ3N0X250cF9jbG9jayB0byBzdXBwb3J0IHRoZSB1c2Ugb2YgYW4gTlRQIHNlcnZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xNCAxMToxMzo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIGNoZWNrOiBSZW5hbWUgc3RhdGVzIHVuaXQgdGVzdAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIG90aGVyIG1vZHVsZXMgc3RhdGVzIHVuaXQgdGVzdAoKMjAxNS0wOC0xMyAxMDozMToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBzcHUtcGdzOiBmaXggYnVmZmVyIGFuZCBldmVudCBsZWFrCgkgIFdoZW4gcGxheWluZyBtdHMgZmlsZXMgd2l0aCBlbWJlZGRlZCBzdWJ0aXRsZXMsIHRoZSBidWZmZXIgaXMgbWFwcGVkLAoJICBidXQgbm90IHVubWFwcGVkIGF0IHRoZSBlbmQgcmVzdWx0aW5nIGluIGEgbWVtb3J5IGxlYWsuCgkgIEFsc28gdW5yZWYgZXZlbnQgaW4gaGFuZGxlX2R2ZF9ldmVudCBhcyBpdCB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTM5CgoyMDE1LTA4LTEzIDEwOjI1OjUyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggZXZlbnQgbGVha3MKCSAgV2hlbiBwbGF5aW5nIG10cyBmaWxlcyB3aXRoIGVtYmVkZGVkIHN1YnRpdGxlcywgdGhlcmUgYXJlIGZldyBldmVudCBsZWFrcy4KCSAgRXZlbnRzIGFyZSBzdXBwb3NlZCB0byBiZSB0cmFuc2ZlciBmdWxsLiBTbyBpZiBub3QgZm9yd2FyZGluZyB0aGUgZXZlbnQsCgkgIHRoZXkgbmVlZCB0byBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzUzOQoKMjAxNS0wOC0xMyAxMjozODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgUmV2ZXJ0ICJzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmYxMWExYThhMGM2ODVkMmVkZDBlMDZjMDA3MWNiYjk0ZjJjYjY2My4KCSAgSXQgY2FuJ3QgYmUgYXNzdW1lZCB0aGF0IGFsbCBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QgaGF2ZSB0aGUgc2FtZSBTU1JDIG9yCgkgIGFyZSBSVFAgb3IgUlRDUCBvbmx5LiBJdCBoYXMgdG8gYmUgY2hlY2tlZCBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlciwgYW5kIG9uZQoJICBiYXNpY2FsbHkgaGFzIHRvIGRvIHRoZSBwcm9jZXNzaW5nIHRoYXQgaXMgZG9uZSBieSB0aGUgZGVmYXVsdCBjaGFpbl9saXN0CgkgIGltcGxlbWVudGF0aW9uLgoKMjAxNS0wOC0xMiAxNzo1NDo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogY2hlY2tpbmcgaWYgZGVwYXkgaGFzIHNwcy9wcHMgbmFscyBiZWZvcmUgaW5zZXJ0aW9uCgkgIFJlbGF0ZWQgdG86IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNzoyMjo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogb25seSB1cGRhdGUgdGhlIHNyY3BhZCBjYXBzIGlmIHNvbWV0aGluZyBlbHNlIHRoYW4gdGhlIGNvZGVjX2RhdGEgY2hhbmdlZAoJICBoMjY0cGFyc2UgYW5kIGdzdHJ0cGgyNjRkZXBheSBkbyB0aGUgc2FtZSwgbGV0J3Mga2VlcCB0aGUgYmVoYXZpb3VyCgkgIGNvbnNpc3RlbnQuIEFzIHdlIG5vdyBpbmNsdWRlIHRoZSBjb2RlY19kYXRhIGluc2lkZSB0aGUgc3RyZWFtLCB0aGlzIGNhdXNlcwoJICBsZXNzIGNhcHMgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjo0Mzo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogUFBTIHJlcGxhY2VzIG9sZCBQUFMgaWYgaXQgaGFzIHRoZSBzYW1lIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6MTE6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IEluc2VydCBTUFMvUFBTIE5BTHMgaW50byB0aGUgc3RyZWFtCgkgIHJ0cGgyNjRkZXBheSBkb2VzIHRoZSBzYW1lIGFuZCB0aGlzIGZpeGVzIGRlY29kaW5nIG9mIHNvbWUgc3RyZWFtcyB3aXRoIDMyCgkgIFNQUyAob3IgMjU2IFBQUykuIEl0IGlzIGFsbG93ZWQgdG8gaGF2ZSBTUFMgSUQgMCB0byAzMSAob3IgUFBTIElEIDAgdG8gMjU1KSwKCSAgYnV0IHRoZSBmaWVsZCBpbiB0aGUgY29kZWNfZGF0YSBmb3IgdGhlIG51bWJlciBvZiBTUFMgb3IgUFBTIGlzIG9ubHkgNQoJICAob3IgOCkgYml0LiBBcyBzdWNoLCAzMiBTUFMgKG9yIDI1NiBQUFMpIGFyZSBpbnRlcnByZXRlZCBhcyAwIGV2ZXJ5d2hlcmUuCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2UgaW4gdGhlIHBhcnQgb2YgdGhlIHNwZWN0IGFib3V0IHRoZSBjb2RlY19kYXRhLgoKMjAxNS0wOC0xMiAxNTo0OTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndCBuZWVkIHRvIG1hcCB0aGUKCSAgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UgdGhlIG1hcHBpbmcgdGhlIGJhc2UgY2xhc3MgaGFzCgkgIGFscmVhZHkgZG9uZS4KCSAgQmFzZWQgb246IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNToxNDo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogVXNlIEdTVF9CVUZGRVJfUFRTKCkgaW5zdGVhZCBvZiBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpCgkgIFN3aXRjaGluZyB0byBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBydHAgY29kZS4KCjIwMTUtMDgtMTIgMTQ6NTk6NTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0byBhCgkgIHNlZ2ZhdWx0LgoJICBSZWxhdGVkIHRvIHJwdGgyNjRkZXBheTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE5OQoKMjAxNS0wOC0xMiAwNzo1ODowOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSByYW5nZSBvZiBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20KCSAgQ2hyb21hTG9nMldlaWdodERlbm9tID0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSArIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBUaGUgdmFsdWUgb2YgQ2hyb21hTG9nMldlaWdodERlbm9tIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgMCB0byA3IGFuZAoJICB0aGUgdmFsdWUgbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgc2hvdWxkIGJlIGFsc28gaW4gdGhlIHJhbmdlIG9mIDAgdG8gNy4KCSAgV2hpY2ggbWVhbnMgLCBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20gY2FuIGhhdmUgdmFsdWVzIGluIHRoZSByYW5nZQoJICBiZXR3ZWVuIC03IGFuZCA3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTUyCgoyMDE1LTA4LTEyIDA1OjExOjI3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHBhcnNpbmcgb2YgcmVmX3BpY19saXN0c19tb2RpZmljYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU1MgoKMjAxNS0wOC0xMiAwMDoyMDoxMCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB0YWtlIGludG8gYWNjb3VudCBub24gMS8xIHBhciBmb3IgbmF2aWdhdGlvbgoJICBUaGUgY3VycmVudCBjb2RlIHdhcyBpZ25vcmluZyB0aGUgcGFyL2RhciBhc3BlY3Qgd2hlbiB0cmFuc2Zvcm1pbmcKCSAgZnJvbSB3aW5kb3cgY29vcmRpbmF0ZXMgdG8gc3RyZWFtIGNvb3JkaW5hdGVzIHJlc3VsdGluZyBpbiBpbmNvcnJlY3QKCSAgY29vcmRpbmF0ZXMgYmVpbmcgc2VudCB1cHN0cmVhbSBpbiB0aGUgbmF2aWdhdGlvbiBldmVudHMuCgoyMDE1LTA4LTEyIDAwOjE4OjIwICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBmaXggbW90aW9uIGV2ZW50IG5hbWUKCSAgcy9tb3Rpb24vbW91c2UvCgkgIEZpeGVzIGhvdmVyIGludGVyYWN0aW9uIHdpdGggRFZEIG1lbnVzCgoyMDE1LTA4LTEyIDAwOjE0OjE0ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBjb3JyZWN0IG5hdmlnYXRpb24gZXZlbnRzIGZvciB3aW5kb3cgc2NhbGluZwoJICBpLmUuIHRha2UgaW50byBhY2NvdW50IHRoZSBwb3NzaWJsaXR5IG9mIHNjYWxpbmcgaW4gdGhlIHNpbmsKCSAgb3IgdGhyb3VnaCBHREtfU0NBTEUuCgkgIEZpeGVzIERWRCBNZW51cyB3aXRoIGEgc2NhbGVkIGd0a3dpZGdldAoKMjAxNS0wOC0xMSAxNTowMjoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBGaXggc2V0dGluZyBzdHJpbmcgcGFyYW1ldGVycwoJICBTdHJpbmcgcGFyYW1ldGVycyBhcmUgZXhwZWN0ZWQgdG8gYmUgcGFzc2VkIGFzIChmMHJfcGFyYW1fc3RyaW5nICopLAoJICB3aGljaCBhY3R1YWxseSBtYXAgdG8gY2hhcioqLiBJbiB0aGUgZmlsdGVycyB0aGlzIGlzIGV2YWx1YXRlZCBhcwoJICAoKihjaGFyKiopcGFyYW0pIHdoaWNoIGN1cnJlbnRseSBsZWFkIHRvIGNyYXNoIHdoZW4gcGFzc2luZyBjaGFyKi4KCSAgUmVtb3ZlIHRoZSBzcGVjaWFsIGNhc2UgZm9yIHN0cmluZywgYWxsIHR5cGVzLCBpbmNsdWRpbmcgY2hhciogYXMKCSAgcGFzc2VkIGFzIGEgcmVmZXJlbmNlLgoJICBodHRwczovL3BoYWJyaWNhdG9yLmZyZWVkZXNrdG9wLm9yZy9UODMKCjIwMTUtMDgtMTEgMTM6MzQ6NTkgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGs6IGltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBOb3cgd2UgY2FuIHB1c2gga2V5L21vdXNlIGlucHV0IGludG8gdGhlIHBpcGVsaW5lIGZvciBEVkQgdXNlIGNhc2VzLgoKMjAxNS0wNi0zMCAxMzo1MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0IHRhZ3Mgb3IKCSAgd2l0aCBvbmx5IHRoZSBhdWRpbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTEgMDQ6MTQ6MTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NTogRml4IHRoZSBmcmFtZSBzdGFydCBkZXRlY3Rpb24gY29kZQoJICBDaGVjayBzbGljZSBoZWFkZXJzIGluIGJldHdlZW4gR1NUX0gyNjVfTkFMX1NMSUNFX1RSQUlMX04KCSAgYW5kIEdTVF9IMjY1X05BTF9TTElDRV9SQVNMX1IgZm9yIGZyYW1lIHN0YXJ0IGRldGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5NwoKMjAxNS0wOC0xMSAwMzo0Nzo0MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY1OiBBdm9pZCBza2lwcGluZyBvZiBFT1MgYW5kIEVPQiBuYWxzCgkgIEVuZE9mU2VxdWVuY2UgYW5kIEVuZE9mQml0c3RyZWFtIG5hbCB1bml0cyBoYXZlIHNpemUgb2YgMiBieXRlcy4KCSAgRG9uJ3QgY29uc2lkZXIgdGhlbSBhcyBicm9rZW4gbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5NwoKMjAxNS0wOC0xMCAyMzowMjoxMiArMDIwMCAgVmFuZXNzYSBDaGlwaSA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogd3JvbmcgZm9ybSB0byB3cml0ZSB0aGUgZGVsZXRlIG9wZXJhdG9yCgkgIFRoZSBkZWxldGUgb3BlcmF0b3IgaXMgd3JpdHRlbiB0aGlzIHdheTogZGVsZXRlIChjYXNjYWRlKS4gVGhpcyB3YXkgaXMKCSAgbWlzc3BlbGxlZCwgaXQgaXMgYW4gb3BlcmF0b3IsIG5vdCBhIGZ1bmN0aW9uLiBEZWxldGUgdGhlIHBhcmVudGhlc2VzLgoKMjAxNS0wOC0xMCAxOToxMzoxMSArMDIwMCAgdmFuZWNoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBzaW1wbGlmeSByZXBlYXRlZCBjb2RlLgoJICBTdG9yZSB0aGUgdmFsdWUgb2Ygci5oZWlnaHQgLyAyIGluc3RlYWQgb2YgcmVwZWF0aW5nIHRoZSBvcGVyYXRpb24gbGluZQoJICB0aHJlZSB0aW1lcy4KCjIwMTUtMDgtMTAgMTk6MDI6MTAgKzAyMDAgIHZhbmVjaGlwaSA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogUmVkdW5kYW5jeSBleGlzdHMgaW4gY29kZS4KCSAgQ2hlY2tpbmcgdGhlIHZlY3RvciBpcyBub3QgZW1wdHkgYW5kIGNoZWNraW5nIHRoZSB2ZWN0b3Igc2l6ZSBpcyBncmVhdGVyCgkgIHRoYW4gemVybyBhcmUgdGhlIHNhbWUgdGhpbmcsIHRoaXMgaXMgYSByZWR1bmRhbmN5IGluIHRoZSBjb2RlLiBPbmx5CgkgIGNoZWNraW5nIHRoZSB2ZWN0b3IgaXMgbm90IGVtcHR5IGlzIHN1ZmZpY2llbnQsIHRoZXJlZm9yZSByZW1vdmluZyB0aGUKCSAgb3RoZXIgY2hlY2suCgoyMDE1LTA4LTEwIDE0OjQ4OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBBZGQgb3BlbmdsX3ZlcnNpb24uaCB0byB0aGUgbGlzdCBvZiBzb3VyY2VzCgkgIEFkZGluZyB0aGlzIHByaXZhdGUgaGVhZGVyIHRvIHRoZSBsaXN0IG9mIHNvdXJjZXMuIFdlIGRvbid0IHdhbnQgdG8gbWFrZQoJICB0aGlzIGhlYWRlciBwdWJsaWMsIGJ1dCB3ZSBuZWVkIGl0IGluIHRoZSBsaXN0IG9mIHNvdXJjZXMgb3RoZXJ3aXNlIGl0CgkgIHdvbid0IGJlIGluY2x1ZGVkIGluIHRoZSB0YXJiYWxsLiBUaGlzIGZpeGVzIG1ha2UgZGlzdGNoZWNrLgoJICBUaGlzIHJlZ3Jlc3Npb24gd2FzIGludHJvZHVjZWQgYnkgY29tbWl0IDFhNmZlM2RiCgoyMDE1LTA4LTEwIDE5OjA2OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogb25seSBjcmVhdGUgdmFyaWFibGVzIHdoZW4gbmVlZGVkCgkgIFRoZSB2YXJpYWJsZXMgdG8gc3RvcmUgZmFjZSB2YWx1ZXMgYXJlIG9ubHkgbmVlZGVkIGlmIHRoZXkgd2lsbCBiZSB1c2VkIHRvCgkgIGNvbnRyb2wgdGhlIHZvbHVtZS4gV2hpY2ggaXNuJ3QgdGhlIGRlZmF1bHQgdG8gYXZvaWQgcG90ZW50aWFsbHkgYmVpbmcgdmVyeQoJICBsb3VkIGFjY2lkZW50YWxseS4gT25seSBjcmVhdGUgdmFyaWFibGVzIHdoZW4gbmVlZGVkLgoKMjAxNS0wOC0xMCAxNjo1MToxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IG1ha2Ugdm9sdW1lIGNvbnRyb2wgb3B0aW9uYWwKCjIwMTUtMDgtMTAgMTY6Mzg6MzIgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiB1c2UgZ2xlczIgc2hhZGVycyBldmVyeXdoZXJlCgkgIFRoaXMgZWZmZWN0aXZlbHkgbGltaXRzIGEgZ2xmaWx0ZXIgc3ViY2xhc3MgdG8gYmUgPiBHTChFUykgMi4wLgoJICByYXRoZXIgdGhhbiBhIHBvc3NpYmxlIEdMIDEuNC4KCjIwMTUtMDgtMTAgMTU6NDQ6NTQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dC93Z2w6IGltcGxlbWVudCBnbDMgY29yZSBwcm9maWxlIGNvbnRleHQgc2VsZWN0aW9uCgoyMDE1LTAyLTI4IDAxOjA3OjQ0ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBpbXBsZW1lbnQgcGl2b3QgcG9pbnQgZm9yIHJvdGF0aW9uIGFuZCBzY2FsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgkgIEFkZCBhIHBpdm90IHZlY3RvciBmb3Igc2V0dGluZyB0aGUgb3JpZ2luIG9mIHJvdGF0aW9ucyBhbmQgc2NhbGVzLgoJICBXaXRoIHRoZSBwaXZvdCBwb2ludCB0aGUgcm90YXRpb24gYW5kIHNjYWxlIG9wZXJhdGlvbnMgY2FuIGhhdmUKCSAgZGlmZmVyZW50IG9yaWdpbnMuIFRoaXMgYWRkcyB0aGUgYWJpbGl0eSB0byByb3RhdGUgYXJvdW5kIGRpZmZlcmVudCBwb2ludHMuCgkgIEN1cnJlbnRseSB0aGUgZGVmYXVsdCAoMCwgMCkgcGl2b3QgcG9pbnQgaXMgcG9zc2libGUsCgkgIGEgcm90YXRpb24gYXJvdW5kIHRoZSBjZW50ZXIsIGFuZCB6b29taW5nIGludG8gYW5kIG91dCBvZiB0aGUgY2VudGVyLgoJICBXaXRoIGFuIHBpdm90IHBvaW50IHRoaXMgaXMgb3B0aW9uYWwuCgkgIEkgZGVmaW5lZCB0aGUgZm9sbG93aW5nIGltYWdlIGNvb3JkaW5hdGVzIGZvciB0aGUgcGl2b3QgcG9pbnQ6CgkgICgtMSwxKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICgxLDEpCgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJICAoMCwwKQkJfAoJICB8CQkJfAoJICB8CQkJfAoJICB8CQkJfAoJICAoLTEsLTEpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKDEsLTEpCgkgIEV4YW1wbGU6CgkgIFJvdGF0ZSB0aGUgdmlkZW8gYXQgdGhlIGJvdHRvbSBsZWZ0IGNvcm5lcgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgXAoJICAhIGdsdHJhbnNmb3JtYXRpb24gXAoJICBzY2FsZS14PTAuNSBcCgkgIHNjYWxlLXk9MC41IFwKCSAgcm90YXRpb24tej0yNS4wIFwKCSAgcGl2b3QteD0tMS4wIFwKCSAgcGl2b3QteT0tMS4wIFwKCSAgISBnbGltYWdlc2luawoJICBUaGUgcGl2b3QteiBvcHRpb24gZGVmaW5lcyB0aGUgcGl2b3QgcG9pbnQgaW4gM0Qgc3BhY2UuCgkgIFRoaXMgb25seSBhZmZlY3RzIHJvdGF0aW9uLCBzaW5jZSB3ZSBoYXZlIG5vIFogZGF0YSB0byBzY2FsZS4KCSAgV2l0aCB0aGlzIG9wdGlvbiBhIHZpZGVvIGNhbiBiZSByb3RhdGVkIGFyb3VuZCBhIHBvaW50IGluIDNEIHNwYWNlLgoJICBFeGFtcGxlOgoJICBSb3RhdGUgYXJvdW5kIHBvaW50IGJlaGluZCB0aGUgdmlkZW86CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyBcCgkgICEgZ2x0cmFuc2Zvcm1hdGlvbiBcCgkgIHJvdGF0aW9uLXg9MTAuMCBcCgkgIHBpdm90LXo9LTQuMCBcCgkgICEgZ2xpbWFnZXNpbmsKCjIwMTUtMDgtMDggMTQ6NDU6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQWRkIHNoYWRlciB0byBjb252ZXJ0IEJHUkEvQVJHQiAtPiBSR0JBCgkgIERlcGVuZGluZyBvbiB0aGUgYnl0ZXMgb3JkZXIgd2Ugd2lsbCBnZXQgQkdSQSAobGl0dGxlKSBhbmQgQVJHQiAoYmlnKQoJICBmcm9tIHRoZSBjb21wb3NpdGlvbiBvdmVybGF5IGJ1ZmZlciB3aGlsZSBvdXIgR0wgY29kZSBleHBlY3RzIFJHQkEuIEFkZAoJICBhIGZyYWdtZW50IHNoYWRlciB0aGF0IGRvIHRoaXMgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg0MgoKMjAxNS0wOC0wOCAxNzoyODowMyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogaW1wbGVtZW50IHRoZSByZXF1aXJlZCBtdWx0aXBsZSBHTCBjb250ZXh0IHN5bmNob25pc2F0aW9uCgkgIEZyb20gR1N0cmVhbWVyJ3MgR0wgY29udGV4dCBpbnRvIHRoZSBRTUwgY29udGV4dAoKMjAxNS0wOC0wOCAxNzoyMjowNSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2wvc3luY21ldGE6IGltcGxlbWVudCBzeW5jaHJvbmlzYXRpb24gd2l0aG91dCBnbEZlbmNlU3luYwoJICBVc2VzIGdsRmluaXNoIGFzIHRoYXQncyB0aGUgYmVzdCB3ZSBoYXZlIGZvciBsZXNzZXIgT3BlbkdMIHZlcnNpb25zLgoKMjAxNS0wOC0wOCAxNTo0NTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogb3V0cHV0IFRJTUUgc2VnbWVudCBpZiB3ZSBvdXRwdXQgYSBzdHJlYW0gYW5kIHdvbid0IHNlZWsgYmFjayBsYXRlcgoJICBDaGVjayBpZiBkb3duc3RyZWFtIGlzIHNlZWthYmxlIHZpYSBhIFNFRUtJTkcgcXVlcnkgYW5kIG91dHB1dCBhCgkgIEJZVEUgc2VnbWVudCBpZiB3ZSB3YW50IHRvIHNlZWsgYmFjayB0byBmaXggdXAgdGhlIGhlYWRlcnMgbGF0ZXIsCgkgIGJ1dCBpZiB3ZSdyZSBzdHJlYW1pbmcgc2VuZCBhIFRJTUUgc2VnbWVudCBpbnN0ZWFkICh3aGljaCBnb2VzCgkgIGRvd24gYmV0dGVyIHdpdGggZS5nLiBhc2ZtdXggISBydHBhc2ZwYXkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDE1LTA4LTA4IDE1OjMwOjQzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0cy9nbGNvbnRleHQ6IGZpeCBJTlZBTElEX0VOVU0gR0wgZXJyb3IgaW4gdGVzdAoKMjAxNS0wOC0wOCAxNToyMTowMyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGNvbnRleHQvZ2x4OiBvbmx5IHVzZSBnbFhDcmVhdGVDb250ZXh0QXR0cmlicyBmb3IgT3BlbkdMIDMgY29udGV4dHMKCSAgbWVzYSBmb3IgZXhhbXBsZSB3aGVuIGNyZWF0aW5nIGEgR0wgMy4xIGNvbXBhdGliaWxpdHkgY29udGV4dAoJICBvdmVycmlkZXMgb3VyIGNvbnRleHQgcHJvZmlsZSBzZWxlY3Rpb24gdG8gY3JlYXRlIGEgY29yZSBjb250ZXh0LgoKMjAxNS0wOC0wOCAxMzoxOTo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IG9ubHkgc2V0IHRvIHBsYXlpbmcgd2hlbiBpdCdzIG5vdCBhbHJlYWR5CgoyMDE1LTA4LTA4IDEyOjUyOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBvcGVuY3Y6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZXR0aW5nIG9mIGEgcHJvcGVydHkKCSAgIi9kZXYvdmlkZW8wIiBpcyB0aGUgZGVmYXVsdCBkZXZpY2Ugb2YgdjRsMnNyYywgc2V0dGluZyBpdCB0byB0aGlzIGlzCgkgIHJlZHVuZGFudC4KCjIwMTUtMDgtMDcgMTU6NDM6NTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBmaXggcHJvZmlsZSBsb2FkaW5nIGNoZWNrCgkgIFNpbmNlIHRoZSBwcm9maWxlIGdjaGFyIGRlcGVuZHMgb24gREVGQVVMVF9GQUNFX1BST0ZJTEUsIGl0IHNob3VsZCBuZXZlciBiZQoJICBOVUxMLiBGdXJ0aGVybW9yZSBDYXNjYWRlQ2xhc3NpZmllciBhY2NlcHRzIGFueSBpbnB1dCwgZXZlbgoJICBhbiBlbXB0eSBvbmUsIGJ1dCBpZiB0aGUgcHJvZmlsZSBmYWlscyB0byBsb2FkIGl0IHJldHVybnMgYW4gZW1wdHkgY2FzY2FkZS4KCSAgQ2hlY2sgZm9yIHRoaXMgaW5zdGVhZCwgYW5kIGluZm9ybSB0aGUgdXNlciBpZiB0aGVyZSB3YXMgYW4gRXJyb3IuCgoyMDE1LTA4LTA2IDExOjMwOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHdhcm4gYWJvdXQgZHVyYXRpb24gaWYgaXQgaXMgbm90IGtub3duCgkgIEFuZCBhbHNvIHByaW50IHRoZSB2YWx1ZXMgaW4gY2FzZSBvZiB3YXJuaW5nCgoyMDE1LTA4LTA3IDEzOjE2OjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBhZGQgbmV3IGV4YW1wbGUgZmlsZQoJICBDb21taXQgMDJiOWRhYWZkZjY0YWIyMDVlZDcyNWY1NDk2ZGZhNWNlODYwZWFjYyBhZGRlZCBhIG5ldyBleGFtcGxlIGZpbGUKCSAgdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdCwgYWRkaW5nIGl0IHRvIC5naXRpZ25vcmUKCjIwMTUtMDgtMDcgMTM6MDg6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBjb25maWd1cmU6IHVwZGF0ZSBPcGVuQ1YgcmVxdWlyZW1lbnRzIHRvIDIuMy4wCgkgIFdpdGggZmFjZWRldGVjdCBwb3J0ZWQgdG8gQysrIHRoZSBtaW5pbXVtIHZlcnNpb24gb2YgT3BlbkNWCgkgIHN1cHBvcnRlZCBpcyAyLjMuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA4LTA3IDA1OjU4OjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDgtMDYgMTg6MTI6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgcmdiMmJheWVyOiBVc2UgbWFwcGVkIGZyYW1lIHN0cmlkZQoKMjAxNS0wOC0wNiAxODoxMTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICByZ2IyYmF5ZXI6IFByb3RlY3QgYWdhaW5zdCBmYWlsaW5nIG1hcAoKMjAxNS0wOC0wNiAxODowNDo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFJlYWQgc3RyaWRlIGZyb20gdGhlIHZpZGVvIGluZm8KCjIwMTUtMDgtMDYgMTg6MDQ6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBQcm90ZWN0IGFnYWluc3QgZmFpbGluZyBtYXAKCjIwMTUtMDgtMDYgMTk6MjM6NDkgKzAzMDAgIElseWEgQXZlcnlhbm92IDxpLmF2ZXJ5YW5vdkBnZW9zY2FuLmFlcm8+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGU6IEZpeCB3cm9uZyBwYWQgaW4gdmlkZW9lbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMjYKCjIwMTUtMDgtMDMgMTY6NTc6MzEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvKCkKCSAgVGhlIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfZnJhZ21lbnRfaW5mbyBmdW5jdGlvbiBjb3VsZCBjYWxsCgkgIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvIGZ1bmN0aW9uIHR3aWNlLiBUaGUKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gZnVuY3Rpb24gd2lsbCBzZXQgaGVhZGVyX3VyaSBhbmQKCSAgaW5kZXhfdXJpIHRvIHNvbWUgbmV3bHkgYWxsb2NhdGVkIHN0cmluZ3MuIFRoZSB2YWx1ZXMgc2V0IGJ5IHRoZSBmaXJzdCBjYWxsIG9mCgkgIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvIHdpbGwgbGVhayB3aGVuIHRoZSBmdW5jdGlvbiBpcwoJICBjYWxsZWQgZm9yIGEgc2Vjb25kIHRpbWUuCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBjYWxsIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJhZ21lbnRfY2xlYXIgYmVmb3JlIHRoZQoJICBzZWNvbmQgY2FsbCBvZiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTg4CgoyMDE1LTA4LTA1IDE0OjUyOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFNlZ21lbnQgc2hvdWxkIHN0YXJ0IGF0IGJhc2UgdHMKCSAgSW5zdGVhZCB3ZSB3b3VsZCB1c2UgY3VyX3RzIHdoaWNoIG1hdGNoZXMgdGhlIGxhc3QgVFMgc3RvcmUKCSAgaW4gdGhlIGJ1ZmZlciBsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDM3CgoyMDE1LTA4LTA1IDEyOjU2OjU3ICswMjAwICBBbmRlcnMgSm9uc3NvbiA8YW5kZXJzLmpvbnNzb25Abm9yc2pvdmFsbGVuLnNlPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBGaXggc3RyaW5nIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MQoKMjAxNS0wOC0wNSAxMTo1NjozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogZnJlZSBJcGxJbWFnZSB3aXRoIGN2UmVsZWFzZUltYWdlCgkgIFVzaW5nIGRlbGV0ZSgpIHdpdGggSXBsSW1hZ2Ugd2lsbCBmYWlsIHRvIGZyZWUgc29tZSBvZiB0aGUgc3RydWN0dXJlJ3MKCSAgY29udGVudHMuIGN2UmVsZWFzZUltYWdlKCkgaXMgdGhlIHByb3BlciB3YXkgb2YgZnJlZWluZyB0aGUgbWVtb3J5LgoKMjAxNS0wOC0wNSAxMTozOTowMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogY2hlY2sgcG9pbnRlciBiZWZvcmUgdXNpbmcgaXQKCSAgQ2hlY2sgaWYgcHJvZmlsZSBpcyBOVUxMIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0IHdpdGggbmV3LiBBbHNvLCBuZXcgd2lsbAoJICBuZXZlciByZXR1cm4gTlVMTDsgaWYgYWxsb2NhdGlvbiBmYWlscywgYSBzdGQ6OmJhZF9hbGxvYyBleGNlcHRpb24gd2lsbCBiZQoJICB0aHJvd24gaW5zdGVhZC4gUmVtb3ZlIGNoZWNrIGZvciBhIE5VTEwgcmV0dXJuLgoJICBDSUQgIzEzMTUyNTgKCjIwMTUtMDgtMDUgMTE6MTQ6NDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgbGV2ZWxfb2sgaXMgb25seSB1c2VkIGluIGEgY2hlY2sgdGhhdCB3aWxsIG5ldmVyIGJlIHRydWUsIHJlbW92aW5nIGl0LgoJICBDSUQgIzEzMTUyNTUKCjIwMTUtMDgtMDUgMTE6MTE6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IGZpeCBtZW1vcnkgbGVhawoJICBGcmVlIHZwc19uYWwgYmVmb3JlIHJldHVybmluZy4KCSAgQ0lEICMxMzE1MjU3CgoyMDE1LTA4LTA0IDIzOjE1OjM2ICswMjAwICBDYXJsb3MgR2FybmFjaG8gPGNhcmxvc2dAZ25vbWUub3JnPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBEb24ndCBsZWFrIGEgR3N0VmlkZW9Db2RlY1N0YXRlCgkgIFRoZXJlJ3MgYWxyZWFkeSB0aGUgb3V0cHV0X3N0YXRlIHZhcmlhYmxlIHdpdGggaXQsIG5vIG5lZWQgdG8KCSAgY2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9nZXRfb3V0cHV0X3N0YXRlKCkgYW5kIGdldCBhIG5ldyByZWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNjIKCjIwMTUtMDgtMDQgMjE6MzI6NTMgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGR1cGxpY2F0ZWQgZm9ybWF0IGluIGhhbmRsZV9zZWVrX3B1bGwKCSAgR3N0Rm9ybWF0IHZhcmlhYmxlIGFyZSBkdXBsaWNhdGVkIGluIGhhbmRsZV9zZWVrX3B1bGwgZnVuY3Rpb24uCgkgIFNvIHdlIG5lZWQgdG8gbW92ZSB0aGlzIHZhcmlhYmxlIGluIGNvbmRpdGlvbiBzdGF0ZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNDMKCjIwMTUtMDgtMDQgMTQ6MzA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGZhY2VkZXRlY3Q6IGZpeCBjcmFzaGVzIGluIGZpbmFsaXplCgkgIEZpeGVzIGdzdC1pbnNwZWN0LTEuMCAtYSBjcmFzaGluZy4KCjIwMTUtMDgtMDMgMTk6NDI6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJICB3aW5zY3JlZW5jYXA6IFByb3Blcmx5IHRpbWVzdGFtcCBidWZmZXJzIHdpdGggdGhlIGN1cnJlbnQgY2xvY2sgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgZG9pbmcgbWFnaWMKCSAgQWxzbyBpbXBsZW1lbnQgZnJhbWVyYXRlIGhhbmRsaW5nIGNvcnJlY3RseSBieSBib3Jyb3dpbmcgdGhlIGNvZGUgZnJvbQoJICB4aW1hZ2VzcmMuIEdzdEJhc2VTcmM6OmdldF90aW1lcygpIGNhbid0IGJlIHVzZWQgZm9yIHRoYXQsIHdlIGhhdmUgdG8KCSAgaW1wbGVtZW50IHByb3BlciB3YWl0aW5nIG91cnNlbHZlcy4KCjIwMTUtMDgtMDQgMDA6MjA6MjcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogRml4IDMyLWJpdCBidWlsZCAvIGZvcm1hdCBzdHJpbmdzLgoJICBVc2UgR19HU0laRV9GT1JNQVQgZm9yIGZvcm1hdCBzdHJpbmdzIHdoZXJlIHJlbGV2YW50CgoyMDE1LTA4LTAzIDE5OjQ4OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc3dhcCBjb250cm9sIGJpbmRpbmcgcHJveHkKCSAgVGhlIHJlZl9vYmplY3QgYW5kIG9iamVjdCBwYXJhbWV0ZXJzIHdlcmUgdGhlIHdyb25nIHdheSBhcm91bmQuCgkgIEZvciB0aGUgdHlwaWNhbCB1c2UgY2FzZSB3aGVyZSBhbiBhcHBsaWNhdGlvbiBpcyBzZXR0aW5nIGEKCSAgR3N0Q29udHJvbEJpbmRpbmcgb24gdGhlIHJldHVybmVkIGdob3N0IHBhZDoKCSAgMS4gb3VyIGNvbnRyb2wgYmluZGluZyB3b3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIG5ldyBvbmUgd2FzIHNldAoJICAyLiBzeW5jX3ZhbHVlcyBjYWxscyB3ZXJlIG5vdCBiZWluZyBmb3J3YXJkZWQgZnJvbSB0aGUgaW50ZXJuYWwKCSAgcGFkIHRvIHRoZSBnaG9zdCBwYWQuCgkgIElmIGFuIGFwcGxpY2F0aW9uIGF0dGVtcHRzIHRvIHBlcmZvcm0gb3RoZXIgY29udHJvbCBiaW5kaW5nCgkgIG9wZXJhdGlvbnMgKGdldF8qIGZhbWlseSBvZiBmdW5jdGlvbnMpIG9uIHRoZSBpbnRlcm5hbCBwYWQsIHRoZXkKCSAgd2lsbCBhbHNvIGJlIGZvcndhcmRlZCB0byB0aGUgZ2hvc3QgcGFkIHdoZXJlIGEgcG9zc2libGUKCSAgR3N0Q29udHJvbEJpbmRpbmcgd2lsbCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgdmFsdWVzLgoKMjAxNS0wOC0wMSAxNTo1MjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogcGx1ZyBsZWFrIGluIHNlZ21lbnR0ZW1wbGF0ZSBwYXJzaW5nCgkgIE9ubHkgY29weSB0aGUgdmFsdWVzIGZyb20gdGhlIHBhcmVudCBpZiB0aGUgY3VycmVudCBub2RlIGRvZXNuJ3QKCSAgaGF2ZSB0aGF0IHZhbHVlLCB0aGV5IHdlcmUgYmVpbmcgY29waWVkIGZyb20gdGhlIHBhcmVudCBhbmQKCSAgdGhlbiBvdmVyd3JpdGVuIGJ5IHRoZSBjaGlsZCBub2RlLCBsZWFraW5nIHRoZSBwYXJlbnQncyBjb3B5CgoyMDE1LTA4LTAxIDE1OjUxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaF9tcGQ6IGFkZCBjaGVjayBmb3Igc2VnbWVudHRlbXBsYXRlIGluaGVyaXRhbmNlCgkgIENoZWNrcyBpZiB0aGUgdmFsdWVzIGFyZSBwcm9wZXJseSBpbmhlcml0ZWQgYW5kIG92ZXJ3cml0ZW4KCjIwMTUtMDgtMDEgMTU6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoX21wZDogYWRkIG9uZSBtb3JlIGJhc2VVUkwgdGVzdAoJICBUaGlzIG90aGVyIHR5cGUgb2YgYmFzZVVSTCB0ZXN0IHdhcyByZXBsYWNlZCBieSBhIG1vcmUgY29tcGxleCBvbmUsCgkgIGJldHRlciBoYXZlIGJvdGggdG8ga2VlcCBib3RoIG9wdGlvbnMgd29ya2luZwoJICBBbHNvIGFkZHMgYW5vdGhlciAyIHZhcmlhdGlvbnMgb2YgaG93IGJhc2VVUkwgY2FuIGJlIGdlbmVyYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc2CgoyMDE1LTA3LTIzIDEwOjU0OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIGR1cmF0aW9uIGZvcm1hdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzYKCjIwMTUtMDctMjIgMTE6NDI6MjMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogdXBkYXRlIHVuaXQgdGVzdCBmb3IgYmFzZVVSTAoJICBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgYmFzZVVSTCB0byB0ZXN0IHRoYXQgaXQgaXMgcHJvcGVybHkKCSAgcmVzb2x2ZWQgdGFraW5nIGludG8gYWNjb3VudCBwYXJlbnQgYmFzZVVSTCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NgoKMjAxNS0wOC0wMSAxMTo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IHJldmVydCByZW5hbWUgb2YgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGRvZXNuJ3QgbmVlZCB0byBoYXZlIGl0cyBuYW1lIGNoYW5nZWQgYmVjYXVzZSBvZiBDKyssCgkgIGp1c3QgdGhlIGluc3RhbmNlIHZhcmlhYmxlcy4KCjIwMTUtMDctMzEgMTc6MzE6MTUgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGZhY2VkZXRlY3Q6IEFkZCB1bml0IHRlc3QKCSAgSSBjcmVhdGVkIGZvdXIgdXRpbGl0aWVzIG9mIHRoZSBkZXRlY3RlZCBmZWF0dXJlczoKCSAgMS0gSWYgeW91IGhpZGUgeW91ciBtb3V0aCwgdGhlIHZvbHVtZSBvZiB2aWRlbyBpcyBsb3cuCgkgIDItIElmIHlvdSBoaWRlIHRoZSBub3NlLCB0aGUgdm9sdW1lIG9mIHRoZSB2aWRlbyBpcyB1cC4KCSAgMy0gSWYgeW91IGhpZGUgdGhlIGZ1bGwgZmFjZSwgdGhlIHZpZGVvIHN0b3BzLgoJICBZb3UgY2FuIHNlZSBwcm9vZiBvZiB0aGlzIGhlcmU6CgkgIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cHh6ZWpOS1ZfV1EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wNy0zMSAxNjo0MDowNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgdGVtcGxhdGVtYXRjaDogcmVuYW1lIGNvbmZsaWN0aW5nIHZhcmlhYmxlCgkgIFdpdGggdGhlIHN3aXRjaCBvZiBnc3RvcGVuY3YuYyB0byBDKyssIGFsbCBPcGVuQ1YgZWxlbWVudHMgYXJlIGJ1aWx0IHdpdGgKCSAgZysrLiBUaGUgdGVtcGxhdGUgdmFyaWFibGUgY2xhc2hlcyB3aXRoIEMrKydzIGZlYXR1cmUgb2YgdGhlIHNhbWUgbmFtZS4KCSAgUmVuYW1lIHRlbXBsYXRlIHRvIHRlbXBsIHRvIGF2b2lkIGFueSBjbGFzaC4KCjIwMTUtMDctMzEgMTM6NDU6NDMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jcHA6CgkgIGZhY2VkZXRlY3Q6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysKCSAgVGhlIGNhc2NhZGUgY2xhc3NpZmllciBjaGFuZ2VzIGl0cyBzdHJ1Y3R1cmUgb24gbmV3IHZlcnNpb24gb2YgT3BlbkNWLgoJICBUaGUgbmVlZCB0byBtaWdyYXRlIHRvIEMrKyB0byB1dGlsaXplIHRoZSBuZXcgbG9hZCBtZXRob2Qgb2YgT3BlbkNWIHdoaWNoCgkgIGFsbG93cyB0byBsb2FkIHRoZSBuZXcgY2xhc3NpZmllcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDctMzEgMTA6NDc6MjcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCB0YWdsaXN0IGxlYWsKCSAgdGFnbGlzdCBtZXJnZSBkb2VzbnQgdGFrZSBvd25lcnNoaXAuIFNvIHNob3VsZCBmcmVlIHRoZSB0YWdzIGFmdGVyIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDg2CgoyMDE1LTA3LTMwIDIzOjMxOjIxICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGFwcGxlbWVkaWEvYXZzYW1wbGU6IEZpeCByYWN5IGNsZWFudXAgb2YgQ0EgbGF5ZXIKCSAgVGhlIGJsb2NrIHRoYXQgaXMgZGlzcGF0Y2hlZCBhc3luYyB0byB0aGUgbWFpbiB0aHJlYWQgYXNzdW1lZCB0aGUKCSAgd3JhcHBpbmcgR3N0QXZTYW1wbGVWaWRlb1NpbmsgdG8gYmUgYWxpdmUuIEhvd2V2ZXIsIGF0IHRoZSB0aW1lIG9mCgkgIHRoZSBibG9jayBleGVjdXRpb24gdGhlIEdzdE9iamVjdCBpbnN0YW5jZSB0aGF0IGlzIGRlZmVyZW5jZWQgdG8gYWNjZXNzCgkgIHRoZSBDQSBsYXllciBtaWdodCBhbHJlYWR5IGJlIGZyZWVkLCB3aGljaCBjYXVzZWQgb2NjYXNpb25hbCBjcmFzaGVzLgoJICBJbnN0ZWFkLCB3ZSBub3cgb25seSBwYXNzIHRoZSBDb3JlQW5pbWF0aW9uIGxheWVyIHRoYXQgbmVlZHMgdG8gYmUKCSAgcmVsZWFzZWQgdG8gdGhlIGJsb2NrLiBXZSB1c2UgX19ibG9jayB0byBtYWtlIHN1cmUgdGhlIGJsb2NrIGlzIG5vdAoJICBpbmNyZWFzaW5nIHRoZSByZWZjb3VudCBvZiB0aGUgQ0EgbGF5ZXIgYWdhaW4gb24gaXRzIG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA4MQoKMjAxNS0wNy0wMiAxOTozNDo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHNlZWtpbmcgbGl2ZSBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNy0wMiAxOToxOTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogTWFrZSBzb3VyY2UgbGl2ZSB0byByZS1lbmFibGUgYWdncmVnYXRvciB0aW1lb3V0IHRlc3RzCgkgIFRoZSBsaXZlIG1vZGUgaXMgb25seSBlbmFibGVkIGlmIG9uZSBvZiB0aGUgc291cmNlcyBpZiBsaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE4OjM3OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBBZGQgYXVkaW9pbnRlcmxlYXZlIHRlc3QgdG8gc2hvdyB0aGF0IHF1ZXVpbmcgd29ya3MKCSAgVGhpcyB0ZXN0cyBmYWlscyB3aXRob3V0IHRoZSBxdWV1aW5nIHBhdGNoIGJlY2F1c2UgaW5jb21pbmcgYnVmZmVycyBhcmUKCSAgbm90IGRlbGl2ZXJlZCBiZWZvcmUgdGhleSBhcmUgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE4OjMzOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQXZvaWQgY2FwcyBwcm9jZXNzaW5nIGlmIG5vdCB5ZXQgbmVnb3RpYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTE2IDE3OjA2OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogT24gdGltZW91dCwgcmVzeW5jIHBhZHMgd2l0aCBub3QgZW5vdWdoIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAxOTo1MDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVldWUgImxhdGVuY3kiIGJ1ZmZlcnMgYXQgZWFjaCBzaW5rIHBhZC4KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgeW91IGhhdmUgYSBzb3VyY2UgZ2l2aW5nIHRoZSBHc3RBZ2dyZWdhdG9yIHNtYWxsZXIKCSAgYnVmZmVycyB0aGFuIGl0IHVzZXMsIHdoZW4gaXQgcmVhY2hlcyBhIHRpbWVvdXQsIGl0IHdpbGwgY29uc3VtZSB0aGUKCSAgZmlyc3QgYnVmZmVyLCB0aGVuIHRyeSB0byByZWFkIGFub3RoZXIgYnVmZmVyIGZvciB0aGUgcGFkLiBJZiB0aGUKCSAgcHJldmlvdXMgZWxlbWVudCBpcyBub3QgZmFzdCBlbm91Z2gsIGl0IG1heSBnZXQgdGhlIG5leHQgYnVmZmVyIGV2ZW4KCSAgdGhvdWdoIGl0IG1heSBiZSBxdWV1ZWQganVzdCBiZWZvcmUuIFRvIHByZXZlbnQgdGhhdCByYWNlLCB0aGUgZWFzaWVzdAoJICBzb2x1dGlvbiBpcyB0byBtb3ZlIHRoZSBxdWV1ZSBpbnNpZGUgdGhlIEdzdEFnZ3JlZ2F0b3JQYWQgaXRzZWxmLiBJdAoJICBhbHNvIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gbmVlZCBmb3Igc3RyYW5nZSBjb2RlIGNhdXNlIGJ5IGluY3JlYXNpbmcKCSAgdGhlIG1pbiBsYXRlbmN5IHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgbWF4IGxhdGVuY3kgcHJvcG9ydGlvbmFsbHkuCgkgIFRoaXMgYWxzbyBtZWFucyBxdWV1aW5nIHRoZSBzeW5jaHJvbml6ZWQgZXZlbnRzIGFuZCBwb3NzaWJseSBhY3RpbmcKCSAgb24gdGhlbSBvbiB0aGUgc3JjIHRhc2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjE6MzI6MDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIGJyb2tlbiBfY2xpcCB2ZnVuYwoJICBJdCBuZXZlciBkb2VzIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTMwIDA4OjU4OjQ4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBBdm9pZCBjaGVja2luZyBmb3IgTm9uIE1hbmRhdG9yeSBWUFMgTkFMCgkgIFZQUyBpcyBub3QgbWFuZGF0b3J5LCBhbmQgbmVlZCBub3QgY2hlY2sgZm9yIGl0cyBwcmVzZW5jZSBiZWZvcmUgc2V0dGluZwoJICB0aGUgY2Fwcy4gQmVjYXVzZSBvZiB0aGUgY2hlY2ssIGluIHN0cmVhbXMgd2hpY2ggZG9uJ3QgaGF2ZSBWUFMsCgkgIHN0aWNreSBldmVudCBtaXNoYW5kbGluZyBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODA3CgoyMDE1LTA3LTMwIDE1OjMzOjQ2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogYXNzZXJ0aW9uIGVycm9yIGR1ZSB0byB3cm9uZyBjb25kaXRpb24gY2hlY2sKCSAgSW4gbWVkaWEgdG8gY2FwcyBmdW5jdGlvbiwgcmVzZXJ2ZWRfa2V5cyBhcnJheSBpcyBiZWluZyB1c2VkIGZvciB2YXJpYWJsZSBpLAoJICBsZWFkaW5nIHRvIEdMaWItQ1JJVElDQUwgKio6IGdfYXNjaWlfc3RyY2FzZWNtcDogYXNzZXJ0aW9uICdzMSAhPSBOVUxMJyBmYWlsZWQKCSAgY2hhbmdlZCBpdCB0byB2YXJpYWJsZSBqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMzAgMTE6MTI6MjEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSAgZ3N0Z2xmaWx0ZXJiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgcmVzIGlzIHNldCBtdWx0aXBsZSB0aW1lcyBidXQgbmV2ZXIgdXNlZCBvciByZXR1cm5lZC4gUmVtb3ZpbmcgaXQuCgoyMDE1LTA3LTI5IDIwOjA3OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEZWZhdWx0IHRvICJ6ZXJvIiBzdGFydCB0aW1lIHNlbGVjdGlvbiBtb2RlIGFzIGRvY3VtZW50ZWQKCjIwMTUtMDctMjkgMjA6MDY6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IElnbm9yZSB0aGUgImZpcnN0IiBtb2RlIGlmIHRoZSBzZWdtZW50IG5vdCBhIHRpbWUgc2VnbWVudAoKMjAxNS0wNy0yOSAxOToxMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogUmVtb3ZlIGRlYnVnIG91dHB1dCBmcm9tIGdzdF9nbF91cGxvYWRfdHJhbnNmb3JtX2NhcHMoKQoJICBXZSBjYW4ndCBrbm93IGlmIHRoZSBHc3RHTFVwbG9hZCB0eXBlIGlzIGluaXRpYWxpemVkIGF0IHRoaXMgcG9pbnQgYWxyZWFkeSwKCSAgYW5kIHRodXMgb3VyIGRlYnVnIGNhdGVnb3J5IG1pZ2h0IG5vdCBiZSBpbml0aWFsaXplZCB5ZXQuLi4gYW5kIGNhdXNlIGFuCgkgIGFzc2VydGlvbiBoZXJlLgoJICBBcyB3ZSBkb24ndCBwcmludCBkZWJ1ZyBvdXRwdXQgZm9yIGFueSBvZiB0aGUgb3RoZXIgdHJhbnNmb3JtIGZ1bmN0aW9ucywgbGV0J3MKCSAgZGVmZXIgdGhpcyBwcm9ibGVtIGZvciBub3cuCgoyMDE1LTA3LTI5IDE3OjQ4OjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkgIGdsc3RlcmVvbWl4OiByZW1vdmUgcmVkdW5kYW50IGluaXRpYWxpemF0aW9uCgkgIHYgaXMgaW5pdGlhbGl6ZWQgaW4gdGhlIGZvciBsb29wIGluaXQsIG5vIG5lZWQgdG8gZG8gaXQgdHdpY2UuIFJlbW92aW5nCgkgIGZpcnN0IGluaXRpYWxpemF0aW9uLgoKMjAxNS0wNy0yOSAxNzoyOToyOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgVmFsdWUgc2V0IHRvIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGF0IGxlYXN0IG9uY2UgYXQgdGhlIGVuZCBvZiB0aGUgd2hpbGUKCSAgbG9vcCwgcmVtb3ZpbmcgYXNzaWdubWVudC4KCjIwMTUtMDctMjkgMTc6Mjk6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBHUXVldWUgaW5zdGVhZCBvZiBHTGlzdCBwcmVwZW5kL3JldmVyc2UKCjIwMTUtMDctMjkgMTc6MTc6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZW1vdmUgcmVkdW5kYW50IGFzc2lnbm1lbnQKCSAgVmFsdWUgb2YgcCBpcyBhbHJlYWR5IHNldCBiZWxvdyBqdXN0IGJlZm9yZSBiZWluZyB1c2VkLiBSZW1vdmluZyB0aGlzCgkgIGZpcnN0IGFzc2lnbm1lbnQgdGhhdCB3aWxsIGJlIGlnbm9yZWQuCgoyMDE1LTA3LTI5IDE2OjUxOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogcmVtb3ZlIHJlZHVuZGFudCBjaGVjawoJICBObyBuZWVkIHRvIGNoZWNrIGlmIGRvbmUgaXMgVHJ1ZSBzaW5jZSBicmVhayB3aWxsIGFscmVhZHkgdGVybWluYXRlIHRoZSBmb3IKCSAgbG9vcC4KCjIwMTUtMDctMjkgMTM6MDk6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCBhc3NlcnQgaW4gR3N0QWRhcHRlciBpZiBubyBkYXRhIHdhcyByZWNlaXZlZCBiZWZvcmUgRU9TCgoyMDE1LTA3LTI4IDIyOjMwOjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyBhZ2dyZWdhdG9yIHN0YXJ0LXRpbWUtc2VsZWN0aW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk5NjYKCjIwMTUtMDYtMTUgMTg6MzA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCBob3cgdG8gZGVjaWRlIG9uIGEgc3RhcnQgdGltZQoJICBCZWZvcmUgYWdncmVnYXRvciBiYXNlZCBlbGVtZW50cyBhbHdheXMgc3RhcnRlZCBhdCBydW5uaW5nIHRpbWUgMCwKCSAgbm93IGl0J3MgcG9zc2libGUgdG8gc2VsZWN0IHRoZSBmaXJzdCBpbnB1dCBidWZmZXIgcnVubmluZyB0aW1lIG9yCgkgIGV4cGxpY2l0bHkgc2V0IGEgc3RhcnQtdGltZSB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTk2NgoKMjAxNS0wNy0yOSAxMToyNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IFN0cmlwIGtleXMgZnJvbSB0aGUgZm10cCB0aGF0IHdlIHVzZSBpbnRlcm5hbGx5IGluIG91ciBjYXBzCgkgIFNraXAga2V5cyBmcm9tIHRoZSBmbXRwLCB3aGljaCB3ZSBhbHJlYWR5IHVzZSBvdXJzZWx2ZXMgZm9yIHRoZQoJICBjYXBzLiBTb21lIHNvZnR3YXJlIGlzIGFkZGluZyByYW5kb20gdGhpbmdzIGxpa2UgY2xvY2stcmF0ZSBpbnRvCgkgIHRoZSBmbXRwLCBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIGhlcmUgc2V0IGEgc3RyaW5nLXR5cGVkIGNsb2NrLXJhdGUKCSAgaW4gdGhlIGNhcHMuLi4gYW5kIHRodXMgZmFpbCB0byBjcmVhdGUgdmFsaWQgUlRQIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0yOSAyMjo1OTo1NiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgbW9yZSBOQUwgdHlwZXMgZm9yIGRlYnVnZ2luZyBvdXRwdXQuCgkgIFJlZ2lzdGVyIG1vcmUgTkFMIHVuaXQgdHlwZXMgc28gdGhhdCB0aGV5IGFyZSBkdW1wZWQKCSAgYnkgbmFtZSBpbiB0aGUgZGVidWcgb3V0cHV0IGluc3RlYWQgb2YgYmVpbmcgbGFiZWxsZWQKCSAgJ0ludmFsaWQnCgoyMDE1LTA3LTI5IDIyOjU3OjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRG9uJ3QgY2xlYXIgdGhlIFBJRCBvbiByZXNldC4KCSAgVGhlIFBJRCBvbiBhIHBhZCBzaG91bGRuJ3QgY2hhbmdlIG9uIGEgc3RhdGUgY2hhbmdlLCBvbmx5CgkgIGlmIHRoZSBwYWQgaXMgZnJlZWQgYW5kIGEgbmV3IG9uZSBjcmVhdGVkLiBDbGVhcmluZyB0aGUgUElECgkgIHByZXZlbnRlZCBtcGVndHNtdXggZnJvbSBiZWluZyByZXVzZWQsIGJlY2F1c2UgYWxsIHBhY2tldHMKCSAgd291bGQgZW5kIHVwIG11eGVkIGluIFBJRCAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTkKCjIwMTUtMDctMjkgMjI6NTY6MjggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBBY2N1bXVsYXRlIHN0cmVhbWhlYWRlcnMgaW4gcmV2ZXJzZQoJICBBY2N1bXVsYXRlIHN0cmVhbWhlYWRlciBwYWNrZXRzIGluIHJldmVyc2UgaW50byB0aGUKCSAgR0xpc3QgZm9yIGVmZmljaWVuY3ksIGFuZCByZXZlcnNlIHRoZSBsaXN0IG9uY2Ugd2hlbgoJICBwcm9jZXNzaW5nLgoJICBJbXByb3ZlcyBtdXhpbmcgc3BlZWQgd2hlbiB0aGVyZSBhcmUgYSBsb3Qgb2YKCSAgc3RyZWFtaGVhZGVycy4KCjIwMTUtMDctMjkgMTA6MTI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBBbHdheXMgc2V0IGktZnJhbWUtaW50ZXJ2YWwgc2V0dGluZwoJICBNb3N0IGVuY29kZXJzIGZhaWwgdG8gaW5pdGlhbGl6ZSBpZiB3ZSBkb24ndCBzZXQgaXQgYXQgYWxsLgoKMjAxNS0wNy0yOSAxMjo1Njo1NCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5MQoKMjAxNS0wNy0yOCAyMToxNTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgdGhlIHBlZXIgbGF0ZW5jeSBhZ2FpbiBvbiB0aGUgbmV4dCBvcHBvcnR1bml0eSBhZnRlciBhIHBhZCB3YXMgYWRkZWQgb3IgcmVtb3ZlZAoJICBBZGRpbmcgYSBwYWQgd2lsbCBhZGQgYSBuZXcgdXBzdHJlYW0gdGhhdCBtaWdodCBoYXZlIGEgYmlnZ2VyIG1pbmltdW0gbGF0ZW5jeSwKCSAgc28gd2UgbWlnaHQgaGF2ZSB0byB3YWl0IGxvbmdlci4gT3IgaXQgbWlnaHQgYmUgdGhlIGZpcnN0IGxpdmUgdXBzdHJlYW0sIGluCgkgIHdoaWNoIGNhc2Ugd2Ugd2lsbCBoYXZlIHRvIHN0YXJ0IGRlYWRsaW5lIGJhc2VkIGFnZ3JlZ2F0aW9uLgoJICBSZW1vdmluZyBhIHBhZCB3aWxsIHJlbW92ZSBhIG5ldyB1cHN0cmVhbSB0aGF0IG1pZ2h0IGhhdmUgaGFkIHRoZSBiaWdnZXN0CgkgIGxhdGVuY3ksIHNvIHdlIGNhbiBub3cgc3RvcCB3YWl0aW5nIGEgYml0IGVhcmxpZXIuIE9yIGl0IG1pZ2h0IGJlIHRoZSBsYXN0CgkgIGxpdmUgdXBzdHJlYW0sIGluIHdoaWNoIGNhc2Ugd2UgY2FuIHN0b3AgZGVhZGxpbmUgYmFzZWQgYWdncmVnYXRpb24uCgoyMDE1LTA3LTI4IDExOjIwOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQtdGVzdDogVGVzdCBub3RpZnkgZnVuY3Rpb24gZm9yIHNldHVwX3dyYXBwZWQKCSAgZ3N0X2dsX21lbW9yeV9zZXR1cF93cmFwcGVkKCkgbm93IHRha2VzIGEgZGVzdHJveSBub3RpZnkgZnVuY3Rpb24uIFRoaXMKCSAgZGVzdHJveSBub3RpZnkgaXMgY2FsbGVkIHRvIHRyYWNrIHRoZSBtZW1vcnkgbGlmZSB0aW1lLCBoZW5jZSB3aWxsCgkgIG5vdGlmeSBlYWNoIHRpbWUgYSBtZW1vcnkgZ2V0IGRlc3Ryb3llZC4gVGhpcyB0ZXN0IGNoZWNrIHRoYXQgdGhlCgkgIGNhbGxiYWNrIGNvdW50IGlzIGNvcnJlY3QuCgoyMDE1LTA3LTI4IDExOjA2OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQtdGVzdDogRml4IGJ1aWxkCgoyMDE1LTA3LTI4IDA4OjU5OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQWRkIGZpeG1lIGFib3V0IHVzaW5nIGJ1ZmZlcnBvb2wgZm9yIHJhdwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5MzcKCjIwMTUtMDctMjcgMTY6NTg6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBLZWVwIGlucHV0IGZyYW1lIG1hcHBlZCBhcyBsb25nIGFzIG5lZWRlZAoJICBXaGVuIHBlcmZvcm1pbmcgYSByYXcgdXBsb2FkLCB3ZSBuZWVkIHRvIGtlZXAgdGhlIHJhdyBkYXRhIG1hcHBlZCBhcwoJICBsb25nIGFzIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0yNyAxNTo1ODoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFJldmVydCAiZ2x1cGxvYWQ6IG1lbWNweSBvbiByYXcgZGF0YSB1cGxvYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODJjMDE4OWIyODQyZTg3MjllODJhNGU3MzQ5MWRmZmM5NzdiYzdjMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0xNSAxNjoyMTowMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF9kdXJhdGlvbiBzZXRzIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSBvZiBwYXJzaW5nIGVycm9ycwoJICBUaGUgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfZHVyYXRpb24gZnVuY3Rpb24gd2lsbCBzZXQgdGhlCgkgIHByb3BlcnR5X3ZhbHVlIHRvIHRoZSBkZWZhdWx0X3ZhbHVlIGluIGNhc2UgdGhlIHBhcnNpbmcgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjYKCjIwMTUtMDctMjcgMTg6Mzk6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSAgb3B1c2NvbW1vbjogVXNlIEdTdHJpbmcgaW5zdGVhZCBvZiBzbnByaW50ZiBmb3IgY29uY2F0aW5nCgkgIFNhZmVyLCBlYXNpZXIgdG8gdW5kZXJzdGFuZCwgYW5kIG1vcmUgcG9ydGFibGUuIEFsc28sIHNraXAKCSAgYWxsIHRoaXMgaWYgdGhlIGxvZyBsZXZlbCBpcyB0b28gbG93LgoKMjAxNS0wNy0yNyAyMTo1NDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSAgZ2xjb250ZXh0L3dnbDogZml4IGRlZmVuaXRpb24gb2YgZ3N0X2dsX2NvbnRleHRfd2dsX25ldwoJICBnc3RnbGNvbnRleHRfd2dsLmM6IEluIGZ1bmN0aW9uICdnc3RfZ2xfY29udGV4dF93Z2xfbmV3JzoKCSAgZ3N0Z2xjb250ZXh0X3dnbC5jOjgzOjQwOiBlcnJvcjogJ2Rpc3BsYXknIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQoKMjAxNS0wNy0yNyAyMDowMzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJICBnbC9jb2NvYTogZml4IGRlZmluaXRpb24gb2YgZ3N0X2dsX2NvbnRleHRfbmV3CgkgIGdzdGdsY29udGV4dF9jb2NvYS5tOjc1OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2dzdF9nbF9jb250ZXh0X2NvY29hX25ldycKCjIwMTUtMDctMjcgMjA6MDA6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogZml4IGRlZmluaXRpb24gb2YgZ3N0X2dsX3dpbmRvd193aW4zMl9uZXcKCjIwMTUtMDctMjcgMTg6MjE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIHdheWxhbmQ6IGZhaWwgd2luZG93IG9wZW4gaWYgdGhlIGRpc3BsYXkgaXMgdGhlIGNvcnJlY3QgdHlwZQoJICBFcnJvcnMgb3V0IGNsZWFubHkgaWYgYSB3YXlsYW5kIGNvbXBvc2l0b3IgaXMgbm90IHJ1bm5pbmcKCjIwMTUtMDctMjQgMTc6MDA6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcGFzcyBkaXNwbGF5IHRvIGltcGxlbWVudGF0aW9uJ3MgX25ldygpCgkgIFNvIHRoZXkgaGF2ZSB0byBvcHBvcnR1bml0eSB0byBmYWlsIGlmIHRoZXkgY2Fubm90IGhhbmRsZSB0aGUKCSAgZGlzcGxheSBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTI0IDE2OjExOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogcGFzcyBkaXNwbGF5IHRvIGltcGxlbnRhdGlvbidzIF9uZXcoKQoJICBUaGlzIGFsbG93cyB0aGUgY29udGV4dCB0byBmYWlsIGNyZWF0aW9uIGJhc2VkIG9uIGluY29tcGF0aWJsZQoJICBkaXNwbGF5IHR5cGUncy4gZS5nLiBnbHggY29udGV4dCB3aXRoIGFuIHdheWxhbmQgZGlzcGxheSBoYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMDYgMDA6NTI6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBzdXBwb3J0IGNnbCwgZWdsIGFuZCBnbHggd2l0aGluIGEgc2FtZSBidWlsZAoJICBPbiBvc3gsIHdpdGggdGhlIHNhbWUgYnVpbGQsCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIHdvcmtzIHdpdGg6CgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1nbGVzMgoJICBHU1RfR0xfUExBVEZPUk09ZWdsIEdTVF9HTF9XSU5ET1c9eDExIEdTVF9HTF9BUEk9b3BlbmdsCgkgIEdTVF9HTF9QTEFURk9STT1nbHggR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hIEdTVF9HTF9BUEk9b3BlbmdsCgkgIEdTVF9HTF9QTEFURk9STT1jZ2wgR1NUX0dMX1dJTkRPVz1jb2NvYSBHU1RfR0xfQVBJPW9wZW5nbDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0yNyAxNjozNjo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENoZWNrIHRoYXQgY2FwcyBjb250YWluIGRlc2lyZWQgY2FwcyBmZWF0dXJlcwoJICBVc2UgJ2NvbnRhaW5zJyBjaGVja3MgaW5zdGVhZCBvZiBlcXVhbGl0eSBjaGVja3Mgb24gY2FwcyBmZWF0dXJlcwoJICB0byBhbGxvdyBmb3IgdXBsb2FkaW5nIHdoZW4gY2FwcyBhbHNvIGNvbnRhaW4gR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkxMgoKMjAxNS0wNy0yNSAwOTowMzoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBBZGQgYnVpbHQgc291cmNlcyB0byBDTEVBTkZJTEVTCgoyMDE1LTA3LTIwIDEwOjUwOjQ0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYWhkZW11eDogYXZvaWQgb3ZlcmZsb3dzIGluIGNvbXB1dGF0aW9uIG9mIHNlZ21lbnQgc3RhcnQgdGltZSBhbmQgZHVyYXRpb24KCSAgVXNlZCBnc3RfdXRpbF91aW50NjRfc2NhbGUgdG8gYXZvaWQgb3ZlcmZsb3dzIHdoZW4gc2VnbWVudCBzdGFydCB0aW1lCgkgIG9yIGR1cmF0aW9uIGlzIGNvbXB1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjIwCgoyMDE1LTA3LTEzIDE1OjM3OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGRlbW90ZSBlcnJvciB0byB3YXJuaW5nCgkgIEl0IGlzIG5vdCBmYXRhbCBhbmQgY2FuIGJlIHF1aXRlIG5vcm1hbCB3aGVuIHRoZSBuZXR3b3JrIGlzCgkgIHRvbyBzbG93CgoyMDE1LTA3LTI0IDA5OjQyOjUzICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZG8gbm90IGNoZWNrIGlucHV0IGJ1ZmZlcnMKCSAgV2l0aCB0aGlzIHdlIGF2b2lkIGFuIHVubmVjZXNzYXJ5IGFuZCBjb25zaWRlcmFibGUgb3ZlcmhlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzQKCjIwMTUtMDctMDYgMDA6NDU6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogbW92ZSBHTF9OVU1fRVhURU5TSU9OUyBkZWZpbml0aW9uIGFmdGVyIGdsLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0yMyAyMzo1OToyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHJlbW92ZSB1bnVzZWQgbGFiZWwgY29udGV4dF9jcmVhdGlvbl9lcnJvcgoJICBCdWlsZCBlcnJvciBpbnRyb2R1Y2VkIGJ5IGNvbW1pdAoJICA1NDU3ZTU1ZjI1NTUxOGQ2NzliNTlhMTcwOTUxZTI5OWVjZDhjNWY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjQgMDI6NDY6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCBkaXNjYXJkIGZpcnN0IEFVIGRlbGltaXRlcgoJICBEb24ndCB0aHJvdyBhd2F5IEFVIGRlbGltaXRlcihzKSB0aGF0IHByZWNlZGUgdGhlIFNQUy9QUFMuIFNob3VsZAoJICBmaXggTVBFRy1UUyBwbGF5YmFjayBvbiBpT1MvUXVpY2t0aW1lIHdoZW4gbXV4aW5nIHN0cmVhbXMgdGhhdAoJICBhbHJlYWR5IGhhdmUgQVUgZGVsaW1pdGVycy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyMTMgZm9yIGdldHRpbmcKCSAgaDI2NHBhcnNlIHRvIGluc2VydCBBVSBkZWxpbWl0ZXJzIHdoZW4gdGhleSBkb24ndCBhbHJlYWR5CgkgIGV4aXN0LgoKMjAxNS0wNy0yMyAxMToxODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IGFsbG9jYXRpb24gbWV0YSBzdHJ1Y3R1cmUgbGVhawoJICBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fbWV0YSgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwCgkgIG9mIHRoZSBzdHJ1Y3R1cmUsIGZvciBzb21lIHJlYXNvbi4KCSAgQ0lEIDEzMTIxMzUKCjIwMTUtMDctMjMgMTA6NTc6MjYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBtZW1vcnkgbGVhawoJICBHc3RDYXBzRmVhdHVyZXMgbmVlZCB0byBiZSBmcmVlZCB3aXRoIGdzdF9jYXBzX2ZlYXR1cmVzX2ZyZWUoKSBhZnRlciB1c2UuCgkgIENJRCAjMTMxMjEzNiwgQ0lEICMxMzEyMTM2CgoyMDE1LTA3LTAyIDIwOjEwOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IEFkZCBHc3RDb250cm9sQmluZGluZyBwcm94eQoJICBUaGlzIGlzIHVzZWQgdG8gcHJveHkgR3N0Q29udHJvbEJpbmRpbmcgdG8gdGhlIHBhZCBvbiB0aGUKCSAgcGFyZW50IG9iamVjdC4gVGhpcyBhdm9pZCBoYXZpbmcgdG8gc3luYyB0aGUgdmFsdWVzIGluIHRoZSBwcm94eSBwYWQsCgkgIHRoaXMgaXMgdG9vIGVhcmx5IGlmIHlvdSBoYXZlIGEgcXVldWUgYmV0d2VlbiB0aGUgcGFkIGFuZCB0aGUgYWN0dWFsCgkgIGFnZ3JlZ2F0aW9uIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA2MAoKMjAxNS0wNy0yMiAxOToyNzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFJlZ2lzdGVyIGZ1bmN0aW9uIG5hbWUKCSAgT3RoZXJ3aXNlLCBpdCBzb21ldGltZXMgc2VnZmF1bHRzIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKCjIwMTUtMDctMjIgMTk6MjY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBVc2UgMS4wIHN0eWxlIGJ1ZmZlciBhbGxvY2F0aW9uCgoyMDE1LTA3LTIyIDE2OjU4OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBGb3J3YXJkIGNvbXBvc2l0aW9uIG1ldGEgZXZlbiB3aXRob3V0IHBhcmFtcwoJICBXaGVuIHRoZSBzaW5rIGRvZXMgbm90IGtub3cgdGhlIHdpbmRvdyBzaXplIChlLmcgbm90IGNyZWF0ZWQgeWV0KQoJICBpdCB3aWxsIG5vdCBhZGQgYW55IHBhcmFtIHRvIHRoZSB0aGUgY29tcG9zaXRpb24gbWV0YS4gVGhpcyBpcyBubwoJICByZWFzb24gbm90IHRvIGZvcndhcmQgdGhpcyBtZXRhIEFQSS4gRml4ZXMgaXNzdWUgd2hlcmUgaXQgY291bGQgbm90CgkgIGF0dGFjaCB1bnRpbCB3ZSByZXNpemUgdGhlIHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMiAxNTo1NjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogS2VlcCBtZW1vcnkgcG9pbnRlciBhbGl2ZQoJICBLZWVwIHRoZSBjb21wb3NpdGlvbiBtZW1vcnkgcG9pbnRlciBhbGl2ZSB3aGlsZSBpdCdzIGJlaW5nCgkgIHdyYXBwZWQgaW5zaWRlIGEgR3N0R0xNZW1vcnkgb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE0OjE3OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBQYXNzIGJ1ZmZlciBzdHJpZGUKCSAgVGhlIG92ZXJsYXkgcGl4ZWwgYnVmZmVyIHN0cmlkZSB3YXMgbm90IGdpdmVuIGJhY2sKCSAgdG8gdGhlIEdMIGltYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA1LTE5IDE2OjA4OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTeW5jIHBhZCB2YWx1ZXMgYmVmb3JlIGFnZ3JlZ2F0aW5nCgkgIFdlIG5lZWQgdG8gc3luYyB0aGUgcGFkIHZhbHVlcyBiZWZvcmUgdGFraW5nIHRoZSBhZ2dyZWdhdG9yIGFuZCBwYWQgbG9ja3MKCSAgb3RoZXJ3aXNlIHRoZSBlbGVtZW50IHdpbGwganVzdCBkZWFkbG9jayBpZiB0aGVyZSdzIGFueSBwcm9wZXJ0eSBjaGFuZ2VzCgkgIHNjaGVkdWxlZCB1c2luZyBHc3RDb250cm9sbGVyIHNpbmNlIHRoYXQgaW52b2x2ZXMgdGFraW5nIHRoZSBhZ2dyZWdhdG9yIGFuZCBwYWQKCSAgbG9ja3MuCgkgIEFsc28gYWRkIGEgdGVzdCBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU3NAoKMjAxNS0wNy0yMiAxNDowNTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogSGlkZSBHc3RDb21wc2l0aW9uT3ZlcmxheSBvYmplY3QKCSAgVGhpcyBvYmplY3QgaXMgb25seSB1c2VkIGluc2lkZSB0aGUgY29tcG9zaXRvciBhbmQgZG9lcyBub3QKCSAgbmVlZCB0byBiZSBleHBvc2UgaW4gbGliZ3N0Z2wgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDEzOjMzOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGxpYmdzdGdsOiBNYWtlZmlsZSBzdHlsZSBmaXgKCjIwMTUtMDctMjEgMjM6NDg6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgY29tcG9zaXRpb24tb3ZlcmxheTogUG9zaXRpb25zIGFyZSByZWxhdGl2ZSB0byB0ZXh0dXJlCgkgIFRoZSBjb29yZGluYXRlIGFyZSByZWxhdGl2ZSB0byB0aGUgdGV4dHVyZSBkaW1lbnNpb24gYW5kIG5vdAoJICB0aGUgd2luZG93IGRpbWVuc2lvbiBub3cuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcGFzcyB0aGUgd2luZG93CgkgIGRpbWVuc2lvbiBvciB0byB1cGRhdGUgdGhlIG92ZXJsYXkgaWYgdGhlIGRpbWVuc2lvbiBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIxIDIxOjI3OjQ1IC0wNDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQ3JlYXRlIG93biBzaGFkZXIgb2JqZWN0CgkgIE1ha2UgZ2xvdmVybGF5Y29tcG9zaXRvciBpbmRlcGVuZGVudCBvZiB0aGUgc2hhZGVyIHVzZWQgaW4gdGhlIHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjEgMTg6NDc6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUHJvcGVybHkgaGFuZGxlIGNvbXBzb3NpdG9yIGxpZmUgdGltZQoJICBTaG91bGQgYmUgY3JlYXRlZCBpbiBSRUFEWV9UT19QQVVTRUQsIG5vdCBQQVVTRURfVE9fUExBWUlORy4KCSAgU2hvdWxkIGJlIGNsZWFyZWQgaW4gUEFVU0VEX1RPX1JFQURZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE2OjEwOjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCSAgcmV0IGlzIGRlY2xhcmVkIGp1c3QgdG8gaW5pdGlhbGl6ZSB0byBUUlVFIGFuZCBvdmVyd3JpdGUgd2l0aCB0aGUgdmFsdWUgb2YKCSAgdnJldC4gV2UgY2FuIHJldHVybiB0aGUgdmFsdWUgb2YgdnJldCBkaXJlY3RseS4gdnJldCBpcyBUUlVFIHVubGVzcyB0aGUKCSAgZm9yd2FyZF9ldmVudF9mdW5jIHNldHMgaXQgdG8gRkFMU0UuCgoyMDE1LTA3LTIyIDE1OjEzOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogRG9uJ3QgZGlzdCBmaWxlcyB0aGF0IG1pZ2h0IG5vdCBleGlzdAoJICBXZSBvbmx5IHJlcXVpcmUgbW9jIGJ1aWxkaW5nIGF0IGJ1aWxkIHRpbWUuCgoyMDE1LTA3LTIyIDE1OjUwOjI2ICswOTAwICBZb3VuZyBIYW4gTGVlIDx5LmxlZUBsZ2UuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlieG1sMiA+PSAyLjggZm9yIERBU0ggcGx1Z2luCgkgIFRoZSBEQVNIIHBsdWdpbiB1c2VzIHhtbEJ1ZmZlckRldGFjaCBub3cgaW4gdGhlIGNvZGUKCSAgdGhhdCBoYW5kbGVzIENvbnRlbnRQcm90ZWN0aW9uIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzAzCgoyMDE1LTA3LTIyIDA4OjA1OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogVGlkeSB1cCBtYWtlZmlsZSBhIGJpdCBtb3JlCgkgIFNlcGFyYXRlIGdlbmVyYXRlZCBmaWxlcywgZnJvbSBkaXN0ZWQgZmlsZXMKCjIwMTUtMDctMjEgMjA6NTI6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBSZWFkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gd2l0aCBsb2NrIGhlbGQKCjIwMTUtMDctMjEgMTE6MjM6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnc3RnbHdpZGdldDogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEFsc28gaGFuZGxlIHRoZSBmYWlsdXJlIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTE6Mjg6MDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxMToyMToyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJICBnbHN0ZXJlb3NwbGl0OiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgQWxzbyB1bmxvY2sgdGhlIGxvY2sgb24gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTQ6MTA6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJldHVybiBmYWxzZSBpZiBldmVudCBjb3VsZG4ndCBiZSBwdXNoZWQKCSAgTWFrZSB0aGUgZ3N0IHBhZCdzIGV2ZW50IGZ1bmN0aW9uIHJldHVybiBmYWxzZSBpZiB0aGUgZXZlbnQgY291bGRuJ3QgYmUKCSAgcHVzaGVkIHRvIHRoZSBwYWQuCgoyMDE1LTA3LTIxIDEzOjExOjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogZm9yIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDOTkgbW9kZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncwoKMjAxNS0wNi0xOSAxMTo1NzowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQgaW4gbW9yZSBlbGVtZW50cy4KCSAgZ2xiYXNlZmlsdGVyLCBnbGJhc2VtaXhlciBhbmQgZ2x0ZXN0c3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDE3OjM0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsL2J1aWxkOiBmaXggdHlwbyBpbiBfSEVBREVSUyByZXN1bHRpbmcgaW4gaW5zdGFsbGluZyB0aGUgd3JvbmcgZmlsZQoJICAvdXNyL2luY2x1ZGUvZ3N0cmVhbWVyLTEuMC9nc3QvZ2wvZ2wuaDo1MTo0MzogZmF0YWwgZXJyb3I6CgkgIGdzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCjIwMTUtMDctMjEgMTU6Mzk6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogYWRkIFJHQiB0byBOVjEyL05WMjEgY29udmVyc2lvbgoKMjAxNS0wNy0wMSAxNDowMTo0NSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTZW5kIHJlY29uZmlndXJlIGV2ZW50IHdoZW4gd2luZG93IHNpemUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIwIDE0OjI0OjIyIC0wNDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbGltYWdlc2lua2JpbjogQWRkIGFsbG9jYXRpb24gcXVlcnkgZm9yIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uCgkgIEFkZHMgYW4gR1NUX1ZJREVPX09WRVJMQVlfQ09NUE9TSVRJT05fTUVUQV9BUElfVFlQRSBxdWVyeSB0byBnbHVwbG9hZAoJICBhbmQgZ2xpbWFnZXNpbmsuICBEZXRlY3RzIHRoZSBxdWVyeSBmcm9tIHRoZSBkb3duc3RyZWFtIGVsZW1lbnRzLCBzbwoJICBpdCBpcyBleGVjdXRlZCBvbmx5IHdoZW4gZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgb3ZlcmxheSBBUEkuCgkgIFRoaXMgbWFrZXMgcGlwZWxpbmVzIHdpdGggdGV4dG92ZXJsYXkgISBnbHVwbG9hZCAhIGdsZG93bmxvYWQgISB4dmltYWdlc2luayBwb3NzaWJsZS4KCSAgVXNlcyBhbGxvY2F0aW9uIG1ldGEgc3RydWN0IGZvciBwYXNzaW5nIHRoZSB3aW5kb3cgc2l6ZSB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNC0yMCAxMzoxNzowOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBcHBseSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgYnVmZmVyIHRvIGNvbnZlcnRlZCBidWZmZXIKCSAgU2luY2UgZ2xjb2xvcmNvbnZlcnQgY3JlYXRlcyBhIG5ldyBHc3RCdWZmZXIsCgkgIHdpdGhvdXQgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBkYXRhLAoJICBpdCBuZWVkcyB0byBiZSBjb3BpZWQgdG8gbm90IGJlIGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMTM6MzQ6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRGV0ZWN0IG92ZXJsYXkgbWV0YSBidWZmZXJzIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDA1OjQzOjUwICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbGltYWdlc2lua2JpbjogQWRkIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBjYXBzIGZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMDY6MDQ6MzcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IFVwbG9hZCBhbmQgZHJhdyBvdmVybGF5cyB3aXRoIEdzdEdMT3ZlcmxheUNvbXBvc2l0b3IKCSAgUmVjZWl2ZXMgdGhlIEdzdE92ZXJsYXlDb21wb3NpdGlvbiBidWZmZXIgaW4gdGhlIGdsaW1hZ2VzaW5rIGFuZCBkcmF3cyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTMwIDE3OjU5OjEyICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEFkZCBHc3RHTE92ZXJsYXlDb21wb3NpdG9yIGNsYXNzCgkgIE1hbmFnZXMgdGhlIEdzdEdMQ29tcG9zaXRpb25PdmVybGF5IG9iamVjdHMsCgkgIGNhY2hlcyBhbHJlYWR5IHVwbG9hZGVkIG92ZXJsYXlzIGFuZCBkcmF3cyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDE0OjE1OjAxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSAgZ2xjb21wb3NpdGlvbm92ZXJsYXk6IEFkZCBjb21wYXRpYmlsaXR5IGZvciBHTCBjb250ZXh0cyB3aXRob3V0IGdsR2VuVmVydGV4QXJyYXlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTMgMTU6MzU6NDcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5Lmg6CgkgIGdsY29tcG9zaXRpb25vdmVybGF5OiBBZGQgY2xhc3MgZm9yIG1hbmFnaW5nIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uT3ZlcmxheSBidWZmZXJzCgkgIEFkZCBhIGNsYXNzIHRvIHN0b3JlIGFuZCBtYW5hZ2UgdGhlIE9wZW5HTCB0ZXh0dXJlLAoJICB2ZXJ0ZXggYnVmZmVyIGFuZCBHc3RWaWRlb092ZXJsYXlSZWN0YW5nbGUuCgkgIFRyYW5zZm9ybXMgb3ZlcmxheSBjb29yZGluYXRlIHNwYWNlIHRvIHZlcnRleCBidWZmZXIgc3BhY2Ugd2l0aCBhc3BlY3QgcmF0aW9zIGluIG1pbmQuCgkgID0gRXhhbXBsZSBQaXBlbGluZXMgPQoJICBTaW1wbGUgcGlwZWxpbmUKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJIZWxsbyBXb3JsZCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICBnbGltYWdlc2luawoJICBEaXNwbGF5IDMgc3RhdGljIG92ZXJsYXlzIGF0IGRpZmZlcmVudCBwb3NpdGlvbnMKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJ0ZXh0MSIgdmFsaWdubWVudD0idG9wIiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQyIiBoYWxpZ25tZW50PSJyaWdodCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJ0ZXh0MyIgaGFsaWdubWVudD0ibGVmdCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICBnbGltYWdlc2luawoJICBEaXNwbGF5IHN1YnRpdGxlIGZpbGUgb3ZlciB0ZXN0c3JjCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIFwKCSAgdGV4dG92ZXJsYXkgbmFtZT1mb28gZmlsZXNyYyBsb2NhdGlvbj1mb28uc3J0ICEgc3VicGFyc2UgISBxdWV1ZSAhIGZvby4gZm9vLiAhIFwKCSAgZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAxMTozMzoyOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBNb3ZlIGRlYnVnIGluaXQgdG8gdG9wIG9mIHRoZSBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDQtMjAgMTU6MDQ6NTYgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBGaXggUExDIGZyYW1lIHNpemUgY2FsY3VsYXRpb25zCgkgIFByZXZpb3VzbHksIFBMQyBmcmFtZXMgYWx3YXlzIGhhZCBhIGxlbmd0aCBvZiAxMjBtcywgd2hpY2ggY2F1c2VkIGF1ZGlvCgkgIHF1YWxpdHkgZGVncmFkYXRpb24gYW5kIHN5bmNocm9uaXphdGlvbiBlcnJvcnMuIEZpeCB0aGlzIGJ5IGNhbGN1bGF0aW5nIGFuCgkgIGFwcHJvcHJpYXRlIGxlbmd0aCBmb3IgdGhlIFBMQyBmcmFtZS4KCSAgVGhlIGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi41bXMuIENhbGN1bGF0ZSBhIG11bHRpcGxlIG9mIDIuNW1zIHRoYXQKCSAgaXMgbmVhcmVzdCB0byB0aGUgY3VycmVudCBQTEMgbGVuZ3RoLiBBbnkgbGVmdG92ZXIgUExDIGxlbmd0aCB0aGF0IGRpZG4ndAoJICBtYWtlIGl0IGludG8gdGhpcyBmcmFtZSBpcyBhY2N1bXVsYXRlZCBmb3IgdGhlIG5leHQgUExDIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTY3CgoyMDE1LTA3LTE4IDIxOjE4OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtaW5vciBjbGVhbi11cAoJICBObyBuZWVkIGZvciBhIGZvcmVhY2ggY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCdzIGp1c3QgYSBmZXcKCSAgbGluZXMgb2YgY29kZSBhbmQgaXMgb25seSB1c2VkIG9uY2UsIGp1c3QgZG8gdGhlIGV2ZW50CgkgIHB1c2hpbmcgaW5saW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTAyLTA2IDEzOjIyOjE0ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIFByb3RlY3Rpb24gZXZlbnRzIGZyb20gQ29udGVudFByb3RlY3Rpb24gZWxlbWVudHMKCSAgSWYgYSBDb250ZW50UHJvdGVjdGlvbiBlbGVtZW50IGlzIHByZXNlbnQgaW4gYW4gQWRhcHRhdGlvblNldCBlbGVtZW50LAoJICBzZW5kIFByb3RlY3Rpb24gZXZlbnRzIG9uIHRoZSBzb3VyY2UgcGFkLCBzbyB0aGF0IHF0ZGVtdXggY2FuIHVzZSB0aGlzCgkgIGluZm9ybWF0aW9uIHRvIGNvcnJlY3RseSBnZW5lcmF0ZSBpdHMgc291cmNlIGNhcHMgZm9yIERBU0ggQ0VOQwoJICBlbmNyeXB0ZWQgc3RyZWFtcy4KCSAgVGhpcyBhbGxvd3MgcXRkZW11eCB0byBzdXBwb3J0IENFTkMgZW5jcnlwdGVkIERBU0ggc3RyZWFtcyB3aGVyZSB0aGUKCSAgY29udGVudCBwcm90ZWN0aW9uIHNwZWNpZmljIGluZm9ybWF0aW9uIGlzIGNhcnJpZWQgaW4gdGhlIE1QRCBmaWxlCgkgIHJhdGhlciB0aGFuIGluIHBzc2ggYm94ZXMgaW4gdGhlIGluaXRpYWxpc2F0aW9uIHNlZ21lbnRzLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MgdG8gYWxsb3cKCSAgYSBHc3RFdmVudCB0byBiZSBxdWV1ZWQgZm9yIGEgc3RyZWFtLiBUaGUgcXVldWUgb2YgZXZlbnRzIGFyZSBzZW50IHRoZQoJICBuZXh0IHRpbWUgYSBidWZmZXIgaXMgcHVzaGVkIGZvciB0aGF0IHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MQoKMjAxNS0wNy0yMCAxMjo0MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogZml4IG91dHB1dCBjYXBzIGZvciBzdHJlYW0tZm9ybWF0PUFEVFMKCSAgU2hvdWxkIGhhdmUgZnJhbWVkPXRydWUgaW4gY2Fwcy4gRml4ZXMgdm9hYWNlbmMgISBtcGVndHNtdXguCgoyMDE1LTA3LTIwIDEyOjM4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYWFjIGNhcHMgaW4gcGFkIHRlbXBsYXRlIGZvciByYXcgYWFjCgkgIFJhdyBhYWMgZG9lc24ndCBuZWVkIGZyYW1lZD10cnVlLgoJICBGaXhlcyBub3QtbmVnb3RpYXRlZCBlcnJvciB3aXRoIHZvYWFjZW5jICEgbXBlZ3RzbXV4LgoKMjAxNS0wNy0yMCAxMTowOToyMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IExvZyBHREsgR0wgZXJyb3Igd2hlbiBmYWlsbGluZyBjcmVhdGluZyBHZGtHTENvbnRleHQKCjIwMTUtMDctMjAgMTg6MTk6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogY2hlY2sgZm9yIHBibyBhdmFpbGFiaWxpdHkgYmVmb3JlIGF0dGVtcHRpbmcgcGJvIGRvd25sb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNjUKCjIwMTUtMDctMTggMTc6MTk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggZ2V0X2N1cnJlbnRfZ2xfYXBpIG9uIHgxMS9udmlkaWEgZHJpdmVycwoJICBUaGV5IHJlcXVpcmUgdG8gZ2V0X3Byb2NfYWRkcmVzcyBzb21lIGZ1bmN0aW9ucyB0aHJvdWdoIHRoZQoJICBwbGF0Zm9ybSBzcGVjaWZpYyB7Z2xYLGVnbH1HZXRQcm9jQWRkcmVzcyByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdAoJICBHTCBsaWJyYXJ5IHN5bWJvbCBsb29rdXAuCgoyMDE1LTA3LTE4IDE3OjA4OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogY29uc29saWRhdGUgZ2V0X3Byb2NfYWRkcmVzcyBmdW5jdGlvbiBkZWZpbml0aW9uCgkgIFBhc3MgdGhlIEdzdEdMQVBJIGRpcmVjdGx5LgoKMjAxNS0wNy0xNyAxNzo0NzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IHByb3BhZ2F0ZSBmYWlsdXJlIHRvIGNvbnZlcnQgYnVmZmVyIHVwc3RyZWFtCgkgIFJhdGhlciB0aGFuIGp1c3Qgc2lsZW50bHkgY29udGludWluZwoKMjAxNS0wNy0xNyAxMzo0ODowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dC9nbHg6IHRyeSBjcmVhdGluZyBhIGNvbnRleHQgd2l0aCB0aGUgaGlnaGVzdCB2ZXJzaW9uCgkgIG52aWRpYSBkcml2ZXJzIHJldHVybiB0aGUgZXhhY3QgdmVyc2lvbiBpbiBnbEdzdFN0cmluZyAoR0xfVkVSU0lPTikKCSAgd2UgcmVxdWVzdCBvbiBjcmVhdGlvbiBzbyBzdGFydCB3aXRoIHRoZSBoaWdoZXN0IGtub3duIHZlcnNpb24gYW5kCgkgIHdvcmsgb3VyIHdheSBkb3duLgoKMjAxNS0wNy0xNiAwMDozNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHRyYWNrIHNoYXJlZG5lc3Mgd2l0aCBhIGNvb2tpZQoJICBUaGUgcHJldmlvdXMgYXBwcm9hY2ggb2YgdHJhdmVyc2luZyB0aGUgb3RoZXJfY29udGV4dCB3ZWFrIHJlZiB0cmVlIHdhcwoJICAxLiBMZXNzIHBlcmZvcm1hbnQKCSAgMi4gSW5jb3JyZWN0IGZvciBjb250ZXh0IGRlc3RydWN0aW9uIHJlbW92aW5nIGEgbGluayBpbiB0aGUgdHJlZQoJICBFeGFtcGxlIG9mIDI6CgkgIGMxID0gY29udGV4dF9jcmVhdGUgKE5VTEwpCgkgIGMyID0gY29udGV4dF9jcmVhdGUgKGMxKQoJICBjMyA9IGNvbnRleHRfY3JlYXRlIChjMikKCSAgY29udGV4dF9jYW5fc2hhcmUgKGMxLCBjMykgPT0gVFJVRQoJICBjb250ZXh0X2Rlc3Ryb3kgKGMyKQoJICB1bnJlZiAoYzIpCgkgIGNvbnRleHRfY2FuX3NoYXJlIChjMSwgYzMpIHJldHVybnMgRkFMU0Ugd2hlbiBpdCBzaG91bGQgYmUgVFJVRSEKCSAgVGhpcyBkb2VzIG5vdCByZW1vdmUgdGhlIHJlc3RyaWN0aW9uIHRoYXQgY29udGV4dCBzaGFyZWRuZXNzIGNhbiBvbmx5CgkgIGJlIHRyYWNrZWQgYmV0d2VlbiBHc3RHTENvbnRleHQncy4KCjIwMTUtMDctMTYgMDA6MzM6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiB1c2UgdGhlIGRlYnVnIG9iamVjdCB2YXJpYW50IGZvciBjb21wbGV0ZW5lc3MKCjIwMTUtMDctMTcgMTY6MDA6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ3N0Z2x3aWRnZXQ6IENsZWFudXAgdW51c2VkIHByaXZhdGUgbWVtYmVyCgkgIG5ld19idWZmZXIgaGFzIGJlZW4gbW92ZWQgdG8gYmFzZSBjbGFzcy4gQWxzbyBjbGVhbnVwCgkgIHRoZSBwcm9wZXJ0aWVzIGNvbW1lbnQsIHdoaWNoIGFyZSBhbHNvIGFsbCBtb3ZlZCBpbnRvCgkgIHRoZSBiYXNlIGNsYXNzLgoKMjAxNS0wNy0xNyAxNTo1NzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiAid2lkZ2V0IiBtdXN0IGJlIGFjY2VzcyBmcm9tIG1haW4gdGhyZWFkCgkgIERvY3VtZW50IHRoYXQgIndpZGdldCIgcHJvcGVydHkgbXVzdCBiZSBhY2Nlc3NlZCBmcm9tIHRoZQoJICBtYWluIHRocmVhZCAod2hlcmUgR1RLIGlzIHJ1bm5pbmcpLiBUaGlzIGlzIHRoZSBzYW1lIGZvcgoJICBzdGF0ZSB0cmFuc2l0aW9uIG9uIHRoZXNlIGVsZW1lbnRzLiBJdCBpcyB2ZXJ5IG5hdHVyYWwgdG8KCSAgZG8gc28gdW4gR1RLIGFwcGxpY2F0aW9ucy4KCjIwMTUtMDctMTcgMTU6MDg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBEb24ndCBsZWFrIHZlcnRleCBhcnJheSBhbmQgYnVmZmVycwoJICBUaGlzIGlzIG5vdyBwb3NzaWJsZSBzaW5jZSByZXNldCBpcyBhbHdheXMgY2FsbGVkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE3IDE0OjM2OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IEZpeCBibGFjayBmcmFtZSBvbiByZXNpemUKCSAgVGhpcyBpcyBzb2x2ZWQgYnkgb25seSBhcHBseWluZyB0aGUgbmV3IGZvcm1hdCB3aGVuIHRoZSBuZXh0CgkgIGJ1ZmZlciBpcyB0byBiZSByZW5kZXJlZCBhbmQgb24gdGhlIEdUSyB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTM6MDU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGtnc3RiYXNld2lkZ2V0OiBQYXNzIGFscmVhZHkgcGFyc2VkIFZpZGVvSW5mbwoJICBBcyB0aGUgYmFzZSBzaW5rIGFscmVhZHkgcGFyc2UgdGhlIGNhcHMgaW50byBWaWRlb0luZm8gaXQKCSAgbWFrZXMgc2Vuc2UgdG8gcGFzcyBpbiBWaWRlb0luZm8gdG8gdGhlIHdpZGdldCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjQ5OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjAwOjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNTo1OTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0a2Jhc2VzaW5rOiBDcmVhdGUgYSBiYXNlIGNsYXNzCgkgIFRoaXMgY29udGFpbnMgYWxsIHRoZSBjb21tb24gY29kZSBiZXR3ZWVuIHRoZSBndGtnbHNpbmsgYW5kCgkgIGd0a3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTQ6MzA6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjU1OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjUxOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0azogQWRkIEd0a0dzdEJhc2VXaWRnZXQKCSAgVGhpcyBpcyBhICJwc2V1ZG8iIGJhc2UgY2xhc3MuIEJhc2ljYWxseSBpdCdzIGEgc2hhcmVkIGluc3RhbmNlCgkgIGFuZCBjbGFzcyBzdHJ1Y3R1cmUgYW5kIGEgc2hhcmVkIHNldCBvZiBmdW5jdGlvbiBiZXR3ZWVuIHRoZQoJICB0d28gd2lkZ2V0LiBJdCBjYW5ub3QgaGF2ZSBpdCdzIG93biB0eXBlIGxpa2Ugbm9ybWFsIGJhc2UgY2xhc3MKCSAgc2luY2UgdGhlIG9uZSBpbnN0YW5jZSB3aWxsIGltcGxlbWVudCBHdGtHTEFyZWEgd2hpbGUgdGhlIG90aGVyCgkgIGltcGxlbWVudHMgR3RrRHJhd2luZ0FyZWF5LiBUbyB3b3JrYXJvdW5kIHRoaXMsIHRoZSBwYXJlbnQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIGlzIGEgdW5pb24gb2YgYm90aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNjo0NzowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICB1cGxvYWRlbGVtZW50OiBQcm90ZWN0IGFnYWluc3QgTlVMTCBwb2ludGVyCgkgIEkgbm90aWNlIHRoYXQgaWYgeW91IHN0b3AgdGhlIHBpcGVsaW5lIGR1cmluZyBhIHJlbmVnb3RpYXRpb24KCSAgdGhlIHVwbG9hZCBtYXkgYmUgTlVMTCB3aGlsZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IGlzIGJlaW5nIHJ1bi4KCSAgSW4gdGhhdCBzY2VuYXJpbywgcmV0dXJuaW5nIEZBTFNFIHRvIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGlzIHRoZQoJICBiZXN0IHRoaW5nLgoKMjAxNS0wNy0xNSAxNzozNToyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogUmVtb3ZlIHVudXNlZCBnbF9jYXBzCgoyMDE1LTA3LTE1IDE2OjU2OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3Rrc2luazogQ3JlYXRlIGEgd2luZG93IGlmIHRoZSB3aWRnZXQgaXMgdW5wYXJlbnRlZAoJICBUaGUgc2FtZSB3YXkgYXMgaXQncyBub3cgZG9uZSB3aXRoIHRoZSBndGtnbHNpbmssIGNyZWF0ZSBhIHRvcAoJICBsZXZlbCB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyBub3QgcGFyZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBFbnN1cmUgdGhlIGNvcHkgcGFzdGVkIGNvZGUgcmVtYWlucyB0aGUgc2FtZQoJICBNb3ZlIGJhY2sgdGhlIGRlZmF1bHQgcHJvcGVydHkgYXQgdGhlIHNhbWUgcGxhY2UgdGhleSBhcmUgaW4gdGhlCgkgIG90aGVyIHNpbmsuIFRoaXMgaGVscHMgd2hlbiB1c2luZyBhIGRpZmYgdmlld2VyIHRvIHN5bmNocm9uaXplZAoJICB0aGlzIHVuZm9ydHVuYXRlIGNvcHkgcGFzdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzI6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogRml4IHJhY2UgYmV0d2VlbiBxdWV1ZV9kcmF3IGFuZCBkZXN0cm95CgkgIEluIEdUSyBkaXNwb3NlIGNhbiBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsYXN0IHJlZiBpcyByZWFjaGVkLiBUaGlzCgkgIGhhcHBlbnMgd2hlbiB5b3UgY2xvc2UgdGhlIGNvbnRhaW5lciB3aW5kb3cuIFRoZSBkaXNwb3NlIHdpbGwgYmUKCSAgZXhwbGljaXRseSBjYWxsZWQsIGFuZCBkZXN0cm95ZWQgbm90aWZ5IHdpbGwgYmUgZmlyZWQuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgdGhpcyByYWNlIGJ5IHByb3Blcmx5IHRyYWNraW5nIHRoZSB3aWRnZXQgc3RhdGUuCgkgIEluIHRoZSBzaW5rLCB3ZSBub3cgc2V0IHRoZSB3aWRnZXQgcG9pbnRlciB0byBOVUxMLCBzbyB0aGUgd2lkZ2V0CgkgIHdpbGwgcHJvcGVybHkgZ2V0IGNyZWF0ZWQgYWdhaW4gaWYgeW91IHNldCB5b3VyIHBpcGVsaW5lIHRvIE5VTEwKCSAgc3RhdGUgYWZ0ZXIgdGhlIHdpZGdldCB3YXMgZGVzdHJveSwgYW5kIHNldCBpdCBiYWNrIHRvIFBMQVlJTkcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTYgMjE6Mjg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdHlwZWZpbmRlciwgbW92ZSBpdCB0byB0eXBlZmluZGZ1bmN0aW9ucyBpbiAtYmFzZQoJICBPdGhlcndpc2UgdGhpcyBwbHVnaW4gd2lsbCBiZSBsb2FkZWQgcHJldHR5IG11Y2ggd2hlbmV2ZXIKCSAgdGhlcmUncyBhbnl0aGluZyB0byB0eXBlZmluZC4gQW5kIHRoZSBjb2RlIHdhcyBwcmV0dHkgbXVjaAoJICBjb3B5J24ncGFzdGUgZnJvbSAtYmFzZSBhbnl3YXkuCgoyMDE1LTA3LTE1IDEzOjAyOjU0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRlZmF1bHQgdGltZXNjYWxlIGlzIDEKCSAgZGVmYXVsdCB0aW1lc2NhbGUgdmFsdWUgc2hvdWxkIGJlIDEsIG5vdCAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE0CgoyMDE1LTA3LTE1IDEzOjQxOjM3ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZyZWUgcHJvcF9zdHJpbmcgb25seSBhZnRlciBpdCdzIG5vIGxvbmdlciBuZWVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxOQoKMjAxNS0wNy0xNiAxNzoyMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBVcGRhdGUgbWFpbGluZyBsaXN0IGFkZHJlc3MgZnJvbSBzb3VyY2Vmb3JnZSB0byBmcmVlZGVza3RvcAoKMjAxNS0wNy0xNSAxMTo0Nzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrZ3N0d2lkZ2V0OiBBZGQgbWlzc2luZyBicmVhayBpbiBnZXRfcHJvcGVydHkKCjIwMTUtMDctMTUgMTE6NDQ6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJICBndGtzaW5rczogUmVtb3ZlIHVuZGVmaW5lZCBwcml2YXRlIHN0cnVjdHVyZQoJICBUaGUgY2xhc3NlcyBjb250YWlucyBhIHByaXZhdGUgc3RydWN0dXJlIHdoaWNoIGFyZSBub3QgZGVmaW5lZCwKCSAgaGVuY2UgdW51c2VkLgoKMjAxNS0wNy0xNCAxNzo0MDozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBtZW1jcHkgb24gcmF3IGRhdGEgdXBsb2FkCgkgIEFueXRoaW5nIGVsc2UgcmVxdWlyZXMga2VlcGluZyB0cmFjayBvZiB0aGUgR3N0VmlkZW9GcmFtZSBtYXBwaW5nCgkgIGFjcm9zcyBwb3NzaWJsZSBtdWx0aXBsZSBidWZmZXJzIHRvIGVuc3VyZSBjb3JyZWN0IGRhdGEgcG9pbnRlcgoJICB1c2FnZS4KCjIwMTUtMDctMTQgMTc6Mzk6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSAgZ2xiYXNlYnVmZmVyOiBhZGQgc29tZSBkZWJ1ZyBhbmQgemVybyB0aGUgZGF0YSBwb2ludGVycyBvbiBpbml0CgoyMDE1LTA3LTEwIDAxOjAwOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCB3YWl0IGZvciBkYXRhIG9uIHNwYXJzZSBpbnB1dHMgbGlrZSBtZXRhZGF0YSBvciBzdWJ0aXRsZSBzdHJlYW1zCgoyMDE0LTExLTA5IDE5OjE2OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIGJhc2ljIHN1cHBvcnQgZm9yIGFzeW5jaHJvbm91cyBLTFYgbWV0YWRhdGEgc3RyZWFtcwoJICBUaGlzIGlzIGRlZmluZWQgaW4gU01QVEUgUnAgMjE3LiBJbiB0aGlzIGNhc2UgdGhlCgkgIG1ldGFkYXRhIFBFUyBwYWNrZXRzIGNhcnJ5IG5vIHRpbWVzdGFtcHMgb2YgdGhlaXIKCSAgb3duIGFuZCBubyBNZXRhZGF0YSBBY2Nlc3MgVW5pdCBXcmFwcGVycyBhcmUgdXNlZC4KCjIwMTUtMDYtMjkgMDI6NDI6MDYgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogaGFuZGxlIG5vbi1jb25zZWN1dGl2ZSBHc3RCdWZmZXIgaW5wdXQgd2l0aG91dCBjb3B5aW5nCgkgIENNQmxvY2tCdWZmZXIgb2ZmZXJzIGEgbW9kZWwgc2ltaWxhciB0byBHc3RCdWZmZXIsIGFzIGl0IGNhbgoJICBjb25zaXN0IG9mIG11bHRpcGxlIG5vbi1jb25zZWN1dGl2ZSBtZW1vcnkgYmxvY2tzLgoJICBQcmlvciB0byB0aGlzIGNoYW5nZSwgd2hhdCB3ZSB3ZXJlIGRvaW5nIHdhczoKCSAgMSkgSW5jb3JyZWN0OgoJICBDTUJsb2NrQnVmZmVyQ3JlYXRlV2l0aE1lbW9yeUJsb2NrIGRvZXMgbm90IGNvcHkgdGhlIGRhdGEsCgkgIGJ1dCB3ZSBnc3RfYnVmZmVyX3VubWFwJ2QgcmlnaHQgYXdheS4KCSAgMikgSW5lZmZpY2llbnQ6CgkgIElmIHRoZSBHc3RCdWZmZXIgY29uc2lzdGVkIG9mIG5vbi1jb250aWd1b3VzIG1lbW9yeSBibG9ja3MsCgkgIGdzdF9idWZmZXJfbWFwIHJlc3VsdGVkIGluIG1hbGxvYyAvIG1lbWNweS4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgd2UgY29uc3RydWN0IGEgQ01CbG9ja0J1ZmZlciBvdXQgb2YgaW5kaXZpZHVhbCBtYXBwZWQKCSAgR3N0TWVtb3J5IG9iamVjdHMuIENNQmxvY2tCdWZmZXIgaXMgbWFkZSB0byByZXRhaW4gdGhlIEdzdE1lbW9yeQoJICBvYmplY3RzICh0aHJvdWdoIHRoZSB1c2Ugb2YgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKSwgc28gdGhlCgkgIG9yaWdpbmFsIEdzdEJ1ZmZlciBjYW4gYmUgdW5yZWYnZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MQoKMjAxNS0wNy0xMyAyMzoyMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZTogZml4IHVuY29uZGl0aW9uYWwgdXNlIG9mIE9TWCAxMC4xMCBBUEkKCSAgV2UgY2FuIGp1c3Qgbm90IHVzZSB0aGUgZXJyb3Ivc3RhdHVzIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYzMQoKMjAxNS0wNy0xMCAxOTowNTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB0cnkgaGFyZGVyIHRvIGZpbmQgdGhlIHJpZ2h0IFF0NSBidWlsZCB0b29scwoJICBGaXJzdCBjaGVjayBmb3IgUXQgYnVpbGQgdG9vbHMgaW4gdGhlIGhvc3RfYmlucyBkaXJlY3RvcnkKCSAgZnJvbSB0aGUgUXQ1Q29yZSBwa2ctY29uZmlnIGZpbGUuIFRoaXMgZml4ZXMgdGhlIHNpdHVhdGlvbgoJICB3aGVyZSBib3RoIFF0NCBhbmQgUXQ1IGFyZSBpbnN0YWxsZWQgYnV0IHRoZSBnbG9iYWwgbW9jL3VpYy9ldGMuCgkgIGFyZSB0aGUgUXQ0IHZlcnNpb24sIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBidWlsZCBmYWlsdXJlcy4KCjIwMTUtMDctMTAgMTQ6MDE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGNvbmZpZ3VyZS9xdDogRml4IGJ1aWxkIHdpdGhvdXQgUXQ1WDExRXh0cmFzCgoyMDE1LTA3LTEwIDEzOjI2OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBnX3NsaWNlX25ldygpIGNhbid0IHJldHVybiBOVUxMCgkgIEl0IHdpbGwgYWJvcnQoKSBpZiBhbGxvY2F0aW9uIGZhaWxzLgoKMjAxNS0wNy0xMCAxMzoxOTo0MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGFsbG93IG5ldHdvcmsgYWNjZXNzIHdoZW4gcmVhZGluZyB0aGUgWE1MIGRhdGEKCjIwMTUtMDctMTAgMTk6MjI6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcXQ6IGRvbid0IGVycm9yIG91dCBpZiBRdCBYMTEgY291bGQgbm90IGJlIGZvdW5kCgkgIFBDS19DSEVDS19NT0RVTEVTIGRlZmF1bHQgZXJyb3ItaWYtbm90LWZvdW5kIGltcGxlbWVudGF0aW9uIGVycm9ycwoJICBzbyBvdmVycmlkZSBpdCB3aXRoIGEgc2ltcGxlIG5vdGljZSB0aGF0IHdlIGNvdWxkbid0IGZpbmQgdGhlIGxpYnJhcnkuCgoyMDE1LTA3LTA2IDIzOjEwOjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3F0Ly5naXRpZ25vcmU6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNpbmsuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5xbWw6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL3FtbC5xcmM6CgkgIG5ldyBxdDUgcW1sIEdMIHZpZGVvIHNpbmsKCSAgVmVyeSBtdWNoIGluIHRoZSBzYW1lIHNwaXJpdCBhcyB0aGUgR3RrIEdMIHNpbmsKCSAgVHdvIHRoaW5ncyBhcmUgcHJvdmlkZWQKCSAgMS4gQSBRUXVpY2tJdGVtIHN1YmNsYXNzIHRoYXQgcmVuZGVycyBvdXQgUkdCQSBmaWxsZWQgR3N0R0xNZW1vcnkKCSAgYnVmZmVycyB0aGF0IGlzIGluc3RhbnRpYXRlZCBmcm9tIHFtbC4KCSAgMi4gQSBzaW5rIGVsZW1lbnQgdGhhdCB3aWxsIHB1c2ggYnVmZmVycyBpbnRvICgxKQoJICBUbyB1c2UKCSAgMS4gRGVjbGFyZSB0aGUgR3N0R0xWaWRlb0l0ZW0gaW4gcW1sIHdpdGggYW4gYXBwcm9wcmlhdGUKCSAgb2JqZWN0TmFtZSBwcm9wZXJ0eSBzZXQuCgkgIDIuIEdldCB0aGUgYWZvcmVtZW50aW9uZWQgR3N0R0xWaWRlb0l0ZW0gZnJvbSBxbWwgdXNpbmcgc29tZXRoaW5nIGxpa2UKCSAgUVFtbEFwcGxpY2F0aW9uRW5naW5lIGVuZ2luZTsKCSAgZW5naW5lLmxvYWQoUVVybChRU3RyaW5nTGl0ZXJhbCgicXJjOi9tYWluLnFtbCIpKSk7CgkgIFFPYmplY3QgKnJvb3RPYmplY3QgPSBlbmdpbmUucm9vdE9iamVjdHMoKS5maXJzdCgpOwoJICBRUXVpY2tJdGVtICp2aWRlb0l0ZW0gPSByb290T2JqZWN0LT5maW5kQ2hpbGQ8UVF1aWNrSXRlbSAqPiAoInZpZGVvSXRlbSIpOwoJICAzLiBTZXQgdGhlIHZpZGVvSXRlbSBvbiB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTg1CgoyMDE1LTA3LTA4IDE3OjE3OjE4ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBGaXggbWFrZSBkaXN0IHdoaWxlIGJsdWV6ID49IDUgaXMgbm90IGF2YWlsYWJsZQoKMjAxNS0wNy0wOSAxODozMTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpeCBwcmV2aW91cyBjb21taXQKCSAgV2Ugb25seSB3YW50IHRvIGRvIGEgaGFyZCByZXNldCBvZiB0aGUgb2JzZXJ2YXRpb25zIGlmIHdlJ3JlIHdvcmtpbmcKCSAgd2l0aCBUSU1FIHNlZ21lbnRzIGluIHB1c2ggbW9kZS4gRm9yIEJZVEUgc2VnbWVudCB3ZSB3YW50IHRvIGtlZXAKCSAgdGhlIG9ic2VydmF0aW9ucyAoaW4gb3JkZXIgdG8gZG8gc2Vla3MgaW4gcHVzaC1tb2RlKS4KCjIwMTUtMDctMDkgMTY6NTk6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBtb3JlIG9uIERJU0NPTlQgYnVmZmVycyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBpbiBwdXNoIG1vZGUsIHdlIHdhbnQgdG8gZGlzY2FyZCBhbGwgcHJldmlvdXMgb2JzZXJ2YXRpb25zIGZyb20gdGhlCgkgIG1wZWd0c3BhY2tldGl6ZXIgd2hlbiB3ZSBnZXQgYSBESVNDT05UIGJ1ZmZlci4KCSAgVGhpcyBhdm9pZHMgdHJ5aW5nIHRvIGNhbGN1bGF0ZSBib2d1cyB0aW1lc3RhbXBzIChlc3RpbWF0aW5nIHRoZW0gdXNpbmcgb2xkCgkgIFBDUiBvYnNlcnZhdGlvbnMpLgoJICBXZSBvbmx5IGRvIGEgaGFyZCByZXNldCBpbiBwdXNoLW1vZGUuIEluIHB1bGwtbW9kZSB3ZSBzdGlsbCBuZWVkIHRoZSBvYnNlcnZhdGlvbnMKCSAgKGluIG9yZGVyIHRvIHNlZWsgcHJvcGVybHkpCgoyMDE1LTA3LTA5IDExOjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcwoKMjAxNS0wNy0wOSAxMTowNToxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEluY2x1ZGUgbmV3IGZpbGUgaW4gZGlzdCdlZCBmaWxlcwoJICBGaXhlcyBtYWtlIGRpc3RjaGVjayBhbmQgdGFyYmFsbCBnZW5lcmF0aW9uCgoyMDE1LTA3LTA5IDEzOjAzOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBndGs6IGFkZCB0byB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdAoKMjAxNS0wNi0xNyAwOTozNjo1NyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBFbnN1cmUgd2lkZ2V0IGhhcyBhIHRvcGxldmVsIHBhcmVudAoJICBDaGVja2luZyBmb3IgYSBwYXJlbnQgaXMgbm90IGVub3VnaCwgaXQgbXVzdCBoYXZlIGEgdG9wbGV2ZWwgb25lLgoJICBJZiB3aWRnZXQgaGFzIG5vIHRvcGxldmVsIHBhcmVudCB0aGVuIGFkZCBpdCBpbiBhIEd0a1dpbmRvdywgdGhhdAoJICBtYWtlIGl0IHVzYWJsZSBmcm9tIGdzdC1sYXVuY2gtMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA2LTE3IDA5OjM2OjQwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBHc3RHdGtHTFNpbms6IFBvc3QgZXJyb3IgaWYgd2lkZ2V0IGdldHMgZGVzdHJveWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTYgMTY6MjE6MjYgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIEdzdEd0a0dMU2luazogZml4IHBvc3NpYmxlIHdhcm5pbmcgaW4gZmluYWxpemUKCSAgSWYgdGhlIGVsZW1lbnQgaXMgZmluYWxpemVkIGJlZm9yZSBnb2luZyBpbiBSRUFEWSBzdGF0ZQoJICB0aGUgd2lkZ2V0IGNvdWxkIHN0aWxsIGJlIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMDggMjM6MTQ6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBGaXggc29tZSBtZW1vcnkgbGVha3MgaW4gdGhlIE1QRCBwYXJzZXIgYW5kIHVuaXQgdGVzdAoKMjAxNS0wNy0wNyAxNjo1OTo1MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3RzIHRvIHRlc3QgYWxsIGZ1bmN0aW9ucwoJICBBZGRlZCB1bml0IHRlc3RzIGZvciBhbGwgZnVuY3Rpb25zLiBDb2RlIGNvdmVyYWdlOgoJICBPdmVyYWxsIGNvdmVyYWdlIHJhdGU6CgkgIGxpbmVzLi4uLi4uOiA4My44JSAoMTk0MSBvZiAyMzE2IGxpbmVzKQoJICBmdW5jdGlvbnMuLjogMTAwLjAlICgxNDEgb2YgMTQxIGZ1bmN0aW9ucykKCjIwMTUtMDctMDggMTc6MDg6NTYgKzAzMDAgIFJvbWFuIERvbmNoZW5rbyA8cm9tYW4uZG9uY2hlbmtvQGl0c2Vlei5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBmaXggYSBHc3RDYXBzIG9iamVjdCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTI3CgoyMDE1LTAzLTI2IDExOjM0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGlzIGlzIG5vdCBwdWJsaWMgQVBJLCB1c2UgZ19hc3NlcnQoKSBpbnN0ZWFkIG9mCgkgIGdfcmV0dXJuX2lmX2ZhaWwoKSwgc28gdGhhdCBpdCdzIGNvbXBpbGVkIG91dCBpbgoJICByZWxlYXNlcy4gSXQncyBvbmx5IGNhbGxlZCBmcm9tIG91ciBjb2RlLCB3aXRoICZmb28uCgoyMDE0LTA2LTMwIDEzOjIwOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBLTFYgbWV0YWRhdGEgc3RyZWFtcwoJICBUaGVyZSdzIG5vIHRpbWVzdGFtcHMgZm9yIHRoZXNlIHN0cmVhbXMgdGhvdWdoLCB3ZQoJICBtaWdodCB3YW50IHRvIG1ha2Ugc29tZSB1cCBiYXNlZCBvbiB0aGUgbGFzdC9uZXh0CgkgIHZpZGVvIFBUUyBvciBzby4KCjIwMTUtMDctMDggMTY6MzE6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ4NzVkZGY1ODU1YTI2ZjM0OWRmN2IzODViNjhlYjY5MmUzMTRiZmEuCgkgIFRoaXMgd2FzIGJhc2VkIG9uIGEgbWlzdW5kZXJzdGFuZGluZyBvZiB0aGUgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjA4NQoKMjAxNS0wNy0wNiAxMzoyODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IERvbid0IGNhbGwgYW55dGhpbmcgc3luY2hyb25vdXNseSBmcm9tIHRoZSBtYWluIHRocmVhZAoJICBUaGlzIHdpbGwgZGVhZGxvY2sgaWYgdGhlIG1haW4gdGhyZWFkIGlzIHRoZSBvbmUgd2hvIGNyZWF0ZXMgdGhlIEdzdEdMQ29udGV4dC4KCSAgQWxsIHRoaW5ncyB3ZSBjYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkIHNob3VsZCBiZSBwb3NzaWJsZSBmcm9tIGFueSB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDEKCjIwMTUtMDctMDggMTI6MTY6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IHJlbW92ZSB1bm5lY2Vzc2FyeSBnb3RvCgkgIEFsbCBnb3RvIGZhaWwgaGFwcGVuIGJlZm9yZSByZXQgaXMgc2V0LiByZXQgbXVzdCBiZSBOVUxMLCBhbmQgdGhlIG9ubHkKCSAgdGhpbmcgdGhlIGZhaWwgc3RhdGVtZW50IGJsb2NrIGRvZXMgaXMgcmV0dXJuIE5VTEwuIFJlcGxhY2luZyB0aGUganVtcHMgdG8KCSAgZG8gdGhpcyByZXR1cm4gZGlyZWN0bHkuCgkgIENJRCAjMTMxMTMyOQoKMjAxNS0wNy0wOCAxMTozMjo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgZWxzZSBzdGF0ZW1lbnQKCSAgRWxzZSBzdGF0ZW1lbnQgaXMgcmVkdW5kYW50IHdoZW4gdGhlIGlmIGJsb2NrIGZpbmlzaGVzIHdpdGggYW4gcmV0dXJuLgoKMjAxNS0wNy0wOCAxMTo0Mjo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgSDI2NS9IRVZDCgoyMDE1LTA2LTI5IDEyOjQwOjU1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCByZWZjb3VudCBlcnJvciBpbiBlcnJvciBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjQxCgoyMDE1LTA3LTA3IDE5OjQ4OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBFeHBsaWNpdGx5IGNoZWNrIGZvciBDVVNUT01fRVJST1Igd2hlbiBjb252ZXJ0aW5nIGVycm9ycyB0byBFT1MKCSAgV2UgdXNlIHRoaW5ncyBsaWtlIENVU1RPTV9TVUNDRVNTKiBpbiBvdGhlciBwbGFjZXMsIGFuZCB0aG9zZSBhcmUgbm90IGVycm9ycwoJICBidXQgc2hvdWxkIGp1c3QgYmUgaGFuZGxlZCBsaWtlIE9LLgoKMjAxNS0wNy0wNyAxOToyNjowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZGZlMzdmZmM1OWZkZjVmNDA3NTY5Njk3NmQ5OGVjOGQ2ZGI3MzEzOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjA4NQoKMjAxNS0wNy0wNyAxOToyNToyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZpeCBvZmYtYnktb25lIGluIGhhcy1uZXh0LXNlZ21lbnQgY2FsY3VsYXRpb24KCjIwMTUtMDctMDcgMTg6Mzc6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IElmIGRvd25sb2FkaW5nIHRoZSBsYXN0IGZyYWdtZW50IGZhaWxzLCBjb25zaWRlciB0aGlzIGFzIEVPUyBhbmQgbm90IEVSUk9SCgkgIFNvbWV0aW1lcyB0aGUgbGFzdCBmcmFnbWVudCBkb2VzIG5vdCBleGlzdCBiZWNhdXNlIG9mIHJvdW5kaW5nIGVycm9ycyB3aXRoIHRoZQoJICBkdXJhdGlvbnMuIEp1c3QgZmluaXNoIHRoZSBzdHJlYW0gZ3JhY2VmdWxseSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCBpbnN0ZWFkLgoKMjAxNS0wNy0wNyAyMjozNTo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBkb3dubG9hZDogb25seSBzdGFydCBhIGRvd25sb2FkIHRyYW5zZmVyIGZvciBzeXNtZW0gY2FwcyBmZWF0dXJlcwoKMjAxNS0wNy0wNiAxMjowODo1MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCBpbmRlbnRhdGlvbiBpbiB4bWwgc3RyaW5ncyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMjcKCjIwMTUtMDctMDMgMTY6MTc6NTggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgcGFyc2luZyBvZiBiaXRzdHJlYW1Td2l0Y2hpbmdAQWRhcHRhdGlvblNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTcwCgoyMDE1LTA3LTAzIDE1OjMxOjM1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlZ3JvdXBlZCBmdW5jdGlvbnMgaW4gZ3N0bXBkcGFyc2VyLmggZmlsZQoJICBNb3ZlZCBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSBhbmQKCSAgZ3N0X21wZF9jbGllbnRfYWRkX3RpbWVfZGlmZmVyZW5jZSBmdW5jdGlvbnMgdG8gYmUgZ3JvdXBlZCB3aXRoCgkgIGZ1bmN0aW9ucyBmcm9tIHRoZSBzYW1lIGNhdGVnb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDI3CgoyMDE1LTA3LTA2IDE0OjIxOjE3ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGNvcnJlY3RlZCBjb2RlIGxheW91dAoJICBkZWxldGVkIHRoZSBlbXB0eSBsaW5lIGJldHdlZW4gZ3N0X21wZF9wYXJzZSBjYWxsIGFuZCBpdHMgY2hlY2sgc28gdGhhdAoJICB0aGUgYXNzZXJ0IGlzIG5leHQgdG8gdGhlIGZ1bmN0aW9uIGl0IGlzIHRlc3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAyNwoKMjAxNS0wNy0wNyAxMDo1Njo0NyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSAgbXBlZ3ZpZGVvbWV0YTogYWRkIG1ldGEgdHJhbnNmb3JtIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzgKCjIwMTUtMDctMDcgMTA6NTc6MjYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogdHJhbnNmb3JtIGZ1bmM6IHJldHVybiBGQUxTRSBpZiBub3Qgc3VwcG9ydGVkIG9yIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc4CgoyMDE1LTA3LTA2IDE0OjE0OjEyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TCgkgIEZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIGlmIHRoZQoJICBuZXcgaW5kZXggaXMgb3V0IG9mIHJhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODUwCgoyMDE1LTA3LTA3IDE2OjM5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBhbmRyb2lkOiBhZGQgbWlzc2luZyBlZ2wuaCBpbmNsdWRlCgoyMDE1LTA3LTA3IDE1OjMwOjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBjb3JyZWN0IHZhbyB1c2FnZQoJICBrZWVwIHRoZSB2YW8gYm91bmQgYWZ0ZXIgdXBsb2FkaW5nIHRoZSBuZXcgdmVydGV4IGRhdGEKCSAgZml4ZXMgYSBtZXNhIEdMIGVycm9yICJubyB2ZXJ0ZXggYXJyYXkgb2JqZWN0IGJvdW5kIiBvbiBjYXBzIGNoYW5nZXMKCjIwMTUtMDYtMTYgMDc6NDk6MzQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGNvbnNvbGlkYXRlIGVnbCBoZWFkZXIgaW5jbHVkZXMgdG8gZWdsLW9ubHkgaGVhZGVycwoJICBUaGV5IG1heSBjb25mbGljdCB3aXRoIG90aGVyIGhlYWRlcnMuCgoyMDE1LTA3LTA2IDE5OjMzOjM1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVsZWFzZSB0aGUgd2lkZ2V0IGxvY2sgd2hlbiB0cnlpbmcgdG8gZ2V0IHRoZSBHTCBjb250ZXh0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCBiZSB3YWl0aW5nIGZvciB0aGUgbG9jayBvbiB0aGUgbWFpbiBsb29wIChmb3IKCSAgZXhhbXBsZSBpbiB0aGUgLT5yZW5kZXIgdm1ldGhvZCkgYW5kIHRodXMgd2Ugd2lsbCBkZWFkbG9jay4KCjIwMTUtMDctMDYgMTg6NTE6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGZyb20gdGhlIGNhcHMgcmV0dXJuZWQgYnkgZ2V0Y2FwcwoJICBBdm9pZGluZyBub3QgbmVnb3RpYXRlZCBlcnJvciB3aGlsZSBuZWdvdGlhdGluZyBhcyB3ZSBhbnl3YXkgZm9yY2UgMS8xCgkgIGFzIG91dHB1dAoKMjAxNS0wNy0wNiAxNToyNDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiByZW1vdmUgcmVkdW5kYW50IGVsc2Ugc3RhdGVtZW50CgkgIEVsc2Ugc3RhdGVtZW50IGlzIHJlZHVuZGFudCB3aGVuIHRoZSBpZiBibG9jayBmaW5pc2hlcyB3aXRoIGFuIHJldHVybi4KCjIwMTUtMDctMDIgMTU6MTc6NTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgc2VnbWVudCBzdGFydCB3aGVuIHNwZWNpZmllZCBieSBTZWdtZW50VGltZWxpbmUKCSAgQHQgYXR0cmlidXRlIGluIHNlZ21lbnQgVGltZWxpbmUgaXMgcmVsYXRpdmUgdG8gdGhlIHBlcmlvZCBzdGFydC4KCSAgQ29ycmVjdGVkIHRoZSBjb2RlIHRvIHRha2UgdGhpcyBpbnRvIGFjY291bnQgd2hlbiBjb21wdXRpbmcgc2VnbWVudAoJICB0aW1lc3RhbXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NDEKCjIwMTUtMDctMDMgMTc6MDA6MzEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogd3Jvbmcgc2VnbWVudCBkdXJhdGlvbiBjb21wdXRlZCBieSBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbgoJICBDb3JyZWN0ZWQgY29tcHV0YXRpb24gb2Ygc2VnbWVudCBzdGFydCBhbmQgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MTQKCjIwMTUtMDctMDMgMTY6MTA6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHNlYXJjaCBmb3IgYXVkaW8gbGFuZ3VhZ2VzCgkgIENvcnJlY3RlZCB0aGUgaW5pdGlhbGlzYXRpb24gb2YgbWltZVR5cGUgaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfbGlzdF9hbmRfbmJfb2ZfYXVkaW9fbGFuZ3VhZ2U6IHRoZSB2YXJpYWJsZSBpcyB1c2VkCgkgIGluIGEgbG9vcCwgc28gaXQgbXVzdCBiZSBzZXQgdG8gTlVMTCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggaXRlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTExCgoyMDE1LTA3LTAzIDIxOjU4OjI2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNzRiMmRmIHRvIDlhZWQxZDcKCjIwMTUtMDctMDMgMTI6MTc6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlciwgZ2xtaXhlcjogQWRkIGRlc2NyaXB0aW9uIGFuZCBrbGFzcwoKMjAxNS0wNy0wMyAxOToyNDo1OCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBGaXggYnJva2VuIEJsdWVaIGNvbmZpZ3VyZSBjaGVjawoJICBUaGUgcHJldmlvdXMgY29tbWl0IGxlZnQgYW4gZXh0cmEgc2V0IG9mIGJyYWNrZXRzLCBhbmQgbWlzc2VkIHJlbW92aW5nCgkgIHRoZSBleHBsaWNpdCBkYnVzIGNoZWNrICh3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkIHNpbmNlIHdlJ3JlIHVzaW5nCgkgIGdkYnVzKS4KCjIwMTUtMDEtMTMgMTA6MzE6NDEgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiByZW1vdmUgc3VwcG9ydCBmb3IgYmx1ZXo0CgoyMDE0LTEyLTMwIDA3OjIxOjQ0IC0wODAwICBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJKiBzeXMvYmx1ZXovb3JnLmJsdWV6LnhtbDoKCSAgYmx1ZXo6IHJlZmFjdG9yIHRvIHVzZSBnbGliIGFuZCBhZGQgY29ubmVjdGlvbiBzdGF0ZSB0cmFja2luZwoKMjAxNS0wNi0xNSAyMzo0MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IGFub3RoZXIgcmVncmVzc2lvbgoJICBJbnRyb2R1Y2VkIGJ5IGM0YzlmZTYwYiBwY2FwcGFyc2U6IFRha2UgYnVmZmVyIGRpcmVjdGx5IGZyb20gdGhlIGFkYXB0ZXIKCSAgVXNpbmcgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXJfZmFzdCgpIGNhbiBsZWFkIHRvIGJ1ZmZlcnMgdGhhdCBhcmUKCSAgbWFkZSB1cCBvZiBtdWx0aXBsZSBtZW1vcmllcyB3aXRoIHRoZSBmaXJzdCBtZW1vcnkgc21hbGxlciB0aGFuIHRoZQoJICBSVFAgaGVhZGVyIHNpemUsIHdoaWNoIHZpb2xhdGVzIGFzc3VtcHRpb25zIEdzdFJ0cEJhc2VEZXBheWxvYWRlcgoJICBtYWtlcywgbmFtZWx5IHRoYXQgdGhlIGNvbXBsZXRlIFJUUCBoZWFkZXIgd2lsbCBiZSBpbiB0aGUgZmlyc3QKCSAgbWVtb3J5LiBUaGlzIGxlYWRzIHRvIHN1Y2ggcGFja2V0cyBiZWluZyBkcm9wcGVkIHdoZW4gZmVlZGluZwoJICB0aGVtIGZyb20gcGNhcHBhcnNlIHRvIFJUUCBkZXBheWxvYWRlcnMuIFVzZSB0YWtlX2J1ZmZlcigpIHNvCgkgIHdlIGdldCBidWZmZXJzIHdpdGggYSBzaW5nbGUgbWVtb3J5LgoKMjAxNS0wNy0wMiAxMzo0NTowNCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkgIHRlc3RzOiBwY2FwcGFyc2U6IGFkZCB1bml0IHRlc3QgZm9yIGZyYW1lcyB3aXRoIGV0aCBwYWRkaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NzkKCjIwMTUtMDYtMTUgMTI6NTU6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCByZWdyZXNzaW9uIHdoZW4gaGFuZGxpbmcgcGFja2V0cyB3aXRoIGV0aCBwYWRkaW5nCgkgIEludHJvZHVjZWQgYnkgYzRjOWZlNjBiIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBGbHVzaCBhbnkgdHJhaWxpbmcgYnl0ZXMgYWZ0ZXIgdGhlIHBheWxvYWQgZnJvbSB0aGUgYWRhcHRlciBhcyB3ZWxsLAoJICBvdGhlcndpc2Ugd2UnbGwgcmVhZCBhIGJvZ3VzIHBhY2tldCBzaXplIGZyb20gdGhlIGFkYXB0ZXIgbmV4dCBhbmQKCSAgdGhlbiBldmVyeXRoaW5nIGdvZXMgZG93bmhpbGwgZnJvbSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg3OQoKMjAxNS0wNy0wMiAxODo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBVbnJlZiB2aWRlbyBmcmFtZXMgYW5kIGNvZGVjIHN0YXRlIGluIGFsbCBjYXNlcwoKMjAxNS0wNy0wMiAxMDoyNjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IGluaXRpYWxpemUgb3V0cHV0IHBhcmFtcyB0byAwIGJlZm9yZSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBUaGUgY2xpZW50IHNpZGUgQVBJIG9mIHRoZSBDaHJvbWl1bSdzIEdQVSBQcm9jZXNzIGhhcyBhc3NlcnRzCgkgIGluIGRlYnVnIG1vZGUgdGhhdCBjaGVjayB0aGF0IG91dHB1dCBwYXJhbXMgYXJlIGluaXRpYWxpemVkIHRvIDAuCgoyMDE1LTA2LTI2IDE1OjM0OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IERvbid0IGxlYWsgcG9vbCBpZiBzZXRfY29uZmlnIGZhaWxlZAoKMjAxNS0wNi0yNiAxNTozMzozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogRG9uJ3QgY2FjaGUgYnVmZmVyIHBvb2wKCSAgQ2FjaGluZyBhbmQgc2hhcmluZyB0byBtdWx0aXBsZSBlbGVtZW50IHRoZSBzYW1lIHBvb2wgcHJldmVudHMKCSAgcmVuZWdvdGlhdGlvbiBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vdCBwYXNzdGhyb3VnaC4KCjIwMTUtMDctMDIgMTQ6MTU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVW5pbml0aWFsaXppbmcgdGhlIGRlY29kZXIgY2FuJ3QgZmFpbCBhbmQgd2lsbCBhbHdheXMgcmV0dXJuIDAgPT0gY21SZXN1bHRTdWNjZXNzCgkgIC4uLiBidXQgd2hlbiB3ZSBjYXN0IGNtUmVzdWx0U3VjY2VzcyB0byBhIGdib29sZWFuIGl0IHdpbGwgYmUgRkFMU0UsIGFuZCBtYWtlCgkgIEdzdFZpZGVvRGVjb2Rlcjo6c3RvcCgpIGZhaWwgZm9yIG5vIHJlYXNvbi4KCjIwMTUtMDctMDIgMTc6MDg6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVzZSBnX2NsZWFyX2Vycm9yIGluc3RlYWQgb2YgZ19lcnJvcl9mcmVlCgkgIHJlcGxhY2UgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgYXMgaXQgaW50ZXJuYWxseQoJICBjaGVja3MgaWYgZXJyb3IgdmFyaWFibGUgaXMgdmFsaWQgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODIzCgoyMDE1LTA3LTAyIDE2OjI3OjA2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBmaXggY2hlY2sgd2hldGhlciB3ZSBtYW5hZ2VkIHRvIGFjcXVpcmUgYSBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTgyMQoKMjAxNS0wNi0zMCAxNTo1MjoxOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogQWRkIGNvbmZpZyBmb3IgdGhlIHJlcGxheSB3aW5kb3cgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzI5CgoyMDE1LTA2LTMwIDEzOjIwOjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBwYXJzaW5nIG9mICV1IGluIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MTYKCjIwMTUtMDYtMjkgMjI6MTg6MzggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHJlY29nbml0aW9uIG9mICQkJCBpbiBzZWdtZW50IHRlbXBsYXRlcwoJICBmaXhlZCByZWNvZ25pdGlvbiBvZiAkJCBhZnRlciBhICQgdGhhdCBlbmRzIGFuIGlkZW50aWZpZXIsIGVnICRUaW1lJCQkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2ODIKCjIwMTUtMDYtMjkgMTg6NTA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2FsbCBpbml0aWFsaXplX2NsYXNzZXMoKSBhbHNvIHdoZW4gd2UgZ290IHRoZSBKYXZhIFZNIGZyb20gdGhlIGFwcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjY0CgoyMDE1LTA2LTI5IDE2OjEwOjM5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IGFkZCBtaXNzaW5nIGJyZWFrCgkgIGdzdF9nbF92aWV3X2NvbnZlcnRfZWxlbWVudF9zZXRfcHJvcGVydHkoKSBpcyBtaXNzaW5nIGEgYnJlYWsgYXQgdGhlIGVuZAoJICBvZiB0aGUgUFJPUF9PVVRQVVRfRE9XTk1JWF9NT0RFIGNhc2UuIEFkZGluZyBpdC4KCSAgQ0lEICMxMzA4OTQ5CgoyMDE1LTA2LTI2IDE0OjEyOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGxlYWsgcG9vbAoJICBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fcG9vbCBpcyB0cmFuc2ZlciBub25lLiBBbHNvIHVucmVmCgkgIGlmIHRoZXJlIHdhcyBhIGNvbmZpZ3VyYXRpb24gZXJyb3IuCgoyMDE1LTA2LTI2IDE1OjU4OjI1ICswOTAwICBTYW5na3l1IFBhcmsgPHNrMTEyMi5wYXJrQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjaGVjayBwb2ludGVyIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIGdzdF9wc19kZW11eF9nZXRfc3RyZWFtKCkgY291bGQgcmV0dXJuIE5VTEwgd2hlbiBpdCBpcyB1bmtub3duIHN0cmVhbSwKCSAgY2hlY2sgdGhpcyBoYXNuJ3QgaGFwcGVuZWQgYmVmb3JlIGRlcmVmZXJlbmNpbmcgdGhlIHJldHVybmVkIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MjgKCjIwMTUtMDYtMjYgMTM6MDk6NTQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIG5leHQgZnJhZ21lbnQgZHVyYXRpb24gdmFsaWRhdGlvbgoJICBCZWZvcmUgcmV0dXJuaW5nIHRoZSBuZXh0IGZyYWdtZW50IGR1cmF0aW9uIHZhbHVlLCB0aGUKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gZnVuY3Rpb24gdHJpZXMgdG8gdmFsaWRhdGUgaXQuCgkgIEJ1dCB0aGUgY29uZGl0aW9uIHdhcyBpbmNvcnJlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MzkKCjIwMTUtMDYtMjUgMjM6NDk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE1vdmUgdW5yZWYoKSBpbnRvIHRoZSByaWdodCBzY29wZQoKMjAxNS0wNi0yNSAyMzozMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUHJvcGVybHkgaGFuZGxlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgZm9yIHNlZWtpbmcgYW5kIG11bHRpLXBlcmlvZCBzdHJlYW1zCgkgIFNlZ21lbnQgc3RhcnQvdGltZS9wb3NpdGlvbi9iYXNlIHNob3VsZCBvbmx5IGJlIG1vZGlmaWVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0CgkgIHRpbWUgd2Ugc2VuZCBhIHNlZ21lbnQsIG90aGVyd2lzZSB3ZSB3aWxsIG92ZXJyaWRlIHZhbHVlcyBmcm9tIHRoZSBzZWVrCgkgIHNlZ21lbnQgaWYgbmV3IHN0cmVhbXMgaGF2ZSB0byBiZSBleHBvc2VkIGFzIHBhcnQgb2YgdGhlIHNlZWsuCgkgIFNlZ21lbnQgYmFzZSBzaG91bGQgYmUgY2FsY3VsYXRlZCBmcm9tIHRoZSBzZWdtZW50IHN0YXJ0IGJhc2VkIG9uIHRoZSBzdHJlYW0ncwoJICBvd24gc2VnbWVudCwgbm90IHRoZSBkZW11eGVyJ3Mgc2VnbWVudC4gQm90aCBtaWdodCBkaWZmZXIgc2xpZ2h0bHkgYmVjYXVzZSBvZgoJICB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldC4KCSAgQWx3YXlzIGFkZCB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCAocmVsYXRpdmUgdG8gdGhlIHBlcmlvZCBzdGFydCwgbm90CgkgIHRpbWVzdGFtcCAwKSB0byB0aGUgc2VnbWVudCBzdGFydCBhZnRlciByZXNldHRpbmcgdGhlIHN0cmVhbSdzIHNlZ21lbnQgYmFzZWQKCSAgb24gdGhlIGRlbXV4ZXIncyBzZWdtZW50IChpLmUuIGFmdGVyIHNlZWtzIG9yIHN0cmVhbSByZXN0YXJ0KS4gQWxzbyBtYWtlIHN1cmUKCSAgdG8ga2VlcCB0aGUgc3RyZWFtJ3Mgc2VnbWVudCB1cCB0byBkYXRlIGFuZCBub3QganVzdCBzZW5kIGEgbmV3IHNlZ21lbnQgZXZlbnQKCSAgd2l0aG91dCBzdG9yaW5nIHRoZSBzZWdtZW50IGluIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDYtMjUgMjM6MjQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBTdWJ0cmFjdCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgZnJvbSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldAoJICBXZSdyZSBpbnRlcmVzdGVkIGluIHRoZSBvZmZzZXQgYmV0d2VlbiB0aGUgcGVyaW9kIHN0YXJ0IHRpbWVzdGFtcCBhbmQgdGhlCgkgIGFjdHVhbCBtZWRpYSB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcHJvcGVybHkgY29ycmVjdCBmb3IgaXQuIFRoZSBhYnNvbHV0ZQoJICBwcmVzZW50YXRpb24gb2Zmc2V0IHRvIHRpbWVzdGFtcCAwIGlzIHVzZWxlc3MgYXMgdGhlIG9ubHkgdGhpbmcgd2UgcmVhbGx5CgkgIGNhcmUgYWJvdXQgaXMgdGhlIG9mZnNldCBiZXR3ZWVuIHRoZSBjdXJyZW50IGZyYWdtZW50IHRpbWVzdGFtcCBhbmQgdGhlCgkgIG1lZGlhIHRpbWVzdGFtcC4KCjIwMTUtMDYtMjUgMjA6MTk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBTdWJ0cmFjdCB0aGUgcGVyaW9kIHN0YXJ0IHdoZW4gc2Vla2luZyBiYXNlZCBvbiBhIHRlbXBsYXRlCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGxvb2sgZm9yIHNlZ21lbnRzIGFmdGVyIHRoZSBwZXJpb2QgdXN1YWxseS4gVGhlIHNlZWsKCSAgdGltZXN0YW1wIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgcGVyaW9kIGFuZCB3ZSBoYXZlIHRvCgkgIHNlbGVjdCBhIHNlZ21lbnQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcGVyaW9kJ3Mgc3RhcnQuCgoyMDE1LTA2LTI1IDIwOjA5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW5jbHVkZSB0aGUgcGVyaW9kIHN0YXJ0IGluIHRoZSBmcmFnbWVudCB0aW1lc3RhbXBzIGluIGFsbCBjYXNlcwoJICBXZSBkaWRuJ3QgZG8gdGhpcyBmb3IgZnJhZ21lbnRzIHRoYXQgYXJlIGdlbmVyYXRlZCBvbiBkZW1hbmQgZnJvbSBhIHRlbXBsYXRlLAoJICBvbmx5IGZvciB0aGUgb3RoZXIgY2FzZXMgd2hlbiB0aGV5IHdlcmUgYWxsIGdlbmVyYXRlZCB1cGZyb250LiBUaGlzIGNhdXNlZAoJICBmcmFnbWVudCB0aW1lc3RhbXBzIHRvIHN0YXJ0IGZyb20gMCBhZ2FpbiBmb3IgZWFjaCBuZXcgcGVyaW9kLgoKMjAxNS0wNi0yNSAyMzoyMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFNlZWsgb24gdGhlIG5ldyBzdHJlYW1zIGlmIHRoZSBzZWVrIGNhdXNlZCBhIHBlcmlvZCBzd2l0Y2gKCSAgU2Vla2luZyBvbiB0aGUgb2xkIHN0cmVhbXMgaXMgcG9pbnRsZXNzLCB0aGV5IGFyZSBnb2luZyB0byBiZSBmcmVlZCBvbiB0aGUKCSAgbmV4dCBvcHBvcnR1bml0eS4KCjIwMTUtMDYtMjUgMTU6MDU6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IENvcnJlY3QgY2hlY2sgZm9yIHZhbGlkIHRpbWVTaGlmdEJ1ZmZlckRlcHRoCgkgIElmIG5vdCBzZXQsIHRoZSB0aW1lU2hpZnRCdWZmZXJEZXB0aCBoYXMgYSBkZWZhdWx0IHZhbHVlIG9mIC0xLgoJICBUaGUgc3RhbmRhcmQgc2F5cyB0aGF0IHRoaXMgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGluZmluaXRlLgoJICBUaGUgZ3N0X21wZF9jbGllbnRfY2hlY2tfdGltZV9wb3NpdGlvbiBmdW5jdGlvbiBpbmNvcnJlY3RseSBjb21wYXJlcwoJICB0aW1lU2hpZnRCdWZmZXJEZXB0aCB3aXRoIDAgaW5zdGVhZCBvZiAtMSB0byBkZXRlcm1pbmUgaWYgaXQgd2FzIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUwMAoKMjAxNS0wNi0yNSAxMTowMjo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJICBkb2NzOiBkZWNvZGViaW4yIC0+IGRlY29kZWJpbgoKMjAxNS0wNC0yNyAxNTowOToxOCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgc2hhcmluZyBvZiBDTUJsb2NrQnVmZmVyIGRhdGEKCSAgSW5zdGVhZCBvZiB3cmFwcGluZyB3aXRoIEdTVF9NRU1PUllfRkxBR19OT19TSEFSRSwgd2UgbWFrZSB0aGUgR3N0TWVtb3J5CgkgIG9iamVjdCByZXRhaW4gdGhlIHVuZGVybHlpbmcgQ01CbG9ja0J1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA3MgoKMjAxNS0wNC0yNyAxNTowMjo1OSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBDTUJsb2NrQnVmZmVyIGNhbiBiZSBub24tY29udGlndW91cwoJICBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCB3b3VsZCByZXR1cm4gdGhlIGVudGlyZSBkYXRhIGxlbmd0aCwgd2hpbGUKCSAgc2l6ZSBvZiBpbmRpdmlkdWFsIGJsb2NrcyBjYW4gYmUgc21hbGxlci4gSXRlcmF0ZSBvdmVyIHRoZSBibG9jayBidWZmZXIKCSAgYW5kIGFkZCB0aGUgaW5kaXZpZHVhbCAocG9zc2libHkgbm9uLWNvbnRpZ3VvdXMpIG1lbW9yeSBibG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNzEKCjIwMTUtMDYtMjQgMTc6MTY6NDYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ29ycmVjdGVkIGR1cmF0aW9uIGFyZ3VtZW50IGZvciBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCBjYWxsCgkgIFRoZSBsYXN0IHBhcmFtZXRlciBvZiBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCBmdW5jdGlvbiBpcyBhCgkgIGR1cmF0aW9uLiBCdXQgd2hlbiBjYWxsZWQgZnJvbSBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiwgdGhlCgkgIGxhc3QgYXJndW1lbnQgd2FzIHdyb25nbHkgc2V0IHRvIFBlcmlvZEVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDQ5CgoyMDE1LTA2LTI0IDIxOjQyOjMyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGluY29ycmVjdCB1c2Ugb2YgcGVyaW9kIHN0YXJ0CgkgIFRoZSBwZXJpb2Qgc3RhcnQgaW5mb3JtYXRpb24sIGNhbGN1bGF0ZWQgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uCgkgIGZ1bmN0aW9uIGlzIHN0b3JlZCBpbiBzdHJlYW1fcGVyaW9kLT5zdGFydC4gVGhlIGluZm9ybWF0aW9uIHJlYWQgZnJvbQoJICB4bWwgZmlsZSBhbmQgc3RvcmVkIGluIHN0cmVhbV9wZXJpb2QtPnBlcmlvZC0+c3RhcnQgaXMgbm90IGNoYW5nZWQuCgkgIElmIHRoZSB4bWwgZmlsZSBkb2VzIG5vdCBjb250YWluIHRoZSBwZXJpb2Qgc3RhcnQgaW5mb3JtYXRpb24sCgkgIHN0cmVhbV9wZXJpb2QtPnBlcmlvZC0+c3RhcnQgd2lsbCBiZSAtMS4KCSAgVGhlIGZ1bmN0aW9uIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lIHdhbnRzIHRvCgkgIHVzZSBwZXJpb2Qgc3RhcnQgdGltZSwgYnV0IGluY29ycmVjdGx5IHVzZXMgc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydAoJICAodmFsdWUgZnJvbSB4bWwgZmlsZSwgd2hpY2ggY291bGQgYmUgLTEpIGluc3RlYWQgb2Ygc3RyZWFtX3BlcmlvZC0+c3RhcnQKCSAgKGNvbXB1dGVkIHZhbHVlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDY1CgoyMDE1LTA2LTE1IDE3OjE4OjQxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IHJlbmFtZWQgZnVuY3Rpb25zCgkgIFJlbmFtZWQgMiB0ZXN0Y2FzZSBmdW5jdGlvbnM6CgkgIC0gZGFzaF9tcGRwYXJzZXJfcHJvZ3JhbV9pbmZvcm1hdGlvbgoJICAtIGRhc2hfbXBkcGFyc2VyX2Jhc2VfVVJMCgoyMDE1LTA2LTI1IDAwOjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMiA9PT0KCjIwMTUtMDYtMjQgMjM6Mzc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4yCgoyMDE1LTA2LTI0IDIzOjAxOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMTUgMTc6MzA6MjYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkZWQgZXhwbGljaXQgdHlwZSBjb252ZXJzaW9ucwoJICBmbGV4ZWxpbnQgKGh0dHA6Ly93d3cuZ2ltcGVsLmNvbS9odG1sL2ZsZXguaHRtKSBzdGF0aWMgY29kZSBhbmFseXNlcgoJICBjb21wbGFpbmVkIGFib3V0IGltcGxpY2l0IGNvbnZlcnNpb25zIGZyb20gdW5zaWduZWQgdG8gc2lnbmVkLCBzbyBJIGFkZGVkCgkgIGV4cGxpY2l0IGNvbnZlcnNpb25zLgoJICBJZGVhbGx5LCB0aGUgc2l6ZSBwYXJhbWV0ZXIgb2YgZ3N0X21wZF9wYXJzZSBmdW5jdGlvbiBzaG91bGQgYmUgdW5zaWduZWQsCgkgIGJ1dCBJIGRvbid0IHdhbnQgdG8gY2hhbmdlIHRoZSBBUEkuCgoyMDE1LTA2LTE1IDE2OjU5OjMzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGNvcnJlY3RlZCByZXR1cm4gdHlwZSBmb3IgZHVyYXRpb25fdG9fbXMgZnVuY3Rpb24KCSAgVGhlIGR1cmF0aW9uX3RvX21zIGZ1bmN0aW9uIGNvbnZlcnRzIGEgdGltZSBzcGVjaWZpZWQgYnkgeWVhciwgbW9udGgsIGRheSwKCSAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIHRvIGEgbWlsbGlzZWNvbmQgdmFsdWUuIEJlY2F1c2UgYWxsIHRoZQoJICBhcmd1bWVudHMgYXJlIHBvc2l0aXZlIG51bWJlcnMsIHRoZSByZXN1bHQgbXVzdCBhbHNvIGJlIHBvc2l0aXZlLgoJICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIHJldHVybmVkIHZhbHVlIGZyb20gYSBnaW50NjQgdG8gYSBndWludDY0IHR5cGUuCgoyMDE1LTA2LTI0IDExOjE1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA2LTIzIDE4OjE5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbHNvIHVwZGF0ZSBzZWdtZW50LmJhc2UgYW5kIHNlZ21lbnQudGltZSB3aGVuIHN3aXRjaGluZyBwZXJpb2RzCgkgIEFuZCBpbmNsdWRlIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0IGluIHRoZSBsYXN0IGtub3duIHBvc2l0aW9uIGZvciBlYWNoCgkgIHN0cmVhbSwgYW5kIGp1c3QgYmVjYXVzZSB3ZSBjYW4gYWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBsYXRlc3Qga25vd24gcG9zaXRpb24KCSAgaW5zaWRlIHRoZSBkZW11eGVyIHNlZ21lbnQuCgoyMDE1LTA2LTIzIDE2OjQ2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgUmV2ZXJ0ICJnbC93aW5kb3cveDExOiBkb24ndCBjcmVhdGUgb3VyIG93biBYMTEgZGlzcGxheSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1Njk3YjZiODliNGIyYTE1YzQ1YmQ0N2JlOTQwYTE3ZjQ0MTJlYTExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDAzCgoyMDE1LTA2LTIzIDE0OjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgUmV2ZXJ0ICJlYWdsOiBEb24ndCBkaXNwYXRjaF9zeW5jKCkgdG8gdGhlIG1haW4gdGhyZWFkIGlmIHdlIGFyZSBvbiB0aGUgbWFpbiB0aHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGJmZjQ4MTAxMWNmNzRjNTk4NjliNTExMzkzZDE2OTZiNTcwZTNkNS4KCSAgSXQgd2Fzbid0IHN1cHBvc2VkIHRvIGJlIG1lcmdlZCBhbmQgYWxzbyBkb2Vzbid0IGZpeCB0aGUgcHJvYmxlbS4KCjIwMTUtMDYtMjMgMTM6MTM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFJlbWVtYmVyIHRoZSBsYXN0IHJldHVybiB2YWx1ZSBvZiBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvKCkKCSAgSXQncyBnb2luZyB0byByZXR1cm4gRU9TIGlmIHRoZSBwZXJpb2QgZW5kZWQgb3Igb3RoZXJ3aXNlIHRoZXJlIGlzIGp1c3Qgbm8KCSAgbmV4dCBmcmFnbWVudCBsZWZ0LiBJZiB3ZSBkb24ndCBzdG9yZSB0aGUgbGFzdCByZXR1cm4gdmFsdWUsIGl0IHdpbGwgYWx3YXlzCgkgIHN0YXkgT0sgYW5kIGdzdF9hZGFwdGl2ZV9kZW11eF9jb21iaW5lX2Zsb3dzKCkgd2lsbCBhbHdheXMgcmV0dXJuIE9LIGluc3RlYWQKCSAgb2YgRU9TIG9uY2UgYWxsIHN0cmVhbXMgYXJlIGRvbmUuCgkgIFRoaXMgcGFydGlhbGx5IHN3aXRjaGVzIHBlcmlvZCBjaGFuZ2VzIGluIERBU0ggYnkgYXQgbGVhc3QgdHJ5aW5nIHRvIHN3aXRjaAoJICBpbnN0ZWFkIG9mIGp1c3Qgc3RvcHBpbmcuIFdoYXQgaXMgc3RpbGwgbGVmdCBpcyB0aGF0IGFmdGVyIGEgcGVyaW9kIGNoYW5nZQoJICB3aXRoIERBU0ggdGhlIHRpbWVzIGFsbCBzdGFydCBhdCAwIGFnYWluIGluc3RlYWQgb2YgY29udGludWluZy4KCjIwMTUtMDYtMjMgMTE6MDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBlYWdsOiBEb24ndCBkaXNwYXRjaF9zeW5jKCkgdG8gdGhlIG1haW4gdGhyZWFkIGlmIHdlIGFyZSBvbiB0aGUgbWFpbiB0aHJlYWQKCSAgVGhpcyB3aWxsIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMQoKMjAxNS0wNi0yMyAxMDozMTo0NCArMDIwMCAgSm9obiBMdWR3aWcgPGpvaG5AdGhlbHVkd2lncy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSAgZ2w6IEluY2x1ZGUgdGV4UGFyYW1ldGVyZiBpbiB0aGUgR0wgZnVuY3Rpb24gdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTIyOAoKMjAxNS0wNS0yOSAxNDoyNzoyNCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5oOgoJICBlcnJvci1pZ25vcmU6IE5ldyBlbGVtZW50IHRvIGNvbnZlcnQgc29tZSBHc3RGbG93UmV0dXJuIHR5cGVzIGludG8gb3RoZXJzCgkgIENhbiBiZSB1c2VkIHRvIGZpeCBtaXNiZWhhdmluZyBzaW5rcy4gSXQgd2lsbCBwYXNzIHRocm91Z2ggYWxsIGJ1ZmZlcnMKCSAgdW50aWwgaXQgZW5jb3VudGVycyBHU1RfRkxPV19FUlJPUiBvciBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCAoY29uZmlndXJhYmxlKS4KCSAgQXQgdGhhdCBwb2ludCBpdCB3aWxsIHVucmVmIHRoZSBidWZmZXJzIGFuZCByZXR1cm4gR1NUX0ZMT1dfTk9UX0xJTktFRAoJICAoY29uZmlndXJhYmxlKSAtIHVudGlsIHRoZSBuZXh0IFJFQURZX1RPX1BBVVNFRCBvciBGTFVTSF9TVE9QLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDk4CgoyMDE1LTA2LTIwIDEzOjM2OjI3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc2ltcGxpZmllcyBhbmQgaW1wcm92ZXMgc2lua19nZXRfY2Fwcy4KCSAgVGhlIHByb2JsZW0gaGVyZSB3YXMgdGhhdCBhZnRlciByZW1vdmluZyB0aGUgZm9ybWF0cyBhbmQKCSAgYWxsIHRoZSB0aGluZ3Mgd2UgY291bGQgY29udmVydCwgd2UgdGhlbiBpbnRlcnNlY3RlZCB0aGVzZQoJICBjYXBzIHdpdGggdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEhlbmNlIGlmIGEgc3ViY2xhc3Mgb2ZmZXJlZCBwZXJtaXNzaXZlIHNpbmsgdGVtcGxhdGVzCgkgIChlZyBhbGwgdGhlIHBvc3NpYmxlIGZvcm1hdHMgdmlkZW9jb252ZXJ0IGhhbmRsZXMpLCBidXQgb25seQoJICBvbmUgb3V0cHV0IGZvcm1hdCwgdGhlbiBhdCBuZWdvdGlhdGlvbiB0aW1lIGdldGNhcHMgcmV0dXJuZWQKCSAgY2FwcyB3aXRoIHRoZSBmb3JtYXQgcmVzdHJpY3RlZCB0byB0aGF0IGZvcm1hdCwgZXZlbiB0aG91Z2gKCSAgd2UgZG8gaGFuZGxlIGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNTUKCjIwMTUtMDYtMjIgMTU6NDc6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBQb3J0IHRvIGdfZ2V0X2N1cnJlbnRfdGltZQoJICBUaGlzIGlzIG1vcmUgcG9ydGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyMjEKCjIwMTUtMDYtMTYgMTc6MTg6NTIgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWRkIGZyYW1lIHJhdGUgcmFuZ2UgdG8gY2FwcwoJICBXaGVuIEFWRm91bmRhdGlvbiBpbmRpY2F0ZXMgYSBzdXBwb3J0ZWQgZnJhbWUgcmF0ZSByYW5nZSwgYWRkIGl0IHRvCgkgIHRoZSBjYXBzLiBUaGlzIGlzIGltcG9ydGFudCBmb3IgZGV2aWNlcyBzdWNoIGFzIHRoZSBpUGhvbmUgNiwgd2hpY2gKCSAgaW5kaWNhdGUgYSBzaW5nbGUgQVZGcmFtZVJhdGVSYW5nZSBvZiAyZnBzIC0gNjBmcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNDgKCjIwMTUtMDYtMTUgMTc6Mzc6NDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkZWQgcGFyc2luZyBvZiBwZXJpb2QgZWxlbWVudAoJICBJbXByb3ZlZCBkYXNoX21wZCB1bml0IHRlc3RzIGJ5IGFkZGluZyBuZXcgdGVzdHMgdGhhdCBwYXJzZSB0aGUgUGVyaW9kIGVsZW1lbnQuCgkgIENvZGUgY292ZXJhZ2UgcmVwb3J0ZWQgYnkgbGNvdiBmb3IgZGFzaC9nc3RtcGRwYXJzZXIuYyBpczoKCSAgbGluZXMuLi4uLi46IDQzLjAlICg5ODUgb2YgMjI5MCBsaW5lcykKCSAgZnVuY3Rpb25zLi46IDQ3LjUlICg2NyBvZiAxNDEgZnVuY3Rpb25zKQoKMjAxNS0wNi0yMiAxNDowNjowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCBjb25zaXN0ZW5jeSBhYm91dCBwYm8gYXZhaWxhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTY1CgoyMDE1LTA2LTE1IDE3OjM0OjQ4ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGV4dGVuZGVkIE1QRCBlbGVtZW50IHRlc3QgdG8gdGVzdCB4bWwgbmFtZXNwYWNlcwoJICBFeHRlbmRlZCB0aGUgZGFzaF9tcGRwYXJzZXJfbXBkIHRlc3RjYXNlIHRvIGFsc28gdGVzdCBwYXJzaW5nIHRoZSB4bWwKCSAgbmFtZXNwYWNlIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2MwoKMjAxNS0wNi0xNSAxMzo0Mzo1MyArMDIwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIGJpdHJhdGUgdG8gdGhlIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk5MgoKMjAxNS0wNi0xNSAxMjo1OTo1NSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgY29tcHV0YXRpb24gb2YgcGVyaW9kJ3MgZHVyYXRpb24KCSAgQWNjb3JkaW5nIHRvIElTTy9JRUMgMjMwMDktMToyMDE0KEUpLCBjaGFwdGVyIDUuMy4yLjEKCSAgIlRoZSBQZXJpb2QgZXh0ZW5kcyB1bnRpbCB0aGUgUGVyaW9kU3RhcnQgb2YgdGhlIG5leHQgUGVyaW9kLCBvciB1bnRpbAoJICB0aGUgZW5kIG9mIHRoZSBNZWRpYSBQcmVzZW50YXRpb24gaW4gdGhlIGNhc2Ugb2YgdGhlIGxhc3QgUGVyaW9kLiIKCSAgVGhpcyBtZWFucyB0aGF0IGEgY29uZmlndXJlZCB2YWx1ZSBmb3Igb3B0aW9uYWwgYXR0cmlidXRlIHBlcmlvZCBkdXJhdGlvbgoJICBzaG91bGQgYmUgaWdub3JlZCBpZiB0aGUgbmV4dCBwZXJpb2QgY29udGFpbnMgYSBzdGFydCBhdHRyaWJ1dGUgb3IgaXQgaXMKCSAgdGhlIGxhc3QgcGVyaW9kIGFuZCB0aGUgTVBEIGNvbnRhaW5zIGEgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3OTcKCjIwMTUtMDYtMjIgMTM6Mjk6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSAgYmF5ZXI6IHVwZGF0ZSBPUkMgZmlsZXMKCSAgVXBkYXRlIE9SQyBmaWxlcyB3aXRoIG5ld2VzdCBPUkMgdG8gZml4IGJhY2t1cCBjb2RlIGdlbmVyYXRpb24gZXJyb3IuCgoyMDE1LTA2LTIyIDEwOjQ5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIGlydHNwcGFyc2U6IHJlZmxvdyBjb2RlIHRvIGF2b2lkIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBUaGlzIHNob3VsZCBob3BlZnVsbHkgYWxsb3cgZXZlbiB0aGUgbW9zdCBjaGFsbGVuZ2VkIHN0YXRpYwoJICBjb2RlIGFuYWx5emVyIHRvIGZpZ3VyZSBvdXQgdGhhdCBpdCdzIGFsbCBmaW5lLiBBbHNvIG1ha2VzCgkgIHRoZSBmbG93IGNsZWFyZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMTA6NTg6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBjb2RlIHN0eWxlIGZpeAoJICB0cml2aWFsIHBhdGNoIHRvIGFkZCBwcm9wZXIgKCB3aGlsZSBjaGVja2luZyBmb3IgaWYoR19VTkxJS0VMWSgpKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDA5OjIzOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogZml4IHNtYWxsIGxlYWsgaW4gY2FwcyBxdWVyeSBoYW5kbGVyCgkgIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2Fwcy4KCjIwMTUtMDYtMjIgMTE6MDM6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0X3NyYzogYWRkIG1pc3NpbmcgYnJlYWsgaW4gY2FwcyBxdWVyeSBoYW5kbGVyCgkgIFRoZXJlIGlzIGEgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgaW4gc3dpdGNoLAoJICB3aGljaCB3aWxsIHJlc3VsdCBpbiBleGVjdXRpbmcgZGVmYXVsdCBjYXNlIGFzIHdlbGwKCSAgcmVzdWx0aW5nIGluIHdyb25nIGJlaGF2aW9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMDk6MDg6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZzFzeXMvLmdpdGlnbm9yZToKCSogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuaDoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvbXBlZzFzeXMvbXBlZzFzeXN0ZW1lbmNvZGUudmNwcm9qOgoJKiBnc3QvbXBlZzFzeXMvc3lzdGVtcy5jOgoJICBtcGVnMXN5czogcmVtb3ZlIGFuY2llbnQgcGx1Z2luIHRoYXQncyBuZXZlciBldmVuIGJlZW4gcG9ydGVkIHRvIDAuOAoKMjAxNS0wNi0yMSAxNzoxMzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBzb21lIHBhZGRpbmcgdG8gU2NhbkhkciBzdHJ1Y3QKCSAgRm9yIGJpdHMgdGhhdCB3ZSBkb24ndCBwYXJzZSBvdXQgYXQgdGhlIG1vbWVudC4KCjIwMTUtMDYtMjEgMTc6MDM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgbmV3IEFQSSB0byAuZGVmIGZpbGUKCjIwMTUtMDYtMjEgMTQ6NTg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggZG9jcyBmb3IgdGFibGUgcGFyc2luZyBmdW5jdGlvbnMKCjIwMTUtMDYtMjEgMTM6NTU6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGRvY3M6IGFkZCBuZXcgSlBFRyBjb2RlY3BhcnNlciBBUEkgdG8gdGhlIGRvY3MKCSAgQW5kIHNwcmlua2xlIHNvbWUgbW9yZSBTaW5jZSBtYXJrZXJzCgoyMDE1LTA2LTIxIDExOjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtdnA4LmM6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92cDhwYXJzZXItdGVzdC5jOgoJICBleGFtcGxlczogbW92ZSB2cDggcGFyc2VyIHRlc3QgdG8gY29kZWNwYXJzZXIgZXhhbXBsZSBkaXJlY3RvcnkKCjIwMTUtMDYtMjEgMTE6MjA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9wYXJzZS1qcGVnLmM6CgkgIGV4YW1wbGVzOiBhZGQgc21hbGwganBlZyBjb2RlY3BhcnNlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMjI6NDk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggdmFsaWRpdHkgY2hlY2tpbmcgb2YgZGF0YSBwYXJzZWQKCSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSBhbmQgZ19hc3NlcnQoKSBhcmUgbm90IGFwcHJvcHJpYXRlCgkgIGZvciBjaGVja2luZyB1bnRydXN0ZWQgZXh0ZXJuYWwgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAxOTo1Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggdXAgQVBJCgkgIC0gYWRkIGRhdGEgcG9pbnRlciB0byBHc3RKcGVnU2VnbWVudCBhbmQgcGFzcyBzZWdtZW50CgkgIHRvIGFsbCBwYXJzaW5nIGZ1bmN0aW9ucywgcmVuYW1lIGFjY29yZGluZ2x5CgkgIC0gc2hvcnRlbiBHc3RKcGVnTWFya2VyQ29kZSBlbnVtIHR5cGUgbmFtZSB0byBHc3RKcGVnTWFya2VyCgkgIC0gbW92ZSBmdW5jdGlvbiBndGstZG9jIGJsdXJicyBpbnRvIC5jIGZpbGUKCSAgLSBhZGQgc2luY2UgbWFya2VycwoJICAtIGZsZXNoIG91dCBkb2NzIGZvciBTT0YgbWFya2VycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTE0IDExOjQxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IHR3ZWFrIEFQSSBhIGxpdHRsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTE0IDE5OjAxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGhpZGUgZ3N0X2pwZWdfc2Nhbl9mb3JfbWFya2VyX2NvZGUoKQoJICBNYWtlIHRoaXMgZnVuY3Rpb24gcHJpdmF0ZSBmb3Igbm93LCBzaW5jZSBpdCdzIHVuY2xlYXIgd2hldGhlcgoJICBpdCdzIGFjdHVhbGx5IG5lZWRlZCBzZWVpbmcgdGhhdCBnc3RfanBlZ19wYXJzZSgpIHNjYW5zIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxMy0wOS0yNCAxNjoxMDo0NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGFuZCBvcHRpbWl6ZSBzY2FuIGZvciBuZXh0IG1hcmtlciBjb2RlLgoJICBGaXggc2NhbiBmb3IgbmV4dCBtYXJrZXIgY29kZSB3aGVuIHRoZXJlIGlzIGFuIG9kZCBudW1iZXIgb2YgZmlsbGVyCgkgICgweGZmKSBieXRlcyBiZWZvcmUgdGhlIGFjdHVhbCBtYXJrZXIgY29kZS4gQWxzbyBvcHRpbWl6ZSB0aGUgbG9vcAoJICB0byBleGVjdXRlIHdpdGggZmV3ZXIgaW5zdHJ1Y3Rpb25zICh+MTAlKS4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBTcGVjdHJhbGZhbi5tb3YuCgoyMDEzLTA5LTE4IDE1OjU2OjUyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggY2FsY3VsYXRpb24gb2Ygc2VnbWVudCBzaXplLgoJICBUaGUgc2l6ZSBvZiBhIG1hcmtlciBzZWdtZW50IGlzIGRlZmluZWQgdG8gYmUgZXhjbHVzaXZlIG9mIGFueSBpbml0aWFsCgkgIG1hcmtlciBjb2RlLiBTbywgZml4IHRoZSBzaXplIGZvciBTT0ksIEVPSSBhbmQgQVBQbiBzZWdtZW50cyBidXQgYWxzbwoJICB0aGUgc2l6ZSBvZiBhbnkgcG9zc2libGUgc2VnbWVudCB0aGF0IGlzIHVzdWFsbHkgInJlc2VydmVkIiBvciBub3QKCSAgZXhwbGljaXRseSBkZWZpbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NDQ3CgoyMDEzLTA2LTEzIDEzOjIyOjE4ICswODAwICBXaW5kIFl1YW4gPGZlbmcueXVhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggZGVmYXVsdCBIdWZmbWFuIHRhYmxlcyBnZW5lcmF0aW9uLgoJICBGaXggYnVpbGRfaHVmZm1hbl90YWJsZSgpIHRvIGNvcnJlY3RseSBmaWxsIGluIHRoZSBhc3NvY2lhdGVkIEhVRkZWQUwKCSAgZW50cmllcyB0byB0aGUgZGVmYXVsdCBIdWZmbWFuIHRhYmxlcy4KCjIwMTItMDktMTIgMTA6NDA6MDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgSlBFRyBiaXRzdHJlYW0gcGFyc2VyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAxNjowNzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHR5cG8gaW4gbG9nIG1lc3NhZ2UKCjIwMTUtMDYtMTUgMTY6MDk6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbGRpc3BsYXk6IGFkZCBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBJdCBhbHNvIGVtaXRzIGEgY3JlYXRlLWNvbnRleHQgc2lnbmFsIHNvIHRoYXQgYW4gYXBwbGljYXRpb24KCSAgY2FuIHByb3ZpZGUgYW4gZXh0ZXJuYWwgR3N0R0xDb250ZXh0IGJhY2tlbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDYtMTUgMTY6MzY6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogbW92ZSBkaXNwbGF5IGZyb20gcHJpdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA2LTE4IDEwOjU1OjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBSZXZlcnQgImdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X3NldF9kaXNwbGF5IGhlbHBlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3MWI4MTAzY2JkMTZmZmY5Y2Y1YTY1Y2Y1MTcwODNjYjc5NGFhM2I1LgoKMjAxNS0wNi0xOCAxMDo1MjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgUmV2ZXJ0ICJnbDogYWRkIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MgYmFja2VuZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiMzc3MTEyZWUzODkxMmQzMTZlNzdiNGUyMTAyMDQxMzg5ZGMwMDUxLgoKMjAxNS0wNi0xOSAxNDozNTozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFJlbW92ZSBkdXBsaWNhdGUsIHVzZWxlc3MgbGluZSBvZiBjb2RlCgoyMDE1LTA2LTE4IDIyOjExOjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgb3BlbmdsOiBnbHN0ZXJvKiBhcmUgb25seSBidWlsdCB3aXRoIGZ1bGwgT3BlbkdMCgkgIERvbid0IHRyeSB0byByZWdpc3RlciB0aGUgZWxlbWVudHMgdW5sZXNzIHRoZXkgYXJlIGJ1aWx0LgoKMjAxNS0wNi0xOCAyMTowOToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHN0eWxlOiBSZW1vdmUgd2hpdGUgc3BhY2VzIGF0IHRoZSBlbmQgb2YgbGluZQoKMjAxNS0wNi0xOCAxODowOTo1NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogRml4IEdMRVMyIGNvbXBhdGliaWxpdHkKCjIwMTUtMDYtMTggMTg6MDI6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCBicm9rZW4gdmFsaWRpdHkgY2hlY2sKCjIwMTUtMDYtMTUgMTY6MDY6NDEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNb3ZlIFBBUiBjYWxjcywgYW5kIHVzZSB0aGVtIGZvciBzdGVyZW9zY29waWMgaGFsZi1hc3BlY3QKCSAgTW92ZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9ucyBoaWdoZXIgdXAgaW4gY2FwcwoJICBkZXRlcm1pbmF0aW9uLCBzbyB0aGUgcmVzdWx0cyBhcmUgYXZhaWxhYmxlIGZvciBhIGNhbGwgdG8KCSAgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIHdoZW4gc3RlcmVvc2NvcGljIHZpZGVvCgkgIGlzIGRldGVjdGVkLgoKMjAxNS0wNS0zMCAwMzowOToxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLzNkdmlkZW8udmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL212aWV3d2lkZ2V0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL212aWV3d2lkZ2V0Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSAgM2R2aWRlbzogQWRkIHNpbXBsZSBndGsgZXhhbXBsZSBzdGVyZW9zY29waWMgdmlkZW8gcGxheWVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6Mjk6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0Lmg6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IEFkZCBnbHZpZXdjb252ZXJ0LCBnbHN0ZXJlb21peCBhbmQgZ2xzdGVyZW9zcGxpdCBlbGVtZW50cwoJICBDb252ZXJzaW9uIGVsZW1lbnRzIGZvciB0cmFuc2Zvcm1pbmcgbXVsdGl2aWV3L3N0ZXJlb3Njb3BpYyB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjI2OjMyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IFN1cHBvcnQgbXVsdGl2aWV3L3N0ZXJlb3Njb3BpYyB2aWRlbwoJICBTdXBwb3J0IHZpZGVvIHdpdGggbXVsdGl2aWV3IGluZm8gaW4gdGhlIGNhcHMsIHRyYW5zZm9ybQoJICBpdCB0byBtb25vIGFuYWdseXBoIGJ5IGRlZmF1bHQsIGJ1dCBhbGxvdyBmb3IgY29uZmlndXJpbmcKCSAgb3RoZXIgb3V0cHV0IG1vZGVzIGFuZCBoYW5kb2ZmIHRvIHRoZSBhcHAgdmlhCgkgIHRoZSBkcmF3IHNpZ25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyMTo0MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsIGxpYnM6IEFkZCBnbHZpZXdjb252ZXJ0IGhlbHBlciBvYmplY3QKCSAgQWRkIEFQSSBmb3IgYSBoZWxwZXIgb2JqZWN0IHRoYXQgY2FuIGNvbnZlcnQgYmV0d2VlbiBkaWZmZXJlbnQKCSAgc3RlcmVvc2NvcGljIHZpZGVvIHJlcHJlc2VudGF0aW9ucywgYW5kIGxhdGVyIGRvIGZpbHRlcmluZwoJICBvZiBtdWx0aXBsZSB2aWV3IHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDYtMTggMTY6MjA6MjYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgd2FybmluZ3MgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfc3RyZWFtaW5nIGZ1bmN0aW9uCgkgIEFkZGVkIHNvbWUgd2FybmluZyBtZXNzYWdlcyBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9zdHJlYW1pbmcgdG8gaGVscAoJICBkZWJ1ZyBzaXR1YXRpb25zIHdoZW4gdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEZBTFNFLgoJICBSZW5hbWVkIGEgd3JvbmdseSBzcGVsbGVkIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTQ5CgoyMDE1LTA2LTE4IDEyOjIxOjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBjb21tZW50cyBpbiBnc3RtcGRwYXJzZXIuaAoJICBDb3JyZWN0ZWQgc29tZSBjb21tZW50cyBpbiBnc3RtcGRwYXJzZXIuaCBmaWxlLgoJICBNb3ZlZCBnc3RfbXBkX2NsaWVudF9nZXRfYWRhcHRhdGlvbl9zZXRzIGZ1bmN0aW9uIHRvIGJlIGdyb3VwZWQgd2l0aAoJICBvdGhlciBmdW5jdGlvbnMgZnJvbSBBZGFwdGF0aW9uU2V0IGdyb3VwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNDkKCjIwMTUtMDYtMTggMTM6MDg6MjUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgZ2V0dGluZyByZXByZXNlbnRhdGlvbiBiYXNlZCBvbiBtYXggYmFuZHdpZHRoCgkgIFRoZSBnc3RfbXBkcGFyc2VyX2dldF9yZXBfaWR4X3dpdGhfbWF4X2JhbmR3aWR0aCBmdW5jdGlvbiBhc3N1bWVzCgkgIHJlcHJlc2VudGF0aW9ucyBhcmUgb3JkZXJlZCBieSBiYW5kd2lkdGggYW5kIGluY29ycmVjdGx5IHJldHVybnMgdGhlCgkgIGZpcnN0IG9uZSB3aGVuIHdhbnRpbmcgdGhlIG9uZSB3aXRoIG1pbmltdW0gYmFuZHdpZHRoLgoJICBDb3JyZWN0ZWQgZ3N0X21wZHBhcnNlcl9nZXRfcmVwX2lkeF93aXRoX21heF9iYW5kd2lkdGggZnVuY3Rpb24gdG8gZ2V0IHRoZQoJICBjb3JyZWN0IHJlcHJlc2VudGF0aW9uIGluIGNhc2UgbWF4X2JhbmR3aWR0aCBwYXJhbWV0ZXIgaXMgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE1MwoKMjAxNS0wNi0xOCAxNDozODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFsbG93IHRoZSBhcHBsaWNhdGlvbiB0byBwcm92aWRlIHRoZSBKYXZhIFZNCgkgIEluIEpOSV9PbkxvYWQoKSB3ZSB3aWxsIGFscmVhZHkgZ2V0IHRoZSBKYXZhIFZNIHBhc3NlZCBhbmQgY291bGQKCSAganVzdCBkaXJlY3RseSB1c2UgdGhhdC4gZ3N0cmVhbWVyX2FuZHJvaWQtMS4wLmMgd2lsbCBub3cgcHJvdmlkZQoJICB0aGlzIHRvIHVzLgoJICBSZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBhcHBhcmVudGx5IG5vdCBhbGwgQW5kcm9pZCBzeXN0ZW0gYXJlCgkgIHByb3ZpZGluZyB0aGUgSk5JIGZ1bmN0aW9ucyB0byBnZXQgdGhlIGN1cnJlbnRseSBydW5uaW5nIEphdmEgVk1zLCBzbwoJICB3ZSB3b3VsZCBmYWlsIHRvIGdldC4gV2l0aCB0aGlzIHdlIHdpbGwgYWx3YXlzIGJlIGFibGUgdG8gZ2V0IHRoZSBKYXZhCgkgIFZNIG9uIHN1Y2ggc3lzdGVtcy4KCjIwMTUtMDYtMTggMTQ6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFByZWZlciBzb2Z0d2FyZSBjb2RlY3Mgb3ZlciBoYXJkd2FyZSBjb2RlY3MgZm9yIGF1ZGlvCgkgIEhhcmR3YXJlIGNvZGVjcyBkb24ndCBtYWtlIHNlbnNlIGZvciBhdWRpbyBhbmQgYXJlIGdlbmVyYWxseSBsZXNzIHJlbGlhYmxlIG9uCgkgIEFuZHJvaWQgdGhhbiB0aGUgc29mdHdhcmUgY29kZWNzLgoKMjAxNS0wNi0xOCAxNDoyOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGYWlsaW5nIHRvIGRldGFjaCBhIHRocmVhZCBpcyBub3QgdGhhdCBtdWNoIG9mIGEgcHJvYmxlbQoJICBTb21lb25lIGVsc2UgbWlnaHQgaGF2ZSBkZXRhY2hlZCBpdCBiZWZvcmUgdXMsIHNvIG1ha2UgdGhpcyBqdXN0IG5vcm1hbCBkZWJ1ZwoJICBvdXRwdXQgaW5zdGVhZCBvZiBhIEdTVF9FUlJPUigpCgoyMDE1LTA2LTE4IDEwOjQzOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGZhaWwgaWYgSk5JX0NyZWF0ZUphdmFWTSBjYW4ndCBiZSBmb3VuZAoJICBXZSBvbmx5IG5lZWQgdGhhdCBpZiBubyBKYXZhIFZNIGlzIHJ1bm5pbmcgeWV0LCBhbmQgYWxsIHVzdWFsIGNhc2VzLAoJICBpLmUuIHdoZW4gY2FsbGluZyBHU3RyZWFtZXIgZnJvbSBhbiBhY3R1YWwgQW5kcm9pZCBhcHAsIHRoZXJlIHdpbGwgYWxyZWFkeQoJICBiZSBhIEphdmEgVk0gd2UgY2FuIGp1c3QgdXNlLgoJICBJdCBzZWVtcyBsaWtlIHNvbWUgcGhvbmVzIGNvbWUgd2l0aG91dCB0aGF0IHN5bWJvbCwgbGV0J3MgaG9wZSB0aGV5IGNvbWUKCSAgd2l0aCB0aGUgb3RoZXIgc3ltYm9sIGJ1dCBmb3Igbm93IGRvbid0IG1ha2UgYSBtaXNzaW5nIEpOSV9DcmVhdGVKYXZhVk0gZmF0YWwuCgoyMDE1LTA2LTE4IDEyOjU5OjE4ICswNzAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBnZXQgcmVuZGVyZWQgYW5kIGRyb3BwZWQgc3RhdHMgZnJvbSBRT1MgbWVzc2FnZXMKCSAgVXNlIFFPUyBtZXNzYWdlcyB0byB1cGRhdGUgcmVuZGVyZWQgYW5kIGRyb3BwZWQgZnJhbWUgc3RhdHMuIFRoaXMgaXMKCSAgdGhlIG9ubHkgYWNjdXJhdGUgbWV0aG9kLiBUaGUgb2xkIG1ldGhvZCBkaWRuJ3QgdGFrZSBtYXgtbGF0ZW5lc3MgYW5kCgkgIGxhdGVuY3kgaW50byBhY2NvdW50LgoKMjAxNS0wNi0xNyAxMDo0NDoxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgbmFsdXRpbHM6IHRyaXZpYWwgcGF0Y2ggdG8gY2hlY2sgaWYKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA4NwoKMjAxNS0wNi0xNiAxNzo0ODo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwMTVkMjYgdG8gZjc0YjJkZgoKMjAxNS0wNi0xNSAyMTozMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENvbnN0J2lmeSBhbm90aGVyIGFycmF5CgoyMDE1LTA2LTE1IDIxOjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHdpZGdldDogQ2FsY3VsYXRlIHRoZSB2aWV3cG9ydCBzaXplIG91cnNlbHZlcwoJICBHZXR0aW5nIHRoZSBjdXJyZW50IHZpZXdwb3J0IGFuZCBtb2RpZnlpbmcgaXQgcmVsYXRpdmVseSB3aWxsIHByb2R1Y2UgYW4KCSAgaW50ZXJlc3RpbmcgZmVlZGJhY2sgbG9vcCBkdXJpbmcgd2lkZ2V0IHJlc2l6aW5nLiBPdmVyIGEgZmV3IGZyYW1lcyB3ZQoJICB3aWxsIGdyYWR1YWxseSBtb3ZlIHRoZSB2aWV3cG9ydCBhIGJpdCB1bnRpbCBpdCBjb252ZXJnZWQgYWdhaW4sIGFkZGluZwoJICB1bm5lY2Vzc2FyeSBhZGRpdGlvbmFsIGJvcmRlcnMgYXQgdGhlIHRvcCBhbmQgbGVmdC4KCjIwMTUtMDYtMTUgMjE6MjQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogVXNlIHRoZSBkaXNwbGF5IHdpZHRoL2hlaWdodCBmb3IgdGhlIHdpZGdldCdzIHByZWZlcnJlZCB3aWR0aC9oZWlnaHQKCjIwMTUtMDYtMTUgMjA6NDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3Rrc2luazogQWRkIHN1cHBvcnQgZm9yIHhSR0IvQkdSeAoKMjAxNS0wNi0xNSAyMDozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IENhaXJvIGNvbG9yIGZvcm1hdHMgYXJlIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBHU3RyZWFtZXIncyBpbiBtZW1vcnkgb3JkZXIKCSAgQ0FJUk9fRk9STUFUX0FSR0IzMiBpcyBBUkdCIG9uIGJpZyBlbmRpYW4gYW5kIEJHUkEgb24gbGl0dGxlIGVuZGlhbi4KCjIwMTUtMDYtMTUgMjA6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBJbXBsZW1lbnQgaWdub3JlLWFscGhhIHByb3BlcnR5IGFuZCBlbmFibGUgaXQgYnkgZGVmYXVsdAoKMjAxNS0wNi0xNSAyMDoxMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGs6IFN5bmMgcHJvcGVydGllcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSB3aWRnZXQgdXBvbiB3aWRnZXQgY3JlYXRpb24KCjIwMTUtMDYtMTUgMTA6MDg6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgcmVkdW5kYW50IG1pbl9kdHMKCSAgQWZ0ZXIgZmV3IGl0ZXJhdGlvbiwgdGhpcyB2YXJpYWJsZSBiZWNhbWUgdGhlIHNhbWUgYXMgZHRzLiBJdCdzIG5vdAoJICB0aGUgbWluIGFzIHRoZSBuYW1lIHNheXMsIGJ1dCB0aGUgZHRzIG9mIHRoZSBjdXJyZW50IGJ1ZmZlci4gU2ltcGx5CgkgIHJlbW92ZSBhbmQgcGxhY2Ugd2l0aCBkdHMuIEFsc28gbW92ZSB0aGUgZGVidWcgdHJhY2UgdG8gYWN0dWFsbHkKCSAgcHJpbnQgdGhlIHNpZ25lZCB2ZXJzaW9uIG9mIHRoZSBydW5uaW5nLXRpbWUgZHRzLgoKMjAxNS0wNi0xNSAyMjo0Mzo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBhZGQgbWlzc2luZyBoYW5kbGUtZXZlbnRzL2lnbm9yZS1hbHBoYSBwcm9wZXJ0eSB0byB0aGUgYmluCgoyMDE1LTA2LTE1IDE4OjI4OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgcGl4ZWwgYW5kIGRpc3BsYXkgYXNwZWN0IHJhdGlvIGhhbmRsaW5nCgoyMDE1LTA2LTE1IDE0OjI5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFByaW50IHNvbWUgZGVidWcgb3V0cHV0IGlmIHdlIGNoYW5nZSB0aGUgdGltZXN0YW1wIG9mZnNldAoKMjAxNS0wNi0xNSAxNDoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNi0xNSAxNDoyMjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogTW92ZSB2YXJpYWJsZXMgaW50byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkCgoyMDE1LTA2LTE1IDE0OjE5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IHVwZGF0ZSB0aGUgdHMtb2Zmc2V0IGJlZm9yZSB1cGRhdGluZyB0aGUgYWN0dWFsIGNvbmZpZ3VyZWQgY2FwcwoKMjAxNS0wNi0xNSAxNDoxODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1lbWJlciBpZiB0aGUgbGFzdCBMQVRFTkNZIHF1ZXJ5IHJldHVybmVkIGxpdmUgb3Igbm90IGFuZCB1c2UgdGhlIGluIHRoZSBRb1MgbWVzc2FnZXMKCjIwMTUtMDYtMTUgMTI6MjA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IHF1ZXJ5IHN1cHBvcnRlZCBjb2xvciBmb3JtYXRzIGZvciBub24tdmlkZW8gY29kZWNzCgoyMDE1LTA2LTE1IDEwOjM0OjU2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnVpbGQgZXJyb3IKCSAgYWZ0ZXIgZTAwMGE2ZjBhNDk4NGZiZTgxMTkwZGY2Y2Q0MzljNzBkYWZkZTNkNiwgdGhlcmUgaXMgYnVpbGQgZXJyb3IgaW4gYmFkIHBsdWdpbnMKCSAgdGhpcyBoYXBwZW5zIGJlY2F1c2UsIEdTVF9DTE9DS19TVElNRV9JU19WQUxJRCAoKSBpcyBiZWluZyBjaGVja2VkIGZvciBwYWRfZGF0YQoJICBidXQgaXQgZXhwZWN0cyBhIEdzdENsb2NrVGltZSBwYXJhbWV0ZXIuIENoYW5naW5nIHRoZSBjaGVjayB0byAnZHRzJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwOTYxCgoyMDE1LTA2LTE1IDE2OjQ3OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJvOgoJICBnbC9leGFtcGxlczogdXBkYXRlIHF0IGV4YW1wbGVzIGZvciBhcGkgY2hhbmdlcwoKMjAxNS0wNi0xNSAxNDozNTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IHNpbGVuY2UgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzIGZvciB1bnN1cHBvcnRlZCB3aW5zeXMnCgoyMDE1LTA2LTE1IDE0OjMzOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IGJhc2ljIHdheWxhbmQgR0wgc3VwcG9ydAoKMjAxNS0wNi0xNCAyMzoyMDozOCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB1cGRhdGUgem9yZGVyIGRvY3VtZW50YXRpb24uCgkgIEl0IGlzIG5vdCBib3VuZCBiZXR3ZWVuIDAgYW5kIDEwMDAwIGFueW1vcmUuCgoyMDE1LTA2LTE0IDIzOjEzOjU5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTm8gbmVlZCB0byBhcnRpZmljaWFsbHkgYm91bmQgdGhlIHpvcmRlci4KCSAgSXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlciBzbyB0aGUgdXBwZXIgYm91bmQgaXMgR19NQVhVSU5ULgoKMjAxNC0xMC0yOSAxNTowMzowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogYWN0dWFsbHkgcmV0dXJuIGZ1bGwgbnVtYmVyIG9mIGJpdHMgb2YgcmVzeW5jIG1hcmtlcgoJICBTd2l0Y2ggdGhlIGluY3JlbWVudCBvZiBtYXJrZXJzaXplIGZyb20gd2hlbiBpdCBpcyB1c2VkIHRvIHdoZW4gaXQgaXMKCSAgcmV0dXJuZWQgZnJvbSBjb21wdXRlX3Jlc3luY19tYXJrZXJfc2l6ZS4KCSAgVGhpcyBhbHNvIG1ha2VzIHRoZSBDSEVDS19SRU1BSU5JTkcgaW4gZ3N0X21wZWc0X3BhcnNlX3ZpZGVvX3BhY2tldF9oZWFkZXIKCSAgY2hlY2sgZm9yIHRoZSBhY3R1YWxseSByZXF1aXJlZCBudW1iZXIgb2YgYml0cyBub3cgYW5kIG5vdCBvbmUgdG9vIGZldy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNS0wNi0xMyAxNzozNjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJjb2RlY3BhcnNlcnM6IHJlbW92ZSBpZ25vcmVkIGluY3JlbWVudCBvZiByZXR1cm4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTE2Yjk1NDMxNWFiYzJmOTQzNDhlYzBiZTNlMTE2YzE5YjA4MGI1NC4KCSAgQ2xlYXJseSBzb21ldGhpbmcgZWxzZSB3YXMgaW50ZW5kZWQsIGFuZCBpdCBhbHNvIG1ha2VzCgkgIG1vcmUgc2Vuc2UgdG8gYWRkIHRoZSBleHRyYSBiaXQuIFRoZSByZXN5bmMgbWFya2VyIGlzCgkgIE4gemVybyBiaXRzIHBsdXMgYSAxIGJpdCwgYW5kIHRoZSBwYXR0ZXJuL21hc2sgbmVlZHMgdG8KCSAgYmUgcnVuIG9uIE4rMSBiaXRzIHRvby4KCSAgKEV2ZW4gYWZ0ZXIgdGhlIHJldmVyIHRoZSBjb2RlIGRvZXNuJ3QgZG8gdGhhdCBvZiBjb3Vyc2UsIHNvCgkgIGl0IHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIGRpZmZlcmVudGx5LikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNS0wNi0xMiAxODowODo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkgIG9wZW5zbGVzOiBGaXggYnVpbGQgd2l0aCBBbmRyb2lkIEFQSSBsZXZlbCA8IDE0CgkgIEhlYWRlcnMgd2VyZSBicm9rZW4gb24gb2xkZXIgQW5kcm9pZCB2ZXJzaW9ucywgYXBwYXJlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDQ1OQoKMjAxNS0wMS0yOCAxMzowNjozOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSAgb3BlbnNsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIHRoZSBzdHJlYW0gdHlwZSB2aWEgYSBwcm9wZXJ0eQoKMjAxNS0wMS0yNyAxNToyNTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXNzcmM6IEltcGxlbWVudCByZWNvcmRpbmcgcHJlc2V0cwoJICBUaGlzIGFsbG93cyB1cyB0byBzaWduYWwgd2hhdCBraW5kIG9mIGF1ZGlvIHdlIGFyZSBleHBlY3RpbmcgdG8gcmVjb3JkLAoJICB3aGljaCBzaG91bGQgdGVsbCB0aGUgc3lzdGVtIHRvIGFwcGx5IGZpbHRlcnMgKHN1Y2ggYXMgZWNobwoJICBjYW5jZWxsYXRpb24sIG5vaXNlIHN1cHByZXNzaW9uLCBldGMuKSBpZiByZXF1aXJlZC4KCjIwMTUtMDYtMTMgMTE6NDA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFJlbW92ZSBsYXRlIGZyYW1lLWRyb3BwaW5nIHdvcmthcm91bmQgZm9yIGJhc2VzaW5rIGJ1ZwoJICBUaGlzIHdhcyBmaXhlZCBieSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjU4CgkgIGluIGJhc2VzaW5rLCBhbmQgaXMgbm90IG5lY2Vzc2FyeSB0byBkdXBsaWNhdGUgaGVyZSBhbnltb3JlLgoKMjAxNS0wNi0xMyAxODo0MzowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogaW1wbGVtZW50IHByb3BlciBkeW5hbWljIHBhZCByZW1vdmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4ODEKCjIwMTUtMDYtMTIgMjA6MTQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGRvIHBvb2wgY2FjaGluZwoJICBXZSBub3cga25vdyB0aGF0IHBvb2wgY2FjaGluZyBjYW4gY2F1c2UgcmVuZWdvdGlhdGlvbiBpc3N1ZXMKCSAgd2hlbiBhbiBlbGVtZW50IGluIHRoZSBwaXBlbGluZSBjaGFuZ2UgZnJvbSBwYXNzdGhyb3VnaCB0byBub3QKCSAgcGFzc3Rocm91Z2guIEFzIGl0J3Mgbm90IG5lZWRlZCwgZG9uJ3QgY2FjaGUgZXhpc3RpbmcgcG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNDQKCjIwMTUtMDYtMTIgMTg6MDg6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgcmVmZXJlbmNlIHRvIGN2cwoKMjAxNS0wNi0xMCAxNzowNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2VnbWVudCBzdGFydCBzaG91bGQgbWF0Y2ggZmlyc3QgUFRTCgkgIFRoZSBzZWdtZW50IHNob3VsZCBzdGFydCBhdCBmaXJzdCBQVFMsIGFuZCB0aGUgdmFpcmFibGUgbmFtZSBsb3dlcl9wdHMKCSAgc3RhdGUgc28gY29ycmVjdGx5LiBUaG91Z2ggd2Ugd2hlcmUgdXNpbmcgdGhlIGZpcnN0IERUUyBpbnN0ZWFkLiBUaGlzCgkgIGNvdWxkIGxlYWQgdG8gc21hbGwgZGVzeW5jaHJvbml6YXRpb24gb2YgdmlkZW8gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDEyOjMyOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IEFkZCBuZWdhdGl2ZSBEVFMgc3VwcG9ydAoJICBVc2UgdGhlIHNhdmVkIERUUywgbWFrZSBpdCBzaWduZWQgYW5kIHBhc3MgdGhhdCB0byB0aGUgc3RyZWFtIG11eGVyLiBUaGlzCgkgIHByZXNlcnZlcyB0aGUgcnVubmluZyB0aW1lIHNpZ24uIEFsbCB1c2FnZSBvZiAtMSBhcyBpbnZhbGlkIFRTIGFyZSBub3cKCSAgcmVwbGFjZWQgd2l0aCBHX01JTklOVDY0LiBOZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSBzZWVuIGFzIHdyYXAtYXJvdW5kCgkgIHBvaW50LCBidXQgdGhlIGRlbHRhIGJldHdlZW4gUFRTIGFuZCBEVFMgd2lsbCByZW1haW4gY29ycmVjdC4gRGVtdXhlcnMKCSAgZG9uJ3QgY2FyZSBhYm91dCBhYnNvbHV0ZSB2YWx1ZXMsIHRoZXkgb25seSBjYXJlcyBhYm91dCBkZWx0YXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTI6MzE6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIHRzbXV4OiBSZW1vdmUgdW5lZWRlZCBjYXN0IGFuZCBjYXN0IG1hY3JvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTE6Mzk6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUHJvcGVybHkgZGV0ZWN0IGJhY2t3YXJkIERUUwoJICBUaGVyZSB3YXMgY29kZSB0byBkZXRlY3QgYmFja3dhcmQgZHRzLCBidXQgdGhlIG1hcmtlciBtaW5fZHRzCgkgIHdhcyBuZXZlciBzZXQuIFNldHRpbmcgaXQgZW5hYmxlIHRoaXMgZmVhdHVyZSB0aGF0IHByZXZlbnRzCgkgIHBvdGVudGlhbCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gZ2VuZXJhdGluZyBUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMiAxNjo0NDo1NSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBzZWdmYXVsdCBmb3IgbWlzc2luZyBkZWZhdWx0IG5hbWVzcGFjZQoJICBBZGRlZCBhIGNoZWNrIGZvciBhX25vZGUtPm5zIGJlZm9yZSBhY2Nlc3NpbmcgYV9ub2RlLT5ucy0+aHJlZiBpbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfbm9kZV9uYW1lc3BhY2UuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSB4bWwKCSAgaXMgbWlzc2luZyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjYKCjIwMTUtMDYtMTIgMjI6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRG9uJ3QgcmVxdWlyZSB0aGUgc2FtZSBmcmFtZXJhdGUgaW4gdGhlIGlucHV0IGFzIHRoZSBtb2RlJ3MgZnJhbWVyYXRlCgkgIFdlIG9ubHkgcmVhbGx5IGNhcmUgYWJvdXQgdGhlIHRpbWVzdGFtcHMgZm9yIHRoZSBzaW5rLgoKMjAxNS0wNi0xMyAwMTo0MDowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBleGFtcGxlczogcGxheW91dDogQWRkIGJldHRlciBoZWxwIHRleHQKCSAgVGhpcyBzaG91bGQgaGVscCBwZW9wbGUgZmlndXJlIG91dCBob3cgdG8gdXNlIHRoZSBleGFtcGxlIGEgYml0IGJldHRlcgoKMjAxNS0wNi0xMyAwMTozNTo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBleGFtcGxlczogcGxheW91dDogRGVjcmVtZW50IHRoZSBjdXJyZW50bHktcGxheWluZyBjb3VudGVyIGNvcnJlY3RseQoJICBPbmx5IGRvIHRoYXQgd2hlbiB3ZSdyZSByZW1vdmluZyBhbiBpdGVtIHRoYXQgd2FzIHBsYXlpbmcsIG90aGVyd2lzZSB3ZSdsbCBtZXNzCgkgIHRoaW5ncyB1cCB3aGlsZSB0cnlpbmcgdG8gZWRpdCB0aGUgcGxheSBxdWV1ZSAocGxheWxpc3QpLgoKMjAxNS0wMS0yOSAwMDo1NjoyNiArMDAwMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgcGxheW91dDogTmV3IGV4YW1wbGUgZm9yIHNlYW1sZXNzIGF1ZGlvL3ZpZGVvIHBsYXliYWNrCgkgIEFuIGV4YW1wbGUgYXBwIHRoYXQgdGFrZXMgdmlkZW8gVVJJcyBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBzd2l0Y2hlcwoJICBiZXR3ZWVuIHRoZW0gc2VhbWxlc3NseSBvbmUgYWZ0ZXIgdGhlIG90aGVyIHVzaW5nIGNvbXBvc2l0b3IgYW5kIGF1ZGlvbWl4ZXIuCgkgIEJvdGggYXVkaW8tdmlkZW8gYW5kIHZpZGVvLW9ubHkgbWVkaWEgZmlsZXMgYXJlIHZhbGlkIGlucHV0cywgYnV0IG1peGluZyBmaWxlcwoJICBvZiBib3RoIHR5cGVzIGluIGEgc2luZ2xlIGludm9jYXRpb24gaXMgY3VtYmVyc29tZSB0byBzdXBwb3J0LCBhbmQgaGVuY2UgZG9lcwoJICBub3Qgd29yay4gVGhlIGV4YW1wbGUgYXR0ZW1wdHMgdG8ga2VlcCB0aGUgYXVkaW8gc3RyZWFtIG1vdmluZyBhbG9uZyBwZXJmZWN0bHksCgkgIGFuZCBkdXBsaWNhdGVzIHZpZGVvIGZyYW1lcyB3aGVyZSBuZWNlc3NhcnkgdG8gY292ZXIgZ2FwcyBpbiB0aGUgdmlkZW8KCSAgdGltZXN0YW1wcyB1c2luZyB0aGUgJ2lnbm9yZS1lb3MnIHZpZGVvYWdncmVnYXRvciBwYWQgcHJvcGVydHkuCgkgIEVuc3VyaW5nIHNlYW1sZXNzIChhbmQgbW9zdGx5LWdsaXRjaC1mcmVlKSBzd2l0Y2hpbmcgaXMgaGFyZGVyIHRoYW4gaXQgc291bmRzLAoJICBhbmQgaGVuY2UgdGhlIGV4YW1wbGUgY29udGFpbnMgcGxlbnR5IG9mIHBhZCBwcm9iZXMgYW5kIHJ1bm5pbmcgdGltZQoJICBjYWxjdWxhdGlvbnMgdG8gbWFrZSB0aGluZ3Mgd29yay4KCSAgVGhlIEdQdHJBcnJheSBwbGF5X3F1ZXVlIGNvbnRhaW5zIGl0ZW1zIHRoYXQgYXJlIGJlaW5nIHBsYXllZCBiYWNrLCBoYXZlIGJlZW4KCSAgcHJlcGFyZWQgZm9yIHBsYXliYWNrLCBhbmQgd2lsbCBiZSBwbGF5ZWQgYmFjayBpbiB0aGUgZnV0dXJlLiBUaGUgcXVldWUgaXRzZWxmCgkgIGlzIG11dGFibGUgYmVzaWRlcyB0aGUgZmlyc3QgdHdvIGl0ZW1zIChwbGF5aW5nIGFuZCBwcmVwYXJlZCkuIFRoZSBpdGVtIHRoYXQgaGFzCgkgIGJlZW4gcHJlcGFyZWQgc2hvdWxkIG5vdCBiZSBlZGl0ZWQgb3IgcmVtb3ZlZCBzaW5jZSBpdCBoYXMgYmVlbiBwcmVwYXJlZCBpbgoJICBhZHZhbmNlIHRvIGJlIGFjdGl2YXRlZCBpbW1lZGlhdGVseSBvbiB0aGUgY3VycmVudCBpdGVtJ3MgRU9TLgoJICBUaGUgZXhhbXBsZSBhbHNvIGhhcyBzdXBwb3J0IGZvciBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWUKCSAgcHJlbWF0dXJlbHk7IHNlZSB0aGUgLS1zd2l0Y2gtYWZ0ZXIvLXMgZmxhZyB0byB0aGUgYXBwbGljYXRpb24uCgkgIE5vdGU6IHRoZSBvdXRwdXQgdmlkZW8gaXMgaGFyZC1jb2RlZCBhdCAxMjgweDcyMCwgYW5kIGlucHV0IHZpZGVvIGlzIHNjYWxlZCBhcwoJICBuZWVkZWQgdG8gZml0IHRoaXMgc2l6ZS4gU2V0IE9VVFBVVF9WSURFT19XSURUSC9IRUlHSFQgdG8gY2hhbmdlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5NDcKCjIwMTUtMDYtMDYgMjA6NDA6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciB0aGUgJ2lnbm9yZS1lb3MnIGNvbXBvc2l0b3Igc2luayBwYWQgcHJvcGVydHkKCSAgV2hlbiB0aGUgJ2lnbm9yZS1lb3MnIHByb3BlcnR5IGlzIHNldCBvbiBhIHBhZCwgY29tcG9zaXRvciB3aWxsIGtlZXAgcmVzZW5kaW5nCgkgIHRoZSBsYXN0IGJ1ZmZlciBvbiB0aGUgcGFkIHRpbGwgdGhlIHBhZCBpcyB1bmxpbmtlZC4gV2UgY291bnQgdGhlIGJ1ZmZlcnMKCSAgcmVjZWl2ZWQgb24gYXBwc2luaywgYW5kIGlmIGl0J3MgbW9yZSB0aGFuIHRoZSBidWZmZXJzIHNlbnQgYnkgdmlkZW90ZXN0c3JjLCB0aGUKCSAgdGVzdCBwYXNzZXMuCgoyMDE1LTAyLTEwIDAwOjQ5OjM1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBhZGQgImlnbm9yZS1lb3MiIHByb3BlcnR5IGZvciBpbnB1dCBwYWRzCgkgIFdoZW4gc2V0LCBpdCBjYXVzZXMgdmlkZW9hZ2dyZWdhdG9yIHRvIHJlcGVhdGVkbHkgYWdncmVnYXRlIHRoZSBsYXN0IGJ1ZmZlciBvbgoJICBhbiBFT1MgcGFkIGluc3RlYWQgb2Ygc2tpcHBpbmcgaXQgYW5kIG91dHB1dHRpbmcgc2lsZW5jZS4gVGhpcyBpcyB1c2VmdWwsIGZvcgoJICBpbnN0YW5jZSwgd2hpbGUgcGxheWluZyBiYWNrIGZpbGVzIHNlYW1sZXNzIG9uZSBhZnRlciB0aGUgb3RoZXIsIHRvIGF2b2lkCgkgIHZpZGVvYWdncmVnYXRvciBldmVyIG91dHB1dHRpbmcgc2lsZW5jZSAodGhlIGNoZWNrZXJib2FyZCBwYXR0ZXJuKS4KCSAgSXQgaXMgdG8gYmUgbm90ZWQgdGhhdCBpZiBhbGwgdGhlIHBhZHMgb24gdmlkZW9hZ2dyZWdhdG9yIGhhdmUgdGhpcyBwcm9wZXJ0eSBzZXQKCSAgb24gdGhlbSwgdGhlIG1peGVyIHdpbGwgbmV2ZXIgZm9yd2FyZCBFT1MgZG93bnN0cmVhbSBmb3Igb2J2aW91cyByZWFzb25zLiBIZW5jZSwKCSAgYXQgbGVhc3Qgb25lIHBhZCB3aXRoICdpZ25vcmUtZW9zJyBzZXQgdG8gRkFMU0UgbXVzdCBzZW5kIEVPUyB0byB0aGUgbWl4ZXIKCSAgYmVmb3JlIGl0IHdpbGwgYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5NDYKCjIwMTQtMTItMTkgMTQ6NDM6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiByZXR1cm4gZWFybHkgaWYgcGFja2V0aXppbmcgc2hvcnQgc2VjdGlvbgoJICBTaG9ydCBzZWN0aW9ucyBoYXZlIDMgYnl0ZXMgb2YgY29tbW9uIGhlYWRlciwgd2hpbGUgb3RoZXIgc2VjdGlvbnMKCSAgaGF2ZSA4IGJ5dGVzIG9mIGNvbW1vbiBoZWFkZXIuIElmIHBhY2tldGl6aW5nIGNvbW1vbiBoZWFkZXIgb2Ygc2hvcnQKCSAgc2VjdGlvbiwgd2Ugc2hvdWxkIHN0b3AgYWZ0ZXIgdGhlIGZpcnN0IDMgYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NTMKCjIwMTUtMDYtMTIgMTc6MTQ6MDIgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSAgZGVidWd1dGlsc2JhZDogTWlub3IgY2xlYW51cAoJICBSYW4gZ3N0LWluZGVudCBvbiBkZWJ1Z3V0aWxzYmFkLmMsIG1vdmVkIGhlYWRlcnMgdG8gbm9pbnN0IGluIE1ha2VmaWxlLmFtCgoyMDE1LTA2LTEyIDE1OjM5OjU2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IHRyeSB0byBhY3RpdmF0ZSBhIE5VTEwgR0xDb250ZXh0CgkgIEF0IHRoYXQgcG9pbnQgaW4gdGhlIGNvZGUgbm90aGluZyBndWFyYW50ZWVzIGl0IGV4aXN0cwoKMjAxNS0wNi0xMiAyMTozMTo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL3Rlc3RzOiByZW1vdmUgcmVmZXJlbmNlIHRvIHVuZGVmaW5lZCBidWZmZXIgdGVzdAoKMjAxNS0wNi0xMSAxODoyNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHNlcGFyYXRlIHBibyB0cmFuc2ZlciBmcm9tIHRleHR1cmUgdHJhbnNmZXJzCgkgIFdoZW4gc3VwcG9ydGVkLCB0aGUgcG90ZW50aWFsbHkgbG9uZ2VyIHBibyB1cGxvYWQvZG93bmxvYWQgY2FuIGJlCgkgIGluaXRpYXRlZCBiZWZvcmUgdGhlIHRleHR1cmUgdXBsb2FkL2Rvd25sb2FkLCBwb3RlbnRpYWxseSBpbmNyZWFzaW5nCgkgIHRocm91Z2hwdXQuCgoyMDE1LTA2LTEwIDE2OjM2OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBpbXBsZW1lbnQgb24gdG9wIG9mIGdsYmFzZWJ1ZmZlcgoJICBQcm92aWRlcyBjb252ZW5pZW50IGFjY2VzcyB0byBQQk8gdXNhZ2UuCgkgIEN1cnJlbnRseSB0ZXh0dXJlIHVwZGF0ZXMgYXJlIGNvdXBsZWQgdGlnaHRseSB0byBkYXRhIHRyYW5zZmVycy4KCjIwMTUtMDYtMTAgMTY6MjQ6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkgIGdsOiBuZXcgZ2xiYXNlYnVmZmVyIEdzdE1lbW9yeSBvYmplY3QKCSAgUHJvdmlkZXMgZ2VuZXJpYyBoYW5kbGluZyBvZiBHTCBidWZmZXIgb2JqZWN0cyBhY2Nlc3NpYmxlIHVzaW5nCgkgIHRoZSBHTCBiaW5kIHBvaW50cyAoR0xfQVJSQVlfQlVGRkVSLCBHTF9QSVhFTF8qX0JVRkZFUikuCgkgIEltcGxlbWVudGF0aW9uIGJhc2VkIG9mZiB0aGUgY3VycmVudCBHc3RHTE1lbW9yeS4KCjIwMTUtMDYtMTAgMTY6MjM6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2J1ZmZlcnMuaDoKCSAgZ2wvcHJvdG90eXBlczogYWRkIHNvbWUgYnVmZmVyIGZ1bmN0aW9uIHByb3RvdHlwZXMKCjIwMTUtMDYtMTIgMTU6MTc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCB2aWRlbyBhc3BlY3QtcmF0aW8gaGFuZGxpbmcKCSAgRm9yIGJvdGggdGhlIHNvZnR3YXJlIGFuZCB0aGUgR0wgc2luaydzLgoJICBEb2Vzbid0IGRlYWwgd2l0aCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGF0IGFsbCB5ZXQuCgoyMDE1LTA2LTEyIDEzOjE0OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBvbmx5IGxpc3RlbiBvbiB0aGUgWCBEaXNwbGF5IHdoZW4gbmVlZGVkCgkgIDU2OTdiNmI4OWI0YjJhMTVjNDViZDQ3YmU5NDBhMTdmNDQxMmVhMTEgY2F1c2VzIHVzIHRvIHBvc3NpYmx5IGxpc3RlbgoJICBvbiBhIHRvb2xraXQgcHJvdmlkZWQgRGlzcGxheSBjb25uZWN0aW9uLiAgV2UgdGh1cyBjb3VsZCBlYXQgdGhlaXIKCSAgcHJlY2lvdXMgd2luc3lzIGV2ZW50cy4gIE9ubHkgbGlzdGVuIGlmIHdlIG5lZWQgdG8KCSAgKCFmb3JlaWduX2Rpc3BsYXkgb3IgdmlkZW9vdmVybGF5KS4KCjIwMTUtMDYtMTIgMTI6NDA6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGs6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcwoKMjAxNS0wNi0xMiAxMjoyOTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ3RrZ2xzaW5rOiByZXNldCB0aGUgY29udGV4dC9kaXNwbGF5IGluIFJFQURZX1RPX05VTEwKCSAgRml4ZXMgY29udGV4dCBwcm9wYWdhdGlvbiBpbiBwaXBlbGluZXMgd2l0aCB1cHN0cmVhbSBHTCBlbGVtZW50cy4KCjIwMTUtMDYtMTEgMTc6MjU6NDkgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggZXJyb3IgY2FsY3VsYXRpbmcgbGFyZ2UgcHJlc2VudGF0aW9uVGltZU9mZnNldCB2YWx1ZXMKCSAgSWYgdGhlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgYXR0cmlidXRlIG9mIGEgREFTSCBtYW5pZmVzdCBjb250YWlucwoJICBhIHZhbHVlIHRoYXQgaXMgbGFyZ2VyIHRoYW4gMl4zMiwgZ3N0bXBkcGFyc2VyIGluY29ycmVjdGx5IGNhbGN1bGF0ZXMKCSAgdGhlIHN0cmVhbSdzIHByZXNlbnRhdGlvbiB0aW1lIG9mZnNldC4gVGhpcyBpcyBkdWUgdG8gdHdvIGJ1Z3M6CgkgIDE6IFVzaW5nIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX3Vuc2lnbmVkX2ludGVnZXIgcmF0aGVyIHRoYW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfdW5zaWduZWRfaW50ZWdlcl82NCB0byBwYXJzZSB0aGUKCSAgYXR0cmlidXRlCgkgIDI6IGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uIG11bHRpcGx5aW5nIHRoZSB2YWx1ZSBieQoJICBHU1RfU0VDT05EIGFuZCB0aGVuIGRpdmlkaW5nIGJ5IHRpbWVzY2FsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODA0CgoyMDE1LTA2LTExIDEyOjQxOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkgIGdzdGd0azogTm8gbmVlZCB0byByZWFsaXplIHRoZSB3aWRnZXQKCSAgVGhlIHdpZGdldCBhbHJlYWR5IGRvZXMgdGhhdC4KCjIwMTUtMDYtMTEgMTI6Mzg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBEb24ndCBsZWFrIHRoZSB3aWRnZXQKCSAgZ19vYmplY3RfZ2V0KCkgcmV0dXJucyBhIHJlZiwgZ3RrX2NvbnRhaW5lcl9hZGQoKSBvbmx5IHJlZl9zaW5rKCkuCgkgIFRoYXQgbWVhbiB3ZSBzdGlsbCBuZWVkIHRvIHVucmVmIGFmdGVyd2FyZC4gVGhpcyBsZWFrIHdhcyBoaWRpbmcKCSAgYSByZWZlcmVuY2UgYnVnIHByZXZpb3VzbHkgcHJlc2VudC4KCjIwMTUtMDYtMTEgMTI6MTA6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBnc3RndGs6IEFsbG93IGRvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cwoJICBUaGlzIHBhdGNoIGFsbG93IGdvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cyByZW1vdmluZwoJICB1Z2x5IGNyYXNoIHRoYXQgd2FzIHByZXZpb3VzbHkgb2NjdXJyaW5nLiBUaGUgbWV0aG9kIGNvbnNpc3Qgb2YKCSAgbWFraW5nIHRoZSB3aWRnZXQgY3JlYXRpb24gYXMgbGF6eSBhcyBwb3NzaWJsZS4gVGhpcyB3YXkgd2UgZG9uJ3QKCSAgZW5kdXAgZG9pbmcgZ3RrX2luaXQoKSBiZWZvcmUgdGhlIGFwcGxpY2F0aW9uLiBXZSBhbHNvIHJlZl9zaW5rKCkKCSAgdGhlIHdpZGdldCwgc28gd2UgZG9uJ3QgY3Jhc2ggaWYgdGhlIHBhcmVudCB3aWRnZXQgaXMgZGlzY2FyZGVkLAoJICBhbmQgY2xlYW5seSBlcnJvciBvdXQgd2l0aCBHTCBpZiB0aGUgd2lkZ2V0IGhhcyBubyBwYXJlbnQgd2luZG93LAoJICBiZWNhdXNlIGNhbGxpbmcgZ3RrX3dpZGdldF9yZWFsaXplZCgpIGNhbiBvbmx5IGJlIGRvbmUgaWYgdGhlIHdpZGdldAoJICBoYXMgYmVlbiBwYXJlbnRlZCB0byBhIHdpbmRvdykuCgoyMDE1LTA1LTMwIDAyOjE1OjUxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdmlld3MgaW4gdXBsb2FkLCBjb2xvdXIgY29udmVydCBhbmQgZG93bmxvYWQKCSAgU3VwcG9ydCBtdWx0aXBsZSBhdHRhY2hlZCB2aWV3cyBvbiBpbnB1dC9vdXRwdXQgYnVmZmVycwoJICBieSBwcm9jZXNzaW5nIGVhY2ggb25lLCBub3QganVzdCB0aGUgZmlyc3QuCgoyMDE1LTA1LTMwIDAxOjM4OjE2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogQWRkIHN1cHBvcnQgZm9yIHBhc3Npbmcgc3RlcmVvc2NvcGljL211bHRpdmlldyBpbmZvCgkgIFBhc3MgYW55IG11bHRpdmlldyBpbmZvIGZyb20gdGhlIGNvbnRhaW5lciBvciBTRUkgaW5mbyBkb3duc3RyZWFtCgoyMDE1LTA2LTExIDAxOjU3OjA4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogRG9uJ3Qgc3dpdGNoIHRvIHBhc3N0aHJvdWdoIG9uIHNldF9jYXBzKCkKCSAgV2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUga2V5ZnJhbWUgaGFzIGJlZW4gcGFyc2VkIGJlZm9yZQoJICBkZWNpZGluZyB0byBzd2l0Y2ggdG8gcGFzc3Rocm91Z2ggbW9kZSwgaW4gY2FzZSB0aGUKCSAgc3RyZWFtIGNvbnRhaW5zIFNFSSBtZXNzYWdlcyB0aGF0IHN1cHBsZW1lbnQgdGhlIG91dHB1dAoJICBjYXBzIC0gZm9yIGV4YW1wbGUgYnkgcHJvdmlkaW5nIHN0ZXJlb3Njb3BpYyBpbmZvcm1hdGlvbgoKMjAxNS0wNi0xMiAwMDozMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogZG9uJ3QgY3JlYXRlIG91ciBvd24gWDExIGRpc3BsYXkKCSAgSXQncyBub3QgbmVlZGVkIGFueW1vcmUgd2l0aCBtb3N0IHdpbmRvdyBvcGVyYXRpb25zIG9jY3VyaW5nIGluIHRoZQoJICBHTCB0aHJlYWQuCgoyMDE1LTA2LTEyIDAwOjMwOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBoYW5kbGVfZXZlbnRzKCkgbWF5IGJlIGNhbGxlZCBiZWZvcmUgdGhlIHdpbmRvdyBoYXMgYmVlbiBjcmVhdGVkCgkgIEZpeGVzIGFuIFhJTyBmYXRhbCBlcnJvcgoKMjAxNS0wNi0xMiAwMDoyOToyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSAgZ2w6IG1vdmUgYmFzZXNpbmsgcHJvcGVydGllcyBmcm9tIGdsaW1hZ2VzaW5rYmluIHRvIGdsc2lua2JpbgoKMjAxNS0wMy0yNSAxOToyNzo0MiArMDIwMCAgWWFua28gS2FuZXRpIDx5YW5ldGlAZGVjbGVyYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSBhcmJpdHJhcnkgY29uc3RyYWludCBvbiBwcm9nLW1hcCBwcm9ncmFtIGlkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzY1CgoyMDE1LTA2LTExIDE1OjIyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJICBnbDogVXNlIGdzdF9vYmplY3RfcmVmX3NpbmsoKSBmb3IgZ2x7ZmlsdGVyLG1peGVyLHNyY31iaW4gdG9vCgoyMDE1LTA2LTExIDE1OjE3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJICBnbHNpbmtiaW46IFVzZSBnc3Rfb2JqZWN0X3JlZl9zaW5rKCkgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIHZpZGVvLXNpbmsgcHJvcGVydHkgb24gcGxheWJpbgoKMjAxNS0wNi0xMSAxNTowMjo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gaW5pdGlhbGl6ZSBkaXNwbGF5IGlmIHdlIGhhdmUgbm90IGhhdmUgYSBHTENvbnRleHQgeWV0CgoyMDE1LTA2LTExIDE0OjU4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IEFkZCBtaXNzaW5nIENGTEFHUyB0byBleGFtcGxlCgoyMDE0LTEyLTE4IDE3OjAwOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2dzdHBsdWdpbi5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgSW1wbGVtZW50IGd0ayBzaW5rcwoJICB0d28gc2lua3MgYXJlIHByb3ZpZGVkLiAgZ3Rrc2luayB3aGljaCBpcyBhIGNhaXJvL3NvZnR3YXJlIGJhc2VkIHJlbmRlcmVyCgkgIGFuZCBndGtnbHNpbmsgd2hpY2ggdXRpbGlzZXMgdGhlIEdMIHN1cHBvcnQgaW4gZ3RrIGFuZCBnc3RyZWFtZXIuCgoyMDE1LTA2LTEwIDEwOjM2OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSAgaDI2M3BhcnNlOiBGaXggUFNDIG1hdGNoaW5nCgkgIFdlIHdlcmUgb2ZmIGJ5IG9uZSBieXRlIGluIHRoZSBtYXRjaGluZwoJICBJdCBzaG91bGQgYmUgKHVzaW5nIDI0IGJpdCBtYXRjaGluZyk6CgkgICogc3RhcnRjb2RlICA6IDAwMDAgMDAwMCAwMDAwIDAwMDAgMTAwMCAwMHh4CgkgICogbWFzayAoYmluKSA6IDExMTEgMTExMSAxMTExIDExMTEgMTExMSAxMTAwCgkgICogbWFzayAoaGV4KSA6ICAgIGYgICAgZiAgICBmICAgIGYgICAgZiAgICBjCgkgICogbWF0Y2ggICAgICA6ICAgIDAgICAgMCAgICAwICAgIDAgICAgOCAgICAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2ODUKCjIwMTUtMDUtMTEgMTY6NDc6MjUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYWx3YXlzIGVucXVldWUgZnJhbWVzLCBldmVuIG9uIGVycm9yCgkgIEV2ZW4gd2hlbiB3ZSBmYWlsIHRvIGVuY29kZSBmcmFtZSwgd2Ugc2hvdWxkIHN0aWxsIGVucXVldWUgaXQgc28KCSAgaXQgY291bGQgYmUgcGFzc2VkIGludG8gaGFuZGxlX2ZyYW1lICh3aXRoIG91dHB1dF9idWZmZXIgPT0gTlVMTCkuCgkgIE90aGVyd2lzZSwgd2UgcmlzayBHc3RWaWRlb0VuY29kZXIncyBxdWV1ZSBvZiBmcmFtZXMgZ3Jvd2luZyB1bmJvdW5kZWQuCgkgIE5vdGU6IFdlJ3JlIHNsaWdodGx5IGNoYW5naW5nIHRoZSByZW5lZ290aWF0aW9uIGNvZGUgdG8gYWNjb21tb2RhdGUgZm9yCgkgIGZyYW1lcyB3aXRob3V0IG91dHB1dCBidWZmZXJzLCBidXQgdGhpcyBjb21taXQgdGFrZXMgbm8gb3duZXJzaGlwIG92ZXIKCSAgdGhlIHdheSBuZWdvdGlhdGlvbiBpcyBiZWluZyBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjY5CgoyMDE1LTA2LTEwIDE1OjAzOjMxICswMjAwICBGYWJpbyBDZXRyaW5pIDxmY2V0cmluaUBob3RtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEF2b2lkIGZyYW1lIHJlbmRlcmluZyB3aGlsZSB0aGUgd2luZG93IGlzIGNvbXBsZXRlbHkgaGlkZGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NTYKCjIwMTUtMDYtMTAgMTE6NDI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBPRVNfdmVydGV4X2FycmF5X29iamVjdCBpcyBpbXByb3Blcmx5IGltcGxlbWVudGVkIG9uIFBvd2VyVlIgU0dYIDU0NE1QCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxODUKCjIwMTUtMDUtMTEgMTY6NDA6MDcgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZnJlZSBpbnB1dCBidWZmZXIgQVNBUAoJICBWVENvbXByZXNzaW9uU2Vzc2lvbkVuY29kZUZyYW1lIHJldGFpbnMgdGhlIENWUGl4ZWxCdWZmZXIgZHVyaW5nCgkgIGVuY29kaW5nLCBhbmQgd2lsbCByZWxlYXNlIGl0IGFzIHNvb24gYXMgaXQgY2FuIChlLmcuIGJlZm9yZSBpdCBldmVuCgkgIGNhbGxzIG91ciBjYWxsYmFjaykuIFRoaXMgbWVhbnMgd2UgY2FuIHNhZmVseSByZWxlYXNlIGlucHV0IGJ1ZmZlcgoJICBhdCB0aGlzIHBvaW50LCBwb3NzaWJseSBhbGxvd2luZyB0aGUgc3lzdGVtIHRvIHJldXNlIGl0IHNvb25lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY3MQoKMjAxNS0wNS0xMSAxNjozOToxOSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBZGQgbWlzc2luZyBnc3RfdnRlbmNfZnJhbWVfZnJlZSgpIGluIGVycm9yIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY2OAoKMjAxNS0wNi0wOSAxNjozMzozOSArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZpeCBtZW1vcnkgbGVha3MgaXRlcmF0aW5nIG92ZXIgcGFkcwoJICBSZWJhc2VkIGZvciBsYXRlc3QgbWFzdGVyIGJ5IE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzQ4CgoyMDE1LTA2LTEwIDAwOjE2OjI3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGFkZCBhbGlnbm1lbnQ9YXUgdG8gc2luayBjYXBzCgkgIFZUIGNvbXByZXNzaW9uIGNhbGxiYWNrIGdldHMgYSBDTVNhbXBsZUJ1ZmZlciBwZXIgZnJhbWUsIHNvIHZ0ZW5jX2gyNjQKCSAgc2hvdWxkIHNldCAnYWxpZ25tZW50PWF1JyBpbiBzaW5rIGNhcHMgdG8gaW5kaWNhdGUgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYzNQoKMjAxNS0wNi0wOSAxODozMDo1NSArMDEwMCAgQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MDEKCjIwMTUtMDUtMTIgMDA6MTg6MDIgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogZml4IGh1Z2UgbWVtb3J5IGxlYWsKCSAgQ01TYW1wbGVCdWZmZXJzIHdlcmUgcmV0YWluZWQgLT4gaHVnZSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYzOAoKMjAxNS0wNS0xMSAxNjo0NDozMyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBubyBuZWVkIGZvciBxdWV1ZV9sZW5ndGggd2l0aCB0cnlfcG9wCgoyMDE1LTA1LTA1IDE1OjA3OjUzICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRvbid0IGNvcHkgbWV0YSBmcm9tIGlucHV0IHRvIG91dHB1dAoJICBDb3B5aW5nIGFyYml0cmFyeSBtZXRhcyBpcyBnb2luZyB0byBjYXVzZSBwcm9ibGVtcyBhbmQgdGhpcyBzaG91bGQgcmVhbGx5IGJlCgkgIGhhbmRsZWQgYnkgdGhlIGJhc2UgY2xhc3MuIEl0IG92ZXJyaWRlcyBtb3N0IG90aGVyIHRoaW5ncyBhbHJlYWR5IGFueXdheSwKCSAgaW5jbHVkaW5nIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24uIFRob3NlIGFyZSBqdXN0IHNldCBoZXJlIG5vdyBzbyB3ZSBjYW4KCSAgaW5zZXJ0IHRoZSBmcmFtZSBzb3J0ZWQgaW50byB0aGUgcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5MjIKCjIwMTUtMDYtMDkgMTU6MzI6MzYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IGFkZCB0aGUgb2Jzb2xldGUgdG1wbCBkaXIgdG8gY3J1ZnQtZGlycwoKMjAxNS0wNi0wOSAxNDozNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogZml4IG1pc2xlYWRpbmcgZG9jdW1lbnRhdGlvbiBjb3BpZWQgZnJvbSBhZGRlcgoKMjAxNS0wNi0wOSAxMjoxMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIExJQkFERAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjE5CgoyMDE1LTA2LTA5IDExOjMwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkOWEzMzUzIHRvIDYwMTVkMjYKCjIwMTUtMDYtMDkgMDk6MDc6NDUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBNYXAgdGhlIHBpeGVsIGRhdGEgb25jZSBwZXIgcmVuZGVyLCBub3QgKmFoZW0qIHR3aWNlIHBlciBieXRlLgoJICBUaGUgbmFpdmUgcG9ydCB0byAxLjAgZnJvbSB5ZWFycyBhZ28gd2FzIHNpbGx5LCBtYWtlIGl0IGJldHRlci4KCjIwMTUtMDYtMDggMjM6MDg6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzN2FmMzIgdG8gZDlhMzM1MwoKMjAxNS0wNi0wNSAxNzoyMDoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIHRoZSBwYXJzaW5nIG9mIE1QRCBlbGVtZW50CgkgIENyZWF0ZSBhIGRhc2ggdGVzdCB0YXJnZXQgYW5kIGFkZCB1bml0IHRlc3RzIHRoYXQgY2hlY2sgdGhlIHBhcnNpbmcgb2YKCSAgYXR0cmlidXRlcyBvZiB0aGUgTVBEIGVsZW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgY2hpbGQgZWxlbWVudHM6CgkgIC0gYmFzZVVSTAoJICAtIHByb2dyYW0gaW5mb3JtYXRpb24KCSAgLSBsb2NhdGlvbgoJICAtIG1ldHJpY3MKCSAgVGhlc2UgdGVzdHMgY2hlY2sgdGhlIGNvbXBsaWFuY2Ugb2YgcGFydHMgb2YgdGhlIE1QRCBwYXJzZXIgaW4gdGhlCgkgIGRhc2hkZW11eCBlbGVtZW50IGFnYWluc3QgdGhlIERBU0ggc3BlY2lmaWNhdGlvbiBbMV0uCgkgIFsxXSBodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXR0Zi9QdWJsaWNseUF2YWlsYWJsZVN0YW5kYXJkcy9jMDY1Mjc0X0lTT19JRUNfMjMwMDktMV8yMDE0X0VsZWN0cm9uaWNfaW5zZXJ0cy56aXAKCSAgaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2l0dGYvUHVibGljbHlBdmFpbGFibGVTdGFuZGFyZHMvYzA2NTI3NF9JU09fSUVDXzIzMDA5LTFfMjAxNC56aXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM5MAoKMjAxNS0wNS0wNiAxNDoyOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHNpbXBsaWZ5IGFnZ3JlZ2F0ZSByZXR1cm5pbmcKCSAgUmV3b3JrIHNwZWNpYWwgaGFuZGxpbmcgd2l0aCBnb3RvL2xhYmVscyB0byBvbmx5IGhhdmUgb25lIGNhc2UKCSAgYW5kIG90aGVyd2lzZSBqdXN0IHJldHVybiBub3JtYWxseS4KCjIwMTUtMDUtMDYgMTQ6MTk6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZWZhY3RvciBjYXBzIHJlY29uZmlndXJlIHRvIGl0cyBvd24gZnVuY3Rpb24KCSAgTWFrZXMgdGhlIGFnZ3JlZ2F0aW9uIGNvZGUgc2hvcnRlciBhbmQgZWFzaWVyIHRvIHJlYWQKCjIwMTUtMDUtMDYgMTM6NTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXhpbmcgdHlwZXMgaW4gYWdncmVnYXRlIGZ1bmN0aW9uCgkgIENvcnJlY3RseSB1c2UgYm9vbGVhbiBhbmQgR3N0Rmxvd1JldHVybiB0eXBlcyBpbiB0aGUgZnVuY3Rpb24uCgoyMDE1LTA1LTA2IDEzOjA4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIG1hY3JvIHRvIGFjY2VzcyBhZ2dyZWdhdG9yIHNyYyBwYWQKCSAgTWFrZXMgY29kZSBhIGJpdCBtb3JlIHJlYWRhYmxlCgoyMDE1LTA1LTA2IDEzOjA3OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBhIGNvbnZlbmllbmNlIG1hY3JvIHRvIGdldCB0aGUgc291cmNlIHBhZAoJICBFYXNpZXIgdGhhbiBjYXN0aW5nIG9yIGFjZXNzaW5nIHRoZSBwYXJlbnQgZXZlcnl3aGVyZQoKMjAxNS0wNi0wOCAxNDoxNjoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvcnJlY3QgZml4IGZvciBkZWFkIGNvZGUKCSAgUmVuYW1lIHRlbXBsYXRlIHRvIGNhcHMgdG8ga2VlcCB0aGUgb3JpZ2luYWwgaW50ZW50aW9uIG9mIHRoZSBjb2RlIGFmdGVyCgkgIGNvbW1pdCBiNGM5YWExYwoJICBDSUQgIzEzMDQ2NzQKCjIwMTUtMDYtMDggMTQ6MTQ6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBSZXZlcnQgInRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDYzNWFjZmVjMDQxYjFjNjY0YmMwNzcwODM5YjFhNTc2ZTM1OThiMS4KCjIwMTUtMDYtMDggMTM6Mzc6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIEFmdGVyIGNvbW1pdCBiNGM5YWExYzMwOGY4OGJmNGUxZjY5YWIwMTU2ZWQ5Zjk5ODE1ZThlIHRlbXBsYXRlIHdpbGwgYWx3YXlzIGJlCgkgIE5VTEwuIFRoZSBpZiBjb25kaXRpb25hbCB3aWxsIGFsd2F5cyBiZSBGQUxTRSwgc28gcmVtb3ZpbmcgaXQuCgkgIENJRCAjMTMwNDY3NAoKMjAxNS0wNi0wNyAyMzowNjozOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjFiYTJlNSB0byBkMzdhZjMyCgoyMDE1LTA2LTA3IDE3OjMyOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDA4NTgzIHRvIDIxYmEyZTUKCjIwMTUtMDYtMDcgMTc6MDM6MTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHZhcmlhYmxlcyB0aGF0IHdlIGRlZmluZSBpbiB0aGUgc25pcHBldCBmcm9tIGNvbW1vbgoJICBUaGlzIGlzIHN5bmNpbmcgb3VyIE1ha2VmaWxlLmFtIHdpdGggdXBzdHJlYW0gZ3RrZG9jLgoKMjAxNS0wNi0wNyAxNzoxNjoyNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDY3Njk5MyB0byBjNDA4NTgzCgoyMDE1LTA2LTA3IDE2OjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgoyMDE1LTA2LTA3IDE2OjI4OjQzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBvbmx5IGFkZCB0aGUgbGlicyB0aGF0IHdlIGFjdHVhbGx5IGRvY3VtZW50IHJpZ2h0IG5vdwoJICBLZWVwIHRoZSBsaWJzIGluIGFscGhhYmV0aWNhbCBvcmRlciB1bmxlc3MgYSBzcGVjaWZpYyBsaW5rIG9yZGVyIGlzIHJlcXVpcmVkLgoJICBBbHNvIHJlbW92ZSB0aGUgLUwgZGlyZWN0aXZlcyBhcyB3ZSBzcGVjaWZ5IHRoZSBkaXJlY3QgcGF0aCB0byB0aGUgLmxhIGZpbGVzLgoKMjAxNS0wNi0wNyAxNjoyODoyMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogcmVtb3ZlIGR1cGxpY2F0ZWQgZW50cnkgZnJvbSB0eXBlcyBmaWxlCgoyMDE1LTA2LTA3IDE1OjU5OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB6YmFyOiBzcGxpdCB0ZXN0CgkgIExldHMgbm90IGNyYW0gZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHRlc3QgLSB0aGlzIHdvdWxkIHJlbmRlciB0aGUgdGVzdCBuYW1lCgkgIHVzZWxlc3MgZm9yIHF1aWNrIGRpYWdub3Npcy4gSGF2aW5nIHNlcGFyYXRlIHRlc3RzIGZvciB0aGUgb3B0aW9uYWwgZmVhdHVyZSBpcwoJICBhbHNvIHZlcmlmeWluZyB0aGUgYmVoYXZpb3VyIHdoZW4gdGhlIGZlYXR1cmUgaXMgb2ZmLgoKPT09IHJlbGVhc2UgMS41LjEgPT09CgoyMDE1LTA2LTA3IDEwOjU1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjEKCjIwMTUtMDYtMDcgMDk6MzY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDUtMzAgMjE6MzU6MzYgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCB3cm9uZyBnc3QtbGF1bmNoIGNvbW1hbmQgaW4gdGhlIGRlc2NyaXB0aW9uCgkgIEZpeCB3cm9uZyBnc3QtbGF1Y2ggY29tbWFuZCBpbiB0aGUgZGVzY3JpcHRpb24uCgkgIFRoaXMgcGF0Y2ggbWF5IGhlbHAgcGVvcGxlIHRvIGdldCByaWdodCB0ZXN0aW5nIHJlc3VsdHMgdXNpbmcgdGhlIHNjcmlwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE0MwoKMjAxNS0wNi0wNSAxNDo0OToxOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiByZW1vdmUgaWdub3JlZCBhc3NpZ25tZW50cwoJICBSZW1vdmUgYXNzaWdubWVudHMgdG8gREZCUmVzdWx0IHJlcyB0aGF0IGFyZSBuZXZlciByZWFkLgoKMjAxNS0wNi0wNSAxNDozNDo1NSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBpZ25vcmVkIGFzc2lnbm1lbnQKCSAgRnVuY3Rpb24gZ29lcyB0byBkb25lIGJlZm9yZSB0aGUgdmFsdWUgc2V0IGluIHN0YXJ0X29mZnNldCBpcyBldmVyIHVzZWQuCgoyMDE1LTA2LTA1IDA5OjM1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IGEgY29tbW9uIHR5cG86IHJldHJlaXZlIC0+IHJldHJpZXZlCgkgIFNlZW1zIHRvIGhhdmUgYmVlbiBjb3B5IHBhc3RlZCBhcm91bmQgYSBmZXcgcGxhY2VzCgoyMDE1LTA2LTA1IDA5OjIyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkcm9wIFRPRE8gdGhhdCBkb2Vzbid0IG5lZWQgYSBzb2x1dGlvbgoJICBDb25uZWN0aW9uIHNwZWVkIGlzIG9ubHkgY2hlY2tlZCBhdCB0aGF0IHBvaW50IGluIGhsc2RlbXV4IHNvIHRoZXJlCgkgIGlzIG5vIHJlYWwgbmVlZCB0byByZWZhY3RvciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNi0wNSAwOToxNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgUmV2ZXJ0ICJobHNkZW11eDogU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0Y2EzYTIyYjZiMzNhZDhiZTQzODMwNjNlNzZmNzljNGQzNDY1MzVkLgoJICBUaGUgY29ubmVjdGlvbi1zcGVlZD0wIGlzIHVzZWQgYXMgYSBzcGVjaWFsIHZhbHVlIGluIHRoZSBwcm9wZXJ0eQoJICBvZiBobHNkZW11eCB0byBtZWFuICdhdXRvbWF0aWMnIHNlbGVjdGlvbiwgbTN1OC5jIGRvZXNuJ3QgbmVlZAoJICB0byBrbm93IGFib3V0IHRoYXQgYXMgaXQgc2hvdWxkIGJlIGFzIHNpbXBsZSBhcyBwb3NzaWJsZS4KCSAgU28gdGhpcyBwYXRjaCBoaWRlcyB0aGlzIGF1dG9tYXRpYyBzZWxlY3Rpb24gZG9jdW1lbnRlZCBpbiBobHNkZW11eAoJICBpbnRvIG0zdTggbG9naWMgYW5kIEkgdGhpbmsgdGhlIGdldHMgaGFyZGVyIHRvIHVuZGVyc3RhbmQgdGhlIGNvZGUuCgkgIEl0IGFsc28gbWFrZXMgdGhlIGhsc2RlbXV4IHVuaXQgdGVzdHMgd29yayBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA2LTA1IDE0OjMwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRml4IGludmVydGVkIGxvZ2ljIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMTUtMDYtMDUgMDg6NTg6MDMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkgIHNpbXBsZXZpZGVvbWFya2RldGVjdDogZml4IGRldGVjdCBvZiB2aWRlb21hcmsgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUgdmlkZW8KCSAgSW4gY2FzZSBvZiB0aGUgdmlkZW9tYXJrIGJlaW5nIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlLAoJICBhbiBlcnJvciB3YXMgYmVpbiB0aHJvd24gc2F5aW5nLCBtYXJrIHdpZHRoIGlzIG1vcmUgdGhhbiB2aWRlbyB3aWR0aC4KCSAgQW5kIHdoZW4gdGhlIHdpZHRoLCBvZmZzZXQgcHJvcGVydGllcyBhcmUgc2V0IHRvIG1heGltdW0gaXQgcmVzdWx0ZWQgaW4gY3Jhc2guCgkgIEluc3RlYWQgb2YgdGhyb3dpbmcgZXJyb3IsIGFkZGVkIGxvZ2ljIHRvIGRldGVjdCB0aGUgbWFyawoJICBpbiBjYXNlIG9mIHBhcnRpYWwgdmlzaWJpbGl0eSBvciBkb250IHNob3cgdGhlIG1hcmsgd2hlbiBpdCBpcyBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTA2LTA1IDE0OjEwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2Ygc2VnbWVudHMgd2UgaGF2ZSB3aGVuIGEgc2VnbWVudCB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIGEgbGlzdCBpcyB1c2VkCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBqdXN0IGNvbnRpbnVlIGRvd25sb2FkaW5nIG5ldyBmaWxlcyBmb3JldmVyIHVudGlsIHdlIGdldAoJICA0MDQgZm9yIHRoZSBmaXJzdCBvbmUsIGFuZCB0aGVuIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdvaW5nIEVPUy4KCjIwMTUtMDYtMDUgMDg6NTM6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogQWRkIEVycm9yIGxvZ3MKCSAgV2hlbiB0aGUgcGF0dGVybiBvZmZzZXQgaXMgb3V0c2lkZSB0aGUgdmlkZW8sIHRoZSBwcmludCBlcnJvciBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDYtMDUgMTM6Mjg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHN0cmVhbXMgd2l0aCBhIGtub3duIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbiBhcyBsaXZlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDM3MDExZTUxOTgzMGUwNzg2ZmE2ZTMwN2VkMjYwMDNhMmE4Nzc0ZjEuCgkgIFRoaXMgY2hhbmdlIHdhcyBhY3R1YWxseSBjb21wbGV0ZWx5IHVubmVjZXNzYXJ5LCB0aGUgc3RyZWFtcyBpbiBxdWVzdGlvbiBhcmUKCSAgbWFya2VkIGFzIHN0YXRpYyBhbmQgYXJlIG5vdCBjb25zaWRlcmVkIGxpdmUgYW55d2F5LgoKMjAxNS0wNi0wNSAxMzoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHN0cmVhbXMgd2l0aCBhIGtub3duIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbiBhcyBsaXZlCgoyMDE1LTA2LTA1IDExOjI2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBFcnJvciBvdXQgaWYgZG93bmxvYWRpbmcgYSBzZWdtZW50IGZhaWxlZCB0b28gb2Z0ZW4gaW4gbGl2ZSBtb2RlCgkgIEl0J3MgdHJ1ZSB0aGF0IHdlIHNob3VsZG4ndCBjb25zaWRlciBlcnJvcnMgZmF0YWwgaW1tZWRpYXRlbHksIGJ1dCBpZiB3ZQoJICBhbHdheXMgaWdub3JlIHRoZW0gd2Ugd2lsbCBsb29wIGluZmluaXRlbHkgb24gbGl2ZSBzdHJlYW1zIHdpdGggc2VnbWVudHMKCSAgdGhhdCBjYW4ndCBiZSBkb3dubG9hZGVkIGF0IGFsbC4KCjIwMTUtMDYtMDMgMTI6MTc6MTkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IEFsbG93IGdldHRpbmcgc3NyYyBvZiBtb3JlIHBhY2thZ2UgdHlwZXMgdGhhbiBSUiBhbmQgU1IKCSAgVGhpcyBhbGxvd3MgZGVjcnlwdGluZyByZWR1Y2Ugc2l6ZSBwYWNrYWdlcy4gU2VlIFJGQyA1NTA2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMjYKCjIwMTUtMDYtMDQgMTM6MzY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlZmFjdG9yIHBhZCBjcmVhdGlvbgoJICBBdm9pZCByZXBlYXRpbmcgdGhlIHNhbWUgcGFkIGNyZWF0aW9uIGNvZGUgZXZlcnl3aGVyZQoKMjAxNS0wNi0wNCAxNTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNyYXNoIGluIGRlYnVnIG91dHB1dCBpZiBzdHJlYW0tPnNlZ21lbnRzIGlzIE5VTEwKCjIwMTUtMDYtMDQgMTM6MzE6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBmaXggbG9naWMgYW5kIHRpbWVzdGFtcCBub24tbXV4ZWQgc3RyZWFtcyBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzgxCgoyMDE1LTA2LTA0IDEyOjUzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2dzdGxpYmRlMjY1LmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjVkZWM6IGZpeCB1cCBwbHVnaW4gbmFtZSBhbmQgZGVjb2RlciBkZXNjcmlwdGlvbgoKMjAxNS0wNi0wNCAxMzozNjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogQ2xhbXAgc2VlayB0aW1lcyB0byB0aGUgYXZhaWxhYmlsaXR5U3RhcnRUaW1lCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHNlZWsgdG8gbmVnYXRpdmUgdGltZXMsIHdoaWNoIGFyZSBpbnRlcnByZXRlZCBhcyB1bnNpZ25lZAoJICBpbnRlZ2VycyBsYXRlci4KCjIwMTUtMDYtMDQgMTM6MTM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCB3aGVuIGFkdmFuY2luZyBzZWdtZW50cwoKMjAxNS0wNi0wNCAxMjozNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUmVsZWFzZSB0aGUgbWFuaWZlc3QgbXV0ZXggYmVmb3JlIHdhaXRpbmcgZm9yIGEgZG93bmxvYWQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaHVydCBwYXJhbGxlbCBkb3dubG9hZHMgaW4gdGhlIGJlc3QgY2FzZSwgYW5kIG9mdGVuIGNhdXNlCgkgIGRlYWRsb2Nrcy4KCjIwMTUtMDYtMDQgMTE6NTQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IElmIGNoYW5uZWwvcmF0ZSBuZWdvdGlhdGlvbiBmYWlscywgZmFsbCBiYWNrIHRvIHN0ZXJlbyBhbmQgNDhrSHoKCjIwMTUtMDYtMDQgMTE6NTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBTZXQgdXAgZGVmYXVsdCBoZWFkZXIgd2l0aCA0OGtIeiBzYW1wbGUgcmF0ZSBpbnN0ZWFkIG9mIDAKCjIwMTUtMDYtMDQgMTE6NDU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGdzdF9zdHJ1Y3R1cmVfZml4YXRlX2ZpZWxkX25lYXJlc3RfaW50KCkgb25seSB3b3JrcyBpZiB0aGUgc3RydWN0dXJlIGhhcyB0aGlzIGZpZWxkCgkgIEp1c3Qgc2V0IHRoZSByYXRlL2NoYW5uZWxzIGRpcmVjdGx5IGlmIHRoZSBjYXBzIGRvbid0IGhhdmUgdGhpcyBmaWVsZC4KCjIwMTUtMDYtMDQgMTE6MDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBVc2UgNjQgYml0IGludGVnZXIgZm9ybWF0IHN0cmluZ3Mgd2hlbiBwYXNzaW5nIGEgNjQgYml0IGludGVnZXIKCSAgT3RoZXJ3aXNlIHdlJ2xsIG9ubHkgZ2V0IGhhbGYgb2YgaXRzIGJpdHMgcHJpbnRlZCBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcy4KCSAgRm9yIHRoaXMsIHByb21vdGUgdGhlICVkLXN0eWxlIGZvcm1hdCBzdHJpbmdzIHRvIHNvbWV0aGluZyB0aGF0IGFjY2VwdHMKCSAgNjQgYml0IGludGVnZXJzIHdpdGggR19HSU5UNjRfTU9ESUZJRVIuCgoyMDE1LTA2LTA0IDEwOjQ3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBWYWxpZGF0ZSBmb3JtYXQgc3RyaW5ncyBiZWZvcmUgdXNpbmcgdGhlbQoJICBVc2luZyBmb3JtYXQgc3RyaW5ncyBmcm9tIGFuIHVudHJ1c3RlZCBzb3VyY2Ugd2l0aG91dCB2YWxpZGF0aW9uIGlzCgkgIGNhbGxpbmcgZm9yIHByb2JsZW1zLCBhbmQgYXQgbGVhc3QgYWxsb3dzIHRvIHJlbW90ZWx5IGNyYXNoIHlvdXIgYXBwbGljYXRpb24uCgkgIElmIG5vdCB3b3JzZS4KCjIwMTUtMDYtMDQgMDk6NDA6MTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBGaXggYnVpbGQKCjIwMTUtMDYtMDMgMjI6MjE6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGU6IGZpeCBidWlsZCBlcnJvciB3aGVuIGNvbXBpbGluZyBjb2NvYS12aWRlb292ZXJsYXkKCSAgbGlidG9vbDogZXJyb3I6IGlnbm9yaW5nIHVua25vd24gdGFnIE9CSkMKCSAgYW5kCgkgIGNsYW5nOiBlcnJvcjogYXJndW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1wdGhyZWFkJwoKMjAxNS0wNi0wNCAxNTowMToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC93aW5kb3cvZGlzcG1hbng6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE1LTA2LTA0IDEyOjE2OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkgIGdsL3dpbmRvdzogdXNlIHRoZSBkZWZhdWx0IG1haW4gbG9vcCBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIGJhY2tlbmRzCgkgIGZpeGVzIGdsaW1hZ3NpbmsgYmVpbmcgdW5hYmxlIHRvIGRpc3BsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzcKCjIwMTUtMDYtMDMgMjE6MjI6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsd2luZG93X2NvY29hOiB1c2UgcGFyZW50IGRlZmF1bHQgaW1wbGVtZW50YXRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzNwoKMjAxNS0wNi0wMyAyMDowMzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEFkZCB0aGUgc3RhcnROdW1iZXIgYXMgb2Zmc2V0IHRvIHRoZSBzZWdtZW50IGluZGV4IHdoZW4gdXNpbmcgYSB0ZW1wbGF0ZQoKMjAxNS0wNi0wMyAxNjo1OTo0NCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSAgZHRsc2RlYzogRml4IGNyaXRpY2FsIHdhcm5pbmcgImdvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCIKCSAgRm9yd2FyZCBzdGlja3kgZXZlbnRzIG9uIHJlcXVlc3RlZCBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzQ4CgoyMDE1LTA2LTAzIDE1OjI1OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcmVtb3ZlIHVzZWxlc3MgdmFsdWUgYXNzaWdubWVudHMKCSAgSW4gYWxsIHRoZXNlIGNhc2VzIHJldCBpcyBzZXQgYnV0IG92ZXJ3cml0dGVuIGJlZm9yZSB0aGUgcmV0dXJuIG9mIHRoZSBmdW5jdGlvbgoKMjAxNS0wNi0wMyAxNDo0NDozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYWJpbjItdGVzdDogcHJvdGVjdCBmcm9tIGRpdmlzaW9uIGJ5IHplcm8KCSAgSGlnaGx5IHVubGlrZWx5IHRvIGhhdmUgMCBjYXB0dXJlcywgYnV0IHByb3RlY3QgZnJvbSBjcmFzaGVzIGluIHRoZSBmdXR1cmUgYnkKCSAgZG9pbmcgbm9uZSBvZiB0aGUgbWF0aCBpZiB0aGVyZSBpcyBubyBkYXRhLgoKMjAxNS0wNi0wMiAyMDo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsb3dlciBjdXJsIHJlcXVpcmVtZW50IHRvIDcuMzUuMAoJICBCdWlsZCBhbmQgdW5pdCB0ZXN0cyB3ZXJlIHRlc3RlZCBhZ2FpbnN0IDcuMzUgdG9vIG5vdywKCSAgd2hpY2ggaXMgdGhlIHZlcnNpb24gaW4gVWJ1bnR1IDE0LjA0LgoKMjAxNS0wNi0wMiAxNjo0MDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG8gbm90IGFjY2VzcyB2YXJpYWJsZSBhZnRlciB1bnJlZgoJICBEYXRhIG1pZ2h0IG5vdCBleGlzdCBhbnltb3JlCgoyMDE1LTA2LTAyIDE1OjQ1OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBhdWRpb2ludGVybGVhdmU6IHRlc3Qgbm90IHNldHRpbmcgcG9zaXRpb25zCgkgIERpc2FibGUgImNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQiLCBidXQgd2l0aG91dCBhY3R1YWxseSBnaXZpbmcKCSAgYSBwb3NpdGlvbiB0YWJsZSwgc28gZXZlcnkgcG9zaXRpb24gc2hvdWxkIGJlIE5PTkUKCjIwMTUtMDYtMDIgMTU6NDQ6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IEZpeCBpbmRlbnRhdGlvbiBpbiBhdWRpb2ludGVybGVhdmUgdGVzdAoKMjAxNS0wNi0wMiAxMTozMTowMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBkb24ndCBpZ25vcmUgemJhcl9zY2FuX2ltYWdlKCkgZXJyb3JzCgoyMDE1LTA2LTAzIDAwOjMxOjQyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IFNldCBuZXcgc3luYyBwb2ludCB3aGVuIGNvcHlpbmcKCSAgU2V0IGEgbmV3IHN5bmMgcG9pbnQgd2hlbiBjb3B5aW5nIGluc3RlYWQgb2YKCSAgdHJhbnNmZXJyaW5nIHRoZSAobm9uLXJlZmNvdW50ZWQpIEdMIHN5bmMgb2JqZWN0CgkgIGZyb20gdGhlIHNvdXJjZSBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjc5CgoyMDE1LTA2LTAyIDIzOjU5OjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IEFkZCBzb21lIGRlYnVnIG91dHB1dAoKMjAxNS0wNi0wMiAxNjowMjozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92cDhwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBjaGVjazogVXNlIEdTVF9DSEVDS19NQUlOICgpIG1hY3JvIGV2ZXJ5d2hlcmUKCSAgTWFrZXMgc291cmNlIGNvZGUgc21hbGxlciwgYW5kIGVuc3VyZXMgd2UgZ28gdGhyb3VnaCBjb21tb24gaW5pdGlhbGl6YXRpb24KCSAgcGF0aCAobGlrZSB0aGUgb25lIHRoYXQgc2V0cyB1cCBYTUwgdW5pdCB0ZXN0IG91dHB1dCAuLi4pCgoyMDE1LTA2LTAyIDEwOjIxOjQyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IGZpeCBkaXNwbGF5IG9mIHZpZGVvbWFyayBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSB2aWRlbwoJICBJbiBjYXNlIG9mIHRoZSB2aWRlb21hcmsgYmVpbmcgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUsIGFuIGVycm9yIHdhcyBiZWluZwoJICB0aHJvd24gc2F5aW5nIHRoZSBtYXJrIHdpZHRoIGlzIG1vcmUgdGhhbiB2aWRlbyB3aWR0aC4gQW5kIHdoZW4gdGhlIHdpZHRoLAoJICBvZmZzZXQgcHJvcGVydGllcyBhcmUgc2V0IHRvIG1heGltdW0gaXQgcmVzdWx0ZWQgaW4gY3Jhc2guIEluc3RlYWQgb2YgdGhyb3dpbmcKCSAgYW4gZXJyb3IsIGFkZCBsb2dpYyB0byBkZXRlY3QgdGhlIG1hcmsgaW4gY2FzZSBvZiBwYXJ0aWFsIHZpc2liaWxpdHkgb3IgZG9uJ3QKCSAgc2hvdyB0aGUgbWFyayB3aGVuIGl0IGlzIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDMtMjQgMTU6MTc6MTYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBlbmFibGUgQ2hpbmVzZSBBVlMgdmlkZW8gc3RyZWFtCgkgIENoaW5lc2UgYnJvYWRjYXN0ZXIgZW5jYXBzdWxhdGUgQVZTIHZpZGVvIGNvZGVjIGludG8gTVBFRzItVFMuIFRoZXkKCSAgdXNlIHRoZSBzdHJlYW1faWQgMHg0MiB0byBpZGVudGlmeSBBVlMgdmlkZW8gc3RyZWFtcy4gSXQgc2hvdWxkIGJlIG5vdGVkCgkgIHRoYXQgdGhpcyBpZCBpcyBjdXJyZW50bHkgd2l0aGluIHRoZSBJU08gcmVzZXJ2ZWQgcmFuZ2UsIGhlbmNlIGl0J3MKCSAgdXRpbGlzYXRpb24gaXMgdW5vZmZpY2lhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzczMQoKMjAxNS0wNi0wMiAxNzoyNDoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBwcm92aWRlIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBmb3IgR0xFUzIgZm9yIEdMX1JHQkE4CgoyMDE1LTA2LTAyIDE2OjMyOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogY29uc29saWRhdGUgaW50ZXJuYWxfcmdiYV9mb3JtYXQgaW50byBnbG1lbW9yeQoJICBFeHBvc2Ugc29tZSB1c2VmdWwgdmFsdWUgZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIGF2YWlsYWJsZSBpbgoJICBHc3RHTE1lbW9yeS4KCjIwMTUtMDYtMDEgMTk6NDM6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBbHdheXMgaGF2ZSAiY2hhbm5lbHMiIGJlIHRoZSBhY3R1YWwgcGFkIGNvdW50CgkgIERvbid0IGZvcmNlIGl0IGFueXdoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyNTIKCjIwMTUtMDYtMDEgMTk6NDI6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBVc2UgdGhlIGNoYW5uZWwgY291bnQgZnJvbSB0aGUgc2V0IGNhcHMKCSAgVGhpcyBpcyB0aGUgc2FtZSBudW1iZXIgdGhhdCB3YXMgdXNlZCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVyCgoyMDE1LTA2LTAxIDE4OjUwOjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCB0aGF0IHRoZSBsYXRlbmN5IGlzIGluIG5zCgoyMDE1LTA2LTAxIDIwOjAzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBPbmx5IGxvd2VyIHJhbmtzIG9mIE9NWC5FeHlub3MuIGF1ZGlvIGNvZGVjcywgdGhlIHZpZGVvIGNvZGVjcyBhcmUgYWN0dWFsbHkgd29ya2luZwoKMjAxNS0wNi0wMSAxOTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogR2l2ZSBtYXJnaW5hbCByYW5rIHRvIGNvZGVjcyB0aGF0IHN0YXJ0IHdpdGggT01YLkV4eW5vcy4KCSAgT01YLkV4eW5vcy4gY29kZWNzIGFyZSBleGlzdGluZyBvbiBzb21lIGRldmljZXMgbGlrZSB0aGUKCSAgR2FsYXh5IFM1IG1pbmksIGFuZCBjYXVzZSByYW5kb20gY3Jhc2hlcyAob2YgdGhlIGRldmljZSwKCSAgbm90IHRoZSBhcHAhKSBhbmQgZ2VuZXJhbGx5IG1pc2JlaGF2ZS4gVGhhdCBzcGVjaWZpYyBkZXZpY2UKCSAgaGFzIG90aGVyIGNvZGVjcyB0aGF0IHdvcmsgd2l0aCBhIGRpZmZlcmVudCBuYW1lLCBidXQgbGV0J3MKCSAganVzdCBnaXZlIHRoZW0gbWFyZ2luYWwgcmFuayBpbiBjYXNlIHRoZXJlIGFyZSBkZXZpY2VzIHRoYXQKCSAgaGF2ZSBubyBvdGhlciBjb2RlY3MgYW5kIHRoZXNlIGFyZSBhY3R1YWxseSB0aGUgb25seSB3b3JraW5nCgkgIG9uZXMKCjIwMTUtMDYtMDEgMTk6MjM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEdpdmUgbG93ZXIgcmFua3MgdG8gY29kZWNzIG5vdCBzdGFydGluZyB3aXRoIE9NWC4KCSAgT24gc29tZSBkZXZpY2VzIHRoZXJlIGFyZSBjb2RlY3MgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4sIHdoaWxlCgkgIHRoZXJlIGFyZSBhbHNvIHNvbWUgdGhhdCBkby4gQW5kIG9uIHNvbWUgb2YgdGhlc2UgZGV2aWNlcyB0aGUgb25lcwoJICB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiBqdXN0IGNyYXNoIGR1cmluZyBpbml0aWFsaXphdGlvbiB3aGlsZQoJICB0aGUgb3RoZXJzIHdvcmsuIFRvIG1ha2UgdGhpbmdzIGV2ZW4gbW9yZSBjb21wbGljYXRlZCBvdGhlciBkZXZpY2VzCgkgIGhhdmUgY29kZWNzIHdpdGggdGhlIHNhbWUgbmFtZSB0aGF0IHdvcmsgYW5kIG5vIGFsdGVybmF0aXZlcy4KCSAgU28ganVzdCBnaXZlIGEgbG93ZXIgcmFuayB0byB0aGVzZSBub24tT01YIGNvZGVjcyBhbmQgaG9wZSB0aGF0CgkgIHRoZXJlJ3MgYW4gYWx0ZXJuYXRpdmUgd2l0aCBhIGhpZ2hlciByYW5rLgoJICBBbHNvIHN0YWdlZnJpZ2h0IGdpdmVzIGNvZGVjcyBzdGFydGluZyB3aXRoIE9NWC4gYSBoaWdoZXIgcmFuayB0b28gYW5kCgkgIGNvbnNpZGVycyBvdGhlciBjb2RlY3MgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4gYXMgc29mdHdhcmUgY29kZWNzLgoKMjAxNS0wNi0wMSAxMToxMjoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogemJhcjogY2hlY2sgZm9yIGZyYW1lIGZpZWxkIG9uIGF0dGFjaC1mcmFtZT10cnVlCgkgIEFsc28gY2hlY2sgZm9yIHRoZSBzYW1wbGUgdG8gaGF2ZSBhIGJ1ZmZlciBhbmQgY2FwcwoJICBhc3NvY2lhdGVkIHdpdGggaXQuCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTcKCjIwMTUtMDUtMjAgMTU6MDQ6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFJlcXVpcmUgd2lkdGggYW5kIGhlaWdodCBmaWVsZCBmb3IgSDI2NAoJICBUaGlzIGRlY29kZXIgZG9lcyBub3Qgd29yayBpZiB3aWR0aCBhbmQgaGVpZ2h0IGZpZWxkIGFyZSBub3Qgc2V0CgkgIGluIHRoZSBzaW5rcGFkIGNhcHMuIExldCdzIG1ha2UgdGhpcyBleHBsaWNpdCBieSBhZGRpbmcgdGhlbSB0bwoJICB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY1NQoKMjAxNS0wNi0wMSAxNDowNzozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSAgZ2xjb250ZXh0X2dwdV9wcm9jZXNzOiBjbG9zZSB0aGUgd2luZG93IHdoZW4gZG9uZQoKMjAxNS0wNi0wMSAxNDowNTo1OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJICBnbHdpbmRvd19ncHVfcHJvY2VzczogYXZvaWQgZW1wdHkgc3RydWN0CgoyMDE1LTA2LTAxIDEyOjU4OjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogbW92ZSBtYWluIGxvb3AvY29udGV4dCBjcmVhdGlvbiBiYWNrIHRvIGluaXQvZmluYWxpemUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE5OQoKMjAxNS0wNi0wMSAxNDowNTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSAgZXhhbXBsZXM6IEZpeCBnbCB1c2FnZSB3aXRob3V0IHdheWxhbmQgc3VwcG9ydAoJICBOb3QgYWxsIHBsYXRmb3JtcyBoYXZlIHdheWxhbmQgc3VwcG9ydC4gSGFuZGxlIHRoYXQgZ3JhY2VmdWxseSBhdAoJICBjb21waWxlIHRpbWUKCjIwMTUtMDYtMDEgMTM6NTU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogSW5pdGlhbGl6ZSBHc3RNYXBJbmZvCgkgIEF2b2lkcyBkb2luZyBhIGNhbGwgdG8gdW5tYXAgd2l0aCBpdCB1bmluaXRpYWxpemVkCgkgIENJRCAjMTMwMjgzNAoKMjAxNS0wNi0wMSAxMjo1MTo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA0LTI1IDIyOjU1OjI4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGZpeCBrZXlmcmFtZSByZXF1ZXN0IHJhY2UgY29uZGl0aW9uCgkgIEl0IGlzIGluY29ycmVjdCB0byBtb2RpZnkgdGhlIGZyYW1lIHByb3BlcnRpZXMgYWZ0ZXIgcGFzc2luZyB0aGVtLCBzaW5jZQoJICBWVENvbXByZXNzaW9uU2Vzc2lvbkVuY29kZUZyYW1lIHRha2VzIHJlZmVyZW5jZSBhbmQgd2UgaGF2ZSBubyBjb250cm9sCgkgIG92ZXIgd2hlbiBpdCdzIGJlaW5nIHVzZWQuCgkgIEluIGZhY3QsIHRoZSBjb2RlIGNhbiBiZSBzaW1wbGlmaWVkLiBXZSBqdXN0IHByZWFsbG9jYXRlIHRoZSBmcmFtZQoJICBwcm9wZXJ0aWVzIGZvciBrZXlmcmFtZSByZXF1ZXN0cywgYW5kIHBhc3MgTlVMTCBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0NjcKCjIwMTUtMDYtMDEgMTE6NTY6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogbWFrZSBwcml2YXRlIGFsbCB2YXJpYWJsZSBzdWJjbGFzc2VzIGRvbid0IG5lZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNS0wMSAyMzoyMDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IGFkZCBmcmFtZSBzYW1wbGUgdG8gYmFyY29kZSBtZXNzYWdlCgkgIE5ldyBhdHRhY2gtZnJhbWUgcHJvcGVydHkgZW5hYmxlcyBiYXJjb2RlIGZyYW1lCgkgIGR1bXBpbmcgd2hlbiBzZXQgdG8gdHJ1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU1NwoKMjAxNS0wNS0zMSAyMTozMDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIGdsOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOjI0Njo0MTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnc3VyZmFjZV9saXN0ZW5lcicgWy1XZXJyb3IsLVd1bnVzZWQtY29uc3QtdmFyaWFibGVdCgkgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2xfc3VyZmFjZV9saXN0ZW5lciBzdXJmYWNlX2xpc3RlbmVyID0gewoJICBeCgoyMDE1LTA1LTI3IDIzOjM0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQ29uZGl0aW9uYWxseSB1c2UgZ2V0X3tpbnB1dCxvdXRwdXR9X2J1ZmZlcigpIEFuZHJvaWQgMjEgQVBJcwoJICBBbHNvIHByb3Blcmx5IHNldCBsaW1pdC9wb3NpdGlvbiBvbiBieXRlIGJ1ZmZlciwgc29tZSBjb2RlY3MgcHJlZmVyIHRvIGhhdmUKCSAgY29ycmVjdCB2YWx1ZXMgdGhlcmUuCgoyMDE1LTA1LTMxIDE2OjUzOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IGZpeCBjb21waWxlciBlcnJvcgoJICBnc3RnbHdpbmRvdy5jOjExMTg6NTQ0OiBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yXQoJICBnX3JldHVybl9pZl9mYWlsIChHU1RfR0xfSVNfV0lORE9XICh3aW5kb3cpKTsKCjIwMTUtMDUtMzEgMTU6NDI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBndGsgZXhhbXBsZXMgZm9yIGdsdXBsb2FkCgoyMDE1LTA1LTMxIDE1OjQwOjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGd0ayBleGFtcGxlcyBmb3Igd2F5bGFuZAoKMjAxNS0wNS0yOSAxODowNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IHNldHRpbmcgdGhlIHJlbmRlciByZWN0YW5nbGUKCSAgUGxhY2VzIG91ciBzdWJzdXJmYWNlIGF0IHRoZSByZWN0YW5nbGUgcHJvdmlkZWQgcG9zaXRpb24KCjIwMTUtMDUtMjkgMTg6MDM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogaGFuZGxlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlCgoyMDE1LTA1LTI5IDE4OjAxOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiBkb24ndCBibG9jayB0aGUgZXZlbnQgbG9vcCBhZnRlciBwb2xsCgkgIFVzZSB0aGUgZGlzcGF0Y2hfcGVuZGluZyBzZXQgb2YgZnVuY3Rpb25zIHdoaWNoIGp1c3QgcnVuIHRoZSBjdXJyZW50bHkKCSAgcXVldWVkIHVwIGV2ZW50cyBpbnN0ZWFkIG9mIHBvdGVudGlhbGx5IHdhaXRpbmcgZm9yIGFuIGV2ZW50IHRvIG9jY3VyLgoKMjAxNS0wNS0yNyAxNjo0Mjo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmg6CgkgIHRlc3RzL2dsL2d0azogaW1wbGVtZW50IHNldHRpbmcgYSB3YXlsYW5kIGRpc3BsYXkvc3VyZmFjZQoKMjAxNS0wNS0yNyAxNjozOTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCBiYXNpYyB2aWRlbyBvdmVybGF5IHN1cHBvcnQgdmlhIHN1YnN1cmZhY2VzCgkgIEN1cnJlbnRseSBkb2VzIG5vdCBwb3NpdGlvbiB0aGUgc3Vic3VyZmFjZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IHN1cmZhY2UgYXQgYWxsCgoyMDE1LTA1LTI3IDE1OjQ0OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiBhbGxvdyBhIE5VTEwgd2xfZXZlbnRfcXVldWUKCSAgcGVyZm9ybSBvcGVyYXRpb25zIG9uIHRoZSBkZWZhdWx0IHdsX2Rpc3BsYXkgZXZlbnQgcXVldWUgaW4gdGhhdCBjYXNlCgoyMDE1LTA1LTI3IDE1OjQzOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbC91dGlsczogaW1wbGVtZW50IHdheWxhbmQgZGlzcGxheSBHc3RDb250ZXh0CgkgIHJlcXVyaWVkIGZvciBzaGFyaW5nIEdMIGNvbnRleHRzIG9yIHN1YnN1cmZhY2Ugc3VwcG9ydAoKMjAxNS0wNS0yMiAxNjowNzo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSAgZ2wvd2F5bGFuZDogcnVuIGVhY2ggd2luZG93IG9uIGEgc2VwYXJhdGUgcXVldWUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3NDcKCjIwMTUtMDUtMzAgMDI6MTk6MjUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBEb24ndCBsZWFrIHRlbXAgc3RyaW5ncyBpbiBfUkdCX3BpeGVsX29yZGVyKCkKCSAgRml4IGEgbWVtb3J5IGxlYWsgb2YgdGVtcG9yYXJ5IHN0cmluZ3Mgd2hlbiBjb21wdXRpbmcKCSAgc3dpenpsaW5nIG9mIFJHQiBmb3JtYXRzLgoKMjAxNS0wNS0zMCAwMjoyOTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBBZGQgdHJhbnNmb3JtX2ludGVybmFsX2NhcHMoKSB2ZnVuYwoJICBBZGQgYSB2ZnVuYyB0aGF0IGlzIGNhbGxlZCBieSBnbGZpbHRlciBiZWZvcmUgaXQgc2V0cwoJICBjYXBzIGZlYXR1cmVzIGFuZCBpbnRlcnNlY3RzIHdpdGggdGhlIHBlZXIgY2FwcywgYW5kCgkgIG1vdmUgcmVtb3ZpbmcgdGhlIHNpemUgZnJvbSBjYXBzIGludG8gaXRzIGRlZmF1bHQKCSAgaW1wbGVtZW50YXRpb24uIEFsbG93cyBzdWItY2xhc3NlcyB0byBkbyBtb3JlCgkgIHNvcGhpc3RpY2F0ZWQgbWFuYWdlbWVudCBvZiB0aGUgc2l6ZSBmaWVsZHMgaW4gY2FzZSB0aGV5CgkgIGRvbid0IHN1cHBvcnQgYXJiaXRyYXJ5IHJlc2l6aW5nIG9yIGhhdmUgZGlzdGluY3QKCSAgcHJlZmVyZW5jZXMuCgoyMDE1LTA1LTMwIDAyOjIzOjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRG9uJ3QgcmVtb3ZlIHNpemUgZmllbGRzIGZyb20gY2FwcwoJICBJbnN0ZWFkIG9mIHJlbW92aW5nIHNpemUgZmllbGRzLCBzZXQgdGhlbSB0byB0aGUgZnVsbCByYW5nZQoJICBsaWtlIHZpZGVvc2NhbGUgZG9lcywgc28gdGhlIGNhcHMgYXJlIGNsZWFybHkgdW5maXhlZCBpbgoJICBhbGwgY2FzZXMuCgoyMDE1LTA1LTEwIDE4OjU1OjE2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFkZCBjbGFzcyBwcm9wZXJ0eSB0byBkaXNhYmxlIGNhcHMgc2NhbGluZwoJICBBZGQgcHJlc2VydmVfdXBkYXRlX2NhcHNfcmVzdWx0IGJvb2xlYW4gb24gdGhlIGNsYXNzIHRvIGFsbG93CgkgIHN1Yi1jbGFzc2VzIHRvIGRpc2FibGUgdmlkZW9hZ2dyZWdhdG9yIHJlbW92aW5nIHNpemVzIGFuZCBmcmFtZXJhdGUKCSAgZnJvbSB0aGUgdXBkYXRlX2NhcHMoKSByZXR1cm4gcmVzdWx0LgoKMjAxNS0wNS0wNCAxODoxNzoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ2F0Y2ggZXJyb3JzLCBhbmQgYWxsb3cgc3ViLWNsYXNzIHRvIHJldHVybiBOVUxMIGZyb20gZ2V0X291dHB1dF9idWZmZXIoKQoJICBBIHJldHVybiB2YWx1ZSBvZiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgZnJvbSBnZXRfb3V0cHV0X2J1ZmZlcigpCgkgIG1lYW5zIHRoZSBzdWItY2xhc3MgZG9lc24ndCB3YW50IHRvIHByb2R1Y2UgYW4gb3V0cHV0IGJ1ZmZlciwgc28KCSAgc2tpcCBpdC4KCSAgSWYgZ3N0X3ZpZGVvYWdncmVnYXRvcl9kb19hZ2dyZWdhdGUoKSBnZW5lcmF0ZXMgYW4gZXJyb3IsIG1ha2Ugc3VyZQoJICB0byBwcm9wYWdhdGUgaXQgLSBkb24ndCBqdXN0IGlnbm9yZSBhbmQgZGlzY2FyZCB0aGUgZXJyb3IgYnkKCSAgb3Zlci13cml0aW5nIGl0IHdpdGggdGhlIGdzdF9wYWRfcHVzaCgpIHJlc3VsdC4KCjIwMTUtMDUtMjkgMTY6MDI6MzEgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSAgcnRtcHNpbms6IERvIG5vdCBjcmFzaCB3aGVuIHJlY2VpdmluZyBidWZmZXJzIGFmdGVyIEdTVF9GTE9XX0VSUk9SCgkgIElmIHRoZSBSVE1QIFVSSSBpcyBpbnZhbGlkLCB0aGUgcnRtcHNpbmsgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIElmIGl0IHN0aWxsIHJlY2VpdmVzIGJ1ZmZlcnMgYWZ0ZXIgdGhhdCwgaXQgc2hvdWxkbid0IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTA0CgoyMDE1LTA1LTI5IDA5OjAxOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhdm9pZCBhc3NlcnRpb24gd2hlbiBzcGxpdHRpbmcgYnVmZmVyCgkgIFBhc3Mgc2l6ZT0tMSBhcyBpcyBpZiB0aGF0IGlzIHRoZSBjYXNlIGluc3RlYWQgb2Ygc3VidHJhY3RpbmcKCSAgdGhlIG9mZnNldC4gT3RoZXJ3aXNlIHdlIGhhdmUgYW4gaW52YWxpZCBzaXplIHBhc3NlZCBmb3IgdGhhdAoJICBidWZmZXIuCgoyMDE1LTA1LTI4IDE1OjU5OjAyICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHNzcnRwZGVjOiBSZWxlYXNlIHJlcXVlc3RlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTU6NTc6MTAgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBSZW1vdmUgdW5uZWNlc3NhcnkgcmVmL3VucmVmIG9wZXJhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNTo1NTowMyArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCByZWxlYXNlIHJlcXVlc3QgcGFkIGZ1bmN0aW9uCgkgIERvbid0IHVucmVmIHRoZSBwYWQgcmVmZXJlbmNlIHdlIGRvbid0IG93biBhbmQganVzdCByZW1vdmUgdGhlIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNDozMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2VhcmNoIG1vcmUgd2hlbiBhZHZhbmNpbmcgZnJhZ21lbnQKCSAgSW4gbGl2ZSBzaXR1YXRpb25zLCBpdCBpcyBub3QgdW5jb21tb24gZm9yIHRoZSBjdXJyZW50IGZyYWdtZW50IHRvIGVuZAoJICB1cCBvdXQgb2YgdGhlICh1cGRhdGVkKSBwbGF5IHJhbmdlIChsb3dlc3QvaGlnaGVzdCBzZXF1ZW5jZSkuIEJ1dCB0aGUgbmV4dAoJICBmcmFnbWVudCB0byBwbGF5ICppcyogcHJlc2VudCBpbiB0aGUgcGxheSByYW5nZS4KCSAgV2hlbiBhZHZhbmNpbmcsIGlmIHdlIGNhbid0IGZpbmQgdGhlIGN1cnJlbnQgR3N0TTNVOE1lZGlhRmlsZSwgZG9uJ3QgYWJvcnQKCSAgc3RyYWlnaHQgYXdheS4gSW5zdGVhZCwgbG9vayBpZiBhIEdzdE0zVThNZWRpYUZpbGUgd2l0aCB0aGUgbmV4dCBzZXF1ZW5jZSB2YWx1ZQoJICBpcyBwcmVzZW50LCBhbmQgaWYgc28gc3dpdGNoIHRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDI4CgoyMDE1LTA1LTI3IDEwOjU4OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogYWRkIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MgYmFja2VuZAoJICBJdCBidWlsZHMgaXRzIEdMIHZ0YWJsZSBmcm9tIGEgcHJvYyBhZGRyZXNzIHByb3ZpZGVkCgkgIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCjIwMTUtMDUtMjcgMTY6Mjg6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBhZGQgYW5kIHVzZSBnc3RfZ2xfaW50ZXJuYWxfZm9ybWF0X3JnYmEKCSAgUHJldmlvdXNseSB3aGVuIGNvbXBpbGluZyBHc3RHTCB3aXRoIGJvdGggR0wgYW5kIEdMRVMyLAoJICBHTF9SR0JBOCB3YXMgcGlja2VkIGZyb20gR0wvZ2wuaC4gQnV0IGEgY2xhc2ggbWF5IGhhcHBlbiBhdAoJICBydW50aW1lIHdoZW4gb25lIGlzIHNlbGVjdGluZyBHTEVTMi4KCSAgZ3N0X2dsX2ludGVybmFsX2Zvcm1hdF9yZ2JhIGFsbG93cyB0byBjaGVjayBhdCBydW50aW1lCgkgIGlmIGl0IHNob3VsZCB1c2UgR0xfUkdCQSBvciBHTF9SR0JBOC4KCjIwMTUtMDUtMjcgMTQ6MTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsd2luZG93X3gxMTogdXNlIHBhcmVudCBkZWZhdWx0IGltcGxlbWVudGF0aW9uCgoyMDE1LTA1LTI3IDExOjE2OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHRfZ2x4OiByZW5hbWUgdmFyaWFibGUgZnJvbSB3aW5kb3cgdG8gY29udGV4dAoKMjAxNS0wNS0yNyAxMToxMTo1NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IGluaXRpYWxpemUgZGVidWcgaW4gY2xhc3NfaW5pdAoJICBVc2VmdWwgaWYgb25lIHVzZXMgZ3N0X2dsX3dpbmRvd194MTFfbmV3IGRpcmVjdGx5CgkgIGluc3RlYWQgb2YgZ3N0X2dsX3dpbmRvd19uZXcuCgoyMDE1LTA1LTI3IDExOjA3OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBpbml0aWFsaXplIGRlYnVnIGluIGNsYXNzX2luaXQKCSAgVXNlZnVsIGlmIG9uZSB1c2VzIGdzdF9nbF9jb250ZXh0X2VnbF9uZXcgZGlyZWN0bHkKCSAgaW5zdGVhZCBvZiBnc3RfZ2xfY29udGV4dF9uZXcuCgoyMDE1LTA1LTI3IDEwOjU1OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9zZXRfZGlzcGxheSBoZWxwZXIKCjIwMTUtMDUtMjcgMTU6MjU6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBtaXNzaW5nIF9DQVNUIGFmdGVyIEdfVFlQRV9DSEVDS19DTEFTUwoKMjAxNS0wNS0yNyAxMDo1MTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGFkZCBtaXNzaW5nIF9DQVNUIGFmdGVyIEdfVFlQRV9DSEVDS19DTEFTUwoKMjAxNS0wNS0yNiAxODozODozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHByb3ZpZGVzIHNvbWUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgdG8gZmFjdG9yaXplIHdpdGggYWxsIGJhY2tlbmRzCgoyMDE1LTA1LTI4IDAwOjU5OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHVzaCBFT1Mgb24gZXJyb3IgcmV0dXJuLgoJICBCZWZvcmUgc2h1dHRpbmcgZG93biB0aGUgc3JjcGFkIHRhc2sgZHVlIHRvIGEKCSAgZG93bnN0cmVhbSBlcnJvciwgcHVzaCBhbiBFT1MgdG8gZ2l2ZSBkb3duc3RyZWFtCgkgIGEgY2hhbmNlIHRvIHNodXQgZG93biBzb21ld2hhdCBjbGVhbmx5LgoKMjAxNS0wNS0yNyAxMzoxMjo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3Qgb3ZlcndyaXRlIHZhbHVlCgkgIFZhbHVlIG9mIHJlcyBpcyByZXNldCB0byBGQUxTRSBpbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgd2hpbGUgbG9vcC4gV2Ugd2FudCB0bwoJICBjb25zZXJ2ZSBUUlVFIGlmIGFueSBwYWQgZXZlbnQgc3VjY2VlZGVkIHVudGlsIHdlIGFycml2ZSB0byBkb25lLgoJICBBbHNvLCBidWYgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiAqb3V0YnVmIHR3aWNlLiBSZW1vdmluZyB0aGUgZmlyc3QgYXNzaWdubWVudAoJICBzaW5jZSB0aGUgc2Vjb25kIG9uZSBpcyBvdXRzaWRlIG9mIGEgY29uZGl0aW9uYWwuCgoyMDE1LTA1LTI3IDEzOjA4OjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkgIG9wZW5jdjogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbnMKCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wcy4KCjIwMTUtMDUtMjcgMTM6MDU6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbnMKCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wcy4KCjIwMTUtMDUtMjcgMTI6MDM6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIFRoZSBkYXRhIHZhcmlhYmxlIGlzIGluY3JlbWVudGVkIGJ1dCBuZXZlciByZWFkIGFnYWluLiBSZW1vdmUgdGhlIHVudXNlZCB2YWx1ZQoJICBhc3NpZ25tZW50LgoKMjAxNS0wNS0yNyAwNjoxNzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgbW9yZSB1bnVzZWQgYXR0cmlidXRlcwoJICBUaG9zZSBhcmUgbm90IHVzZWQgb3Igb25seSByZWFkCgoyMDE1LTA1LTI3IDA1OjM1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlCgkgIEl0IGlzIG5ldmVyIHJlYWQgZm9yIGFueXRoaW5nIHVzZWZ1bAoKMjAxNS0wNS0yNiAxNjo0Nzo0NyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZpeCBhIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNToxMDoyOCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IHByb3Blcmx5IGhhbmRsZSBlcnJvcnMgd2hpbGUgbG9hZGluZyBmaWxlCgkgIFBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBhbnl0aGluZyBiYWQgaGFwcGVucyB3aGlsZSByZWFkaW5nCgkgIGFuZCBwYXJzaW5nIHRoZSBpbWFnZSBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjA0OjM0IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgZ2xvdmVybGF5OiByZW1vdmUgdW51c2VkIHR5cGVfZmlsZSBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjAxOjM3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgZnJvbSBmaWx0ZXIgYW5kIGZpbHRlcl90ZXh0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTY6Mzk6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgYXNzaWdubWVudAoJICBidWYgaXMgaW5jcmVtZW50ZWQganVzdCBiZWZvcmUgcmV0dXJuaW5nLCB0aGlzIG5ldyB2YWx1ZSBpcyBuZXZlciB1c2VkLgoJICBSZW1vdmluZyB1bnVzZWQgYXNzaWdubWVudC4KCjIwMTUtMDUtMjYgMTU6MjQ6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9uCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcC4KCjIwMTUtMDUtMjYgMTQ6MTQ6MzQgKzAxMDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZXhjbHVzaW9uOiBleGNlcHRpb24gd2hlbiBzZXQgZmFjdG9yIHRvIDAKCSAgV2hlbiBmYWN0b3IgcHJvcGVydHkgaXMgc2V0IHRvIDAsIHRyYW5zZm9ybSBqdXN0IHJldHVybnMuCgkgIEFkanVzdCB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA3CgoyMDE1LTA1LTI2IDEyOjQ3OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogcHJvcGVybHkgaW5pdGlhbGl6ZSB0aGUgc2hhZGVycyBhY3Jvc3MgY29udGV4dHMgaW1wbGVtZW50aW5nIG11bHRpcGxlIEFQSSdzCgoyMDE1LTA1LTI2IDEyOjQ0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0c19sYXBsYWNpYW46IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gaW4gZ2wzL2dsZXMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzOTMKCjIwMTUtMDUtMjUgMTI6MzM6NTAgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkgIGN1cmxzaW5rOiBoYW5kbGUgc29ja2V0IGNhbGxiYWNrIGZvciBhY3RpdmUgRlRQIGNvbm5lY3Rpb25zIGFzIHdlbGwKCSAgU2luY2UgdmVyc2lvbiA3LjI4LjAsIGxpYmN1cmwgYWxsb3dzIGFwcGxpY2F0aW9uIHRvIHNldAoJICBzb2NrZXQgb3B0aW9ucyBmb3IgYWN0aXZlIEZUUCBjb25uZWN0aW9ucy4KCSAgQnVtcCBsaWJjdXJsIHJlcXVpcmVtZW50IHRvIHZlcnNpb24gdGVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODE1CgoyMDE1LTA1LTIwIDEyOjA4OjM4ICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggc2VnZmF1bHQgaW50cm9kdWNlZCBieSBzZWdtZW50IGl0ZXJhdGlvbiByZWZhY3RvcmluZyAoMjEwNWEzMTApLgoJICBUaGUgZnVuY3Rpb25zIHRvIGdldCB0aGUgbmV4dCBmcmFnbWVudCwgbmV4dCBmcmFnbWVudCB0aW1lc3RhbXAgYW5kIHRvIGFkdmFuY2UKCSAgdG8gdGhlIG5leHQgZnJhZ21lbnQgbmVlZCB0byB3b3JrIGRpZmZlcmVudGx5IHdoZW4gc3RyZWFtLT5zZWdtZW50cyBpcyBOVUxMLgoJICBVc2UgbG9naWMgc2ltaWxhciB0byB0aGF0IGludHJvZHVjZWQgYnkgY29tbWl0IDIxMDVhMzEwIHRvIHBlcmZvcm0gdGhlc2UKCSAgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Njg0CgoyMDE1LTA1LTE4IDIyOjMzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdXNlIHNpZ25lZCBpbnRlZ2V0IHRvIHJlcHJlc2VudCBzZWdtZW50IGluZGV4CgkgIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZXByZXNlbnQgLTEgdG8gY2hlY2sgd2hlbiB3ZSBhcmUgRU9TCgkgIG9uIHJldmVyc2UgcGxheWJhY2sgYW5kIHVuc2lnbmVkIGludGVnZXIgd29uJ3QgYWxsb3cgdGhhdC4KCSAgQ0lEICMxMjk4MTkzCgkgIENJRCAjMTI5ODE5NAoJICBDSUQgIzEyOTgxOTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNAoKMjAxNS0wNS0yNSAxMDozMDo1NSArMDkwMCAgU3Vod2FuZyBLaW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggb3V0ZGF0ZWQgZXhhbXBsZSBsYXVuY2ggbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODA5CgoyMDE1LTA1LTIyIDEzOjEyOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiByZW1vdmUgZGVhZCBldmVudCBzb3VyY2UgY29kZQoKMjAxNS0wNS0yMSAxNzo0ODozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgZ2wvd2F5bGFuZDogYWRkIEdzdEdMRGlzcGxheVdheWxhbmQKCSAgU2ltcGxlIGltcGxlbWVudGF0aW9uIHNwbGl0IGZyb20gR3N0R0xXaW5kb3dXYXlsYW5kCgkgIENhbiBub3cgaGF2ZSBtdWx0aXBsZSBnbGltYWdlc2luayBlbGVtZW50cyBhbGwgZGlzcGxheWluZyBvdXRwdXQKCSAgbGlua2VkIHZpYSBHTCBvciBvdGhlcndpc2UgKGJhcnJpbmcgR0wgcGxhdGZvcm0gbGltaXRhdGlvbnMpLgoJICBUaGUgaW50ZWwgZHJpdmVyIGlzIHJhY3kgYW5kIGNhbiBjcmFzaCBzZXR0aW5nIHVwIHRoZSB0d28gZ2xpbWFnZXNpbmsgY29udGV4dHMuCgkgIGUuZy4KCSAgdmlkZW90ZXN0c3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2x1cGxvYWQgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdC4gISBxdWV1ZSAhIGdsZWZmZWN0c19ibHVyICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHZpZGVvdGVzdHNyYyAhIGdsdXBsb2FkICEgZ2xmaWx0ZXJjdWJlICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHQuICEgcXVldWUgISBnbGVmZmVjdHNfYmx1ciAhIGdsaW1hZ2VzaW5rZWxlbWVudAoKMjAxNS0wNS0yNSAxNzoyNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IERyYXdFbGVtZW50cyBjYWxsIGZvciBlbGVtZW50IGFycmF5IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTczNAoKMjAxNS0wNS0yMyAwMTowMDoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBwcm92aWRlIHRoZSBleGFjdCBHTCBhcGkgdmVyc2lvbiBmb3IgdGhlIHdyYXBwZWQgY29udGV4dAoJICBPdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIGJlaW5nIG1pc3Rha2VuIGZvciB0aGUgZGlmZXJlbmNlIGJldHdlZW4gYQoJICBnbDMgYW5kIGEgZ2wyIGNvbnRleHQgcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBnZXR0aW5nIHRoZSBsaXN0IG9mCgkgIGV4dGVuc2lvbnMgZnJvbSB0aGUgd3JhcHBlZCBjb250ZXh0IGR1ZSB0byB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCgkgIGdsR2V0U3RyaW5nIGFuZCBnbEdldFN0cmluZ2kgZm9yIHRoZSBHTF9FWFRFTlNJT05TIHRva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NzI4CgoyMDE1LTA1LTIyIDAyOjQwOjM3ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2OTEKCjIwMTUtMDUtMjEgMTU6MzA6MzQgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IGRvIG5vdCBjYWxsIFNldFBhcmVudCBpbiByZWxlYXNlX3BhcmVudF93aW5faWQoKQoJICBXaGVuIGNhbGxlZCBmcm9tIGdzdF9nbF93aW5kb3dfd2luMzJfY2xvc2UoKSwgaW50ZXJuYWwgd2luZG93CgkgIGNvdWxkIG5vdCBleGlzdCwgYW5kIGlmIGl0IGRvZXMgaXQncyBnb2luZyB0byBiZSBkZXN0cm95ZWQganVzdAoJICBhZnRlciB0aGF0IGFueXdheS4gQWxzbyBpdCBjYXVzZXMgd2luZG93X3Byb2MoKSB0byBiZSBjYWxsZWQKCSAgYW5kIGNyYXNoIGJlY2F1c2UgaXQgZ2V0cyBhIE5VTEwgY29udGV4dC4KCSAgV2hlbiBjYWxsZWQgZnJvbSBnc3RfZ2xfd2luZG93X3dpbjMyX3NldF93aW5kb3dfaGFuZGxlKCkgd2UgYXJlCgkgIGdvaW5nIHRvIHNldCBhbm90aGVyIHBhcmVudCBhbnl3YXksIGFuZCBpdCdzIHByb2JhYmx5IGJldHRlciB0bwoJICByZXBhcmVudCBkaXJlY3RseSBpbnN0ZWFkIG9mIHBhc3NpbmcgYnkgYSBOVUxMIHBhcmVudCB3aGljaCBjb3VsZAoJICBjYXVzZSB0aGUgaW50ZXJuYWwgd2luZG93IHRvIHBvcHVwIGJyaWVmbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjEgMTU6MzA6MDAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE3OjA5OjIxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBmaXggY3Jhc2ggd2hlbiBmaW5hbGl6aW5nIEdzdEdMQ29udGV4dAoJICBnc3RfZ2xfY29udGV4dF9maW5hbGl6ZSgpIGlzIGNhbGxpbmcgZ3N0X2dsX3dpbmRvd193aW4zMl9xdWl0KCkKCSAgd2hpY2ggd2FzIHBvc3RpbmcgYSBtZXNzYWdlLiBCdXQgdGhlbiB3aW5kb3dfcHJvYyB0YWtlcyB3aW5kb3cncwoJICBjb250ZXh0IGFuZCBnZXQgYSBOVUxMLgoJICBOb3cgdGhhdCB3ZSd2ZSBnb3QgYSBHTWFpbkxvb3Agd2UgY2FuIGRvIGxpa2Ugb3RoZXIgYmFja2VuZHMgYW5kCgkgIHNpbXBseSBjYWxsIGdfbWFpbl9sb29wX3F1aXQoKS4KCSAgVGhpcyBhbHNvIHJlbW92ZSBkdXBsaWNhdGVkIGNvZGUgdG8gcmVsZWFzZSB0aGUgcGFyZW50IHdpbmRvdyBhbmQKCSAgcG90ZW50aWFsIGNyYXNoIHRoZXJlIGJlY2F1c2UgcGFyZW50X3Byb2MgY291bGQgYmUgTlVMTCBpZiB3ZSBuZXZlcgoJICBjcmVhdGVkIHRoZSBpbnRlcm5hbCB3aW5kb3cuIFRoYXQgY291bGQgaGFwcGVuIGZvciBleGFtcGxlIGlmIHNldHRpbmcKCSAgc3RhdGUgdG8gUkVBRFkgdGhlbiBzZXR0aW5nIGEgd2luZG93X2hhbmRsZSwgYW5kIGdvIGJhY2sgdG8gTlVMTCBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNzowNjo0MiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogRml4IGxlYWtlZCBHc3RHTENvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNTozMDo0OSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogc2V0IHRoZSBwYXJlbnQgd2luZG93IHdoZW4gY3JlYXRpbmcgaW50ZXJuYWwgd2luZG93CgkgIFdoZW4gX3NldF93aW5kb3dfaGFuZGxlKCkgd2FzIGNhbGxlZCBpbiBSRUFEWSBzdGF0ZSwgaXQgd2Fzbid0CgkgIHNldCB0byB0aGUgaW50ZXJuYWwgd2luZG93IGNyZWF0ZWQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTU6Mjk6NTAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvd2luMzJfbWVzc2FnZV9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL3dpbjMyX21lc3NhZ2Vfc291cmNlLmg6CgkgIGdsOiB3aW4zMjogdXNlIGEgR01haW5Db250ZXh0IHRvIGRpc3BhdGNoIHdpbjMyIG1lc3NhZ2VzCgkgIGdzdF9nbF93aW5kb3dfd2luMzJfc2VuZF9tZXNzYWdlX2FzeW5jKCkgY291bGQgYmUgY2FsbGVkIGJlZm9yZSB0aGUKCSAgaW50ZXJuYWwgd2luZG93IGlzIGNyZWF0ZWQgc28gd2UgY2Fubm90IHVzZSBQb3N0TWVzc2FnZSB0aGVyZS4KCSAgeDExIGFuZCB3YXlsYW5kIGJhY2tlbmRzIGJvdGggY3JlYXRlIGEgY3VzdG9tIEdTb3VyY2UgZm9yIHRoaXMsCgkgIHNvIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBub3QgZG8gdGhhdCBmb3Igd2luMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjIgMDA6Mjc6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBEb24ndCBsZWFrIGFsbCBtZW1vcnkgdXBsb2FkZWQgdmlhIHJhdyB1cGxvYWRzLgoJICBSZW1vdmUgYW4gZXh0cmEgcmVmIG1pc3NlZCB3aGVuIHN3aXRjaGluZyBvdmVyIHRvIG5vdAoJICByZXVzaW5nIG91dHB1dCB0ZXh0dXJlcwoKMjAxNS0wNS0yMSAxNjoyNDo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yL2dsdmlkZW9taXhlcjogRG9uJ3QgY2FsY3VsYXRlIFBBUi9EQVIgd2l0aCB1bnNldCBHc3RWaWRlb0luZm9zCgkgIE90aGVyd2lzZSB3ZSBkaXZpZGUgYnkgemVyby4KCjIwMTUtMDUtMjEgMTY6MTk6MDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBkb3VibGUgYXNzaWdubWVudAoKMjAxNS0wNS0yMSAxNTowNTozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHJlcXVpcmUgYSBzaGFkZXIgdmVyc2lvbiB0byBpbml0aWFsaXplLgoJICBJdCdzIHZlcnkgbmVhciBwb2ludGxlc3MgdG8gdHJ5IG91ciBHTCBpbXBsZW1lbnRhdGlvbiB3aXRob3V0IHNoYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMjAgMDI6Mzg6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSAgRml4IGZsYWdzIG9yZGVyIGluIEdMIGV4YW1wbGVzIGZvciB1bmluc3RhbGxlZCBidWlsZAoKMjAxNS0wNS0yMCAwMTo1Nzo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IEZpeCBmbGFncyBvcmRlciBmb3IgdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTUtMDUtMjEgMDA6NTY6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yL2dsdmlkZW9taXhlcjogZml4IHVwIHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHVzaW5nIHRoZSB3cm9uZyBmb3JtdWxhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MzQKCjIwMTUtMDQtMTcgMTU6MzY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvbnNpZGVyIFNFSSBOQUxVIGFzICJIRUFERVIiIHBhY2tldHMKCSAgTGlrZSBTUFMvUFBTIHRoZXkgZG8gY29udGFpbiBpbmZvcm1hdGlvbiB3aGljaCB3aWxsIGJlIG5lZWRlZCB0bwoJICBkZWNvZGUgdGhlIGZvbGxvd2luZyBkYXRhIChhcyBwZXIgZGVmaW5pdGlvbiBvZiB0aGUgZmxhZykKCSAgQWxzbyBlbnN1cmVzIHRoYXQgdGhlIHNlcmllcyBvZiBTUFMvUFBTL1NFSSBOQUxVIGJlZm9yZSBhIGtleWZyYW1lCgkgIGNhbiBiZSBjb25zaWRlcmVkIGFzIG9uZSBjb250aWd1b3VzIGhlYWRlcgoKMjAxNS0wNC0xNyAxNTozNTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogQ2Fycnkgb3ZlciBHU1RfQlVGRkVSX0ZMQUdfSEVBREVSCgkgIEluIHRoZSBzYW1lIHdheSB3ZSBkbyBpdCBmb3IgdGhlIERFTFRBX1VOSVQgZmxhZwoJICBUaGlzIGFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIGtub3cgd2hldGhlciBhIGdpdmVuIG1wZWctdHMKCSAgcGFja2V0IGNvbnRhaW5zIGEgY29ycmVzcG9uZGluZyBIRUFERVIgZWxlbWVudGFyeSB1bml0CgoyMDE1LTA1LTIwIDEyOjExOjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogT25seSBjb3B5IFZQUy9TUFMvUFBTIE5BTCB1bml0cyBpbiBoZWFkZXIgYnVmZmVyCgkgIFByZXZpb3VzbHkgdGhlIFZQUyB1bml0IHdhcyBkZXRlY3RlZCBhbmQgYWxsIG5leHQgcGFja2V0cyB3aGVyZSBjb3BpZWQKCSAgaW50byB0aGUgaGVhZGVyIGJ1ZmZlciBhc3N1bWluZyBvbmx5IFNQUyBhbmQgUFBTIHdvdWxkIGZvbGxvdy4gIFRoaXMgaXMKCSAgbm90IGFsd2F5cyB0cnVlLCBhbHNvIG90aGVyIHR5cGVzIG9mIE5BTCB1bml0cyBmb2xsb3cgdGhlIFZQUyB1bml0IGFuZAoJICB3aGVyZSBjb3BpZWQgdG8gdGhlIGhlYWRlciBidWZmZXIuIE5vdyB0aGUgVlBTL1NQUy9QUFMgYXJlIGV4cGxpY2l0ZWx5CgkgIGRldGVjdGVkIGFuZCBjb3BpZWQgaW4gdGhlIGhlYWRlciBidWZmZXIuCgoyMDE1LTA1LTIwIDExOjI3OjI1ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogRml4IHR1bmUgcGFyYW1ldGVyIG1pc21hdGNoCgkgIFRoZXJlIHdhcyBhIG1pc21hdGNoIGJldHdlZW4gdGhlIHR1bmUgcGFyYW1ldGVyIGluIHgyNjUgYW5kIHRoZSBlbnVtCgkgIHVzZWQgaW4gdGhpcyBlbGVtZW50LiBUaGUgdmFsdWUgaW4gdGhlIGVudW0gaXMgdGhlIHgyNjUgdHVuZQoJICBwYXJhbWV0ZXIgKyAxLgoKMjAxNS0wNS0xOSAxODowMjozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogQWRkIGFuIG91dHB1dCBhZGFwdGVyIGZvciBjaHVua2luZyB0aGUgb3V0cHV0IGludG8gY29kZWMgZnJhbWVzCgkgIE90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcyB3aWxsIGJlIGNvbmZ1c2VkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTczMAoKMjAxNS0wNS0xOSAxMDo0MzoyOCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsOiBmaXggY3Jhc2ggb24gd2luZG93cyB3aXRoIGludGVsIGRyaXZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NDMwCgoyMDE1LTA1LTIwIDAwOjUwOjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHN0YXRpYyBjb25zdCB0aGUgaW5kaWNlcyBhcnJheQoJICB0aGUgY29udGVudHMgd2lsbCBuZXZlciBjaGFuZ2UgYW55d2F5LgoKMjAxNS0wNS0yMCAwMDoyODo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogY29ycmVjdGx5IHVzZSB0aGUgc3luYyBtZXRhIGFjcm9zcyBtdWx0aXBsZSBjb250ZXh0cwoJICAxLiBTZXQgdGhlIHN5bmMgcG9pbnQgYWZ0ZXIgdGhlIChwb3NzaWJsZSkgdXBsb2FkIGhhcyBvY2N1cmVkCgkgIDIuIFdhaXQgaW4gdGhlIGNvcnJlY3QgR0wgY29udGV4dCAodGhlIGRyYXcgY29udGV4dCkKCSAgTm90ZTogV2UgZG9uJ3QgYWRkIHRoZSBHTCBzeW5jIG1ldGEgdG8gdGhlIGlucHV0IGJ1ZmZlciBhcyBpdCdzIG5vdAoJICB3cml0YWJsZSBhbmQgYSBjb3B5IHdvdWxkIGJlIGV4cGVuc2l2ZS4KCSAgU2ltaWxhciB0byB0aGUgY2hhbmdlIHdpdGggdGhlIHNhbWUgbmFtZSBmb3IgZ2xpbWFnZXNpbmsKCjIwMTUtMDUtMjAgMDA6Mjg6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHVwZGF0ZSBmb3IgR0wzIGVsZW1lbnQgYXJyYXkgYnVmZmVyIHVzYWdlCgkgIGZpeGVzIGJsYW5rIG91dHB1dAoKMjAxNS0wNS0xOSAxNjoyMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY29ycmVjdGx5IHVzZSB0aGUgc3luYyBtZXRhIGFjcm9zcyBtdWx0aXBsZSBjb250ZXh0cwoJICAxLiBTZXQgdGhlIHN5bmMgcG9pbnQgYWZ0ZXIgdGhlIChwb3NzaWJsZSkgdXBsb2FkIGhhcyBvY2N1cmVkCgkgIDIuIFdhaXQgaW4gdGhlIGNvcnJlY3QgR0wgY29udGV4dCAodGhlIGRyYXcgY29udGV4dCkKCSAgTm90ZTogV2UgZG9uJ3QgYWRkIHRoZSBHTCBzeW5jIG1ldGEgdG8gdGhlIGlucHV0IGJ1ZmZlciBhcyBpdCdzIG5vdAoJICB3cml0YWJsZSBhbmQgYSBjb3B5IHdvdWxkIGJlIGV4cGVuc2l2ZS4KCjIwMTUtMDUtMTkgMTY6MTk6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBwcm92aWRlIGEgY3VycmVudCB3cmFwcGVkIEdzdEdMQ29udGV4dCBmb3IgY2FsbGJhY2tzCgkgIFNvIHRoYXQgdGhlIGRyYXcgYW5kIHJlc2l6ZSBjYWxsYmFja3MgY2FuIGdldCB0aGUgY3VycmVudCBHc3RHTENvbnRleHQuCgoyMDE1LTA1LTE5IDE2OjE0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBlbnN1cmUgdGhhdCB0aGUgRmVuY2UgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQKCSAgT3RoZXJ3aXNlIGl0IGNvdWxkIHN0YXkgY2xpZW50IHNpZGUgd2l0aG91dCBiZWluZyBzdWJtaXR0ZWQgdG8gdGhlIEdMCgkgIHNlcnZlciByZXN1bHRpbmcgaW4gYW5vdGhlciBjb250ZXh0IHdhaXRpbmcgb24gYSBGZW5jZSB0aGF0IHdpbGwgbmV2ZXIKCSAgYmVjb21lIHNpZ25hbGxlZCBjYXVzaW5nIGEgZGVhZGxvY2suCgoyMDE1LTA1LTE5IDExOjQ3OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRvbid0IHJldXNlIG91dHB1dCB0ZXh0dXJlcyBmb3IgcmF3IGRhdGEgdXBsb2FkCgkgIENhdXNlcyBzdGFsZSB0ZXh0dXJlcyB0byBiZSB1c2VkIGZ1cnRoZXIgZG93biB0aGUgY2hhaW4uCgoyMDE1LTA1LTE5IDExOjExOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBkb24ndCBjbGVhciB0aGUgZnJhbWVidWZmZXIKCSAgQnJlYWtzIGF0dGVtcHRpbmcgdG8gYmxlbmQgd2l0aCB0aGUgZGVzdGluYXRpb24gYnVmZmVyIGFuZCBzaG91bGQgYmUgZG9uZQoJICBleHBsaWNpdGx5IGJ5IHRoZSBjYWxsYmFjayBhbnl3YXkuCgoyMDE1LTA1LTE5IDExOjA5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogdHJhY2sgZ2xfc3RhcnQvc3RvcCBjb3JyZWN0bHkKCSAgRG9uJ3Qgc3RhcnQgbXVsdGlwbGUgdGltZXMgd2l0aG91dCBjYWxsaW5nIGdsX3N0b3AuCgoyMDE1LTA1LTE4IDIwOjE2OjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIFJldmVydCAiZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZjZjNzM2ZmUwOGUwMWY0MzIwYzRiMDJlODExYTBiNTdjZjk3Y2MxLgoJICBUaGlzIGlzIGZpeGVkIGJ5IHRoZSBndGstZG9jIDEuMjMgcmVsZWFzZS4KCSAgPHBhcmE+IGNhbm5vdCBjb250YWluIDxyZWZzZWN0Mj46CgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcGFyYS5odG1sCgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcmVmc2VjdDIuaHRtbAoKMjAxNS0wNS0xNCAwMjoxMTo1MCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QKCSAgU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdCBhbmQgcmVtb3ZlIGEgVE9ETyBpdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA1LTE4IDE0OjEyOjU2ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBjdnNtb290aDogcmVuYW1lIHByb3BlcnRpZXMKCSAgVGhlIHByb3BlcnRpZXMgYXJlIG5hbWVkIGFzIHBhcmFtMSB0byBwYXJhbTQsIHdoaWNoIG1ha2VzIHZlcnkgbGl0dGxlIHNlbnNlCgkgIGhlbmNlIHJlbmFtZWQgdGhlIHByb3BlcnRpZXMgYWNjb3JkaW5nIHRvIHdoYXQgaXQgaXMgZG9pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjMKCjIwMTUtMDUtMTggMTQ6MDE6NTkgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJICBjdnNtb290aDogV3JvbmcgYXNzaWdubWVudCBvZiBwcm9wIGxlYWRzIHRvIGNyYXNoCgkgIHdoZW4gc2V0dGluZyBwYXJhbTIgcHJvcGVydHksIGl0IGlzIHdyb25nbHkgYmVpbmcgYXNzaWduZWQgdG8gcGFyYW0xLgoJICBUaGlzIGxlYWRzIHRvIHdyb25nIGJlaGF2aW9yIGFuZCBhIGNyYXNoIHdoZW4gcGFyYW0yIGlzIHNldCBhcyAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTIzCgoyMDE1LTA1LTE4IDE0OjMwOjE5ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IHdyb25nIHZhbHVlIG9mIGxldmVsIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBsZXZlbCBoYXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAuIEJ1dCB3aGVuIHdlIHNldCB0aGUgbGV2ZWwgYXMgMCwKCSAgaXQgZ2V0cyBhbiBhc3NlcnRpb24gZXJyb3IuIFRoZSBmdW5jdGlvbiBpY3ZQeXJTZWdtZW50YXRpb244dUMzUiByZXR1cm5zIGZhbHNlCgkgIGlmIGxldmVsIGlzIHNldCBhcyAwLCBzaW5jZSB0aGUgbWluaW11bSBsZXZlbCBjYW50IGJlIDAgYW5kIHRodXMgcmVzdWx0cyBpbiBlcnJvci4KCSAgSGVuY2UgY2hhbmdpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyNQoKMjAxNS0wNS0xNiAyMzozODoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZQoJICBXaXRoIGd0a2RvYyAxLjIyLCB0aGUgWE1MIGdlbmVyYXRvciBmYWlscyB3aGVuIGEgaXRlbWl6ZWRsaXN0IGlzCgkgIGZvbGxvd2VkIGJ5IGEgcmVmc2VjdDIuIFdvcmthcm91bmQgdGhlIGlzc3VlIGJ5IHdyYXBwaW5nIHRoZQoJICByZWZzZWN0MiBpbnRvIHBhcmEuCgoyMDE1LTA1LTA2IDE1OjE3OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBidWZmZXIgdGltZXN0YW1wIG5vdCBiZWluZyBpbiBzdHJlYW0gdGltZQoJICBUaW1lc3RhbXBzIHNob3VsZCBzdGFydCBhdCB0aGUgc2VnbWVudCBzdGFydCwgcmF0aGVyIHRoYW4gMCwgc28KCSAgd2UgbmVlZCB0byBub3Qgc3VidHJhY3QgdGhlIGZpcnN0IHRpbWVzdGFtcC4gVGhpcyBtYWtlcyB0aGUgc2luawoJICBjb3JyZWN0bHkgYWNjb3VudCBmb3IgcnVubmluZyB0aW1lIHdoZW4gc3dpdGNoaW5nIFBNVHMgd2hlcmUgYQoJICBzdHJlYW0gc3RhcnRzIG5vdCBxdWl0ZSBhdCB6ZXJvLCBjYXVzaW5nIHRpbWluZyBvZmZzZXRzIHRoYXQgY2FuCgkgIGJlY29tZSBub3RpY2VhYmxlIGFuZCBjYXVzaW5nIGRyb3BwZWQgZnJhbWVzIGFmdGVyIGEgZmV3IHRpbWVzLgoKMjAxNS0wNS0wNiAxNToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhY2N1bXVsYXRlIHByZXZpb3VzIHNlZ21lbnQgYmFzZSB0aW1lCgoyMDE1LTA0LTI0IDEyOjU2OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IGZpeCByZWZjb3VudGluZyB3aGVuIGFwcGx5aW5nIGEgbmV3IFBNVAoJICBBIG5ldyBwcm9ncmFtIG9iamVjdCBpcyBjcmVhdGVkIHRvIHJlcGxhY2UgYW4gZXhpc3Rpbmcgb25lCgkgIGluIHRoZSBwcm9ncmFtcyBoYXNoIHRhYmxlLCBzbyBpdHMgcmVmY291bnQgbmVlZHMgdG8gbWF0Y2guCgkgIFdpdGggdGhlIGRlZmF1bHQgb2YgMCByZWZjb3VudCBvbiBjcmVhdGlvbiwgdGhlIG5leHQgUEFUCgkgIGNoYW5nZSB3aWxsIGNhdXNlIHRoYXQgcmVmY291bnQgdG8gYmUgYm90aCBpbmNyZW1lbnRlZCBhbmQKCSAgZGVjcmVtZW50ZWQgKGFzc3VtaW5nIHRoZSBuZXcgUEFUIHJlZmVyZW5jZXMgdGhhdCBzdHJlYW0gdG9vKSwKCSAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgcHJvZ3JhbSB0byBiZSBkZXN0cm95ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MTIKCjIwMTUtMDUtMTQgMTY6MDY6NTUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSAgZHRsczogRml4IG1lbW9yeSBsZWFrCgkgIEtleXMgd2VyZSBub3QgY29ycmVjdGx5IHJlbGVhc2VkIHdoZW4gaXQgd2FzIGdldCBhcyBhIHByb3BlcnR5CgkgIG5vciB3aGVuIGEgc2Vjb25kIGtleSB3YXMgcmVjZWl2ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTM4MAoKMjAxNS0wNS0xNCAyMToyMTowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmcmVlIHRoZSB2ZXJ0ZXggYnVmZmVyIHdoZW4gZG9uZQoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE1LTAxLTIyIDE4OjAwOjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogaW1wbGVtZW50IEdMMyBjb3JlIGNvbnRleHQgc2VsZWN0aW9uCgoyMDE1LTA1LTE0IDE4OjM1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0cy9nbDogZml4IHR5cG8KCjIwMTUtMDUtMTQgMTY6NDI6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiByZW1vdmUgdXNlbGVzcyBnbHtFbixEaXN9YWJsZSAoR0xfVEVYVFVSRV8qKSBjYWxscwoJICBXZSBhcmUgdXNpbmcgc2hhZGVycyBldmVyeXdoZXJlIGFuZCBzbyB0aGV5IGFyZSBub3QgbmVlZGVkCgoyMDE1LTA1LTE0IDE1OjEwOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjbGVhbnVwIHByb3BlcnRpZXMKCSAgcmVtb3ZlIHVudXNlZCAiZGlzcGxheS1uYW1lIgoJICBlbnN1cmUgZGVmYXVsdHMgYmV0d2VlbiB0aGUgYmluL2VsZW1lbnQgYXJlIHRoZSBzYW1lCgoyMDE1LTA1LTE0IDE0OjU2OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogb25seSB0cnkgdGhlIEdMMiBzaGFkZXIgaW5pdCBwYXRoIGlmIHdlIGhhdmUgYSBHTDIgY29udGV4dAoKMjAxNS0wNS0xMiAyMjowNDoyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBhdHRlbXB0IHRvIGRldGVjdCB0aGUgZ2xlczIgaW5zaWRlIG9wZW5nbDMgY2FzZQoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byB1c2UgZ2xlczIgc2hhZGVycyBpbiBhIEdMIDMgY29yZSBjb250ZXh0IG9uCgkgIE9TIFggd2hpY2ggZmFpbHMgd2l0aG91dCBhIHByb3BlciAjdmVyc2lvbiBiZWluZyBzZXQgb24gdGhlIHNoYWRlcnMuCgoyMDE1LTA1LTEyIDE3OjU1OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IHJlbW92ZSByZWZlcmVuY2VzIHRvIGdsMyBzcGVjaWZpYyBzaGFkZXJzCgkgIFdlIHJlbHkgc3BlY2lmaWNhbGx5IG9uIGdsZXMyIHNoYWRlcnMgYmVpbmcgc3VwcG9ydGVkIGJ5IHRoZSBHTAoJICBpbXBsZW1lbnRhdGlvbiB3aXRoIEdMMyBjb3JlIHByb2ZpbGUuCgoyMDE1LTA1LTAxIDEyOjA0OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBlbGVtZW50IGJ1ZmZlcnMgYXJlIHBhcnQgb2YgdmFvIHN0YXRlCgkgIFVzZSB0aGVtIGFzIHN1Y2guICBUaGV5IGFyZSBhbHNvIHJlcXVpcmVkIGZvciBHTDMgY29yZSBwcm9maWxlIHN1cHBvcnQKCSAgd2l0aCBnbERyYXdFbGVtZW50cyBvbiBPUyBYLgoKMjAxNS0wNS0wNyAxMjoyNToxMCArMDcwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBwcm9wZXJseSBkZXRlY3QgKGhvcGVmdWxseSkgdGhlIGNvcnJlY3QgZXh0X3JnL2FyYl9yZyB2YXJpYW50CgkgIEdMX0VYVF90ZXh0dXJlX3JnIGlzIG9ubHkgdmFsaWQgZm9yIEdMRVMyLiBHTEVTMyB1c2VzIHNpbWlsYXIgd29yZGluZyB0bwoJICB0aGUgR0xfQVJCX3RleHR1cmVfcmcgd2hpY2ggcmVxdWlyZXMgYSBzaXplZCBpbnRlcm5hbCBmb3JtYXQgdGhhdCB0aGUKCSAgR0xfRVhUX3RleHR1cmVfcmcgZG9lcyBub3QgcmVxdWlyZS4KCSAgaHR0cHM6Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvZ2xlcy9leHRlbnNpb25zL0VYVC9FWFRfdGV4dHVyZV9yZy50eHQKCSAgaHR0cHM6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS9zcGVjcy9BUkIvdGV4dHVyZV9yZy50eHQKCjIwMTUtMDUtMTQgMTM6MDQ6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBpbXBsZW1lbnQgcHJvcGVyIHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHByZXZpb3VzbHkgZmFpbGluZyBvbiBkaWZmZXJlbnQgaW5wdXQgYW5kIG91dHB1dCBwYXIKCjIwMTUtMDUtMTIgMTM6NDE6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogYXZvaWQgYnVzeS1sb29waW5nIHdoZW4gd2FpdGluZyBmb3IgbmV3IGZyYWdtZW50CgkgIFdoZW4gYWxsIGZyYWdtZW50cyBoYXZlIGFscmVhZHkgYmVlbiBkb3dubG9hZGVkIG9uIGEgbGl2ZSBzdHJlYW0KCSAgZGFzaGRlbXV4IHdvdWxkIGJ1c3kgbG9vcCBhcyB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZgoJICBoYXNfbmV4dF9mcmFnbWVudCB3b3VsZCByZXR1cm4gVFJVRS4gSW1wbGVtZW50IGl0IHRvIGNvcnJlY3RseQoJICBzaWduYWwgaWYgYWRhcHRpdmVkZW11eCBzaG91bGQgd2FpdCBmb3IgdGhlIG1hbmlmZXN0IHVwZGF0ZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIGdldCBuZXcgZnJhZ21lbnRzLgoKMjAxNS0wNS0xMSAxNDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGxpdmUgc3RyZWFtIG1hbmlmZXN0IHVwZGF0ZSByZXBvc2l0aW9uaW5nCgkgIFdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0IHRoZSB0aW1lc3RhbXBzIG9uIGl0IG1pZ2h0IGhhdmUgY2hhbmdlZCBhIGxpdHRsZQoJICBkdWUgdG8gcm91bmRpbmcgYW5kIHRpbWVzY2FsZSBjb252ZXJzaW9ucy4gSWYgdGhlIGNoYW5nZSBtYWtlcyB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBjdXJyZW50IHNlZ21lbnQgdG8gZ28gdXAgaXQgbWFrZXMgZGFzaGRlbXV4IHJlcG9zaXRpb24gdG8gdGhlIHByZXZpb3VzCgkgIG9uZSBjYXVzaW5nIG9uZSBleHRyYSB1bm5lY2Vzc2FyeSBkb3dubG9hZC4KCSAgU28gd2hlbiByZXBvc2l0aW9uaW5nIGFkZCBhbiBleHRyYSAxMCBtaWNyb3NlY29uZHMgdG8gY292ZXIgZm9yIHRoYXQgcm91bmRpbmcKCSAgaXNzdWVzIGFuZCBpbmNyZWFzZSB0aGUgY2hhbmNlIG9mIGZhbGxpbmcgaW4gdGhlIHNhbWUgc2VnbWVudC4KCSAgQWRkaXRpb25hbGx5LCBhbHNvIGltcHJvdmUgdGhlIHRpbWUgdXNlZCB3aGVuIHRoZSBjbGllbnQgaXMgYWxyZWFkeSBhZnRlciB0aGUKCSAgbGFzdCBzZWdtZW50LiBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBsYXN0IHNlZ21lbnQgc3RhcnRpbmcgdGltZXN0YW1wIHVzZSB0aGUKCSAgZmluYWwgdGltZXN0YW1wIHRvIG1ha2UgaXQgcmVwb3NpdGlvbiB0byB0aGUgbmV4dCBvbmUgYW5kIG5vdCB0byB0aGUgb25lIHRoYXQKCSAgaGFzIGFscmVhZHkgYmVlbiBkb3dubG9hZGVkLgoKMjAxNS0wNS0xMSAxMjozMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIG1vcmUgcHJvdGVjdGlvbiB3aGVuIGFjZXNzaW5nIGdwdHJhcnJheSBlbnRyaWVzCgkgIFRoZSBnbGliIHN0cnVjdHVyZSBkb2Vzbid0IGRvIHJhbmdlIGNoZWNraW5nIHNvIHdlIGhhdmUgdG8gZG8gaXQKCSAgb3Vyc2VsdmVzLgoJICBBbHNvIGFkZHMgc29tZSBtb3JlIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxNS0wNS0wOCAxNjo1ODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgkgIFRoZXNlIGZ1bmN0aW9ucyBvZiBkaXJlY3RseSBnZXR0aW5nIGFuZCBzZXR0aW5nIHNlZ21lbnQgaW5kZXhlcwoJICBhcmUgbm8gbG9uZ2VyIHVzZWZ1bCBhcyBub3cgd2UgbmVlZCAyIGluZGV4ZXM6IHJlcGVhdCBhbmQgc2VnbWVudAoJICBpbmRleC4KCSAgVGhlIG9ubHkgb3BlcmF0aW9ucyBuZWVkZWQgYXJlIGFkdmFuY2Vfc2VnbWVudCwgZ29pbmcgYmFjayB0byB0aGUKCSAgZmlyc3Qgb25lIG9yIHNlZWtpbmcgZm9yIGEgdGltZXN0YW1wLgoKMjAxNS0wNS0wOCAxNjo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXVzZSBzZWVraW5nIGZ1bmN0aW9uIHRvIHJlZHVjZSByZXBlYXRlZCBjb2RlCgkgIEluc3RlYWQgb2Ygd3JpdGluZyBhIHNlZWsgcm91dGluZSwganVzdCB1c2UgdGhlIG1wZHBhcnNlciBmdW5jdGlvbi4KCSAgQWxzbyByZW1vdmUgZnVuY3Rpb24gdGhhdCBpcyBub3QgbmVlZGVkIGFueW1vcmUKCjIwMTUtMDUtMDggMTY6MzE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3Igc2VnbWVudCBpdGVyYXRpb24gZm9yIGJldHRlciBwZXJmb3JtYW5jZQoJICBTZWdtZW50cyBhcmUgbm93IHN0b3JlZCB3aXRoIHRoZWlyIHJlcGVhdCBjb3VudHMgaW5zdGVhZCBvZiBzcGFuZGluZwoJICB0aGVtIHRvIG11bHRpcGxlIHNlZ21lbnRzLiBUaGlzIGNhdXNlZCBhZHZhbmNpbmcgdG8gdGhlIG5leHQgc2VnbWVudAoJICB1c2luZyBhIHNpbmdsZSBpbmRleCB0byBoYXZlIHRvIGl0ZXJhdGUgb3ZlciB0aGUgd2hvbGUgbGlzdCBldmVyeSB0aW1lLgoJICBUaGlzIGNvbW1pdCBhZGRyZXNzZXMgdGhpcyBieSBzdG9yaW5nIGJvdGggdGhlIHNlZ21lbnQgaW5kZXggYXMgd2VsbAoJICBhcyB0aGUgcmVwZWF0IGluZGV4IGFuZCBtYWtlcyBhZHZhbmNpbmcgdG8gbmV4dCBzZWdtZW50IGp1c3QgYW4KCSAgaW5jcmVtZW50IG9mIHRoZSByZXBlYXQgb3IgdGhlIHNlZ21lbnQgaW5kZXguCgoyMDE1LTA1LTA3IDE2OjMwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBtcGQgcGFyc2luZyBmb3IgcmVwZWF0ZWQgc2VnbWVudCBlbnRyaWVzCgkgIFVzZSBhIHNpbmdsZSBzZWdtZW50IHRvIHJlcHJlc2VudCBpdCBpbnRlcm5hbGx5IHRvIGF2b2lkIHVzaW5nIHRvbwoJICBtdWNoIG1lbW9yeS4gVGhpcyBoYXMgdGhlIGRyYXdiYWNrIG9mIGlzc3VpbmcgYSBsaW5lYXIgc2VhcmNoIHRvCgkgIGZpbmQgdGhlIGNvcnJlY3Qgc2VnbWVudCB0byBwbGF5IGJ1dCB0aGlzIGNhbiBiZSBmaXhlZCBieSB1c2luZwoJICBiaW5hcnkgc2VhcmNoZXMgb3IgY2FjaGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBhbmQganVzdCBsb29raW5nCgkgIGZvciB0aGUgbmV4dCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNjkKCjIwMTUtMDUtMTIgMTI6NTU6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZHJvcCBkZWJ1ZyBtZXNzYWdlIHRoYXQgd2FzIHdyb25nCgkgIEVPUyBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1lYW4gdGhhdCBubyBmcmFnbWVudCB3YXMgZG93bmxvYWRlZAoKMjAxNS0wNS0xMiAxMjo1NToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBUbyBhbGxvdyBjb21taXRpbmcgb24gdGhpcyBmaWxlIGNsZWFubHkKCjIwMTUtMDUtMTEgMTE6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdGhlIHBhcmVudCBpcyBwcm92aWRlZCBpbiB0aGUgZnVuY3Rpb24KCSAgTm8gbmVlZCB0byBnZXQgaXQgYWdhaW4KCjIwMTUtMDUtMTMgMTU6NTk6NDggKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IEZpeCBtZW1vcnkgbGVhayByZWxlYXNpbmcgY29ubmVjdGlvbl9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzE4CgoyMDE1LTA1LTEzIDE1OjMzOjQ5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBGaXggbWVtb3J5IGxlYWsgd2hpbGUgc2V0dGluZyBjb25uZWN0aW9uLWlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMTgKCjIwMTUtMDUtMTMgMTc6MTU6NTcgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBtZW1vcnkgbGVhaywgcmVsZWFzZSBwcmV2aW91cyBwZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyMgoKMjAxNS0wNS0xMyAxNjowNjo1MiArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IG1lbW9yeSBsZWFrIG9uIGRpc3Bvc2UKCSAgUGFyZW50IGRpc3Bvc2UgZnVuY3Rpb24gd2FzIG5vdCBjYWxsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyMgoKMjAxNS0wNS0xMyAxNzoxOToyNSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHNjb25uZWN0aW9uOiBGaXggbWVtb3J5IGxlYWsgd2hpbGUgc2V0dGluZyBjbG9zdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjUKCjIwMTUtMDUtMTMgMTY6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggZmFhZDIgdmVyc2lvbiBjaGVjawoJICBPbiBmZWRvcmEgMjIsIHRoZSBvdXRwdXQgb2YgY3BwIGluc2VydHMgZXh0cmEgZGVidWcgY29tbWVudHMsIHdoaWNoCgkgIG1ha2VzIG91ciByZWdleHAgZm9yIHRoZSBmYWFkMiB2ZXJzaW9uIGNoZWNrIGZhaWwuIFRoaXMgaW4gdHVybiBjYXVzZXMKCSAgaXQgdG8gY29tcGlsZSB3aXRoIHRoZSB3cm9uZyBhcmd1bWVudHMgcGFzc2VkIHdoaWNoIHRoZW4gY2F1c2VzIHN0YWNrCgkgIGNvcnJ1cHRpb24gYW5kIGNyYXNoZXMuCgkgIEZpeCB0aGlzIGJ5IG9ubHkgY2hlY2tpbmcgZm9yIHRoZSB2ZXJzaW9uICh3aGljaCBzaG91bGQgYmUgYnkgaXRzZWxmIG9uCgkgIGEgc2luZ2xlIGxpbmUpLiBUaGlzIGlzIHBvdGVudGlhbGx5IGxlc3Mgc2FmZSwgaXQgbWlnaHQgYmUgcG9zc2libGUgdGhhdAoJICBhIHNpbWlsYXIgc3RyaW5nIHdvdWxkIGFwcGVhciBpbiBhIGxhdGVyIHZlcnNpb24gaW4gdGhlIGhlYWRlciBmaWxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTcxCgoyMDE1LTA1LTEzIDIzOjU1OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcHJvcGFnYXRlIHRoZSB2ZXJzaW9uL2V4dGVuc2lvbiBmYWlsdXJlIHVwd2FyZHMKCSAgT3RoZXJ3aXNlIHRoZSBjYWxsaW5nIGNvZGUgaGFzIG5vIGlkZWEgdGhhdCB0aGUgY29udGV4dCBmYWlsZWQgdG8KCSAgYmUgY3JlYXRlZCBmdWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0xMyAyMzo1NDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGRvbid0IGRlYWRsb2NrIG9uIGNvbnRleHQgY3JlYXRpb24gZmFpbHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTEzIDE1OjQyOjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogRG9uJ3QgdW5yZWYgcGFkIHRlbXBsYXRlcwoJICBPdGhlcndpc2Ugd2UgdW5yZWYgdGhlIHJlZmVyZW5jZSB0aGF0IGlzIG93bmVkIGJ5IHRoZSBlbGVtZW50IGNsYXNzLgoKMjAxNS0wNS0xMyAxMjozMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZml4IGZhaWx1cmUgcmV0dXJuIHZhbHVlcyBmcm9tIGNyZWF0ZV9zZXNzaW9uKCkKCSAgY3JlYXRlX3Nlc3Npb24oKSByZXR1cm5zIGFuIGVycl9zdGF0dXNfdCB3aXRoCgkgIGVycl9zdGF0dXNfb2s9MCBhbmQgZXJyX3N0YXR1c19mYWlsPTEsIHNvCgkgIHJldHVybmluZyBUUlVFL0ZBTFNFIGlzIG5vdCBxdWl0ZSByaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMwNAoKMjAxNS0wNS0xMyAxMzoxNDoxNCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGZpeCBvdmVyIHVubG9ja2luZwoJICBDYWxsZWQgc2hvdWxkIGNhbGwgZnVuY3Rpb24gd2l0aCBsb2NrLCBhbmQgaXMKCSAgYWxzbyByZXNwb25zaWJsZSBmb3IgdW5sb2NraW5nIGl0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzA0CgoyMDE1LTA1LTEyIDE1OjQ3OjMzICswODAwICBMeW9uIFdhbmcgPGx5b24ud2FuZ0BmcmVlc2NhbGUuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY3VzdG9tIHBpY3R1cmUgZm9ybWF0IChDUEZNVCkgcGFyc2luZwoJICBJbiB0aGUgSDI2MyBzcGVjLCBDUEZNVCBpcyBwcmVzZW50IG9ubHkgaWYgdGhlIHVzZSBvZiBhIGN1c3RvbQoJICBwaWN0dXJlIGZvcm1hdCBpcyBzaWduYWxsZWQgaW4gUExVU0VQVFlQRSBhbmQgVUZFUCBpcyAiMDAxIiwKCSAgc28gd2UgbmVlZCB0byBjaGVjayBwYXJhbXMtPmZvcm1hdCBhbmQgb25seSBpZiB0aGUgdmFsdWUgaXMKCSAgNiAoY3VzdG9tIHNvdXJjZSBmb3JtYXQpIHRoZSBDUEZNVCBzaG91bGQgYmUgcmVhZCwgb3RoZXJ3aXNlCgkgIGl0J3Mgbm90IHByZXNlbnQgYW5kIHdyb25nIGRhdGEgd2lsbCBiZSBwYXJzZWQuCgkgIFdoZW4gcmVhZGluZyB0aGUgQ1BGTVQsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHdlcmUgbm90CgkgIGNhbGN1bGF0ZWQgY29ycmVjdGx5ICh3cm9uZyBiaXRtYXNrKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDkyNTMKCjIwMTUtMDUtMTMgMTc6Mzg6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBmaXggcmVjdGFuZ2xlIG9ic2N1cmUgdGVzdCB0byBjbGFtcCBhZ2FpbnN0IHRoZSBvdXRwdXQgZnJhbWUgc2l6ZQoJICBSYXRoZXIgdGhhbiBvbmUgb2YgdGhlIGlucHV0IHBhZCB2aWRlbyBpbmZvJ3MuCgkgIFRoZSB0ZXN0IGNoZWNraW5nIHRoaXMgd2FzIG5vdCBjb25zdHJhaW5pbmcgdGhlIG91dHB1dCBmcmFtZSBzaXplCgkgIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXQgb2YgZnJhbWUgc3RyZWFtIHdhcyBub3QgYmVpbmcgZGlzcGxheWVkLgoKMjAxNS0wNS0xMyAxNzoxMTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IGlnbm9yaW5nIGl0IGNvbXBsZXRlbHkKCjIwMTUtMDUtMTMgMTc6MTA6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCB1cGxvYWQgdGhlIHZlcnRleCBkYXRhIGV2ZXJ5IGZyYW1lCgkgIEFkZCB0aGUgbWlzc2luZyBjYWNoZSB0cmFja2luZyBzdGF0ZW1lbnQuCgoyMDE1LTA1LTEyIDE2OjM2OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBSZW1vdmUgdW5lZWRlZCBoZWFkZXIgYW5kIGRlZmluZXMKCjIwMTUtMDUtMTEgMTU6MDI6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBVc2UgZGVmYXVsdCBnZXRfY2FwcyBpbXBsZW1lbnRhdGlvbgoJICBUaGUgY3VzdG9tIGNvZGUgaXMgd3JvbmcgYXMgaXQgaWdub3JlcyB0aGUgdGVtcGxhdGVzLCB3aGljaCBsZWFkcyB0bwoJICBtaXNzaW5nIGZpZWxkcyBpbiB0aGUgcmVzdWx0LiBJbnN0ZWFkLCBzaW1wbHkgdXNlIHRoZSBkZWZhdWx0IGdldF9jYXBzCgkgIGltcGxlbWVudGF0aW9uIHdoaWNoIGRvZXMgaXQgY29ycmVjdGx5IChnZXQgdGhlIHRlbXBsYXRlLCBpbnRlcnNlY3QKCSAgd2l0aCBmaWx0ZXIgYW5kIHJldHVybikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMzcKCjIwMTUtMDUtMTEgMTU6NTQ6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBJbXBsZW1lbnQgR3N0VmlkZW9BZ2dyZWdhdG9yOjpmaW5kX2Jlc3RfZm9ybWF0KCkKCSAgV2l0aG91dCB0aGlzLCB3ZSB3aWxsIGZpeGF0ZSB3ZWlyZCBwaXhlbC1hc3BlY3QtcmF0aW9zIGxpa2UgMS8yMTQ3NDgzNjQ3LiBCdXQKCSAgaW4gdGhlIGVuZCwgYWxsIHRoZSBuZWdvdGlhdGlvbiBjb2RlIGluIHZpZGVvYWdncmVnYXRvciBuZWVkcyBhIGJpZyBjbGVhbnVwCgkgIGFuZCB2aWRlb2FnZ3JlZ2F0b3IgbmVlZHMgdG8gZ2V0IHJpZCBvZiB0aGUgc29mdHdhcmUtbWl4ZXIgc3BlY2lmaWMgdGhpbmdzCgkgIGV2ZXJ5d2hlcmUuCgoyMDE1LTA1LTExIDIyOjUzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBkZW1vdGUgdXBsb2FkL2NvbnZlcnQvZG93bmxvYWQgZWxlbWVudHMgdG8gbm9uZQoJICBDb3B5IHBhc3RlIGVycm9yCgoyMDE1LTA1LTExIDIyOjM3OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBleHBvc2UgaW50ZXJuYWwgZ2x2aWRlb21peGVyZWxlbWVudFwKCSAgV2UgbWlnaHQgd2FudCBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgZXhhY3QgcGlwZWxpbmUKCSAgQWxzbyByZWR1Y2VzIG92ZXJoZWFkCgoyMDE1LTA1LTExIDIyOjM1OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBleHBvc2UgaW50ZXJuYWwgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIFdlIG1pZ2h0IHdhbnQgbW9yZSBjb250cm9sIG92ZXIgdGhlIGV4YWN0IHBpcGVsaW5lLgoJICBBbHNvIHJlZHVjZXMgb3ZlcmhlYWQuCgoyMDE1LTA1LTA3IDIxOjE4OjI3ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCB1bmNvbmRpdGlvbmFsIGJ1ZmZlciBxdWV1ZSB1bmxvY2sKCSAgVW5sZXNzIHN0b3BSZXF1ZXN0IGlzIHNldCwgd2Ugc2hvdWxkIHVubG9jayBjb25kaXRpb25hbGx5IC0tIG90aGVyd2lzZSwKCSAgdGhlICdjcmVhdGU6JyBtZXRob2QgY2FuIHdha2UgdXAgdG8gYW4gZW1wdHkgYnVmZmVyIHF1ZXVlCgkgIGFuZCBwdWxsIGEgbmlsIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA1NAoKMjAxNS0wNS0xMSAxMjoxODoyOCArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFJlbmFtZSBtb2RlIDIwNDhwIHRvIDE1NTZwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDUtMTEgMTI6MDQ6NDcgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IFVzZSBjb3JyZWN0IGZyYW1lIHJhdGUgZm9yIG1vZGUgMjE2MHA1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTA1LTExIDEyOjAyOjQ3ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogUmVuYW1lIG1vZGUgMzE4NHAgdG8gMjE2MHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wMS0yMiAxNTo0MzoyMiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5za2lwIGFuZCBQT1RGSUxFUy5pbgoJICBUaGUgb25lcyBpbiAuc2tpcCBuZWVkIHRvIGJlIGFkZGVkIGJhY2sgdG8gUE9URklMRVMuaW4KCSAgYWZ0ZXIgcG9ydGluZyB0byAxLnguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNTIKCjIwMTUtMDUtMDggMTQ6MjA6NDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHJlbW92ZSBnc3RfcmVtb3ZlX3NpbGVuY2VfcmVzZXQoKQoJICBObyBuZWVkIHRvIGNhbGwgZ3N0X3JlbW92ZV9zaWxlbmNlX3Jlc2V0KCkgaW4gZ3N0X3JlbW92ZV9zaWxlbmNlX2luaXQoKSBiZWNhdXNlCgkgIHZhZF9uZXcoKSBhbHJlYWR5IGNhbGxzIHRoaXMgZnVuY3Rpb24uIFNpbmNlIHRoZXJlIGFyZSBubyBtb3JlIHVzZXMgb2YKCSAgX3NpbGVuY2VfcmVzZXQoKSwgd2UgY2FuIHJlbW92ZSBpdCBhbHRvZ2V0aGVyLgoKMjAxNS0wNS0wOCAxNDo1NToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBXZSBzaG91bGRuJ3QgbWFudWFsbHkgY2hlY2sgcmVjb25maWd1cmUgZmxhZyBvbiBwYWRzIGJ1dCBpbnN0ZWFkIGltcGxlbWVudCA6Om5lZ290aWF0ZSgpCgkgIEFkZCBGSVhNRSBjb21tZW50IHJlbGF0ZWQgdG8gdGhhdC4KCjIwMTUtMDUtMDggMTM6NTQ6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIFVwZGF0ZSByZWZlcmVuY2VzIHRvIGRlY29kZWJpbgoJICBVcGRhdGUgb2xkIHJlZmVyZW5jZXMgZm9yIGRlY29kZWJpbjIgdG8gZGVjb2RlYmluLgoKMjAxNS0wNS0wOCAxMzo0OTozOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogdXBkYXRlIGV4YW1wbGUgbGF1bmNoIGxpbmUKCjIwMTUtMDUtMDcgMjE6MDQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJICBkdGxzc3J0cGRlYzogRG9uJ3QgbWVyZ2UgUlRQIGFuZCBSVENQIHN0cmVhbXMgdGhhdCB3ZXJlIGp1c3Qgc3BsaXQgYnkgc3J0cGRlYwoJICBUaGUgZnVubmVsIGhhcyBzb21lIG92ZXJoZWFkLCBhbmQgbGF0ZXIgcnRwYmluIHdpbGwgaGF2ZSB0byBzcGxpdCBib3RoIHN0cmVhbXMKCSAgYWdhaW4gYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NzIzCgoyMDE1LTA1LTA2IDE1OjQ3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkOTZlNDNiMDM0YTAzZmU1NDYzMzkwN2JjMWJmMmEyNmZlNWY5NWZiLgoKMjAxNS0wNS0wNiAxNTo0NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU5ZmIwZjgzMGYwOGUzZTU5Zjg3ZjgzZGY4ZmEzYzJkOWYzZDk3NDEuCgoyMDE1LTA1LTA2IDE1OjQ3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiZTkzOGY5MmQ5NGU4YWNjY2Y1OTMxMjgyODFmNmUwOTIxMzYwMGEwLgoKMjAxNS0wNS0wNiAxNTo0Njo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFJldmVydCAiZ2w6IHJlYWRkIGdsdXBsb2FkL2Rvd25sb2FkIG9udG8gZWxlbWVudCBwYWRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg3ZDgyNzBmMzAyYjAzZjYzY2UwNGY5ODZkODI0ODkyYTJjMTMxZmQuCgoyMDE1LTA1LTA2IDE1OjQzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjRiZDExZjJmM2E2MDIyNGQxODhiMjdhYjU1YjI3ODA3N2NiMTIxNy4KCjIwMTUtMDUtMDYgMTI6NTk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFjdHVhbGx5IHNldCB0aGUgY2FwcyBvbiB0aGUgc3JjcGFkIGluc3RlYWQgb2YganVzdCBjYWxsaW5nIHRoZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBzaW5rcGFkCgkgIEZpeGVzIHVwIGRhZmExMWI5ZDIxZDA2YTAyNzMwMDc2MjhhMmEwYmI0ZDc4NTg2NTgKCjIwMTUtMDQtMjkgMTg6MjM6MzEgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogb25seSB1cGRhdGUgc3RyZWFtIHBvc2l0aW9uIGlmIHF1ZXJ5IHN1Y2Nlc3MKCSAgV2UgZG9uJ3QgbmVlZCB0byBjaGVjayBhYm91dCB0aGUgcXVlcnkgZmFpbCBjYXNlLgoJICBiZWNhdXNlIGl0IGlzIHVwZGF0ZSB0byBzZWdtZW50IHBvc2l0aW9uIGV2ZW4gdGhvdWdoIHF1ZXJ5IGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MjkKCjIwMTUtMDUtMDUgMTI6NDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRlY2tsaW5rOiBEaXNhYmxlIGRlY2tsaW5rIHBsdWdpbiBvbiBBbmRyb2lkCgoyMDE1LTA1LTA1IDE0OjQ0OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBmaXh1cCBzaXplIGRlY2xhcmF0aW9uCgoyMDE1LTA1LTA0IDIzOjQyOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGhhbmRsZSB0aGUgbG9jYWxfY29udGV4dCBxdWVyeQoJICBzbyB0aGF0IHVwc3RyZWFtIGVsZW1lbnRzIGNhbiBnZXQgdGhlIEdMIGNvbnRleHQgZnJvbSBnbGltYWdlc2luawoKMjAxNS0wNS0wMyAxNDo1NjowNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBvcnQgZm9yIENPTE9SX0Zvcm1hdFlWMTIKCSAgUmVmZXJlbmNlOiBodHRwOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3JlZmVyZW5jZS9hbmRyb2lkL2dyYXBoaWNzL0ltYWdlRm9ybWF0Lmh0bWwjWVYxMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA0LTMwIDExOjQ0OjA2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkgIGFuZHJvaWRtZWRpYTogRGVjbGFyZSBRT01YX0NPTE9SX0ZPUk1BVFlWVTQyMFBhY2tlZFNlbWlQbGFuYXIzMm1NdWx0aVZpZXcgY29uc3RhbnQKCSAgVGhpcyBjb2xvciBmb3JtYXQgaXMgdGhlIHNhbWUgYXMgUU9NWF9DT0xPUl9GT1JNQVRZVVY0MjBQYWNrZWRTZW1pUGxhbmFyMzJtCgkgIGJ1dCBzdG9yZXMgdHdvIGltYWdlcyBvbmUgYWZ0ZXIgdGhlIG90aGVyIGluIGEgdG9wLWJvdHRvbSBsYXlvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDUtMDQgMTE6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSAgb3B1c2RlcGF5OiBTZXQgbXVsdGlzdHJlYW09RkFMU0Ugb24gdGhlIE9wdXMgY2FwcwoJICBUaGUgUlRQIE9wdXMgbWFwcGluZyBvbmx5IGFsbG93cyBtb25vL3N0ZXJlbywgYW5kIG5vdCBtdWx0aXN0cmVhbSBPcHVzCgkgIHN0cmVhbXMuCgoyMDE1LTA1LTA0IDEwOjM1OjU1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzaGVhZGVyOiBEbyBub3QgaW5jbHVkZSByYXRlIGluIGNhcHMgaWYgaXQgaXMgMAoJICBBcyBleHByZXNzZWQgaW4gZ3N0X29wdXNfaGVhZGVyX2NyZWF0ZV9jYXBzLCB2YWx1ZSAwIG1lYW5zIHVuc2V0LgoJICBTZXR0aW5nIHJhdGUgdmFsdWUgdG8gMCBtYWtlIG5lZ290aWF0aW9uIHdpdGggZGVjb2RlciBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4ODc1CgoyMDE1LTA1LTA0IDA4OjA2OjM1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggc2xpY2UtaGVpZ2h0IGZvciBUZWdyYSAzIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODg2NwoKMjAxNS0wMy0xMyAxNjowNzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBDT0xPUl9Gb3JtYXRZVVY0MjBGbGV4aWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTAzLTI1IDE3OjQzOjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cG9ydCBmb3IgSW50ZWwgY29sb3IgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA1LTAyIDE4OjA2OjE4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBwcm9maWxlIGFuZCBsZXZlbCBzZXR0aW5nIGluIGNhcHMKCSAgRG9uJ3QgdXNlIHRoZSBhcGlzIGluIGNvZGVjLXV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUgYW5kIGxldmVsCgkgIHN5bnRheCBlbGVtZW50cyBzaW5jZSBpdCBpcyB3cm9uZyBpZiB0aGVyZSBhcmUgZW11bGF0aW9uIHByZXZlbnRpb24KCSAgYnl0ZXMgZXhpc3RpbmcgaW4gdGhlIGJ5dGUtc3RyZWFtIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDUtMDMgMjM6MDg6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogSW1wcm92ZSBwYXNzdGhyb3VnaCBjaGVjayB3aGVuIG5vIGNvbnZlcnNpb24gaXMgbmVlZGVkLgoJICBNYWtlIHRoZSBwYXNzdGhyb3VnaCBjaGVjayBjb250aW5nZW50IG9uIG9ubHkgdGhlIGZpZWxkcyB3ZQoJICBjYW4gbW9kaWZ5IGJlaW5nIHVuY2hhbmdlZCwgYW5kIHByZS1jb21wdXRlIGl0IHdoZW4gY2FwcwoJICBjaGFuZ2UgaW5zdGVhZCBvZiBjaGVja2luZyBvbiBlYWNoIGJ1ZmZlci4gTWFrZXMgdGhlIHBhc3N0aHJvdWdoCgkgIG1vcmUgbGVuaWVudCBpZiBjb25zdW1lcnMgYXJlIGxheCBhYm91dCBtYWtpbmcgaW5wdXQgYW5kIG91dHB1dAoJICBjYXBzIGNvbXBsZXRlLgoKMjAxNS0wNS0wMSAxOTozOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBoYW5kbGUgd2hlbiBzb3VyY2UgY3JlYXRpb24gZmFpbAoJICBSZW1lbWJlciB0byBzZXQgdGhlIHNvdXJjZSB0byBOVUxMIHN0YXRlIGFzIGFkZGluZyBpdCB0byB0aGUgcGlwZWxpbmUKCSAgd2lsbCBzZXQgaXQgdG8gdGhlIFJFQURZIHN0YXRlLgoKMjAxNS0wNS0wMSAxOTozMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggZWxlbWVudCBsaW5raW5nIG9yZGVyCgkgIFZpZGVvIHNvdXJjZSBzaG91bGQgYmUgbGlua2VkIHRvIHZpZGVvY3JvcCBhbmQgbm90IHRvCgkgIHZpZGVvY29udmVydCBhcyBpdCBpcyBkb25lIGluIHRoZSBtYWluIGxpbmtpbmcgcGF0aAoKMjAxNS0wMy0xMyAwNjoxMDo1MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IEFkZCBhIGNoZWNrIGZvciB0aGUgbmV3IGNvbXBvc2l0b3IgcGFkLWlzLW9ic2N1cmVkIG9wdGltaXphdGlvbgoJICBXZSB2ZXJpZnkgdGhhdCBhbGwgdGhlIGJ1ZmZlcnMgb24gYW4gb2JzY3VyZWQgc2lua3BhZCBhcmUgc2tpcHBlZCBieSBvdmVycmlkaW5nCgkgIHRoZSBtYXAoKSBmdW5jdGlvbiBpbiB0aGUgR3N0VmlkZW9NZXRhIG9mIHRoZSBidWZmZXJzIHRvIHNldCBhIHZhcmlhYmxlIHdoZW4KCSAgY2FsbGVkLiBXZSBhbHNvIHRlc3QgdGhhdCB0aGUgYnVmZmVycyBkbyBnZXQgbWFwcGVkIHdoZW4gdGhleSdyZSBub3Qgb2JzY3VyZWQuCgkgIEJsYW1lXldDcmVkaXQgZm9yIHRoZSBHc3RWaWRlb01ldGEgbWFwKCkgaWRlYSBnb2VzIHRvIFRpbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNToxMDowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBPbmx5IG1hcCB0aGUgZnJhbWUgZnJvbSBhIGJ1ZmZlciBpZiBpdCB3aWxsIGJlIHVzZWQKCSAgSXQncyBhIHdhc3RlIG9mIHJlc291cmNlcyB0byBtYXAgaXQgaWYgaXQgd29uJ3QgYmUgY29udmVydGVkCgkgIG9yIHVzZWQgYXQgYWxsLiBTaW5jZSB3ZSBtb3ZlZCB0aGUgZnJhbWUgbWFwcGluZyBkb3duLCB3ZSBuZWVkCgkgIHRvIHVzZSB0aGUgR1NUX1ZJREVPX0lORk8gYWNjZXNzb3IgbWFjcm9zIG5vdyBpbiB0aGUgY29kZSBhYm92ZQoJICB0aGF0IGluc3RlYWQgb2YgdGhlIEdTVF9WSURFT19GUkFNRSBhY2Nlc3NvciBtYWNyb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MDk6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdXNlIGFjY2Vzc29yIG1hY3JvcyBmb3IgY29uc2lzdGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNTowOTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBTa2lwIHBhZHMgdGhhdCBhcmUgY29tcGxldGVseSBvYnNjdXJlZCBieSBhIGhpZ2hlciB6b3JkZXIgcGFkCgkgIEZvciBlYWNoIGZyYW1lLCBjb21wYXJlIHRoZSBmcmFtZSBib3VuZGFyaWVzLCBjaGVjayBpZiB0aGUgZm9ybWF0IGNvbnRhaW5zIGFuCgkgIGFscGhhIGNoYW5uZWwsIGNoZWNrIG9wYWNpdHksIGFuZCBza2lwIHRoZSBmcmFtZSBpZiBpdCdzIGdvaW5nIHRvIGJlIGNvbXBsZXRlbHkKCSAgb3ZlcndyaXR0ZW4gYnkgYSBoaWdoZXIgem9yZGVyIGZyYW1lLiBUaGUgY2hlY2sgaXMgTyhuXjIpLCBidXQgdGhhdCBkb2Vzbid0CgkgIG1hdHRlciBoZXJlIGJlY2F1c2UgdGhlIG51bWJlciBvZiBzaW5rcGFkcyBpcyBzbWFsbC4KCSAgTW9yZSBjYW4gYmUgZG9uZSB0byBhdm9pZCBuZWVkbGVzcyBkcmF3aW5nLCBidXQgdGhpcyBjb3ZlcnMgdGhlIG1ham9yaXR5IG9mCgkgIGNhc2VzLiBTZWUgVE9ET3MuIElkZWFsbHksIGEgcmV2ZXJzZSBwYWludGVyJ3MgYWxnb3JpdGhtIHNob3VsZCBiZSB1c2VkIGZvcgoJICBvcHRpbWFsIGRyYXdpbmcsIGJ1dCBtZW1jcHkgZHVyaW5nIGNvbXBvc2l0aW5nIGlzIHNtYWxsIGNvbXBhcmVkIHRvIHRoZSBDUFUgdXNlZAoJICBmb3IgZnJhbWUgY29udmVyc2lvbiBvbiBlYWNoIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0zMCAxOTowODoyNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggc291cmNlIGNhcHMgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE1OjM0OjQwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCB0aGUgbWVtb3J5IGZyZWVpbmcgb2Ygc3RvcmVkIFZQUyBuYWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMzAgMTg6MzY6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHByb2ZpbGUsIHRpZXIgYW5kIGxldmVsIHNldHRpbmcgaW4gY2FwcwoJICBEb24ndCB1c2UgdGhlIGFwaXMgaW4gY29kZWMtdXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSx0aWVyIGFuZCBsZXZlbAoJICBzeW50YXggZWxlbWVudHMgc2luY2UgaXQgaXMgd3JvbmcgaWYgdGhlcmUgYXJlIGVtdWxhdGlvbiBwcmV2ZW50aW9uCgkgIGJ5dGVzIGV4aXN0aW5nIGluIHRoZSBieXRlLXN0cmVhbSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTE3IDE1OjE1OjMzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBuYWwgdW5pdCBzaXplIGNoZWNraW5nCgkgIFRoZSBFT1MgYW5kIEVPQiBuYWxzIGhhdmUgdGhlIHNpemUgMiB3aGljaCBpcyB0aGUgc2l6ZSBvZgoJICBuYWwgdW5pdCBoZWFkZXIgaXRzZWxmLiBUaGUgZ3N0X2gyNjVfcGFyc2VyX2lkZW50aWZ5X25hbHUoKQoJICBpcyBub3QgcmVxdWlyZWQgdG8gc2NhbiBzdGFydCBjb2RlIGFnYWluIGluIHRoaXMgY2FzZS4KCSAgSW4gb3RoZXIgY2FzZXMsIGZvciBhIHZhbGlkIG5hbHVuaXQgdGhlIG1pbmltdW0gcmVxdWlyZWQgc2l6ZQoJICBpcyAzIGJ5dGVzICgyIGJ5dGUgaGVhZGVyIGFuZCBhdCBsZWFzdCAxIGJ5dGUgUkJTUCBwYXlsb2FkKQoKMjAxNS0wNC0xNyAxNTowMzozNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NTogQ2FsY3VsYXRlIGNyb3AgcmVjdGFuZ2xlIGRpbWVuc2lvbnMKCjIwMTUtMDQtMTcgMTU6MDE6NTcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBwYXJzaW5nIG11bHRpcGxlIFNFSSBtZXNzYWdlcyBpbiBhIHNpbmdsZSBTRUkgTmFsCgkgIEFuIFNFSSBOYWwgY2FuIGhhdmUgbW9yZSB0aGFuIG9uZSBTRUkgbWVzc2FnZS4KCSAgQ2hhbmdlIGluIEFQSTogdGhlIGdzdF9oMjY1X3BhcnNlcl9wYXJzZV9zZWkoKQoKMjAxNS0wNC0zMCAyMTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogTWFrZSBzdXJlIHRvIHNlbmQgY2FwcyBldmVudHMgZG93bnN0cmVhbSBiZWZvcmUgYW55IHNlZ21lbnQgZXZlbnRzCgkgIFVwc3RyZWFtIG1pZ2h0IG5vdCBnaXZlIHVzIGEgY2FwcyBldmVudCAoZHRsc3NydHBkZWMpIGJlY2F1c2UgaXQgbWlnaHQgYmUgYW4KCSAgUlRQL1JUQ1AgbWl4ZWQgc3RyZWFtLCBidXQgd2Ugc3BsaXQgdGhlIHR3byBzdHJlYW1zIGFueXdheSBhbmQgc2hvdWxkIHJlcG9ydAoJICBwcm9wZXIgY2FwcyBkb3duc3RyZWFtIGlmIHBvc3NpYmxlLgoJICBGaXhlcyAic3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIiB3YXJuaW5ncyB3aXRoIGR0bHNzcnRwZGVjLgoKMjAxNS0wNC0zMCAxMDo1MDoxOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgIHJ0anBlZzogcmVtb3ZlIHVudXNlZCBxdWFsaXR5IHByb3BlcnR5CgoyMDE1LTA0LTMwIDExOjE1OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogcmVhZGQgZ2x1cGxvYWQvZG93bmxvYWQgb250byBlbGVtZW50IHBhZHMKCSAgQWxsb3dzIGluc2VydGlvbiBvZiBnbCBlbGVtZW50cyBpbnRvIG5vbi1nbCBwaXBlbGluZXMgd2l0aG91dCBjb252ZXJ0ZXIKCSAgKHVwbG9hZC9kb3dubG9hZCkgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5NzQKCjIwMTUtMDQtMjkgMjI6NTU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBmYjU2NzM4YTE0MzkxZjI0OGFhMGJlODc1NmFkZWFmOTc4YmFhMGMuCgoyMDE1LTA0LTI5IDIyOjM4OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhhMDAxN2UyMWQ1ZjlhODUwN2YwNTkzYzZiMjRmNzIzYWE0MTUyNTguCgoyMDE1LTA0LTI5IDIyOjMyOjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0YmU0NWU1ZjMwZGM2MTIxZjI3NjkzMjM2MDM0NDdmNTkxY2E0YTBhLgoKMjAxNS0wNC0yOSAyMjozMjoyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyYmE2YmI5YjkzMjViNjNmNThhOWZmMGIyYzgyZmEyODc1OWRjYWJjLgoKMjAxNS0wNC0yOSAwOTo1Nzo1MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGRvbid0IHRpbWVzdGFtcCBidWZmZXJzIGZvciBtdXhlZCBzdHJlYW1zCgoyMDE1LTA0LTI5IDIxOjM3OjU2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAga3N2aWRlb3NyYzogZml4IGhlYWRlciBzaXplIGZvciBtdXhlZCBzdHJlYW1zCgoyMDE1LTA0LTI5IDE5OjM5OjE0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgbnVtYmVyIG9mIHRpbGUgcm93cy9jb2x1bW5zIHBhcnNpbmcKCSAgVGhlIHBvc3NpYmxlIG1pbmltdW0gdmFsdWUgZm9yIG51bV90aWxlX2NvbHVtbnNfbWludXMxIGFuZCBudW1fdGlsZV9yb3dzX21pbnVzMQoJICBpcyB6ZXJvICg3LjQuMy4zKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODY0MQoKMjAxNS0wNC0yOSAxNzoyMDo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgIG1peG1hdHJpeDogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBlbnVtIGl0ZW1zCgkgIFRoZXNlIHR3byBwcm9wZXJ0aWVzIGhhdmUgYmVlbiB0aGVyZSBzaW5jZSB0aGUgb3JpZ2luIG9mIHRoZSBlbGVtZW50IGJ1dCB0aGV5CgkgIGFyZW4ndCB1c2VkLiBSZW1vdmluZyB0aGVtLgoKMjAxNS0wNC0yOSAxNTo0MTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IGNvbXBhcmlzaW9uIGxvZ2ljCgkgIFdlIGNhbid0IGFuc3dlciB0aGUgU0VFS0lORyBxdWVyeSBpZiB3ZSBkbyAqbm90KiBoYXZlIHRoZSBtYW5pZmVzdAoKMjAxNS0wNC0yOSAxMDo1NjoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJICBhaWZmOiBSZS1hZGQgbm9pbnN0X0hFQURFUlMgaW5zdHJ1Y3Rpb24KCSAgV2FzIHJlbW92ZWQgaW4gdGhlIHByZXZpb3VzIGFuZHJvaWQgY2xlYW51cCBjb21taXQKCjIwMTUtMDQtMjggMjE6NDM6NTYgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3NkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvd2lua3Mva3NkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSAgR3N0RGV2aWNlUHJvdmlkZXIgaW1wbGVtZW50YXRpb24gZm9yIFdJTiBLZXJuZWwgU3RyZWFtaW5nIHBsdWdpbgoJICBnc3Rfa3NfZGV2aWNlX3Byb3ZpZGVyX3Byb2JlKCkgaXMgYSBuby1icmFpZXIsIGp1c3QgcnVucyBrc19lbnVtZXJhdGVfZGV2aWNlcygpCgkgIGFuZCByZXBvcnRzIHRoZSByZXN1bHRzLgoJICBNb25pdG9yaW5nIGlzIGEgYml0IG1vcmUgdHJpY2t5LiBXZSBoYXZlIHRvIGNyZWF0ZSBhIGR1bW15IG1lc3NhZ2UtcHJvY2Vzc2luZwoJICB3aW5kb3cgYW5kIHJlZ2lzdGVyIGRldmljZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBmb3IgaXQuCgkgIEFzIGtlcm5lbCBzdHJlYW1pbmcgY2FuIChhbmQgc2hvdWxkKSBiZSB1c2VkIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBhdWRpbwoJICBwbGF5YmFjaywgdGhpcyBjaGFuZ2UgYWxzbyBoYXMgY2VydGFpbiBwbGFjZWhvbGRlcnMgZm9yIHN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3NTcKCjIwMTUtMDQtMjkgMDI6MzA6MDUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogQ2FjaGUgY2FwcyBmb3IgcGFzc2luZyB0byB0aGUgY2xpZW50IGRyYXcgY2FsbAoJICBEb24ndCBjb252ZXJ0IHRoZSBHc3RWaWRlb0luZm8gdG8gY2FwcyBvbiBldmVyeSBkcmF3IGNhbGwsCgkgIGp1c3QgY2FjaGUgdGhlIGNhcHMgYW5kIHBhc3MgdGhlbSBpbnRvIHRoZSBHc3RTYW1wbGUuCgoyMDE1LTA0LTI5IDAyOjIwOjA5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogTWFrZSB1cGxvYWQgbWV0aG9kIHN0YXRpYyBjYXBzIG5vbi1jb25zdC4KCSAgUmV0cmlldmluZyBhIEdzdFN0YXRpY0NhcHMgZG9lcyBhIG9uZSB0aW1lIGludGVybmFsCgkgIGluaXRpYWxpc2F0aW9uIGFuZCBjYWNoZXMgaXQgLSB0aGV5IGNhbid0IGJlIHN0b3JlZCBhcwoJICBjb25zdCBzdHJ1Y3R1cmVzLgoKMjAxNS0wNC0yOCAxNzoyNDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBmaXggaW5jbHVkZXMgYW5kIGNvbXBpbGF0aW9uIGFnYWluc3Qgb3B1cyBpbiBub24tc3RhbmRhcmQgcHJlZml4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1OTQKCjIwMTUtMDQtMjggMTY6NTg6MjEgKzAyMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jCgkgIFVzZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGF2YWlsYWJsZSBpbiB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTg1CgoyMDE1LTA0LTI4IDE2OjA2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBkZTI2NWRlYzogdXNlIGdfZ2V0X251bV9wcm9jZXNzb3JzKCkgaWYgYXZhaWxhYmxlCgkgIEFuZCBwcm92aWRlIGhvbWUtbWFkZSBmYWxsYmFjayBmb3Igb2xkZXIgR0xpYiB2ZXJzaW9ucywKCSAgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgZmluZCB0aGVzZSBhbmQgcmVtb3ZlIHRoZW0gd2hlbgoJICB3ZSBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50ICh3aGljaCBpcyBjZXJ0YWlubHkgZ29pbmcKCSAgdG8gaGFwcGVuIGJlZm9yZSAyLjApLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk1CgoyMDE1LTA0LTI4IDE2OjAyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBnc3Q6IHJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGdsaWIgdmVyc2lvbiBjaGVja3MKCSAgV2UgcmVxdWlyZSAyLjMyLCBubyBuZWVkIHRvIGNoZWNrIGZvciBhbnl0aGluZyBvbGRlcgoJICB0aGFuIHRoYXQuCgoyMDE1LTA0LTI4IDExOjI4OjM5ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBmaXggZGVzY3JpcHRvciBsZWFrCgkgIEZyZWUgdGhlIGV4aXN0aW5nIGRlc2NyaXB0b3IgYXJyYXksIGlmIGFueSwgYmVmb3JlIHJlcGxhY2luZyBpdC4KCSAgRml4IGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suc2NydWJfZm9yd2FyZF9zZWVraW5nLnRlc3QtbXBlZzItbXAzX214ZiBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4MAoKMjAxNS0wNC0yOCAxMDoxMzozNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdGFnbGlzdCBsZWFrCgkgIElmIHRoZSBzdHJlYW0gd2hpY2ggaXMgYWJvdXQgdG8gYmUgcmVtb3ZlZCBzdGlsbCBoYXMgYSByZWYgb24gYSB0YWcgbGlzdCB3ZQoJICBzaG91bGQgZHJvcCBpdC4KCSAgRml4IGEgbGVhayB3aGljaCB3YXMgb2NjYXNpb25hbGx5IGhhcHBlbmluZyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUudHJvbl9lbl9nZV9hYWNfaDI2NF90cyBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU3NgoKMjAxNS0wNC0yNyAyMjo0NDoyOCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IGZpbmRfc3VidGFibGUoKSByZXR1cm4gdmFsdWUKCSAgZmluZF9zdWJ0YWJsZSgpIHJldHVybnMgYSBwb2ludGVyLCBzbyByZXR1cm4gTlVMTCBhbmQKCSAgbm90IEZBTFNFIHdoZW4gbm90aGluZyBpcyBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUyNwoKMjAxNS0wNC0yOCAxNDo1MjozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIGRlZnMKCjIwMTUtMDQtMjggMjA6NDY6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHVuZWVkZWQgdW5yZWYKCSAgVGhlIGNhbGwgdG8gX2dsX21lbV9hbGxvY19kYXRhIHdpbGwgdW5yZWYgYW5kIE5VTExpZnkgJ2Rlc3QnIGZvciB1cy4KCSAgV2UganVzdCBuZWVkIHRvIHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wNC0yOCAwOTozNzo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogVXNlIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzIGluIDo6Z2V0X2NhcHMoKQoKMjAxNS0wNC0yOCAyMDoxMTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbHVwbG9hZDogcHJvdmlkZSB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzIHRoYXQgY291bGQgYmUgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzk5CgoyMDE1LTA0LTI3IDE5OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IGFkZCB6b29tIHByb3BlcnR5IHRvIFVJCgkgIEFkZCBhIHNsaWRlciB0byBtb2RpZnkgdGhlIHpvb20gaW4gY2FtZXJhYmluCgoyMDE1LTA0LTI3IDE4OjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogcmVtb3ZlIHdpZGdldHMgZGVwcmVjYXRlZCBpbiBHVEszLjAKCSAgVkJveCBhbmQgSEJveCBhcmUgbm93IHNpbXBseSBCb3gKCjIwMTUtMDQtMjcgMTU6NDE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IHVwZGF0ZSB0byBHVEszCgkgIFdoZW4gb3BlbmluZyB0aGUgLnVpIGZpbGUgaXQgY29tcGxhaW5zIGFib3V0IGJlaW5nIGZvciBHVEsgMiBhbmQKCSAgYXV0b21hdGljYWxseSB1cGRhdGVzIGl0IHRvIEdUSzMuIENvbW1pdCB0aGlzIHZlcnNpb24gYW5kIHVwZGF0ZQoJICB0aGUgbWFrZWZpbGUKCjIwMTUtMDQtMjcgMTM6NDE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIFRoZSBzdHJ1Y3R1cmUgaXMgY3JlYXRlZCBhbmQgbmV2ZXIgdXNlZCBhbnltb3JlLiBSZW1vdmUgaXQuCgoyMDE1LTA0LTI3IDEzOjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdXNlIGRpZ2l0YWx6b29tIGVsZW1lbnQKCSAgUmVwbGFjZSB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlciB3aXRoIHRoZSBkaWdpdGFsem9vbQoJICBiaW4gdGhhdCBoYXMgdGhlIHNhbWUgcGlwZWxpbmUgaW50ZXJuYWxseSBhbmQgYWxyZWFkeSB1cGRhdGVzCgkgIHRoZSBjYXBzZmlsdGVyIGF1dG9tYXRpY2FsbHkgd2hlbiBjYXBzIGNoYW5nZSwgcmVtb3ZpbmcgdGhpcyBjb2RlCgkgIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyBhbmQgbWFraW5nIGl0IGNsZWFuZXIuCgoyMDE1LTA0LTI3IDIxOjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogY2hhbmdlIHZpZGVvY3JvcCBwYXJhbWV0ZXJzIGJlZm9yZSBwYXNzaW5nIGNhcHMgZXZlbnQKCSAgQXZvaWRzIG9uZSBleHRyYSB1bmVlZGVkIHJlbmVnb3RpYXRpb24gaWYgdGhlIGVsZW1lbnRzIGFyZSBhbHJlYWR5CgkgIGNvbmZpZ3VyZWQgdG8gdGhlaXIgZmluYWwgcHJvcGVydHkgdmFsdWVzIHdoZW4gdGhlIGNhcHMgZXZlbnQKCSAgZ29lcyB0aHJvdWdoLgoJICBBbHNvIGF2b2lkcyBoaXR0aW5nIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzQ0CgoyMDE1LTA0LTIyIDEzOjA2OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogYWxzbyBza2lwIGludGVybmFsIHBpcGVsaW5lIGluIHVwc3RyZWFtIGNhcHMgcXVlcnkKCSAgVG8gYXZvaWQgZ29pbmcgdGhyb3VnaCBvdXIgY2Fwc2ZpbHRlciB3aGljaCB3b3VsZCBsaW1pdCB0aGUgY2hvaWNlcy4KCjIwMTUtMDQtMjIgMTM6MDU6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIGNhcHMgaXMgYW55CgoyMDE1LTA0LTIxIDIzOjEwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uaDoKCSAgY2FtZXJhYmluOiBkaWdpdGFsem9vbTogY3JlYXRlIGEgYmluIGVsZW1lbnQgZm9yIGRpZ2l0YWwgem9vbWluZwoJICBJdCBjb250YWlucyB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlciBhbmQgaW1wbGVtZW50cyBkaWdpdGFsCgkgIHpvb21pbmcuCgkgIEF0IHRoaXMgbW9tZW50LCBpdCBpcyBhIHByaXZhdGUgZWxlbWVudCBvZiB0aGUgY2FtZXJhYmluIHBsdWdpbi4KCSAgVGhpcyB3aWxsIHJlbW92ZSBzb21lIGNvZGUgdXNlZCBpbiB3cmFwcGVyY2FtZXJhYmluc3JjIHRvIG1ha2UKCSAgY29kZSBjbGVhcmVyIGFuZCBkaWdpdGFsem9vbSBjYW4gcG90ZW50aWFsbHkgYmUgdXNlZCBieSBvdGhlcgoJICBhcHBsaWNhdGlvbnMgaW4gdGhlIGZ1dHVyZSwgaXQgaGFzIG5vdGhpbmcgY2FtZXJhYmluIHNwZWNpZmljLgoKMjAxNS0wNC0yNyAxMDoxMTo0MSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogVXNlIG1heGltdW0gYml0cyBwZXIgY29sb3IgaW5zdGVhZCBvZiBtaW5pbXVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MjUKCjIwMTUtMDQtMjYgMjA6NTU6MDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogVzMyIHRocmVhZCBjb3VudCBzdXBwb3J0CgkgIFRoaXMgY29kZSBpcyBpbXBvcnRlZCBmcm9tIEdMaWIgZ19nZXRfbnVtX3Byb2Nlc3NvcnMoKS4gVGhpcyBmdW5jdGlvbgoJICB3YXMgYWRkZWQgaW4gMi4zNiBidXQgd2UgZGVwZW5kIG9uIDIuMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTUKCjIwMTUtMDQtMjYgMjE6MDA6MDYgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogRml4IGZvcm1hdCBzdHJpbmcgZm9yIGdzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTYKCjIwMTUtMDQtMjYgMjE6MDM6NDUgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFuZHNwOiBEb24ndCB1c2UgdGhlIHByaXZhdGUgZmllbGQgJ21pc3Npbmdfc2FtcGxlcycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NwoKMjAxNS0wNC0yNyAxNDo1NjowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBlbnVtIGl0ZW0KCSAgVGhlIHByb3BlcnR5IGVudW0gaXRlbSBoYXMgYmVlbiB0aGVyZSBzaW5jZSB0aGUgb3JpZ2luIG9mIHRoZSBlbGVtZW50IGJ1dCBpdAoJICBoYXMgbmV2ZXIgYmVlbiB1c2VkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDQtMjcgMTQ6NDk6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogRG9uJ3QgaW5pdGlhbGl6ZSBtdWx0aXBsZSBzaGFkZXJzIG9uIHJlbmVnb3RpYXRpb24KCjIwMTUtMDQtMjcgMTA6NTU6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBmcm9tIEFSR18gdG8gUFJPUF8KCSAgUHJvcGVydHkgZW51bSBpdGVtcyBzaG91bGQgYmUgbmFtZWQgUFJPUF8gZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS4KCjIwMTUtMDQtMjcgMTA6MjQ6MDAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFJlbW92ZSB1bnVzZWQgc3RvcCBmdW5jdGlvbgoKMjAxNS0wNC0yNyAxNjowNDo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgcG9vbCBpbiB0aGUgY29ycmVjdCBwbGFjZQoJICBPdGhlcndpc2Ugd2UgY291bGQgaG9sZCBhIHBvb2wgdG8gYSBjb250ZXh0IHRoYXQgaXMgbmV2ZXIgZ29pbmcgdG8gYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0yNyAxMDowMTo1MyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IFVucmVmIHNoYWRlciBpbiA6OnN0b3AoKQoKMjAxNS0wNC0yNyAxNToyMDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IHVucmVmIGRpc3BsYXkvb3RoZXItY29udGV4dCBpbiB0aGUgY29ycmVjdCBwbGFjZQoJICBPdGhlcndpc2Ugc3RhdGUgY2hhbmdlcyBmcm9tIFBMQVlJTkctPlJFQURZLT5QQVVTRUQgd2lsbCBjYXVzZSB0aGVyZSB0bwoJICB0byBiZSBubyBkaXNwbGF5IGNvbmZpZ3VyZWQgb24gdGhlIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMTAgMTQ6MDg6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcwoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWctemFnIHNjYW4KCSAgb3JkZXIgaW50byByYXN0ZXIgc2NhbiBvcmRlciBhbmQgdmljZS12ZXJzYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA3OjU2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IHNraXAgYnl0ZSBhbGlnbm1lbnQgYml0cyB3aGlsZSBwYXJzaW5nIHNsaWNlIGhlYWRlcgoJICBTa2lwIHRoZSBieXRlIGFsaWdubWVudCBiaXRzIGFzIHBlciB0aGUgbG9naWMgb2YgYnl0ZV9hbGlnbm1lbnQoKQoJICBwcm92aWRlZCBpbiBoZXZjIHNwZWNpZmljYXRpb24uIFRoaXMgd2lsbCBmaXggdGhlIGNhbGN1bGF0aW9uIG9mCgkgIHNsaWNlIGhlYWRlciBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA3OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgTnVtRGVsdGFQb2NzIGNhbGN1bGF0aW9uCgkgIEFsd2F5cyB1c2UgdGhlIGVxdWF0aW9uIHByb3ZpZGVkIGluIHNwZWMgKDctNTcpIGZvciBmaW5kaW5nCgkgIHRoZSBOdW1EZWx0YVBvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNDoxNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIE51bVBvY1RvdGFsQ3VyciBjYWxjdWxhdGlvbgoJICBUaGUgTnVtUG9jVG9hbEN1cnIgc2hvdWxkIGJlIGNhbGN1bGF0ZWQgZm9yIGFsbCBCIGFuZCBQIHNsaWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxMzo1OTo1MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggbmFsIHNpemUgY2FsY3VsYXRpb24gZm9yIEVPUyBhbmQgRU9CCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMjYgMjE6NDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogRGUtY2FtZWxjYXNlIG9uSW5pdEZCTygpIHZmdW5jCgoyMDE1LTA0LTI2IDIxOjM5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSBvblN0YXJ0L29uU3RvcCB2ZnVuY3MsIGFuZCB1bnVzZWQgb25SZXNldCgpCgkgIG9uU3RhcnQvb25TdG9wIGFyZSBqdXN0IGR1cGxpY2F0ZXMgb2YgdGhlIGJhc2V0cmFuc2Zvcm0gb25lcywgb25SZXNldAoJICB3YXMgbmV2ZXIgY2FsbGVkIGJ1dCB3YXMgdXNlZCBldmVyeXdoZXJlIHdoZW4gc3RvcCBzaG91bGQndmUgYmVlbiB1c2VkLgoKMjAxNS0wNC0yMSAwOTo0Mzo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZG9uJ3QgaW5pdGlhbGl6ZSBtdWx0aXBsZSBzaGFkZXJzIG9uIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNwoJICAqIGRlbGV0ZSBzaGFkZXIgaWYgb25lIGV4aXN0cwoJICAqIHNldCBpdCB0byBOVUxMIGFmdGVyIHVucmVmaW5nCgoyMDE1LTA0LTI2IDIxOjExOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6MjMwOjE5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdpbl9zdHJ1Y3R1cmUnCgkgIFstV2Vycm9yLC1XdW51c2VkLXZhcmlhYmxlXQoJICBHc3RTdHJ1Y3R1cmUgKmluX3N0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOwoJICBeCgoyMDE1LTA0LTE1IDAxOjI0OjQ1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRyb3AgZnJhbWVzIHdlIGdldCBiZWZvcmUgd2UgaGF2ZSBhIGNsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNTQKCjIwMTUtMDQtMjYgMjA6MzM6NDEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBVbnJlZiBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplLCBhbmQgZGlzcGxheSBpbiBSRUFEWS0+TlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTE5IDE5OjE2OjU1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogS2VlcCBjb2xvcmltZXRyeSBhbmQgY2hyb21hLXNpdGUgZmllbGRzIGlmIHBhc3N0aHJvdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxNDEKCjIwMTUtMDQtMjYgMTg6MDQ6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4YmFkL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBvYnNvbGV0ZSBBbmRyb2lkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxNS0wNC0xOSAwMDo1NTo1MCArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgdnRkZWM6IGZpeCBidWlsZCBlcnJvciB3aXRoIGNsYW5nCgkgIFRoaXMgY29tbWl0IGZpeGVzIGEgc2ltcGxlIGJ1aWxkIGVycm9yIGJ5IGNsYW5nIHdpdGgKCSAgYnkgY2xhbmcgd2l0aCBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1wb2ludGVyLWNvbXBhcmVdIG9wdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMTAKCjIwMTUtMDQtMjYgMTk6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE9ubHkgYW5zd2VyIHRoZSBkdXJhdGlvbiBxdWVyeSBpbiBub24tbGl2ZSBtb2RlCgoyMDE1LTA0LTI1IDE4OjUwOjUyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IHRoZSBsaWNlbnNlIGZyb20gR1BMIHRvIExHUEwKCSAgVGhpcyB3YXMgYSBjb3B5J24ncGFzdGUgYnVmIGluIHRoZSBpbml0aWFsIGNvbW1pdCBkb25lIGJ5IG15c2VsZi4KCjIwMTUtMDQtMjUgMTg6NDY6NDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IHRoZSBsaWNlbnNlIGZyb20gR1BMIHRvIExHUEwKCSAgVGhpcyB3YXMgYSBjb3B5J24ncGFzdGUgYnVmIGluIHRoZSBpbml0aWFsIGNvbW1pdCBkb25lIGJ5IG15c2VsZi4KCjIwMTUtMDQtMjUgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHJlbW92ZSBHUEwzIGNvZGUgd2UgZG9uJ3QgbmVlZAoJICBJZiA5NSUgb2YgdGhlIGNvZGUgb2YgYW4gZXhhbXBsZSBhcHAgY29uc2lzdHMgb2YgR09iamVjdAoJICBjb2RlLCBtYXliZSB0aGF0J3MgZGVmZWF0aW5nIHRoZSBwb2ludCBhIGxpdHRsZS4gU28ganVzdAoJICByZW1vdmUgYSBsb3Qgb2YgdGhhdCBhbmQgdHJpbSBkb3duIHRoZSBleGFtcGxlIHRvIHRoZQoJICBhYnNvbHV0ZSBtaW5pbXVtLiBBbHNvIHJlbW92ZXMgdGhlIGxhc3QgcmVtYWluaW5nIEdQTDMKCSAgbGljZW5zZWQgY29kZSBpbiAtYmFkLgoKMjAxNS0wNC0yNSAxMjo1MjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiBzaW1wbGlmeSBwcm9wZXJ0eSBzZXR0aW5nCgoyMDE1LTA0LTI1IDEyOjQ4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHBvcnQgdG8gMS54CgoyMDE0LTExLTIwIDAwOjMzOjQ0ICswMTAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcmVsaWNlbnNlIG9wZW5jdiBleGFtcGxlIHRvIExHUEx2MgoKMjAxNS0wNC0yNCAxNDowNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGFkZCB0ZXN0cyBmb3IgR3N0UGhvdG9ncmFwaHkgaW1hZ2UgY2FwdHVyZQoJICBHc3RQaG90b2dyYXBoeSBlbmFibGVzIG5ldyBwYXRocyBpbiB3cmFwcGVyY2FtZXJhYmluc3JjIHRoYXQgYWxsb3dzCgkgIHRoZSBzb3VyY2UgdG8gYmUgbm90aWZpZWQgYWJvdXQgdGhlIGNhcHR1cmUgY2FwcyBhbmQgcHJvdmlkZSBhbgoJICBhbHRlcm5hdGl2ZSBjYXBzIGlmIGRlc2lyZWQgYnlwYXNzaW5nIHRoZSBuZWdvdGlhdGlvbiAodGhpcyBkb2Vzbid0CgkgIHNlZW0gbGlrZSBhIGdvb2QgaWRlYSB0aGVzZSBkYXlzKS4gVG8gbWFrZSBzdXJlIGl0IGtlZXBzIHdvcmtpbmcKCSAgdW50aWwgd2UgcmVtb3ZlIGl0IGZyb20gdGhlIEFQSSBpbiBmYXZvciBvZiBzdGFuZGFyZCBjYXBzIG5lZ290aWF0aW9uCgkgIGZlYXR1cmVzIHRoaXMgdGVzdCB3YXMgYWRkZWQuCgkgIEl0IGFkZHMgMyBleHRyYSB0ZXN0cyB3aXRoIGEgc2ltcGxlIHRlc3Qgc291cmNlIHRoYXQgd2lsbDoKCSAgMSkgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIEFOWSBjYXBzIHdvcmsKCSAgMikgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIGEgZml4ZWQgY2FwcyB3b3JrCgkgIDMpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBhIGZpeGVkIGNhcHMgYW5kIGhhdmluZyB0aGUgc291cmNlCgkgIHBpY2sgYSBkaWZmZXJlbnQgcmVzb2x1dGlvbiBmcm9tIEdzdFBob3RvZ3JhcGh5IEFQSSB3b3JrcwoJICBieSBoYXZpbmcgd3JhcHBlcmNhbWVyYWJpbnNyYyBjcm9wIHRoZSBjYXB0dXJlIHRvIHRoZSBmaW5hbAoJICByZXF1ZXN0ZWQgZGltZW5zaW9ucwoKMjAxNS0wNC0yNCAxNDoxOTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJld29yayBjcm9wcGluZyBmb3Igem9vbSBhbmQgZGltZW5zaW9uIHJlZHVjdGlvbgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIGhhcyBhIHZpZGVvY3JvcCBlbGVtZW50IHRvIGJlIHVzZWQgZm9yCgkgIHpvb21pbmcgYW5kIGZvciBjcm9wcGluZyB3aGVuIGlucHV0IGNhcHMgaXMgZGlmZmVyZW50IHdoZW4gdXNlZAoJICB3aXRoIHRoZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UuIFRoZSB6b29taW5nIHBhcnQgbmVlZHMKCSAgdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCSAgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIFRoZSBjYXBzZmlsdGVycyBzaG91bGQgYWx3YXlzIGhhdmUgdGhlIHNhbWUgY2FwcyB0byBlbnN1cmUgdGhlCgkgIHpvb21pbmcgaXMgZG9uZSBhbmQgcHJlc2VydmVzIGRpbWVuc2lvbnMsIHVubGVzcyB3aGVuIGl0IGlzIG5lZWRlZAoJICB0byBkbyBtb3JlIGNyb3BwaW5nIGR1ZSB0byBpbnB1dCBkaW1lbnNpb25zIHRob3NlIGNhcHMKCSAgbmVlZCB0byBiZSBtb2RpZmllZCBhY2NvcmRpbmdseSB0byBwcmVzZXJ2ZSB0aGUgb3V0cHV0IGRpbWVuc2lvbnMuCgkgIFRoaXMsIGhvd2V2ZXIsIG1ha2VzIGl0IGhhcmQgdG8gZ2V0IGNhcHMgbmVnb3RpYXRpb24gdG8gd29yayBwcm9wZXJseQoJICBhcyB3ZSBuZWVkIHRvIGhhdmUgZGlmZmVyZW50IGNhcHMgaW4gdGhlIGNhcHNmaWx0ZXJzIHRvIGFjY291bnQgZm9yCgkgIHRoZSBleHRyYSBjcm9wcGluZyBuZWVkZWQuIEl0IGNvdWxkIGJlIHNpbXBsZSBmb3IgZml4ZWQgY2FwcyBidXQgaXQKCSAgZ2V0cyB0cmlja3kgd2l0aCB1bmZpeGVkIG9uZXMuCgkgIFRvIHNvbHZlIHRoaXMsIHRoaXMgcGF0Y2ggc3BsaXRzIHRoZSB6b29taW5nIGFuZCBkaW1lbnNpb24gcmVkdWN0aW9uCgkgIGNyb3BwaW5nIGludG8gMiBzZXBhcmF0ZSB2aWRlb2Nyb3AgZWxlbWVudHMuIFRoZSBmaXJzdCBvbmUgZG9lcwoJICB0aGUgZGltZW5zaW9uIGNyb3BwaW5nLCB3aGljaCBpcyBvbmx5IG5lZWRlZCB3aGVuIHRoZSBHc3RQaG90b2dyYXBoeQoJICBBUEkgaXMgdXNlZCBhbmQgdGhlIHNvdXJjZSBwcm92aWRlcyBhIGNhcHMgdGhhdCBpcyBkaWZmZXJlbnQgdGhhbgoJICB3aGF0IGlzIHJlcXVlc3RlZCwgd2hpbGUgdGhlIHNlY29uZCBpcyBkZWRpY2F0ZWQgdG8gem9vbSBjcm9wIG9ubHkuCgkgIFRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBwaXBlbGluZSBnb2VzIGZyb206CgkgIHNyYyAhIHZpZGVvY29udmVydCAhIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICB0bwoJICBzcmMgISB2aWRlb2Nyb3AgISB2aWRlb2NvbnZlcnQgISBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgSXQgbWlnaHQgYWRkIGFuIGV4dHJhIG92ZXJoZWFkIGluIHRoZSBpbWFnZSBjYXB0dXJlIGFzIHRoZSBpbWFnZSBtaWdodCBuZWVkCgkgIHRvIGJlIGNyb3BwZWQgdHdpY2UgYnV0IHRoaXMgY2FuIGJlIHNvbHZlZCBieSBlbmFibGluZyB2aWRlb2Nyb3AgdG8gdXNlCgkgIGNyb3AgbWV0YXMgc28gb25seSB0aGUgbGF0ZXIgb25lIGRvZXMgdGhlIHJlYWwgY3JvcHBpbmcuCgkgIEl0IGFsc28gbWFrZXMgdGhlIGNvZGUgYSBiaXQgc2ltcGxlci4KCjIwMTUtMDQtMjQgMTQ6MTc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQKCSAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gYW5vdGhlciBwbGFjZSBhbmQgZG9lc24ndCBtYWtlIHNlbnNlCgkgIGluIHRoZSBmdW5jdGlvbiBjb250ZXh0IGFueW1vcmUKCjIwMTUtMDQtMjQgMTQ6MTY6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZXJyb3Igb3V0IGlmIHNvdXJjZSBmYWlscyB0byBwcmVwYXJlIGZvciBjYXB0dXJlCgkgIFBvc3QgYW4gZXJyb3Igd2hlbiBwcmVwYXJpbmcgdGhlIGltYWdlIGNhcHR1cmUgdGhyb3VnaCBwaG90b2dyYXBoeQoJICBpbnRlcmZhY2UgZmFpbHMKCjIwMTUtMDQtMjQgMTQ6MTM6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogaW50ZXJzZWN0IGluc3RlYWQgb2YgY29tcGFyZSBmb3IgZXF1YWxpdHkKCSAgSW50ZXJzZWN0IGlzIGVub3VnaCB0byBjaGVjayBpZiB0aGUgcmVxdWVzdGVkIGNhcHMgYXJlIGNvbXBhdGlibGUKCSAgd2l0aCB3aGF0IHRoZSBzb3VyY2UgaXMgZ29pbmcgdG8gcHJvdmlkZS4gRXF1YWxpdHkgd2lsbCBiZSB0b28gc3RyaWN0LgoKMjAxNS0wNC0yNCAxNDoxMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggdHlwbwoKMjAxNS0wNC0yNCAwMjoyMjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdGVzdHM6IHJlbW92ZSB1bnVzZWQgbWFjcm9zCgkgIFRob3NlIG1hY3JvcyB3ZXJlIHdpdGggdGhlIHdyb25nIG5hbWUgKGxpa2VseSBhIGNvcHkgbiBwYXN0ZSBtaXN0YWtlKQoJICBhbmQgd2VyZSB1bnVzZWQuCgoyMDE1LTA0LTIzIDE0OjI4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVtb3ZlIG9ic29sZXRlIGNoZWNrIGZvciAwLjEwIGZlYXR1cmUKCjIwMTUtMDQtMjQgMTY6NDg6MjMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgcmVtb3ZlIHVudXNlZCBlbnVtIGl0ZW1zIFBST1BfTEFTVAoJICBUaGlzIHdlcmUgcHJvYmFibHkgYWRkZWQgdG8gdGhlIGVudW1zIGR1ZSB0byBjYXJnbyBjdWx0IHByb2dyYW1taW5nIGFuZCBhcmUKCSAgdW51c2VkLgoKMjAxNS0wNC0yNCAxNzoxMzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBiYWxhbmNlIGNoYW5nZV9zdGF0ZSBkaXNwbGF5IHJlZi91bnJlZgoJICB0aGUgZGlzcGxheSB3YXMgYmVpbmcgdW5yZWZmZWQgb24gdGhlIGluY29ycmVjdCBzdGF0ZSBjaGFuZ2UgY2F1c2luZwoJICBpbnZhbGlkIHN0YXRlIHdoZW4gY2hhbmdpbmcgZnJvbSBQTEFZSU5HL1BBVVNFRC0+UkVBRFktPlBBVVNFRC9QTEFZSU5HLgoKMjAxNS0wNC0yMyAxNzo0MzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRG9uJ3QgY2xhaW0gdG8gYmUgbGl2ZSB3aGVuIGFuc3dlcmluZyB0aGUgTEFURU5DWSBxdWVyeQoJICBFdmVuIGZvciAibGl2ZSIgc3RyZWFtcyB3ZSBhcmUgbm90IGxpdmUgaW4gdGhlIEdTdHJlYW1lciBtZWFuaW5nIG9mIHRoZSB3b3JkLgoJICBXZSBkb24ndCBwcm9kdWNlIGJ1ZmZlcnMgdGhhdCBhcmUgdGltZXN0YW1wZWQgYmFzZWQgb24gdGhlaXIgImNhcHR1cmUgdGltZSIKCSAgYW5kIG91ciBjbG9jaywgYnV0IGp1c3QgYmFzZWQgb24gd2hhdGV2ZXIgdGltZXN0YW1wcyB0aGUgc3RyZWFtIG1pZ2h0IGNvbnRhaW4uCgkgIEFsc28gZXZlbiBpZiB3ZSB3YW50ZWQgdG8gY2xhaW0gdG8gYmUgbGl2ZSwgdGhhdCB3b3VsZG4ndCB3b3JrIHdlbGwgYXMgd2UKCSAgd291bGQgaGF2ZSB0byByZXR1cm4gR1NUX1NUQVRFX0NIQU5HRV9OT19QUkVST0xMIHdoZW4gZ29pbmcgZnJvbSBSRUFEWSB0bwoJICBQQVVTRUQsIHdoaWNoIHdlIGNhbid0LiBXZSBmaXJzdCBuZWVkIGRhdGEgdG8ga25vdyBpZiB3ZSBhcmUgImxpdmUiIG9yIG5vdC4KCjIwMTUtMDQtMjMgMTc6Mzk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFVzZSB0aGUgZG93bmxvYWRlciBvZiB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkIG9mIGNyZWF0aW5nIG91ciBvd24KCSAgVGhlIG9uZSBvZiB0aGUgYmFzZSBjbGFzcyBpcyBjb21wbGV0ZWx5IHVudXNlZCBiZWNhdXNlIHdlIG92ZXJyaWRlIGFsbAoJICB0aGUgZG93bmxvYWRpbmcgaGVyZSwgc28gbGV0J3MganVzdCB1c2UgdGhhdCBvbmUgaW5zdGVhZC4KCjIwMTUtMDQtMjMgMTc6MzY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IERvbid0IGVycm9yIG91dCBpZiB3ZSBjYW4ndCBtYXRjaCB2YXJpYW50IHBsYXlsaXN0cyBhZnRlciB1cGRhdGluZwoJICBJdCdzIGJldHRlciB0byBqdXN0IHNlbGVjdCBzb21lIHJhbmRvbSB2YXJpYW50IHBsYXlsaXN0IGluc3RlYWQgb2Ygc3RvcHBpbmcsCgkgIGNoYW5jZXMgYXJlIHRoYXQgaXQncyBzdGlsbCBjb250aW51aW5nIHRvIHdvcmsgYW5kIHdlIG1pZ2h0IGp1c3QgaGF2ZSB0bwoJICBzZWxlY3QgYSBkaWZmZXJlbnQgdmFyaWFudCBhZ2FpbiBsYXRlci4KCjIwMTUtMDQtMjMgMTc6MzM6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggaG93IHRoZSBwbGF5bGlzdHMgYXJlIHJlZnJlc2hlZAoJICBXZSBzaG91bGQgb25seSByZWZyZXNoIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFyaWFudCBwbGF5bGlzdCAoaWYgYW55LAoJICBvdGhlcndpc2UgdGhlIG1haW4gcGxheWxpc3QpLCBub3QgdGhlIG1haW4gcGxheWxpc3QuIEFuZCBvbmx5IHRyeSB0bwoJICByZWZyZXNoIHRoZSBtYWluIHBsYXlsaXN0IGlmIHVwZGF0aW5nIHRoZSB2YXJpYW50IHBsYXlsaXN0IGZhaWxzLgoJICBTb21lIHNlcnZlcnMgKFdvd3phKSB1c2UgdGhlIHJlcXVlc3Qgb2YgdGhlIG1haW4gcGxheWxpc3QgdG8gY3JlYXRlIGEKCSAgInNlc3Npb24iLCB3aGljaCBpcyB0aGVuIHBhcnQgb2YgdGhlIFVSSSBvZiB0aGUgdmFyaWFudCBwbGF5bGlzdCBhbmQKCSAgYWxzbyB0aGUgZnJhZ21lbnRzLiBSZWZyZXNoaW5nIHRoZSBtYWluIHBsYXlsaXN0IHdvdWxkIGdlbmVyYXRlIGEgbmV3CgkgIHNlc3Npb24sIGFuZCB0aGUgc2VydmVyIHJhdGUgbGltaXRzIHRoYXQgdXN1YWxseS4gQW5kIGFmdGVyIGEgZmV3IHJldHJpZXMKCSAgdGhlIHNlcnZlciBqdXN0IGtpY2tzIHVzIG91dC4KCSAgQWxzbyBhcyBhIHNpZGUgZWZmZWN0IHdlIG5vdyB1c2UgdGhlIHNhbWUgZG93bmxvYWRlciBmb3IgYWxsIHBsYXlsaXN0cywgc28KCSAgdGhhdCB3ZSBvbmx5IGhhdmUgMiBpbnN0ZWFkIG9mIDMgY29ubmVjdGlvbnMgdG8gdGhlIHNlcnZlci4gQW5kIGFsc28KCSAgcHJldmlvdXNseSB3ZSBqdXN0IGlnbm9yZWQgdGhlIGRvd25sb2FkZWQgZGF0YSBmcm9tIHRoZSBtYWluIHBsYXlsaXN0IHRoYXQKCSAgdGhlIGJhc2UgY2xhc3MgZ2F2ZSB0byB1cy4KCjIwMTUtMDQtMjMgMTc6MjI6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEFsbG93IHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUgaG93IGEgbmV3IG1hbmlmZXN0IHdvdWxkIGJlIGRvd25sb2FkZWQKCjIwMTUtMDQtMjMgMTc6MDI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogRXhwb3NlIGRvd25sb2FkZXIKCSAgVGhpcyBhbGxvd3Mgc3ViY2xhc3NlcyB0byB1c2UgaXQgYW5kIHNoYXJlIGNvbm5lY3Rpb25zIGlmIHBvc3NpYmxlLgoKMjAxNS0wNC0yMyAxNjo0MzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDE1LTA0LTIzIDE2OjQwOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkZWZpbmUgR1NUX0NIRUNLX1RFU1RfRU5WSVJPTk1FTlRfQkVBQ09OCgkgIE1ha2Ugc3VyZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBpcyBzZXQgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjM5OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xNCBhbmQgYXV0b2NvbmYgdG8gMi42OQoJICBUaGlzIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGJ1aWxkcyBmcm9tIGdpdCwgcGVvcGxlIGNhbiBzdGlsbAoJICBidWlsZCB0YXJiYWxscyBpZiB0aGV5IG9ubHkgaGF2ZSBvbGRlciBhdXRvdG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjQ3OjQwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogUmVsZWFzZSBnbHVwbG9hZCBidWZmZXIgd2hlbiBjYXBzIGFyZSBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzEKCjIwMTUtMDQtMjMgMTE6NDc6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJICBnYXVkaTogZG9uJ3QgcnVuIGdhdXNzaWFuIGZ1bmN0aW9uIGlmIHNpZ21hIGlzIDAKCjIwMTUtMDQtMjIgMTk6Mjg6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSB0b28gc2hvcnQgc2VnbWVudHMKCSAgV2hlbiB0aGUgc2VnbWVudCBpcyB2ZXJ5IHNob3J0IGl0IG1pZ2h0IGJlIHRoZSBjYXNlIHRoYXQgdGhlCgkgIHR5cGVmaW5kaW5nIGZhaWxzIGFuZCB3aGVuIGZpbmlzaGluZyB0aGUgc2VnbWVudCBobHNkZW11eCB3b3VsZAoJICBjb25zaWRlciB0aGUgcmVtYWluaW5nIGRhdGEgKHBlbmRpbmdfYnVmZmVyKSBhcyBhbiBlbmNyeXB0aW9uCgkgIGxlZnRvdmVyLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGFuZCBtYWtlcyBzdXJlIGFuIGVycm9yIGlzIHByb3Blcmx5IHBvc3RlZAoJICBpZiB0eXBlZmluZCBmYWlsZWQgYnkgcmVmYWN0b3JpbmcgYnVmZmVyIGhhbmRsaW5nIHRvIGEgZnVuY3Rpb24KCSAgYW5kIHVzaW5nIGl0IGZyb20gdGhlIGRhdGFfcmVjZWl2ZWQgYW5kIGZpbmlzaF9mcmFnbWVudCBmdW5jdGlvbnMuCgoyMDE1LTA0LTIyIDE5OjA0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1c2UgY29ycmVjdCB2YXJpYWJsZSB0eXBlCgkgIGdzdF9idWZmZXJfcmVzaXplIG5lZWRzIGdzc2l6ZSBhbmQgbm90IGdzaXplLiBUaGlzIG1ha2VzIGdkYgoJICBwcmludCBpdCBjb3JyZWN0bHkgd2hlbiBkZWJ1Z2dpbmcuCgoyMDE1LTA0LTIyIDE3OjA4OjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGZpeCBtb2RlIGF1dG9kZXRlY3Rpb24KCSAgVGhlIGF1dG9kZXRlY3Rpb24gbW9kZSB3YXMgYnJva2VuIGJlY2F1c2UgYSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgaW5wdXQgbW9kZQoJICBzZXR0aW5nLiBUaGUgbW9kZSBjb3VsZCBiZSByZXZlcnRlZCBiYWNrIHdoZW4gaXQgd2FzIHJlcGxhY2VkIGluCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGJ5IHRoZSBvbGQgbW9kZSBpbiB0aGUgbWlkZGxlIG9mIG1vZGUgY2hhbmdlZCBjYWxsYmFjay4KCjIwMTUtMDQtMjIgMTc6MDQ6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBkbyBub3QgcmVwZWF0IGZpcnN0IHZpZGVvIGZvcm1hdCBpbiBjYXBzIHRlbXBsYXRlCgkgIFRoZSBmaXJzdCBlbnRyeSBpbiB0aGUgbW9kZXMgYXJyYXkgaXMgdXNlZCBhcyBkZWZhdWx0IG1vZGUgZm9yIGF1dG9kZXRlY3Rpb24uCgkgIFRoZXJlJ3Mgbm8gbmVlZCB0byBjb3B5IGl0IGludG8gdGhlIGNhcHMgdGVtcGxhdGUuCgoyMDE1LTA0LTIyIDE1OjA0OjAzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGk6IGZpeCB0byAzMDc4MGRiMQoJICBUaGUgc2Vjb25kIGNoZWNrIGZvciAoZmFjdG9yID09IDApIGNyZWVwZWQgaW4gdGhlIGxhc3QgY29tbWl0LgoJICBBcG9sb2dpZXMuCgoyMDE1LTA0LTIyIDE0OjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGk6IGZpeCBleGNsdXNpb24ncyBmYWN0b3IgcmFuZ2UKCSAgQXZvaWQgZGl2aWRpbmcgYnkgemVybyB3aGVuIHRoZSBmYWN0b3IgaXMgemVyby4gSW5zdGVhZCwgb3V0cHV0IGEgYnVmZmVyIHdpdGgKCSAgYWxsIGNvbG9yIHZhbHVlcyBhcyB6ZXJvLgoKMjAxNS0wNC0yMiAxNDoxNToxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGk6IHJlbW92ZSBmbG9vciB2YXJpYWJsZSBpbiBzb2xhcml6ZQoJICBGbG9vciB2YXJpYWJsZSBoYXMgbm8gZWZmZWN0IGFuZCBpdCBpc24ndCB3b3J0aCBpdCB0byBoYXZlIGl0IGFkanVzdGFibGUuCgoyMDE1LTA0LTIyIDEzOjU1OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaTogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eQoKMjAxNS0wNC0yMiAxODo1NDo0NSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgV2hpbGUgcHJpbnRpbmcgZXJyb3IgbWVzc2FnZSB3aGVuIGNvbnRleHQgZmFpbHMsIGVycm9yIHZhcmlhYmxlIGlzIG5vdCBiZWluZyB1c2VkIGFueW1vcmUKCSAgc28gaXQgd2lsbCBsZWFkIHRvIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mjg3CgoyMDE1LTA0LTIyIDEwOjM4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogSU5TVEFMTDoKCSAgUmVtb3ZlIElOU1RBTEwgZmlsZQoJICBhdXRvdG9vbHMgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGlzLCBhbmQgd2hlbiB1c2luZyBkaWZmZXJlbnQgdmVyc2lvbnMKCSAgZm9yIGF1dG9nZW4uc2ggdGhlcmUgd2lsbCBhbHdheXMgYmUgY2hhbmdlcyB0byBhIGZpbGUgdHJhY2tlZCBieSBnaXQuCgoyMDE1LTA0LTIyIDEwOjM4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkgIFJlbW92ZSBMSUNFTlNFX3JlYWRtZQoJICBJdCdzIGNvbXBsZXRlbHkgb3V0ZGF0ZWQgYW5kIGp1c3QgY29uZnVzaW5nLCBiZXR0ZXIgaWYgcGVvcGxlIGFyZQoJICBmb3JjZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIGNvZGUgaW4gcXVlc3Rpb24gdGhhbiB0cnVzdGluZyB0aGlzIGZpbGUuCgoyMDE1LTA0LTIxIDIyOjA0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBzdG9wIGFsbCB0YXNrcyBhbmQgc3RyZWFtcyBmcm9tIHRoZSB1cGRhdGUgdGFzayBvbiBlcnJvcnMKCSAgSXQgd2lsbCBkZWFkbG9ja3MgYXMgd2Ugd2lsbCB0aGVuIGpvaW4oKSB0aGUgdXBkYXRlIHRhc2sgZnJvbSBpdHNlbGYuIEluc3RlYWQKCSAganVzdCBwb3N0IGFuIGFjdHVhbCBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgYW5kIG9ubHkgc3RvcCB0aGUgdXBkYXRlIHRhc2suCgkgIFRoZSBhcHBsaWNhdGlvbiBpcyB0aGVuIHJlc3BvbnNpYmxlIGZvciBzaHV0dGluZyBkb3duIHRoZSBlbGVtZW50LCBhbmQgdGh1cwoJICBhbGwgdGhlIG90aGVyIHRhc2tzIGFuZCBldmVyeXRoaW5nLCBiYXNlZCBvbiB0aGUgZXJyb3IgbWVzc2FnZSBpdCBnZXRzLgoKMjAxNS0wNC0yMSAxODoyOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBzZWVraW5nCgkgIFdlIGFsc28gaGF2ZSB0byB1cGRhdGUgdGhlIGN1cnJlbnRfZmlsZSBHTGlzdCBwb2ludGVyIGluIHRoZSBNM1UgcGxheWxpc3QKCSAgY2xpZW50LCBvdGhlcndpc2Ugd2UgYXJlIGp1c3QgY29udGludWluZyBwbGF5YmFjayBmcm9tIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIGluc3RlYWQgb2Ygc2Vla2luZy4KCjIwMTUtMDQtMjEgMTg6MDU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBjYWxsIHVubG9jaygpIGp1c3QgdG8gY2FsbCBsb2NrKCkgaW1tZWRpYXRlbHkgYWZ0ZXJ3YXJkcwoKMjAxNS0wNC0yMCAwODoyMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZXNldCB6b29tIGVsZW1lbnQgY2FwcyB0byBnbyB0byB2aWV3ZmluZGVyIG1vZGUKCSAgQXZvaWRzIG5vdC1uZWdvdGlhdGVkIGZhaWx1cmVzIHJlbGF0ZWQgdG8gdXNpbmcgaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIHN0aWxsIHdoZW4gYWRqdXN0aW5nIHRvIGdvIGJhY2sgdG8gdmlld2ZpbmRlci4KCjIwMTUtMDQtMjAgMDg6MjA6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhZGQgdGVzdCBmb3IgY2FwdHVyZSB3aXRoIGRpZmZlcmVudCBjYXBzCgkgIEFkZHMgYSB0ZXN0IHRvIHZlcmlmeSB0aGF0IHZpZXdmaW5kZXIgYW5kIGltYWdlIGNhcHR1cmUgY2FwcwoJICBjYW4gYmUgc2V0IHRvIG5vbi1pbnRlcnNlY3RpbmcgY2FwcyBhbmQgc3RpbGwgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg2OAoKMjAxNS0wNC0yMCAwODo0Mjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggbGVhayBvZiBkcmFpbiBxdWVyeQoJICBnc3RfcGFkX3BlZXJfcXVlcnkgZG9lc24ndCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgcXVlcnkgb2JqZWN0CgoyMDE1LTA0LTIwIDA4OjQyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVmYWN0b3IgaW50ZXJuYWwgcGlwZWxpbmUKCSAgUmVtb3ZlIHRlZSBhbmQgb3V0cHV0LXNlbGVjdG9yIGFuZCBqdXN0IGxpbmsgdGhlIHNvdXJjZQoJICBwYWQgdG8gdGhlIG91dHB1dHMgd2Ugd2FudCBhcyBuZWVkZWQuCgkgIFRoZSB3YXkgd2UgbmVlZCB0byBwcmlvcml0aXplIGNhcHMgbmVnb3RpYXRpb24gYW5kIGFsbG9jYXRpb24KCSAgcXVlcmllcyBkZXBlbmRpbmcgb24gdGhlIG1vZGUgZW5hYmxlZCBpcyB0b28gY3VzdG9tIHRvIGJlCgkgIGhhbmRsZWQgdXNpbmcgdGVlIGFuZCBvdXRwdXQtc2VsZWN0b3IuCgkgIFRoaXMgcHJvdmlkZXMgbW9yZSBmbGV4aWJpbGl0eSBhbmQgZG9lc24ndCBnZXQgaW4gdGhlIHdheSBvZiBwcm9wZXIKCSAgaGFuZGxpbmcgb2YgbmVnb3RpYXRpb24gYW5kIGFsbG9jYXRpb24gcXVlcmllcy4KCjIwMTUtMDQtMDUgMjA6MTg6NTYgKzAyMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogQ3JlYXRlIGVsZW1lbnQgZm9yIGVhY2ggZWZmZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MjI6NTIgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBsYXBsYWNpYW4gZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjIwOjQ5ICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBzb2JlbCBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MTM6MzAgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIGJsdXIgZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIxIDIzOjUwOjMzICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBnbGVmZmVjdHM6IENvcnJlY3QgYXR0cmlidXRlcyBmb3IgaGNvbnYgYW5kIHZjb252IHNoYWRlcnMKCSAgV2lkdGggYW5kIGhlaWdodCB3ZXJlIHN3aXRjaGVkIGZvciBnbG93IHNoYWRlcnMuIEZvciBibHVyCgkgIGZpbHRlciBhdHRyaWJ1dGVzIG5hbWVzIHdlcmUgb2Jzb2xldGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjEgMjM6MjE6MTMgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBGaXggZmlzaGV5ZSBzaGFkZXIgLSBwYXNzIGZsb2F0IHRvIHNxcnQKCSAgT24gT1NYIHBhc3NpbmcgbGl0ZXJhbCBpbnQgdG8gc3FydCgpIGluIEdMU0wgcmVzdWx0cyBpbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wNC0yMSAwNzoyODo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IHNoYWRlciBtZW1vcnkgbGVhawoKMjAxNS0wNC0yMSAxMjoyNToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiB0cmFjayBjb250ZXh0IGFjdGl2YXRpb24gcHJvcGVybHkKCSAgV2Ugb25seSBuZWVkIHRvIGRlYWN0aXZhdGUvcmVhY3RpdmF0ZSB0aGUgY29udGV4dCBpZmYgaXQgd2FzIGFscmVhZHkKCSAgYWN0aXZlLgoKMjAxNS0wNC0yMSAxMjoxOTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBzeW5jaHJvbml6ZSB0aGUgc2VhcmNoaW5nIGFuZCBjcmVhdGlvbiBvZiBHc3RHTENvbnRleHQncwoJICBPb3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCB3aXRoIG11bHRpcGxlIGVsZW1lbnRzIGluIGRpZmZlcmVudCBjaGFpbnMKCSAgZWFjaCBjcmVhdGluZyBhIGNvbnRleHQuICBGaXhlcyBjb250ZXh0IGNyZWF0aW9uIHdpdGggZ2x2aWRlb21peGVyLgoKMjAxNS0wNC0yMCAxNDozNToxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmVtb3ZlIGRlYWQgY29kZQoJICBUaGUgZGV0ZWN0aW9uIGZvciBtaXNzaW5nIGZvcm1hdC9hbGlnbm1lbnQgaXMgZG9uZSB3YXkgYmVmb3JlIHRoaXMKCSAgY29kZXBhdGggaXMgcmVhY2hlZCAoYXQgd2hpY2ggcG9pbnQgd2UgaGF2ZSBhbHJlYWR5IGRlY2lkZWQgb2YgYQoJICBmb3JtYXQgYW5kIGFsaWdubWVudCkuCgkgIENJRCAjMTIzMjgwMAoKMjAxNS0wMS0wNyAxNjoyNjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgVmFyaWFibGUgaGFuZHMgaXMgYWxyZWFkeSBjaGVja2VkIHRvIGNvbnRhaW4gYSB2YWx1ZSBwcmV2aW91c2x5IGF0IHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIGN1cnJlbnQgYmxvY2suIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW4uIFRoaXMgaXMgbG9naWNhbGx5IGRlYWQgY29kZS4KCSAgQ0lEIDExOTc2OTMKCjIwMTUtMDQtMjAgMTQ6MjA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRW5zdXJlIHN0cmluZyByZWNlaXZlZCBmcm9tIHJlY3YoKSBpcyBOVUxMLXRlcm1pbmF0ZWQKCSAgV2Ugd2lsbCBiZSBkb2luZyBzdHJpbmcgb3BlcmF0aW9ucyBvbiBpdCBsYXRlci4KCSAgQ0lEICMxMjkyODMwCgoyMDE1LTA0LTIwIDExOjMwOjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY2xlYW4gYXNzaWdubWVudCB0eXBvCgkgIE5vIG5lZWQgdG8gc2V0IHRoZSB2YWx1ZSB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoJICBDSUQgIzI5NTEyMgoKMjAxNS0wNC0yMCAxMDo1Nzo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcG9zaXRpb24gb2YgR3N0U2VnbWVudCBpcyBhbiB1bnNpZ25lZCBpbnQ2NCwgaXQgY2FuIG5ldmVyIGJlIGJlbG93IHplcm8uCgkgIENJRCAjMTI5NTEyMwoKMjAxNS0wMi0wOSAxMToyOTo0NiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IGV4Y2VwdGlvbiB3aGVuIGJsb2NrIHdpZHRoIHRvIDAKCSAgV2hlbiBibG9jayB3aWR0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgZXhjZXB0aW9uIG9jY3Vycy4KCSAgVGhpcyBoYXBwZW5zIGR1ZSB0byBkaXZpZGUgYnkgemVybyBlcnJvcnMgaW4gY2FsY3VsYXRpb25zLgoJICBibG9jayB3aWR0aCBwcm9wZXJ0eSBjYW4gbmV2ZXIgYmUgMC4gSGVuY2UgYWRqdXN0aW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxODgKCjIwMTUtMDQtMTUgMTU6MjI6MzcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZml4IGNhcHMgbGVhayBpbiBnc3RfZ2xfbWl4ZXJfcGFkX3NpbmtfZ2V0Y2FwcygpCgkgIENhcHMgcmVmY291bnRpbmcgd2FzIGFsbCB3cm9uZyBpbiB0aGlzIGZ1bmN0aW9uLiBSZXdyb3RlIGl0IGFuZCBhZGQgc29tZQoJICBjb21tZW50cyB0byBtYWtlIGl0IGNsZWFyZXIuCgkgIEZpeCBjYXBzIGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTUKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTIwIDE3OjA4OjIzICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXZvaWQgaW1wbGljaXQgY29sb3IgY29udmVyc2lvbnMKCSAgUmV3b3JrIHRoZSBHTCB0ZXh0dXJlIGNvZGUgYSBsaXR0bGUgdG8gYXZvaWQgaW1wbGljaXQgY29sb3IgY29udmVyc2lvbiBpbnNpZGUKCSAgQVZGL1ZUIG9uIGJvdGggaU9TIGFuZCBPU1guCgoyMDE1LTA0LTE5IDAxOjE1OjA3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogZnJlZSB0ZXh0dXJlIGNhY2hlIG9uIGlPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTIyCgoyMDE1LTA0LTE5IDAxOjIxOjQwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGZvciBmYWlsdXJlIHRvIGNyZWF0ZSBidWZmZXIKCSAgZ3N0X2NvcmVfbWVkaWFfYnVmZmVyX25ldyBhbmQgZ3N0X2NvcmVfdmlkZW9fdGV4dHVyZV9jYWNoZV9nZXRfZ2xfYnVmZmVyCgkgIGNhbiBmYWlsIGZvciB2YXJpb3VzIHBsYXRmb3JtIHJlYXNvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjIKCjIwMTUtMDQtMTkgMTM6MTI6MDUgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCBmYWlsdXJlIHdpdGggY2xhbmcKCSAgVXNlIGZhYnMgZm9yIGZsb2F0aW5nIHBvaW50IGlucHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTI4CgoyMDE1LTA0LTE3IDEzOjU3OjM4IC0wNjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIHVudXNlZCBsYXRlbmN5IHF1ZXJ5IGNvZGUKCSAgVGhlIGJlaGF2aW9yIGNoYW5nZXMgYmFzZWQgb24gdGhlIHR5cGUgb2Ygc2VnbWVudCwKCSAgbm90IG9uIHRoZSBsaXZlbmVzcyBvZiB0aGUgc291cmNlLgoKMjAxNS0wNC0xNyAxMzo1NToyNiAtMDYwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFudXAgbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoJICBUaGUgbWluaW11bSBsYXRlbmN5IGlzIGFsd2F5cyAwIG9yIG1vcmUuIEFuZCB3ZSBzaG91bGQKCSAgcmVxdWVyeSB1cHN0cmVhbSBhcyBpdCBtYXkgaGF2ZSBjaGFuZ2VkLgoKMjAxNC0wNy0xNyAxMDo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhbmRsZSBxdWV1ZS9yZWxlYXNlIGVycm9ycyBub24tZmF0YWwKCSAgVGhleSBjYW4gaGFwcGVuIHNvbWV0aW1lcyBhcyBhIHRyYW5zaWVudCBwcm9ibGVtLCBlLmcuIGlmIHRoZXJlCgkgIGlzIGEgcHJvYmxlbSBpbiB0aGUgc3RyZWFtLiBPbmx5IGhhbmRsZSB0aGVtIGFzIGZhdGFsIGlmIG1hbnkgb2YKCSAgdGhlbSBoYXBwZW4gaW4gYSByb3cuCgoyMDE1LTA0LTExIDE2OjUzOjM4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuaDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogQ2hhbmdlIG9wZW5jdiBwbHVnaW4gdG8gdXNlIG9wZW5jdjItc3R5bGUgaW5jbHVkZXMKCSAgSWYgb2xkIG9wZW5jdjEtc3R5bGUgbGVnYWN5IGluY2x1ZGUgZGlyZWN0b3J5IGlzIGF2YWlsYWJsZSwKCSAgdGhpcyBjaGFuZ2UgYmVjb21lcyBwdXJlbHkgY29zbWV0aWMgKG1heWJlIHdpbGwgY29tcGlsZSBhIGJpdCBmYXN0ZXIpLgoJICBJdCBiZWNvbWVzIGFuIEZUQkZTIGZpeCB3aGVuIG9wZW5jdjEtc3R5bGUgaW5jbHVkZSBkaXJlY3RvcnkgaXMgbWlzc2luZwoJICAocG9zc2libHkgYmVjYXVzZSBvcGVuY3YgcGFja2FnZSBtYWludGFpbmVyIGRlY2lkZWQgbm90IHRvIHBhY2sgaXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzA1CgoyMDE1LTA0LTEyIDAwOjU2OjQ4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBDaGFuZ2UgY29uZmlndXJlIHRlc3QgdG8gY2hlY2sgZm9yIE9wZW5DVjIgaGVhZGVycwoJICAqIENoZWNrcyBmb3Igb3BlbmN2MiBoZWFkZXJzIG9ubHksIG5vdCBmb3IgbGVnYWN5IG9wZW5jdjEgaGVhZGVycwoJICAqIENoZWNrcyBmb3IgZXZlcnkgb3BlbmN2MiBoZWFkZXIgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gbmVlZHMsCgkgIG5vdCBqdXN0IGhpZ2hndWlfYy5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNjMKCjIwMTUtMDQtMTcgMDU6MTI6MTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZ2V0IGNvbm5lY3Rpb24gYW5kIGlucHV0IGNsb2NrIGVhcmx5CgoyMDE1LTA0LTE3IDE1OjMyOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVW5pZnkgZGVidWcgc3RhdGVtZW50cwoJICBVc2UgMHglMDR4IGZvciBQSURzCgoyMDE1LTA0LTE3IDE1OjMwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVW5pZnkgZHVyYXRpb24gcXVlcnlpbmcgY29kZQoJICBBbmQgcHJvcGVybHkgdXNlIGl0IGluIHRoZSBTRUVLSU5HIHF1ZXJ5LgoJICBGaXhlcyBzZWVraW5nIHdpdGggZ3N0LXBsYXkKCjIwMTUtMDQtMTYgMTQ6MTc6MDQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjYXBzIGxlYWsgd2hlbiBlYXJseSByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzk5MwoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTYgMTQ6MjE6MTYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdW5yZWYgb3duZWQgY2FwcyB3aGVuIGZpbmFsaXppbmcgdGhlIG1peGVyCgkgIEZpeCBhIGNhcHMgbGVhayB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTE1CgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNSAxNToxNjozMyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBwYXNzIHRoZSBwcm9wZXIgZnJlZSBmdW5jdGlvbiB0byBmcmFtZXMgYW5kIGJ1ZmZlcnMgYXJyYXkKCSAgJ2FycmF5X2J1ZmZlcnMnIGNvbnRhaW4gYm9ycm93ZWQgR3N0QnVmZmVyIGFuZCBzbyBzaG91bGRuJ3QgaGF2ZSBhIGZyZWUKCSAgZnVuY3Rpb24uICdmcmFtZXMnIGlzIHRoZSBvbmUgY29udGFpbmluZyBHc3RHTE1peGVyRnJhbWVEYXRhIGFuZCBzbyBzaG91bGQgdXNlCgkgIF9mcmVlX2dsbWl4ZXJfZnJhbWVfZGF0YSBhcyBmcmVlIGZ1bmN0aW9uLgoJICBGaXggR3N0R0xNaXhlckZyYW1lRGF0YSBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTEzCgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNyAxNToyMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogRG93bmxvYWQgKmZyb20qIE9wZW5HTCwgbm90IGludG8KCjIwMTUtMDQtMTcgMDk6MjQ6MTIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGVyaWNzc29uLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgY29tcGxleGl0eSBwcm9wZXJ0eSBmb3Igc3BlZWQvcXVhbGl0eSB0cmFkZW9mZgoKMjAxNS0wNC0xNyAxNDoyNDoyOCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQ6IE1ha2UgZ3N0X2dsX2NvbnRleHRfZWdsX2FjdGl2YXRlIGZhaWwgaWYgdGhlIG9sZCBzdXJmYWNlIGNvdWxkIG5vdCBiZSBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI1MQoKMjAxNS0wNC0xNyAxMDozODoxNiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBVbnJlZiBHc3RHTFVwbG9hZCBvYmplY3QgYW5kIGNhcHMgaW4gOjpzdG9wKCkKCSAgRml4IGxlYWsgb2YgdGhlIEdzdEdMVXBsb2FkIG9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAzMwoKMjAxNS0wNC0xNyAxNDowOTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSAgZ2w6IFJlbW92ZSBzb21lIGVtcHR5IDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbnMKCjIwMTUtMDQtMTcgMTQ6MDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDE1LTA0LTE3IDE0OjA1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBSZW1vdmUgdW51c2VkIDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbgoKMjAxNS0wNC0xNyAxNDowMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnRlbGVtZW50OiBBbHNvIHVucmVmIGNhcHMgaW4gOjpzdG9wKCkgYWxyZWFkeQoJICBUaGV5IGFyZSBub3QgdXNlZnVsIGFueW1vcmUgYWZ0ZXJ3YXJkcywgc28ga2VlcGluZyB0aGVtIHVudGlsIDo6ZmluYWxpemUoKQoJICBtaWdodCBvbmx5IGNhdXNlIHNvbWVvbmUgdG8gdXNlIHRoZW0gbGF0ZXIgYW5kIHRoZW4gZmFpbC4KCjIwMTUtMDQtMTUgMTQ6NDk6MDIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IGZpeCBHc3RHTENvbG9yQ29udmVydCBsZWFrCgkgIGNvbnZlcnQtPmNvbnZlcnQgd2FzIG5ldmVyIHVucmVmZmVkLgoJICBUaGlzIGNhbiBiZSByZXByb2R1Y2Ugd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxMQoKMjAxNS0wNC0xNiAyMjo0Mzo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSAgYXBleHNpbms6IEZpeCBidWZmZXIgb3ZlcmZsb3csIGluIGNhc2UgYW55b25lIGV2ZXIgcG9ydHMgaXQuCgkgIEZpeCBhIHNpbXBsZSBidWZmZXIgb3ZlcmZsb3cgLSAxNiBieXRlcyBpc24ndCBlbm91Z2ggdG8gaG9sZAoJICB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgZ3Vsb25nIG9uIHg4Nl82NC4gSSBndWVzcyB0aGUKCSAgaW50ZW50IHdhcyB0byBnZW5lcmF0ZSBhIDMyIGJpdCByYW5kb20ga2V5LCBzbyBsZXQncyBkbyB0aGF0LgoJICBPbmx5IG1hdHRlcnMgaWYgYW55b25lIGV2ZXIgcG9ydHMgdGhlIHNpbmsgdG8gMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY1MjQKCjIwMTUtMDQtMTYgMTM6MzU6MDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggcGFkIGxlYWsgd2hlbiBub3QgYWRkaW5nIGEgbmV3IHBhZCBhZnRlciBuby1tb3JlLXBhZHMKCjIwMTUtMDQtMDkgMTc6MzU6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHNlZ21lbnQgcG9zaXRpb24gdHJhY2tpbmcgZm9yIHRoZSBnZW5lcmFsIGNhc2UKCSAgRGlmZmVyZW50IHN0cmVhbXMgY2FuIGhhdmUgZGlmZmVyZW50IFBUUy9EVFMgYmFzZXMsIGFuZCBzb21lCgkgIHN0cmVhbXMgbWF5IG5vdCBldmVuIGhhdmUgRFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTA0LTE2IDEwOjQyOjQ1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2xjb250ZXh0OiBNYWtlIGdzdF9nbF9jb250ZXh0X2VnbF9hY3RpdmF0ZSBmYWlsIGlmIHRoZSBzdXJmYWNlIGNvdWxkIG5vdCBiZSBjcmVhdGVkCgkgIEFsc28gYWRkIHNvbWUgZXJyb3IgbG9nZ2luZy4KCjIwMTUtMDQtMTUgMjE6MDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IHVucmVmIGJ1ZmZlciB0aGF0IHdhcyB1bnJlZmZlZCBqdXN0IGEgZmV3IGxpbmVzIGJlZm9yZSBhbHJlYWR5CgoyMDE1LTA0LTExIDA0OjIwOjQzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgQWRkIGFkYXB0aXZlZGVtdXgsIGJhZHZpZGVvIGFuZCBiYWRiYXNlIHRvIHRoZSBsaW5rLWxpc3QgZm9yIHRoZSBkb2NzY2FubmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2OTcKCjIwMTUtMDQtMTIgMDE6NTg6MzEgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCSAgQ29tcGxlbWVudCBjb21taXQgNTQ5NmZkM2U3NWU2NWE0ZTM4NzcxNWQwYmEwNzQwNzkwYWVmYTVmNiBieSByZW1vdmluZwoJICB0aGUgaW52b2x2ZWQgdmFyaWFibGVzLgoKMjAxNS0wNC0xNCAyMDozMzoyNSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IEdMIG5lZ290aWF0aW9uCgoyMDE1LTA0LTE0IDE4OjA1OjMxICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBsb2cgdGltZXN0YW1wcwoKMjAxNS0wNC0xMyAxMTo1NTo0MiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzdWJ0cmFjdCB0aW1lIHNwZW50IGluIEFWRiBxdWV1ZXMKCSAgVGhlIHRpbWUgc3BlbnQgaW4gQVZGIHF1ZXVlcyB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgYWRkZWQgdG8gcnVubmluZyB0aW1lCgkgIHJhdGhlciB0aGFuIHN1YnRyYWN0ZWQuCgoyMDE1LTA0LTExIDA3OjM4OjU3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBHTCB0ZXh0dXJlIG5lZ290aWF0aW9uCgkgIEdTVF9WSURFT19HTF9URVhUVVJFX1VQTE9BRF9NRVRBX0FQSV9UWVBFIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KCSAgSW5zdGVhZCwganVzdCBnZXQgdGhlIEdMIGNvbnRleHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTIKCjIwMTUtMDQtMTMgMTk6NDA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCB0eXBvCgoyMDE1LTA0LTEzIDE5OjQwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsc3NydHBkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA0LTEzIDE5OjQwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNC0xMCAwOTozNDowMSArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBlbmFibGUgcGxheWJhY2sgb2YgY29udGVudCB3aXRoIHRleHQgc3RyZWFtcwoJICBUaGVyZSBpcyBhIHBsYXliYWNrIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHBsYXkgYSBjb250ZW50IHRoYXQKCSAgaGFzICdhcHBsaWNhdGlvbicgbWltZVR5cGUuIFRoaXMgY29tbWl0IHByZXZlbnRzIGFuIGV4Y2VwdGlvbiBmcm9tCgkgIHNldHVwIHRleHQgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzUyNQoKMjAxNS0wNC0xMiAxMzowMTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBSZXNldCBEVFMgdG8gR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGEgcHJldmlvdXMgRFRTIHNldCBmcm9tIGEgcmVjeWNsZWQgYnVmZmVyIHRoYXQgd2UgZ2V0CgkgIGJhY2sgZnJvbSBhIGJ1ZmZlciBwb29sLCB3aGljaCB0aGVuIGNvbmZ1c2VzIHN5bmNocm9uaXphdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyMgoKMjAxNS0wMy0yOCAxNTo0NDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFtYzogVXNlIG5ldyBKTkkgdXRpbHMgYWxtb3N0IGV2ZXJ5d2hlcmUKCjIwMTUtMDMtMjggMTU6NDg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBBbGxvdyBjcmVhdGluZyBnbG9iYWwgYW5kIGxvY2FsIHJlZmVyZW5jZXMgb2Ygb2JqZWN0cwoKMjAxNS0wMy0yOCAxNToyMTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IE1ha2UgR0Vycm9yIGFyZ3VtZW50IG9yZGVyIG1vcmUgY29uc2lzdGVudAoKMjAxNS0wMy0yOCAxNTowODoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEFkZCBoZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgYSBkaXJlY3QgYnVmZmVyIGFycmF5CgoyMDE1LTAzLTI4IDE1OjA4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogSmF2YSBsb25ncyBhcmUgZ2ludDY0cwoKMjAxNS0wMy0yOCAxNDozMTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEltcHJvdmUgSk5JIHV0aWxpdGllcyBhbmQgYWRkIHNvbWUgbWlzc2luZyBvbmVzCgkgIFdlIG5vdyBmaWxsIEdFcnJvcnMgZm9yIGV2ZXJ5dGhpbmcgdGhhdCBjb3VsZCB0aHJvdyBhbiBleGNlcHRpb24sIGFuZCBtZXRob2QKCSAgY2FsbHMgbm93IGFsd2F5cyByZXR1cm4gYSBnYm9vbGVhbiBhbmQgdGhlaXIgdmFsdWUgaW4gYW4gb3V0LXBhcmFtZXRlciB0bwoJICBkaXN0aW5ndWlzaCBmYWlsdXJlcyBmcm9tIG90aGVyIHZhbHVlcy4KCjIwMTUtMDQtMTEgMTk6MzU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBsYXN0IGNvbW1pdAoKMjAxNS0wNC0xMSAxOToxNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IFJlbW92ZSBpT1MvRUFHTCB3b3JrYXJvdW5kIGZvciBSL1JHIHRleHR1cmVzCgkgIFRoaXMgc2hvdWxkIGJlIHVubmVlZGVkIG5vdyBhZnRlciBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTA0LTExIDE5OjE0OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBZGQgY29ycmVjdCBjaGVjayBmb3IgUkcvUiB0ZXh0dXJlcyBpbiBnbGNvbG9yY29udmVydCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wNC0xMSAxMjoxMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGRlYnVnIG1lc3NhZ2UgcGFyYW1ldGVyIGZvcm1hdAoJICBUaGUgZmlyc3QgcGFydCBvZiB0aGUgR1VJRCBzdHJ1Y3R1cmUgaXMgYSBEV09SRAoJICB3aGljaCBpcyBkZWZpbmVkIGFzIGFuIHVuc2lnbmVkIGxvbmcsIHNvIHdlIG5lZWQKCSAgdG8gZWl0aGVyIGNhc3Qgb3IgdXNlICUwOGx4LgoKMjAxNS0wNC0xMCAyMDoyNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBObyBuZWVkIHRvIG1ha2UgYSBjb3B5IGludG8gYSBuZXcgYnVmZmVyLCBqdXN0IHRha2UgdGhlIGRhdGEKCSAgZnJvbSB0aGUgYWRhcHRlci4KCjIwMTUtMDQtMTAgMjA6MTU6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFByb2R1Y2UgR3N0QnVmZmVyTGlzdAoKMjAxNS0wNC0xMCAxNjoyMzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlIGFuZCByZWxhdGVkIHBhZCBwcm9iZQoJICBUaGUgdmFyaWFibGUgd2FzIG5ldmVyIHNldCB0byB0cnVlIGFuZCBjYW4gYmUgcmVtb3ZlZCBhbG9uZwoJICB3aXRoIHRoZSBwcm9iZSBpbiB3aGljaCBpdCB1c2VkIHRvIGFjdAoKMjAxNS0wMy0zMSAxNzoxMDo0NSArMDEwMCAgQW50b24gT2J6aGlyb3YgPG9iemhpcm92QHlhaG9vLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gZ2wgcGxhdGZvcm0gaXMgbm90IGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI0CgoyMDE1LTA0LTA5IDE2OjIwOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGZpeCB0eXBlIG1pc21hdGNoIGluIHZhcmFyZ3MgcGFzc2luZwoJICBBIGJpdG1hc2sgaXMgNjQgYml0cywgYnV0IGludGVnZXIgaW1tZWRpYXRlcyBhcmUgcGFzc2VkIGFzIGludAoJICBpbiB2YXJhcmdzLCB3aGljaCBoYXBwZW4gdG8gYmUgMzIgYml0IHdpdGggaGlnaCBwcm9iYWJpbGl0eS4KCSAgVGhpcyB0cmlnZ2VyZWQgYSB2YWxncmluZCBqdW1wLXJlbGllcy1vbi11bmluaXRhbGl6ZWQtdmFsdWUKCSAgcmVwb3J0IHdlbGwgYXdheSBmcm9tIHRoZSBzaXRlLCBzaW5jZSBpdCBkb2Vzbid0IHRyaWdnZXIgb24KCSAgc3RhY2sgYWNjZXNzZXMsIGFuZCB0aGVyZSBtdXN0IGhhdmUgYmVlbiBlbm91Z2ggemVyb2VzIHRvIHN0b3AKCSAgZ19vYmplY3Rfc2V0IGF0IHRoZSByaWdodCBwbGFjZS4KCjIwMTQtMDgtMjAgMTM6NDY6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaGFuZGxlIHNlZWtzIHdpdGggbm8gdGFyZ2V0IChpZSwga2VlcCBjdXJyZW50IHBvc2l0aW9uKQoJICBTdWNoIHNlZWtzIGFyZSB1c2VkIHRvIGNoYW5nZSBwbGF5YmFjayByYXRlIGFuZCB3ZSBkbyBub3Qgd2FudAoJICB0byBhbHRlciB0aGUgcG9zaXRpb24gaW4gdGhhdCBjYXNlLCBzbyB3ZSBieXBhc3MgdGhlIGZsdXNoL3NlZWsKCSAgbG9naWMsIGFuZCBzZXQgdGhpbmdzIHVwIHNvIGEgbmV3IHNlZ21lbnQgaXMgc2NoZWR1bGVkIHRvIGJlCgkgIHJlZ2VuZXJhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTAwCgoyMDE1LTAzLTI2IDEzOjQ2OjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogZml4IHRpbWVzdGFtcHMgbm90IHVwZGF0aW5nIGFmdGVyIGEgUE1UIGNoYW5nZQoJICBUaGUgUENScyBzdGF5IGxvY2tlZCBvbnRvIHRoZSBzYW1lIFBJRCBhcyBiZWZvcmUgdGhlIGNoYW5nZSwKCSAgYnV0IHRoZSByZWxldmFudCBQSUQgaGFzIG5vIHJlYXNvbiB0byBiZSB0aGUgc2FtZSBhZnRlciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wMy0yNCAxMjo1Njo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZW5kIG5ldyBzZWdtZW50IHdoZW4gYSBzdHJlYW0gaXMgYWRkZWQKCSAgVGhpcyB3aWxsIGhhcHBlbiB3aGVuIHRoZSBQTVQgY2hhbmdlcywgcmVwbGFjaW5nIHN0cmVhbXMgd2l0aAoJICBuZXcgb25lcy4gSW4gdGhhdCBjYXNlLCB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdGhlIHJ1bm5pbmcgdGltZQoJICBmcm9tIHRoZSBwcmV2aW91cyBjaGFpbiBpbiB0aGUgc2VnbWVudCBiYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTAzLTA5IDA5OjU2OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGtlZXAgdHJhY2sgb2YgY3VycmVudCBwb3NpdGlvbgoJICBUaGlzIGFsbG93cyBzZWVraW5nIHRvIGNvcnJlY3RseSBzZXQgdGhlIGJhc2Ugb24gdGhlIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDQtMDkgMTU6NDE6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERvbid0IHJ1biB0aGUgc3RhdGUgY2hhbmdlIHRlc3Qgb24gdGhlIGR0bHMgZWxlbWVudHMKCSAgVGhlcmUgaXNuJ3QgcmVhbGx5IGFueSB3YXkgdG8gdGVzdCB0aGUgZWxlbWVudHMgc3RhbmRhbG9uZS4KCjIwMTUtMDQtMDggMTk6Mjk6NDAgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIGJyb2tlbiB0aW1lc3RhbXBzLWdvaW5nLWJhY2t3YXJkcyBjaGVjawoJICBUaGlzIHdvdWxkJ3ZlIGFsc28gdHJpZ2dlcmVkIGlmIGZvciBzb21lIHJlYXNvbiB0aGUgc2VnbWVudCB3YXMgdXBkYXRlZAoJICBpbiBzdWNoIGEgd2F5IHRoYXQgUFRTIHdlbnQgYmFja3dhcmRzLCBidXQgdGhlIHJ1bm5pbmcgdGltZSBpbmNyZWFzZWQuIExpa2UKCSAgd2hhdCBoYXBwZW5zIHdoZW4gbm9uLWZsdXNoaW5nIHNlZWtzIGFyZSBkb25lLgoJICBXZSdyZSBkb2luZyBhIHByb3BlciBidWZmZXItZnJvbS10aGUtcGFzdCBjaGVjayBhIGZldyBsaW5lcyBiZWxvdyBiYXNlZCBvbiB0aGUKCSAgcnVubmluZyB0aW1lLCB3aGljaCBpcyB0aGUgb25seSB0aW1lIHdlIHNob3VsZCBjYXJlIGFib3V0IGhlcmUuCgoyMDE1LTA0LTA4IDE4OjUxOjUwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBrc3ZpZGVvc3JjOiBmaXggc3VwcG9ydCBmb3IgRFYgZGV2aWNlcwoKMjAxNS0wMi0xMCAxMzozMjowMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAga3N2aWRlb3NyYzogb25seSBsaXN0IGNhcHR1cmUgZGV2aWNlcwoKMjAxNS0wNC0wOCAxNjo0NjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBVc2UgQU1fVEVTVFNfRU5WSVJPTk1FTlQKCSAgTmVlZGVkIGJ5IHRoZSBuZXcgYXV0b21ha2UgdGVzdCBydW5uZXIKCjIwMTUtMDQtMDggMTA6NTI6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IEV4cGxpY2l0bHkgc3BlY2lmeSBsYXlvdXQ9aW50ZXJsZWF2ZWQgaW4gY2FwcwoJICBUaGlzIGlzIGZpbmUgdG8gaGFyZC1jb2RlLiBTZWN0aW9uIDkuMS44IG9mIHRoZSBPcGVuU0wgRVMgMS4xCgkgIHNwZWNpZmljYXRpb24sIGl0IGlzIGV4cGVjdGVkIHRoYXQgbXVsdGktY2hhbm5lbCBhdWRpbyBpcyBhbHdheXMKCSAgaW50ZXJsZWF2ZWQuCgoyMDE1LTA0LTA3IDE1OjU3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERlcGVuZCBvbiBvcGVuaDI2NCA+PSAxLjMuMAoJICBSZXF1aXJlZCBmb3IgdGhlIHZlcnNpb24gY2hlY2sgaGVhZGVyLCBhcyBhZ3JlZWQgdXBvbiBvbiBJUkMKCjIwMTUtMDQtMDUgMDU6Mzc6MDkgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHNldHRpbmcgb2YgYnVmZmVyIG9mZnNldCBlbmQKCSAgRG9uJ3Qgc2V0IG9mZnNldCBlbmQgdG8gcmFuZG9tIHZhbHVlcyBvZmYgdGhlIHN0YWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzUyCgoyMDE1LTA0LTA3IDExOjA5OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbjI2NDogRml4IEdUeXBlL2dzaXplIHVzYWdlCgkgIGdzdG9wZW5oMjY0ZW5jLmNwcDoxMDg6Nzogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIFstV3N0cmljdC1hbGlhc2luZ10KCjIwMTUtMDQtMDcgMTE6MjE6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogRGV0ZWN0IDEuNCBBUEkgY2hhbmdlCgkgIEFzIG1lbnRpb25uZWQgaW4gcmVsZWFzZSBub3RlcyA6IEFkZGVkIG5ldyBTcHMvUHBzIHN0cmF0ZWdpZXMgZm9yIHJlYWwtdGltZQoJICB2aWRlbyAocmVwbGFjZSB0aGUgb2xkIHNldHRpbmcgdmFyaWFibGUgJ2JFbmFibGVTcHNQcHNJZEFkZGl0aW9uJyB3aXRoCgkgICdlU3BzUHBzSWRTdHJhdGVneScpCgoyMDE1LTA0LTA2IDIwOjI4OjIyIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBEaXNjb25uZWN0IG1vdXNlL2tleSBldmVudCBzaWduYWwgaGFuZGxlcnMgZnJvbSB3aW5kb3cgd2hlbiBzaHV0dGluZyBkb3duIGNvbnRleHQKCjIwMTUtMDQtMDYgMjA6MjQ6MDYgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEd1YXJkIGFnYWluc3QgZGlzY29ubmVjdGluZyBpbnZhbGlkIHNpZ25hbCBpZHMKCjIwMTUtMDMtMjYgMTE6NTI6MzMgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IG1lbW9yeSBsZWFrCgkgIFJlc2V0IHRoZSBpbnRlcm5hbCBzZWdtZW50IGJlZm9yZSBmcmVlaW5nIGl0LgoJICBteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSgpIGFsbG9jYXRlcyBkYXRhIGluc2lkZSB0aGUgc2VnbWVudAoJICAobGlrZSBzZWdtZW50LT5kZWx0YV9lbnRyaWVzKSB3aGljaCBoYXZlIHRvIGJlIGZyZWVkIHVzaW5nCgkgIG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3Jlc2V0KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MDMKCjIwMTUtMDQtMDQgMTA6NTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiB3cml0ZSB0aGUgcGxheWxpc3QgZW5kIG1hcmtlciBvbiBFT1MKCSAgQ2F0Y2ggRU9TIGZyb20gdGhlIG11bHRpZmlsZXNpbmsgYW5kIGFkZCB0aGUgZW5kbGlzdCBtYXJrZXIgdG8KCSAgdGhlIHBsYXlsaXN0IHdoZW4gaXQgaGFwcGVucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzE5CgoyMDE1LTAzLTI5IDE3OjUzOjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRvY3VtZW50IGdhcCBoYW5kbGluZyBiZWhhdmlvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTAzLTI3IDE5OjM2OjQyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRyb3Agc3RhbGUgd2hpdGUgc3BhY2UgYXQgd2FybmluZwoKMjAxNS0wMy0yNyAxOToyODowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB0eXBvIGluIHRlc3Qgc3VpdGUKCjIwMTUtMDMtMjcgMTg6MzI6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZ2FwIGV2ZW50IGhhbmRsaW5nIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTAzLTE3IDIyOjEzOjA2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGltcGxlbWVudCBnYXAgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wNC0wMyAxODo1Nzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmM3NmE4YiB0byBjOGZiMzcyCgoyMDE1LTA0LTAzIDExOjQ2OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogRml4IGluY29ycmVjdCBmYWxsLXRocm91Z2ggY29uZGl0aW9uIGluIHByb3BlcnR5IGdldHRlcgoKMjAxMi0wNC0yNyAxODoyOToxNCArMDIwMCAgR3VpbGxhdW1lIEVtb250IDxndWlqZW1vbnRAaWdhbGlhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogYWRkIGFuIHNobS1hcmVhLW5hbWUgcHJvcGVydHkKCSAgVGhlIHNobS1hcmVhLXByb3BlcnR5IHRlbGxzIHRoZSBuYW1lIG9mIHRoZSBzaG0gYXJlYSB1c2VkIGJ5IHRoZSBlbGVtZW50LiBUaGlzCgkgIGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgc2htc2luayBpcyBub3QgYWJsZSB0byBjbGVhbiB1cCAoY2FsbGluZwoJICBzaG1fdW5saW5rKCkpLCBlLmcuIGlmIGl0IGlzIGluIGEgc2FuZGJveC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTEzNAoKMjAxNS0wNC0wMSAyMjoxMDoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5pZnkgZG93bnN0cmVhbSBmbG93IHJldHVybiBhbmQgZmx1c2hpbmcKCSAgQWxzbyBtZWFucyB0aGF0IGhhdmluZyBhIG5vbi1PSyBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgkgIHdha2VzIHVwIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6NDU6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZsdXNoaW5nIGlzIGFsd2F5cyBpbiBwYWQgbG9jaywgbm8gbmVlZCB0byBhdG9taWNzCgkgIFRoZSB1c2FnZSBvZiBhdG9taWNzIHdhcyBhbHdheXMgZG91YnRmdWwgYXMgaXQgd2FzIHVzZWQgdG8gcmVsZWFzZSBhCgkgIEdDb25kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6Mzg6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlc2V0IHBlbmRpbmdfZW9zIG9uIHBhZCBmbHVzaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjM3OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmlmeSBjb2RlIHRvIHNldCBhIHBhZCBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAyIDE4OjA1OjU1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGZpeCByZW5kZXJpbmcgb24gaU9TCgkgIFN0b3AgYXNzdW1pbmcgdGhhdCB0aGUgaGFuZGxlIGhhcyBiZWVuIHNldCBieSB0aGUgdGltZSAtPmNyZWF0ZV9jb250ZXh0IGlzCgkgIGNhbGxlZC4gQWZ0ZXIgYmM3YTcyNTlmMzU3YjAwNjVkZDk0ZTA2NjhiNWE4OTVkODNmYTUzYSBzZXRfd2luZG93X2hhbmRsZSBhbHdheXMKCSAgaGFwcGVucyBhZnRlciAtPmNyZWF0ZV9jb250ZXh0IGluIGZhY3QuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDMtMDYgMjE6MTI6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSBsYXRlbmN5IG9uIGZpcnN0IGluY29taW5nIGJ1ZmZlci4KCSAgQW5kIGtlZXAgb24gcXVlcnlpbmcgdXBzdHJlYW0gdW50aWwgd2UgZ2V0IGEgcmVwbHkuCgkgIEFsc28sIHRoZSBfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKSBtZXRob2QgcmVxdWlyZWQgYmVpbmcgY2FsbGQKCSAgd2l0aCBhIHByaXZhdGUgbG9jaywgc28gcmVtb3ZlZCB0aGUgX3VubG9ja2VkKCkgdmFyaWFudCBmcm9tIHRoZSBBUEkuCgkgIEFuZCBpdCBub3cgcmV0dXJucyBHU1RfQ0xPQ0tfVElNRV9OT05FIHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IGxpdmUgYXMKCSAgd2UgdGhpbmsgdGhhdCAwIHVwc3RyZWFtIGxhdGVuY3kgaXMgcG9zc2libGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDQtMDEgMjA6MzI6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWxsb3cgZG93bnN0cmVhbSBjYXBzIHdpdGggYSBub24tZGVmYXVsdCBjaGFubmVsLW1hc2sKCSAgSW5zdGVhZCBvZiBmYWlsaW5nLCB0YWtlIHRoZSBkb3duc3RyZWFtIGNoYW5uZWwgbWFzayBpZiB0aGUgY2hhbm5lbAoJICBjb3VudCBpcyAxLgoKMjAxNS0wMy0zMSAxNjoyNzowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBEb24ndCB1c2UgY29udGV4dCBpZiBub3QgcHJlc2VudAoJICBBdm9pZHMgYXNzZXJ0aW9ucyBhdCBydW50aW1lCgoyMDE1LTAzLTMxIDExOjI0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJICBpbnRyb3NwZWN0aW9uOiBEb24ndCB1c2UgZy1pci1zY2FubmVyIGNhY2hlIGF0IGNvbXBpbGUgdGltZQoJICBJdCBwb2xsdXRlcyB1c2VyIGRpcmVjdG9yaWVzIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNhY2hlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcwOTUKCjIwMTUtMDMtMzEgMTA6NTM6NTUgKzAxMDAgIFZpY3RvciBUb3NvIDx2aWN0b3J0b3NvQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogSW1wbGVtZW50IHZvbHVtZSBhbmQgbXV0ZQoJICBVc2luZyB0aGUgTWl4ZXJBUEkgYXMgSURpcmVjdFNvdW5kQ2FwdHVyZUJ1ZmZlciBkb2Vzbid0IGltcGxlbWVudCB2b2x1bWUKCSAgY29udHJvbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM4MwoKMjAxNS0wMy0zMCAxMzo0OTowMSArMDEwMCAgQW50b24gT2J6aGlyb3YgPG9iemhpcm92QHlhaG9vLmNvLnVrPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgZ2xlZmZlY3RzOiBwb3J0IGFsbCBlZmZlY3RzIHRvIEdMRVMyLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTk1NQoKMjAxNS0wMy0yOCAxMTo0MDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGltcGxlbWVudCBhIGNoYWluX2xpc3QgdG8gcmVxdWVzdCBrZXkgdW5pdCBmb3Igc2VnbWVudHMKCSAgdXBzdHJlYW0gbWlnaHQgc2VuZCBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBidWZmZXJzIGFuZCBobHNzaW5rJ3MKCSAgcHJvYmUgd29uJ3QgZ2V0IGNhbGxlZCBhbmQgYSBuZXcgc2VnbWVudCB3b24ndCBiZSBjcmVhdGVkIHdoZW4gbmVlZGVkLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IGFkZGluZyBhIGNoYWluX2xpc3QgZnVuY3Rpb24gdG8gdGhlIHNpbmsgcGFkCgkgIHRoYXQgd2lsbCBqdXN0IHBhc3MgdGhyb3VnaCB0aGUgd2hvbGUgYnVmZmVybGlzdCBpZiBubyBzZWdtZW50IG5lZWRzCgkgIHRvIGJlIHJlcXVlc3RlZCBhdCB0aGUgbW9tZW50IG9yIGNvbnZlcnQgdGhlIGxpc3QgaW50byBidWZmZXJzIHRvCgkgIGNoZWNrIHRoZSBwcm9wZXIgdGltZXN0YW1wIHRvIHJlcXVlc3QgdGhlIG5leHQga2V5LXVuaXQgdGhhdCB3aWxsCgkgIHN0YXJ0IHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2OTA2CgoyMDE1LTAzLTI4IDE3OjI4OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI4IDE3OjI4OjI2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjcgMDA6Mjc6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHRyeSB0byBhZHZhbmNlIGZyYWdtZW50IGlmIHRoZXJlIGlzIG5vbmUKCSAgSXQgbWlnaHQgcmV0dXJuIE9LIGZyb20gc3ViY2xhc3NlcyBhbmQgaXQgY291bGQgY2F1c2UgYSBiaXRyYXRlCgkgIHJlbmVnb3RpYXRpb24uIEZvciBEQVNIIGFuZCBNU1MgdGhhdCBpcyBvayBhcyB0aGV5IHdvbid0IGV4cG9zZQoJICBuZXcgcGFkcyBhcyBwYXJ0IG9mIHRoaXMgYnV0IGl0IGNhbiBjYXVzZSBpc3N1ZXMgZm9yIEhMUyBhcwoJICBpdCB3aWxsIGV4cG9zZSBuZXcgcGFkcywgbGVhZGluZyB0byBwYWRzIHRoYXQgd2lsbCBvbmx5IGhhdmUgRU9TCgkgIHRoYXQgY2F1c2UgZGVjb2RlYmluIHRvIGZhaWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTkwNQoKMjAxNS0wMy0yNCAxMzo1Nzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogRm9yd2FyZCBzdGVyZW8gcHJlZmVyZW5jZXMgZnJvbSBjYXBzIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjQgMTM6NTY6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IFNldCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDIgYXMgcGVyIFJGQyBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTE3IDIxOjQ5OjQwICswODAwICBKdW4gWGllIDx4aXhpMTAxMTEwMTFAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc2V0IGRlZmF1bHQgQHN0YXJ0TnVtYmVyIGFuZCBhbHNvIGF2b2lkIHdyb25nIG92ZXJ3cml0ZQoJICBTZXQgZGVmYXVsdCBAc3RhcnROdW1iZXIgdG8gMSwgaWYgQHN0YXJ0TnVtYmVyIGlzIG1pc3NpbmcgYXQgYWxsIGxldmVsLgoJICBBbHNvIGF2b2lkIGluY29ycmVjdCBvdmVyd3JpdGluZyBpbmhlcml0ZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzNDcKCjIwMTUtMDMtMjQgMTY6MTg6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkCgoyMDE1LTAzLTI0IDE2OjE3OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIFJldmVydCAiYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkNGQwZDFjZGY3Yzc1MzFmYmY3MmNlMzllMWVhYjEyNjBkMjA1NTAuCgkgIE5ldmVyIHB1dCBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIGludG8gYW4gYXNzZXJ0aW9uLCBpdCBjYW4gYmUgY29tcGlsZWQgb3V0CgoyMDE1LTAzLTI0IDE1OjQ1OjI1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZAoJICBDSUQgIzEyOTE2MjIKCjIwMTUtMDMtMjQgMTU6MTM6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZhbGwgdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEFkZGluZyBhIGNvbW1lbnQgbWFrZXMgY292ZXJpdHkgaGFwcHkgYW5kIHF1ZWxscyB0aGUgaXNzdWUuCgkgIENJRCAxMjkxNjI5CgoyMDE1LTAzLTI0IDE5OjA1OjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9jdW1lbnQgd2h5IGJ1ZmZlcl92aW5mbyBpcyBuZWVkZWQKCjIwMTUtMDMtMjQgMTk6MDQ6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDaGVjayBpZiB0aGVyZSdzIGEgcHJldmlvdXMgYnVmZmVyIHRvICdrZWVwJwoJICBJZiB3ZSB3YW50IHRvIGtlZXAgYSBwcmV2aW91cyBidWZmZXIgYnV0IHRoZXJlJ3Mgbm8gcHJldmlvdXMgYnVmZmVyLCB3ZSBhY3R1YWxseQoJICBuZWVkIG1vcmUgZGF0YSBpbnN0ZWFkLgoKMjAxNS0wMy0yMyAxNjo0MzowMSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IHN1cmZhY2VsZXNzIEVHTCBjb250ZXh0IHN1cHBvcnQKCSAgU2hvdyB0aGUgRGlzcG1hblggd2luZG93IG9ubHkgaWYgdGhlcmUncyBubyBzaGFyZWQgZXh0ZXJuYWwgR0wgY29udGV4dAoJICBzZXQgdXAuIFdoZW4gYSB3aW5kb3cgaXMgcmVxdWlyZWQgYnkgdGhlIGNvbnRleHQgYSB0cmFuc3BhcmVudAoJICBEaXNwbWFuWCBlbGVtZW50IGlzIGNyZWF0ZWQgYW5kIGxhdGVyIG9uIG1hZGUgdmlzaWJsZSBieSB0aGUgOjpzaG93CgkgIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYzMgoKMjAxNS0wMy0yMyAxNTowOTozMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBjbGVhbiBzb2xhcml6ZSBjb2RlCgoyMDE1LTAzLTIzIDE0OjM5OjU2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogcmVtb3ZpbmcgdmFsdWVzIG9ubHkgdXNlZCBvbmNlCgoyMDE1LTAzLTIzIDExOjEzOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHNtYWxsIGNsZWFudXAgaW4gaGVhZGVycwoKMjAxNS0wMy0yMyAxMzoxNTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogU2V0IG91dHB1dCBmb3JtYXQgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpbmcgdGhlIGVuY29kZXIgaW5zdGFuY2UKCSAgV2Uga25vdyB0aGUgY2FwcyBieSB0aGVuLCB0aGVyZSdzIG5vIG5lZWQgdG8gd2FpdCB1bnRpbCB3ZSBhY3R1YWxseSByZWNlaXZlCgkgIHRoZSBmaXJzdCBidWZmZXIuCgoyMDE1LTAzLTIzIDEzOjEzOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IFJlbW92ZSBhbm90aGVyIHVudXNlZCB2YXJpYWJsZQoKMjAxNS0wMy0yMyAxMzoxMTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNlbmM6IFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMgYW5kIGhlYWRlcl9zZW50IHZhcmlhYmxlcyBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgVGhleSBhcmUgb25seSB1c2VkIGluc2lkZSBhIHNpbmdsZSBmdW5jdGlvbi4KCjIwMTUtMDMtMjMgMTI6MjQ6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBIYW5kbGUgc3Byb3Atc3RlcmVvIGFuZCBzcHJvcC1tYXhjYXB0dXJlcmF0ZSBSVFAgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMyAxMjowOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVGFrZSBjaGFubmVscyBhbmQgc2FtcGxlIHJhdGUgZnJvbSB0aGUgY2FwcyBpZiB3ZSBoYXZlIG5vIHN0cmVhbSBoZWFkZXIKCjIwMTUtMDMtMjMgMTI6MDc6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFJlc2V0IHRoZSBkZWNvZGVyIGlmIHRoZSBjYXBzIGNoYW5nZQoKMjAxNS0wMy0yMyAxMTo1NzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVGFrZSBvdXRwdXQgc2FtcGxlIHJhdGUgZnJvbSB0aGUgc3RyZWFtIGhlYWRlcnMgdG9vCgkgIFRoaXMgd2F5IHdlIGxldCBvcHVzZGVjIGRvIHRoZSByZXNhbXBsaW5nIGlmIG5lZWRlZCBhbmQgZG9uJ3QgY2FycnkKCSAgYXJvdW5kIGJ1ZmZlcnMgd2l0aCBhIHRvbyBoaWdoIHNhbXBsZSByYXRlIGlmIG5vdCByZXF1aXJlZC4KCSAgV2hpbGUgT3B1cyBhbHdheXMgdXNlcyA0OGtIeiBpbnRlcm5hbGx5LCB0aGlzIGluZm9ybWF0aW9uIGZyb20gdGhlCgkgIGhlYWRlciBzcGVjaWZpZXMgd2hpY2ggZnJlcXVlbmNpZXMgYXJlIHNhZmUgdG8gZHJvcC4KCjIwMTUtMDMtMjMgMTE6NTY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNoZWFkZXI6IFB1dCBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGludG8gdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMiAxOToxMjoxNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZ2xfdGhyZWFkIGZpZWxkCgoyMDE1LTAzLTIyIDE5OjAzOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBmaXggR1RocmVhZCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDEKCjIwMTUtMDMtMjAgMTg6MzM6NDUgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDEKCjIwMTUtMDMtMTggMTE6MjU6NDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE5IDE2OjE3OjU4ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBEbyBub3QgZHJvcCBhbGwgYnVmZmVycyBpbiBidWZmZXIgbGlzdCBpZiBvbmUgZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOSAxMzo1OTo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogdXBkYXRlIGNvcHlyaWdodCBkYXRlcyBvZiBkaWxhdGUKCjIwMTUtMDMtMTkgMTM6NTg6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGZhY3Rvcml6ZSB0cmFuc2Zvcm0gY29kZSBvZiBkaWxhdGUKCjIwMTUtMDMtMTkgMTQ6MDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBQYXNzIHRoZSBjb25uZWN0aW9uIGluc3RhbmNlIGFzIGRhdGEgdG8gdGhlIHRocmVhZCBwb29sCgkgIE5vIG5lZWQgdG8gcmVmL3VucmVmIHRoZSBjb25uZWN0aW9uIGV2ZXJ5IHRpbWUgd2UgcHVzaCBzb21ldGhpbmcgb24gdGhlIHBvb2wuCgkgIEhvd2V2ZXIgd2UgaGF2ZSB0byBwcm92aWRlIG5vbi1OVUxMIGRhdGEgdG8gdGhlIHBvb2wsIHNvIGxldCdzIGp1c3QgZ2l2ZSBpdAoJICBzb21lIGNvZmZlZS4KCjIwMTUtMDMtMTkgMTM6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBSZW1vdmUgdW51c2VkIHRocmVhZCBzdHJ1Y3QgZmllbGQKCjIwMTUtMDMtMTkgMTM6MzA6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHM6IFVzZSBhIHNoYXJlZCB0aHJlYWQgcG9vbCBmb3IgdGhlIHRpbWVvdXRzCgkgIFRoaXMgd2F5IHdlIHdpbGwgc2hhcmUgdGhyZWFkcyB3aXRoIG90aGVyIERUTFMgY29ubmVjdGlvbnMgaWYgcG9zc2libGUsIGFuZAoJICBkb24ndCBoYXZlIHRvIHN0YXJ0L3N0b3AgdGhyZWFkcyBmb3IgdGltZW91dHMgaWYgdGhlcmUgYXJlIG1hbnkgdG8gYmUgaGFuZGxlZAoJICBpbiBhIHNob3J0IHBlcmlvZCBvZiB0aW1lLgoJICBBbHNvIHVzZSB0aGUgc3lzdGVtIGNsb2NrIGFuZCBhc3luYyB3YWl0aW5nIG9uIGl0IGZvciBzY2hlZHVsaW5nIHRoZSB0aW1lb3V0cy4KCjIwMTUtMDMtMTggMTg6MTc6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBTaHV0ZG93biB0aW1lb3V0IHRocmVhZCB3aGVuIGl0J3Mgbm90IG5lZWRlZAoJICBJdCBpcyBub3QgbmVlZGVkIG1vc3Qgb2YgdGhlIHRpbWUgYW5kIHVzdWFsbHkgd2UgaGF2ZSBhIHRocmVhZAoJICBpZGxpbmcgYXJvdW5kIGRvaW5nIG5vdGhpbmcgYWxsIHRoZSB0aW1lIGFmdGVyIHRoZSBmaXJzdCBmZXcgc2Vjb25kcy4KCjIwMTUtMDMtMTggMTA6MTI6NDkgLTA3MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2RvY3M6IHVwZGF0ZSBzb21lIGRvYyBjb21tZW50cwoKMjAxNS0wMy0xOCAxNzo0MDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogQ2xlYXIgdGhlIHF1ZXVlIHdoZW4gZGVhY3RpdmF0aW5nIHRoZSBwYWQKCjIwMTUtMDMtMTggMTc6Mzg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSAgZHRsc2VuYzogSGFuZGxlIHBhZCBhY3Rpdml0eSBzdGF0ZXMgcHJvcGVybHkKCjIwMTUtMDMtMTggMTc6MzU6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IERvbid0IG1hbnVhbGx5IGFjdGl2YXRlL2RlYWN0aXZhdGUgc3JjcGFkCgoyMDE1LTAzLTE4IDEwOjQ3OjE1ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBTZXBhcmF0ZSBidWZmZXIgZW5jb2RpbmcgZnVuY3Rpb25hbGl0eSBpbnRvIGEgZGlmZmVyZW50IGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMTA6MTY6NDEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDA5OjM5OjQ5ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBBZGQgbWlzc2luZyBsb2NrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDA5OjE3OjMxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBTcGxpdCBjaGFpbiBmdW5jdGlvbmFsaXR5IHNvIGl0IGNhbiBiZSByZXVzZWQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMTM6NTI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSAgZHRsc2VuYzogVXNlIGEgR1F1ZXVlIGluc3RlYWQgb2YgYSBHUHRyQXJyYXkKCSAgVXNpbmcgYSBHUHRyQXJyYXkgYXMgYSBxdWV1ZSBpcyBub3QgdmVyeSBlZmZpY2llbnQgYXMgdGhlIHdob2xlCgkgIGFycmF5IGhhcyB0byBiZSBjb3BpZWQgd2hlbmV2ZXIgYW4gZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlCgkgIGJlZ2lubmluZy4KCjIwMTUtMDMtMTggMTA6MDY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBsb2NraW5nCgkgIEVzcGVjaWFsbHkgZG9uJ3QgaG9sZCBhbnkgbXV0ZXggd2hpbGUgYWRkaW5nL3JlbW92aW5nIHBhZHMgb3IgcHVzaGluZyBkYXRhLgoKMjAxNS0wMy0xOCAwOTo1NzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOCAwOTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSAgZHRsczogRml4IHNvbWUgc2VhcmNoICYgcmVwbGFjZSBtaXN0YWtlcyBmcm9tIHJlbmFtaW5nIHRoZSBlbGVtZW50cwoKMjAxNS0wMy0xNyAxNjo0OTo1NCArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogSW1wcm92ZSBtZW1vcnkgbWFuYWdlbWVudCBvbiBjaGFpbiBmdW5jdGlvbgoJICBBdm9pZGluZyBjb3B5IHRoZSBidWZmZXIgdHdpY2UsIG9uZSB3aGlsZSBtYXBwaW5nIGFuZCBvdGhlciB3aXRoIG1lbmNweQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MzU2CgoyMDE1LTAzLTE3IDE2OjUwOjQxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBGaXggdHlwbyBpbiBsb2cKCjIwMTUtMDMtMTcgMTE6NDM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSAgZHRsczogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBlYXJsaWVyCgkgIE90aGVyd2lzZSB0aGUgb3BlbnNzbCBpbml0aWFsaXphdGlvbiB3aWxsIHVzZSBpdCBiZWZvcmUgaW5pdGlhbGl6YXRpb24KCjIwMTQtMTEtMTMgMjA6Mzk6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWRkIHVuaXQgdGVzdHMKCSAgQWxtb3N0IGEgY29weSBvZiB0aGUgImludGVybGVhdmUiIHVuaXQgdGVzdHMsIGltcHJvdmVkIHRvIHN1cHBvcnQKCSAgdGhlIHRocmVhZCBvbiB0aGUgc3JjIHBhZCBvbiBHc3RBZ2dyZWdhdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA2IDEzOjQ5OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJICBhdWRpb2ludGVybGVhdmU6IFNldCBzcmMgY2FwcyBpbiBhZ2dyZWdhdGUKCSAgVGhpcyBwcmV2ZW50cyByYWNlcyBiZXR3ZWVuIHRoZSBzZXRjYXBzIG9mIHRoZSBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0xMyAxNTo0MDoxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBZGQgaW50ZXJsZWF2ZSBlbGVtZW50IGJhc2VkIG9uIGF1ZGlvYWdncmVnYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA2IDE2OjUxOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogUHJpbnQgYSBtZXNzYWdlIHdoZW4gYSBidWZmZXIgaXMgbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTE1IDE3OjU0OjUxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRG9uJ3QgcmUtc2VuZCB0aGUgY2FwcyBpZiB0aGV5IGRpZCBub3QgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMDYgMTc6MTU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTcGxpdCBiYXNlIGNsYXNzIGZyb20gYXVkaW9taXhlcgoJICBBbHNvOgoJICAtICBEb24ndCBtb2RpZnkgc2l6ZSBvbiBlYXJseSBidWZmZXIKCSAgVGhlIHNpemUgaXMgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwgbm90IG9mIHJlbWFpbmluZyBwYXJ0LgoJICAtIFVzZSB0aGUgaW5wdXQgY2FwcyB3aGVuIG1hbmlwdWxhdGluZyB0aGUgaW5wdXQgYnVmZmVyCgkgIEFsc28gc3RvcmUgaW4gaW4gdGhlIHNpbmsgcGFkCgkgIC0gUmVwbHkgdG8gdGhlIHBvc2l0aW9uIHF1ZXJ5IGluIGJ5dGVzIHRvbwoJICAtIFB1dCBHQVAgZmxhZyBvbiBvdXRwdXQgaWYgYWxsIGlucHV0cyBhcmUgR0FQIGRhdGEKCSAgLSBPbmx5IHRyeSB0byBjbGlwIGJ1ZmZlciBpZiB0aGUgaW5jb21pbmcgc2VnbWVudCBpcyBpbiB0aW1lIG9yIHNhbXBsZXMKCSAgLSBVc2UgaW5jb21pbmcgc2VnbWVudCB3aXRoIGluY29taW5nIHRpbWVzdGFtcAoJICBIYW5kbGUgbm9uLXRpbWUgc2VnbWVudHMgYW5kIE5PTkUgdGltZXN0YW1wcwoJICAtIERvbid0IHJlc2V0IHRoZSBwb3NpdGlvbiB3aGVuIHB1c2hpbmcgb3V0IG5ldyBjYXBzCgkgIC0gTWFrZSBhIG51bWJlciBvZiBtZW1iZXIgdmFyaWFibGVzIHByaXZhdGUKCSAgLSBDb3JyZWN0bHkgaGFuZGxlIGNhc2Ugd2hlcmUgbm8gcGFkIGhhcyBhIGJ1ZmZlcgoJICBJZiBub25lIG9mIHRoZSBwYWRzIGhhdmUgYnVmZmVycyB0aGF0IGNhbiBiZSBoYW5kbGVkLCBkb24ndCBjbGFpbSB0byBiZSBFT1MuCgkgIC0gRW5zdXJlIHByb3BlciBsb2NraW5nCgkgIC0gT25seSBzdXBwb3J0IHRpbWUgc2VnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNyAyMjowODo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZWxlYXNlIHBhZCBvYmplY3QgbG9jayBiZWZvcmUgZHJvcHBpbmcgYnVmZmVyCgkgIE90aGVyd2lzZSwgdGhlIGxvY2tpbmcgb3JkZXIgaXMgdmlvbGF0ZWQgYW5kIGRlYWRsb2NrcyBoYXBwZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjA6MjI6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE9ubHkgaWdub3JlIHBhZHMgd2l0aCBubyBidWZmZXJzIG9uIHRpbWVvdXQKCSAgV2hlbiB0aGUgdGltZW91dCBpcyByZWFjaGVkLCBvbmx5IGlnbm9yZSBwYWRzIHdpdGggbm8gYnVmZmVycywgaXRlcmF0ZQoJICBvdmVyIHRoZSBvdGhlciBwYWRzIHVudGlsIGFsbCBidWZmZXJzIGhhdmUgYmVlbiByZWFkLiBUaGlzIGlzIGltcG9ydGFudAoJICBpbiB0aGUgY2FzZXMgd2hlcmUgdGhlIGlucHV0IGJ1ZmZlcnMgYXJlIHNtYWxsZXIgdGhhbiB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMToxMjoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQmUgbW9yZSBhZ2dyZXNzaXZlIHdpdGggaW52YWxpZCByZXBsaWVzIHRvIG91ciBsYXRlbmN5IHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjA6MjU6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE9ubHkgYWR2YW5jZSBieSB0aGUgYnVmZmVyIHNpemUgd2hlbiBhIGJ1ZmZlciBpcyBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMTYgMTc6NDk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBsb2cgaW50byB0aGUgcmlnaHQgZGVidWcgY2F0ZWdvcnkKCSAgR1NUX0RUTFNfVVNFX0dTVF9MT0cgaXMgbm90IGRlZmluZWQgYW55d2hlcmUsIHNvCgkgIHdlJ2QganVzdCBsb2cgaW50byB0aGUgZGVmYXVsdCBjYXRlZ29yeSBieSBhY2NpZGVudC4KCSAgV2UgdXNlIHRoZSBnc3QgbG9nZ2luZyBzeXN0ZW0gdW5jb25kaXRpb25hbGx5IG5vdywKCSAgc28gbWlnaHQganVzdCBhcyB3ZWxsIHJlbW92ZSB0aGlzICNpZiAjZWxzZS4KCjIwMTUtMDMtMTYgMTc6MzY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogZml4IHNvbWUgbW9yZSBjb21waWxlciB3YXJuaW5ncwoJICBnY2MtNC45LjI6CgkgIGdzdGR0bHNhZ2VudC5jOjExNDoxOiBlcnJvcjogb2xkLXN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoyNTM6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoyOTE6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzozOTE6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo0MzQ6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo3NzM6MTogZXJyb3I6ICdCSU9fc19nc3RfZHRsc19jb25uZWN0aW9uJyB3YXMgdXNlZCB3aXRoIG5vIHByb3RvdHlwZSBiZWZvcmUgaXRzIGRlZmluaXRpb24KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo3NzM6MTogZXJyb3I6IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uCgoyMDE1LTAzLTE2IDE3OjUzOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHM6IFVuY29uZGl0aW9uYWxseSB1c2UgR1N0cmVhbWVyIGRlYnVnIGxvZyBzeXN0ZW0KCjIwMTUtMDMtMTYgMTc6NDg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogUmUtbmFtZXNwYWNlIGZyb20gRXIgdG8gR3N0CgoyMDE1LTAzLTE2IDE3OjM1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoxMjg6MzI6IGVycm9yOiBwYXNzaW5nICdjb25zdCBjaGFyIFszMF0nIHRvIHBhcmFtZXRlciBvZiB0eXBlICd2b2lkIConCgkgIGRpc2NhcmRzIHF1YWxpZmllcnMgWy1XZXJyb3IsLVdpbmNvbXBhdGlibGUtcG9pbnRlci10eXBlcy1kaXNjYXJkcy1xdWFsaWZpZXJzXQoJICBTU0xfZ2V0X2V4X25ld19pbmRleCAoMCwgImdzdGR0bHNhZ2VudCBjb25uZWN0aW9uIGluZGV4IiwgTlVMTCwgTlVMTCwKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAvdXNyL2luY2x1ZGUvb3BlbnNzbC9zc2wuaDoxOTgxOjQzOiBub3RlOiBwYXNzaW5nIGFyZ3VtZW50IHRvIHBhcmFtZXRlciAnYXJncCcgaGVyZQoJICBpbnQgU1NMX2dldF9leF9uZXdfaW5kZXgobG9uZyBhcmdsLCB2b2lkICphcmdwLCBDUllQVE9fRVhfbmV3ICpuZXdfZnVuYywKCSAgXgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjgyMjo0MDogZXJyb3I6IGFyaXRobWV0aWMgb24gYSBwb2ludGVyIHRvIHZvaWQgaXMgYSBHTlUgZXh0ZW5zaW9uCgkgIFstV2Vycm9yLC1XcG9pbnRlci1hcml0aF0KCSAgbWVtY3B5IChvdXRfYnVmZmVyLCBwcml2LT5iaW9fYnVmZmVyICsgcHJpdi0+YmlvX2J1ZmZlcl9vZmZzZXQsIGNvcHlfc2l6ZSk7CgkgIH5+fn5+fn5+fn5+fn5+fn4gXgoKMjAxNS0wMy0xNiAxNzozNDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDMtMTYgMTc6MzM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBBZGQgbmV3IERUTFMgcGx1Z2luCgkgIFRoaXMgaXMgYSBjb3B5IG9mIHRoZSBFcmljc3NvbiBEVExTIHBsdWdpbiBmcm9tCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMvdHJlZS9tYXN0ZXIvZXh0L2VyZHRscy9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU4MgoKMjAxNS0wMy0xNiAwMzo1MzozMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSAgY29tcG9zaXRvcjogUmV2ZXJ0IG1vc3Qgb2YgcHJldmlvdXMgcGF0Y2guCgkgIFRoZSBjYWxjdWxhdGlvbiBkb2Vzbid0IHByb2R1Y2UgdGhlIHNhbWUgcmVzdWx0cy4KCSAgS2VlcCBqdXN0IHRoZSBjaGFuZ2UgdG8gZGl2aWRlIGFscGhhIGJ5IDI1NSBpbnN0ZWFkIG9mIDI1NiwKCSAgZm9yIHNsaWdodGx5IGJldHRlciBhY2N1cmFjeQoKMjAxNS0wMy0xNSAxNjo1NTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBoZWxwZXJzIGZvciBjYWxsaW5nIHN0YXRpYyBtZXRob2RzCgoyMDE1LTAzLTE1IDE2OjM4OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogRml4IGluZGVudGlvbgoKMjAxNC0wNi0wNSAxMDozMzo1NiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBtb3JlIEpOSSBoZWxwZXIgZnVuY3Rpb25zCgoyMDE0LTA2LTAyIDEyOjM3OjA5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogU3BsaXQgam5pIGNvZGUgdG8gZ3N0am5pdXRpbHMuYwoKMjAxNS0wMy0xNSAxNjoxMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZHJvcCBzb21lIHN1cGVyZmx1b3VzIGFzc2VydGlvbnMKCSAgZ19yZXR1cm5fKl9pZl9mYWlsKCkgaXMgZm9yIHB1YmxpYyBBUEkgdG8gY2F0Y2gKCSAgcHJvZ3JhbW1pbmcgZXJyb3JzLiBGb3IgaW50ZXJuYWwgY29kZSwgd2Ugc2hvdWxkCgkgIGp1c3QgdXNlIGdfYXNzZXJ0KCkgdG8gY2hlY2sgaW50ZXJuYWwgc3RhdGUuCgoyMDE1LTAzLTE1IDE1OjU0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCB0ZXN0IGZvciBrZXlmcmFtZS9kZWx0YSBmbGFnIHByb3BhZ2F0aW9uCgkgIFRoZSBmaXJzdCBvdXRwdXQgTVBFRy1UUyBwYWNrZXQgdGhhdCBjb3JyZXNwb25kcyB0byBhIHZpZGVvIGlucHV0CgkgIGJ1ZmZlciB3aGljaCBoYWQgdGhlIGRlbHRhIGZsYWcgY2xlYXJlZCAoaS5lLiB3YXMgYSBrZXlmcmFtZSkKCSAgc2hvdWxkIGhhdmUgdGhlIGRlbHRhIGZsYWcgY2xlYXJlZCBhcyB3ZWxsLgoJICBUaGlzIGlzIG5lZWRlZCBlLmcuIGJ5IHRjcHNlcnZlcnNpbmsgaW4gb3JkZXIgdG8ga2VlcCB0cmFjawoJICBvZiB0aGUgbGFzdCBrZXlmcmFtZSBhbmQgYmUgYWJsZSB0byBidXJzdCBkYXRhIHRvIG5ld2x5LQoJICBjb25uZWN0ZWQgY2xpZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg3MgoKMjAxNS0wMy0xNSAxNDozNToxNSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBnbC9kb2NzOiBhZGQgbWlzc2luZyBmdW5jdGlvbnMvb2JqZWN0cwoKMjAxNS0wMy0xNSAxMjo1ODoyNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IHRlbnRhdGl2ZSBwcm9wZXIgY29udGV4dCBjb2xsaXNpb24gZGV0ZWN0aW9uCgkgIEZpeGVzCgkgIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaWFtZ2VzaW5rIHQuICEgcXVldWUgISBnbGltYWdlc2luawoKMjAxNC0wNy0xOCAxMDo0NDo1OSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IG5hbWVzcGFjZSBvZiBzb21lIGludGVybmFsIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzQ3CgoyMDE1LTAzLTE2IDAwOjIyOjE0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJICBjb21wb3NpdG9yOiBGaXggYmxlbmRpbmcgZnVuY3Rpb25zCgkgIENvcnJlY3RseSBjYWxjdWxhdGUgYWxwaGEgaW4gYSBmZXcgcGxhY2VzIGJ5IGRpdmlkaW5nIGJ5IDI1NSwKCSAgbm90IDI1Ni4KCSAgRml4IHRoZSBhcmdiIGFuZCBiZ3JhIGJsZW5kaW5nIGZ1bmN0aW9ucyB0byBhdm9pZCBhbiBvZmYtYnktb25lCgkgIGVycm9yIGluIHRoZSBjYWxjdWxhdGlvbnMsIHNvIHBhaW50aW5nIHdpdGggYWxwaGEgPSAweGZmIGRvZXNuJ3QKCSAgZXZlciBibGVlZCB0aHJvdWdoIGZyb20gYmVoaW5kCgoyMDE1LTAzLTE1IDEyOjA2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCB1bml0IHRlc3QgZm9yICJhbGlnbm1lbnQiIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjkKCjIwMTUtMDMtMTQgMTU6Mjc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1ha2UgImFsaWdubWVudCIgcHJvcGVydHkgbW9yZSB1c2VmdWwgZm9yIHBhY2tldGlzYXRpb24KCSAgQ3VycmVudGx5IHRoZSBhbGlnbm1lbnQgcHJvcGVydHkganVzdCBtYWtlcyBzdXJlIHRoYXQgd2UKCSAgb3V0cHV0IHRoaW5ncyBpbiBtdWx0aXBsZXMgb2YgYWxpZ24qcGFja2V0X3NpemUgYnl0ZXMsIGJ1dAoJICB3aXRoIG5vIGNsZWFyIG1heGltdW0gc2l6ZS4gV2hlbiBzdHJlYW1pbmcgTVBFRy1UUyBvdmVyCgkgIFVEUCBvbmUgd2FudHMgYnVmZmVycyB3aXRoIGEgbWF4aW11bSBwYWNrZXQgc2l6ZSBvZiAxMzE2LgoJICBUaGUgYWxpZ25tZW50IHByb3BlcnR5IHNvIGZhciB3b3VsZCBqdXN0IG91dHB1dCBidWZmZXJzCgkgIHRoYXQgYXJlIGEgbXVsdGlwbGUgb2YgMTMxNiB0aGVuLgoJICBJbnN0ZWFkIHdlIG5vdyBtYWtlIHRoZSBhbGlnbm1lbnQgcHJvcGVydHkgb3V0cHV0CgkgIGluZGl2aWR1YWwgYnVmZmVycyB3aXRoIHRoZSBhbGlnbm1lbnQgc2l6ZSwgd2hpY2gKCSAgaXMgZW50aXJlbHkgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXhwZWN0ZWQKCSAgYmVoYXZpb3VyIHVwIHVudGlsIG5vdy4gRm9yIGVmZmljaWVuY3kgcmVhc29uCgkgIGNvbGxlY3QgYWxsIHRob3NlIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdCBhbmQKCSAgc2VuZCB0aGF0IGRvd25zdHJlYW0uCgkgIEFsc28gY29sbGVjdCBkYXRhIHRvIHB1c2ggZG93bnN0cmVhbSBpbiBhIGJ1ZmZlcgoJICBsaXN0IGZyb20gdGhlIGFkYXB0ZXIgaWYgd2UgZG9uJ3QgYWxpZ24gdGhpbmdzLAoJICB3aGljaCBpcyBzdGlsbCBtb3JlIGVmZmljaWVudCBiZWNhdXNlIG9mIHRoZQoJICBzaWxseSB3YXkgdGhlIG11eGVyIGN1cnJlbnRseSBjcmVhdGVzIG91dHB1dAoJICBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI5CgoyMDE1LTAzLTExIDIzOjAzOjI0ICswODAwICB4aXhpIDx4aXhpMTAxMTEwMTFAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZmV0Y2ggd3Jvbmcgc2VnbWVudCBhdCB0aGUgZW5kIG9mIFBlcmlvZAoJICBGaXggY2hlY2sgZm9yIGVuZCBvZiBQZXJpb2QgdGltZSB0byBhdm9pZCB0cnlpbmcKCSAgdG8gZmV0Y2ggYSBzZWdtZW50IHRoYXQgZG9lc24ndCBleGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDM4CgoyMDE1LTAzLTE0IDE5OjQ4OjIxICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBtb3ZlIG1ldGEtZGF0YSBjb3B5IGludG8gZ3N0LWdsIGxpYnJhcnkKCSAgSW4gc29tZSB1cGxvYWQgaW1wbGVtZW50YXRpb25zIHRoZSBvdXQgYnVmZmVyIGhhcyBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZXMsCgkgIHR1cm5pbmcgdGhlIGJ1ZmZlciBub3Qgd3JpdGFibGUsIHNvIGl0IHdvbid0IGJlIHBvc3NpYmxlIHRvIG1vZGlmeSBpdHMKCSAgbWV0YS1kYXRhLgoJICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBtZXRhLWRhdGEgY29weSBiZWZvcmUgaW5jcmVhc2luZyB0aGUgcmVmZXJlbmNlIG9mIHRoZSBvdXQKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTczCgoyMDE1LTAzLTE0IDE4OjQ1OjAxICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCB0aGUgc2xpZ2h0IGRpZmZlcmVuY2UgYmV0d2VlbiBFWFRfcmcgYW5kIEFSQl9yZwoJICBHTF9FWFRfdGV4dHVyZV9yZyBkb2Vzbid0IHRha2Ugc2l6ZWQgZm9ybWF0cyBmb3IgdGhlIGludGVybmFsZm9ybWF0CgkgIHBhcmFtZXRlciBvZiBUZXhJbWFnZSogYnV0IEdMX0FSQl90ZXh0dXJlX3JnIGFuZCBHTChFUykzIGRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTAzLTE0IDE3OjI5OjAyICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGhhY2sgYXJvdW5kIGJ1ZyA2NDgzNTkKCSAgSXQgaXMgYWxyZWFkeSBmaXhlZAoKMjAxNS0wMy0xNCAxMjoyNDo1MyArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBkZXByZWNhdGVkIGdfYXRvbWljIGZ1bmN0aW9uCgkgIFdlIGRlcGVuZCBvbiAyLjMyIGFscmVhZHkKCjIwMTUtMDMtMTQgMTE6NDU6MjAgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IHBhZCBsZWFrCgkgIE9ubHkgZ2V0IHRoZSBwYWQgaWYgaXQgaXMgcmVhbGx5IGdvaW5nIHRvIGJlIHVzZWQgdG8gYXZvaWQKCSAgbGVha2luZyBpdAoKMjAxNS0wMy0xNCAxODoxMDoyNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogZml4dXAgZ2VuZXJpYyBjdWJlIGV4YW1wbGUgZm9yIE5EQwoJICB0cmFuc2xhdGluZyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbiBkb2Vzbid0IHdvcmsKCjIwMTUtMDMtMTQgMTU6Mzg6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlMi5jOgoJICBnbC9leGFtcGxlczogYWRkIHNkbHNoYXJlMiB0aGF0IHVzZXMgZ2xpbWFnZXNpbmsgdG8gb3V0cHV0IHRleHR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTY6MzA6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBrZWVwIHdpbmRvdyBpbnZpc2libGUgd2hlbiBzaGFyaW5nIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE1OjE2OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkgIGdsaW1hZ2VzaW5rOiBwcm92aWRlIEdzdFNhbXBsZSBpbiBjbGllbnQtZHJhdyBzaWduYWwKCSAgSW5zdGVhZCBvZiBwcml2aWRpbmcgdGV4dHVyZSBhbmQgc2l6ZSBkaXJlY3RseS4KCSAgQW5kIGFwcGx5IGNoYW5nZXMgdG8gZXhhbXBsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTU6Mzc6MDUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIHNkbHNoYXJlOiB1c2UgZ2x1cGxvYWQgYW5kIHVubWFwIGZyYW1lCgoyMDE1LTAzLTE0IDE2OjI1OjI5ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsc3luY21ldGE6IG1ha2UgY29udGV4dCB0byB3YWl0IGFuZCBzZXQgc3luYyBleHBsaWNpdAoJICBvdGhlcndpc2Ugd2UgbWF5IHdhaXQgb24gYSBzeW5jIG9iamVjdCBpbiBzYW1lIGNvbnRleHQgYnkgYWNjaWRlbnQKCjIwMTUtMDMtMTQgMTU6MTY6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkCgkgIFdhcyBzdXBwb3NlZCB0byBiZSBzcXVhc2hlZCBpbnRvIGVhcmxpZXIgY29tbWl0LgoKMjAxNS0wMy0xNCAxNToxNTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDE1LTAzLTE0IDE0OjQzOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSAgUmVtb3ZlIHVucG9ydGVkIGFuZCB1c2VsZXNzIG9zeHZpZGVvc3JjIGVsZW1lbnQKCSAgVGhlcmUgYXJlIG90aGVyIGVsZW1lbnRzIGZvciB0aGlzIG5vdy4KCjIwMTUtMDMtMTMgMTg6MjQ6NDMgKzAwMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xNCAxMjo1ODoyMiArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgTlVMTCBjaGVjayBpbiBlcnJvciBjYXNlCgkgIE90aGVyIGNvbnRleHQgbWF5IGJlIE5VTEwgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcuIEF2b2lkIHRyeWluZyB0byB1bnJlZgoJICBhIE5VTEwgcG9pbnRlci4KCjIwMTUtMDMtMTQgMTE6MDE6MTIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcyBpbiBjb25maWd1cmUuYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDAyMAoKMjAxNS0wMy0xNCAxMDozOTowNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkL2NvbG9yY29udmVydDogb25seSBjb3B5IHRpbWVzdGFtcHMgaWYgdGhlIGlucHV0IGJ1ZmZlciAhPSBvdXRwdXQKCjIwMTUtMDMtMTEgMDA6MDY6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgR3N0R0xEaXNwbGF5Q29jb2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAxMgoKMjAxNS0wMy0xMyAwOTowNzoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZXhhbXBsZXM6IGluaXRpYWxpemUgTlNBcHAgYXQgdGhlIGJlZ2lubmluZwoKMjAxNS0wMy0xNCAwNzo0OToxNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvIG5vdCB0ZXJtaW5hdGUgbG9vcCBpbiBnc3RfZ2xfd2luZG93X2NvY29hX2Nsb3NlCgkgIEl0IGlzIG5vdyBkb25lIGluIF9maW5hbGl6ZS4KCSAgRml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieQoJICAiZ2wvd2luZG93OiBjcmVhdGUgdGhlIG1haW4gbG9vcC9jb250ZXh0IG9uIGluaXQvZmluYWxpemUiCgkgIGJjN2E3MjU5ZjM1N2IwMDY1ZGQ5NGUwNjY4YjVhODk1ZDgzZmE1M2EKCjIwMTUtMDMtMTMgMTU6MzQ6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGF2b2lkIG92ZXJ3cml0aW5nIGRpc3BsYXkgYW5kIGNvbnRleHQgdG8gTlVMTAoJICBJdCBoYXBwZW5zIHdoZW4gdGhlIGFwcGxpY2F0aW9uIHByb3ZpZGVzIGRpc3BsYXkKCSAgYW5kL29yIGNvbnRleHQuCgoyMDE1LTAzLTEzIDE3OjQxOjE3ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogYXR0cmlidXRlIGxvY2F0aW9ucyBhcmUgLTEgb24gZXJyb3IKCjIwMTUtMDMtMTMgMTc6MDQ6MTcgKzAwMDAgIE5lb3MzNDUyIDxuZW9zMzQ1MkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IHByZXZlbnQgZnJvbSBnZXR0aW5nIGF0dHJpYnV0ZXMgd2l0aG91dCB2ZXJ0ZXggc2hhZGVyCgkgIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBxdWVyeSBmb3IgdmVydGV4IGF0dHJpYnV0ZXMgd2l0aG91dCBhIHZlcnRleAoJICBzaGFkZXIuIE1vcmVvdmVyIHRoaXMgaXMgY2F1c2luZyBhIGNyYXNoIG9uIE9TWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE2OAoKMjAxNS0wMy0xNCAwMjo1MzowMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSAgR0w6IFJlbW92ZSBhbm5veWluZyBwcmludGYgaW4gdGhlIGZpbHRlcmJpbiBjbGFzc19pbml0CgoyMDE1LTAzLTEyIDA5OjI3OjMwICswMTAwICBpanNmIDxpanNmQGdteC5uZXQ+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBSZXN0cmljdGVkIGFjdGl2ZVZpZGVvTWF4RnJhbWVEdXJhdGlvbiB0byBmaXggZnJhbWUgcmF0ZQoKMjAxNS0wMy0xMyAxMjo0MzoxMyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4KCjIwMTUtMDMtMTMgMTI6NDA6MDQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogdW5yZWYgdGhlIGJ1ZmZlcnBvb2wKCjIwMTUtMDMtMTMgMTI6Mjk6NTQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbgoKMjAxNS0wMy0xMyAxMjoyODozNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IHByb3Blcmx5IHVucmVmIGJ1ZmZlcnMgdGhhdCBhcmUgdGhlIHNhbWUgYXMgdGhlIGlucHV0CgkgIGJhc2V0cmFuc2Zvcm0gZG9lc24ndCB1bnJlZiBlcXVhbCBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMKCjIwMTUtMDMtMTMgMTA6MjU6MzUgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGdldCB0aGUgY29udGV4dCBmcm9tIGJhc2VtaXhlci9iYXNlZmlsdGVyCgoyMDE1LTAzLTEzIDA5OjM4OjU0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJldHJlaXZlIHRoZSBnbGRpc3BsYXkvYXBwIGdsIGNvbnRleHQgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBmaXhlcyB0aGUgdXNhZ2Ugb2YgZ3N0X2dsX2Rpc3BsYXlfZmlsdGVyX2dsX2FwaQoKMjAxNS0wMy0xMyAwOTozNzo0NiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvdGVzdHM6IGZpeCBkZWFkbG9jayBvbiBnbGNvbnRleHQgd3JhcHBlZCBjb250ZXh0IHRlc3QKCjIwMTUtMDMtMTIgMTY6NDY6NDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBjYWNoZSBpbmRpY2VzIGluIGEgYnVmZmVyIG9iamVjdAoKMjAxNS0wMy0xMiAxNzoxMTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IGRpc2NvbnQgZGV0ZWN0aW9uIGFuZCBidWZmZXIgYWxpZ25tZW50IGNvZGUKCSAgQWN0dWFsbHkgYWNjdW11bGF0ZSB0aGUgc2FtcGxlIGNvdW50ZXIgdG8gY2hlY2sgdGhlIGFjY3VtdWxhdGVkIGVycm9yCgkgIGJldHdlZW4gYWN0dWFsIHRpbWVzdGFtcHMgYW5kIGV4cGVjdGVkIG9uZXMgaW5zdGVhZCBvZiBqdXN0IHJlc2V0dGluZwoJICB0aGUgZXJyb3IgYmFjayB0byAwIHdpdGggZXZlcnkgbmV3IGJ1ZmZlci4KCSAgQWxzbyBkb24ndCByZXNldCBkaXNjb250X3RpbWUgd2hlbmV2ZXIgd2UgZG9uJ3QgcmVzeW5jLiBUaGUgd2hvbGUgcG9pbnQgb2YKCSAgZGlzY29udF90aW1lIGlzIHRvIHJlbWVtYmVyIHdoZW4gd2UgZmlyc3QgZGV0ZWN0ZWQgYSBkaXNjb250IHVudGlsIHdlIGFjdHVhbGx5CgkgIGFjdCBvbiBpdCBhIGJpdCBsYXRlciBpZiB0aGUgZGlzY29udCBzdGF5ZWQgYXJvdW5kIGZvciBkaXNjb250X3dhaXQgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAzMgoKMjAxNS0wMy0wOCAxODoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4gbGlrZSBnbGltYWdlc2luawoKMjAxNS0wMy0wMyAxODowNTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGF2b2lkIGRlYWRsb2NrIHdoZW4gY3JlYXRpbmcgY29udGV4dCBvbiB0aGUgbWFpbiB0aHJlYWQuCgkgIE1ha2Ugd2luZG93L3ZpZXcgY3JlYXRpb24gYXN5bmMgc28gdGhhdCBpdCBpcyBwb3NzaWJsZSB0bwoJICBnc3RfZ2xfY29udGV4dF9jcmVhdGUgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCgoyMDE1LTAzLTAzIDE3OjI2OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2w6IHN0b3JlIHRoZSBsaXN0IG9mIGNvbnRleHRzIHdpdGhpbiBnbGRpc3BsYXkKCSAgUmVtb3ZlcyB0aGUgcmVsaWFuY2Ugb24gdGhlIGFsbG9jYXRpb24gcXVlcnkgdG8gcHJvcG9nYXRlIEdMIGNvbnRleHRzLgoJICBBbGxvd3MgdGhyZWFkIHNhZmVseSBnZXR0aW5nIGEgY29udGV4dCBmb3IgdGhlIGEgc3BlY2lmaWMgdGhyZWFkLgoKMjAxNS0wMy0wMyAxNjo0ODoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnNldCB0aGUgY3VycmVudCBzaGFkZXIgYWZ0ZXIgcmVuZGVyaW5nCgkgIGZpeGVzIGdsdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIHdoZW4gZ2x0ZXN0c3JjIGRvZXNuJ3QgdXNlIGEgc2hhZGVyCgoyMDE1LTAzLTAzIDE2OjM4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiByZW1vdmUgdXNhZ2Ugb2YgZ2xkb3dubG9hZCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMi0yOCAwMDozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogc3RvcmUgdGhlIHRocmVhZCBjdXJyZW50IGNvbnRleHQKCjIwMTUtMDItMjYgMTg6MjY6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xzcmNiaW4gZWxlbWVudAoKMjAxNS0wMi0yNiAxMzo0NTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluCgkgIFRoZSByZWxldmFudCBwcm9wZXJ0aWVzIGFyZSBmb3J3YXJkZWQgdG8vZnJvbSB0aGUgY29udGFpbmluZyBiaW4KCSAgYW5kIHNpbmsgcGFkcy4KCjIwMTUtMDItMjYgMDA6MjA6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHJlbW92ZSB1c2FnZSBvZiB1cGxvYWQvZG93bmxvYWQgb2JqZWN0cwoKMjAxNS0wMi0yNSAyMzo0ODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xtaXhlcmJpbiBlbGVtZW50CgoyMDE1LTAyLTIwIDE2OjQ3OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbgoJICBnbHVwbG9hZCAhIGdsY29sb3Jjb252ZXJ0ICEgc2luawoJICBTb21lIHByb3BlcnRpZXMgYXJlIG1hbnVhbGx5IGZvcndhcmRlZC4gIFRoZSByZXN0IGFyZSBhdmFpbGFibGUgdXNpbmcKCSAgR3N0Q2hpbGRQcm94eS4KCSAgVGhlIHR3byBzaWduYWxzIGFyZSBmb3J3YXJkZWQgYXMgd2VsbC4KCjIwMTUtMDItMTkgMTg6MjM6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbHNpbmtiaW4gZWxlbWVudAoJICBzaW1pbGFyIHRvIGdsZmlsdGVyYmluIGJ1dCBmb3Igc2lua3MKCjIwMTUtMDItMTkgMTQ6MTk6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZG9uJ3QgdXNlIHRoZSBsaWJyYXJ5IHVwbG9hZC9jb252ZXJ0IG9iamVjdHMKCjIwMTUtMDItMTkgMTM6MzM6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZWxlbWVudCBnbGZpbHRlcmJpbgoJICBJdCBlbmNhcHN1bGF0ZXMgYSBjb25maXVyYWJsZSBHTCBwcm9jZXNzaW5nIGVsZW1lbnQgaW4gdGhlCgkgIHVwbG9hZC9jb2xvcmNvbnZlcnQvZG93bmxvYWQgZGFuY2UgcmVxdWlyZWQgdG8gdHJhbnNwYXJlbnRseSBwcm9jZXNzCgkgIHRoZSBtYWpvcml0eSBvZiBHc3RCdWZmZXIncy4KCjIwMTUtMDItMTkgMTM6MjQ6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgbmV3IGdsZG93bmxvYWRlbGVtZW50CgkgIFNpbXBseSB0cmFuc2Zvcm1zIGNhcHMgdG8vZnJvbSByYXcvZ2xtZW1vcnkgY2Fwc2ZlYXR1cmVzCgoyMDE1LTAyLTEyIDE3OjU5OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSBuZXcgZ2xjb2xvcmNvbnZlcnQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2xjb2xvcmNvbnZlcnQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDMtMTEgMTY6NTY6MTYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogaW1wbGVtZW50IHByb3Bvc2VfYWxsb2NhdGlvbiBwb29sIGhhbmRsaW5nIGZvciBnbG1lbW9yeSB1cGxvYWQKCjIwMTUtMDItMTEgMjM6Mjk6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIG5ldyBnbHVwbG9hZCBlbGVtZW50IGJhc2VkIG9uIHRoZSBnbHVwbG9hZCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMi0xMSAxNDo0ODo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2w6IGFkZCBhIG5ldyBnbGJhc2VtaXhlciBjbGFzcyBiZWxvdyBnbG1peGVyCgkgIEl0IGRlYWxzIHdpdGggcHJvcGFnYXRpbmcgdGhlIGdsIGRpc3BsYXkvY29udGV4dHMgdGhyb3VnaG91dCB0aGUKCSAgYXBwbGljYXRpb24vcGlwZWxpbmUKCjIwMTUtMDItMTEgMDE6NDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGFkZCBhIG5ldyBnbGJhc2VmaWx0ZXIgY2xhc3MgYmVsb3cgZ2xmaWx0ZXIKCSAgSXQgZGVhbHMgd2l0aCBwcm9wYWdhdGluZyB0aGUgZ2wgZGlzcGxheS9jb250ZXh0cyB0aHJvdWdob3V0IHRoZQoJICBhcHBsaWNhdGlvbi9waXBlbGluZQoKMjAxNS0wMi0xMSAwMToyNzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1dGlsczogZXhwb3NlIHJ1bm5pbmcgYSBxdWVyeSBvbiBhIHNldCBvZiBzcmMvc2luayBwYWRzCgoyMDE1LTAzLTEyIDEyOjQ5OjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiByZXBsYWNlIGNiciBhbmQgY29uc3RyYWluZWQtdmJyIHByb3BlcnRpZXMgd2l0aCBhbiBlbnVtCgkgIEl0IHdhcyBkZWVtZWQgY29uZnVzaW5nIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDkwOQoKMjAxNS0wMy0xMiAxMDoxNDo1MCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhZHZlcnRpc2UgcmVzaXplIGluIHRoZSBjYXBzIG5lZ290aWF0aW9uIHByb3Blcmx5CgoyMDE1LTAzLTEyIDAxOjQ5OjU4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBsb2NraW5nIHRvIGZpbGxfYnVmZmVyIGFuZCBmaXggbWl4X2J1ZmZlcgoJICBUaGUgYXVkaW9taXhlciBwYWQgc3RydWN0IGZpZWxkcyBtYXkgYmUgY2hhbmdlZCBmcm9tIG90aGVyIHRocmVhZHMKCjIwMTUtMDMtMTIgMDE6NTY6NDQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBNYXJrIGEgZGlzY29udCB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudAoJICBUaGlzIGFsbG93cyB1cyB0byBoYW5kbGUgbmV3IHNlZ21lbnQgZXZlbnRzIGNvcnJlY3RseTsgZWl0aGVyIGJ5IGRyb3BwaW5nCgkgIGJ1ZmZlcnMgb3IgaW5zZXJ0aW5nIHNpbGVuY2U7IGZvciBleGFtcGxlIGlmIHRoZSBvZmZzZXQgaXMgY2hhbmdlZCBvbiBhbiBzcmNwYWQKCSAgY29ubmVjdGVkIHRvIGF1ZGlvbWl4ZXIuCgoyMDE1LTAzLTEyIDA5OjQ2OjAyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHdlIGRvbid0IGRvIHJlc2l6aW5nIG9mIHRoZSB2aWRlbyBmcmFtZXMKCSAgQXMgd2UgY2Fubm90IGRvIGFjY3VyYXRlIHRleGVsIHNhbXBsaW5nIHRoZW4gZHVlIHRvIHRoZSB0ZXh0dXJlCgkgIGNvb3JkaW5hdGVzIGJlaW5nIGludGVycG9sYXRlZCBiYXNlZCBvbiB0aGUgb3V0cHV0IGZyYW1lIHNpemUuCgoyMDE1LTAxLTIwIDE5OjUzOjA5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogV2hpbGUgYWdncmVnYXRpbmcsIHN5bmMgdmFsdWVzIGZvciBhbGwgcGFkcyBiZWZvcmUgY29udmVydGluZyBmcmFtZXMKCjIwMTUtMDMtMTEgMTg6NDk6MjIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogZG9uJ3QgWEdldFdpbmRvd0F0dHJpYnV0ZXMgZXZlcnkgWEV2ZW50CgkgIGZpeGVzIGEgZGVhZGxvY2sgaW4geGNiIHdoZXJlIHRoZSBYIHdpbmRvdyBtYXkgbm90IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NjMzCgoyMDE1LTAzLTExIDE0OjUwOjI4ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL3dpbmRvdzogaG9wZWZ1bGx5IGZpeHVwIGNvbXBpbGUgd2FybmluZ3Mgb24gYW5kcm9pZC9pb3MKCjIwMTUtMDMtMTEgMTc6MTk6MTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBSZW1vdmUgcmVkdW5kYW50IGNoZWNrIGZvciBjbGVhcmluZyBjb250ZXh0IG9uIHJlc2V0LgoJICBUaGUgY29udGV4dCBpcyBhbHJlYWR5IGNsZWFyZWQgYSBmZXcgbGluZXMgYWJvdmUuCgoyMDE1LTAzLTExIDE2OjU1OjE0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkgIFJlbW92ZSBhIGJ1bmNoIG9mIHNpbGx5ICc7OycgdHlwb3MgYXQgdGhlIGVuZCBvZiBsaW5lcwoKMjAxNS0wMy0wNiAxNTozMToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93OiBjcmVhdGUgdGhlIG1haW4gbG9vcC9jb250ZXh0IG9uIGluaXQvZmluYWxpemUKCSAgQXZvaWRzIHJhY2VzIHNldHRpbmcgdGhlIHdpbmRvdyBoYW5kbGUgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU2MzMKCjIwMTUtMDMtMDggMDI6MDQ6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcnk6IGRvbid0IHJlZGVmaW5lIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTCgoyMDE1LTAzLTA0IDExOjEyOjMyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbW92ZSB1bnVzZWQgbGFiZWwvdmFyaWFibGUKCjIwMTUtMDMtMTAgMTU6MzE6MjEgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0IGNoZWNrLgoJICBBbmQgcmV0dXJuIDAgaXNudGVhZCBvZiBGQUxTRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wMiAxNDowMDowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQuCgkgIFRvIGFjY291bnQgZm9yIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgYXMgcGVyIHNlY3Rpb24gNy4yLjEgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTAyIDEzOjUzOjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogW0FQSV06IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0IHZpcnR1YWwgbWV0aG9kLgoJICBBc2tzIHRoZSBzdWJjbGFzcyBmb3IgYSBwb3RlbnRpYWwgdGltZSBvZmZzZXQgdG8gYXBwbHkgdG8gZWFjaAoJICBzZXBhcmF0ZSBzdHJlYW0sIGluIGRhc2ggc3RyZWFtcyBjYW4gaGF2ZSAicHJlc2VudGF0aW9uIHRpbWUgb2Zmc2V0cyIsCgkgIHdoaWNoIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTA2IDEyOjI0OjQ0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZ3N0bXBkcGFyc2VyOiBSZWFsbHkgc2V0IHRoZSBkZWZhdWx0IHZhbHVlIGZvciBzdGFydE51bWJlci4KCSAgKyBUaGUgc3BlY3MgYXNrIGZvciBhIGRlZmF1bHQgb2YgMSwgdGhlIGN1cnJlbnQgY29kZSBvbmx5IGRpZAoJICBzZXQgYSBkZWZhdWx0IHdoZW4gdGhlIGZpZWxkIHdhcyBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTA5IDExOjExOjE2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcjogdW51c2VkIHZhbHVlCgkgIFZhbHVlIHNldCBpbiBvZmYgd2lsbCBiZSBpbW1lZGlhdGVseSBvdmVyd3JpdHRlbiBhZnRlciBnb2luZyB0byBuZXh0LgoJICBDSUQgIzEyMjY0NzYKCjIwMTUtMDMtMDkgMTI6NTE6MjEgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4NzcKCjIwMTUtMDMtMDkgMTI6NDE6NTkgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHM6IGdsY29udGV4dDogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODc1CgoyMDE1LTAzLTA2IDE0OjQ5OjIwICswMjAwICBNb2hhbW1lZCBIYXNzYW4gPG1vaGFtbWVkLmhhc3NhbkBqb2xsYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHpvb20gcGFyYW0gc3BlYyBpZiB2aWRlbyBzb3VyY2UgY2hhbmdlcyBpdHMgbWF4LXpvb20KCSAgSWYgdGhlIHZpZGVvIHNvdXJjZSBoYXBwZW5zIHRvIGFsbG93IG1heC16b29tIHRvIGJlIGdyZWF0ZXIgdGhhbiBvdXIgbWF4aW11bSBoYXJkIGNvZGVkCgkgIHZhbHVlIG9mIDEwIHRoZW4gdGhlIHVzZXIgY2Fubm90IHNldCBhbnl0aGluZyBncmVhdGVyIHRoYW4gb3VyIG1heGltdW0gc3BlY2lmaWVkIGluIHRoZQoJICBwYXJhbSBzcGVjLiBXZSBoYXZlIHRvIHVwZGF0ZSBvdXIgcGFyYW0gc3BlYyB0byBwcmV2ZW50IGdsaWIgZnJvbSBjYXBwaW5nIHRoZSB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzQwCgoyMDE1LTAzLTA3IDEwOjI4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIHZ0ZGVjOiBSZWdpc3RlciBhIGhhcmR3YXJlLW9ubHkgdnRkZWNfaHcgb24gT1NYIGFuZCBnaXZlIGl0IGEgaGlnaGVyIHJhbmsKCSAgd2hpbGUgaGF2aW5nIHRoZSBkZWZhdWx0IHZ0ZGVjIGF0IHNlY29uZGFyeSByYW5rLiBUaGlzIGFsbG93cyBkZWNvZGViaW4vcGxheWJpbgoJICB0byBwcmVmZXIgdGhlIGhhcmR3YXJlIGJhc2VkIGRlY29kZXJzLCBhbmQgaWYgdGhhdCBmYWlscyB0byBpbml0aWFsaXplIGJlY2F1c2UKCSAgaGFyZHdhcmUgcmVzb3VyY2VzIGFyZSBidXN5IHRvIGZhbGwgYmFjayB0byBlLmcuIHRoZSBsaWJhdiBiYXNlZCBoMjY0IGRlY29kZXIKCSAgaW5zdGVhZCBvZiB0aGUgc29mdHdhcmUgYmFzZWQgdnRkZWMgKHdoaWNoIGlzIHNsb3dlciksIGFuZCBvbmx5IGZhbGwgYmFjayB0bwoJICB0aGUgc29mdHdhcmUgYmFzZWQgdnRkZWMgaWYgdGhlcmUgaXMgbm8gaGlnaGVyIHJhbmtlZCBkZWNvZGVyIGF2YWlsYWJsZS4KCjIwMTUtMDMtMDYgMjA6MTE6MDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IERvbid0IHNoYXJlIG91ciBkb3duc3RyZWFtIHBvb2wgd2l0aCB1cHN0cmVhbQoJICBQb29sIGNhbm5vdCBoYXZlIG11bHRpcGxlIG93bmVyLiBUaGlzIGNhbiBsZWFkIHRvIHNwdXJpb3VzCgkgIHBvb2wgd2FzIGZsdXNoaW5nIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzAKCjIwMTUtMDMtMDUgMTY6Mjg6MzYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRG9uJ3QgY2hhaW4gZG93bnN0cmVhbSBwb29sCgkgIENoYWluaW5nIGEgZG93bnN0cmVhbSBwb29sIHdvdWxkIGxlYWQgdG8gdHdvIG93bmVyIG9mIHRoZSBzYW1lCgkgIHBvb2wuIEluIGR5bmFtaWMgcGlwZWxpbmUsIGlmIG9uZSBvd25lciBpcyByZW1vdmVkIGZyb20gdGhlIHBpcGVsaW5lCgkgIHRoZSBwb29sIHdpbGwgYmUgc3RvcHBlZCwgYW5kIHRoZSByZXN0IG9mIHRoZSBwaXBlbGluZSB3aWxsIGZhaWwKCSAgc2luY2UgdGhlIHBvb2wgd2lsbCBub3cgYmUgZmx1c2hpbmcuIEFsc28gZml4IHByb3Bvc2VkIHBvb2wgY2FjaGluZywKCSAgZmlsdGVyLT5wb29sIHdhcyBuZXZlciBzZXQsIG5ldmVyIHVucmVmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDUKCjIwMTUtMDMtMDUgMTU6NDk6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogT25seSBjYWNoZSBwb29sLCBkb24ndCBtYW5hZ2UgaXQKCSAgR0xJbWFnZSBkb2VzIG5vdCB1c2UgYW55IGtpbmQgb2YgaW50ZXJuYWwgcG9vbC4gVGhlcmUgd2FzIHNvbWUKCSAgcmVtYWluaW5nIGNvZGUgYW5kIGNvbW1lbnQgc3RhdGluZyB0aGF0IGl0IHdhcyBtYW5hZ2luZyB0aGUKCSAgcG9vbCwgYW5kIGl0IHdhcyBpbiBmYWN0IHNldHRpbmcgdGhlIGFjdGl2ZSBzdGF0ZSB3aGVuIGRvaW5nCgkgIHRvIHJlYWR5IHN0YXRlLgoJICAqIE9ubHkgY3JlYXRlIHRoZSBwb29sIGlmIHJlcXVlc3RlZCBhbmQgaW4gcHJvcG9zZV9hbGxvY2F0aW9uCgkgICogQ2FjaGUgdGhlIHBvb2wgdG8gYXZvaWQgcmVhbGxvY2F0aW9uIG9uIHNwdXJpb3VzIHJlY29uZmlndXJlCgkgICogRG9uJ3QgdHJ5IHRvIGRlYWN0aXZhdGUgdGhlIHBvb2wgKHdlIGRvbid0IG93biBpdCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNQoKMjAxNS0wMy0wNiAxMjowNzo0NyAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogc3RvcCBzcGFtbWluZyBpbmZvIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NTUKCjIwMTUtMDMtMDYgMTg6NTQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbGRvd25sb2FkOiBTaW1wbGlmeSBjYXBzIGZlYXR1cmUgc2V0dGluZyBjb2RlCgoyMDE1LTAzLTA2IDE4OjE1OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogUmVtb3ZlIGZvcm1hdCBpbmZvIGluIGdsY29sb3Jjb252ZXJ0J3MgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24gaW5zdGVhZCBvZiBvbiBldmVyeSBjYWxsZXIKCSAgLi4uIGFuZCBsZXQgZ2xtaXhlciBhY3R1YWxseSB0cmFuc2Zvcm0gdGhlIGNhcHMgaXQgaXMgc3VwcG9zZWQgdG8gdHJhbnNmb3JtCgkgIGluc3RlYWQgb2YgaW52ZW50aW5nIG5ldyBjYXBzLgoKMjAxNS0wMy0wNiAxODo0OToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgUmV2ZXJ0ICJ2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBuZXcgY2FwcyBmcm9tIHRoZSB2aWRlby1pbmZvIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc4MjE1YmUwZGZiYjRlOGVkNGYyNDllMTYxYTk0YzY0NDMyOGQyOGQuCgkgIGJlY2F1c2UgaXQgYnJva2UgZ2x2aWRlb21peGVyIHdpdGggY3VzdG9tIGNhcHMgZmVhdHVyZXMuCgoyMDE1LTAzLTA2IDE4OjM2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBTaW1wbGlmeSBjYXBzIGZlYXR1cmUgc2V0dGluZyBjb2RlCgoyMDE1LTAzLTA2IDE0OjU0OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBkb25sX3ByZXNlbnQgdmFyaWFibGUgdW51c2VkCgkgIGRvbmxfcHJlc2VudCBpcyBub3QgaW1wbGVtZW50ZWQsIHlldCB0aGUgdmFsdWUgaXMgc2V0IGFuZCBjaGVja2VkIGEgZmV3IHRpbWVzLgoJICBDbGVhbmluZyB0aGlzLgoJICBDSUQgIzEyNDk2ODcKCjIwMTUtMDMtMDYgMTQ6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogZmFsbCB0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgQWRkaW5nIGEgY29tbWVudCBtYWtlcyBjb3Zlcml0eSBoYXBweSBhbmQgcXVlbGxzIHRoZSBpc3N1ZS4KCSAgQ0lEICMxMTM5NzQ4CgoyMDE1LTAzLTA2IDE0OjM2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBuZXcgY2FwcyBmcm9tIHRoZSB2aWRlby1pbmZvCgkgIEluIGNhc2UgdGhlIG9yaWdpbmFsIGNhcHMgd2VyZSBtaXNzaW5nIHNvbWUgb3B0aW9uYWwgZmllbGRzIGxpa2UKCSAgaW50ZXJsYWNlLW1vZGUuIFdlIGFzc3VtZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhvc2UgZXZlcnl3aGVyZSwKCSAgYnV0IHRoZXkgY2FuIHN0aWxsIGNhdXNlIG5lZ290aWF0aW9uIHRvIGZhaWwgaWYgYSBkb3duc3RyZWFtIGVsZW1lbnQKCSAgZXhwZWN0cyB0aGUgZmllbGQgdG8gYmUgdGhlcmUgYW5kIGF0IGEgc3BlY2lmaWMgdmFsdWUuCgoyMDE1LTAyLTI1IDEzOjUyOjIxICswMTAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFsbG93ICJjYXB0dXJlLXNjcmVlbiIgbW9kZSB0byBzZWxlY3Qgd2hpY2ggc2NyZWVuIHRvIGNhcHR1cmUgdmlhIHRoZSAiZGV2aWNlLWluZGV4IiBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE2MQoKMjAxNS0wMy0wNSAxOTowOTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBPbmx5IHVzZSBkZWJ1Z2dpbmcgaWYgd2UgaGF2ZSB2YWxpZCB2YWx1ZXMKCSAgVGhlIGRlYnVnIGNhdGVnb3J5IHdvbid0IGhhdmUgYmVlbiBjcmVhdGVkL2FjdGl2YXRlZCBpZiBpdCdzIG5vdCBhCgkgIHZhbGlkIGRpc3BsYXkKCjIwMTUtMDMtMDUgMTU6NTQ6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBtb3Rpb25jZWxsczogcHJvdGVjdCBhZ2FpbnN0IG5vdCBmb3VuZCBpZAoJICBJZiBzZWFyY2hJZHgoKSBkb2Vzbid0IGZpbmQgdGhlIGlkIGl0IHJldHVybnMgLTEsIHdoaWNoIGJyZWFrcwoJICBtb3Rpb25jZWxzc3ZlY3Rvci5hdCAoaWR4KS4gQ2hlY2sgZm9yIGl0IGFuZCByZXR1cm4gaWYgbm90IGZvdW5kLgoJICBDaGFuZ2luZyBhIGZldyBvdGhlciBsaW5lcyBmb3Igc3R5bGUgY29uc2lzdGVuY3kuCgoyMDE1LTAzLTA1IDE1OjM0OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogcmVtb3ZlIGFsd2F5cy10cnVlIGNoZWNrCgkgIGZpbHRlci0+Y3ZJbWFnZSBoYXMganVzdCBiZWVuIHVzZWQvZGVyZWZlcmVuY2VkLCB0aGVyZSB3b3VsZCBiZSBhbiBlcnJvcgoJICB0aGVyZSBpZiB0aGUgcG9pbnRlciB3YXMgTlVMTC4gTm8gbmVlZCB0byBjaGVjayBzaW5jZSBpdCB3aWxsIGFsd2F5cyBiZSB0cnVlLgoKMjAxNS0wMy0wNCAxNjoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogQ2FsY3VsYXRlIHRoZSBkdXJhdGlvbiBtb3JlIGFjY3VyYXRlbHkgZnJvbSB0aGUgY2FwdHVyZSB0aW1lIGFuZCBudW1iZXJzIG9mIHNhbXBsZXMKCSAgVGhpcyBzaG91bGQgcHJldmVudCBhbnkgYWNjdW11bGF0aW5nIHJvdW5kaW5nIGVycm9ycyB3aXRoIHRoZSBkdXJhdGlvbi4KCjIwMTUtMDMtMDQgMTY6MDU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEZpeCB0aGUgdGltZXN0YW1wIGFuZCBvZmZzZXQgY2FsY3VsYXRpb25zIGV2ZW4gbW9yZQoKMjAxNS0wMy0wNCAxNjowNDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3Qgc3VidHJhY3QgdGhlIGR1cmF0aW9uIGZyb20gdGhlIGNhcHR1cmUgdGltZQoJICBXZSBhbHJlYWR5IGhhdmUgdGhlIHJlYWwgY2FwdHVyZSB0aW1lLCBub3QgdGhlIHRpbWUgd2hlbiB3ZSByZWNlaXZlZAoJICB0aGUgZW5kIG9mIHRoZSBwYWNrZXQuCgoyMDE1LTAzLTA0IDEzOjE2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBSZXZlcnQgImF1ZGlvbWl4ZXI6IExhdGVuY3kgaXMgdHdpY2UgdGhlIG91dHB1dCBidWZmZXIgZHVyYXRpb24sIG5vdCBvbmx5IG9uY2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDM4N2NmNjdkZjkxYjU5NTQwZjMyZWUxN2I0YzAyZjc0Nzk2OWFkZC4KCSAgVGhlIGFuYWx5c2lzIHdhcyB3cm9uZzogVGhlIGZpcnN0IDIwbXMgb2YgbGF0ZW5jeSBhcmUgaW50cm9kdWNlZCBieSB0aGUgc291cmNlCgkgIGFscmVhZHkgYW5kIHB1dCBpbnRvIHRoZSBsYXRlbmN5IHF1ZXJ5LCBtYWtpbmcgaXQgb25seSBuZWNlc3NhcnkgdG8gY292ZXIgdGhlCgkgIGFkZGl0aW9uYWwgMjBtcyBvZiBhdWRpb21peGVyIGluc2lkZSBhdWRpb21peGVyLgoKMjAxNS0wMy0wNCAwOToyNDoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBsYXRlbmN5IHF1ZXJ5IGluIEZFQyBjYXNlCgkgIFRoZSBtYXggbGF0ZW5jeSBwYXJhbWV0ZXIgaXMgInRoZSBtYXhpbXVtIHRpbWUgYW4gZWxlbWVudAoJICBzeW5jaHJvbml6aW5nIHRvIHRoZSBjbG9jayBpcyBhbGxvd2VkIHRvIHdhaXQgZm9yIHJlY2VpdmluZyBhbGwKCSAgZGF0YSBmb3IgdGhlIGN1cnJlbnQgcnVubmluZyB0aW1lIiAoZG9jcy9kZXNpZ24vcGFydC1sYXRlbmN5LnR4dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzMzgKCjIwMTUtMDMtMDMgMTE6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVzZXQgdGhlIHBhcnNlciBpbmZvcm1hdGlvbiB3aGVuIGNhcHMgY2hhbmdlcwoJICBUaGlzIHByZXZlbnRzIGl0IGZyb20gZ29pbmcgaW50byBwYXNzdGhyb3VnaCBhZnRlciByZWNlaXZpbmcgMgoJICBieXRlLXN0cmVhbSBjYXBzIChkaWZmZXJlbnQgb25lcykgYXMgaXQgd291bGQga2VlcCB0aGUgaGF2ZV9wcHMgYW5kCgkgIGhhdmVfc3BzIHNldCB0byB0cnVlIGFuZCB3b3VsZCBqdXN0IGdvIGludG8gcGFzc3Rocm91Z2ggd2l0aG91dAoJICB1cGRhdGluZyBpdHMgY2Fwcy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCByZXNldCBpdHMgc3RyZWFtIGluZm9ybWF0aW9uIHRvIHJlc3RhcnQgcHJvcGVybHkKCSAgd2hlbiBuZXcgY2FwcyBhcmUgcmVjZWl2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0MDkKCjIwMTUtMDMtMDMgMTc6NDc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCB0aW1lc3RhbXAgb24gZGlzY29udCBidWZmZXJzCgkgIE1ha2Ugc3VyZSBkaXNjb250IGJ1ZmZlcnMgaGF2ZSBpdHMgdGltZXN0YW1wIHNldCB0byBhbGxvdyBkb3duc3RyZWFtCgkgIHRvIHJlc3luYyBpZiBuZWVkZWQKCjIwMTItMDMtMjIgMDg6NDc6NTcgKzAxMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogY2hlY2sgbmVnb3RpYXRlZCBjYXBzIGF2b2lkIHJlc2V0aW5nIG9mIHRoZSBwaXBlCgkgIFRvIGF2b2lkIHVzZWxlc3MgcmVuZWdvdGlhdGlvbiBvZiB0aGUgcGlwZSB3ZSBjYW4gY2hlY2sgZm9yCgkgIG5lZ290aWF0ZWQgY2FwcyBvbiBzcmNfZmlsdGVyIGFuZCBjb21wYXJlIGl0IHdpdGggcmVxdWVzdGVkCgkgIGZpbHRlci4gSWYgdGhlIGNhcHMgaW50ZXJzZWN0LCBhdm9pZCByZXN0YXJ0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNjEwCgoyMDE1LTAzLTAyIDAxOjA4OjE1ICswMzAwICBJbHlhIEF2ZXJ5YW5vdiA8aS5hdmVyeWFub3ZAZ2Vvc2Nhbi5hZXJvPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgZHVwbGljYXRlIGNvZGUKCSAgVGhlIG11eGVyIGlzIGFscmVhZHkgYWxsb2NhdGVkIGluIHJlc2V0KCksIHdoaWNoIGlzIGNhbGxlZCBzb29uIGFmdGVyd2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MDYKCjIwMTUtMDMtMDMgMTA6MTI6MTEgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFNldCBxdWVyeSBBTExPQ0FUSU9OIG5lZWRfcG9vbCB0byBGQUxTRQoJICBTZXQgcXVlcnkgQUxMT0NBVElPTiBuZWVkX3Bvb2wgdG8gRkFMU0UgYXMgaXQgb25seSBuZWVkIHF1ZXJ5IGlmIGNhbgoJICBzdXBwb3J0IHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ5NQoKMjAxNS0wMy0wNCAxNDozODozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZXNpbms6IHV0aWxpc2UgYSBwdWxsIGJhc2VkIGFwcHJvYWNoIG9mIGRpc3BsYXlpbmcgdmlkZW8gZnJhbWVzCgkgIFVzaW5nIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlIHRoZSBsYXllciB3aWxsIGV4ZWN1dGUgYSBibG9jawoJICB3aGVuIGl0IHdvdWxkIGxpa2UgbW9yZSBmcmFtZXMuIFVzaW5nIHRoaXMgd2UgY2FuIHByb3ZpZGUgdGhlIGN1cnJlbnQKCSAgZnJhbWUgYW5kIGF2b2lkIG5lZWRsZXNzbHkgZmlsbGluZyB0aGUgbGF5ZXIncyBidWZmZXIgcXVldWUgY2F1c2luZwoJICBvbGRlciBmcmFtZXMgdG8gYmUgZGlzcGxheWVkIHdoZW4gdW5kZXIgcmVzb3VyY2UgcHJlc3N1cmUuCgoyMDE1LTAzLTAzIDE1OjIyOjM4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogRml4IHVwc2lkZSBkb3duIGFuZCBtaXNzLWFsaWduZWQgSlBFRwoJICBMaWJKUEVHIHVzZXMgbWFjcm9ibG9jayBvZiA4eDggc2FtcGxlLiBJbiB0aGlzIGVsZW1lbnQgd2UgdXNlIFJHQiBhbmQKCSAgWTQ0NCwgdHdvIDI0Yml0IGZvcm1hdHMgdGhhdCBhcmUgc3RvcmVkIGluIDMyYml0IHBpeGVscy4gVGhpcyBtZWFuIHdlCgkgIGhhdmUgMzJ4MzIgYnl0ZXMgbWFjcm9ibG9ja3MuIEZvciB0aGlzIHJlYXNvbiwgd2UgbmVlZCB0byBhbGxvY2F0ZQoJICBvdXIgYnVmZmVyIHNsaWdodGx5IGxhcmdlci4gV2UgYWxzbyBuZWVkIHRvIHBhc3MgdGhlIGxpbmUgcG9pbnRlciBpbgoJICB0aGUgcmlnaHQgb3JkZXIsIG90aGVyd2lzZSB0aGUgaW1hZ2UgZW5kdXAgdXBzaWRlLWRvd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDkKCjIwMTUtMDMtMDMgMjA6MDM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IExhdGVuY3kgaXMgdHdpY2UgdGhlIG91dHB1dCBidWZmZXIgZHVyYXRpb24sIG5vdCBvbmx5IG9uY2UKCSAgTGV0J3MgYXNzdW1lIGEgc291cmNlIHRoYXQgb3V0cHV0cyBvdXRwdXRzIDIwbXMgYnVmZmVycywgYW5kIGF1ZGlvbWl4ZXIgaGF2aW5nCgkgIGEgMjBtcyBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLiBIb3dldmVyIHRpbWVzdGFtcHMgZG9uJ3QgYWxpZ24gcGVyZmVjdGx5LCB0aGUKCSAgc291cmNlIGJ1ZmZlcnMgYXJlIG9mZnNldHRlZCBieSA1bXMuCgkgIEZvciBvdXIgQVNDSUkgYXJ0IHBpY3R1cmUsIGVhY2ggbGV0dGVyIGlzIDVtcywgZWFjaCBwaXBlIGlzIHRoZSBzdGFydCBvZiBhCgkgIDIwbXMgYnVmZmVyLiBTbyB3aGF0IGhhcHBlbnMgaXMgdGhlIGZvbGxvd2luZzoKCSAgMCAgIDIwICA0MCAgNjAKCSAgT09PT09PT09PT09PT09PTwoJICB8ICAgfCAgIHwgICB8CgkgIDUgICAyNSAgNDUgIDY1CgkgIElJSUlJSUlJSUlJSUlJSUkKCSAgfCAgIHwgICB8ICAgfAoJICBUaGlzIG1lYW5zIHRoYXQgdGhlIHNlY29uZCBvdXRwdXQgYnVmZmVyICgyMCB0byA0MG1zKSBvbmx5IGdldHMgaXRzIGxhc3QgNW1zCgkgIGF0IHRpbWUgNDVtcyAodGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV4dCBidWZmZXIgaXMgdGhlIHRpbWUgd2hlbiB0aGUgYnVmZmVyCgkgIGFycml2ZXMpLiBCdXQgaWYgd2Ugb25seSBoYXZlIGEgbGF0ZW5jeSBvZiAyMG1zLCB3ZSB3b3VsZCB3YWl0IHVudGlsIDQwbXMKCSAgdG8gZ2VuZXJhdGUgdGhlIG91dHB1dCBidWZmZXIgYW5kIG1pc3MgdGhlIGxhc3QgNW1zIG9mIHRoZSBpbnB1dCBidWZmZXIuCgoyMDE1LTAyLTE4IDIxOjIxOjAxIC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJICBnbHRyYW5zZm9ybWF0aW9uOiBub3JtYWxpemUgdHJhbnNsYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCSAgKiBMdWJvc3o6IHVzZSBtYXhmbG9hdCBmb3IgdHJhbnNmb3JtYXRpb24gcmFuZ2UKCjIwMTUtMDItMTggMjA6NDE6MTQgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IEZpeCBkb2MgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgoyMDE1LTAzLTAzIDEzOjQ1OjQ2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEdldCByaWQgb2YgdXBsb2FkZXIgaWYgY2FwcyBoYXZlIGNoYW5nZWQKCSAgV2UgbmVlZCB0byB1cGRhdGUgdGhlIHVwbG9hZGVyIGZvcm1hdCBpZiB0aGF0IGNhcHMgaGF2ZSBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTQ5CgoyMDE1LTAzLTAzIDE2OjUwOjMwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgd2F5bGFuZHNpbms6IGdfbWtzdGVtcCBpcyBzYWZlciB0aGFuIG1rc3RlcAoKMjAxNS0wMy0wMyAxNjo0OTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIFJldmVydCAid2F5bGFuZHNpbms6IG1rc3RlbXAgcmVxdWlyZXMgc2V0dGluZyBwZXJtaXNzaW9uIG1hc2siCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTg5MGU3MzU1YTU0NjRmY2ZmZjU4NjMzODUxMjY1YjNmYzdhMzczMS4KCSAgQmV0dGVyIHRvIHVzZSBnX21rc3RlbXAgdGhhdCB0YWtlcyBjYXJlIG9mIHRoZSBtYXNrIHdpdGhvdXQgYWZmZWN0aW5nIHRoZQoJICBlbnRpcmUgcHJvY2Vzcy4KCjIwMTUtMDMtMDMgMTY6NTU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IEZpeCBjb250ZXh0IGxlYWtzCgkgIEludHJvZHVjZWQgYnkgYTEyY2ExMzc1MGExNTMwMGFiM2M3MThlYmRlMjk4NGRjM2Q1ODdiMwoKMjAxNS0wMy0wMyAxNjoyMzo0MCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbmRpdGlvbmFsCgkgIFRoZSB0d28gYnJhbmNoZXMgb2YgdGhlIGlmIGNvbmRpdGlvbmFsIGFyZSBpZGVudGljYWwsIHdoaWNoIG1lYW5zIGluIGFsbCBjYXNlcwoJICB0aGUgc2FtZSBnc3RfYXNmX3B1dF9ndWlkKCkgd2lsbCBiZSBleGVjdXRlZC4gRG8gaXQgZGlyZWN0bHkuCgkgIENJRCAjMTIyNjQ0OAoKMjAxNS0wMy0wMyAxNTo1MTo1MCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIHdheWxhbmRzaW5rOiBta3N0ZW1wIHJlcXVpcmVzIHNldHRpbmcgcGVybWlzc2lvbiBtYXNrCgkgIFVzaW5nIG1rc3RlbXAgd2l0aG91dCBzZXR0aW5nIHRoZSBwZXJtaXNzaW9uIG1hc2sgaXMgcG90ZW50aWFsbHkgaGFybWZ1bC4KCSAgUE9TSVggc3BlY2lmaWNhdGlvbiBvZiBta3N0ZW1wKCkgZG9lcyBub3Qgc2F5IGFueXRoaW5nIGFib3V0IGZpbGUgbW9kZXMsIHNvIHdlCgkgIG5lZWQgdG8gbWFrZSBzdXJlIGl0cyBmaWxlIG1vZGUgY3JlYXRpb24gbWFzayBpcyBzZXQgYXBwcm9wcmlhdGVseSBiZWZvcmUKCSAgY2FsbGluZyBpdC4KCjIwMTUtMDMtMDIgMTY6NDU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBSZXNldCB0aGUgY2xvY2sgY2FsaWJyYXRpb24gd2hlbiB1bnNldHRpbmcgdGhlIG1hc3RlciBjbG9jawoJICBPdGhlcndpc2UgdGhlIG9sZCBjYWxpYnJhdGlvbiB3aWxsIHN0aWNrIGFyb3VuZCBmb3IgdGhlIG5leHQgdGltZSB3ZSB1c2UgaXQsCgkgIHBvdGVudGlhbGx5IGdpdmluZyB1cyBjb21wbGV0ZWx5IHdyb25nIHRpbWVzLgoKMjAxNS0wMy0wMiAxMzo1NzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTAyLTEyIDEzOjQzOjMwICswMTAwICBEYW5pZWxEMTAgPGQuZGVkaXNzZUB2b2dvLmZyPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEluY29ycmVjdCBmcmFtZSByYXRlIGZvciBpbnRlcmxhY2VkIG1vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzODYKCjIwMTUtMDMtMDEgMTk6NTc6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogcmVnaXN0ZXIgb25seSBvbmUgY3VzdG9tIG5zYXBwIGxvb3AKCSAgT3RoZXJ3aXNlIHRoZSBwaXBlbGluZSBzdGFsbHMgd2hlbiBydW5uaW5nCgkgIG1vcmUgdGhhbiBvbmUgZ2xpbWFnZXNpbmsgd2l0aCBnc3QtbGF1bmNoLgoJICBBbHNvIG9ubHkgcmVnaXN0ZXIgdGhlIGN1c3RvbSBuc2FwcCBsb29wCgkgIHdoZW4gc2V0dGluZyB1cCB0aGUgbnNhcHAgZnJvbSBnc3RnbC4KCjIwMTUtMDMtMDEgMTY6NTQ6MTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogaW5zdGVhZCBvZiBjbGFzc19pbml0IHVzZSBnX29uY2UgdG8gc2V0dXAgbnNhcHAKCjIwMTUtMDItMjYgMjM6MDQ6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogY2hlY2sgZm9yIGRlcHJlY2F0ZWQgY29uc3RhbnRzIHByaW9yIHRvIE9TWCAxMC4xMAoKMjAxNS0wMy0wMSAwOTo0MzozMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogRml4IG9mZnNldCBmb3Igb2RkIGhlaWdodAoJICBXZSBhbHNvIG5lZWQgdG8gcmVjYWxjdWxhdGUgdGhlIG9mZnNldCwgc2luY2Ugb3RoZXJ3aXNlIHRoZSBmcmFtZQoJICBtYXBwaW5nIHdpbGwgYmUgZm9yd2FyZCB0d28gbGluZXMgaW4gdGhlIFUgYW5kIFYgcGxhbmVzIChJNDIwKSBkdWUKCSAgdG8gZ3N0X3ZpZGVvX2luZm9fYWxpZ24oKSByb3VuZCB1cCB0aGUgWSBwbGFuZSB0byBhIGV2ZW4gbnVtYmVyIG9mCgkgIGxpbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDU0CgoyMDE1LTAzLTAxIDAwOjA4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wtdGVzdDogUG9ydCB1bml0IHRlc3RzIHRvIG5ldyBBUEkKCjIwMTUtMDItMjggMTU6MDA6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBTdXBwb3J0IG9mZnNldCB3aGVuIGRvd25sb2FkaW5nCgkgIE1ha2Ugc3VyZSB3ZSBzdXBwb3J0IG9mZnNldCBhbmQgdmlkZW8gYWxpZ25tZW50IHdoZW4gZG93bmxvYWRpbmcgdG9vLgoJICBUaGlzIGlzIGN1cnJlbnRseSBub3QgdXNlZCAocGxhbmVfc3RhcnQgaXMgYWx3YXlzIDApLCBidXQgaXQgbWFrZXMKCSAgdGhlIGNvZGUgY29ycmVjdCBpZiB3ZSB3YW50IHRvIHVzZSB0aGF0IGxhdGVyLgoKMjAxNS0wMi0yOCAxMzowMToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFByb3ZpZGUgY29ycmVjdCBzaXplIG9uIHVwbG9hZAoJICBQcm92aWRlIHRoZSByaWdodCBzaXplIHRvIEdMIHdoZW4gdXBsb2FkaW5nLiBVc2luZyBtYXhzaXplIGlzIHdyb25nCgkgIHNpbmNlIHdlIG9mZnNldCB0aGUgZGF0YSBwb2ludCB3aXRoIHRoZSBtZW1vcnkgb2Zmc2V0IGFuZCB2aWRlbwoJICBhbGlnbmVtZW50IG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxMjo0ODowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFByb3ZpZGUgY29ycmVjdCBzaXplIG9uIGRvd25sb2FkCgkgIFByb3ZpZGUgdGhlIHJpZ2h0IHNpemUgdG8gR0wgd2hlbiBkb3dubG9hZGluZy4gVGhpcyBmaXhlcyBkb3dubG9hZGluZwoJICBmcm9tIEdMTWVtb3J5IHRoYXQgd2hlcmUgY3JlYXRlZCBmb3IgbGliYXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTE6NTU6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogVXNlIGZhbGxiYWNrIGZvciBwYXJ0aWFsIGNvcHkKCSAgV2hlbiB0aGUgbWVtb3J5IGlzIHBhcnRpYWwgY29weSwgdGhlIHRleHR1cmUgc2l6ZSBhbmQgdmlkZW9pbmZvIG5vCgkgIGxvbmdlciBtYWtlIHNlbnNlLiBBcyB3ZSBjYW5ub3QgZ3Vlc3Mgd2hhdCB0aGUgYXBwbGljYXRpb24gd2FudHMsIHdlCgkgIHNhZmVseSBjb3B5IGludG8gYSBzeXNtZW0gbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI1IDE4OjA3OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xtZW1vcnk6IEFkZCBHc3RBbGxvY2F0aW9uUGFyYW1zIGFuZCBhbGlnbm1lbnQgc3VwcG9ydAoJICBUaGlzIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgR3N0QWxsb2NhdGlvblBhcmFtcyBhbmQgbWVtb3J5IGFsaWdubWVudHMuCgkgIFRoZSBwYXJhbWV0ZXJzIHdoZXJlIHNpbXBseSBpZ25vcmVkIHdoaWNoIGNvdWxkIGxlYWQgdG8gY3Jhc2ggb24KCSAgY2VydGFpbiBwbGF0Zm9ybSB3aGVuIHVzZWQgd2l0aCBsaWJhdiBhbmQgbm8gbHVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxODoyMTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBwZXJmb3JtIGVnbCB1cGxvYWQgb24gdGhlIGdsIHRocmVhZAoJICBGaXhlcyBFR0xJbWFnZSB1c2FnZSBvbiByYXNwYmVycnkgcGkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkxNAoKMjAxNS0wMi0yNyAxMTowNzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRml4IHNjYWxpbmcgd2l0aCByYXRlIG9mIGludGVybmFsL2V4dGVybmFsIGNsb2NrCgoyMDE1LTAyLTI3IDAwOjI2OjAwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHN0YW5kYXJkIHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgVGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBkdXBsaWNhdGVkIGluIHRoZSBkZWZhdWx0IGxhdGVuY3kgcXVlcnlpbmcKCSAgbm93LgoKMjAxNS0wMi0yNyAwMDowMTo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IFVzZSBkZWZhdWx0IHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgV2UgY2FuIHJlbHkgb24gdGhlIHN0YW5kYXJkIHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMgYW5kIHRoZW4gYWRkCgkgIG91ciBvd24gbGF0ZW5jeS4KCjIwMTUtMDItMjYgMTM6MjA6MjYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBTZXQgZnJlZWQgbWV0aG9kIGltcGxlbWVudGF0aW9uIHRvIE5VTEwKCSAgV2hlbiB0cnlpbmcgdG8gcmVuZGVyIGJ1ZmZlcnMgd2l0aCBtZXRhOkdMVGV4dHVyZVVwbG9hZCB0aGUgZ2xpbWFnZXNpbmsgY3Jhc2hlcwoJICB3aXRoIGEgc2VnbWVudGF0aW9uIGZhdWx0LgoJICBUaGlzIHBhdGNoIHdvcmthcm91bmRzIHRoaXMgY3Jhc2ggc2V0dGluZyB0byBOVUxMIHRoZSBtZXRob2QgaW1wbGVtZW50YXRpb24KCSAgYWZ0ZXIgZnJlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTIwNgoKMjAxNS0wMi0yNSAxNDo0ODo1OSArMDEwMCAgUm9tYW4gTm93aWNraSA8ci5ub3dpY2tpQHNpbXMucGw+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIGV4aXN0aW5nIEQzRCBzd2FwIGNoYWluIG9uIGluaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE1OQoKMjAxNS0wMi0yNCAxOTowMTo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IENsZWFuIE1ha2VmaWxlLmFtCgkgICsgU3BsaXQgaGVhZGVycyBmcm9tIHNvdXJjZQoJICArIFJlbW92ZSB1bmVlZGVkIEFNX0NGTEFHUywgQU1fTERGTEFHUwoJICArIEFsd2F5cyBzZXQgT0JKQ0ZMQUdTCgkgIER1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYSAubSBhbmQgcmVnYXJkbGVzcyBvZiB0aGUgY29uZGl0aW9uYWwgdmFsdWVzLAoJICBhdXRvbWFrZSB3aWxsIHByb21vdGUgdGhlIGxpbmsgY29tbWFuZCB0byBPQkpDIHVzaW5nIE9CSkNGTEFHUy4gT25seQoJICB0aGUgYmFzaWMgZmxhZ3MgKGxpa2Ugd2FybmluZ3MgYW5kIG9wdGltaXphdGlvbikgYXJlIGdvaW5nIHRvIG1ha2UgYQoJICBkaWZmZXJlbmNlIHRob3VnaC4KCSAgVGhpcyBjbGVhbnVwIGJ1aWxkcyB1cCB0aGUgbWFrZWZpbGUgd2l0aCBsZXNzIHNwZWNpZmljIGZpbGVzIGZpcnN0CgkgIHRvd2FyZCBtb3JlIHNwZWNpZmljIGZpbGUuIEZMQUdTIGFyZSBidWlsdCB3aXRoIHRoZSBiYXNpYyB0aGF0IHVudXNlZAoJICBmbGFncyB3aWxsIGhhdmUgZW1wdHkgdmFyaWFibGUuCgoyMDE1LTAyLTI0IDEyOjU0OjU0IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNvc21ldGljIGNsZWFudXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNQoKMjAxNS0wMi0yNCAxOTo1Mjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBkb24ndCBhZGQgLS10YWc9Q0MgdHdpY2UgdG8gTElCVE9PTEZMQUdTCgoyMDE1LTAyLTI0IDE0OjM1OjM3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogQWRkIC0tdGFnPUNDIHRvIExJQlRPT0xDTEZBR1MKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3Igc3RhdGljIGJ1aWxkLgoKMjAxNS0wMi0yNCAxODo1MDowMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbnRlcmxhY2VkIGRvZXNuJ3QgbWVhbiBwcm9ncmVzc2l2ZSBzY2FuCgkgIFJlbW92aW5nIGludGVybGFjZWQgdmFyaWFibGUgc2luY2UgaXQgaXMgbWVhbnQgdG8gbWVhbiBwcm9ncmVzc2l2ZSBzY2FuCgkgIGFuZCB0aGF0IGlzbid0IHVzZWQuCgoyMDE1LTAyLTI0IDE4OjM4OjMxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIFJldmVydCAidGVzdHM6IGNoZWNrIGpwZWdwYXJzZSBmb3IgcHJvZ3Jlc3NpdmUgbWFya2VyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFjNzdkMTJjZTg3NzBmMGUwNjVlOWMwMGMzNWQ3MTFmZGVmMWM5ZjguCgkgICJpbnRlcmxhY2VkIiBpbiB0aGUgY2FwcyBkb24ndCBtZWFuIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSBTT0YyIG1hcmtlciBpbiB0aGUKCSAgSlBFRyBmb3JtYXQuIFRoaXMgdGVzdCBwYXNzZXMgYmVjYXVzZSBvZiBicm9rZW4gYmVoYXZpb3VyLgoKMjAxNS0wMi0yNCAxNzo0MTo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogY2hlY2sganBlZ3BhcnNlIGZvciBwcm9ncmVzc2l2ZSBtYXJrZXIKCjIwMTUtMDItMjQgMTQ6MDE6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IERlYWN0aXZhdGUgd2luZG93IGJlZm9yZSBjaGFuZ2luZyBoYW5kbGUKCSAgV2hlbiBzZXR0aW5nIGEgbmV3IHdpbmRvdyBoYW5kbGUsIHdlIG5lZWQgdG8gZW5zdXJlIGFsbCBpbXBsZW1lbnRhdGlvbnMKCSAgd2lsbCBkZXRlY3QgdGhlIGNoYW5nZS4KCSAgRm9yIHRoYXQgd2UgZGVhY3RpdmF0ZSB0aGUgY29udGV4dCBiZWZvcmUgc2V0dGluZyB0aGUgd2luZG93IGhhbmRsZSwgdGhlbgoJICByZWFjdGl2YXRlIHRoZSBjb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDItMjQgMTM6NTg6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdsL2VnbDogRGV0ZWN0IHdpbmRvdyBoYW5kbGUgY2hhbmdlcwoJICBXaGVuIChyZSlhY3RpdmF0aW5nIHRoZSBjb250ZXh0LCB0aGUgYmFja2luZyB3aW5kb3cgaGFuZGxlIG1pZ2h0IGhhdmUgY2hhbmdlZC4KCSAgSWYgdGhhdCBoYXBwZW5lZCwgZGVzdHJveSB0aGUgcHJldmlvdXMgc3VyZmFjZSBhbmQgY3JlYXRlIGEgbmV3IG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAyLTI0IDE0OjIwOjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIGdsOiByZW1vdmUgZG9jYm9vayByZWxhdGVkIHdhcm5pbmdzCgoyMDE1LTAyLTI0IDEzOjUxOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNS0wMi0yNCAxMzozNjowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IG5vdCB1c2luZyBkZXByZWNhdGVkIEFQSSBhbnltb3JlCgoyMDE1LTAyLTI0IDEzOjE2OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUgY29tbWFuZAoKMjAxNS0wMi0yNCAxOTowMzo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgQ2F1c2VzIHRoZSBmb2xsb3dpbmcgd2FybmluZyBvbiBjbGFuZzoKCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6NTY3OjM2OiBlcnJvcjogZm9ybWF0IHNwZWNpZmllcyB0eXBlICd1bnNpZ25lZCBsb25nJyBidXQgdGhlIGFyZ3VtZW50IGhhcyB0eXBlICdpbnQnIFstV2Vycm9yLC1XZm9ybWF0XQoJICBkZXNjcmlwdG9yc19sb29wX2xlbmd0aCwgZW5kIC0gNCAtIGRhdGEpOwoJICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+CgoyMDE1LTAyLTI0IDIzOjU0OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogb25seSBhdHRlbXB0IHVzZSBvZiB0aGUgdGV4dHVyZSBjYWNoZSB3aXRoIEdMTWVtb3J5IGNhcHMgZmVhdHVyZXMKCSAgT3RoZXJ3aXNlIHdlIHNlbmQgcmVjdGFuZ2xlIHRleHR1cmVzIHRvIGdsaW1hZ2VzaW5rCgoyMDE1LTAyLTI0IDIzOjUyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHJlbmRlciBibGFjayB3aGVuIHdlIGRvbid0IGhhdmUgYSB0ZXh0dXJlIHRvIGRpc3BsYXkKCSAgTGlrZSB3aGVuIHRoZSB3aW5zeXMgYXNrcyB1cyB0byByZWRyYXcgYmVmb3JlIHRoZSBwaXBlbGluZSBoYXMgc3RhcnRlZAoKMjAxNS0wMi0yNSAwMDowMDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhbGxvdyBzaGFyaW5nIGJldHdlZW4gYnVmZmVycwoJICBUaGVyZSB3YXMgbm8gcmVhbCByZWFzb24gd2h5IHRoZSBmbGFnIHdhcyBzZXQuICBXZSBzaG91bGQgYmUgYWJsZQoJICB0byBoYW5kbGUgaXQuICBGaXhlcyBsYXN0LXNhbXBsZSBoYW5kbGluZyBvbiBnbCBzaW5rcwoKMjAxNS0wMi0yNCAyMDozNDozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogYWRkIGNvbXBhdCBkZWZpbml0aW9uIGZvciBnbGVzMgoKMjAxNS0wMi0yNCAxMToxOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGluaXRpYWxpemUgdGhlIHJlbmRlciB3aW5kb3cgc3dhcCBjaGFpbiB3aGlsZSB0aGUgZGV2aWNlIGlzIGxvc3QgYW5kIHdlJ3JlIHdhaXRpbmcgZm9yIHJlc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDItMjQgMTE6MTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERlYWN0aXZhdGUgdGhlIGZhbGxiYWNrIGJ1ZmZlciBwb29sIHdoZW4gcmVwbGFjaW5nIGl0IGR1cmluZyBjYXBzIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMS0yOSAxNzo0MToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgbmV3IGNhb3BlbmdsbGF5ZXJzaW5rIGVsZW1lbnQKCSAgcmVuZGVycyBnc3RyZWFtZXIgZ2wgc2NlbmUvdmlkZW8gZnJhbWVzIHRvIGEgY2FvcGVuZ2xsYXllciByZXRyZWl2YWJsZQoJICBmcm9tIHRoZSAibGF5ZXIiIHByb3BlcnR5LgoKMjAxNS0wMS0xOSAxMjo0MzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvbWFpbi5tOgoJICBhcHBsZW1lZGlhOiBuZXcgQVZTYW1wbGVCdWZmZXJMYXllclNpbmsKCSAgUmVuZGVycyBidWZmZXJzIHVzaW5nIHRoZSBDQUxheWVyIHN1YmNsYXNzIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyCgkgIHdoaWNoIGNhbiBiZSBwbGFjZWQgaW5zaWRlIGEgQ29yZSBBbmltYXRpb24gcmVuZGVyIHRyZWUuCgoyMDE1LTAyLTI0IDE5OjA2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IGRvbid0IHVzZSB0aGUgYXN5bmMgY2FsbGJhY2sgdG8gcmVuZGVyCgkgIG5vdCB1bnRpbCB3ZSBjYW4gcHJvdmlkZSBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgZm9yIG90aGVyIHdpbmRvdwoJICBpbXBsZW1lbnRhdGlvbnMuCgoyMDE1LTAyLTI0IDAxOjIwOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhbHNvIHN1cHBvcnRlZCB3aXRoIGdsZXMzCgoyMDE1LTAyLTI0IDE0OjIzOjQ5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGVhZ2w6IGhhbmRsZSBDQUxheWVyIHJlc2l6ZQoKMjAxNS0wMi0yMyAxNjoxMzozMSArMDEwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBGaXggdHJhbnNmZXJfcGJvIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5NzcKCjIwMTUtMDItMjIgMTA6MDM6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogcmVkdWNlIGN1c3RvbSBtYWluIGxvb3AgbGF0ZW5jeQoJICBUaGlzIGZpeCBhIHZlcnkgc2xvdyByZW5kZXJpbmcgcmF0ZSByZWdyZXNzaW9uIHRoYXQgb25seQoJICBoYXBwZW5zIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaCwgaS5lLiBpbiB0aGUgY2FzZSB3aGVyZQoJICB0aGUgbWFpbiB0aHJlYWQgZG9lcyBub3QgcnVuIGFueSBOU0FwcCBsb29wLgoJICBHaXQgYmlzZWN0IHJlcG9ydGVkIGl0IGhhcyBiZWVuIGludHJvZHVjZWQgYnkgdGhlIGNvbW1pdAoJICBlMTBkMjQxN2UyZmU3YWE0NzMzYzA3Njk4NDMzOWIwZDYxY2FhMTY5OgoJICAibW92ZSB0byBDR0wgYW5kIENBT3BlbkdMTGF5ZXIgZm9yIHJlbmRlcmluZyIuCgkgIFRoZW4gdGhlIGNvbW1pdCA3ZDQ2MzU3NjI3MWU1YTRjYzEwNzA3ODBiYTFhNjljOTcxZThiZTFkOgoJICAiZ3N0Z2x3aW5kb3dfY29jb2E6IGZpeCBzbG93IHJlbmRlciByYXRlIiBhdHRlbXB0ZWQgdG8gZml4CgkgIHRoZSBzbG93IHJlbmRlcmluZyByYXRlIHByb2JsZW0gd2hlbiB1c2luZyBnc3QtbGF1bmNoLgoJICBBdCBsZWFzdCBmb3IgbWUgaXQgZG9lcyBub3Qgd29yay4gSSB0cmllZCBzZXZlcmFsCgkgIGNvbWJpbmF0aW9ucywgZm9yIGV4YW1wbGUgdG8gZmx1c2ggQ0EgdHJhbnNhY3Rpb25zIGluIHRoZQoJICBjdXN0b20gYXBwIGxvb3AsIGFzIG1lbnRpb25lZCBpbiB0aGUgZG9jLCBidXQgdGhlIG9ubHkgc29sdXRpb24KCSAgdGhhdCBmaXhlcyB0aGUgc2xvdyByZW5kZXJpbmcgaXMgYnkgcmVkdWNpbmcgdGhlIGxvb3AgbGF0ZW5jeS4KCSAgRnJvbSB3aGF0IEkgdGVzdGVkLCBubyBuZWVkIHRvIHB1dCBsZXNzIHRoYW4gNjBtcywgZXZlbiBpZiB0aGUKCSAgZnJhbWVyYXRlIGhhcyBhbiBpbnRlcnZhbCBtdWNoIGxvd2VyICgxNi42bXMgZm9yIDYwIGZwcykuCgoyMDE1LTAyLTE3IDIzOjUwOjUxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIGdsbWl4ZXI6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgIGdzdGdsbWl4ZXIuaDo0MzogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIOKAmEdzdEdMTWl4ZXLigJkKCSAgZ3N0Z2xtaXhlcnBhZC5oOjMyOiBlcnJvcjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYR3N0R0xNaXhlcuKAmSB3YXMgaGVyZQoJICBnc3RnbG1peGVyLmg6NDY6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiDigJhHc3RHTE1peGVyRnJhbWVEYXRh4oCZCgkgIGdzdGdsbWl4ZXJwYWQuaDozMzogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmEdzdEdMTWl4ZXJGcmFtZURhdGHigJkgd2FzIGhlcmUKCjIwMTUtMDItMjEgMTk6MDc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxNS0wMi0yMSAxOTowNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBvcHVzIGVsZW1lbnRzIHRvIGRvY3VtZW50YXRpb24KCjIwMTUtMDItMjEgMTg6NTI6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBkb24ndCBxdWl0IG9uIFdhcm5pbmcKCSAgRG9uJ3QgcXVpdCBvbiBXYXJuaW5nLgoJICBQcmludCBvdXQgYSBtZXNzYWdlIHdoZW4gdGhlcmUgaXMgYW4gRXJyb3Igb3IgV2FybmluZy4KCjIwMTUtMDItMjEgMTg6NDc6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBhbHdheXMgc2hvdyBndGsgd2luZG93CgkgIFNob3cgZ3RrIHdpbmRvdyBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIHRhZ3MsIHRvIGFsd2F5cyBoYXZlIHZpc3VhbCBmZWVkYmFjawoJICBhYm91dCB0aGUgcGlwZWxpbmUgcnVubmluZy4KCjIwMTUtMDItMjEgMTc6MzU6MDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBtZXJnZSByZXR1cm5zIGluIGdfdmFsdWVfdG9fc3RyaW5nKCkKCjIwMTUtMDItMjEgMTc6MjU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBtYWtlIGJ1c19jYWxsYmFjayBjb25zaXN0ZW50CgkgIFNpbXBsaWZ5IHRoZSBidXNfY2FsbGJhY2sgdG8gbWFrZSBpdCBjb25zaXN0ZW4gd2l0aCBvdGhlciBleGFtcGxlcy4KCjIwMTUtMDItMjEgMTc6MTg6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBmaXggdXNhZ2Ugb2YgYXJnYyBhbmQgYXJndgoKMjAxNS0wMi0yMSAxNzowMjowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiByZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCSAgcmV0IGlzIG9ubHkgdXNlZCBvbmNlLCB3ZSBkb24ndCBuZWVkIHRvIHN0b3JlIGl0IGluIGEgdmFyaWFibGUgZm9yIHRoYXQuCgoyMDE1LTAyLTIxIDE0OjQyOjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ3N0Z2xtZW1vcnk6IFJlbW92ZSBub3cgdW51c2VkIHRyYW5zZmVyX3VwbG9hZCBmdW5jdGlvbi4KCjIwMTUtMDItMjEgMjM6Mjk6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZGlzYWJsZSBhdXRvbWF0aWMgcGJvIHVwbG9hZAoJICB1bnRpbCB3ZSBjYW4gdHJhY2sgd2hlcmUgdGhlIGRhdGEgaXMvb3IgaXMgZ29pbmcgdG8gYmUuCgoyMDE1LTAyLTIwIDEzOjU1OjA1ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IHNlbGVjdCBjb3JyZWN0IHN0YXJ0aW5nIHBvc2l0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgV2hlbiBwbGF5aW5nIGxpdmUgSExTIHN0cmVhbXMsIHRoZSBtZWRpYSBwbGF5YmFjayBzdGFydHMgZnJvbSB0aGUKCSAgYmVnaW5uaW5nIG9mIHRoZSBtZWRpYSBwbGF5bGlzdC4gV2hlbiBwbGF5aW5nIGEgbGl2ZSBITFMgc3RyZWFtLAoJICBtZWRpYSBwbGF5YmFjayBzaG91bGQgc3RhcnQgZnJvbSAzIGZyYWdtZW50cyBmcm9tIHRoZSBlbmQgb2YgdGhlCgkgIHBsYXlsaXN0LgoJICBTZWUgc2VjdGlvbiA2LjMuMy4gb2YgdGhlIEhMUyBkcmFmdCBbMV0KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB0aGUgbG9naWMgdG8gc2VsZWN0IDMgZnJhZ21lbnRzIGZyb20gdGhlIGVuZCB3aGVuCgkgIHBsYXlpbmcgYSBsaXZlIHN0cmVhbS4KCSAgWzFdIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXBhbnRvcy1odHRwLWxpdmUtc3RyZWFtaW5nLTEyI3BhZ2UtMjkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzc0MgoKMjAxNS0wMi0yMCAxODo0MjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbGVtZW1vcnk6IG9ubHkgc3RvcmUgYW5kIGFjdCBvbiB0aGUgbWFwIGZsYWdzIG9uIGZpcnN0L2xhc3QgbWFwL3VubWFwCgkgIEFueXRpbWUgZWxzZSwgd2UgaGF2ZSBubyBpZGVhIGhvdyB0byBtYXRjaCB1cCBtYXAgYW5kIHVubWFwcy4KCSAgV2UgYWxzbyBkb24ndCBrbm93IGV4YWN0bHkgaG93IHRoZSBjYWxsaW5nIGNvZGUgaXMgdXNpbmcgdXMuCgkgIEFsc28gZml4ZXMgdGhlIGNhc2Ugd2hlcmUgd2UncmUgdHJ5aW5nIHRvIHRyYW5zZmVyIHdoaWxlIHNvbWVvbmUgZWxzZQoJICBpcyBhY2Nlc3Npbmcgb3VyIGRhdGEgcG9pbnRlciBvciB0ZXh0dXJlIHJlc3VsdGluZyBpbiBtaXNtYXRjaGVkIHZpZGVvCgkgIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDgzOQoKMjAxNS0wMi0xOSAyMToyMTo1NiAtMDUwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2Ugc3JjX2xvY2sgdG8gcHJvdGVjdCBsYXRlbmN5IHJlbGF0ZWQgbWVtYmVycwoJICBPbmUgaGFzIHRvIHVzZSB0aGUgc3JjX2xvY2sgYW55d2F5IHRvIHByb3RlY3QgdGhlIG1pbi9tYXgvbGl2ZSBzbyB0aGV5CgkgIGNhbiBiZSBub3RpZmllZCBhdG9taWNhbGx5IHRvIHRoZSBzcmMgdGhyZWFkIHRvIHdha2UgaXQgdXAgb24gY2hhbmdlcywKCSAgc3VjaCBhcyBwcm9wZXJ0eSBjaGFuZ2VzLiBTbyBubyBwb2ludCBpbiBoYXZpbmcgYSBzZWNvbmQgbG9jay4KCSAgQWxzbywgdGhlIG9iamVjdCBsb2NrIHdhcyBiZWluZyBoZWxkIGFjcm9zcyBhIGNhbGwgdG8KCSAgR1NUX0VMRU1FTlRfV0FSTklORywgZ3VhcmFudGVlaW5nIGEgZGVhZGxvY2suCgoyMDE1LTAyLTE5IDE4OjUzOjMyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgdW50cnVlIGNvbW1lbnQKCjIwMTUtMDItMTkgMTg6MzA6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IHRyeSB0byBwdXNoIHRhZ3Mgd2hpbGUgZmx1c2ggc2Vla2luZwoJICBUaGUgZG93bnN0cmVhbSBzZWdtZW50IGNvdWxkIGhhdmUgYmVlbiBmbHVzaGVkIGFscmVhZHksIHNvCgkgIG5lZWQgdG8gcmUtc2VuZCB0aGUgc2VnbWVudCBldmVudCBiZWZvcmUgcmUtc2VuZGluZyB0aGUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOSAxNDozNDoyMyArMDEwMCAgR3VpbGxhdW1lIFNlZ3VpbiA8Z3VpbGxhdW1lQHNlZ3UuaW4+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmVkdWNlIHBsYXlsaXN0J3MgRVhULVgtVkVSU0lPTiB0byAzCgkgIFdlIGFyZSBub3QgdXNpbmcgYW55IGZlYXR1cmVzIGdyZWF0ZXIgdGhhbiB0aGUgM3JkIHZlcnNpb24sCgkgIHNvIHJlZHVjZSB0byB3aGF0IHdlIGFjdHVhbGx5IHVzZSB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aAoJICBtb3JlIHBsYXllcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDY4OQoKMjAxNS0wMi0xOSAxNDozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBPUFVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI3OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbmVnb3RpYXRlIHRoZSBlbmNvZGluZyBuYW1lCgkgIENocm9tZSB1c2VzIGEgZGlmZmVyZW50IGVuY29kaW5nIG5hbWUgdGhhdCBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTc6MjE6NDYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJICBzaW1wbGV2aWRlb21hcmtkZXRlY3Q6IG1vdmUgb2Zmc2V0IGNhbGN1bGF0aW9ucyBvdXQgb2YgaW5uZXIgbG9vcHMKCSAgdGhlIGNhbGN1bGF0aW9ucyBmb3IgZGV0ZWN0aW5nIHRoZSB2aWRlb21hcmsgaXMgYmVpbmcgcmVwZWF0ZWQKCSAgaW4gZm9yIGxvb3AgdW5uZWNlc3NhcmlseS4gTW92aW5nIHRoaXMgb3V0c2lkZSBvZiBmb3IgbG9vcAoJICBzdWNoIHRoYXQgdGhlIGNvZGUgbmVlZCBub3QgYmUgZXhlY3V0ZWQgZXZlcnRpbWUgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NzgKCjIwMTUtMDItMTkgMTE6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSB0aGUgc2lua3BhZHMgaXRlcmF0b3IgZGlyZWN0bHkgdG8gcXVlcnkgdXBzdHJlYW0gbGF0ZW5jaWVzCgkgIFdoaWxlIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKSBtYWtlcyBzdXJlIHRoYXQgZXZlcnkgcGFkIGlzIG9ubHkKCSAgdmlzaXRlZCBvbmNlLCBldmVuIHdoZW4gdGhlIGl0ZXJhdG9yIGhhcyB0byByZXN5bmMsIHRoaXMgaXMgbm90IGFsbCB3ZSBoYXZlCgkgIHRvIGRvIGZvciBxdWVyeWluZyB0aGUgbGF0ZW5jeS4gV2hlbiB0aGUgaXRlcmF0b3IgcmVzeW5jcyB3ZSBhY3R1YWxseSBoYXZlCgkgIHRvIHF1ZXJ5IGFsbCBwYWRzIGZvciB0aGUgbGF0ZW5jeSBhZ2FpbiBhbmQgZm9yZ2V0IG91ciBwcmV2aW91cyByZXN1bHRzLiBJdAoJICBtaWdodCBoYXZlIGhhcHBlbmVkIHRoYXQgYSBwYWQgd2FzIHJlbW92ZWQsIHdoaWNoIGluZmx1ZW5jZWQgdGhlIHJlc3VsdCBvZgoJICB0aGUgbGF0ZW5jeSBxdWVyeS4KCjIwMTUtMDItMTkgMTA6NTc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1vdmUgZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKSBhIGJpdAoJICBJdCB3YXMgYmV0d2VlbiBhbm90aGVyIGZ1bmN0aW9uIGFuZCBpdHMgaGVscGVyIGZ1bmN0aW9uIGJlZm9yZSwgd2hpY2ggd2FzCgkgIGNvbmZ1c2luZyB3aGVuIHJlYWRpbmcgdGhlIGNvZGUgYXMgaXQgaGFkIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgb3RoZXIKCSAgZnVuY3Rpb25zLgoKMjAxNS0wMi0xOSAwMToyODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkgIHJzbmlucHV0c2VsZWN0b3I6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE5IDAxOjI4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOSAwMToyODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTggMTk6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogT25seSBzZXQgbGF0ZW5jeSBpZiB3ZSBhbHJlYWR5IGtub3cgb3VyIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHNldCBib2d1cyB2YWx1ZXMgb3IgR1NUX0NMT0NLX1RJTUVfTk9ORS4KCSAgQWxzbyBtYWtlIHN1cmUgdG8gcmVzZXQgdGhlIGNhcHMgZmllbGQgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcKCSAgdGhlIGNhcHMgdG8gcHJldmVudCBhY2NpZGVudGlhbCB1c2UgYWZ0ZXJ3YXJkcywgYW5kIHVucmVmIGFueQoJICBvbGQgY2FwcyBiZWZvcmUgd2UgcmVtZW1iZXIgbmV3IGNhcHMuCgoyMDE1LTAyLTE4IDE1OjUzOjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MTE6MTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbmFtZSBjb25mdXNpbmx5IG5hbWVkIFNSQ19TVFJFQU1fTE9DSyBtYWNyb3MgdG8gU1JDX0xPQ0sKCSAgVGhpcyB3aWxsIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBsb2NrIGl0c2VsZi4gSXQgaXMgYWxzbyBub3QgYSBzdHJlYW0KCSAgbG9jayBhcyBpdCBub3QgcmVjdXJzaXZlIGFuZCBub3QgaGVsZCB3aGlsZSBwdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjA2OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW5hbWUgY29uZnVzaW5nbHkgbmFtZWQgc3RyZWFtIGxvY2sgdG8gZmx1c2ggbG9jawoJICBUaGlzIGxvY2sgaXMgbm90IHdoYXQgaXMgY29tbW9ubHkga25vd24gYXMgYSAic3RyZWFtIGxvY2siIGluIEdTdHJlbWVyLAoJICBpdCdzIG5vdCByZWN1cnNpdmUgYW5kIGl0J3MgdGFrZW4gZnJvbSB0aGUgbm9uLXNlcmlhbGl6ZWQgRkxVU0hfU1RBUlQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MDQ6MDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBtYWNybyBpbmRlbmRhdGlvbgoJICBDaGFuZ2VzIG5vIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNzoxMDo0OCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm06IEZpeCBpbmNsdWRlcyBvZiBncmFwaGVuZSBoZWFkZXJzCgkgIFRoZSBncmFwaGVuZS0xLjAgcGFydCBzaG91bGQgbm90IGJlIGluIHRoZSBzb3VyY2UgY29kZS4gVGhpcyBkaXJlY3RvcnkKCSAgaXMgcGFydCBvZiB0aGUgY2ZsYWdzIGluY2x1ZGUuIFRoaXMgaXMgc2ltaWxhciB0byBnc3RyZWFtZXItMS4wLwoJICBkaXJlY3RvcnkuIFRoaXMgYnJlYWsgY29tcGlsYXRpb24gaWYgdGhlIGluY2x1ZGUgZGlyZWN0b3J5IHdoZXJlCgkgIGdyYXBoZW5lIGlzIGluc3RhbGxlZCBpcyBub3QgaW4geW91ciBpbmNsdWRlIHBhdGguCgoyMDE1LTAyLTE4IDE5OjA3OjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVtb3ZlIHVubmVlZGVkIHZhbHVlcwoJICBObyBuZWVkIHRvIHN0b3JlIHRoZSBHc3RGbG93UmV0dXJuIHdoZW4gd2UgY2FuIGNoZWNrIGlmIGl0IGlzIG5vdCBPSyBkaXJlY3RseQoKMjAxNS0wMi0xOCAxODozMzoyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbmFtaW5nIEdzdEZsb3dSZXR1cm4gdmFyaWFibGUKCSAgSGF2aW5nIGEgdmFyaWFibGUgbmFtZWQgcmV0IGluIGEgc3RhdGljIHZvaWQgZnVuY3Rpb24gaXMgdmVyeSBjb25mdXNpbmcgc2luY2UKCSAgdGhpcyB1c3VhbGx5IGlzIHRvIHN0b3JlIHdoYXQgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuLgoKMjAxNS0wMi0xOCAxODowMDo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbW92ZSBpZ25vcmVkIHZhbHVlCgkgIFZhbHVlIHN0b3JlZCBpbiByZXQgd2lsbCBiZSBvdmV3cml0dGVuIGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgbG9vcC4gV2hpY2gKCSAgbWVhbnMgaXQgaXMgbmV2ZXIgdXNlZC4KCSAgUGx1cyBhIHN0eWxlIGlzc3VlIHRvIG1ha2UgZ3N0LWluZGVudCBoYXBweSBhbmQgYWxsb3cgdGhlIGNvbW1pdC4KCjIwMTUtMDItMTggMTc6NDE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFJlbW92ZSBnX3dhcm5pbmdzKCkgZm9yIHRoZSBkZXByZWNhdGVkIGF1ZGlvIHByb3BlcnR5CgkgIE90aGVyd2lzZSB0aGVyZSBhcmUgZ193YXJuaW5ncygpIGFscmVhZHkgd2hlbiBqdXN0IHVzaW5nIGdzdC1pbnNwZWN0IG9yCgkgIGR1bXBpbmcgYSBwaXBlbGluZSBncmFwaC4KCjIwMTUtMDItMTUgMjM6MTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGFnYWluc3QgbWFsZm9ybWVkIGlzb21iZmYgZm9ybWF0CgkgIEJlIG1vcmUgY2FyZWZ1bCBhcm91bmQgbWFsZm9ybWVkIG1wZHMgdGhhdCBhbm5vdW5jZSB1c2luZwoJICBpc29tYmZmIHByb2ZpbGUgYnV0IGFjdHVhbGx5IGFyZSByZWd1bGFyIG1wZHMKCjIwMTUtMDItMTggMTI6NDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEZWFjdGl2YXRlIHRoZSBmYWxsYmFjayBwb29sIGFuZCB1bnJlZiB0aGUgZmFsbGJhY2sgYnVmZmVyIHdoZW4gcmVzZXR0aW5nCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHN0aWxsIGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIHN1cmZhY2UgbGVmdCwgd2hpY2ggd291bGQKCSAgcHJldmVudCBhY3RpdmF0aW5nIHRoZSBzaW5rIGFnYWluIGxhdGVyLiBFLmcuIGFmdGVyIHdlIGxvc3QgdGhlIGRldmljZS4KCSAgSG9wZWZ1bGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDItMTcgMTE6NTM6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDE1LTAyLTE3IDExOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgY29ycmVjdCBmdW5jdGlvbiB0byBjbGVhciBmcmFnbWVudCBpbmZvCgkgIEp1c3QgZnJlZWluZyB0aGUgdXJsIHdvbid0IHJlc2V0IHRoZSBieXRlIHJhbmdlcyBhbmQgY2FuIGxlYWQgdG8gd3JvbmcKCSAgcmFuZ2VzIGJlaW5nIHVzZWQuCgoyMDE1LTAyLTE3IDEwOjUwOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogZGVwcmFjYXRlIGJhbmR3aWR0aC11c2FnZSBpbiBmYXZvciBvZiBiaXRyYXRlLWxpbWl0CgkgIEJpdHJhdGUtbGltaXQgaXMgYWxyZWFkeSBhdmFpbGFibGUgaW4gdGhlIGJhc2VjbGFzcyBhbmQsIGV2ZW4gdGhvdWdoCgkgIHRoZSBiYW5kd2lkdGgtdXNhZ2UgbmFtZSBpcyBiZXR0ZXIsIGhscyBhbmQgbXNzIGFscmVhZHkgdXNlZAoJICBiaXRyYXRlLWxpbWl0LiBUaGlzIHBhdGNoIGRlcHJlY2F0ZXMgdGhlIGJhbmR3aWR0aC11c2FnZSBhbmQgbWFwcwoJICBpdCB0byB0aGUgYmFzZWNsYXNzIGJpdHJhdGUtbGltaXRlLgoKMjAxNS0wMi0xNyAxMDo0MDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGJpdHJhdGUtbGltaXQgcHJvcGVydHkKCSAgTW92ZSB0aGUgcHJvcGVydHkgZnJvbSBzdWJjbGFzc2VzIHRvIGFkYXB0aXZlZGVtdXgsIGl0IGFsbG93cwoJICBzZWxlY2luZyB0aGUgcGVyY2VudGFnZSBvZiB0aGUgbWVhc3VyZWQgYml0cmF0ZSB0byBiZSB1c2VkIHdoZW4KCSAgc2VsZWN0aW5nIHN0cmVhbSBiaXRyYXRlcwoKMjAxNS0wMi0xNyAxMDowNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IGFsbG93IGNyZWF0aW9uIG9mICdpbmZpbml0ZScgcGxheWxpc3QKCSAgQWxsb3cgdGhlIHBsYXlsaXN0LWxlbmd0aCB0byBhY2NlcHQgJzAnIGFzIGEgdmFsdWUsIGluZGljYXRpbmcKCSAgdGhhdCBubyBzZWdtZW50IHNob3VsZCBiZSByZW1vdmVkIGZyb20gdGhlIHBsYXlsaXN0LiBUaGlzIGFsbG93cwoJICBnZW5lcmF0aW5nIHBsYXlsaXN0cyB0byBiZSB1c2VkIGFzIFZPRCB3aGVuIGNvbXBsZXRlLgoKMjAxNS0wMi0xNyAxMDowNDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsc3Npbms6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlCgkgIHRoZSBHRmlsZSBhdHRyaWJ1dGUgaXMgbmV2ZXIgdXNlZAoKMjAxNS0wMi0xNyAxMDowMzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgQWxsb3dzIHRvIHNldCBhIGJpdHJhdGUgZGlyZWN0bHkgaW5zdGVhZCBvZiBtZWFzdXJpbmcgaXQgaW50ZXJuYWxseQoJICBiYXNlZCBvbiB0aGUgcmVjZWl2ZWQgY2h1bmtzLiBUaGUgY29ubmVjdGlvbi1zcGVlZCB3YXMgcmVtb3ZlZCBmcm9tCgkgIG1zc2RlbXV4IGFuZCBobHNkZW11eCBhcyBpdCBpcyBub3cgaW4gdGhlIGJhc2UgY2xhc3MKCjIwMTUtMDItMTcgMDA6MzQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IGRvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzCgkgIERvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHRvIGNoZWNrCgkgIHdoZXRoZXIgaXQgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBvciBub3QuIEp1c3QgY2xlYXIgbXV0ZXgKCSAgYW5kIEdDb25kIHVuY29uZGl0aW9uYWxseSBpbiBmcmVlIGZ1bmN0aW9uLCB0aGV5IGFyZSBhbHdheXMKCSAgaW5pdGVkIGFueXdheSwgYW5kIHRoZSBmcmVlIGZ1bmN0aW9uIGNhbid0IGJlIGNhbGxlZCBtdWx0aXBsZQoJICB0aW1lcyBlaXRoZXIuCgoyMDE1LTAyLTE2IDIzOjU0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMKCSAgRG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMgdG8gY2hlY2sKCSAgd2hldGhlciBpdCBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IG9yIG5vdC4gSnVzdCB0dXJuIGRpc3Bvc2UKCSAgZnVuY3Rpb24gaW50byBmaW5hbGl6ZSBmdW5jdGlvbiB3aGljaCB3aWxsIG9ubHkgYmUgY2FsbGVkCgkgIG9uY2UsIHRoYXQgd2F5IHdlIGNhbiBqdXN0IGNsZWFyIHRoZSBtdXRleCB1bmNvbmRpdGlvbmFsbHkuCgoyMDE1LTAyLTE3IDE4OjE3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG9uJ3QgZGVhZGxvY2sgaWYgdGhlIGRpc3BhdGNoX3N5bmMgaXMgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkCgkgIFByb3ZpZGUgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB3ZSBhcmUgYmVpbmcgY2FsbGVkIGZyb20KCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBhY3QgYXBwcm9wcmlhdGVseS4KCjIwMTUtMDItMTcgMTY6NDE6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBvbmx5IHN0YXJ0IGRyYXdpbmcgaWYgdGhlIHBhcmVudCBnbCBjb250ZXh0IGlzIHJlYWR5CgkgIG90aGVyd2lzZSB3ZSBtYXkgdHJ5IHRvIHVzZSBHc3RHTEZ1bmNzICogdGhhdCBoYXNuJ3QgYmVlbiBzZXQgeWV0CgoyMDE1LTAyLTE3IDE2OjM5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogc21hbGwgcmVmYWN0b3Igb2YgbGF5ZXIvdmlldyBjcmVhdGlvbiBpbnRvIHRoZSB3aW5kb3cKCjIwMTUtMDItMTcgMDE6MDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IFJlbW92ZSBhc3NlcnRpb24gaW4gZ3N0X2dsX3dpbmRvd19zaG93KCkgZm9yIHN1YmNsYXNzZXMgbm90IGltcGxlbWVudGluZyBpdAoJICBPbiBBbmRyb2lkIGFuZCBpT1Mgd2UgY2FuJ3QgY3JlYXRlIGEgd2luZG93IG91cnNlbHZlcywgc28gYWxzbyBjYW4ndCBqdXN0IHNob3cKCSAgb25lLiBUaGF0J3Mgbm90IGEgcHJvYmxlbSBhbmQgYW4gYXNzZXJ0aW9uIGlzIG5vdCByZWFsbHkgbmVlZGVkIGhlcmUuCgoyMDE1LTAyLTE2IDEyOjM1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IENoZWNrIGlmIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eSgpIHN1Y2NlZWRzIGJlZm9yZSB1c2luZyB0aGUgcmVzdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1ODUKCjIwMTUtMDItMTMgMjM6NDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRyb3AgR0FQIGV2ZW50cyB1bnRpbCB3ZSBoYW5kbGUgdGhlbSBwcm9wZXJseQoKMjAxNS0wMi0xMiAxMjowNDo0NCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogcmVmYWN0b3IgY29kZQoJICB0aGUgY2FsY3VsYXRpb25zIGZvciBkcmF3aW5nIHRoZSB2aWRlb21hcmsgaXMgYmVpbmcgcmVwZWF0ZWQKCSAgaW4gZm9yIGxvb3AgdW5uZWNlc3NhcmlseS4gTW92aW5nIHRoaXMgb3V0c2lkZSBvZiBmb3IgbG9vcAoJICBzdWNoIHRoYXQgdGhlIGNvZGUgbmVlZCBub3QgYmUgZXhlY3V0ZWQgZXZlcnRpbWUgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNzEKCjIwMTUtMDItMDkgMTE6MjE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IEZpeCBzZWdtZW50IGFuZCBzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGR1cmluZyBzZWVraW5nCgkgIEFsd2F5cyB1cGRhdGUgdGhlIHNlZ21lbnQgYW5kIG5vdCBvbmx5IGZvciBhY2N1cmF0ZSBzZWVraW5nIGFuZCBhbHdheXMKCSAgc2VuZCBhIG5ldyBzZWdtZW50IGV2ZW50IGFmdGVyIHNlZWtzLgoJICBGb3Igbm9uLWFjY3VyYXRlIGZvcmNlIGEgcmVzZXQgb2Ygb3VyIHNlZ21lbnQgaW5mbyB0byBzdGFydCBmcm9tCgkgIHdoZXJlIG91ciBzZWVrIGxlZCB1cyBhcyB3ZSBkb24ndCBuZWVkIHRvIGJlIGFjY3VyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNjMKCjIwMTUtMDItMTMgMTY6MDY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTY6MDM6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNTo1MzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTU6NDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgkgIHN0ZWFsX2J1ZmZlcigpICsgdW5yZWYgc2VlbXMgdG8gYmUgYSB3aWRlLXNwcmVhZCBpZGlvbQoJICAod2hpY2ggcGVyaGFwcyBpbmRpY2F0ZXMgdGhhdCBzb21ldGhpbmcgaXMgbm90IHF1aXRlCgkgIHJpZ2h0IHdpdGggdGhlIHdheSBhZ2dyZWdhdG9yIHBhZCB3b3JrcyBjdXJyZW50bHkpLgoKMjAxNS0wMi0xMiAxMzozMjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogb25seSBwb3N0IGxhdGVuY3kgbWVzc2FnZSBpZiBhbnl0aGluZyBjaGFuZ2VkCgkgIFBlcmhhcHMgd2Ugc2hvdWxkIGNoZWNrIGZvciBlbGVtZW50IHN0YXRlIGFzIHdlbGwgYW5kCgkgIG9ubHkgcG9zdCBpdCBpZiBpbiBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMi0xMiAxNTo0ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogcmVtb3ZlIEdTVF9ESVNBQkxFX1BBUlNFIGd1YXJkcyBmcm9tIHR3byB0ZXN0cyB0aGF0IGRvbid0IHJlcXVpcmUgaXQKCjIwMTUtMDEtMjggMTI6MTI6MjYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IE1ha2UgZGVidWcgY2F0ZWdvcnkgbmFtaW5nIGEgYml0IG1vcmUgY29uc2lzdGVudAoKMjAxNS0wMi0xMyAxOToxMjoyMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZml4IGNyYXNoIHdoZW4gbm9uLUdMIG1lbW9yeSBpcyB1c2VkCgoyMDE1LTAyLTA1IDE4OjEwOjE1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBsb2dpYyBpbiBmcmFnbWVudF9kb3dubG9hZF9maW5pc2guCgkgIFRoaXMgd2FzIHByZXZlbnRpbmcgdXMgZnJvbSBzdXJmYWNpbmcgYSBtZWFuaW5nZnVsIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzAzCgoyMDE1LTAyLTEyIDIyOjA2OjE3ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggaGFuZGxpbmcgb2YgbGl2ZSBzdHJlYW1zIHdpdGggdGltZXNoaWZ0IGJ1ZmZlcnMuCgkgIEJ5IGltcGxlbWVudGluZyBnZXRfbGl2ZV9zZWVrX3JhbmdlLgoJICBBcyBzaG93biBieSA6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocAoJICBUaGlzIHBhdGNoIGhhbmRsZXMgbGl2ZSBzZWVraW5nLCBieSBzZXR0aW5nIGEgbGl2ZSBzZWVrIHJhbmdlCgkgIGNvbXByaXNlZCBiZXR3ZWVuIG5vdyAtIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIGFuZCBub3cuCgkgIFRoZSBpbnRlZXJzdGluZyB0aGluZyB3aXRoIHRoaXMgc3RyZWFtIGlzIHRoYXQgb25lIGNhbiBhY3R1YWxseQoJICBhc2sgZnJhZ21lbnRzIHVwIHRvIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSwgYnV0IGl0IHNlZW1zIHF1aXRlIGNsZWFyCgkgIGluIHRoZSBzcGVjIHRoYXQgY29udGVudCBpcyBvbmx5IGd1YXJhbnRlZWQgdG8gZXhpc3QgdXAgdG8KCSAgdGltZVNoaWZ0QnVmZmVyRGVwdGguCgkgIE9uZSBjYW4gdGVzdCBsaXZlIHNlZWtpbmcgdGhpcyB3YXkgOgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAgXAoJICAtLXNldC1zY2VuYXJpbyBzZWVrX2JhY2suc2NlbmFyaW8KCSAgd2l0aCBzY2VuYXJpbyBiZWluZzoKCSAgZGVzY3JpcHRpb24sIHNlZWs9dHJ1ZQoJICBzZWVrLCBwbGF5YmFjay10aW1lPXBvc2l0aW9uKzUuMCwgc3RhcnQ9InBvc2l0aW9uLTYwMC4wIiwKCSAgZmxhZ3M9YWNjdXJhdGUrZmx1c2gKCSAgVGhpcyBleGFtcGxlIHdpbGwgcGxheSB0aGUgc3RyZWFtLCB3YWl0IGZvciBmaXZlIHNlY29uZHMsIHRoZW4gc2VlayBiYWNrCgkgIHRvIGEgcG9zaXRpb24gMTAgbWludXRlcyBlYXJsaWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzYyCgoyMDE1LTAyLTEyIDIyOjA0OjEwICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFNldCBmaXJzdCBzZWdtZW50IHRpbWUgdG8gc2VnbWVudCBzdGFydC4KCSAgT3RoZXJ3aXNlIGFzIGxvbmcgYXMgYSBzZWVrIHdhc24ndCBleGVjdXRlZCwgdGhlIHBvc2l0aW9uIHdhcwoJICByZXBvcnRlZCBpbmNvcnJlY3RseToKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjIKCjIwMTUtMDItMTIgMTc6MzM6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTUtMDItMTIgMTU6MDI6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbDogQWRkL1VwZGF0ZSBtb3JlIGRlYnVnIHN0YXRlbWVudHMKCSAgV2hlcmUgcG9zc2libGUsIHVzZSB0aGUgX09CSkVDVCB2YXJpYW50cyBpbiBvcmRlciB0byB0cmFjayBiZXR0ZXIgZnJvbQoJICB3aGljaCBvYmplY3QgdGhlIGRlYnVnIHN0YXRlbWVudCBpcyBjb21pbmcgZnJvbQoJICBEZWZpbmUgKGFuZCB1c2UpIEdTVF9DQVRfREVGQVVMVCB3aGVyZSBhcHBsaWNhYmxlCgkgIFVzZSBHU1RfUFRSX0ZPUk1BVCB3aGVyZSBhcHBsaWNhYmxlCgoyMDE1LTAyLTEyIDE0OjU4OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IE1ha2UgZ2xjb250ZXh0IGRlYnVnIGNhdGVnb3J5IHVzZWQgaW4gbW9yZSBwbGFjZXMKCSAgQXMgYSBib251cyBpdCBtYWtlcyB0aGUgZWdsIGNvbnRleHQgZGVidWcgbWVzc2FnZXMgdmlzaWJsZSBub3cgOikKCjIwMTUtMDItMTIgMTQ6NTY6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNwcmlua2xlIG1vcmUgZGVidWcKCjIwMTUtMDItMTIgMTE6MTU6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHNldCBwcm9wZXIgc3RyZWFtIHR5cGUgdG8gc3RyZWFtcwoJICBzdHJuY21wIHJldHVybnMgMCB3aGVuIGl0IGNvbXBhcmVzIGVxdWFsIGFuZCBub3QgYQoJICBib29sZWFuCgoyMDE1LTAyLTEyIDExOjI2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBjYWxjdWxhdGUgc3RyZWFtX3RpbWUgdXNlZCB0byBzeW5jIHBhZCB2YWx1ZXMgY29ycmVjdGx5CgkgIFVzZSBwYWQgKGlucHV0KSBzZWdtZW50IHRvIGNhbGN1bGF0ZSB0aGUgc3RyZWFtIHRpbWUgZnJvbSB0aGUKCSAgaW5wdXQgdGltZXN0YW1wLCBub3QgdGhlIGFnZ3JlZ2F0b3IgKG91dHB1dCkgc2VnbWVudC4KCjIwMTUtMDItMTIgMTE6MTE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogT25seSB1c2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBzYW1wbGUgaWYgaXQgaXMgdmFsaWQKCjIwMTUtMDEtMjcgMTM6NDg6NDIgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0cmFjayBwZXItZnJhZ21lbnQgYml0cmF0ZXMuCgkgIEFuZCB1c2UgdGhlIGF2ZXJhZ2UgdG8gZ28gdXAgaW4gcmVzb2x1dGlvbiwgYW5kIHRoZSBsYXN0IGZyYWdtZW50CgkgIGJpdHJhdGUgdG8gZ28gZG93bi4KCSAgVGhpcyBhbGxvd3MgdGhlIGRlbXV4ZXIgdG8gcmVhY3QgcmFwaWRseSB0byBiaXRyYXRlIGxvc3MsIGFuZAoJICBiZSBjb25zZXJ2YXRpdmUgZm9yIGJpdHJhdGUgaW1wcm92ZW1lbnRzLgoJICArIEFkZCBhIGNvbnN0cnVjdCBvbmx5IHByb3BlcnR5IHRvIGRlZmluZSB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cwoJICB0byBjb25zaWRlciB3aGVuIGNhbGN1bGF0aW5nIHRoZSBhdmVyYWdlIG1vdmluZyBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTc5CgoyMDE1LTAyLTExIDE0OjQ0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBBZGQgc3VwcG9ydCBmb3IgMTBiaXQgNDoyOjAgYW5kIDQ6NDo0IGZvcm1hdHMKCjIwMTUtMDItMTEgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIEltcHJvdmUgYW5kIGZpeCBMQVRFTkNZIHF1ZXJ5IGhhbmRsaW5nCgkgIFRoaXMgbm93IGZvbGxvd3MgdGhlIGRlc2lnbiBkb2NzIGV2ZXJ5d2hlcmUsIGVzcGVjaWFsbHkgdGhlIG1heGltdW0gbGF0ZW5jeQoJICBoYW5kbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDEwNgoKMjAxNS0wMi0xMCAxNTo1NTo1MCArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiBtZW1vcnkgbGVhayBpbiBjYW1lcmFiaW4gZXhhbXBsZXMgY29kZQoJICBzaG91bGQgdW5yZWYgY2FwcyBhZnRlciBzZXQgdG8gcHJvZmlsZS4gcHJvZmlsZSB3aWxsIHJlZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxOQoKMjAxNS0wMi0xMCAxNTo1MzoyMSArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IG1lbW9yeSBsZWFrIGluIGNhbWVyYWJpbiBleGFtcGxlcyBjb2RlCgkgIHNob3VsZCB1bnJlZiBhZnRlciBzZXQgb2JqZWN0LiBUaGUgb2JqZWN0IHdpbGwgYmUgcmVmZWQgd2hlbiBzZXQKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTkKCjIwMTUtMDItMTAgMTY6MTg6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogT25seSBhbGxvY2F0ZSBhdCBtb3N0IGhhbGYgdGhlIG51bWJlciBvZiBpbnRlcm5hbCBidWZmZXJzIGFzIGV4dGVybmFsIGF1ZGlvcmluZ2J1ZmZlciBvbmVzCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBlbmQgdXAgcmVhZGluZyB0b28gbXVjaCBmcm9tIHRoZSBhdWRpb3JpbmdidWZmZXIsIHdoaWNoCgkgIHdvdWxkIHJlc3VsdCBpbiByZWFkaW5nIHNpbGVuY2UuCgoyMDE1LTAyLTEwIDE2OjAxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBcHBseSB0aGUgZGlmZiBiZXR3ZWVuIGVsZW1lbnQgYW5kIHBpcGVsaW5lICJiYXNlIiB0aW1lIGluIGFsbCBjYXNlcwoJICBFdmVuIGlmIGJvdGggY2xvY2tzIGhhdmUgdGhlIHNhbWUgcmF0ZSwgd2UgbmVlZCB0byBhcHBseSB0aGlzIGRpZmYuIE9ubHkgd2hlbgoJICBpdCdzIHRoZSBzYW1lIGNsb2NrIHdlIGRvbid0LCBhcyBpdCdzIG91ciBjbG9jayB0aGVuLgoKMjAxNS0wMi0xMCAxNTozMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIHRoZSBkaWZmIGJldHdlZW4gdGhlIHBpcGVsaW5lIGJhc2UgdGltZSBhbmQgd2hlbiB3ZSBzdGFydCB0byBwbGF5CgkgIEFkZCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSBleHRlcm5hbCB0aW1lIHdoZW4gd2Ugd2VudCB0byBwbGF5aW5nIGFuZAoJICB0aGUgZXh0ZXJuYWwgdGltZSB3aGVuIHRoZSBwaXBlbGluZSB3ZW50IHRvIHBsYXlpbmcuIE90aGVyd2lzZSB3ZQoJICB3aWxsIGFsd2F5cyBzdGFydCBvdXRwdXR0aW5nIGZyb20gMCBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcKCSAgdGltZS4KCjIwMTUtMDItMTAgMTQ6NTM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWN0dWFsbHkgaW5jbHVkZSB0aGUgY2hhbmdlIG1lbnRpb25lZCBpbiB0aGUgbGFzdCBjb21taXQKCjIwMTUtMDItMTAgMTQ6NDg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW97c3JjLHNpbmt9OiBTYW1wbGUgdGhlIGludGVybmFsIGNsb2NrIGltbWVkaWF0ZWx5IGFmdGVyIHN0YXJ0aW5nIHRoZSBkZXZpY2UKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXkgYXQgMC4wcyBmb3IgdG9vIGxvbmcgYmVjYXVzZSB3ZSB3aWxsIHRha2UgdGhlIGZpcnN0CgkgIHRpbWVzdGFtcCB3ZSBldmVyIHNlZSBhcyAwLjAuLi4gd2hpY2ggd2lsbCBiZSBhZnRlciB3ZSBzdGFydGVkIHRoZSBkZXZpY2UuCgoyMDE1LTAyLTEwIDEwOjU2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFdoZW4gcmVjZWl2aW5nIHRpbWVvdXQgYmVmb3JlIGNhcHMsIG1ha2Ugc3VyZSB0byBhbHNvIGFkdmFuY2Ugb3VyIGZyYW1lIGNvdW50ZXIKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZGlyZWN0bHkgZ28gRU9TIG9uIHRoZSBuZXh0IG5vbi10aW1lb3V0LgoKMjAxNS0wMi0xMCAxMDo0OToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUGF1c2Ugc3JjcGFkIHRhc2sgb24gZmxvdyBlcnJvcnMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2FsbCB0aGUgdGFzayBmdW5jdGlvbiBvdmVyIGFuZCBvdmVyIGFnYWluIHVudGlsCgkgIHVwc3RyZWFtIGZpbmFsbHkgaGFuZGxlZCB0aGUgZmxvdyByZXR1cm4gYW5kIHNodXRzIHVzIGRvd24uCgoyMDE1LTAyLTA5IDAwOjU5OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGJ1ZmZlciBzZWxlY3Rpb24gd2hlbiBkdXJhdGlvbj0tMQoJICBJZiB0aGUgc3JjIGZyYW1lcmF0ZSBhbmQgdmlkZW9hZ2dyZWF0b3IncyBvdXRwdXQgZnJhbWVyYXRlIHdlcmUKCSAgZGlmZmVyZW50LCB0aGVuIHdlIHdlcmUgdGFraW5nIGV2ZXJ5IHNpbmdsZSBidWZmZXIgdGhhdCBoYWQgZHVyYXRpb249LTEKCSAgYXMgaXQgY2FtZSBpbiByZWdhcmRsZXNzIG9mIHRoZSBidWZmZXIncyBzdGFydCB0aW1lLiAgVGhpcyBjYXVzZWQgdGhlIHNyYwoJICB0byBwb3NzaWJseSBydW4gYXQgYSBkaWZmZXJlbnQgc3BlZWQgdG8gdGhlIG91dHB1dCBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwOTYKCjIwMTUtMDItMDkgMjE6MDQ6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MKCSAgZ3N0ZGVja2xpbmsuY3BwOiBJbiBtZW1iZXIgZnVuY3Rpb24gJ3ZpcnR1YWwgSFJFU1VMVCBHU3RyZWFtZXJEZWNrbGlua0lucHV0Q2FsbGJhY2s6OlZpZGVvSW5wdXRGcmFtZUFycml2ZWQoSURlY2tMaW5rVmlkZW9JbnB1dEZyYW1lKiwgSURlY2tMaW5rQXVkaW9JbnB1dFBhY2tldCopJzoKCSAgZ3N0ZGVja2xpbmsuY3BwOjQ5ODoyMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQoJICBpZiAoY2FwdHVyZV90aW1lID4gbV9pbnB1dC0+Y2xvY2tfc3RhcnRfdGltZSkKCSAgXgoJICBnc3RkZWNrbGluay5jcHA6NTAzOjIyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucyBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCgkgIGlmIChjYXB0dXJlX3RpbWUgPiBtX2lucHV0LT5jbG9ja19vZmZzZXQpCgkgIF4KCjIwMTUtMDItMDkgMTc6MTc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogSW1wbGVtZW50IGNsb2NrIHNsYXZpbmcgaWYgdGhlIHBpcGVsaW5lIGNsb2NrIGlzIG5vdCB0aGUgZGVja2xpbmsgY2xvY2sKCjIwMTUtMDItMDkgMTc6MTU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW97c3JjLHNpbmt9OiBPbmx5IHN0YXJ0IHN0cmVhbXMgLyBzY2hlZHVsZWQgcGxheWJhY2sgaWYgdGhlcmUgaXMgYSB2aWRlb3NyYyBhdCB0aGlzIHBvaW50CgoyMDE1LTAyLTA5IDE3OjA0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlIGF1ZGlvIHNvdXJjZSBvbmx5IHdvcmtzIHRvZ2V0aGVyIHdpdGggdGhlIHZpZGVvIHNvdXJjZSwgYW5kIHRoZSB2aWRlbwoJICBzb3VyY2UgaXMgYWxyZWFkeSBwcm92aWRpbmcgYSBjbG9jay4KCjIwMTUtMDItMDkgMTY6MTg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogVGhyb3R0bGUgcmVhZGluZyBmcm9tIHRoZSByaW5nYnVmZmVyCgkgIFRoZSBkcml2ZXIgaGFzIGFuIGludGVybmFsIGJ1ZmZlciBvZiB1bnNwZWNpZmllZCBhbmQgdW5jb25maWd1cmFibGUgc2l6ZSwgYW5kCgkgIGl0IHdpbGwgcHVsbCBkYXRhIGZyb20gb3VyIHJpbmcgYnVmZmVyIGFzIGZhc3QgYXMgaXQgY2FuIHVudGlsIHRoYXQgaXMgZnVsbC4KCSAgVW5mb3J0dW5hdGVseSB0aGF0IG1lYW5zIHRoYXQgd2UgcHVsbCBzaWxlbmNlIGZyb20gdGhlIHJpbmdidWZmZXIgdW5sZXNzIGl0cwoJICBzaXplIGlzIGJ5IGNvbmluY2lkZW5jZSBsYXJnZXIgdGhhbiB0aGUgZHJpdmVyJ3MgaW50ZXJuYWwgcmluZ2J1ZmZlci4KCSAgVGhlIGdvb2QgbmV3cyBpcyB0aGF0IGl0J3Mgbm90IHJlcXVpcmVkIHRvIGNvbXBsZXRlbHkgZmlsbCB0aGUgYnVmZmVyIGZvcgoJICBwcm9wZXIgcGxheWJhY2suIFNvIHdlIG5vdyB0aHJvdHRsZSByZWFkaW5nIGZyb20gdGhlIHJpbmdidWZmZXIgd2hlbmV2ZXIKCSAgdGhlIGRyaXZlciBoYXMgYnVmZmVyZWQgbW9yZSB0aGFuIGhhbGYgb2Ygb3VyIHJpbmdidWZmZXIgc2l6ZSBieSB3YWl0aW5nCgkgIG9uIHRoZSBjbG9jayBmb3IgdGhlIGFtb3VudCBvZiB0aW1lIHVudGlsIGl0IGhhcyBidWZmZXJlZCBsZXNzIHRoYW4gdGhhdAoJICBhZ2Fpbi4KCjIwMTUtMDItMDkgMTU6MTk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogU3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIHdoZW4gZ29pbmcgdG8gUExBWUlORwoJICBUaGUgcmluZ2J1ZmZlcidzIGFjcXVpcmUoKSBpcyB0b28gZWFybHksIGFuZCByaW5nYnVmZmVyJ3Mgc3RhcnQoKSB3aWxsIG9ubHkgYmUKCSAgY2FsbGVkIGFmdGVyIHRoZSBjbG9jayBoYXMgYWR2YW5jZWQgYSBiaXQuLi4gd2hpY2ggaXQgd29uJ3QgdW5sZXNzIHdlIHN0YXJ0CgkgIHNjaGVkdWxlZCBwbGF5YmFjay4KCjIwMTUtMDItMDkgMjE6MTg6MjQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmaXggdGV4dHVyZSBzaGFyaW5nIG9uIGlPUwoJICBNb3ZlIEdMRVMgY2FsbHMgdG8gdGhlIGNvbnRleHQgdGhyZWFkLiBGaXgKCSAgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZUNyZWF0ZVRleHR1cmVGcm9tSW1hZ2UgdXNhZ2Ugb24gaU9TLgoKMjAxNS0wMi0wOSAyMDo0NDo1MCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgbGliZ3N0Z2w6IHNldCB1c2VyIGRhdGEgYW5kIEdEZXN0cm95Tm90aWZ5IGZvciB3cmFwcGVkIHRleHR1cmVzCgoyMDE1LTAyLTA4IDIxOjUzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IFRha2UgdGhlIGNhcHR1cmUgdGltZXMgZnJvbSB0aGUgcGlwZWxpbmUgY2xvY2sKCSAgTm90IGZyb20gdGhlIGRlY2tsaW5rIGNsb2NrLiBCb3RoIHdpbGwgcmV0dXJuIGV4YWN0bHkgdGhlIHNhbWUgdGltZSBvbmNlIHRoZQoJICBkZWNrbGluayBjbG9jayBnb3Qgc2xhdmVkIHRvIHRoZSBwaXBlbGluZSBjbG9jayBhbmQgcmVjZWl2ZWQgdGhlIGZpcnN0CgkgIG9ic2VydmF0aW9uLCBidXQgdW50aWwgdGhlbiBpdCB3aWxsIHJldHVybiBib2d1cyB2YWx1ZXMuIEJ1dCBhcyBib3RoIHJldHVybgoJICBleGFjdGx5IHRoZSBzYW1lIHZhbHVlcywgd2UgY2FuIGFzIHdlbGwgdXNlIHRoZSBwaXBlbGluZSBjbG9jayBkaXJlY3RseS4KCjIwMTUtMDItMDggMTQ6MzI6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3Qgc2V0IGVsZW1lbnQgZmFjdG9yeSBkZXRhaWxzCgkgIFRoaXMgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgbm90IGFuIGVsZW1lbnQuCgoyMDE1LTAyLTA4IDAxOjE5OjQyICsxMTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogc29tZSBvcHRpbWl6YXRpb25zCgkgIERldGVjdCBpbnZpc2libGUgcGl4ZWxzLCBhbmQgc2tpcCBnc3RzcHVfdm9ic3ViX2JsZW5kX2NvbXBfYnVmZmVycygpCgkgIHdoZW4gdGhlcmUgYXJlIG9ubHkgaW52aXNpYmxlIHBpeGVscy4gIFRoaXMgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHRoZQoJICBDUFUgbG9hZCBpbiBjYXNlcyBvZiBEVkRzIHdoaWNoIGRvbid0IHVzZSB0aGUgY2xpcF9yZWN0IHRvIGV4Y2x1ZGUKCSAgcHJvY2Vzc2luZyBmb3IgcGFydHMgb2YgdGhlIHNjcmVlbiB3aGVyZSB0aGUgdmlkZW8gaXMgdmlzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMQoKMjAxNS0wMi0wOCAwNTowNjo0OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEF2b2lkIHdhcm5pbmcgaWYgdGhlIHZpZGVvIGZvciBhIHN0aWxsIGZyYW1lIGFycml2ZXMgYWZ0ZXIgdGhlIFNQVQoJICBXaGVuIHdlIGRvbid0IGhhdmUgYSBzZWdtZW50IG9uIHRoZSB2aWRlbyBwYWQgeWV0IGR1cmluZyBhIHN0aWxsIGZyYW1lCgkgIGRvbid0IGZyZWFrIG91dC4KCjIwMTUtMDItMDggMDQ6NTE6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBtZWFuaW5nbGVzcyBzZWdtZW50IHBvc2l0aW9uIGRvd25zdHJlYW0KCSAgRG9uJ3QgcGxhY2UgYSBtZWFuaW5nbGVzcyB2YWx1ZSBpbiB0aGUgcG9zaXRpb24gZmllbGQgaW4KCSAgb3V0Z29pbmcgc2VnbWVudHMgLSB2YWx1ZXMgaGF2ZSB0byBiZSBpbiB0aGUgcmFuZ2Ugc3RhcnQtPnN0b3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NTgKCjIwMTUtMDItMDYgMTY6MjI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhaWZmcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRhdGEgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTRiYWFiYjQ4ZDI1MjIxNGQzODMzYjUwMmM3OTAzZDlmMTVmMzUwMi4KCjIwMTUtMDItMDYgMTU6MTA6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBkYXRhIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50CgkgIENoZWNrIEFJRkZfUEFSU0VfREFUQSBpcyBUcnVlIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50LCBpZiBub3QgZ290byBleGl0LgoKMjAxNS0wMi0wNSAxNTo1Nzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogcmVtb3ZlIG5vdy11bnVzZWQgYmFzZV90aW1lIGZpZWxkIGluIG9iamVjdCBzdHJ1Y3R1cmUKCjIwMTUtMDItMDYgMTA6NTk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFN0cmVhbWxpbmUgbGF0ZW5jeSBjYWxjdWxhdGlvbnMKCSAgTWluIGxhdGVuY3kgY2FuIG5ldmVyIGJlIGludmFsaWQsIGxhdGVuY3kgcHJvcGVydHkgY2FuIG5ldmVyIGJlIGludmFsaWQKCSAgZWl0aGVyLiBTbyBubyBuZWVkIHRvIGNoZWNrIGZvciBhbGwgdGhlc2UgdGhpbmdzIGluIHZhcmlvdXMgcGxhY2VzLgoKMjAxNS0wMi0wNiAxMDozNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSWYgdXBzdHJlYW0gaGFzIG5vIG1heCBsYXRlbmN5IGJ1dCB0aGUgc3ViY2xhc3MgaGFzLCB0YWtlIHRoZSBzdWJjbGFzcyBtYXggbGF0ZW5jeQoKMjAxNS0wMi0wNiAxMDozMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IG1pbj5tYXggbGF0ZW5jeSBlcnJvciBjaGVjawoJICBXZSBoYXZlIHRvIGluY2x1ZGUgdGhlIHVwc3RyZWFtIGxhdGVuY3ksIG91ciBvd24gbGF0ZW5jeSBhbmQgdGhlIHN1YmNsYXNzCgkgIGxhdGVuY3kgaW4gdGhlIGNhbGN1bGF0aW9ucy4KCSAgRklYTUU6IFRoaXMgaXMgc3RpbGwgbm90IGVudGlyZWx5IGNvcnJlY3QKCjIwMTUtMDItMDYgMTA6MzA6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGFkZCB0aGUgbGF0ZW5jeSBwcm9wZXJ0eSB0byB0aGUgbWF4IGxhdGVuY3kKCSAgSXQgaGFzIG5vIG1lYW5pbmcgZm9yIHRoZSBtYXggbGF0ZW5jeSBhbmQgaXMgb25seSB1c2VkIHRvIGluY3JlYXNlIHRoZSBtaW4KCSAgbGF0ZW5jeS4KCjIwMTUtMDItMDYgMTI6NTM6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvdmFvLmg6CgkgIGdscHJvdG8vdmFvOiBvbmx5IHN1cHBvcnRlZCBpbiBjb3JlIGZvciBFUyAzLjArCgkgIFdhcyBjYXVzaW5nIGhvcml6b250YWxseSBmbGlwcGVkIHZpZGVvIGZvciBmcmFtZSAyIG9ud2FyZCBvbiBhbmRyb2lkCgoyMDE1LTAyLTA1IDEzOjMxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlbGFjZSBwYXJzZWQgd2l0aCBmcmFtZWQgaW4gYWFjIGNhcHMKCSAgRm9yIEFBQyBpdCBzaG91bGQgYWx3YXlzIGJlICdmcmFtZWQnIGFuZCBub3QgJ3BhcnNlZCcKCjIwMTUtMDItMDUgMTE6Mzk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IG91dHB1dCBjYXBzIHRvIG5lZ290aWF0ZSB3aXRoIHNvbWUgbXV4ZXJzCgkgIEFkZCBwYXJzZWQvZnJhbWVkPXRydWUgdG8gYWxsb3cgbmVnb3RpYXRpb24gd2l0aCBzb21lCgkgIG11eGVycyB0aGF0IHJlcXVpcmVkIHBhcnNlZCBpbnB1dC4gRW5jb2RlcnMgYWxyZWFkeSBwcm92aWRlCgkgIHBhcnNlZC9mcmFtZWQgb3V0cHV0IHNvIGl0IHNob3VsZCBzYXkgc28gaW4gY2Fwcy4KCjIwMTUtMDItMDUgMTU6NDg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBhZGQgdW5pdCB0ZXN0IGZvciBwcm9wZXIgc2VnbWVudC5iYXNlIGhhbmRsaW5nCgkgIEFzIGFkanVzdGVkIGJ5IGdzdF9wYWRfc2V0X29mZnNldCgpLCBvciB3aGVuIGRvaW5nIHNlZ21lbnQgc2Vla3MKCSAgb3IgbG9vcGluZyBmb3IgZXhhbXBsZS4KCjIwMTUtMDItMDUgMTU6MjM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBhdWRpb21peGVyOiBhZGQgdW5pdCB0ZXN0IGZvciBwcm9wZXIgc2VnbWVudC5iYXNlIGhhbmRsaW5nCgkgIEFzIGFkanVzdGVkIGJ5IGdzdF9wYWRfc2V0X29mZnNldCgpLCBvciB3aGVuIGRvaW5nIHNlZ21lbnQgc2Vla3MKCSAgb3IgbG9vcGluZyBmb3IgZXhhbXBsZS4gU2VlIHByZXZpb3VzIGF1ZGlvbWl4ZXIgY29tbWl0LgoKMjAxNS0wMi0wNSAxNjowMjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHdlaXJkIGFuZCB3cm9uZyBzZWdtZW50IGhhbmRsaW5nCgkgIFRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBhdWRpb21peGVyIHNob3VsZCBvdmVycmlkZSB0aGUgc2VnbWVudAoJICBiYXNlIG9mIHVwc3RyZWFtIHdpdGggd2hhdGV2ZXIgdmFsdWUgaXQgZ290IGZyb20gYSBTRUVLIGV2ZW50LAoJICBvciBldmVuIHdvcnNlLi4uIHdpdGggMCBpZiB0aGVyZSB3YXMgbm8gU0VFSyBldmVudCB5ZXQuIFRoaXMKCSAgYnJva2Ugc3luY2hyb25pemF0aW9uIGlmIHVwc3RyZWFtIHByb3ZpZGVkIGEgc2VnbWVudCBiYXNlIG90aGVyCgkgIHRoYW4gMCwgZS5nLiB3aGVuIHVzaW5nIHBhZCBvZmZzZXRzLgoJICBBbHNvIHRoYXQgdGhpcyBjb2RlIGRpZCB0aGluZ3MgY29uZGl0aW9uYWwgb24gdGhlIGVsZW1lbnQncyBzdGF0ZQoJICBzaG91bGQndmUgYmVlbiBhIGJpZyB3YXJuaW5nIGFscmVhZHkgdGhhdCBzb21ldGhpbmcgaXMganVzdCB3cm9uZy4KCSAgSWYgdGhpcyBicmVha3MgYW55dGhpbmcgZWxzZSBub3csIGxldCdzIGZpeCBpdCBwcm9wZXJseSA6KQoJICBBbHNvIGRvbid0IGRvIGZhbmN5IHNlZ21lbnQgcG9zaXRpb24gdHJpY2tlcnkgd2hlbiByZWNlaXZpbmcgYQoJICBzZWdtZW50IGV2ZW50LiBJdCdzIGp1c3Qgbm90IGNvcnJlY3QuCgoyMDE1LTAyLTA1IDEyOjI0OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IE9ubHkgcHJlLXJvbGwgYSBzaW5nbGUgYnVmZmVyCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBwcmUtcm9sbCBtb3JlIGJ1ZmZlcnMgaGVyZSBhcyB3ZSBoYXZlIG91ciBvd24gcmluZ2J1ZmZlcgoJICB3aXRoIG1vcmUgc2VnbWVudHMgYXJvdW5kIGl0LCBhbmQgd2UgY2FuIGltbWVkaWF0ZWx5IHByb3ZpZGUgbW9yZSBidWZmZXJzIHRvCgkgIE9wZW5TTCBFUyB3aGVuIGl0IHJlcXVlc3RzIHRoYXQgZnJvbSB0aGUgY2FsbGJhY2suCgkgIFByZS1yb2xsaW5nIGEgc2luZ2xlIGJ1ZmZlciBiZWZvcmUgc3RhcnRpbmcgaXMgbmVjZXNzYXJ5IHRob3VnaCwgYXMgb3RoZXJ3aXNlCgkgIHdlIHdpbGwgb25seSBvdXRwdXQgc2lsZW5jZS4KCSAgTG93ZXJzIGxhdGVuY3kgYSBiaXQsIGRlcGVuZGluZyBvbiBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lIHNldHRpbmdzLgoKMjAxNS0wMi0wNSAxMjoyMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBBbGxvY2F0ZSBhdCBtb3N0IDQgaW50ZXJuYWwgYnVmZmVycwoJICA0IGlzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGJ1ZmZlcnMgZGVmaW5lZCBieSBBbmRyb2lkJ3MgT3BlblNMIEVTCgkgIGltcGxlbWVudGF0aW9uLCBhbmQgaXRzIGNvZGUgaXMgb3B0aW1pemVkIGZvciB0aGlzLiBBbHNvIGJlY2F1c2Ugd2UKCSAgaGF2ZSBvdXIgb3duIHJpbmdidWZmZXIgYXJvdW5kIHRoaXMsIHdlIHdpbGwgYWx3YXlzIGhhdmUgZW5vdWdoCgkgIGJ1ZmZlcmluZyBvbiBvdXIgc2lkZSBhbHJlYWR5LgoJICBBbGxvd3MgZm9yIG1vcmUgZWZmaWNpZW50IHByb2Nlc3NpbmcuCgoyMDE1LTAyLTA1IDEyOjIxOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXNzaW5rL3NyYzogTG93ZXIgZGVmYXVsdCBidWZmZXIgdGltZSB0byAyMDBtcyBsaWtlIGFsc2FzaW5rCgoyMDE1LTAyLTA1IDE2OjQ2OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGVuc3VyZSB0aGF0IHRoZSBpbnB1dCB1cGxvYWQvY29sb3Jjb252ZXJ0IGFyZSBhbHdheXMgYXZhaWxhYmxlCgoyMDE1LTAyLTA1IDExOjA2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGxvZyB0aGUgY29udmVydGVkIGNhcHMKCjIwMTUtMDItMDUgMTE6MDU6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVzdHJpY3QgRUdMIGFuZCBVcGxvYWRNZXRhIHRvIFJHQkEKCSAgb3RoZXIgZm9ybWF0cyBhcmUgaGlnaGx5IHVudGVzdGVkLgoKMjAxNS0wMi0wNSAxMTowNDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBkb24ndCBpbnRlcnNlY3Qgd2l0aCB0aGUgaW5wdXQgY2FwcwoJICB0aGF0IGxpbWl0cyBvdXIgZm9ybWF0cyB0byB3aGF0ZXZlciBpcyBpbiB0aGUgaW5wdXQgY2FwcwoKMjAxNS0wMi0wNCAxNDoxMDoxMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogZml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9nbF9maWx0ZXJfZml4YXRlX2NhcHMgKCkgaXQgY2FuIGdvdG8gZG9uZSB3aXRob3V0IGZyZWVpbmcgdGhlIG1lbW9yeSBvZgoJICB0aGUgdG1wIEdzdFN0cnVjdHVyZS4gVGhpcyBtYWtlcyBpdCBnbyBvdXQgb2Ygc2NvcGUgYW5kIGxlYWsuCgkgIENJRCAjMTI2NTc2NQoKMjAxNS0wMi0wNCAxMTo1MjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogaW5pdGlhbGl6ZSBjbGFzcyB2YXJpYWJsZXMKCSAgU29tZSB2YXJpYWJsZXMgYXJlIG5vdCBpbml0aWFsaXplZCBpbiB0aGUgY29uc3RydWN0b3IuIEl0IGlzIGhpZ2hseSB1bmxpa2VseQoJICB0aGV5IGFyZSB1c2VkIGJlZm9yZSBiZWluZyBzZXQsIGJ1dCBpdCBpcyBzYWZlciB0byBpbml0aWFsaXplIHRoZW0uCgkgIENJRCAjMTE5NzcwNAoKMjAxNS0wMi0wMyAxODoxMzoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICBrc3ZpZGVvc3JjOiBGaXggbWlzc2luZyBicmFjZSB3YXJuaW5nCgkgIFRoZXJlIGlzIG1vcmUgYnV0IGl0J3MgZnJvbSBrcy5oIEdVSUQgaW5pdGlhbGl6ZXIsIHdoaWNoIGlzIHNoaXBwZWQKCSAgdGhpcyB3YXkgd2l0aCBtaW5ndy4KCjIwMTUtMDItMDMgMTc6NDQ6MzQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcKCSAgVGhlIHBzZXVkbyBidWZmZXIgcG9vbCBjb2RlIHdhcyB1c2luZyBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkKCSAgYWxvbmUgdG8gdHJ5IGFuZCBmaWd1cmUtb3V0IGlmIGNhY2hlZCBidWZmZXIgY291bGQgYmUgcmV1c2VkLgoJICBJdCBuZWVkcyB0byBjaGVjayBmb3IgbWVtb3J5IHdyaXRhYmlsaXR5IHRvby4gQWxzbyBjaGVjayBtYXAKCSAgcmVzdWx0IGFuZCBmaXggbWFwIGZsYWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY0CgoyMDE1LTAyLTAzIDE3OjA1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIGxlYWtpbmcgZm9yY2Uga2V5dW5pdCBldmVudCB3aGVuIGdvaW5nIHRvIE5VTEwKCSAgRG8gbm90IHNldCB0byBOVUxMIGJlZm9yZSB1bnJlZmZpbmcgdGhlIGV2ZW50IG9yIGl0IHdpbGwgbGVhawoKMjAxMy0wMy0xOCAwODoxNTowMCArMDAwMCAgQW50b24gR3JpdHNheSA8YW50b25AYW5ncmkucnU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHBhcnNlIGZvcmNlIGtleSB1bml0IGV2ZW50cyB3aXRoIHRoZSBjb3JyZWN0IGZ1bmN0aW9uCgkgIE90aGVyd2lzZSBpdCB3b24ndCBiZSBwYXJzZWQgYW5kIGJvZ3VzIHZhbHVlcyB3b3VsZCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDMyCgoyMDE1LTAxLTI2IDIwOjQyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiByZW1vdmUgdXBkYXRlIHNlZ21lbnQgbG9naWMKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGluIDEueCBzZXJpZXMgYW55bW9yZQoKMjAxNS0wMi0wMyAxMDo1OToxNiAtMDMwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkb24ndCBtYXJrIHN0cmVhbXMgYXMgbmVlZGluZyBhIG5ldyBzZWdtZW50IG9uIGZsdXNoCgkgIFRoZSBmbHVzaCBpcyBjYWxsZWQgb24gZGlzY29udCBhbmQgd2Ugc2hvdWxkbid0IG91dHB1dCBhIG5ldyBzZWdtZW50CgkgIGVhY2ggdGltZSBhIGRpc2NvbnQgaGFwcGVucy4gU28gdGhpcyBjb21taXQgcmVtb3ZlIHRoZSBtYXJrIGZvciBhIG5ldwoJICBzZWdtZW50IHdoZW4gZmx1c2hpbmcgc3RyZWFtcyBieSBwcm9wYWdhdGluZyB0aGUgJ2hhcmQnIGZsYWcgcGFzc2VkCgkgIG9uIHRoZSBmbHVzaW5nIGZyb20gdGhlIGJhc2UgY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNjMKCjIwMTUtMDItMDMgMTc6MzI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBBZGQgc29tZSBhc3NlcnRpb25zIGluc3RlYWQgb2YganVzdCBkZXJlZmVyZW5jaW5nIE5VTEwKCjIwMTUtMDItMDMgMTc6Mjk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBEb24ndCB1bmNvbmRpdGlvbmFsbHkgdXNlIHRoZSBDb3JlTWVkaWEgbWV0YSBvbiBpT1MKCSAgV2UgbWlnaHQgaW5zdGVhZCBoYXZlIGEgQ29yZVZpZGVvIG1ldGEuCgoyMDE1LTAyLTAzIDE0OjU1OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVbmRvIGFjY2lkZW50YWwgY29tbW9uIG1vZHVsZSByZXdpbmQKCSAgaW4gY29tbWl0IDdkNDYzNTc2CgoyMDE1LTAyLTAzIDE1OjM4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgZnJhbWVzIHdoZW4gZHJhaW5pbmcvZmx1c2hpbmcKCjIwMTUtMDItMDMgMTU6MzA6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZW1vdmUgdGhlIGVnbCBjYXBzIGZyb20gdGhlIHNyYyBwYWRzCgkgIHdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQgcHJvZHVjaW5nIEVHTEltYWdlIGJ1ZmZlcnMgYW55d2hlcmUuCgoyMDE1LTAyLTAzIDEzOjMyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwdXQgR3N0R0xTeW5jTWV0YSBvbiBvdXRwdXQgYnVmZmVycwoJICBhbGxvd3MgdGhyZWFkIHNhZmVseSB1c2luZyB0aGUgcHJvdmlkZWQgb3V0cHV0IGJ1ZmZlciBpbiBhIHNlcGFyYXRlCgkgIHRocmVhZAoKMjAxNS0wMi0wMyAwMDozNToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBvbmx5IHRyeSB0aGUgZ2xtZW1vcnkgdXBsb2FkIGZvciBzeXNtZW0vZ2xtZW1vcnkgY2FwcyBmZWF0dXJlcwoJICBBbGxvd3Mgc2VsZWN0aW5nL3Rlc3RpbmcgdGhlIHVwbG9hZCBwYXRoIHdpdGggZXhwbGljaXQgY2FwcyBmZWF0dXJlcy4KCjIwMTUtMDItMDMgMDA6MjY6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIG1pc3NpbmcgaW5pdGlsaXNhdGlvbiBvZiB0ZXhfdGFyZ2V0IHdoZW4gY29weWluZwoJICBmaXhlczoKCSAgZ2xjb2xvcnNjYWxlICEgdmlkZW8veC1yYXdcKG1ldGE6R3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhXCkgIQoJICBnbGltYWdlc2luawoKMjAxNS0wMi0wMyAwMDoxNTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBhbGxvdyBOVUxMIGJ1ZmZlciBmb3IgYWNjZXB0IHZmdW5jCgoyMDE1LTAyLTAzIDAwOjEzOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlbW92ZSB1bnNlZCBjb252ZXJ0IGZpZWxkIGluIHByaXZhdGUgc3RydWN0CgoyMDE1LTAyLTAzIDAwOjExOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXBsb2FkL2Rvd25sb2FkL2NvbnZlcnQ6IHByb3ZpZGUgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb25zCgkgIEFsbG93cyBmaW5lciBncmFpbiBkZWNpc2lvbnMgYWJvdXQgZm9ybWF0cyBhbmQgZmVhdHVyZXMgYXQgZWFjaAoJICBzdGFnZSBvZiB0aGUgcGlwZWxpbmUuCgkgIEFsc28gcHJvdmlkZSBwcm9wb3NlX2FsbG9jYXRpb24gZm9yIGdsdXBsb2FkIGJlc2VkIG9uIHRoZSBzdXBwb3J0ZWQKCSAgbWV0aG9kcy4KCjIwMTUtMDItMDMgMTE6MDc6NTggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ3N0Z2x3aW5kb3dfY29jb2E6IGZpeCBzbG93IHJlbmRlciByYXRlCgkgIEluIGdzdF9nbF93aW5kb3dfY29jb2FfZHJhdyB3ZSB1c2VkIHRvIGp1c3QgY2FsbCBzZXROZWVkc0Rpc3BsYXk6WUVTLiBUaGF0IHdhcwoJICBjcmVhdGluZyBhbiBpbXBsaWNpdCBDQSB0cmFuc2FjdGlvbiB3aGljaCB3YXMgZ2V0dGluZyBjb21taXR0ZWQgYXQgdGhlIG5leHQKCSAgcnVubG9vcCBpdGVyYXRpb24uIFNpbmNlIHdlIGRvbid0IGtub3cgaG93IG9mdGVuIHRoZSBtYWluIHJ1bmxvb3AgaXMgcnVubmluZywKCSAgYW5kIHdoZW4gd2UgcnVuIGl0IGltcGxpY2l0bHkgKGZyb20gZ3N0X2dsX3dpbmRvd19jb2NvYV9uc2FwcF9pdGVyYXRpb24pIHdlIG9ubHkKCSAgZG8gc28gZXZlcnkgMjAwbXMsIHVzZSBhbiBleHBsaWNpdCBDQSB0cmFuc2FjdGlvbiBpbnN0ZWFkIGFuZCBjb21taXQgaXQKCSAgaW1tZWRpYXRlbHkuIENBIHRyYW5zYWN0aW9ucyBuZXN0IGFuZCBkZWJvdW5jZSBhdXRvbWF0aWNhbGx5IHNvIHRoaXMgd2lsbCBuZXZlcgoJICByZXN1bHQgaW4gZXh0cmEgd29yay4KCjIwMTUtMDItMDIgMjM6NDA6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSAgZ3N0Z2xjYW9wZW5nbGxheWVyOiB1c2UgdGhlIGNvcnJlY3QgcmVjdGFuZ2xlIHR5cGUgZm9yIGlPUyBhbmQgT1MgWAoKMjAxNS0wMi0wMiAyMTowNzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiB1c2UgdGhlIGNvcnJlY3QgY2FwcyBmZWF0dXJlIGZvciBzdXBwb3J0ZWQgY2FwcwoJICBnbGNvbG9yY29udmVydCBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBjb252ZXJ0aW5nIGJldHdlZW4gR0xNZW1vcnkKCSAgdGFyZ2V0cy4KCjIwMTUtMDItMDIgMjA6NTE6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGRvbid0IHVzZSB0aGUgZ3N0IGRlYnVnIG9iamVjdCB2YXJpYW50cwoJICBXZSBhcmUgbm90IGEgR09iamVjdCBvciBhbnkgaW5mZXJhYmxlIEdzdE1pbmlPYmplY3Qgc3VwcG9ydGVkIGJ5CgkgIHRoZSBnc3QgZGVidWcgc3lzdGVtLiAgQWxzbyBmaXhlcyBhIHNlZ2ZhdWx0LgoKMjAxNS0wMS0zMCAxODo1MToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbDogdXBkYXRlIHVuaXQgdGVzdCBmb3IgZ2xtZW1vcnkgYXBpIGNoYW5nZQoKMjAxNS0wMS0zMCAxNToxMzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY2xvYmJlciB0aGUgYWxwaGEgY2hhbm5lbCBieSBkZWZhdWx0CgkgIHRoaXMgY2FuIGJlIGRpc2FibGVkIHdpdGggdGhlIGlnbm9yZS1hbHBoYSBwcm9wZXJ0eQoKMjAxNS0wMS0zMCAxMjozMjoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIFJldmVydCAibGliZ3N0Z2w6IGdzdGdsY2FvcGVuZ2xsYXllcjogc2V0IHRoZSBsYXllciBhcyBvcGFxdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmYxNTJkMzgxY2EyMTU5NWNkYzgyM2YzMjM0MWM4ZjJmZTcxYjljNy4KCSAgVGhlIGxheWVyIHNob3VsZG4ndCBiZSBhbHdheXMgb3BhcXVlLCBpdCBzaG91bGQgYmUgbWFkZSBhIHByb3BlcnR5LgoKMjAxNS0wMS0zMCAxMjoyMjoyNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGxpYmdzdGdsOiBnc3RnbGNhb3BlbmdsbGF5ZXI6IHNldCB0aGUgbGF5ZXIgYXMgb3BhcXVlCgoyMDE1LTAxLTI5IDE2OjMwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBZGQgRklYTUUgY29tbWVudCBhYm91dCBwb3NzaWJpbGl0eSBvZiBub24tQXBwbGUgWUNiQ3I0MjIgcmVjdGFuZ3VsYXIgdGV4dHVyZXMKCjIwMTUtMDEtMjkgMTY6MjY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IE9ubHkgdXNlIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHdpdGggT3BlbkdMCgkgIEl0J3Mgbm90IGRlZmluZWQgZm9yIEdMRVMuCgoyMDE1LTAxLTMwIDAwOjI4OjE4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogcmV3b3JrIEdMIHRleHR1cmUgc2hhcmluZwoJICBVc2UgWVVWIGluc3RlYWQgb2YgUkdCIHRleHR1cmVzLCB0aGVuIGNvbnZlcnQgdXNpbmcgdGhlIG5ldyBhcHBsZSBzcGVjaWZpYwoJICBzaGFkZXIgaW4gR3N0R0xDb2xvckNvbnZlcnQuIEFsc28gdXNlIEdMTWVtb3J5IGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIEdMIHVwbG9hZCBtZXRhLCBhdm9pZGluZyBhbiBleHRyYSB0ZXh0dXJlIGNvcHkgd2UgdXNlZCB0byBoYXZlIGJlZm9yZS4KCjIwMTUtMDEtMjggMDA6NTM6NTkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBDTUJsb2NrQnVmZmVyUmVmIGxlYWsKCSAgRml4IGh1Z2UgbGVhayB0aGF0IHdlbnQgdW5ub3RpY2VkIGZvciB0b28gbG9uZy4gT29wcy4KCjIwMTUtMDEtMjggMDA6NDg6MjcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGxpYmdzdGdsOiBydW4gYSBjdXN0b20gc2hhZGVyIHRvIGNvbnZlcnQgWVVWIHRvIFJHQiBvbiBtYWMgYW5kIGlvcwoJICBXaGVuIEdMX0FQUExFX3ljYmNyXzQyMiBpcyBhdmFpbGFibGUsIHJ1biBhIGN1c3RvbSBzaGFkZXIgdG8gY29udmVydAoJICBHTF9URVhUVVJFX1JFQ1RBTkdMRSB0ZXh0dXJlcyBmcm9tIFlVViB0byBSR0IuCgkgIFNlZSBodHRwczovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5L3NwZWNzL0FQUExFL3ljYmNyXzQyMi50eHQKCjIwMTUtMDEtMjggMDA6NDM6MDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCBjYWxsIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3Mgd2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcKCSAgV2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcgd2UgZG9uJ3QgbmVlZCB0byBjYWxsIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MgdG8KCSAgbWFwIHRoZSBidWZmZXIgaW4gQ1BVLiBUaGlzIGN1dHMgYWJvdXQgMTAlIHJlbGF0aXZlIGNwdSB0aW1lIGZyb20gYSB2dGRlYyAhCgkgIGdsaW1hZ2VzaW5rIHBpcGVsaW5lLgoKMjAxNS0wMS0yOCAwMDoxMzo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsOiBpbml0aWFsIHN1cHBvcnQgZm9yIHRleHR1cmUgdGFyZ2V0cyBvdGhlciB0aGFuIEdMX1RFWFRVUkVfMkQKCSAgTWFrZSBHc3RHTE1lbW9yeSBob2xkIHRoZSB0ZXh0dXJlIHRhcmdldCAodGV4X3RhcmdldCkgdGhlIHRleHR1cmUgaXQgcmVwcmVzZW50cwoJICAodGV4X2lkKSBpcyBib3VuZCB0by4gTW9kaWZ5IGdzdF9nbF9tZW1vcnlfd3JhcHBlZF90ZXh0dXJlIGFuZAoJICBnc3RfZ2xfZG93bmxvYWRfcGVyZm9ybV93aXRoX2RhdGEgdG8gdGFrZSB0aGUgdGV4dHVyZSB0YXJnZXQgYXMgYW4gYXJndW1lbnQuCgkgIFRoaXMgY2hhbmdlIGlzIG5lZWRlZCB0byBzdXBwb3J0IHdyYXBwaW5nIHRleHR1cmVzIGNyZWF0ZWQgb3V0c2lkZSBsaWJnc3RnbCwKCSAgd2hpY2ggbWlnaHQgYmUgYm91bmQgdG8gYSB0YXJnZXQgb3RoZXIgdGhhbiBHTF9URVhUVVJFXzJELiBGb3IgZXhhbXBsZSBvbiBPU1gKCSAgdGV4dHVyZXMgY29taW5nIGZyb20gVmlkZW9Ub29sYm94IGhhdmUgdGFyZ2V0IEdMX1RFWFRVUkVfUkVDVEFOR0xFLgoJICBXaXRoIHRoaXMgY2hhbmdlIHdlIHN0aWxsIGtlZXAgKGFuZCBzb21ldGltZXMgaW1wbHkpIEdMX1RFWFRVUkVfMkQgYXMgdGhlCgkgIHRhcmdldCBvZiB0ZXh0dXJlcyBjcmVhdGVkIHdpdGggbGliZ3N0Z2wuCgkgIEFQSTogbW9kaWZ5IEdzdEdMTWVtb3J5CgkgIEFQSTogbW9kaWZ5IGdzdF9nbF9tZW1vcnlfd3JhcHBlZF90ZXh0dXJlCgkgIEFQSTogZ3N0X2dsX2Rvd25sb2FkX3BlcmZvcm1fd2l0aF9kYXRhCgoyMDE1LTAxLTIyIDEzOjE4OjIzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnc3RnbGNvbG9yY29udmVydDogbWljcm8gb3B0aW1pemF0aW9uCgkgIERvbid0IGNhbGwgZ2xDbGVhciAmJiBnbENsZWFyQ29sb3IgYXQgZWFjaCBkcmF3IHNpbmNlIHdlJ3JlIGdvaW5nIHRvIGRyYXcgdGhlCgkgIHdob2xlIHZpZXdwb3J0IGFueXdheS4gR2V0cyByaWQgb2YgYSBnbEZsdXNoIHRyaWdnZXJlZCBieSBnbENsZWFyIG9uIE9TWC4KCjIwMTUtMDEtMjIgMTM6MTc6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogbWFrZSBtYXBwaW5nIHRoZSBDVlBpeGVsQnVmZmVyIGluIENQVSBvcHRpb25hbAoJICBNYXBwaW5nIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGltcGFjdHMgcGVyZm9ybWFuY2Ugd2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcgd2l0aAoJICBkb3duc3RyZWFtCgoyMDE1LTAxLTIyIDEzOjExOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnc3RnbGNvbG9yY29udmVydDogcmVsYXggY2FwcyBmZWF0dXJlcyBjaGVjawoJICBSZXF1aXJlIGNhcHMgdG8gaGF2ZSB0aGUgR1NUX0NBUFNfRkVBVFVSRV9NRU1PUllfR0xfTUVNT1JZIGZlYXR1cmUgYnV0IGFsbG93CgkgIHRoZW0gdG8gaGF2ZSBtb3JlIGZlYXR1cmVzLgoKMjAxNS0wMS0yOCAxNjo0Mzo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogY2hhbmdlIGF1ZGlvIHByb3BlcnR5IHRvIGF1ZGlvLXR5cGUKCSAgVGhpcyBpcyBub3cgYW4gZW51bSB3aXRoIHZhbHVlcyBnZW5lcmljIChkZWZhdWx0KSBhbmQgdm9pY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4OTEKCjIwMTUtMDEtMjkgMjM6NDU6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogZml4dXAgY29tcGlsYXRpb24KCjIwMTUtMDEtMjkgMTE6NTQ6MzUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgZG91YmxlLXNldHRpbmcgb2YgcmVuZGVyIGZ1bmN0aW9uCgkgIE5vIG5lZWQgdG8gc2V0IHRoZSBhdWRpb3Zpc3VhbGl6ZXItPnJlbmRlciBmdW5jdGlvbiB0d2ljZS4gT25jZSBpcyBlbm91Z2guCgoyMDE1LTAxLTI5IDIyOjI1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBtYWtlIHNob3dpbmcgYSB3aW5kb3cgZXhwbGljaXQKCSAgQWxzbyBmaXhlcyB0aGUgY2dsIGNvbnRleHQgYWx3YXlzIGRpc3BsYXlpbmcgYSB3aW5kb3cgdG8gcmVuZGVyIHRvIGZvcgoJICBldmVyeSBHc3RHTENvbnRleHRDb2NvYSBjcmVhdGVkCgoyMDE1LTAxLTI2IDE3OjA2OjI5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENsZWFudXAgbG9ja2luZyBhcm91bmQgQWdncmVnYXRvclBhZCBmbHVzaCByZWxhdGVkIGZpZWxkcwoJICBBbmQgZG9jdW1lbnQgdGhlIGxvY2tpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMzoxMTowNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBrZWVwIGNoYWluIGZ1bmN0aW9ucyBhcyBkdW1iIGFzIHBvc3NpYmxlLgoJICArIEEgcGFkIGNoYWluIGZ1bmN0aW9uIGhhcyBubyBidXNpbmVzcyBjaGVja2luZyBvdGhlciBwYWRzLAoJICB0aGF0J3Mgd2hhdCB0aGUgYWdncmVnYXRlIHRocmVhZCBpcyBmb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6MzI6NDcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNb3JlIGZpeGVzIGFyb3VuZCBsb2NraW5nIHdoZW4gYWNjZXNzaW5nIHByb3RlY3RlZCBwcml2YXRlIGZpZWxkcwoJICBJbiBzb21lIG1vcmUgcGxhY2VzIHdlIHdlcmUgYWNjZXNzaW5nIEdzdEFnZ3JlZ2F0b3ItPnNlZ21lbnQKCSAgYW5kIEdzdEFnZ3JlZ2F0b3ItPnNlcW51bSB3aXRob3V0IGhvbGRpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjI5OjA4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBNYWtlIHRoZSBQQURfTE9DSyBwcml2YXRlCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSyB3ZSBzaG91bGQgaGF2ZQoJICBhIGRlZGljYXRlZCBtdXRleCBmb3IgdGhlIHBhZCBhcyBpdCBpcyBhbHNvIGFzc29jaWF0ZWQKCSAgd2l0aCB0aGUgbXV0ZXggb24gdGhlIEVWRU5UX01VVEVYIG9uIHdoaWNoIHdlIHdhaXQKCSAgaW4gdGhlIF9jaGFpbiBmdW5jdGlvbiBvZiB0aGUgcGFkLgoJICBUaGUgR3N0QWdncmVnYXRvclBhZC5zZWdtZW50IGlzIHN0aWxsIHByb3RlY3RlZCB3aXRoIHRoZQoJICBHU1RfT0JKRUNUX0xPQ0suCgkgIFJlbW92ZSB0aGUgZ3N0X2FnZ3JlZ2F0b3JfcGFkX3BlYWtfdW5sb2NrZWQgbWV0aG9kIGFzIGl0IGRvZXMgbm90IG1ha2UKCSAgc2Vuc2UgYW55bW9yZSB3aXRoIGEgcHJpdmF0ZSBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjI1OjU0ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIaWRlIEdzdEFnZ3JlZ2F0b3JQYWQgYnVmZmVyIGFuZCBFT1MgZmlsZWRzCgkgIEFuZCBhZGQgYSBnZXR0ZXIgZm9yIHRoZSBFT1MuCgkgIFRoZSB1c2VyIHNob3VsZCBhbHdheXMgdXNlIHRoZSB2YXJpb3VzIGdldHRlcnMgdG8gYWNjZXNzCgkgIHRob3NlIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjA5OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIGZsdXNoIHN0YXJ0L3N0b3AgdGVzdCBub24tcmFjeQoJICBUaGUgZmx1c2ggc3RvcCBjb3VsZCBoYXZlIGhhcHBlbmVkIGJldHdlZW4gdGhlIHNvdXJjZSB0cnlpbmcKCSAgdG8gcHVzaCB0aGUgc2VnbWVudCBldmVudCBhbmQgdGhlIGJ1ZmZlciwgdGhpcyB3b3VsZCBjYXVzZSBhIHdhcm5pbmcuCgkgIFByZXZlbnQgdGhhdCBieSB0YWtpbmcgdGhlIHNvdXJjZSdzIHN0cmVhbSBsb2NrIHdoaWxlIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIyIDE3OjQxOjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZXBsYWNlIHJhY3kgdGltZW91dCBiYXNlZCB0ZXN0ZWQgd2l0aCBkcmFpbiBxdWVyeQoJICBVc2luZyB0aGUgZHJhaW4gcXVlcnksIHdlIGNhbiBiZSBjZXJ0YWluIHRoYXQgdGhlIGJ1ZmZlciBoYXMgZG9uZSBnb2luZwoJICB0aHJvdWdoIHRoZSBhZ2dyZWdhdG9yIGJ5IHRha2luZyB0aGUgc3RyZWFtIGxvY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQxOjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIG9mIEdzdEFnZ3JlZ2F0b3JQcml2YXRlIG1lbWJlcnMKCSAgTW9zdCBvZiB0aGVtIGFyZSBwcm90ZWN0ZWQgYnkgdGhlIG9iamVjdCBsb2NrLCBzcGVjaWZ5CgkgIHdoaWNoIG9uZXMgdXNlIGEgZGlmZmVyZW50IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGhvdyB0aGUgc2VnbWVudCBpcyBwcm90ZWN0ZWQKCSAgRG9jdW1lbnQgdGhhdCBpdCBjYW4gb25seSBiZSBhY2Nlc3NlZCB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTo0NDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBhbGwgbGF0ZW5jeSByZWxhdGVkIG1lbWJlcnMgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhlIGxvY2tpbmcgd2FzIG5vdCBjb25zaXN0ZW50LCBub3cgY29uc2lzdGVudGx5IHVzZSB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6NDM6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIGZvciBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpCgkgIFJlbmFtZWQgaXQgdG8gX3VubG9ja2VkKCkgdG8gbWFrZSBpdCBjbGVhci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozNToyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCB0aGUgc3JjcGFkIGNhcHMgbmVnb3RpYXRpb24gd2l0aCB0aGUgc3RyZWFtIGxvY2sKCSAgSW5zdGVhZCBvZiBhZGRpbmcgYW5vdGhlciBsb2NrLCB1c2UgdGhlIHNyY3BhZCBzdHJlYW0gbG9jaywgd2hpY2ggaXMgYWxyZWFkeQoJICB0YWtlbiBhbnl3YXkgdG8gcHVzaCBvdXQgdGhlIG5ldyBjYXBzIGlmIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozMzoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCB0aGUgdGFncyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGUgdGFncyByZWxhdGVkIHZhcmlhYmxlcyB3ZXJlIHNvbWV0aW1lcyBwcm90ZWN0ZWQsIHNvbWV0aW1lcyBub3QgYW5kCgkgIHNvbWV0aW1lcyBhdG9taWMuIFB1dCB0aGVtIGFsbCB1bmRlciB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzI6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEF2b2lkIHJhY2UgaW4gY2FwcyBuZWdvdGlhdGlvbgoJICBXaXRoIHRoZSBjdXJyZW50IGF1ZGlvbWl4ZXIsIHRoZSBpbnB1dCBjYXBzIG5lZWQgdG8gYmUgdGhlIHNhbWUsCgkgIG90aGVyd2lzZSB0aGVyZSBpcyBhbiB1bmF2b2lkYWJsZSByYWNlIGluIHRoZSBjYXBzIG5lZ290aWF0aW9uLiBTbwoJICBlbmZvcmNlIHRoYXQgdXNpbmcgY2Fwc2ZpbHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo1MzoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ29uc2lzdGVubHkgbG9jayB0aGUgZmxvd19yZXR1cm4gc3RhdGUKCSAgVXNlIHRoZSBvYmplY3QncyBsb2NrIHRvIHByb3RlY3QgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDc6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IENsZWFyIEdzdEF1ZGlvSW5mbyB0aGUgdGhlIGNhcHMKCSAgV2hlbiBjbGVhcmluZyB0aGUgY2FwcywgYWxzbyBjbGVhciB0aGUgbWF0Y2hpbmcgR3N0QXVkaW9JbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDU6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnNpc3RlbnRseSBsb2NrIHNvbWUgbWVtYmVycwoJICBTb21lIG1lbWJlcnMgc29tZXRpbWVzIHVzZWQgYXRvbWljIGFjY2Vzcywgc29tZXRpbWVzIHdoZXJlIG5vdCBsb2NrZWQgYXQKCSAgYWxsLiBJbnN0ZWFkIGNvbnNpc3RlbnRseSB1c2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZW0sIGFsc28gZG9jdW1lbnQKCSAgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODozOToyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9uJ3QgcmVzZXQgY2FwcyBvbiBmbHVzaAoJICBBIGZsdXNoIGV2ZW50IGRvZXNuJ3QgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgY2FwcyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDo0NTowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBMb2NrIGFjY2VzcyB0byBtZW1iZXJzIG9mIEdzdEFnZ3JlZ2F0b3JQYWQKCSAgVGFrZSB0aGUgcGFkJ3Mgb2JqZWN0IGxvY2sgYmVmb3JlIGFjY2Vzc2luZyBtZW1iZXJzIG9mIHRoZQoJICBHc3RBZ2dyZWdhdG9yUGFkIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDozODowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGV4cG9ydGVkIHBhZCBtZW1iZXJzIHdpdGggdGhlIHBhZCdzIG9iamVjdCBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6MzU6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBSZXBsYWNlIGV2ZW50IGxvY2sgd2l0aCBwYWQncyBvYmplY3QgbG9jawoJICBSZWR1Y2UgdGhlIG51bWJlciBvZiBsb2NrcyBzaW1wbGlmeSBjb2RlLCB3aGF0IGlzIHByb3RlY3RzCgkgIGlzIGV4cG9zZWQsIGJ1dCB0aGUgbG9jayB3YXMgbm90LgoJICBBbHNvIG1lYW5zIGFkZGluZyBhbiBfdW5sb2NrZWQgdmVyc2lvbiBvZiBnc3RfYWdncmVnYXRvcl9wYWRfc3RlYWxfYnVmZmVyKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMDkgMjI6MDE6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgZGF0YSB3aXRoIHRoZSBzYW1lIG11dGV4IGFzIEdDb25kCgkgIFdoZW5ldmVyIGEgR0NvbmQgaXMgdXNlZCwgdGhlIHNhZmVzdCBwYXJhZGlnbSBpcyB0byBwcm90ZWN0CgkgIHRoZSB2YXJpYWJsZSB3aGljaCBjaGFuZ2UgaXMgc2lnbmFsbGVkIGJ5IHRoZSBHQ29uZCB3aXRoIHRoZSBzYW1lCgkgIG11dGV4IHRoYXQgdGhlIEdDb25kIGRlcGVuZHMgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjkgMDI6Mjg6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBJZiBnZXR0aW5nIGEgdGltZW91dCBiZWZvcmUgaGF2aW5nIGNhcHMsIGp1c3QgYWR2YW5jZSBvdXIgcG9zaXRpb24KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoaXMgaXMgYSBsaXZlIHBpcGVsaW5lIGFuZCBubyBzb3VyY2UgcHJvZHVjZWQgYW55IGJ1ZmZlcgoJICBhbmQgc2VudCBubyBjYXBzIHVudGlsIGFuIG91dHB1dCBidWZmZXIgc2hvdWxkJ3ZlIGJlZW4gcHJvZHVjZWQgYWNjb3JkaW5nIHRvIHRoZQoJICBsYXRlbmN5LgoJICBUaGlzIGZpeCBpcyBzaW1pbGFyIGluIHNwaXJpdCB0byBjb21taXQgYmU3MDM0ZDEgYnkgU2ViYXN0aWFuIGZvciBhdWRpb21peGVyLgoKMjAxNS0wMS0yOSAxNzozMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jYWxheWVyOiBhZGQgcmVzaXplIGNhbGxiYWNrIGJhc2VkIG9uIHRoZSBib3VuZHMgcmVjdGFuZ2xlCgoyMDE1LTAxLTI5IDE1OjI2OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IGRyYXcgYXN5bmNocm9ub3VzbHkKCSAgVGhpcyBlc3NlbnRpYWxseSBtYWtlcyB0aGUgQ0FPcGVuR0xMYXllciBkcmF3IGV2ZXJ5IHJlZnJlc2ggY3ljbGUuCgoyMDE1LTAxLTI4IDE3OjU5OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvbid0IHNlZ2ZhdWx0IGlmIHdlIGhhdmUgYSBOVUxMIGRyYXcvcmVzaXplL2Nsb3NlIGNhbGxiYWNrCgoyMDE1LTAxLTI4IDE3OjE2OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGNnbC9jYWxheWVyOiB1c2UgYSBjYWxsYmFjayBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdGhlIGRyYXcgZnVuY3Rpb25hbGl0eQoKMjAxNS0wMS0yOCAxNzoxMzowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBjZ2w6IGluc3RhbGwgdGhlIGdsIGNvbnRleHQgYW5kIGdsIGxheWVyIGhlYWRlcnMKCjIwMTUtMDEtMjggMTc6MDU6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBjZ2w6IGFkZCBhIGhlYWRlciBmb3IgdGhlIENBT3BlbkdMTGF5ZXIgc3VwcG9ydAoKMjAxNS0wMS0yOCAxNzowMjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBbHdheXMgbG9jayB0aGUgbXV0ZXggYmVmb3JlIHN0YXJ0aW5nIHRoZSBzdHJlYW1zCgoyMDE1LTAxLTI4IDE2OjU4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEZpeCBkZWFkbG9jawoKMjAxNS0wMS0yOCAxNTo0ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNpbms6IE9ubHkgc3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIG9uY2UgYm90aCBzb3VyY2VzIGFyZSByZWFkeSBhbmQgd2UgYXJlIGluIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXJ0IHRoZSBzY2hlZHVsZWQgcGxheWJhY2sgYmVmb3JlIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW1zIGFyZQoJICBhY3R1YWxseSBlbmFibGVkLCBhbmQgdGhlbiBlcnJvciBvdXQgbGF0ZXIgYmVjYXVzZSB0aGV5IGFyZSBlbmFibGVkIHRvIGxhdGUuCgkgIFdlIGVuYWJsZSB0aGUgc3RyZWFtcyB3aGVuIGdldHRpbmcgdGhlIGNhcHMsIHdoaWNoIG1pZ2h0IGJlICphZnRlciogd2Ugd2VyZQoJICBzZXQgdG8gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDEtMjggMTU6MjY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogT25seSBzdGFydCB0aGUgc3RyZWFtcyBvbmNlIGJvdGggc291cmNlcyBhcmUgcmVhZHkgYW5kIHdlIGFyZSBpbiBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGFydCB0aGUgc3RyZWFtcyBiZWZvcmUgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbXMgYXJlCgkgIGFjdHVhbGx5IGVuYWJsZWQsIGFuZCB0aGVuIGVycm9yIG91dCBsYXRlciBiZWNhdXNlIHRoZXkgYXJlIGVuYWJsZWQgdG8gbGF0ZS4KCSAgV2UgZW5hYmxlIHRoZSBzdHJlYW1zIHdoZW4gZ2V0dGluZyB0aGUgY2Fwcywgd2hpY2ggbWlnaHQgYmUgKmFmdGVyKiB3ZSB3ZXJlCgkgIHNldCB0byBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMS0yOCAxNDoyMTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IE1ha2Ugc3VyZSBvdXIgY2xvY2sgbmV2ZXIgcmV0dXJucyBOT05FLCBhbHdheXMgYWR2YW5jZXMgYW5kIGRvZXMgbm90IGp1bXAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBQTEFZSU5HCgkgIEl0IGJhc2ljYWxseSBiZWhhdmVzIHRoZSBzYW1lIGFzIHRoZSBhdWRpbyBjbG9ja3MuCgoyMDE1LTAxLTI4IDEyOjIwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEhhbmRsZSB0aGUgY2xvY2sgcmV0dXJuaW5nIEdTVF9DTE9DS19USU1FX05PTkUgcHJvcGVybHkKCjIwMTUtMDEtMjggMTE6NDE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW97c2luayxzcmN9OiBNYWtlIGVsZW1lbnRzIG1vcmUgc2ltaWxhciB0byB0aGUgYXVkaW8gZWxlbWVudHMgYnkgZW5hYmxpbmcgdGhlIHZpZGVvIGlucHV0L291dHB1dCBvbmx5IHdoZW4gZ2V0dGluZyB0aGUgYWN0dWFsIGNhcHMKCSAgVGhpcyB3aWxsIGFsc28gbWFrZSBpdCBlYXNpZXIgbGF0ZXIgdG8gc3VwcG9ydCBjYXBzIGNoYW5nZXMgYW5kIHN1cHBvcnQKCSAgc2VsZWN0aW5nIHRoZSBtb2RlIGJhc2VkIG9uIHRoZSBjYXBzIGlmIHRoYXQgc2hvdWxkIGV2ZXIgYmUgaW1wbGVtZW50ZWQuCgoyMDE1LTAxLTI2IDE5OjAyOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBQcm9wZXJseSByZXBvcnQgY2FwcyBpZiBtb2RlIT1hdXRvIGFuZCBoYW5kbGUgY2FwcyBjaGFuZ2VzIHByb3Blcmx5IGZvciBtb2RlPWF1dG8KCjIwMTUtMDEtMjYgMTg6Mjc6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHJlbGVhc2UgaW5wdXQgZGV2aWNlIHR3aWNlIG9uIGVycm9ycyBpbiBzZXRfY2FwcygpCgoyMDE1LTAxLTI3IDExOjI1OjUzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogZml4IGJ1aWxkCgkgIENvbW1pdCBhYjQ4YmI2ZjBmNTUwOTE2NjJlNTk1YTAwMWUxNzgxNTRjZTYwY2RiIGNoYW5nZWQgdGhlIEFQSSBvZgoJICBHc3RHTFdpbmRvdy4KCjIwMTUtMDEtMjcgMTQ6NTI6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogbW9yZSBjb21wYXRpYmlsaXR5IGRlZmluZXMgZm9yIGdsZXMyIHN5c3RlbXMKCjIwMTUtMDEtMjcgMTI6MTU6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IGFkZCBzb21lIHRocmVhZCBzYWZldHkgZm9yIGdsIG9wZXJhdGlvbnMKCjIwMTUtMDEtMjcgMTE6NTM6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IHVzZSBwYm8ncyBmb3IgZG93bmxvYWQKCSAgSW4gb3JkZXIgdG8gdXNlIHBibydzIGVmZmljaWVudGx5LCB0aGUgdHJhbnNmZXIgb3BlcmF0aW9uIGhhcyB0bwoJICBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgdXNlIG9mIHRoZSBkb3dubG9hZGVkIGRhdGEgd2hpY2ggcmVxdWlyZXMgc29tZQoJICByZWFyY2hpdGVjdHVyaW5nIGFyb3VuZCBnbGNvbG9yY29udmVydC9nbGRvd25sb2FkIGFuZCBlbGVtZW50cwoKMjAxNS0wMS0yNyAxMTowNDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHNvbWUgKHVuKW1hcCBidWZmZXIgdmFyaWFudHMgZm9yIEdML0dMRVMKCjIwMTUtMDEtMjYgMTc6NTE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB1c2UgYXVkaW9fJTAydSBhbmQgdmlkZW9fJTAydSBuYW1lcyBmb3IgcGFkcwoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IGdob3N0cGFkJXUgbmFtaW5nLiBUaGUgYXVkaW9fL3ZpZGVvXwoJICBuYW1lcyBhcmUgbW9yZSBjb21tb24gaW4gZGVtdXhlcnMKCjIwMTUtMDEtMjYgMTU6MzM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IFJlbGVhc2UgdGhlIGF1ZGlvIGlucHV0IG9uIGVycm9ycywgbm90IHRoZSB2aWRlbyBpbnB1dAoKMjAxNS0wMS0yNiAxMzo0Njo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZQoJICBUaGUgYnBzIHZhcmlhYmxlIGlzIGRlY2xhcmVkIHdpdGggdmFsdWUgYWlmZi0+YnBzLCByZWFkIG9uY2UgYW5kIG5ldmVyIHdyaXR0ZW4uCgkgIGFpZmYtPmJwcyBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbnN0ZWFkLgoKMjAxNS0wMS0yNiAxMjo0OTo0NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCB3aGljaCBzdG9wIHZhcmlhYmxlIGlzIHVzZWQgaW4gYXNzaWdubWVudAoJICBBc3NpZ25tZW50IGlzIGRvbmUgdG8gdmFyaWFibGUgc2VnbWVudC5zdG9wIHdoZW4gdGhlIGludGVudGlvbiB3YXMgdG8gYXNzaWduIHRvCgkgIGxvY2FsIHZhcmlhYmxlIHN0b3AuIEluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgaXQsIHRoZSB2YWx1ZSBpcyBub3cgY2xhbXBlZCBhbmQKCSAgc2VnbWVudC5zdG9wIGlzIHNldCB0byBpdCBzb29uIGFmdGVyLgoJICBDSUQgIzEyNjU3NzIKCjIwMTUtMDEtMjYgMDk6MjI6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNyYXNoIHdoZW4gcmVjZWl2aW5nIGJ1ZmZlciB3aXRob3V0IHRpbWVzdGFtcHMKCSAgVW5zZXQgb3V0IGJ1ZmZlciBpbiBjbGlwIGZ1bmN0aW9uIHdoZW4gd2UgdW5yZWYgdGhlIGJ1ZmZlciB0byBiZQoJICBjbGlwcGVkLCBvdGhlcndpc2UgYWdncmVnYXRvciB3aWxsIGNvbnRpbnVlIHRvIHVzZSB0aGUgYWxyZWFkeS0KCSAgZnJlZWQgYnVmZmVyLiBGaXhlcyBjcmFzaCB3aGVuIGJ1ZmZlcnMgd2l0aG91dCB0aW1lc3RhbXBzIGFyZQoJICBiZWluZyBmZWQgdG8gYWdncmVnYXRvci4gUGFydGx5IGJlY2F1c2UgYWdncmVnYXRvciBpZ25vcmVzIHRoZQoJICBlcnJvciBmbG93IHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzMzNAoKMjAxNS0wMS0xOCAxODowNTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgUmVtb3ZlIHVucG9ydGVkIGRpcmVjdGRyYXcgcGx1Z2luCgkgIFRoaXMgQVBJIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGV0ZXJuaXRpZXMgYW5kIG1pY3Jvc29mdAoJICBzdG9wcGVkIHNoaXBwaW5nIHRoZSBoZWFkZXJzIGluIDIwMTAgYWNjb2RpbmcgdG8gd2lraXBlZGlhLAoJICBzbyBsZXQncyBqdXN0IHJlbW92ZSBpdCBhbmQgZm9jdXMgb24gYnJpbmdpbmcgdGhlIHBsdWdpbnMKCSAgYmFzZWQgb24gdGhlIG5ld2VyIEFQSXMgdXAgdG8gc251ZmYuCgoyMDE0LTAzLTI2IDE3OjQzOjMzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiB3cml0ZSBwYWRkaW5nIGJ5dGUgYXQgZW5kIG9mIFNTTkQgY2h1bmsgaWYgbmVlZGVkCgkgIEFJRkYgY2h1bmtzIGFyZSBzdXBwb3NlZCB0byBiZSBldmVuIGFsaWduZWQuCgkgIEFsaWduaW5nIHRoZSBTU05EIGNodW5rIHdpbGwgYWxsb3cgdGhlIGFpZmYgbXV4ZXIgdG8gcHJvcGVybHkgd3JpdGUKCSAgY2h1bmtzIChsaWtlIHRoZSBJRDMgb25lKSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAyCgoyMDE1LTAxLTIzIDEyOjQ0OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZyZWUgbGVha2VkIEdzdFN0cnVjdHVyZQoJICBDb3Zlcml0eSBDSUQgOiAxMjU2NTY1CgoyMDE1LTAxLTIzIDEyOjQxOjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IEVuc3VyZSB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBiZWZvcmUgdXNhZ2UKCSAgQ292ZXJpdHkgQ0lEOiAxMjU2NTY5CgoyMDE1LTAxLTIzIDEyOjI2OjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuYzoKCSAgY29kZWNwYXJzZXJzOiBJbmRlbnQgZmlsZQoJICBTb21lb25lJ3MgYmVlbiBjb21taXRpbmcgd2l0aG91dCB1c2luZyBnc3QtaW5kZW50IDopCgoyMDE1LTAxLTIzIDEyOjI0OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIFJFQURfVUVfTUFYIG1hY3JvCgkgIFJFQURfVUVfQUxMT1dFRCB3YXMgYWxtb3N0IGV4Y2x1c2l2ZWx5IHVzZWQgd2l0aCBtaW4gPT0gMCwgd2hpY2ggZG9lc24ndAoJICBtYWtlIG11Y2ggcG9pbnQgZm9yIHVuc2lnbmVkIGludGVnZXJzLgoJICBBZGQgYSBSRUFEX1VFX01BWCB2YXJpYW50IGFuZCB1c2UgdGhhdCBpbnN0ZWFkLiBBbHNvIHJlcGxhY2VkIHR3byB1c2FnZXMKCSAgb2YgQ0hFQ0tfQUxMT1dFRCAoYSwwLHNvbWV0aGluZykgYnkgQ0hFQ0tfQUxMT1dFRF9NQVggKGEsIHNvbWV0aGluZykKCjIwMTUtMDEtMjMgMTI6Mjg6NDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IEdBUCBmbGFnIHNldHRpbmcgb24gbm9uLWJsYWNrIGZyYW1lcwoJICBUaGUgcHJldmlvdXMgY29tbWl0IGZpeGVkIHNldHRpbmcgdGhlIEdBUCBmbGFnIG9uIGJsYWNrIGZyYW1lcywgYnV0CgkgIGluY29ycmVjdGx5IGRyb3BwZWQgdGhlIGZsYWcgb24gcmVwZWF0ZWQgcHVzaGVzIG9mIHRoZSBzYW1lIHZpZGVvCgkgIGJ1ZmZlci4KCjIwMTUtMDEtMjMgMTc6Mjc6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBnbHdpbmRvdyBhcGkgY2hhbmdlCgoyMDE1LTAxLTIzIDE2OjUyOjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL3dpbmRvdy9lYWdsOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MKCjIwMTUtMDEtMjMgMTY6Mzk6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogY2xlYW51cC9yZW9yZ2FuaXplIGZ1bmN0aW9ucy9tZW1iZXJzIGludG8gbG9naWNhbCBncm91cHMKCjIwMTUtMDEtMjMgMTU6MDI6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9yIGdzdGdsIGNvY29hIC0+IGNnbCBjaGFuZ2UKCjIwMTUtMDEtMjMgMTQ6MTg6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvY29jb2FfdXRpbHMubW06CgkgIGdsL3F0L2V4YW1wbGVzOiB1cGRhdGUgZm9yIE5TT3BlbkdMIC0+IENHTCBjaGFuZ2UKCjIwMTUtMDEtMjMgMTQ6MTE6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB3aWR0aC9oZWlnaHQgZnJvbSBfZHJhdygpCgkgIERlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0sIGl0IHdhcyBvbmx5IGV2ZXIgaW1wbGVtZW50ZWQgdG8gMSkgc2V0IGEKCSAgZGVmYXVsdCBzdXJmYWNlIHNpemUsIDIpIHJlc2l6ZSBiYXNlZCBvbiB0aGUgdmlkZW8gZnJhbWUgb3IgMykgbm90aGluZy4KCSAgSW5zdGVhZCwgcHJvdmlkZSBhIHNldF9wcmVmZXJyZWRfc2l6ZSAoKSB0aGF0IGVsZW1lbnRzL2FwcGxpY2F0aW9ucwoJICBjYW4gdXNlIHRvIHJlcXVlc3QgYSBjZXJ0YWluIHNpemUgd2hpY2ggbWF5IGJlIGlnbm9yZWQgZm9yCgkgIHZpZGVvb3ZlcmxheS9vdGhlciBjYXNlcy4KCjIwMTUtMDEtMjIgMjE6NDM6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBhdm9pZCBkZXN0cm95aW5nIGEgcG9zc2libHkgMCBHU291cmNlIGlkCgoyMDE1LTAxLTIwIDIyOjAxOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbW92ZSB0byBDR0wgYW5kIENBT3BlbkdMTGF5ZXIgZm9yIHJlbmRlcmluZwoJICBSZW1vdmVzIHRoZSB1c2Ugb2YgTlNPcGVuR0wqIHZhcmlldHkgYW5kIGZ1bmN0aW9ucy4gIEFueSBDb2NvYQoJICBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCB0b29rL3JldHVybmVkIGEgTlNPcGVuR0wqIG9iamVjdCBub3cKCSAgdGFrZS9yZXR1cm4gdGhlIENHTCBlcXVpdmFsZW50cy4KCjIwMTUtMDEtMjIgMTY6MDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBhZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTUtMDEtMjIgMTA6NTA6MjMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IEdBUCBmbGFnIHNldHRpbmcgb24gYmxhY2sgZnJhbWVzIGNvcnJlY3RseQoJICBUaGlzIGRpZCBub3QgYWN0dWFsbHkgd29yayBzaW5jZSB0aGUgdmlkZW9fYnVmZmVyIHdhcyBzZXQgdG8gTlVMTCBhZnRlcgoJICB0aGUgZmlyc3QgYmxhY2sgZnJhbWUuCgkgIFJlcG9ydGVkIGJ5OiBQYXRyaWsgT2xkc2JlcmcgPHBhdHJpay5vbGRzYmVyZ0Blcmljc3Nvbi5jb20+CgoyMDE1LTAxLTIxIDIzOjM3OjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBtYXggdmFsdWUgb2YgdGhlIHRpbWVvdXQgcHJvcGVydHkKCSAgUmVwb3J0ZWQgYnk6IFBhdHJpayBPbGRzYmVyZyA8cGF0cmlrLm9sZHNiZXJnQGVyaWNzc29uLmNvbT4KCjIwMTUtMDEtMjEgMjM6MzU6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IEltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZQoJICBXaWxsIGJlIHVzZWZ1bCB3aGVuIHdlIHdhbnQgdG8gc2V0IHByZXNldHMgb24gdGhlIGVuY29kZXIgdmlhIGVuY29kZWJpbgoJICBvciBzdWNoLgoKMjAxNS0wMS0yMSAxNTozMToyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN5bmMgd2l0aCBiYXNlIGNsYXNzIGluIC1iYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDEtMjEgMTU6MDY6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBlbnN1cmUgZGVmYXVsdCBxdWVyeS9ldmVudCBoYW5kbGVycyBhcmUgdXNlZAoJICBTeW5jIGF1ZGlvdmlzdWFsaXplciBjbGFzcyBpbXBsZW1lbnRhdGlvbiB0byB0aGUgb25lIGluIGdzdC1wbHVnaW5zLWJhc2UuIFRoaXMKCSAgY29tbWl0IG1hdGNoZXMgOWRkMGU2Y2NjYzk3MWQ4YTZiY2NhNGU5ZTRkMmVlMWRiYjIwZmZmYSBpbiB0aGF0IG1vZHVsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wMS0yMSAxMDoxODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkgIHNpcmVuOiBNYWtlIHNvbWUgbG9jYWwgdmFyaWFibGVzIG5vbi1zdGF0aWMgZm9yIHRocmVhZC1zYWZldHkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcnJpZGUgdmFsdWVzIGZyb20gYW5vdGhlciB0aHJlYWQgaWYgd2UgZW5jb2RlCgkgIG9yIGRlY29kZSBmcmFtZXMgYXQgdGhlIHNhbWUgdGltZSBpbiBkaWZmZXJlbnQgdGhyZWFkcy4KCjIwMTUtMDEtMjEgMTA6MTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgQ29uc3RpZnkgc29tZSBzdGF0aWMgYXJyYXlzIGV2ZXJ5d2hlcmUKCjIwMTUtMDEtMjEgMDg6NDk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IEZpeCBsaXN0IG9mIGZpbGVzIHRyYWNrZWQKCSAgc2ZzaW5rL3Nmc3JjIGhhdmVuJ3QgYmVlbiBwb3J0ZWQgKGFuZCB0aGVyZWZvcmUgZGlzdCdlZCkgaW4gMS54CgoyMDE0LTEyLTA5IDA5OjU4OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBtaW5vciBkZWJ1ZyB1cGRhdGUKCSAgT25seSBzaG93IFBUUy9EVFMgd2hlbiB0aGV5IGFyZSB2YWxpZCwgYW5kIGluY2x1ZGUgdGhlIHN0cmVhbSBpZAoKMjAxNS0wMS0yMCAxNDo1NTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3Qgc2tpcCB0aGUgZmlyc3QgZnJhZ21lbnQKCSAgQXZvaWQgYWR2YW5jaW5nIGZyYWdtZW50IHJpZ2h0IGFmdGVyIGRvd25sb2FkaW5nIHRoZSBoZWFkZXIuIElmIGl0CgkgIGlzIHRoZSBoZWFkZXIsIGJ5IGRlZmF1bHQsIGRvbid0IGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQuCgoyMDE1LTAxLTIwIDE2OjU3OjE1ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMyNTEKCjIwMTUtMDEtMTYgMTk6MzI6MTUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2Ugc3RlcmVvLWhpZ2ggcHJvZmlsZQoJICBFeHBvc2luZyBzdGVyZW8taGlnaCBwcm9maWxlIGFzIGEgY29tcGF0aWJsZSBwcm9maWxlIG9mIG11bHRpdmlldy1oaWdoCgkgIGlmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBlbmNvZGVkIHZpZXdzIGluIHRoZSBzdHJlYW0gaXMgdHdvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc0CgoyMDE1LTAxLTE5IDE3OjMxOjI2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGFyc2UgU1BTIHN1YnNldAoJICBUaGlzIHBhdGNoIGNhbGxzIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zdWJzZXRfc3BzKCkgd2hlbiBhCgkgIFNQUyBzdWJzZXQgTkFMIHR5cGUgaXMgZm91bmQuCgkgIEFsbCB0aGUgYml0cyByZXF1aXJlZCBmb3IgcGFyc2luZyB0aGUgU1BTIHN1YnNldCBpbiBOQUxzIHdlcmUKCSAgYWxyZWFkeSB0aGVyZSwganVzdCB3ZSBuZWVkIHRvIGNhbGwgdGhlbSB3aGVuIHRoZSB0aGlzIE5BTCB0eXBlCgkgIGlzIGZvdW5kLgoJICBXaXRoIHRoaXMgcGFyc2luZywgdGhlIG51bWJlciBvZiB2aWV3cyAobWludXMgMSkgYXR0cmlidXRlIGlzCgkgIGZpbGxlZCwgd2hpY2ggd2FzIGEgcmVxdWlyZW1lbnQgZm9yIG5lZ290aWF0aW5nIHRoZSBzdGVyZW8taGlnaAoJICBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc0CgoyMDEzLTAzLTE5IDE0OjIzOjAwICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE1WQyBOQUwgdW5pdHMuCgkgIEluaXRpYWwgc3VwcG9ydCBmb3IgTVZDIE5BTCB1bml0cy4gSXQgaXMgb25seSBuZWVkZWQgdG8gcHJvcGFnYXRlIHRoZQoJICBjb21wbGV0ZSBzZXQgb2YgTkFMIHVuaXRzIGRvd25zdHJlYW0gYXQgdGhpcyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MTM1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNS0wMS0yMCAwOToyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgZXhwbGljaXQgY2FzdCB0byBtYWtlIGNsYW5nIGhhcHB5CgkgIEZpeGVzIGNvbXBpbGF0aW9uCgoyMDE1LTAxLTE1IDE3OjQ0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVmYWN0b3IgY2h1bmsgZG93bmxvYWRpbmcgZmxvdwoJICBBZGQgbW9yZSBwb3dlciB0byB0aGUgY2h1bmtfcmVjZWl2ZWQgZnVuY3Rpb24gKHJlbmFtZWQgdG8gZGF0YV9yZWNlaXZlZCkKCSAgYW5kIGFsc28gdG8gdGhlIGZyYWdtZW50X2ZpbmlzaCBmdW5jdGlvbi4KCSAgVGhlIGRhdGFfcmVjZWl2ZWQgZnVuY3Rpb24gbXVzdCBwYXJzZS9kZWNyeXB0IHRoZSBkYXRhIGlmIG5lY2Vzc2FyeSBhbmQKCSAgYWxzbyBwdXNoIGl0IHVzaW5nIHRoZSBuZXcgcHVzaF9idWZmZXIgZnVuY3Rpb24gdGhhdCBpcyBleHBvc2VkIG5vdy4gVGhlCgkgIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZ2V0cyBkYXRhIGZyb20gdGhlIHN0cmVhbSBhZGFwdGVyIChhbGwgYXZhaWxhYmxlKQoJICBhbmQgcHVzaGVzIGl0LgoJICBUaGUgZnJhZ21lbnRfZmluaXNoIGZ1bmN0aW9uIG11c3QgYWxzbyBhZHZhbmNlIHRoZSBmcmFnbWVudC4gVGhlIGRlZmF1bHQKCSAgaW1wbGVtZW50YXRpb24gb25seSBhZHZhbmNlcyB0aGUgZnJhZ21lbnQuCgkgIFRoaXMgYWxsb3dzIHRoZSBzdWJzZWdtZW50IGhhbmRsaW5nIGluIGRhc2hkZW11eCB0byBjb250aW51b3VzbHkgZG93bmxvYWQKCSAgdGhlIHNhbWUgZmlsZSBmcm9tIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiBzdG9wcGluZyBhdCBldmVyeSBzdWJzZWdtZW50CgkgIGJvdW5kYXJ5IGFuZCBzdGFydGluZyBhIG5ldyByZXF1ZXN0CgoyMDE1LTAxLTE5IDEyOjM3OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmM6CgkgIGNvbXBvc2l0b3I6IGZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gYmxlbmQgZnVuY3Rpb24gd2l0aCBuZWdhdGl2ZSB5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMTUKCjIwMTUtMDEtMTkgMDg6Mzc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBsb2cgbWVzc2FnZSBhYm91dCBzZWdtZW50IHRpbWUgaW5mb3JtYXRpb24KCSAgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcwoKMjAxNS0wMS0xOSAwODozNjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbXVsdGktcGVyaW9kIHBsYXliYWNrCgkgIElmIHdlIHNheSBpdCBpcyB0aGUgZmlyc3Qgc2VnbWVudCBhZnRlciBhIG5ldyBwZXJpb2QgaXQgd2lsbCByZXN5bmMKCSAgdGhlIHNlZ21lbnQuc3RhcnQgdmFsdWUgYW5kIGFsbCBidWZmZXJzIHdpbGwgYmUgbGF0ZSBmb3IgdGhlIG5ldyBwZXJpb2QKCSAgd2UgYXJlIHRyeWluZyB0byBwbGF5LiBPdGhlcndpc2Ugd2Ugd2FudCB0byBrZWVwIHRoZSBzZWdtZW50LnN0YXJ0IHdpdGgKCSAgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGFsbG93IHRoZSBydW5uaW5nIHRpbWUgdG8gc21vb3RobHkgaW5jcmVhc2UKCjIwMTUtMDEtMTkgMTE6MjM6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZyB3aXRoIGNsYW5nCgkgIGdzdGRhc2hkZW11eC5jOjEzMzA6MTM6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnZW51bSBfR3N0QWRhcHRpdmVEZW11eEZsb3dSZXR1cm4nIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RGbG93UmV0dXJuJyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmV0ID0gR1NUX0FEQVBUSVZFX0RFTVVYX0ZMT1dfU1VCU0VHTUVOVF9FTkQ7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTUtMDEtMTggMjE6MDU6NDQgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggbWVtbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTQyCgoyMDE1LTAxLTE4IDE3OjI1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgUmVtb3ZlIHJlYWwgcGx1Z2luIHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQgYW5kIGhhcyBuZXZlciBiZWVuIHBvcnRlZAoJICBEZWNvZGVycyBmb3IgdGhlc2UgZm9ybWF0cyBleGlzdCBpbiBnc3QtbGliYXYsIGlmIGFueW9uZQoJICBzdGlsbCBoYXMgYSBuZWVkIGZvciB0aGVtLgoKMjAxNS0wMS0xOCAxNzoxMDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIGxpYmdteXRoLWJhc2VkIE15dGhUViBzb3VyY2UgZWxlbWVudCB3aGljaCB3YXMgbmV2ZXIgcG9ydGVkCgkgIGdteXRoIHNlZW1zIHRvIGJlIHVubWFpbnRhaW5lZCB1cHN0cmVhbSwgYW5kIG5vIG9uZSBoYXMgYXNrZWQKCSAgZm9yIHRoaXMgdG8gYmUgcG9ydGVkIGZvciBhIHZlcnkgbG9uZyB0aW1lLCBzbyBsZXQncyBqdXN0CgkgIHJlbW92ZSBpdC4gTmVpdGhlciBkZWJpYW4gbm9yIEZlZG9yYSBzZWVtIHRvIHNoaXAgbGliZ215dGgKCSAgYW55IGxvbmdlciwgYW5kIGluIGFueSBjYXNlIGl0J3MgbW9zdCBsaWtlbHkgZGVwcmVjYXRlZCBieQoJICB0aGUgVVBuUCBzdXBwb3J0IGluIE15dGhUVi4KCjIwMTUtMDEtMTcgMTA6MDY6NDAgKzExMDAgIExhc3NlIExhdXJzZW4gPGxhc3NlQGxhc3NlbGF1cnNlbi5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2xhcGk6IGZpeCBjb21waWxhdGlvbiB3aXRoIGxhdGVzdCBNU1ZDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwNDEKCjIwMTUtMDEtMTUgMTI6NTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdXNlIHRoZSBjb3JyZWN0IHNpemUgZm9yIHRoZSBwYm8KCSAgSXQgd2FzIG1pc3NpbmcgdGhlIEdzdFZpZGVvQWxpZ25tZW50IHBhZGRpbmcgd2hpY2ggY291bGQgY2F1c2UgR0wKCSAgZXJyb3JzIHJlbGF0ZWQgdG8gb3ZlcnJ1bm5pbmcgdGhlIHNpemUgb2YgdGhlIHBiby4KCjIwMTUtMDEtMTYgMTY6MTg6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcHJldmVudCBlYXJseSBFT1Mgd2hlbiBzd2l0Y2hpbmcgYXQgbGFzdCBmcmFnbWVudAoJICBDaGVjayBpZiB0aGVyZSBpcyBhIG5leHQgZnJhZ21lbnQgYmVmb3JlIGFkdmFuY2luZyB0byBhdm9pZCBjYXVzaW5nCgkgIGEgYml0cmF0ZSBzd2l0Y2ggKGFuZCBtYXliZSBleHBvc2luZyBuZXcgcGFkcykgb25seSB0byBwdXNoIEVPUy4KCSAgVGhpcyBjYXVzZXMgcGxheWJhY2sgdG8gc3RvcCB3aXRoIGFuIGVycm9yIGluc3RlYWQgb2YgcHJvcGVybHkKCSAgZmluaXNoaW5nIHdpdGggRU9TIG1lc3NhZ2UuCgoyMDE1LTAxLTEzIDE0OjIyOjAyICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggZGV0ZWN0aW9uIGZvciB0aGUgZW5kIG9mIHNlZ21lbnQuCgkgIFRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgb2Zmc2V0IGludG8gdGhlIGN1cnJlbnQgc2VnbWVudC4KCSAgVGhlIG9sZCBjb25kaXRpb24gdG8gZGV0ZWN0IHRoZSBlbmQgb2YgcGVyaW9kIChpLmUuIHNlZ21lbnQgc3RhcnQgdGltZSA+CgkgIHBlcmlvZCBzdGFydCArIHBlcmlvZCBkdXJhdGlvbikgZmFpbGVkIHdoZW4gdGhlIHBlcmlvZCBzdGFydCB3YXMgbm90IDAgc2luY2UKCSAgdGhlIHNlZ21lbnQgc3RhcnQgdGltZSBkb2VzIG5vdCB0YWtlIHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBpbnRvIGFjY291bnQuCgkgIEZpeCB0aGlzIGRldGVjdGlvbiBieSBvbmx5IGNvbXBhcmluZyB0aGUgc2VnbWVudCBzdGFydCB0byB0aGUgcGVyaW9kIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzY5CgoyMDE1LTAxLTE0IDIzOjExOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBzZWdtZW50IGF0dHJpYnV0ZQoJICBJdCB3YXMgbmV2ZXIgdXNlZCwgb25seSBpbml0aWFsaXplZAoKMjAxNS0wMS0xMiAxNzo0MDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBJU09CTUZGIHByb2ZpbGUgaGFuZGxpbmcKCSAgVGhlIElTT0JNRkYgcHJvZmlsZSBhbGxvd3MgZGVmaW5pbmQgc3Vic2VnbWVudHMgaW4gYSBzZWdtZW50LiBBdCB0aG9zZQoJICBzdWJzZWdtZW50IGJvdW5kYXJpZXMgdGhlIGNsaWVudCBjYW4gc3dpdGNoIGZyb20gb25lIHJlcHJlc2VudGF0aW9uIHRvCgkgIGFub3RoZXIgYXMgdGhleSBoYXZlIGFsaWduZWQgaW5kZXhlcy4KCSAgVG8gaGFuZGxlIHRob3NlIHRoZSAnc2lkeCcgaW5kZXggaXMgcGFyc2VkIGZyb20gdGhlIHN0cmVhbSBhbmQgdGhlCgkgIGVudHJpZXMgcG9pbnQgdG8gcHRzL29mZnNldCBvZiB0aGUgc2FtcGxlcyBpbiB0aGUgc3RyZWFtLiBLbm93aW5nIHRoYXQKCSAgdGhlIGVudHJpZXMgYXJlIGFsaWduZWQgaW4gdGhlIGRpZmZlcmVudCByZXByZXNlbnRhdGlvbiBhbGxvd3MgdGhlIGNsaWVudAoJICB0byBzd2l0Y2ggbWlkIGZyYWdtZW50LiBJbiB0aGlzIHByb2ZpbGUgYSBzaW5nbGUgZnJhZ21lbnQgaXMgdXNlZCBwZXIKCSAgcmVwcmVzZW50YXRpb24gYW5kIHRoZSBzdWJzZWdtZW50cyBhcmUgY29udGFpbmVkIGluIHRoaXMgZnJhZ21lbnQuCgkgIFRvIG5vdGlmeSB0aGUgc3VwZXJjbGFzcyBhYm91dCB0aGUgc3Vic2VnbWVudCBib3VuZGFyeSB0aGUgY2h1bmtfcmVjZWl2ZWQKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHNwZWNpYWwgZmxvdyByZXR1cm4gdGhhdCBpbmRpY2F0ZXMgdGhhdC4gSW4gdGhpcyBjYXNlLAoJICB0aGUgc3VwZXIgY2xhc3Mgd2lsbCBjaGVjayBpZiBhIG1vcmUgc3VpdGFibGUgYml0cmF0ZSBpcyBhdmFpbGFibGUgYW5kIHdpbGwKCSAgY2hhbmdlIHRvIHRoZSBzYW1lIHN1YnNlZ21lbnQgaW4gdGhpcyBuZXcgcmVwcmVzZW50YXRpb24uCgkgIEl0IGFsc28gcmVxdWlyZXMgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgcG9zaXRpb24gaW4gdGhlIHN0cmVhbSBhcyB0aGUKCSAgZnJhZ21lbnQgYWR2YW5jaW5nIGlzIG5vdyBkb25lIGJ5IGluY3JlbWVudGluZyB0aGUgaW5kZXggb2YgdGhlIHN1YnNlZ21lbnQuCgkgIEl0IHdpbGwgb25seSBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50IG9uY2UgYWxsIHN1YnNlZ21lbnRzIGhhdmUgYmVlbgoJICBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjQ4CgoyMDE1LTAxLTEyIDExOjU3OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5oOgoJICBkYXNoZGVtdXg6IHBhcnNlIHRoZSBzaWR4IGluZGV4IGZyb20gaXNvYm1mZiBzdHJlYW1zCgkgIEFsbG93cyBkYXNoZGVtdXggdG8gaWRlbnRpZnkgdGhlIHN1YnNlZ21lbnRzIGluIHRoZSBzdHJlYW0gYW5kCgkgIHN3aXRjaCBiaXRyYXRlcyB3aGVuIG5lZWRlZAoKMjAxNS0wMS0wOSAxNjo0MzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNoZWNrIGZvciBwcm9maWxlcwoJICBDaGVjayBmb3IgYXZhaWxhYmxlIHByb2ZpbGVzIHRvIGVuYWJsZSBjZXJ0YWluIGZlYXR1cmVzIGZvcgoJICBkYXNoIHBsYXliYWNrLiBGb3Igbm93IHdlIGNoZWNrIGZvciB0aGUgSVNPRkYgT24gRGVtYW5kIDIwMTEgcHJvZmlsZS4KCjIwMTUtMDEtMTMgMTA6MTY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYSBzcGVjaWFsIHJldHVybiB0byBzaWduYWwgc3Vic2VnbWVudCBib3VuZGFyeQoJICBUaGUgc3Vic2VnbWVudCBib3VuZGFyeSByZXR1cm4gdGVsbHMgdGhlIGFkYXB0aXZlZGVtdXggdGhhdCBpdCBjYW4KCSAgdHJ5IHRvIHN3aXRjaCB0byBhbm90aGVyIHJlcHJlc2VudGF0aW9uIGFzIHRoZSBzdHJlYW0gaXMgYXQgYSBzdWl0YWJsZQoJICBwb3NpdGlvbiBmb3Igc3RhcnRpbmcgZnJvbSBhbm90aGVyIGJpdHJhdGUuCgoyMDE1LTAxLTEzIDEwOjE1OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFjdHVhbGx5IHVzZSB0aGUgYnl0ZSByYW5nZSBmb3IgdGhlIGZyYWdtZW50IHVybAoJICBPdGhlcndpc2Ugd2Ugd291bGQgYWx3YXlzIGRvd25sb2FkIHRoZSBmdWxsIGZyYWdtZW50LiBUaGlzIHdvdWxkCgkgIG1ha2UgaGFuZGxpbmcgc3Vic2VnbWVudHMgaW4gREFTSCBpbXBvc3NpYmxlLgoKMjAxNS0wMS0xMyAxMDoxMzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGxvdyBkb3dubG9hZHMgb2YgaGVhZGVycyBvbmx5CgkgIEluIG9yZGVyIHRvIGdldCBzb21lIHN1YnNlZ21lbnQgaW5mb3JtYXRpb24sIHN1YmNsYXNzZXMgbWlnaHQgd2FudAoJICB0byBkb3dubG9hZCBvbmx5IHRoZSBoZWFkZXJzIHRvIGhhdmUgZW5vdWdoIGRhdGEgKHRoZSBpbmRleCkKCSAgdG8gZGVjaWRlIHdoZXJlIHRvIHN0YXJ0IGRvd25sb2FkaW5nIGZyb20gdGhlIHN1YnNlZ21lbnQuCgoyMDE1LTAxLTEyIDE4OjIyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlZmFjdG9yIGNvbW1vbiBjb2RlIHRvIGZ1bmN0aW9uCgkgIFJldXNlIHRoZSBzYW1lIGZ1bmN0aW9uIHdoZW4gZmluaXNoaW5nIGRvd25sb2FkaW5nIGFuZCBzaWduYWxpbmcgdG8KCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIGdldCB0aGUgbmV4dCBmcmFnbWVudCBvciBhYm9ydAoKMjAxNS0wMS0wOSAxNzoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGluZm9ybSBzdWJjbGFzcyB3aGVuIGhlYWRlcnMvaW5kZXggYXJlIGJlaW5nIGRvd25sb2FkZWQKCSAgVGhpcyBhbGxvd3MgdGhlIHN1YmNsYXNzZXMgdG8ga25vdyBpZiB0aGUgY2h1bmtzIHRoYXQgYXJlIGRvd25sb2FkZWQgYXJlCgkgIHBhcnQgb2YgdGhlIGhlYWRlciBvciBvZiB0aGUgaW5kZXggYW5kIHdpbGwgcGFyc2UgdGhlIHBhcnRzIHRoYXQgYXJlCgkgIG9mIHRoZWlyIGludGVyZXN0LgoKMjAxNS0wMS0xNSAxNjoxMToyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGEgZmV3IGxlYWsgZml4ZXMKCjIwMTUtMDEtMTUgMTM6MTY6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSAgZnJhZ21lbnQ6IGZpeCBjYXBzIGFuZCBidWZmZXIgbGVha3MgaW4gZ2V0X3Byb3BlcnR5CgoyMDE1LTAxLTE0IDE3OjQzOjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZnJhZ21lbnRzX2NhY2hlIGZpZWxkCgoyMDE1LTAxLTE0IDE2OjQyOjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGEgZmV3IGxlYWsgZml4ZXMKCjIwMTUtMDEtMTIgMjE6MjI6MDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkgIGJzMmI6IGltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZQoJICBJbnN0ZWFkIG9mIGEgcHJlc2V0IHByb3BlcnR5IGltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZSBpbiBhIHJlYWQtb25seQoJICBmYXNoaW9uLgoKMjAxNS0wMS0xMiAxMjoxMTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkgIGRvY3M6IGFkZCBuZXcgYnMyYiBwbHVnaW4gYW5kIGVsZW1lbnQKCjIwMTUtMDEtMTAgMjE6NDE6MTIgKzAxMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9iczJiL01ha2VmaWxlLmFtOgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkqIGV4dC9iczJiL2dzdGJzMmIuaDoKCSAgYnMyYjogYWRkIG5ldyBwbHVnaW4gKEVmZmVjdC9BdWRpbywgY3Jvc3NmZWVkKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjg5CgoyMDE1LTAxLTE1IDEzOjEzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBNYWtlIHN1cmUgdGhhdCBidWZmZXIgdGltZSBpcyBhbHdheXMgYmlnZ2VyIHRoYW4gcGVyaW9kIHRpbWUKCjIwMTUtMDEtMTUgMTI6NDk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWxzbyBjb25zaWRlciBtYXgtbGF0ZW5lc3MgcHJvcGVydHkgdmFsdWUgYmVmb3JlIGRyb3BwaW5nIGxhdGUgZnJhbWVzCgoyMDE1LTAxLTE1IDE0OjA5OjQzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICB2dGRlYzogaW1wbGVtZW50IHRoZSBHTCB0ZXh0dXJlIHVwbG9hZCBtZXRhCgoyMDE1LTAxLTA5IDAwOjE2OjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhdmZ2aWRlb3NyYzogaW1wbGVtZW50IHRoZSBHTCB0ZXh0dXJlIHVwbG9hZCBtZXRhCgoyMDE1LTAxLTE1IDA5OjQ3OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgdXBsb2FkIGlmIGFscGhhIDw9IDAKCSAgSW1wbGVtZW50ZWQgdXNpbmcgYSB1cGxvYWRfYnVmZmVyIHZmdW5jIHdpdGhpbiBHc3RHTE1peGVyIGFsbG93aW5nCgkgIE5VTEwgdXBsb2FkZWQgYnVmZmVycy4KCjIwMTUtMDEtMTUgMDk6NDU6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHNwdXJpb3VzIGdzdF92aWRlb19pbmZvX2FsaWduCgkgIFRoYXQgd2lsbCBiZSB0YWtlbiBjYXJlIG9mIGJ5IHRoZSBjYWxsaW5nIGNvZGUgKHR5cGljYWxseSBhIGJ1ZmZlcnBvb2wpLgoJICBUaGUgR3N0VmlkZW9BbGlnbm1lbnQgaXMgcHVyZWx5IGluZm9ybWF0aW9uYWwgdG8gY29tcHV0ZSBwbGFuZSBkYXRhIHNpemVzLgoKMjAxNS0wMS0xNCAyMzo0ODoxNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb2N1bWVudCB0aGUgem9yZGVyIHBhZCBwcm9wZXJ0eSBmcm9tIGdzdHZpZGVvYWdncmVnYXRvcgoKMjAxNS0wMS0xNCAyMzo0NzoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBOaXRwaWNrIHNwYWNpbmcvcHVuY3R1YXRpb24gaW4gZGVidWcgbG9nZ2luZwoKMjAxNS0wMS0xNCAxNjozMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBTdG9wIHNjaGVkdWxlZCBwbGF5YmFjayBzaG9ydGx5IGluIFBBVVNFRC0+UExBWUlORyBpZiBpdCB3YXMgcnVubmluZyBhbHJlYWR5CgkgIFRoaXMgZml4ZXMgaGFuZGxpbmcgb2YgZmx1c2hpbmcgc2Vla3MsIHdoZXJlIHdlIHdpbGwgZ2V0IGEgUEFVU0VELT5QTEFZSU5HCgkgIHN0YXRlIHRyYW5zaXRpb24gYWZ0ZXIgdGhlIHByZXZpb3VzIG9uZSB3aXRob3V0IGFjdHVhbGx5IGdvaW5nIHRvIFBBVVNFRAoJICBmaXJzdC4KCjIwMTUtMDEtMTQgMTY6MDE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvbid0IHNjaGVkdWxlIHRvbyBsYXRlIGZyYW1lcyBpbiBwcmVwYXJlKCkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcmZsb3cgdGhlIGludGVybmFsIGJ1ZmZlciBvZiB0aGUgaGFyZHdhcmUKCSAgd2l0aCB1c2VsZXNzIGZyYW1lcyBhbmQgcnVuIGludG8gYW4gZXJyb3IuIFRoaXMgaXMgbmVjZXNzYXJ5IHVudGlsCgkgIHRoaXMgYnVnIGluIGJhc2VzaW5rIGlzIGZpeGVkOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTE2CgoyMDE1LTAxLTE0IDE1OjU0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBLZWVwIHRyYWNrIG9mIHRoZSB0aW1lIHdoZW4gd2Ugd2VudCB0byBQTEFZSU5HIGZvciB0aGUgZXh0ZXJuYWwgY2xvY2sgdG9vCgkgIE90aGVyd2lzZSB3ZSdyZSBhZGRpbmcgYW4gb2Zmc2V0IG9mIHRoZSB0aW1lIHRoZSBwaXBlbGluZSB3YXMgaW4gUExBWUlORwoJICBhbHJlYWR5IHRvIHRoZSBydW5uaW5nIHRpbWUgd2hlbiBjb252ZXJ0aW5nIGl0IHRvIG91ciBpbnRlcm5hbCBjbG9jay4KCjIwMTUtMDEtMTQgMTM6MzI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRW5hYmxlIFFvUyBhbmQgc2V0IG1heC1sYXRlbmVzcyB0byAyMG1zCgoyMDE1LTAxLTEyIDE3OjI0OjUyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggc3RhY2sgc21hc2hpbmcKCSAgRW5zdXJlIHRoYXQgd2UgZG8gbm90IHRydXN0IHRoZSBiaXRzdHJlYW0gd2hlbiBmaWxsaW5nIGEgdGFibGUKCSAgd2l0aCBhIGZpeGVkIG1heCBzaXplLgoJICBBZGRpdGlvbmFsbHksIHRoZSBjb2RlIHdhcyBub3QgcXVpdGUgbWF0Y2hpbmcgd2hhdCB0aGUgc3BlYyBzYXlzOgoJICAtIGEgdmFsdWUgb2YgMyBicm9rZSBmcm9tIHRoZSBsb29wIGJlZm9yZSBhZGRpbmcgYW4gZW50cnkKCSAgLSBhbiB1bmhhbmRsZWQgdmFsdWUgZGlkIG5vdCBhZGQgYW4gZW50cnkKCSAgVGhlIHJlZmVyZW5jZSBhbGdvcml0aG0gZG9lcyB0aGVzZSB0aGluZ3MgZGlmZmVyZW50bHkgKDcuMy4zLjEKCSAgaW4gSVRVLVQgUmVjLiBILjI2NCAoMDUvMjAwMykpLgoJICBUaGlzIHBsYXlzIChhcHBhcmVudGx5IGNvcnJlY3RseSkgdGhlIG9yaWdpbmFsIHJlcHJvIGZpbGUsIHdpdGgKCSAgbm8gc3RhY2sgc21hc2hpbmcuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYW5kIGJ1ZyByZXBvcnQgYnkgQW5kcsOpIERyYXN6aWsgPGdpdEBhbmRyZWQubmV0PgoKMjAxNS0wMS0xNCAyMjowODo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBzcGxpdCBnbGNvbG9yY29udmVydCB1c2FnZSBmcm9tIGdsdXBsb2FkCgkgIHRoZSBzZXBhcmF0aW9uIGFsbG93cyB0aGUgdHJhbnNmZXIgb3BlcmF0aW9uIHRvIG9jY3VyIGluIGEgc2VwYXJhdGUKCSAgdGhyZWFkL3RpbWUgd2hpY2ggbWF5IGluY3JlYXNlIHBlcmZvcm1hbmNlIGluIHNwZWNpZmljIGNpcmN1bXN0YW5jZXMuCgoyMDE1LTAxLTE0IDEyOjM5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IG9mZnNldCB0aGUgZGF0YSBwb2ludGVyIGZvciB1cGxvYWQgZm9yIEdzdFZpZGVvQWxpZ25tZW50CgkgIG90aGVyd2lzZSB3ZSBhdHRlbXB0IHRvIHJlYWQgZnJvbSB0aGUgcGFkZGluZyBkYXRhCgoyMDE1LTAxLTE0IDAwOjA4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiB1c2UgcGJvJ3MgZm9yIHVwbG9hZAoKMjAxNS0wMS0xMyAyMzo0NzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZWxheCB0aGUgR0xNZW1vcnkgdXBsb2FkZXIgY2hlY2sgZm9yIGlucHV0IGNhcHMgZmVhdHVyZXMKCSAgQXMgdGhlcmUgbWF5IGJlIGEgc3lzbWVtIGNhcHMgZmVhdHVyZXMgd2l0aCBHTE1lbW9yeSBmaWxsZWQgYnVmZmVycy4KCSAgZS5nLgoJICB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoKMjAxNS0wMS0xMyAxMTozMjowMyAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgUmV2ZXJ0ICJSZXZlcnQgIm9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMyOWYwY2NiYTFhYTYwNGRhMWJkODAyOTNmZDFmZTcxNzQ0N2RmNWQuCgoyMDE0LTEyLTE3IDA5OjE5OjUyIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IHJlbW92ZSBhbGwgdHJhY2Ugb3V0cHV0IHRvIGNvbnNvbGUgZnJvbSBlbmNvZGVyCgoyMDE1LTAxLTEzIDE5OjU2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBVc2UgQlQyMDIwIGNvbG9yc3BhY2UgZm9yIFVsdHJhSEQgcmVzb2x1dGlvbnMKCjIwMTUtMDEtMTMgMTk6NTU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbiBvbmNlIGFnYWluCgoyMDE1LTAxLTEzIDE2OjQ5OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogaGFuZGxlIHRoZSByZXR1cm4gb2YgdGhlIHNldHVwIGZ1bmN0aW9uCgkgIE1ha2UgdGhlIGNsYXNzIGZ1dHVyZSBwcm9vZiBieSBoYW5kbGluZyB0aGUgZ2Jvb2xlYW4gcmV0dXJuIG9mIHRoZSBzZXR1cAoJICBmdW5jdGlvbi4gU28gaWYvd2hlbiBhIGNoaWxkIGNsYXNzIHVzZXMgdGhpcyB0aGUgYmFzZSBjbGFzcyBpcyByZWFkeS4KCjIwMTUtMDEtMTMgMTY6NDY6MTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgUmV2ZXJ0ICJhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSB1bnVzZWQgdmFsdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjVjOTc1NzA4MzRkNmRlMWMxNDQyNGU3MTIyMWQxOWViMGQzM2VlMy4KCSAgSXQgaXMgcHJlZmVyYWJsZSB0byBoYW5kbGUgdGhlIHJldHVuIG9mIHRoZSBzZXR1cCBmdW5jdGlvbi4KCjIwMTUtMDEtMTMgMTc6NDQ6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogR2V0IG91ciBvd24gInN0YXJ0IHRpbWUiIGluc3RlYWQgb2YgdGhlIG9uZSBvZiB0aGUgcGlwZWxpbmUKCSAgZGVja2xpbmt2aWRlb3NpbmsgbWlnaHQgYmUgYWRkZWQgbGF0ZXIgdG8gdGhlIHBpcGVsaW5lLCBvciBpdHMgc3RhdGUgbWlnaHQKCSAgYmUgaGFuZGxlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHBpcGVsaW5lLiBJbiB3aGljaCBjYXNlIHRoZSBydW5uaW5nIHRpbWUgd2hlbgoJICB3ZSAobGFzdCkgd2VudCBpbnRvIFBMQVlJTkcgc3RhdGUgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgcGlwZWxpbmUncy4KCSAgSG93ZXZlciB3ZSBuZWVkIG91ciBvd24gc3RhcnQgdGltZSB0byB0ZWxsIHRoZSBEZWNrbGluayBBUEksIHdoaWNoIHJ1bm5pbmcKCSAgdGltZSBzaG91bGQgYmUgZGlzcGxheWVkIGF0IHRoZSBtb21lbnQgd2UgZ28gdG8gUExBWUlORyBhbmQgc3RhcnQgc2NoZWR1bGVkCgkgIHJlbmRlcmluZy4KCjIwMTUtMDEtMTMgMTc6MDA6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVyOiBVc2UgYSAjZGVmaW5lIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxNS0wMS0xMyAxNjo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW9zcmM6IE1ha2UgdGhlIHRpbWVvdXQgY29uZmlndXJhYmxlIGFmdGVyIHdoaWNoIHdlIHN0YXJ0IHNob3dpbmcgYSBibGFjayBmcmFtZQoKMjAxNS0wMS0xMyAxNTo0MjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAga2xhc3MtPnNldHVwIChzY29wZSkgd2lsbCBhbHdheXMgcmV0dXJuIFRSVUUgc2luY2UgYWxsIGNoaWxkcmVuIG9mIHRoaXMgY2xhc3MKCSAgZG8gc28sIG5vIG5lZWQgdG8gc3RvcmUgdGhlIHJldHVybi4gQmVzaWRlcywgdGhlIHZhbHVlIGlzIG92ZXJ3cml0dGVuIGEgZmV3CgkgIGxpbmVzIGRvd24gYmVmb3JlIGl0IGlzIHVzZWQuCgkgIENoYW5nZSBoZWxwcyBrZWVwIGZpbGVzIGluIHN5bmMgYWZ0ZXI6CgkgIC1iYXNlIGNvbW1pdCBhOTFkNTIxYTM2MDJmMzMwODM0MDU0NjdkYjk0NTRkNDIyYjlkYTFiCgoyMDE1LTAxLTEzIDE0OjU0OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb24ndCBkbyBhbnkgY29udmVyc2lvbnMgaWYgdGhlIHBhZCBpcyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGFueXdheQoKMjAxNS0wMS0xMiAxMjo1ODoyNyArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogc2lsZW5jZSBtZXNzYWdlcyBmb3IgZmx1c2hlZCAvIGNyZWF0ZWQgc2FtcGxlcwoJICBUaGVzZSBtZXNzYWdlcyBhcmUgbG9nZ2VkIHBlcmlvZGljYWxseSBhbmQgcG9sdXRlIHRoZSBsb2cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTU5MgoKMjAxNC0xMi0yNSAyMzoxMDoxOSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBtZW1sZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5NDMKCjIwMTQtMTItMjUgMjI6NTk6NDIgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk0MwoKMjAxNC0xMi0zMSAxNzo0NTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYWxsb3cgd3JhcHBlZCBjb250ZXh0cyB0byBiZSB1dGlsaXNlZCBsaWtlIG5vbi13cmFwcGVkIGNvbnRleHRzCgkgIEZpbGwgaW4gdGhlIG1pc3NpbmcgcGllY2VzIGxpa2UgZ2V0X3Byb2NfYWRkcmVzcywgdGhlIGdsIGZ1bmN0aW9uIHZ0YWJsZQoKMjAxNS0wMS0xMiAyMToyNToxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby8uZ2l0aWdub3JlOgoJKiBnc3QvY29tcG9zaXRvci8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSBmaWxlcwoKMjAxNS0wMS0xMiAxNTozMzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICB2aXN1YWw6IHVzZSB1bnVzZWQgdmFsdWUKCSAgcmV0IGlzIGFzc2lnbmVkIGJ1dCBub3QgdXNlZCBhbmQgaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AgaXQgaXMgb3ZlcndyaXR0ZW4KCSAgd2l0aCBkZWZhdWx0X3ByZXBhcmVfb3V0cHV0X2J1ZmZlciAoKS4gSWYgdGhlcmUgaXMgYSBmbG93IGVycm9yIHRoZSBmdW5jdGlvbgoJICBzaG91bGQgcmV0dXJuIGluc3RlYWQuCgkgIENJRCAjMTIyNjQ3NQoKMjAxNS0wMS0xMiAxNjoxMDozMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjJjNmI5NSB0byBiYzc2YThiCgoyMDE1LTAxLTEyIDE1OjU3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEluaXRpYWxpemUgcmVmY291bnQgb2Ygb3VyIEMrKyBjbGFzc2VzIGluIHRoZSBjb25zdHJ1Y3RvcgoJICBDSUQgMTI2MjI4OAoJICBDSUQgMTI2MjI4NwoJICBDSUQgMTI2MjI4OQoKMjAxNS0wMS0xMiAxNDoyMjo0NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogc3RvcmVkIHZhbHVlIGlzIG92ZXJ3cml0dGVuCgkgIFZhbHVlIGZyb20gbGVmdF9sdW1pbmFuY2UgaXMgYXNzaWduZWQgdG8gb3V0X2x1bWluYW5jZSBoZXJlLCBidXQgdGhhdCBzdG9yZWQKCSAgdmFsdWUgaXMgbm90IHVzZWQgYmVmb3JlIGl0IGlzIG92ZXJ3cml0dGVuIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wLgoJICBSZW1vdmluZyBhc3NpZ25hdGlvbi4KCSAgQ0lEICMxMjI2NDczCgoyMDE1LTAxLTEyIDEyOjUwOjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggZGVhZCBjb2RlCgkgIGZvdW5kIGlzIGluaXRpYWxpemVkIHRvIEZBTFNFIHRvIHRoZW4gb25seSBiZSB1c2VkIGluIHR3byBjb25kaXRpb25hbCBzdGF0ZW1lbnRzCgkgIHRoYXQgd2lsbCBhbHdheXMgYmUgZmFsc2UsIG1ha2luZyB0aGUgYmxvY2tzIGluc2lkZSB0aGVtIGRlYWQgY29kZS4gTG9va2luZyBiYWNrCgkgIGluIHRoZSBmaWxlJ3MgaGlzdG9yeSB0aGUgc2V0dGluZyBvZiB0aGUgdmFyaWFibGUncyB2YWx1ZSBiZWZvcmUgaXQgaXMgY2hlY2tlZAoJICB3YXMgZHJvcHBlZCBhcyBwYXJ0IG9mIHRoZSBwb3J0IHRvIDAuMTEsIGJyaW5naW5nIHRoYXQgdmFsdWUgc2V0dGluZyBiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjM4CgoyMDE1LTAxLTExIDIwOjQwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBtaW5vciBvcHRpbWlzYXRpb24gd2hlbiBzY2FubmluZyBmb3IgU0NScwoJICBCYWlsIG91dCBlYXJseSB3aGVuIHdlJ3JlIHNjYW5uaW5nIGZvciBTQ1IsIG5vIG5lZWQgdG8KCSAgcGFyc2Ugc3R1ZmYgd2UncmUgbm90IGdvaW5nIHRvIHVzZSBub3IgaW50ZXJlc3RlZCBpbi4KCjIwMTUtMDEtMTEgMDE6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4IGNvbXBpbGVyIHdhcm5pbmcgYW5kIHNpbXBsaWZ5IGNoZWNrcyBpbiBzZXRfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE1LTAxLTAzIDEzOjA2OjQ1ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmV3b3JrIHNldF9mb3JtYXQgY29kZSBzbyBtcGcxMjNhdWRpb2RlYyB3b3JrcyB3aXRoIGRlY29kZWJpbi9wbGF5YmluCgkgIFRoZSBvbGQgY29kZSB3YXMgdXNpbmcgZ3N0X2NhcHNfbm9ybWFsaXplKCkgYW5kIHdhcyBnZW5lcmFsbHkgb3Zlcmx5CgkgIGNvbXBsZXguIFNpbXBsaWZ5IGJ5IHBpY2tpbmcgc2FtcGxlIHJhdGUgYW5kIG51bWJlciBvZiBjaGFubmVscyBmcm9tCgkgIHVwc3RyZWFtIGFuZCB0aGUgc2FtcGxlIGZvcm1hdCBmcm9tIHRoZSBhbGxvd2VkIGNhcHMuIElmIHRoZSBmb3JtYXQgY2FwcwoJICBpcyBhIGxpc3Qgb2Ygc3RyaW5zLCBqdXN0IHBpY2sgdGhlIGZpcnN0IG9uZS4gQW5kIGlmIHRoZSBzcmNwYWQgaXNuJ3QKCSAgbGlua2VkIHlldCwgdXNlIHRoZSBkZWZhdWx0IGZvcm1hdCAoUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5NQoKMjAxNS0wMS0xMCAxNTozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IERpc2FibGUgaGFjayBmb3IgTlNBcHAgaXRlcmF0aW9uIHdpdGggYSBzcGVjaWFsICNkZWZpbmUKCSAgVGhlIGhhY2sgY2F1c2VzIGRlYWRsb2NrcyBhbmQgb3RoZXIgaW50ZXJlc3RpbmcgcHJvYmxlbXMgYW5kIGl0IHJlYWxseQoJICBjYW4gb25seSBiZSBmaXhlZCBwcm9wZXJseSBpbnNpZGUgR0xpYi4gV2Ugd2lsbCBpbmNsdWRlIGEgcGF0Y2ggZm9yCgkgIEdMaWIgaW4gb3VyIGJ1aWxkcyBmb3Igbm93IHRoYXQgaGFuZGxlcyB0aGlzLCBhbmQgaG9wZWZ1bGx5IGF0IHNvbWUKCSAgcG9pbnQgR0xpYiB3aWxsIGFsc28gbWVyZ2UgYSBwcm9wZXIgc29sdXRpb24uCgkgIEEgcHJvcGVyIHNvbHV0aW9uIHdvdWxkIGZpcnN0IHJlcXVpcmUgdG8gcmVmYWN0b3IgdGhlIHBvbGxpbmcgaW4KCSAgR01haW5Db250ZXh0IHRvIG9ubHkgcHJvdmlkZSBhIHNpbmdsZSBmZCwgZS5nLiB2aWEgZXBvbGwva3F1ZXVlCgkgIG9yIGEgdGhyZWFkIGxpa2UgdGhlIG9uZSBhZGRlZCBieSBvdXIgcGF0Y2guIFRoZW4gdGhpcyBzaW5nbGUKCSAgZmQgY291bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIEdNYWluQ29udGV4dCBhbmQgZGlyZWN0bHkgaW50ZWdyYXRlZAoJICBpbnRvIGEgTlNSdW5Mb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQzNzQKCjIwMTUtMDEtMTAgMTU6NDA6MzAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGludGVyYXVkaW9zcmMgLSBmaXhhdGUgbGF5b3V0IGZvciBkZWZhdWx0IGNhcHMKCSAgTWFrZXMgaW50ZXJhdWRpb3NyYyBwcm9kdWNlIHZhbGlkIGF1ZGlvIGNhcHMgaW4gdGhlIGFic2VuY2Ugb2YgYW55IG90aGVyCgkgIGd1aWRhbmNlIGJ5IGFkZGluZyB0byB0aGUgcGFkIHRlbXBsYXRlIGFuZCBmaXhhdGUgZnVuY3Rpb24KCjIwMTUtMDEtMDkgMjE6NTE6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSBwb2ludGxlc3MgYXRvbWljCgkgIEl0IGlzIG9ubHkgbW9kaWZpZWQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxNS0wMS0wOSAyMTozMDozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHF1ZXJ5IGxlYWsKCjIwMTUtMDEtMDkgMTc6NTY6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgY2hlY2sgZm9yIGJlbG93IHplcm8gZm9yIHVuc2lnbmVkIHZhbHVlCgkgIENMQU1QIGNoZWNrcyBib3RoIGlmIHZhbHVlIGlzICc8IDAnIGFuZCAnPiBtYXgnLiBWYWx1ZSB3aWxsIG5ldmVyIGJlIGEgbmVnYXRpdmUKCSAgbnVtYmVyIHNpbmNlIGl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuIFJlbW92aW5nIHRoYXQgY2hlY2sgYW5kIG9ubHkgY2hlY2tpbmcgaWYKCSAgaXQgaXMgYmlnZ2VyIHRoYW4gbWF4IGFuZCBzZXR0aW5nIGl0IGFwcHJvcHJpYXRlbHkuCgkgIEFsc28gY29udmVydGluZyB0aGUgcHJldmlvdXMgaW5zdGFuY2Ugb2YgdGhpcyBpbnRvIE1JTigpIGZvciBjb25zaXN0ZW5jeS4KCSAgQ0lEIDExMzk3OTMKCjIwMTQtMTItMDIgMTA6MTA6MzkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5MgoKMjAxNS0wMS0wOSAxNjo0MzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJpbnQgaml0dGVyIGZyb20gY2xvY2sgd2FpdGluZyBpbiB0aGUgZGVidWcgbG9ncwoKMjAxNS0wMS0wOSAxNDo0MjozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBjaGVjayBpZiBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB5IGlzICc8IDAnIGFuZCAnPiBoMScuIHkgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlIG51bWJlcgoJICBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmIGl0CgkgIGJpZ2dlciB0aGFuIGgxIGFuZCBzZXR0aW5nIGl0IHRvIHRoYXQgbWF4IGFwcHJvcHJpZXRhbHkuCgkgIENJRCAxMTM5NzkyCgoyMDE1LTAxLTA4IDE2OjI0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBjYWNoZSBjdXJyZW50IGZpbGUgcG9zaXRpb24gaW4gdGhlIGxpc3QKCSAgQXZvaWRzIGl0ZXJhdGluZyB0aGUgbGlzdCBldmVyeXRpbWUgdG8gbG9vayBmb3IgdGhlIG5leHQgc2VnbWVudAoJICB0byBiZSB1c2VkIChvciB0byBhZHZhbmNlIHRvIHRoZSBuZXh0IG9uZSkuCgoyMDE1LTAxLTA4IDE1OjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNpbXBsaWZ5IG5leHQgc2VnbWVudCBjaGVja2luZyBmdW5jdGlvbnMKCSAgT3B0aW1pemUgbG9vcCBieSBtb3ZpbmcgY29uZGl0aW9uIG91dHNpZGUgb2YgaXQgYW5kIHJldXNlIHRoZQoJICBmaW5kX25leHRfZnJhZ21lbnQgZnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlcmUgaXMgbmV4dCBpbnN0ZWFkIG9mCgkgIHJlcGxpY2F0aW5nIHRoZSBzYW1lIGxvb3AKCjIwMTUtMDEtMDggMTM6MDM6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGNhY2hlIHRvdGFsIGR1cmF0aW9uIHRvIGF2b2lkIGl0ZXJhdGluZyBhdCBldmVyeSBxdWVyeQoJICBEdXJhdGlvbiBxdWVyaWVzIGNhbiBiZSBkb25lIGEgZmV3IHRpbWVzIHBlciBzZWNvbmQgYW5kIHdvdWxkIGNhdXNlCgkgIHRoZSBzZWdtZW50IGxpc3QgdG8gYmUgdHJhdmVyc2VkIGZvciBldmVyeSBvbmUuIENhY2hpbmcgdGhlIGR1cmF0aW9uCgkgIHByZXZlbnRzIHRoYXQuCgoyMDE1LTAxLTA4IDE4OjE1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBQb3N0IExBVEVOQ1kgbWVzc2FnZSB3aGVuIHRoZSBtb2RlIGNoYW5nZXMKCSAgRGlmZmVyZW50IG1vZGVzIGhhdmUgZGlmZmVyZW50IGZyYW1lcmF0ZXMsIGFuZCB0aHVzIGRpZmZlcmVudCBsYXRlbmNpZXMuIFdlCgkgIG1pZ2h0IG5lZWQgdG8gcmVjb25maWd1cmUgdGhlIGxhdGVuY3kgb2YgdGhlIHBpcGVsaW5lLgoKMjAxNS0wMS0wOCAxODoxNDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTUtMDEtMDggMTY6NDI6MzEgKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIGF1dG9tYXRpYyBtb2RlIGRldGVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mjg0CgoyMDE1LTAxLTA4IDE1OjU0OjE4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBnX3JldHVybl9pZl9mYWlsIGluIGZ1bmN0aW9uIHdpdGggcmV0dXJuIHR5cGUKCSAgTmVlZCB0byB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdHlwZSwgaW4gdGhpcwoJICBjYXNlIGEgZ2Jvb2xlYW4KCjIwMTUtMDEtMDggMTU6MzY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiB2YWx1ZSB0cnVuY2F0ZWQgdG9vIHNob3J0IGNyZWF0ZXMgZGVhZCBjb2RlCgkgIHR5cGUgaXMgdHJ1bmNhdGVkIHRvIDAtMzEgd2l0aCAiJiAweDFmIiwgYnV0IHJpZ2h0IGFmdGVyIHRoYXQgaXQgaXMgY2hlY2tzIGlmCgkgIHRoZSB2YWx1ZSBpcyBlcXVpdmFsZW50IHRvIEdTVF9IMjY1X05BTF9WUFMsIEdTVF9IMjY1X05BTF9TUFMsIGFuZAoJICBHU1RfSDI2NV9OQUxfUFBTICh3aGljaCBhcmUgMzIsIDMzLCBhbmQgMzQgcmVzcGVjdGl2ZWx5KS4gT2J2aW91c2x5LCB0aGlzIHdpbGwKCSAgbmV2ZXIgYmUgVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbWF4aW11bSAzMSBhZnRlciB0aGUgdHJ1bmNhdGlvbi4KCSAgVGhlIGludGVudGlvbiBvZiB0aGUgY29kZSB3YXMgdG8gdHJ1bmNhdGUgdG8gMC02My4KCjIwMTUtMDEtMDggMTU6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBuYWwgdW5pdCB0eXBlIGNoZWNrCgkgIEFmdGVyIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiB0aGUgcHJldmlvdXMgY29tbWl0IGlzIHdyb25nLiBUaGUgY29kZSBpbnRlbmRlZCB0bwoJICBjaGVjayBpZiB0aGUgdHlwZSBpcyAzOSBvciB0aGUgcmFuZ2VzIDQxLTQ0IGFuZCA0OC01NS4gSnVzdCBsaWtlIGdzdGgyNjVwYXJzZS5jCgkgIGRvZXMuIFR5cGUgNDAgd291bGQgbm90IGJlIGNvbXBsZXRlLgoKMjAxNS0wMS0wOCAxMzo0NzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IGRlYWQgY29kZSBhbmQgY2hlY2sgZm9yIGltcG9zc2libGUgdmFsdWVzCgkgIG5hbF90eXBlIGlzIHRoZSBpbmRleCBmb3IgYSBHc3RIMjY1TmFsVW5pdFR5cGUgZW51bS4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkZWFkCgkgIGNvZGUgaGVyZToKCSAgRmlyc3QsIGFmdGVyIGNoZWNraW5nIGlmIG5hbF90eXBlIGlzID49IDM5IHRoZXJlIGFyZSB0d28gT1IgY29uZGl0aW9uYWxzIHRoYXQKCSAgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGluIHJhbmdlcyBoaWdoZXIgdGhhbiB0aGF0IG51bWJlciwgc28gaWYgbmFsX3R5cGUgPj0gMzkKCSAgZmFsbHMgaW4gdGhlIFRydWUgYnJhbmNoIHRob3NlIG90aGVyIGNvbmRpdGlvbnMgYXJlbid0IGNoZWNrZWQgYW5kIGlmIGl0IGZhbGxzCgkgIGluIHRoZSBGYWxzZSBicmFuY2ggYW5kIHRoZXkgYXJlIGNoZWNrZWQsIHRoZXkgd2lsbCBhbHdheXMgYWxzbyBiZSBGYWxzZS4gVGhleQoJICBhcmUgcmVkdW5kYW50LgoJICBTZWNvbmQsIHRoZSBlbnVtIGhhcyBhIHJhbmdlIG9mIDAgdG8gNDAuIFNvIHRoZSBjaGVja3MgZm9yIHJhbmdlcyBoaWdoZXIgdGhhbiA0MQoJICBzaG91bGQgbmV2ZXIgYmUgVHJ1ZS4KCSAgUmVtb3ZpbmcgdGhpcyByZWR1bmRhbnQgY2hlY2tzLgoJICBDSUQgMTI0OTY4NAoKMjAxNS0wMS0wOCAxNDo0NzoxNiArMDEwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVbmxvY2sgdGhlIHN0cmVhbSBsb2NrIHdoaWxlIHdhaXRpbmcgZm9yIHBlbmRpbmcgZnJhbWVzIHRvIGJlIGNvbXBsZXRlZCBpbiBmaW5pc2goKQoJICBXZSBtaWdodCBvdGhlcndpc2UgZGVhZGxvY2sgYmVjYXVzZSBnc3RfdnRlbmNfZW5xdWV1ZV9idWZmZXIoKSBjYW4gYmUKCSAgY2FsbGVkIGFnYWluIGFuZCB3aWxsIHRha2UgdGhlIHN0cmVhbSBsb2NrIGFnYWluIGZyb20gYW5vdGhlciB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIxNzQKCjIwMTUtMDEtMDggMDg6NDY6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogaW1wbGVtZW50IF9oYXNfbmV4dF9mcmFnbWVudCB0byBhdm9pZCBidXN5IGxvb3BpbmcKCSAgSXQgd2lsbCBhbGxvdyB0aGUgZGVtdXhlciB0byB3YWl0IGZvciBhIGZyYWdtZW50IHRvIGJlIGF2YWlsYWJsZSBpbnN0ZWFkCgkgIG9mIGJ1c3kgbG9vcGluZyBwb2xsaW5nIHRoZSBwbGF5bGlzdCBmb3IgYSBuZXcgZnJhZ21lbnQKCjIwMTUtMDEtMDggMTI6NTU6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogQWRkIGEgZHVtbXkgdmFsdWUgdG8gdGhlIHZpZGVvIGNvbm5lY3Rpb24gbWFwcGluZyB0YWJsZSBmb3IgYXV0bwoKMjAxNS0wMS0wOCAxMjo0ODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbmthdWRpb3NyYzogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgYXVkaW8gaW5wdXQgY29ubmVjdGlvbgoKMjAxNS0wMS0wOCAxMjoyMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIFhMUiBhbmQgUkNBIGF1ZGlvIGNvbm5lY3Rpb24gZW51bXMKCjIwMTUtMDEtMDggMTI6MTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgYXV0byB2YWx1ZSBmb3IgdGhlIGNvbm5lY3Rpb24gcHJvcGVydHkKCSAgVGhpcyB3aWxsIHVzZSB0aGUgZGVmYXVsdC9hdXRvIGNvbm5lY3Rpb24gZm9yIHZpZGVvIGNhcHR1cmluZywgYW5kIGNhbgoJICBiZSBzZXQgdmlhIHRoZSBEZWNrbGluayBjb25maWd1cmF0aW9uIHRvb2xzLgoKMjAxNS0wMS0wOCAxMjoxMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbiBvbmNlIGFnYWluCgoyMDE1LTAxLTA2IDE0OjAyOjM4ICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgZm9yIGNvbmZpZ3VyaW5nIHRoZSBpbnB1dCBjb25uZWN0aW9uIG9mIHRoZSB2aWRlbyBzb3VyY2VzCgoyMDE1LTAxLTA4IDA5OjM1OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogRG9uJ3QgaW5pdCBhbmQgY2xlYXIgc3RhdGljIEdNdXRleCAvIEdDb25kCgkgIFdlIHdvdWxkIHBvdGVudGlhbGx5IHVzZSBpdCBmcm9tIHRoZSBtYWluIGxvb3AgbGF0ZXIgaW4KCSAgZ3N0X2dsX3dpbmRvd19jb2NvYV9pbml0X25zYXBwKCkgaWYgaXQgdGltZWQgb3V0IGJlZm9yZS4KCjIwMTUtMDEtMDcgMTY6NTM6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJlbW92ZSBsb2dpY2FsbHkgZGVhZCBjb2RlCgkgIFNvb24gYWZ0ZXIgc2V0dGluZyB0d28gdmFyaWFibGVzIHRvIDEsIHRoZSBjb2RlIGNoZWNrcyBpZiB0aGVpciB2YWx1ZXMgYXJlCgkgIGRpZmZlcmVudCBmcm9tIGVhY2ggb3RoZXIuIFRoaXMgd291bGQgbmV2ZXIgYmUgdHJ1ZS4gUmVtb3ZpbmcgdGhpcy4KCSAgQ0lEIDEyMjY0NDMKCjIwMTUtMDEtMDcgMTY6NDA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgUmV2ZXJ0ICJwbmdwYXJzZTogaW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBpbWFnZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1OWU3ZjA1OTdkMWNjNTI0MTc0ZTg0N2RlN2I5MTQwNzkyMjMwNGM4LgoJICBUaGlzIHBhdGNoIHNob3VsZCBub3QgaGF2ZSBiZWVuIHB1c2hlZCwgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNTgjYzMKCjIwMTUtMDEtMDcgMTY6MjY6NTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIFZhcmlhYmxlIGhhbmRzIGlzIGFscmVhZHkgY2hlY2tlZCB0byBjb250YWluIGEgdmFsdWUgcHJldmlvdXNseSBhdCB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBjdXJyZW50IGJsb2NrIChpbiBsaW5lIDUwNCkuIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW4uIFRoaXMgaXMKCSAgbG9naWNhbGx5IGRlYWQgY29kZS4KCSAgQ0lEIDExOTc2OTMKCjIwMTQtMTEtMTMgMTU6NTY6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIHBuZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcgb2YgdGhlIGltYWdlCgkgIEV2ZXJ5dGltZSBhIGJ1ZmZlciBpcyBiZWluZyBwcm92aWRlZCBmcm9tIGJhc2VwYXJzZSwgd2UgYXJlIHBhcnNpbmcgYWxsIHRoZSBkYXRhIGZyb20gdGhlIGJlZ2lubmluZy4KCSAgQnV0IHNpbmNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwYXJzZWQgc29tZSBvZiB0aGUgZGF0YSBpbiB0aGUgcHJldmlvdXMgaXRlcmF0aW9ucywKCSAgaXQgZG9lc250IG1ha2UgbXVjaCBzZW5zZSB0byBrZWVwIHBhcnNpbmcgdGhlIHNhbWUgZXZlcnl0aW1lLgoJICBIZW5jZSBza2lwcGluZyB0aGUgZGF0YSB3aGljaCBpcyBhbHJlYWR5IHJlYWQgaW4gcHJldmlvdXMgaXRlcmF0aW9ucyB0byBpbXByb3ZlIHRoZSBwYXJzaW5nIHBlcmZvcm1hbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDU4CgoyMDE1LTAxLTA3IDE1OjMyOjA1ICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4IGxhdGVuY3kgdmFsdWVzIGZvciBzb3VyY2VzCgoyMDE1LTAxLTA3IDEwOjIzOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGUgY2FsbCB0byB1cmlfam9pbgoKMjAxNS0wMS0wNyAwOTozMDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBza2lwIGNoZWNraW5nICcjRVhULVgtJyB0b2tlbiBmb3IgYWxsIGVudHJpZXMKCSAgUHV0IHRoaXMgY29tbW9uIGNoZWNrIGJlZm9yZSB0byBhdm9pZCByZXBlYXRpbmcgaXQgZm9yIGFsbCBwb3NzaWJsZQoJICBlbnRyaWVzIHRvIHNhdmUgc29tZSBjeWNsZXMKCjIwMTUtMDEtMDcgMDk6MjE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogYXZvaWQgdXNpbmcgZ19saXN0X2FwcGVuZCBmb3IgY3JlYXRpbmcgc2VnbWVudHMgbGlzdAoJICBVc2UgZ19saXN0X3ByZXBlbmQgYW5kIHJldmVyc2UgaXQgYXQgdGhlIGVuZCB0byBza2lwIHRyYXZlcnNpbmcgdGhlCgkgIHNhbWUgbGlzdCBmb3IgZXZlcnkgbmV3IHNlZ21lbnQKCjIwMTQtMDYtMjAgMTI6Mzg6NTkgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IERvbid0IHVzZSBhcHByb3hpbWF0ZSBkdXJhdGlvbiBmb3IgZnJhZ21lbnQgYnVmZmVyIHB0cwoJICBUaGUgZHVyYXRpb24gdmFsdWVzIGluIHBsYXlsaXN0cyBhcmUgYXBwcm94aW1hdGUgb25seSwgYW5kIGZvcgoJICBwbGF5bGlzdCB2ZXJzaW9ucyAyIGFuZCBvbGRlciB0aGV5IGFyZSBvbmx5IHJvdW5kZWQgaW50ZWdlciB2YWx1ZXMuCgkgIFRoZXkgY2Fubm90IGJlIHVzZWQgdG8gdGltZXN0YW1wIGJ1ZmZlcnMuICBUaGlzIHJlc3VsdGVkIGluIHBsYXliYWNrCgkgIGdhcHMgYW5kIHNraXBzIGJlY2F1c2UgdGhlIGFjdHVhbCBkdXJhdGlvbiBvZiBmcmFnbWVudHMgaXMgc2xpZ2h0bHkKCSAgZGlmZmVyZW50LiAgVGhlIHNvbHV0aW9uIGlzIHRvIG9ubHkgc2V0IHRoZSBwdHMgb2YgdGhlIHZlcnkgZmlyc3QKCSAgYnVmZmVyIHByb2Nlc3NlZCwgbm90IGZvciBlYWNoIGZyYWdtZW50LgoKMjAxNS0wMS0wNiAxODo0NDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBvbmx5IHVwZGF0ZSBzZWdtZW50IGlmIHdlIGhhdmUgYSB2YWxpZCBQVFMKCSAgT3RoZXJ3aXNlIHdlIHNldCB0aGUgcG9zaXRpb24gdG8gR1NUX0NMT0NLX1RJTUVfTk9ORSBhbmQgaXQgZGlzcnVwdHMKCSAgYml0cmF0ZSBzd2l0Y2hpbmcKCjIwMTUtMDEtMDcgMTE6MzE6MzAgKzA1MzAgIFJhamF0IFZlcm1hIDxyYWphdC52ZXJtYUBzdC5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggY3Jhc2ggd2hpbGUgc2V0dGluZyBiaXRyYXRlIGluIGNhcHMgc3RydWN0dXJlCgkgIHEtPmJpdHJhdGUgaXMgYSBndWludDY0LCBidXQgR19UWVBFX0lOVCBtYXkgcmVhZCBmZXdlciBiaXRzCgkgIG9mZiB0aGUgc3RhY2ssIGFuZCBpZiB3ZSBwYXNzIG1vcmUgdGhlbiB0aGUgTlVMTCBzZW50aW5lbAoJICBtYXkgbm90IGJlIGZvdW5kIGF0IHRoZSByaWdodCBwbGFjZSwgd2hpY2ggaW4gdHVybiBtaWdodAoJICBsZWFkIHRvIGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE3NTEKCjIwMTUtMDEtMDIgMDA6NTk6MDAgKzAwMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBwZXJpb2RpYyBTUFMvUFBTIHNlbmRpbmcgd29yayBhZnRlciBhIHNlZWsKCSAgUmVzZXQgdGhlIGludGVydmFsIHZhcmlhYmxlIHRvIGhhdmUgU1BTL1BQUyBzZW5kaW5nIHdvcmsgYWZ0ZXIKCSAgYSAoYmFja3dhcmRzKSBzZWVrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMjEyCgoyMDE1LTAxLTA1IDIxOjI2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBkZWFkbG9jayB3aXRoIHBhZCBvYmplY3QgbG9jawoJICBUaGUgaW1hZ2UgY2FwdHVyZSBtdXRleCBhbmQgdGhlIHBhZCBvYmplY3QgbG9jayB3b3VsZCBjYXVzZSBhIHJhY2UKCSAgaWYgdGhlIHBhZCBxdWVyeSB3YXMgbWFkZSByaWdodCB3aGVuIHRoZSBpbWFnZSBwcm9iZSB3YXMgcnVubmluZy4KCSAgVGhlIGltYWdlIHByb2JlIG5lZWRzIHRoZSBjYXB0dXJlIG11dGV4IGFuZCB0aGUgcXVlcnlpbmcgd291bGQgbmVlZAoJICB0aGUgcGFkIG9iamVjdCBsb2NrLgoKMjAxNS0wMS0wNSAxNToxNjoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzaW1wbGlmeSB3ZWlyZCBpZi9lbHNlIGNsYXVzZQoJICBJdCBpcyBub3QgYW4gaWYvZWxzZSBzaXR1YXRpb24gYnV0IGFuIGlmIGVycm9yIGFib3J0IG90aGVyd2lzZQoJICBqdXN0IGNvbnRpbnVlLiBSZW1vdmUgZWxzZSB0byBtYWtlIGl0IG1vcmUgcmVhZGFibGUKCjIwMTQtMDQtMDQgMTY6NDU6NTEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IGxpdmUgc2Vla2luZwoJICBobHNkZW11eCBhc3N1bWVzIHRoYXQgc2Vla2luZyBpcyBub3QgYWxsb3dlZCBmb3IgbGl2ZSBzdHJlYW1zLAoJICBob3dldmVyIHNlZWsgaXMgcG9zc2libGUgaWYgdGhlcmUgYXJlIHN1ZmZpY2llbnQgZnJhZ21lbnRzIGluIHRoZQoJICBtYW5pZmVzdC4gRm9yIGV4YW1wbGUgdGhlIEJCQyBoYXZlIGxpdmUgc3RyZWFtcyB0aGF0IGNvbnRhaW4gMiBob3VycwoJICBvZiBmcmFnbWVudHMuCgkgIFRoZSBzZWVrIGNvZGUgZm9yIGJvdGggbGl2ZSBhbmQgb24tZGVtYW5kIGlzIGNvbW1vbiBjb2RlLiBUaGUKCSAgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gaXMgdGhhdCBhbiBvZmZzZXQgaGFzIHRvIGJlIGNhbGN1bGF0ZWQKCSAgZm9yIHRoZSB0aW1lY29kZSBvZiB0aGUgZmlyc3QgZnJhZ21lbnQgaW4gdGhlIGxpdmUgcGxheWxpc3QuCgkgIFdoZW4gaGxzZGVtdXggc3RhcnRzIHRvIHBsYXkgYSBsaXZlIHN0cmVhbSwgdGhlIHBvc3NpYmxlIHNlZWsgcmFuZ2UKCSAgaXMgYmV0d2VlbiAwIGFuZCBBIHNlY29uZHMuIEFmdGVyIHNvbWUgdGltZSBoYXMgcGFzc2VkLCB0aGUgYmVnaW5uaW5nIG9mCgkgIHRoZSBzdHJlYW0gd2lsbCBubyBsb25nZXIgYmUgYXZhaWxhYmxlIGluIHRoZSBwbGF5bGlzdCBhbmQgdGhlIHNlZWsKCSAgcmFuZ2UgaXMgYmV0d2VlbiBCIGFuZCBDIHNlY29uZHMuCgkgIFNlZWsgcmFuZ2U6CgkgIHN0YXJ0ICAgICAgICAgIDAgLi4uLi4uLi4uLi4gQQoJICBsYXRlciAgICAgICAgICAgICAgIEIgLi4uLi4uLi4uLi4gQwoJICBUaGlzIGNvbW1pdCBhZGRzIGNvZGUgdG8ga2VlcCBhIG5vdGUgb2YgdGhlIEIgYW5kIEMgdmFsdWVzCgkgIGFuZCB0aGUgaGlnaGVzdCBzZXF1ZW5jZSBudW1iZXIgaXQgaGFzIHNlZW4uIEV2ZXJ5IHRpbWUgaXQgdXBkYXRlcyB0aGUKCSAgbWVkaWEgcGxheWxpc3QsIGl0IHdhbGtzIHRoZSBsaXN0IG9mIGZyYWdtZW50cywgc2VlaW5nIGlmIHRoZXJlIGlzIGEKCSAgZnJhZ21lbnQgd2l0aCBzZXF1ZW5jZSBudW1iZXIgPiBoaWdoZXN0X3NlZW5fc2VxdWVuY2UuIElmIHNvLCB0aGUgdmFsdWVzCgkgIG9mIEIgYW5kIEMgYXJlIHVwZGF0ZWQuIFRoZSB2YWx1ZSBvZiBCIGlzIHVzZWQgd2hlbiB0aW1lc3RhbXBpbmcKCSAgYnVmZmVycy4KCSAgSXQgYWxzbyBtYWtlcyBzdXJlIHRoZSBzZWVrIHJhbmdlIGlzIG5ldmVyIGNsb3NlciB0aGFuIHRocmVlIGZyYWdtZW50cwoJICBmcm9tIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0IC0gc2VlIDYuMy4zLiAiUGxheWluZyB0aGUgUGxheWxpc3QgZmlsZSIKCSAgb2YgdGhlIEhMUyBkcmFmdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQzNQoKMjAxNS0wMS0wNSAxNzo1ODo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHByZXBhcmUgZm9yIHN1cHBvcnRpbmcgc2Vla3MgaW4gbGl2ZSBzdHJlYW1zCgkgIEFkZCBmdW5jdGlvbiB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIHNwZWNpZnkgc2Vla2luZyByYW5nZSBmb3IKCSAgbGl2ZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MzUKCjIwMTUtMDEtMDQgMTc6MTU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRvbid0IHVzZSBpdGVyYXRvciB3aGVuIHNldHRpbmcgZmx1c2ggcGVuZGluZyBvbiBwYWRzCgoyMDE1LTAxLTA0IDE2OjU3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBjaGVjayBpZiBwYWRzIGFyZSByZWFkeSBtb3JlIGVmZmljaWVudGx5CgkgIE5vIG5lZWQgdG8gdXNlIGFuIGl0ZXJhdG9yIGZvciB0aGlzIHdoaWNoIGNyZWF0ZXMgYSB0ZW1wb3JhcnkKCSAgc3RydWN0dXJlIGV2ZXJ5IHRpbWUgYW5kIGFsc28gaW52b2x2ZXMgdGFraW5nIGFuZCByZWxlYXNpbmcgdGhlCgkgIG9iamVjdCBsb2NrIG1hbnkgdGltZXMgaW4gdGhlIGNvdXJzZSBvZiBpdGVyYXRpbmcuIE5vdCB0byBtZW50aW9uCgkgIGFsbCB0aGF0IEdMaXN0IGhhbmRsaW5nIGluIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKS4KCjIwMTUtMDEtMDQgMTI6NTk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG5hbWUgdmZ1bmMgYXJndW1lbnRzIGNvbnNpc3RlbnRseQoKMjAxNC0xMi0zMSAyMDo0NzoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBub2Rpc3QgZm9yIG9yYyBnZW5lcmF0ZWQgY29kZQoKMjAxNS0wMS0wMSAxNTo0NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGctaSB0cmFuc2ZlciBhbmQgc2NvcGUgYW5ub3RhdGlvbnMKCjIwMTUtMDEtMDEgMTQ6MTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlZ2lzdGVyIG5hbWVzIG9mIGl0ZXJhdGVfc2lua3BhZHMgZnVuY3Rpb25zIHdpdGggZGVidWcgc3lzdGVtCgoyMDE1LTAxLTAxIDE0OjAzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZWR1Y2UgZGVidWcgbWVzc2FnZXMgZm9yIHRha2luZy9yZWxlYXNpbmcgbG9ncyB0byBUUkFDRSBsZXZlbAoJICBEb24ndCBzcGFtIGRlYnVnIGxvZyB3aXRoIHRoaXMgc3R1ZmYuCgoyMDE0LTEyLTMxIDE4OjE2OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG1vdmUgcHJvcGVydHkgbWVtYmVyIGludG8gcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgT3VyIGxvY2tpbmcgKG9yIGxhY2sgdGhlcmVvZikgd2hpbGUgYWNjZXNzaW5nIHRoaXMgYWxzbwoJICBsb29rcyBnZW5lcmFsbHkgcXVpdGUgZG9kZ3kuCgoyMDE0LTEyLTMxIDE0OjUwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBmdW5jdGlvbgoKMjAxNC0xMi0zMCAyMzo1ODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBnaXZlIHByaXZhdGUgZnVuY3Rpb25zIG5hbWVzcGFjZSBwcmVmaXgKCSAgRXNwZWNpYWxseSB0aGUgR1NUX0RFQlVHX0ZVTkNQVFIgb25lcy4KCjIwMTQtMTItMzEgMTI6MzU6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB1cCBzb21lIGRvY3MgY29tbWVudHMgaW4gaGVhZGVyCgoyMDE0LTEyLTMwIDIzOjQ0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBub3ctdW51c2VkIHN5c3RlbSBjbG9jayBtZW1iZXIKCjIwMTQtMTItMzAgMTk6NDM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsbWl4ZXIsIGdsdmlkZW9taXhlcjogdXBkYXRlIGZvciBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE5OjI2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE5OjIyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgR3N0QWdncmVnYXRvclBhZEZvcmVhY2hGdW5jIHRha2UgYW4gR3N0QWdncmVnYXRvclBhZAoKMjAxNC0xMi0zMCAxODowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE3OjU2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxNzo1MDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYnJpbmcgc3RhcnQvc3RvcCB2ZnVuYyBzZW1hbnRpY3MgaW4gbGluZSB3aXRoIG90aGVyIGJhc2VjbGFzc2VzCgkgIFN1Yi1jbGFzcyBzaG91bGQgbm90IGhhdmUgdG8gY2hhaW4gdXAgdG8gR3N0QWdncmVnYXRvcidzIHN0YXJ0L3N0b3AKCSAgdmZ1bmNzLCBzYW1lIGFzIGluIEdzdEJhc2VTcmMsIEdzdEJhc2VTaW5rLCBHc3RCYXNlVHJhbnNmb3JtIGV0Yy4KCjIwMTQtMTItMzAgMTU6Mjk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBvdXRwdXQtYmxvY2stc2l6ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNC0xMi0zMCAwODowNzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb25seSB0eXBlZmluZCB3aGVuIHdlIGhhdmUgYSBtaW5pbXVtIGFtb3VudCBvZiBkYXRhCgkgIEZvciBzbWFsbCBhbW91bnRzIHNvbWUgZGF0YSBtaWdodCBiZSBtaXN0eXBlZCBhbmQgaXQgd291bGQgY2F1c2UKCSAgdGhlIHBpcGVsaW5lIHRvIGZhaWwuIEZvciBleGFtcGxlIGlmIHlvdSBoYXZlIEFBQyBpbnNpZGUgbXBlZ3RzLAoJICBmb3Igc21hbGwgYW1vdW50cywgdGhlIEFBQyBzYW1wbGVzIHdvdWxkIGNhdXNlIHRoZSB0eXBlZmluZGVyIHRvCgkgIHRoaW5rIGl0IGlzIEFBQyBhbmQgbm90IG1wZWd0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA2MQoKMjAxNC0xMi0yOSAxMTo0OTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIDRLIC8gVUhEIG1vZGVzCgoyMDE0LTEyLTI5IDExOjQ5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24KCjIwMTQtMTItMjkgMTA6NDQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCB0cnkgdG8gcmVmIG51bGwgcG9pbnRlcgoJICBQbGF5bGlzdHMgbWlnaHQgYmUgbWlzc2luZyB0aGUgYXZhaWxhYmlsaXR5IHN0YXJ0IHRpbWUsIHNvIGNoZWNrIGZvcgoJICBpdCBiZWZvcmUgdHJ5aW5nIHRvIHJlZiB0aGUgb2JqZWN0CgoyMDE0LTEyLTI5IDEwOjQ0OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBydW4gZ3N0LWluZGVudCBvbiBtcGRwYXJzZXIKCSAgUnVuIGdzdC1pbmRlbnQgb24gbXBkcGFyc2VyIHRvIGhhdmUgaXQgc3RvcCBjb21wbGFpbmluZyBvbiBldmVyeQoJICBjb21taXQKCjIwMTQtMTItMjggMTg6MjY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBwb2ludGxlc3MgR1NUX0RFQlVHX0ZVTkNQVFIKCSAgTm90IHVzZWZ1bCBmb3IgR09iamVjdCB2ZnVuY3MuCgoyMDE0LTEyLTI4IDE4OjI0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgZHVwbGljYXRlIHBhZCBwYXJlbnRfY2xhc3MgdmFyaWFibGUKCSAgR19ERUZJTkVfVFlQRSBhbHJlYWR5IHByb3ZpZGVzIG9uZSwganVzdCBuZWVkIHRvIHVzZSBpdC4KCjIwMTQtMTItMjggMTg6MjI6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBfQ0FTVCgpIHZhcmlhbnRzIGZvciBjYXN0IG1hY3JvcwoKMjAxNC0xMi0yOCAwMToxMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgcGFkZGluZyBsYXJnZXIKCSAgRXNwLiB0aGUgY2xhc3Mgc3RydWN0dXJlcywgY2FuJ3QgaGF2ZSBlbm91Z2gKCSAgc3BhcmUgc3BhY2UgZm9yIHZpcnR1YWwgZnVuY3Rpb25zLgoKMjAxNC0xMi0yOCAwMDo1ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuOiByZW1vdmUgdW5uZWVkZWQgc3RydWN0dXJlIHBhZGRpbmcKCSAgUHVibGljIGhlYWRlcnMgYXJlIHByaXZhdGUgYW5kIG5vdCBpbnN0YWxsZWQuCgoyMDE0LTEyLTI3IDE2OjE1OjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IExvZyB0byB0aGUgcGFkIGluc3RlYWQgb2YgdGhlIGVsZW1lbnQKCSAgTW9yZSBjb3JyZWN0IHdheSBvZiBkb2luZyB0aGUgc2FtZSB0aGluZyBhcyBiZWZvcmUKCjIwMTQtMTItMjcgMTU6NTA6MTcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBQb2ludCB0byBjb21wb3NpdG9yIGZvciB0aGUgcGFkIHByb3BlcnRpZXMgZG9jdW1lbnRhdGlvbgoKMjAxNC0xMi0yNyAxNTo0OTo0NyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb2N1bWVudCB0aGUgcGFkIHByb3BlcnRpZXMKCjIwMTQtMTItMjcgMTU6NDk6MzkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9jdW1lbnQgdGhlIHBhZCBwcm9wZXJ0aWVzCgoyMDE0LTEyLTI3IDA5OjQ5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNYWtlIHN1cmUgdGhhdCB0aGUgbWluaW11bSBsYXRlbmNpZXMgYXJlIG5ldmVyIEdTVF9DTE9DS19USU1FX05PTkUKCjIwMTQtMTItMjcgMDk6NDI6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFdhaXQgZm9yIHRoZSBtaW5pbXVtIGxhdGVuY3ksIG5vdCB0aGUgbWF4aW11bQoJICBUaGUgbWluaW11bSBsYXRlbmN5IGlzIHRoZSBsYXRlbmN5IHdlIGhhdmUgdG8gd2FpdCBhdCBsZWFzdAoJICB0byBndWFyYW50ZWUgdGhhdCBhbGwgdXBzdHJlYW1zIGhhdmUgcHJvZHVjZWQgZGF0YS4gVGhlIG1heGltdW0KCSAgbGF0ZW5jeSBoYXMgbm8gbWVhbmluZyBsaWtlIHRoYXQgYW5kIHNob3VsZG4ndCBiZSB1c2VkIGZvciB3YWl0aW5nLgoKMjAxNC0xMi0yNyAwNDoyMTozNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDbGFtcCB0aGUgbWluIGxhdGVuY3kgYXQgdGhlIG1heCBpZiBpdCdzIGdyZWF0ZXIKCjIwMTQtMTItMjcgMDQ6MjE6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJpbnQgdGhlIHNpbmtwYWQgbmFtZSB3aGlsZSBsb2dnaW5nIGxhdGVuY3kgcXVlcmllcwoJICBWZXJ5IHVzZWZ1bCB3aGlsZSBkZWJ1Z2dpbmcuCgoyMDE0LTEyLTI3IDA0OjE5OjUyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFRha2UgdGhlIHN0cmVhbSBsb2NrIHdoZW4gaXRlcmF0aW5nIHNpbmsgcGFkcwoJICBXaGVuIGl0ZXJhdGluZyBzaW5rIHBhZHMgdG8gY29sbGVjdCBzb21lIGRhdGEsIHdlIHNob3VsZCB0YWtlIHRoZSBzdHJlYW0gbG9jayBzbwoJICB3ZSBkb24ndCBnZXQgc3RhbGUgZGF0YSBhbmQgcG9zc2libHkgZGVhZGxvY2sgYmVjYXVzZSBvZiB0aGF0LiBUaGlzIGZpeGVzCgkgIGEgZGVmaW5pdGl2ZSBkZWFkbG9jayBpbiBfd2FpdF9hbmRfY2hlY2soKSB0aGF0IG1hbmlmZXN0cyB3aXRoIGhpZ2ggbWF4CgkgIGxhdGVuY2llcyBpbiBhIGxpdmUgcGlwZWxpbmUsIGFuZCBmaXhlcyBvdGhlciBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMuCgoyMDE0LTEyLTI2IDIzOjA1OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGRvIG5vdCBzZXQgc291cmNlIHN0YXRlIHdpdGggbG9jawoJICBJdCBtaWdodCBiZSByYWN5IHdpdGggdGhlIGltYWdlIHByb2JlIHRocmVhZCBhcyBpdCB1c2VzIHRoZSBjYXB0dXJlCgkgIG11dGV4IGp1c3QgbGlrZSB0aGUgc3RhcnQtY2FwdHVyZSBoYW5kbGVyIGZyb20gY2FtZXJhYmluLiBUaGUKCSAgc3RhcnQtY2FwdHVyZSB3b3VsZCBiZSB3YWl0aW5nIGZvciB0aGUgc291cmNlJ3Mgc3RyZWFtaW5nIHRocmVhZAoJICB0byBzdG9wIHRvIGJlIGFibGUgdG8gc2V0IHRoZSBzb3VyY2Ugc3RhdGUgdG8gcmVhZHkgd2hpbGUgdGhlCgkgIHByb2JlIHdvdWxkIGJlIGJsb2NrZWQgd2FpdGluZyB0byBhY3F1aXJlIHRoZSBjYXB0dXJlIG11dGV4LgoJICBJdCBjYXVzZXMgYSBkZWFkbG9jay4KCjIwMTQtMTItMjYgMTA6MTc6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdXNlIHRoZSBkcmFpbiBxdWVyeSBpbnN0ZWFkIG9mIGZsdXNoCgkgIFRoZSBmbHVzaCBtaWdodCBjbGVhciBhbnkgcGVuZGluZyBjYXB0dXJlcyB0aGF0IGFyZSBzdGlsbCBpbgoJICBxdWV1ZXMgYmVpbmcgcHJvY2Vzc2VkIHdoaWxlIHRoZSBkcmFpbiBxdWVyeSB3aWxsIHdhaXQgZm9yIHRob3NlCgkgIHRvIGJlIHByb3Blcmx5IGRvbmUKCjIwMTQtMTItMjYgMjI6NDU6NDEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGltcHJvdmUgdGltZXN0YW1wIGNvZGUKCSAgVXNlIGEgY29tYmluYXRpb24gb2YgdGhlIHJ1bm5pbmcgdGltZSBhbmQgQ01DbG9ja0dldFRpbWUgZnJvbSBBVkYgdG8gY29tcHV0ZQoJICB0aW1lc3RhbXBzLgoKMjAxNC0xMi0yNiAxMTo0ODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogdXNlIHB1YmxpYyBBUEkgZm9yIGFjY2Vzc2luZyBzdHJlYW0gaGVhZGVyIGFycmF5cyBpbiBjYXBzCgkgIERvbid0IHJlbHkgb24gY29yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCB3aGljaCBhcmUgcHJpdmF0ZSBhbmQKCSAgbWF5IGNoYW5nZS4gSXQncyBhbHNvIG5vdCBuZWVkZWQgaGVyZSwgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBpcwoJICBjbG9zZSB0byBub25lLiBBbHNvIGNvcHkgYnVmZmVyIGJlZm9yZSBjaGFuZ2luZyBpdHMgbWV0YWRhdGEuCgoyMDE0LTEyLTI2IDExOjI5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgdGVzdHM6IGdkcGRlcGF5OiB1cGRhdGUgZm9yIGludGVybmFsIGdkcCByZWZhY3RvcmluZwoJICBUaGlzIHRlc3QgdXNlcyBzb21lIGludGVybmFsL3ByaXZhdGUgQVBJLCBzbyBuZWVkcyB0bwoJICBiZSB1cGRhdGVkIGZvciByZWNlbnQgY2hhbmdlcy4KCjIwMTQtMTItMjYgMTE6Mjc6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHJlZmFjdG9yIHBheWxvYWRpbmcgY29kZSBhIGxpdHRsZQoJICBHZXQgcmlkIG9mIHNvbWUgaW5kaXJlY3Rpb25zIGFuZCBpbmVmZmljaWVuY2llcywKCSAganVzdCBwYXlsb2FkIHRoaW5ncyBkaXJlY3RseSB3aGljaCBnaXZlcyB1cyBtb3JlCgkgIGNvbnRyb2wgb3ZlciB3aGF0IG1lbW9yeSBpcyBhbGxvY2F0ZWQgd2hlcmUgYW5kCgkgIGhvdyBhbmQgbWFrZXMgdGhpbmdzIG11Y2ggc2ltcGxlci4gSW4gcGFydGljdWxhciwKCSAgd2UgY2FuIG5vdyBhbGxvY2F0ZSB0aGUgcGF5bG9hZCBoZWFkZXIgcGx1cyB0aGUKCSAgR3N0TWVtb3J5IHRvIHJlcHJlc2VudCBpdCBpbiBvbmUgZ28uCgoyMDE0LTEyLTE1IDAwOjQxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgZ2RwcGF5OiByZWZhY3RvciBhIGxpdHRsZQoJICBHZXQgcmlkIG9mIG5vdy11c2VsZXNzIHBhY2tldGl6ZXIgc3RydWN0IGFuZCBqdXN0CgkgIGNhbGwgaW50ZXJuYWwgZnVuY3Rpb25zIGRpcmVjdGx5LiBBbHNvIHJlbW92ZQoJICB2ZXJzaW9uIHByb3BlcnR5IHdoaWNoIGlzIG5vdyBkZWZ1bmN0LCBub3QgbGVhc3QKCSAgYmVjYXVzZSB3ZSBjcmVhdGUgdGhlIHBhY2tldGl6ZXIgd2l0aCB0aGUKCSAgdmVyc2lvbiBpbiB0aGUgaW5pdCBmdW5jdGlvbiBiZWZvcmUgYSB2ZXJzaW9uCgkgIGNhbiBiZSBzZXQuCgoyMDE0LTEyLTEzIDE2OjQ2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IGluaXRpYWxpc2UgbWVtb3J5IG9mIGJ1ZmZlcnMgdXNlZCBpbiB1bml0IHRlc3QKCjIwMTQtMTItMTMgMTU6MjM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHBwYXk6IG9wdGltaXNlIHBheWxvYWRpbmcgb2YgYnVmZmVycyB3aXRoIG11bHRpcGxlIG1lbW9yaWVzCgkgIEFkZCBmdW5jdGlvbiB0byBjYWxjdWxhdGUgYSBwYXlsb2FkIENSQyBhY3Jvc3MgbXVsdGlwbGUgbWVtb3JpZXMKCSAgc28gd2UgZG9uJ3QgaGF2ZSB0byBtZXJnZSBidWZmZXJzIHdpdGggbXVsdGlwbGUgbWVtb3JpZXMganVzdCB0bwoJICBjYWxjdWxhdGUgdGhlIENSQy4gQWxzbyBtYWtlIENSQyBjYWxjdWxhdGlvbiBmdW5jdGlvbiBzdGF0aWMsCgkgIHNpbmNlIGl0J3Mgbm90IHVzZWQgb3V0c2lkZSBkYXRhcHJvdG9jb2wuaCBhbmQgbW92ZSBzcGVjaWFsLWNhc2luZwoJICBvZiBsZW5ndGggPSAwIC0+IENSQyA9IDAgaW50byBDUkMgZnVuY3Rpb24gKGZyb20gY2FsbGVyKS4KCSAgUGVyaGFwcyBtb3JlIGltcG9ydGFudGx5LCBzaW5jZSBwYXlsb2FkIENSQyBpcyBvZmYgYnkgZGVmYXVsdDoKCSAgZG9uJ3QgbWFwIGJ1ZmZlciAoYW5kIHBvc3NpYmx5IG1lcmdlIG1lbW9yaWVzIGluIHRoZSBwcm9jZXNzKQoJICBpZiB3ZSBhcmUgbm90IGdvaW5nIHRvIHVzZSBpdCB0byBjYWxjdWxhdGUgYSBDUkMgYW55d2F5LgoKMjAxNC0xMi0xMyAxNToxOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcHBheTogZGF0YXByb3RvY29sOiBkcm9wIGJvZ3VzIGNvbnN0CgkgIERvZXNuJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UgZ2l2ZW4gdGhhdCB3ZSBtYXAKCSAgaXQgYW5kIHBvc3NpYmx5IG1lcmdlIG1lbW9yaWVzIGFuZCBzdWNoLgoKMjAxNC0xMS0yNCAxMjoxODozNiAtMDcwMCAgVmlqYXkgSmF5YXJhbWFuIDxWaWpheS5KYXlhcmFtYW5AZWNob3N0YXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdHlwZWZpbmQgbWlnaHQgZmFpbCBpZiBmaXJzdCBidWZmZXIgaXMgdG9vIHNob3J0CgkgIElmIHR5cGVmaW5kIGZhaWxzLCBjaGVjayB0byBzZWUgaWYgdGhlIGJ1ZmZlciBpcyB0b28gc2hvcnQgZm9yIHR5cGVmaW5kLiBJZiB0aGlzIGlzIHRoZSBjYXNlLAoJICBwcmVwZW5kIHRoZSBkZWNyeXB0ZWQgYnVmZmVyIHRvIHRoZSBwZW5kaW5nIGJ1ZmZlciBhbmQgdHJ5IGFnYWluIHRoZSBuZXh0IHRpbWUgYXJvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDU4CgoyMDE0LTA4LTI3IDE2OjI2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmUgYmFzZSBjbGFzcwoJICBDb25mbGljdHM6CgkgIGV4dC9obHMvZ3N0aGxzZGVtdXguYwoJICBleHQvaGxzL2dzdGhsc2RlbXV4LmgKCjIwMTQtMTItMjMgMDE6NTE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY2hlY2sgaWYgZWxlbWVudCBleGlzdHMgYmVmb3JlIHNldHRpbmcgaXQgdG8gbnVsbAoJICBVbmRlciBjZXJ0YWluIGVycm9yIGNvbmRpdGlvbnMgaXQgbWlnaHQgaGFwcGVuIHRoYXQgdGhlIGVsZW1lbnQKCSAgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBhbmQgdHJ5aW5nIHRvIHNldCBpdCB0byBOVUxMIGNhdXNlcyBhbgoJICBhc3NlcnRpb24KCjIwMTQtMTItMjMgMDE6NTE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogbWFrZSBzdXJlIHRhc2sgaGFzIHN0b3BwZWQgYmVmb3JlIGZyZWVpbmcgaXQKCSAgT3RoZXJ3aXNlIHRoZSB0aHJlYWQgd2lsbCBiZSBydW5uaW5nIGFuZCBpdHMgbWVtb3J5IHdpbGwgZ2V0IGZyZWVkLgoJICBUaGlzIGxlYWRzIHRvIG1lbW9yeSBjb3JydXB0aW9uCgoyMDE0LTEyLTIzIDAxOjQ4OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWdtZW50IHN0YXJ0IHdoZW4gZXhwb3NpbmcgbmV3IHN0cmVhbXMKCSAgU2VnbWVudCBzdGFydCBuZWVkcyBvbmx5IHRvIGJlIHVwZGF0ZWQgd2hlbiBzdGFydGluZyB0aGUgc3RyZWFtcwoJICBvciBhZnRlciBhIHNlZWssIGRvaW5nIGl0IGR1cmluZyBiaXRyYXRlIGNoYW5nZXMgd2lsbCBjYXVzZSB0aGUKCSAgcnVubmluZyB0aW1lIHRvIGdvIGRpc2NvbnRpbnVvdXMgKGp1bXAgYmFjayB0byBhIHByZXZpb3VzIHRzKQoJICBhbmQgUU9TIHdpbGwgZHJvcCBidWZmZXJzCgoyMDE0LTEyLTE5IDAyOjIyOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbG93IHN1YmNsYXNzIHRvIHVzZSBuZXcgcGFkcyBncm91cCB3aGVuIHN3aXRjaGluZyBiaXRyYXRlCgkgIEZpeCBwYWQgZ3JvdXBzIHN3aXRjaGluZyB3aGVuIGJpdHJhdGUgY2hhbmdlcyB0byBhbGxvdyBITFMgdG8gdXNlIHRoaXMgZmVhdHVyZQoKMjAxNC0xMi0yMyAxMjoyNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSWYgZ2V0dGluZyBhIHRpbWVvdXQgYmVmb3JlIGhhdmluZyBjYXBzLCBqdXN0IGFkdmFuY2Ugb3VyIHBvc2l0aW9uCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGlzIGlzIGEgbGl2ZSBwaXBlbGluZSBhbmQgbm8gc291cmNlIHByb2R1Y2VkIGFueSBidWZmZXIKCSAgYW5kIHNlbnQgbm8gY2FwcyB1bnRpbCB0aGUgYW4gb3V0cHV0IGJ1ZmZlciBzaG91bGQndmUgYmVlbiBwcm9kdWNlZCBhY2NvcmRpbmcKCSAgdG8gdGhlIGxhdGVuY3kuCgoyMDE0LTEyLTIzIDEyOjE1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIHN1cmUgdG8gcmVsZWFzZSB0aGUgY3VycmVudCBidWZmZXIgaW4gcmVzZXQoKQoJICBJZiB3ZSBkaWRuJ3Qgb3V0cHV0IHRoZSBsYXN0IG9uZSBpbiBhZ2dyZWdhdGUgYmVjYXVzZSB3ZSB3ZXJlIHNodXR0aW5nIGRvd24KCSAgZWFybGllciB3ZSBtaWdodCBvdGhlcndpc2UgbGVhayBpdC4KCjIwMTQtMTItMjMgMTE6NDU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBDaGFuZ2UgYmxvY2tzaXplIHByb3BlcnR5IHRvIG91dHB1dC1idWZmZXItZHVyYXRpb24gaW4gdGltZSBmb3JtYXQKCSAgVGhpcyBtYWtlcyB0aGUgaW50ZXJmYWNlIG9mIGF1ZGlvbWl4ZXIgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBjYXBzLgoKMjAxNC0xMi0yMyAxMTo0NTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgbGVhayBmbHVzaC1zdGFydCBldmVudHMKCjIwMTQtMTItMjMgMTA6MjQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFsc28gY2hhbmdlIHRoZSBkZWZhdWx0IGxhdGVuY3kgdG8gMCwgbm90IGp1c3QgdGhlIG1pbmltdW0KCjIwMTQtMTItMjMgMDk6NTI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBkb2NzIGFuZCBkZWZhdWx0IHZhbHVlIG9mIHRoZSBsYXRlbmN5IHByb3BlcnR5CgoyMDE0LTEyLTIyIDIyOjE5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGluY2x1ZGUgdGhlIHN1YmNsYXNzIGxhdGVuY3kgaW4gdGhlIHJlc3VsdCBvZiB0aGUgbGF0ZW5jeSBxdWVyeQoKMjAxNC0xMi0yMiAyMjoxMTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVc2UgdGhlIHNyYyBxdWVyeSBpbXBsZW1lbnRhdGlvbiBvZiBhZ2dyZWdhdG9yIGFzIHRoZSBkZWZhdWx0IGNhc2UKCjIwMTQtMTItMjIgMjI6MTE6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFVzZSB0aGUgc3JjIHF1ZXJ5IGltcGxlbWVudGF0aW9uIG9mIGFnZ3JlZ2F0b3IgYXMgdGhlIGRlZmF1bHQgY2FzZQoKMjAxNC0xMi0yMiAxNjo0NTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiB0YWtlIGludG8gYWNjb3VudCBmaWx0ZXIgaW4gdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24KCSAgRml4ZXMgY3JpdGljYWxzIHdoZW4gZmlsdGVyIGNhcHMgYXJlIHBhc3NlZC4KCSAgQWxzbyBmaXggd3JvbmcgR1NUX0RFQlVHX09CSkVDVCB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE4NjMKCjIwMTQtMTItMjIgMTU6MjY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFBvc3QgYSBsYXRlbmN5IG1lc3NhZ2UgaWYgdGhlIHZhbHVlIG9mIHRoZSBsYXRlbmN5IHByb3BlcnR5IGNoYW5nZXMKCjIwMTQtMTItMjIgMTU6MDM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFdha2UgdXAgdGhlIHNyYyB0aHJlYWQgYWZ0ZXIgaGFuZGxpbmcgYSBsYXRlbmN5IHF1ZXJ5CgkgIER1ZSB0byBjaGFuZ2VkIGxhdGVuY2llcyBvciBjaGFuZ2VkIGxpdmUtbmVzcyB3ZSBtaWdodCBoYXZlIHRvCgkgIGFkanVzdCBpZiB3ZSB3YWl0IG9uIGEgZGVhZGxpbmUgYXQgYWxsIGFuZCBob3cgbG9uZy4KCjIwMTQtMTItMjIgMTU6MDA6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGNvdW50IHRoZSBudW1iZXIgb2YgdGltZXMgd2UgbmVlZCB0byB3YWtlIHVwIGJ1dCBpbnN0ZWFkIGNoZWNrIGFsbCBjb25kaXRpb25zIGZvciB3YWl0aW5nIGFnYWluCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgYWxzbyBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgZm9yZ2V0IHRvIGNoZWNrIGFsbAoJICBjb25kaXRpb25zIGZvciB3YWl0aW5nLgoJICBBbHNvIGZpeCBhIHBvdGVudGlhbCBkZWFkbG9jayBjYXVzZWQgYnkgbm90IGNoZWNraW5nIGlmIHdlJ3JlIGFjdHVhbGx5IHN0aWxsCgkgIHJ1bm5pbmcgYmVmb3JlIHN0YXJ0aW5nIHRvIHdhaXQuCgoyMDE0LTEyLTIyIDExOjQ5OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgbm8gY29ycmVzcG9uZGluZyBmcmFtZSBpcyBmb3VuZCwgaWdub3JlIHRoaXMKCSAgLi4uIGFuZCBob3BlIHRoYXQgZXZlcnl0aGluZyB3aWxsIGJlIGZpbmUuIFRoaXMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYnV0CgkgIHByZXZpb3VzbHkgaGFwcGVuZWQgZHVyaW5nIHNodXRkb3duLiBJdCBzaG91bGQgYmUgZml4ZWQgaW4gdmlkZW9lbmNvZGVyIG5vdywKCSAgYnV0IGJldHRlciBiZSBvbiB0aGUgc2FmZSBzaWRlIGhlcmUuCgoyMDE0LTEyLTIyIDExOjQ2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTUFJTlRBSU5FUlM6CgkgIE1BSU5UQUlORVJTOiBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzCgoyMDE0LTEyLTIxIDA3OjQ3OjI1IC0wNTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIGF1ZGlvbWl4ZXI6IGZpeCBidWlsZCBmbGFnIG9yZGVyCgkgIEhhdmUgdGhlIGxpYnJhcmllcy9pbmxjdWRlcyBmcm9tIHBsdWdpbnMtYmFkIGZpcnN0IHRvIGF2b2lkIHBpY2tpbmcgdXAgdGhlIGluc3RhbGxlZCB2ZXJzaW9uLgoJICBGaXhlcyB0aGUgYnVpbGQgd2hlbiB0aGUgbG9jYWwgYXBpIGNoYW5nZWQuCgoyMDE0LTEyLTIwIDEyOjI0OjUzIC0wNTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZyZWV2ZXJiL0dzdEZyZWV2ZXJiLnByczoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJICBmcmVldmVyYjogYWRkIGEgZmV3IHByZXNldHMKCjIwMTQtMTItMTkgMTM6MTg6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdGVzdDogUG9ydCB0byBuZXcgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTI6MjI6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBBbHdheXMgcmVjYWxjdWxhdGUgYnVmZmVyIHNpemUKCSAgQWN0dWFsbHkgd2Ugc2hvdWxkIGFsd2F5cyByZWNhbGN1bGF0ZSBidWZmZXIgc2l6ZSBzaW5jZSBvdXIgYnVmZmVyIHNpemUKCSAgZXZlbiB3aGVuIG5vdC1wYWRkZWQgaXMgc21hbGxlciBmb3IgbWFueSBzdWItc2FtcGxlZCBmb3JtYXRzLiBUaGlzIGlzCgkgIGJlY2F1c2Ugd2UgZG9uJ3QgYWRkIHBhZGRpbmcgYmV0d2VlbiB0aGUgcGxhbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDEyOjEyOjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IE5vIG5lZWQgZm9yIHBhZGRpbmcKCSAgQSBtZW1vcnkgb2JqZWN0IGNhbm5vdCBiZSBwdXQgb24gc3RhY2ssIHNvIG5vIG5lZWQgZm9yIHBhZGRpbmcuCgoyMDE0LTEyLTE5IDEyOjExOjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0FsaWdubWVudAoJICBUaGlzIGFsbG93IHNhdmluZyBhIGNvcHkgd2l0aCBsaWJhdiB2aWRlbyBkZWNvZGVycyBvciBkZWNvZGVycyB3aXRoCgkgIHNpbWlsYXIgcGFkZGluZyByZXF1aXJlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMS0yMiAxMToyNToyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBIYW5kbGUgdXBsb2FkL2Rvd25sb2FkIGZsYWdzIGZyb20gbWFwCgkgIFByb2JsZW0gd2FzIHRoYXQgaWYgYnVmZmVyIHdhcyBtYXBwZWQgUkVBRFdSSVRFIChzdGF0ZSBvZiBidWZmZXJzIGZyb20KCSAgbGliYXYgcmlnaHQgbm93KSwgbWFwcGluZyBpdCBSRUFEL0dMIHdpbGwgbm90IHVwbG9hZC4gVGhpcyBpcyBiZWNhdXNlIHRoZQoJICBmbGFnIGlzIG9ubHkgc2V0IHdoZW4gdGhlIGJ1ZmZlciBpcyB1bm1hcHBlZC4gV2UgY2FuIGZpeCB0aGlzIGJ5IHNldHRpbmcKCSAgdGhlIGZsYWdzIGluIG1hcC4gVGhpcyByZXN1bHQgaW4gYWxyZWFkeSBtYXBwZWQgYnVmZmVyIHRoYXQgZ2V0IG1hcHBlZAoJICB0byBiZSByZWFkIGluIEdMIHdpbGwgYmUgdXBsb2FkZWQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgaWYgdGhlIHdyaXRlCgkgIG1hcHBlciBtYWtlcyBtb2RpZmljYXRpb24gYWZ0ZXJ3YXJkLCB0aGUgbW9kaWZpY2F0aW9uIHdpbGwgbmV2ZXIgZ2V0CgkgIHVwbG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTEzIDIxOjQ3OjM4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogSGFuZGxlIGN1c3RvbSBzdHJpZGUgd2l0aCBPUEVOR0wzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTU6MDU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYwoKMjAxNC0xMi0xOSAxNDo1MDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBSZS1hZGQgdGhlIENPTSBpbml0aWFsaXphdGlvbiBjb2RlIGZvciBXaW5kb3dzCgkgIFVudGVzdGVkLCBhbmQgd2Ugd2lsbCBuZXZlciBkZWluaXRpYWxpemUgQ09NIGFnYWluLgoKMjAxNC0xMi0xOSAxNDozODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlbW92ZSBpbi1zYW1lLXBpcGVsaW5lIGRldGVjdGlvbiBjb2RlIGZvciBhdWRpby92aWRlbyBlbGVtZW50cyBvZiB0aGUgc2FtZSBkZXZpY2UKCSAgVGhpcyBjYXVzZXMgZGVhZGxvY2tzIHNvbWV0aW1lcyBmb3Igc29tZSByZWFzb24uCgoyMDE0LTEyLTE5IDE0OjM1OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBJbXBsZW1lbnQgY2xvY2sgc2xhdmluZwoKMjAxNC0xMi0xOSAxMzo1MjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dCBmb3Igd2hlbiBmcmFtZXMgYXJlIHNjaGVkdWxlZAoKMjAxNC0xMi0xOSAxMzoyODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IGZvciBjb25maWd1cmluZyB0aGUgYnVmZmVyIHNpemUgb2YgdGhlIHNvdXJjZXMKCjIwMTQtMTItMTkgMTM6MjQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEltcGxlbWVudCB0aW1lc3RhbXAgaml0dGVyIGFuZCBkaXNjb250IGhhbmRsaW5nCgoyMDE0LTEyLTE5IDEyOjM3OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBPdXIgY2FwdHVyZSB0aW1lIGlzIHRoZSBlbmQgdGltZXN0YW1wIG9mIHRoZSBidWZmZXIsIHN1YnRyYWN0IHRoZSBkdXJhdGlvbgoKMjAxNC0xMi0xOSAxMjozMDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWxsb3cgZm9yIGEgbWF4aW11bSBvZiA1IHBhY2tldHMgdG8gYmUgcXVldWVkIHVwCgkgIEluIGNhc2UgZG93bnN0cmVhbSBpcyBhIGJpdCBzbG93IHdpdGggY29uc3VtaW5nIHBhY2tldHMgYXQgdGltZXMuCgoyMDE0LTEyLTE5IDEyOjAzOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgaW4gc291cmNlcyBhbmQgcmVtZW1iZXIgc2VsZWN0ZWQgbW9kZQoKMjAxNC0xMi0xOCAxODozMDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBSZW1vdmUgb2Jzb2xldGUgZmlsZXMKCjIwMTQtMTItMTggMTc6MzE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBpbml0aWFsIHZlcnNpb24gb2YgYXVkaW8gYW5kIHZpZGVvIHNvdXJjZXMKCjIwMTQtMTItMTMgMTc6MjM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rOiBJbml0aWFsIHZlcnNpb24gb2YgdGhlIGF1ZGlvL3ZpZGVvIHNpbmsgcmV3cml0ZQoKMjAxNC0xMi0xOSAxMzowNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBUcmFjayBkaXNjb250LXRpbWUgcGVyIHBhZCBpbnN0ZWFkIG9mIGdsb2JhbGx5CgkgIFdlIGRvIGRpc2NvbnQgaGFuZGxpbmcgcGVyIHBhZCwgbm90IHBlciBlbGVtZW50IQoKMjAxNC0xMi0xNSAxNjoyNzoxNiArMDEwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybHNtdHBzaW5rOiBhZGQgZmluYWwgYm91bmRhcnkgdG8gYWxsIG11bHRpcGFydCBlbWFpbHMKCSAgQ29ycmVjdGVkIHRoZSBmaW5hbCBib3VuZGFyeSBtZWNoYW5pc20gc28gdGhhdCBhIGZpbmFsIGJvdW5kYXJ5IGlzCgkgIGFkZGVkIHRvIGVhY2ggbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50IHRoYXQgaXMgc2VudCwKCSAgbm90IGp1c3QgdG8gdGhlIGxhc3Qgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTUzCgoyMDE0LTEyLTE4IDIzOjMzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBXZSdyZSBvbmx5IEVPUyBpZiBhbGwgb3VyIHBhZHMgYXJlIGFjdHVhbGx5IEVPUwoJICBIYXZpbmcgYSBidWZmZXIgb3Igbm90IG9uIHRoZSBwYWQgaXMgaXJyZWxldmFudC4KCjIwMTQtMTItMTggMjI6NDI6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFRoZSBwYWQncyBzaXplIGlzIGFsd2F5cyBzdXBwb3NlZCB0byBiZSB0aGUgd2hvbGUgYnVmZmVyIHNpemUKCSAgQW5kIHRoZSBvZmZzZXQgdGhlIG9mZnNldCBpbnRvIHRoYXQgYnVmZmVyLiBDaGFuZ2luZyB0aGUgc2l6ZSB3aWxsCgkgIGNhdXNlIGFsbCBraW5kcyBvZiBhc3N1bXB0aW9ucyB0byBmYWlsIGFuZCBjYXVzZSBjcmFzaGVzLgoKMjAxNC0xMi0xOCAyMjowNDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCB0cnkgdG8gbWFwIE5VTEwgYnVmZmVycwoKMjAxNC0xMi0xOCAyMjowMzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVwZGF0ZSB0aGUgcGFkJ3MgdmlkZW9pbmZvIHRvZ2V0aGVyIHdpdGggYnVmZmVycwoJICBPdGhlcndpc2UgdGhlIHZpZGVvaW5mbyBhbmQgdGhlIGJ1ZmZlciBjb250ZW50IGNhbiBnbyBvdXQgb2Ygc3luYy4KCjIwMTQtMTItMTggMTE6NDg6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBtZW1vcnkgbGVhayB3aGVuIG5vIGJ1ZmZlciBpcyBhdmFpbGFibGUgZm9yIGEgcGFkIGN1cnJlbnRseQoJICBDSUQgMTI1ODcxOAoKMjAxNC0xMi0xOCAxMDo1NDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWYxZmZkYyB0byBmMmM2Yjk1CgoyMDE0LTEyLTE3IDIyOjAxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IHJldXNlIHRoZSBnc3R2aWRlbyBwcm94eSBnZXRjYXBzCgkgIFRoZSBjYXBzIHF1ZXJ5IGlzIGltcGxlbWVudGluZyB0aGUgc2FtZSBsb2dpYyBhcyB0aGUgZGVmYXVsdAoJICBoYW5kbGVyIGZyb20gdGhlIGJhc2UgY2xhc3MuIFJldXNlIGl0IHRvIHNpbXBsaWZ5IGNvZGUuCgoyMDE0LTEyLTE3IDIxOjUyOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHBsdWcgcmVmIGxlYWsgb2YgdGVtcGxhdGUgY2FwcwoJICB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaXMgYWxyZWFkeSBhIG5ldyByZWYuIE5vIG5lZWQgdG8gY29weS4KCjIwMTQtMTItMTcgMTk6NTE6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBmdW5jdGlvbiB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIHNldCB0aGVpciBvd24gbGF0ZW5jeQoJICBGb3IgYXVkaW9taXhlciB0aGlzIGlzIG9uZSBibG9ja3NpemUsIGZvciB2aWRlb2FnZ3JlZ2F0b3IgdGhpcyBzaG91bGQKCSAgYmUgdGhlIGR1cmF0aW9uIG9mIG9uZSBvdXRwdXQgZnJhbWUuCgoyMDE0LTEyLTE3IDE5OjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIHN1cmUgdG8gbm90IGhhdmUgcGFkcyBiZWluZyBiZWhpbmQgdGhlIGN1cnJlbnQgb2Zmc2V0CgkgIFdlIHdvdWxkIGJyZWFrIHN5bmMgYmV0d2VlbiB0aGUgZGlmZmVyZW50IHN0cmVhbXMgdGhlbi4KCjIwMTQtMTItMTcgMTc6NTQ6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBhIHRpbWVvdXQgcGFyYW1ldGVyIHRvIDo6YWdncmVnYXRlKCkKCSAgV2hlbiB0aGlzIGlzIFRSVUUsIHdlIHJlYWxseSBoYXZlIHRvIHByb2R1Y2Ugb3V0cHV0LiBUaGlzIGhhcHBlbnMKCSAgaW4gbGl2ZSBtaXhpbmcgbW9kZSB3aGVuIHdlIGhhdmUgdG8gb3V0cHV0IHNvbWV0aGluZyBmb3IgdGhlIGN1cnJlbnQKCSAgdGltZSwgbm8gbWF0dGVyIGlmIHdlIGhhdmUgZW5vdWdoIGlucHV0IG9yIG5vdC4KCjIwMTQtMTItMTcgMTg6MjA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBxdWV1ZXMgYWZ0ZXIgdGhlIChsaXZlKSBzb3VyY2VzIGluIHRoZSB1bml0IHRlc3QKCjIwMTQtMTItMTcgMTI6MjA6NTQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGltcHJvdmUgdGltZXN0YW1waW5nIGFuZCBsYXRlbmN5IHJlcG9ydGluZwoJICBVc2UgQVZGIHByb3ZpZGVkIHRpbWluZ3MgdG8gdGltZXN0YW1wIG91dHB1dCBidWZmZXJzLiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBhdAoJICB0aGUgdGltZSB0aGUgZmlyc3QgYnVmZmVyIGlzIHByb2R1Y2VkIHRvIGJhc2UgdGltZXN0YW1wcyBvbi4gUmVwb3J0IDEtZnJhbWUKCSAgbGF0ZW5jeSBiYXNlZCBvbiB0aGUgbmVnb3RpYXRlZCBmcmFtZXJhdGUgaW5zdGVhZCBvZiBoYXJkY29kaW5nIDRtcyBsYXRlbmN5LgoKMjAxNC0xMi0xNSAyMjoyNDoyNiAtMDUwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IFJlbW92ZSBkZXBlbmRlbmN5IG9uIEFUTAoJICBUaGlzIGZpeGVzIGNvbXBpbGluZyB3aXRoIFZpc3VhbCBDKysgRXhwcmVzcwoJICB0aGF0IGRvZXNuJ3QgaW5jbHVkZSBBVEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzcyMjMKCjIwMTQtMTItMDQgMjM6MzA6MjMgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGRlZCBzdXBwb3J0IGZvciBpbWFnZS9qcGVnIGFuZCBoMjY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExODgKCjIwMTQtMTItMTYgMTk6NDk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IGZpeCBhZ2dyZWdhdG9yIHVuaXQgdGVzdCBhZnRlciBwcm9wZXJ0eSByZW5hbWluZwoKMjAxNC0xMi0xNiAxNzozNzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSW1wbGVtZW50IGdldF9uZXh0X3RpbWUoKQoKMjAxNC0xMi0xNiAxNzozMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDE0LTEyLTA1IDE4OjE5OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBtYWtlIHRoZSBzcmMgcGFkIHRhc2sgZHJpdmUgdGhlIHBpcGVsaW5lIGZvciBsaXZlIHBpcGVsaW5lcwoJICBUaGlzIHJlbW92ZXMgdGhlIHVzZXMgb2YgR0FzeW5jUXVldWUgYW5kIHJlcGxhY2VzIGl0IHdpdGggZXhwbGljaXQKCSAgR011dGV4LCBHQ29uZCBhbmQgd2FrZXVwIGNvdW50IHdoaWNoIGlzIHVzZWQgZm9yIHRoZSBub24tbGl2ZSBjYXNlLgoJICBGb3IgbGl2ZSBwaXBlbGluZXMsIHRoZSBhZ2dyZWdhdG9yIHdhaXRzIG9uIHRoZSBjbG9jayB1bnRpbCBlaXRoZXIKCSAgZGF0YSBhcnJpdmVzIG9uIGFsbCBzaW5rIHBhZHMgb3IgdGhlIGV4cGVjdGVkIG91dHB1dCBidWZmZXIgdGltZQoJICBhcnJpdmVzIHBsdXMgdGhlIHRpbWVvdXQvbGF0ZW5jeSBhdCB3aGljaCB0aW1lLCB0aGUgc3ViY2xhc3MKCSAgcHJvZHVjZXMgYSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExNDYKCjIwMTQtMTItMDggMTU6MTg6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBhbHdheXMgdHJ5IHRvIHVzZSBuZXdlciBidWZmZXJzCgkgIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlbSBmb3IgYmVpbmcgdG9vIG9sZC4gIFRoaXMgZW5zdXJlcyB0aGF0CgkgIHRoZSBuZXdlc3QgYnVmZmVyIGlzIGFsd2F5cyB1c2VkIGZvciByZW5kZXJpbmcKCjIwMTQtMTItMTYgMTM6MzU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHJlY3RhbmdsZTogY2xlYXIgcmVjdGFuZ2xlIHN0cnVjdCBiZWZvcmUgdXNlCgoyMDE0LTEyLTE1IDE1OjIxOjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBmcmFtZSBzaXplIGRldGVybWluYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTMyMQoKMjAxNC0wNi0xOSAyMTozMjowOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFVzZSBJbmRleFRhYmxlU2VnbWVudHMuCgkgIFRoaXMgc3BlZWRzIHVwIHNlZWtpbmcgZHJhc3RpY2FsbHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyOTQKCjIwMTQtMTItMTQgMDE6Mjk6MjYgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0cy9hZ2dyZWdhdG9yOiBVc2UgY29ycmVjdCB0eXBlIHdoZW4gc2V0dGluZyBwcm9wZXJ0eQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDk1CgoyMDE0LTA1LTA4IDEwOjQxOjAzICswNTMwICBTdWRpcCBKYWluIDxzdWRpcC5qYWluQGxpbmFyby5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBzY2FuIG1vcmUgYnl0ZXMgdG8gZmluZCBpbml0aWFsIFBDUnMKCSAgRml4ZXMgcGxheWJhY2sgb2YgU2Ftc3VuZy1Db2xvcmZ1bC1WYXJpZXR5LTEwODBpLnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzY4CgoyMDE0LTEyLTEyIDIwOjU3OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBSZXZlcnQgIm9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTUzOTRhYTcwNTQzZjU1YzU0ZmE4YTQ3NDgwNTIyNGY0MTM4Zjc2Yy4KCSAgVGhlIGxhdGVzdCByZWxlYXNlICh2MS4xKSBkb2VzIG5vdCBoYXZlIHBrZy1jb25maWcgc3VwcG9ydAoJICB5ZXQsIHNvIHRoaXMgcGx1Z2luIHdvbid0IGJlIGJ1aWx0IHdpdGggdGhlIGxhdGVzdCByZWxlYXNlLgoJICBDZXJiZXJvIHVzZXMgdGhlIGxhdGVzdCByZWxlYXNlLCBzbyB0aGlzIG1ha2VzIGNlcmJlcm8KCSAgYnVpbGRzIGZhaWwsIHdoaWNoIGV4cGVjdCB0aGUgcGx1Z2luIHRvIGJlIGJ1aWx0LgoJICBXZSBjYW4gcmUtY29tbWl0IHRoaXMgb25jZSB0aGVyZSdzIGEgcmVsZWFzZSB0aGF0IGluY2x1ZGVzCgkgIHBrZy1jb25maWcgc3VwcG9ydC4KCjIwMTQtMTItMTIgMTA6MDU6MjMgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0KCjIwMTQtMTItMTIgMTE6MjE6MjcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBHc3RFbGVtZW50LT5zdGF0ZSBpcyBwcm90ZWN0ZWQgd2l0aCB0aGUgT0JKRUNUX0xPQ0sKCSAgTm90IHRoZSBTVEFURV9MT0NLLgoJICBnc3Rfd2F0Y2hkb2dfZmVlZCB3YXMgYWxyZWFkeSBhbHdheXMgY2FsbGVkIHdpdGggdGhlIE9CSkVDVF9MT0NLIHRha2VuLgoKMjAxNC0xMS0yNyAyMDo0ODoyNCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogSGlkZSBzb21lIG1vcmUgZmllbGRzIGZyb20gdGhlIEFQSQoJICArIEFkZCBzb21lIGRvY3VtZW50YXRpb24KCjIwMTQtMTItMTIgMDA6MzA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkgIG9udmlmOiBmaXggJ21ha2UgZGlzdCcKCjIwMTQtMTItMTEgMjE6MDE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZWsgZXZlbnQgaGFuZGxpbmcKCSAgUHJvcGVybHkgZG8gc2Vla2luZyBhbmQgYXZvaWQgb25seSBzZWVraW5nIHdoZW4gdGhlIHNlZ21lbnQgd2FzIHVwZGF0ZWQuCgkgIEl0IHdvdWxkIGNhdXNlIHNlZWtzIGFmdGVyIHRoZSBzdHJlYW0gd2FzIEVPUyB0byBmYWlsLCBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODkyMAoKMjAxNC0xMS0xNyAxOToyNjo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IEF1dG9tYXRpY2FsbHkgZGlzY292ZXIgdGhlIG50cC1vZmZzZXQgYnkgZGVmYXVsdC4KCSAgVGhpcyBvbmx5IHdvcmtzIGlmIG5vIHBhY2tldHMgYXJlIHB1c2hlZCBpbiBiZWZvcmUgdGhlIHBpcGVsaW5lIGdvZXMKCSAgdG8gcGxheWluZy4gU28gaXQgaGVscHMgdG8gaGF2ZSBhIGxpdmUgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTA2LTA1IDE1OjA2OjMzICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnBhcnNlLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnBhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIGFkZCBydHBvbnZpZmV4dHJhY3QgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTA0LTI4IDExOjA3OjE3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWYuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgYWRkIHJ0cG9udmlmdGltZXN0YW1wIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0xMi0wOCAxMTowMjo1MSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZml4IHBvc2l0aW9uL3RleGNvb3JkIGF0dHJpYiBpbmRleCB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjMxCgoyMDE0LTEyLTExIDE4OjE3OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogdXNlIGEgc2hhZGVyIGV2ZXJ5d2hlcmUKCjIwMTQtMTItMTEgMTg6MTU6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGZpeHVwIHZhbyBhbmQgdmJvIHVzYWdlIGZvciBsZWdhY3kgR0wKCjIwMTQtMTItMTEgMTQ6NTc6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBkb24ndCBhYm9ydCB3aGVuIHNldHRpbmcgdGhlIGVmZmVjdCB0byAwLDEsMgoKMjAxNC0xMi0xMCAxMjo0ODozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzOiBmaXh1cCBzZGwgZXhhbXBsZSBmb3IgZ2x1UGVyc3BlY3RpdmUgcmVtb3ZhbAoKMjAxNC0xMi0wOSAwODozODo1NSAtMDgwMCAgTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogc3VwcG9ydCBjb21waWxlLXRpbWUgZGlzdGluY3Rpb24gYmV0d2VlbiBibHVlejQgYW5kIGJsdWV6NQoJICBTaWduZWQtb2ZmLWJ5OiBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjI2CgoyMDE0LTEyLTEwIDE4OjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNoZWNrIHRoZSByZXR1cm4gZnJvbSB1cGRhdGVfbWFuaWZlc3QgY29ycmVjdGx5CgkgIEl0IGlzIGEgR3N0Rmxvd1JldHVybiBhbmQgbm90IGEgYm9vbGVhbgoKMjAxNC0xMi0xMCAwOToyNDoxNyArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ2hhbmdlIHBlcmlvZCB3aGVuIHNldHRpbmcgYnkgcGVyaW9kIGlkLgoJICBNYWtlIGdzdF9tcGRfY2xpZW50X3NldF9wZXJpb2RfaWQgc2V0IHRoZSBjdXJyZW50IHBlcmlvZCBpbmRleCB3aGVuIGl0IGZpbmRzIGEKCSAgcGVyaW9kIHdpdGggYSBtYXRjaGluZyBwZXJpb2QgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzMjIKCjIwMTQtMTItMTAgMTU6Mjc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrIGZyYWdtZW50IHRyYWNraW5nCgkgIFJld29yayByZXZlcnNlIGZyYWdtZW50IHRyYXZlcnNpbmcgd2l0aCByZXBldGl0aW9uIGZpZWxkcyB0byBwcmV2ZW50CgkgIE5VTEwgcG9pbnRlciBkZXJlZiBhbmQgYXZvaWQgbmV2ZXIgYWR2YW5jaW5nIGEgZnJhZ21lbnQgYXMgdGhlIHZhcmlhYmxlCgkgIGlzIHVuc2lnbmVkIGFuZCB3b3VsZCBhbHdheXMgYmUgbm9uLW5lZ2F0aXZlLgoJICBDSUQgIzEyNTc2MjcKCSAgQ0lEICMxMjU3NjI4CgoyMDE0LTEyLTExIDAwOjAyOjI2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBidW1wIHJhbmsgdG8gUFJJTUFSWQoKMjAxNC0xMi0xMCAyMjozNjo1MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogbmVnb3RpYXRlIHByb2ZpbGUgYW5kIGxldmVsIHdpdGggZG93bnN0cmVhbQoKMjAxNC0xMi0xMCAxOTo0NDowMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogcmVwb3J0IGxhdGVuY3kKCjIwMTQtMTItMDUgMTY6MjA6MDggKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpbmQgY3VycmVudCBzZWdtZW50IGluIHRoZSBzdHJlYW1zIHRoYXQgaGF2ZSBqdXN0IGJlZW4gc2V0dXAKCSAgVXNpbmcgZGVtdXgtPnN0cmVhbXMgd2lsbCBqdXN0IHNraXAgdGhlIHdob2xlIGxvb3AgYXMgZGVtdXgtPnN0cmVhbXMgd2lsbAoJICBhbHdheXMgYmUgTlVMTCBhdCB0aGF0IHBvaW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyODUKCjIwMTQtMTItMDkgMDU6MDM6MTEgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkgIG1pcnJvcjogTmVlZHMgcmVtYXAgd2hlbiB0aGUgbW9kZSBjaGFuZ2VzLgoJICBUaGlzIGNhdXNlZCB0aGUgdXNlciB0byB0aGluayB0aGUgbW9kZSB3YXNuJ3QgdGFrZW4gaW50byBhY2NvdW50LgoKMjAxNC0xMi0wOSAwNDoyODoxNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzkxMGNiZTdjZTFhNjdlZDU1MDZmODdlNGM1YTAwNWMxNjhkMGU2Yy4KCjIwMTQtMTItMDggMDg6NTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHRyeSB0byB1bmxvY2sgbm90IGxvY2tlZCBtdXRleAoJICBBIG1pc3BsYWNlZCB1bmxvY2sgd2FzIGNhdXNpbmcgYW4gYXNzZXJ0aW9uIGZvciBwbGF5YmFjayB3aXRoIGEKCSAgc2V0IHN0b3AgdGltZQoKMjAxNC0xMi0wOCAwODoyNDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogYnVpbGQgb3JkZXI6IHVyaWRvd25sb2FkZXIgYmVmb3JlIGFkYXB0aXZlZGVtdXgKCSAgT3RoZXJ3aXNlIG1ha2UgaW5zdGFsbCBmYWlscwoKMjAxNC0xMi0wNSAxNjozMzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIGtleWZyYW1lIGludGVydmFsIGluIGZyYW1lcyBhbmQgc2Vjb25kcwoKMjAxNC0xMi0wNSAxNjoxNToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggY29udmVyc2lvbiBvZiB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbmQgb3VyIGludGVybmFsIGJpdHJhdGUgc3RvcmFnZQoJICBUaGUgcHJvcGVydHkgaXMgaW4ga2JpdC9zIGFuZCB3ZSBzdG9yZSBpdCBpbiBiaXQvcywgc28ganVzdCBtdWx0aXBseSBhbmQKCSAgZGl2aWRlIGJ5IDEwMDAuIE5vIG5lZWQgdG8gcHV0IGEgZmFjdG9yIG9mIDggaW4gdGhlcmUuCgkgIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfQXZlcmFnZUJpdFJhdGUgaXMgYWxzbyBpbiBiaXQvcyBhY2NvcmRpbmcgdG8KCSAgaXRzIGRvY3VtZW50YXRpb24uCgoyMDE0LTEyLTA1IDEzOjEyOjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBhIG1lbW9yeSBsZWFrCgkgIEZyZWVzIHRoZSBzb3VyY2UgQVJHQiBibGFjayBmcmFtZSB0aGF0IHdlIHVzZSB0byBjcmVhdGUgdGhlIGJsYWNrIGZyYW1lCgkgIGluIG91ciB0YXJnZXQgZm9ybWF0LgoKMjAxNC0xMi0wMiAxMDoxMDozOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtCgkgIFNvbWUgdmlkZW8gYml0c3RyZWFtcyByZXBvcnQgYSB0b28gcmVzdHJpY3RpdmUgc2V0IG9mIHByb2ZpbGVzLiBJZiBhIHZpZGVvCgkgIGRlY29kZXIgd2FzIHRvIHN0cmljdGx5IGZvbGxvdyB0aGUgaW5kaWNhdGVkIHByb2ZpbGUsIGl0IHdvdWxkbid0IHN1cHBvcnQgdGhhdAoJICBzdHJlYW0sIHdoZXJlYXMgaXQgY291bGQgaW4gdGhlb3J5IGFuZCBpbiBwcmFjdGljZS4gU28gd2Ugc2hvdWxkIHJlbGF4IHRoZQoJICBwcm9maWxlIHJlc3RyaWN0aW9uIGZvciBhbGxvd2luZyB0aGUgZGVjb2RlciB0byBnZXQgY29ubmVjdGVkIHdpdGggcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTkyCgoyMDEzLTA1LTAxIDExOjE3OjAyICswODAwICBDaHVuLXdlaSBGYW4gPGZhbmNodW53ZWlAc3JjLmdub21lLm9yZz4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogUG9ydCB0byAxLjAgYW5kIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCSAgVGhpcyB1cGRhdGVzIHRoZSBkc2hvd3ZpZGVvc2luayB0byB3b3JrIHdpdGggdGhlIEdTdHJlYW1lciAxLjAueCBBUElzLCBhbmQKCSAgYXZvaWRzIHRoZSB1c2Ugb2YgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkgdGhhdCBhcmUgbm93IHVzZWQgc2luY2UKCSAgR0xpYiAyLjMyKwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzY0CgoyMDE0LTEyLTA0IDAxOjQ2OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGxpdmUgc3VwcG9ydAoJICBJbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucyBvZiBhZGFwdGl2ZWRlbXV4IHRvIGhhdmUgbGl2ZSBzdXBwb3J0CgkgIGVuYWJsZWQuIFRoaXMgYWxsb3dzIG1zc2RlbXV4IHRvIHJlZnJlc2ggdGhlIE1hbmlmZXN0IHBlcmlvZGljYWxseQoKMjAxNC0xMi0wNCAxNTo1Mjo0NCAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvQ01ha2VMaXN0cy50eHQ6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWN3cmFwcGVyOiBQb3J0IHRvIDEueAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTQ1CgoyMDE0LTEyLTAxIDE2OjQwOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogcG9ydCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ3NjYxCgoyMDE0LTEyLTA0IDEyOjIxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggZ2V0dGluZyBjdXJyZW50IHBvc2l0aW9uIGluIHNlZ21lbnRzIHdoZW4gYWZ0ZXIgbGFzdCBvbmUKCSAgRm9yIGxpdmUgc3RyZWFtcyB0aGlzIG1ha2VzIGEgZGlmZmVyZW5jZSB3aGVuIHJlc3luY2luZyBhZnRlciBhCgkgIE1hbmlmZXN0IHJlZnJlc2gsIG90aGVyd2lzZSBpdCBkb2Vzbid0IGtub3cgd2hlcmUgdG8gcmVzdGFydAoKMjAxNC0xMi0wMiAyMzoyNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogc3VwcG9ydCBtYW5pZmVzdHMgd2l0aCByZXBldGl0aW9uIGZyYWdtZW50cwoJICBSZWFkIHRoZSAiciIgYXR0cmlidXRlIGZyb20gZnJhZ21lbnRzIHRvIHN1cHBvcnQgZnJhZ21lbnRzIG5vZGVzCgkgIHRoYXQgdXNlIHJlcGV0aXRpb24gdG8gaGF2ZSBhIHNob3J0ZXIgTWFuaWZlc3QgeG1sLgoJICBJbnN0ZWFkIG9mIGRvaW5nOgoJICA8YyBkPSIxMDAiIC8+CgkgIDxjIGQ9IjEwMCIgLz4KCSAgWW91IGNhbiB1c2U6CgkgIDxjIGQ9IjEwMCIgcj0iMiIgLz4KCjIwMTQtMTEtMjIgMDE6MDE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmVkZW11eCBiYXNlIGNsYXNzCgoyMDE0LTEyLTAzIDE2OjEzOjE3IC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBGaXhlZCBudWxsIGNhcHMgY29tcGFyaXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMDg2CgoyMDE0LTEyLTA0IDAyOjEyOjA4IC0wMjAwICBGbMOhdmlvIFJpYmVpcm8gPGVtYWlsQGZsYXZpb3JpYmVpcm8uY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IHJlbW92ZSB1bm5lY2Vzc2FyeSB0aXRsZSBvbiBFWFRJTkYgdGFnCgkgIEFjY29yZGluZyB0byB0aGUgSExTIHNwZWMgdGhlIHJlbWFpbmRlciBvZiB0aGUgbGluZSBmb2xsb3dpbmcKCSAgdGhlIGNvbW1hIG9uIEVYVElORiB0YWcgaXMgbm90IHJlcXVpcmVkLiBUaGlzIHBhdGNoIHJlbW92ZXMKCSAgdGhlIGZha2UgdGl0bGUgYW5kIHNhdmVzIHNvbWUgYnl0ZXMgb24gdGhlIHBsYXlsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMDk2CgoyMDE0LTEyLTA0IDIwOjM3OjUxICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFJlbmFtZSBnc3QtbGF1bmNoLTAuMTAgdG8gZ3N0LWxhdW5jaC0xLjAgaW4gZG9jcwoKMjAxNC0xMi0wNCAxNTo0Mjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEZpeCBtYWtlIGRpc3RjaGVjawoJICBBbmQgcHJvcGVybHkgZGlzdCBhbGwgaGVhZGVycyBhbmQgc291cmNlIGZpbGVzLgoKMjAxNC0xMi0wMyAxODozMTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIHRocmVhZHMgd2FpdGluZyBmb3IgbWFuaWZlc3QgdXBkYXRlIG9uIHNodXRkb3duCgkgIEZvciBsaXZlIHN0cmVhbXMsIGFsc28gdW5ibG9jayB0aHJlYWRzIHRoYXQgbWlnaHQgYmUgd2FpdGluZyBmb3IgYSBtYW5pZmVzdAoJICB1cGRhdGUgd2hlbiBzdG9wcGluZyB0aGUgcGlwZWxpbmUuCgkgIEFsc28gYWRkIHNvbWUgbW9yZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNC0xMi0wMyAxMzo1MjowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB1c2UgZ3N0X3Rhc2tfc3RvcCBpbnN0ZWFkIG9mIGdzdF90YXNrX3BhdXNlCgkgIFRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGdzdF90YXNrX3N0b3AoKTsgZ3N0X3Rhc2tfam9pbigpIHdpdGgKCSAgYW5vdGhlciB0aHJlYWQgZG9pbmcgZ3N0X3Rhc2tfcGF1c2UoKSwgdGhlIGpvaW5pbmcgdGhyZWFkIHdvdWxkIGJlCgkgIHdhaXRpbmcgZm9yIHRoZSB0YXNrIHRvIHN0b3AgYnV0IGl0IHdvdWxkIG5ldmVyIGhhcHBlbi4gU28ganVzdAoJICB1c2UgZ3N0X3Rhc2tfc3RvcCgpIGV2ZXJ5d2hlcmUgdG8gcHJldmVudCBtb3JlIG11dGV4ZXMKCjIwMTQtMTItMDMgMTI6NDg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGRlYWRsb2NrIHdoZW4gc3RvcHBpbmcgc3RyZWFtcwoJICBSZW1lbWJlciB0byB1bmxvY2sgdGhlIG1hbmlmZXN0J3MgbG9jayB3aGVuIGxlYXZpbmcgdGhlIGRvd25sb2FkIHRhc2suCgoyMDE0LTEyLTAzIDE2OjAxOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIGluIHRoZSBkaXNwYXRjaGVyCgoyMDE0LTEyLTAzIDE1OjMwOjQzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogYWRkIEdfRU5EX0RFQ0xTCgoyMDE0LTEyLTAzIDE1OjA3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IFVwZGF0ZSBXaW5kb3dzIFNESyBoZWFkZXJzIHRvIDEwLjMuMQoJICBObyBpZGVhIHdoZXJlIHRoZSBEZWNrbGlua0FQSURpc3BhdGNoLmNwcCBjb21lcyBmcm9tIG9uIFdpbmRvd3MsCgkgIGJ1dCB0aGlzIHNob3VsZCBzdGlsbCB3b3JrLiBXaWxsIGp1c3QgYmVjb21lIGEgcHJvYmxlbSBvbmNlIHdlCgkgIHVzZSBvdGhlciBwYXJ0cyBvZiB0aGUgQVBJLgoKMjAxNC0xMi0wMyAxNDo0Mjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2gtb3N4LmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElTdHJlYW1pbmcuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkgIGRlY2tsaW5rOiBVcGRhdGUgT1MgWCBTREsgaGVhZGVycyB0byAxMC4zLjEKCjIwMTQtMTItMDMgMTQ6Mzk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElUeXBlcy5oOgoJICBkZWNrbGluazogVXBkYXRlIExpbnV4IFNESyBoZWFkZXJzIHRvIDEwLjMuMQoKMjAxNC0xMi0wMyAxMDowNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgdW51c2VkIGVycm9yIHZhcmlhYmxlCgkgIENJRCAjMTI1NjU1NgoKMjAxNC0xMi0wMyAwOTo0NTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgbW9yZSBnZXRfZHVyYXRpb24gY2hlY2tzCgkgIFN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uLiBJZiB0aGV5IGRvIG5vdCBrbm93CgkgIHRoZSBkdXJhdGlvbiB0aGV5IGNhbiByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORQoKMjAxNC0xMi0wMyAwOTo0MDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGwgc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBnZXRfZHVyYXRpb24KCSAgQ0lEICMxMjU2NTU3CgoyMDE0LTEyLTAyIDIzOjI5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1ha2Ugc3VyZSB0byBhbHdheXMgc3RvcCB0aGUgc3RyZWFtIG9uIEVPUwoJICBGb3IgT24tRGVtYW5kIHN0cmVhbXMsIGFsd2F5cyBzdG9wIHRoZSB0YXNrcyBmb3Igc3RyZWFtcyB0aGF0IHJlYWNoZWQKCSAgRU9TCgoyMDE0LTEyLTAzIDA4OjAyOjU4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiB0cnkgY2dsIGJlZm9yZSBnbHgKCSAgSXQgd2FzIGFscmVhZHkgZG9uZSBieSBjb21taXQKCSAgZjUwNmU4MDY4NmVlZGM2NjkxMjU4M2RiMTE5MTRlYzNmNzEzYjQ3OAoJICBidXQgaXQgaGFzIGJlZW4gYnJva2VuIGJ5IGNvbW1pdAoJICA0NWVjNzc3Y2VhMGU2OWIyNTk3ZDFlYzAyYjE4ZWMzMWQ2MThjOTIwCgoyMDE0LTEyLTAzIDA3OjQ2OjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgZ2xpbWFnZXNpbmsgdW5pdCB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTQtMTItMDIgMTU6NTI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBkb3VibGUgdW5yZWYgb2Ygb2JqZWN0CgkgIHRoZSBkYXRldGltZSBpcyBhbHJlYWR5IHJlbGVhc2VkIGJ5IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uCgoyMDE0LTEwLTEwIDExOjI0OjA4ICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEZpbmQgdGhlIGN1cnJlbnQgcGVyaW9kIGluIGEgbGl2ZSBzdHJlYW0KCSAgU3RhcnQgZnJvbSB0aGUgY29ycmVjdCBwZXJpb2Qgb24gYSBsaXZlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDIxCgoyMDE0LTEyLTAyIDEwOjA2OjAwICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggcGVyaW9kIHNlbGVjdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIEZpeCBwZXJpb2Qgc2VsZWN0aW9uIGFuZCBwcm9wZXJseSBlcnJvciBvdXQgd2hlbiB1cGRhdGUgY2Fubm90IGJlIGRvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI5OAoKMjAxNC0wNy0wOSAxMDoxMTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogSW1wcm92ZSBsYXN0IFBDUiBkZXRlY3Rpb24KCSAgV2hlbiBkZWFsaW5nIHdpdGggcmFuZG9tLWFjY2VzcyBjb250ZW50IChzdWNoIGFzIGZpbGVzKSwgd2UgaW5pdGlhbGx5CgkgIHNlYXJjaCBmb3IgdGhlIGxhc3QgUENSIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgZHVyYXRpb24gYW5kIHRvIGhhbmRsZQoJICBvdGhlciBwb3NpdGlvbiBlc3RpbWF0aW9uIHN1Y2ggYXMgdGhvc2UgdXNlZCBpbiBzZWVraW5nLgoJICBQcmV2aW91c2x5LCB0aGUgY29kZSBsb29raW5nIGZvciB0aGF0IGxhc3QgUENSIHdvdWxkIHNlYXJjaCBpbiB0aGUgbGFzdAoJICA2NDBrQiBvZiB0aGUgZmlsZSBnb2luZyBmb3J3YXJkLCBhbmQgc3RvcCBhdCB0aGUgZmlyc3QgUENSIGVuY291bnRlcmVkLgoJICBUaGUgcHJvYmxlbSB3aXRoIHRoYXQgd2FzIHR3by1mb2xkOgoJICAqIEl0IHdvdWxkbid0IHJlYWxseSBiZSB0aGUgbGFzdCBQQ1IgKGl0IHdvdWxkIGJlIHRoZSBmaXJzdCBvbmUgd2l0aGluCgkgIHRob3NlIGxhc3QgNjQwa0IuIEluIGNhc2Ugb2YgVkJSIGZpbGVzLCB0aGlzIHdvdWxkIHB1dCBvZmYgZHVyYXRpb24KCSAgYW5kIHNlZWsgY29kZSBzbGlnaHRseS4KCSAgKiBJdCB3b3VsZCBmYWlsIG9uIGZpbGVzIHdpdGggYml0cmF0ZXMgaGlnaGVyIHRoYW4gNTJNYml0L3MgKG5vdCBjb21tb24pCgkgIEluc3RlYWQgdGhpcyBwYXRjaCBtb2RpZmllcyB0aGF0IGNvZGUgYnk6CgkgICogU2Nhbm5pbmcgb3ZlciB0aGUgbGFzdCAyMDQ4a0IgKGFsbG93cyB0byBjb3BlIHdpdGggc3RyZWFtcyB1cCB0byAxNjBNYml0L3MpCgkgICogU3RhcnRzIGJ5IHRoZSBlbmQgb2YgdGhlIGZpbGUsIGdvaW5nIG92ZXIgY2h1bmtzIG9mIDMwMCBNUEVHLVRTIHBhY2tldHMKCSAgKiBEb2Vzbid0IHN0b3AgYXQgdGhlIGZpcnN0IFBDUiBkZXRlY3RlZCBpbiBhIGNodW5rLCBidXQgaW5zdGVhZCByZWNvcmRzIGFsbAoJICBvZiB0aGVtLCBhbmQgb25seSBzdG9wIHNlYXJjaGluZyBpZiB0aGVyZSB3YXMgImF0IGxlYXN0IiBvbmUgUENSIHdpdGhpbgoJICB0aGF0IGNodW5rCgkgIFRoaXMgc2hvdWxkIGltcHJvdmUgZHVyYXRpb24gcmVwb3J0aW5nIGFuZCBzZWVraW5nIG9wZXJhdGlvbnMgb24gVkJSIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MzIKCjIwMTQtMTItMDEgMTE6NDc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBPbmx5IGFjdGl2YXRlIHdhcm5pbmcgZm9yIHJlYWwgc3RyZWFtcwoJICBzdHJlYW1zIHdpdGggc3RyZWFtX3R5cGUgMHhmZiBhcmUgUENSLW9ubHkgc3RyZWFtcywgaXQncyBub3JtYWwgbm90CgkgIHRvIGhhdmUgYSBwYWQgZm9yIHRoZW0uCgoyMDE0LTEyLTAxIDEyOjE0OjIwICswMTAwICBKw7xyZ2VuIFNsb3dhY2sgPGp1cmdlbi5zbG93YWNrQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBhZGQgcXAgcHJvcGVydHkKCSAgUVAgcHJvcGVydHkgZW5hYmxlcyBDUVAgbW9kZSBhbmQgc2V0cyB0aGUgUVAgZm9yIFAgc2xpY2VzLgoKMjAxNC0xMi0wMSAxMDo1OTozMiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2wvY29jb2E6IEZpeCBleGFtcGxlIG9uIE1hYyBPUyBYIDEwLjEwCgkgIFVzaW5nIE5TQXBwIGRpcmVjdGx5IHNlZW1zIHRvIGNvbmZ1c2Ugc29tZXRoaW5nLCBhcyB0aGUgY29tcGlsZXIKCSAgd2FzIGV4cGVjdGluZyBhbiBpZDxOU0ZpbGVNYW5hZ2VyRGVsZWdhdGU+LiBTd2l0Y2hlZCB0byB1c2luZwoJICBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0sIGFuZCBzcGVjaWZpZWQgdGhlIGRlbGVnYXRlCgkgIHByb3RvY29sIG9uIHRoZSB3aW5kb3cgY2xhc3MgYXMgd2VsbC4KCSAgU2ltaWxhciB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzQwCgoyMDE0LTEyLTAxIDEwOjI3OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IEZpeCBkZXBlbmRlbmN5IGJ1aWxkCgkgIGFkYXB0aXZlZGVtdXggZGVwZW5kcyBvbiB1cmlkb3dubG9hZGVyIGFuZCB2aWRlbyBkZXBlbmRzIG9uIGJhc2UKCjIwMTQtMTItMDEgMDk6NDg6NDEgKzAxMDAgIFRob21hcyBLbGF1c25lciA8d2l6QGRhbmJhbGEudHV3aWVuLmFjLmF0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvIGNvbXBhcmlzb25zIGluIGEgcG9ydGFibGUgd2F5IHdpdGggPSBpbnN0ZWFkIG9mID09CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5NTMKCjIwMTQtMTEtMzAgMjE6NTQ6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmV3b3JraW5nIGxpdmUgbWFuaWZlc3QgdXBkYXRlIHdhaXQKCSAgQ2hlY2sgaWYgdGhlIHN0cmVhbSBpcyBsaXZlIGJlZm9yZSBjaGVja2luZyBpZiBpdCBpcyBFT1MgYXMgYSBsaXZlCgkgIHN0cmVhbSBtaWdodCBiZSBjb25zaWRlcmVkIEVPUyB3aGVuIGl0IGp1c3QgbmVlZHMgdG8gd2FpdCBmb3IgYSBtYW5pZmVzdAoJICB1cGRhdGUgdG8gcHJvY2VlZCB3aXRoIHRoZSBuZXh0IGZyYWdtZW50cwoKMjAxNC0xMS0yOSAxMDoyODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbWFuaWZlc3QgdXBkYXRlIGxvY2tpbmcKCSAgVG8gYXZvaWQgdW5sb2NraW5nIGEgbm90IGxvY2tlZCBtdXRleAoKMjAxNC0xMS0yOSAxMDoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggc2VnbWVudCBmb3IgbWFuaWZlc3RzIHRoYXQgd29uJ3Qgc3RhcnQgYXQgMAoJICBGb3IgbGl2ZSBzdHJlYW1zLCB0aGUgbWFuaWZlc3QgbWlnaHQgc3RhcnQgYXQgYW4gYWR2YW5jZWQgcG9zaXRpb24uIEF2b2lkCgkgIHVzaW5nIHNlZ21lbnQgc3RhcnQ9MCB0byBoYXZlIHBsYXliYWNrIHN0YXJ0IGltbWVkaWF0ZWx5CgoyMDE0LTExLTI5IDEwOjI2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXBsYWNlIHRoZSBzdHJlYW1zIHdpdGggdGhlIG5ldyBtcGQgY2xpZW50J3Mgc3RyZWFtcwoJICBPdGhlcndpc2UgaXQgd29uJ3QgdXBkYXRlIHdpdGggdGhlIG5ldyBzZWdtZW50IGluZm8gZnJvbSB0aGUgcGxheWxpc3QKCSAgdXBkYXRlCgoyMDE0LTExLTI5IDEwOjI1OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB3aGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdCwgc2V0IHRoZSB1cmkKCSAgVGhpcyB3aWxsIGFsbG93IGRhc2hkZW11eCB0byBjcmVhdGUgdGhlIGNvcnJlY3QgZnVsbCBwYXRoIFVSSXMgdG8KCSAgY29udGludWUgZG93bmxvYWRpbmcgZnJhZ21lbnRzCgoyMDE0LTA4LTI2IDE2OjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcG9ydCB0byBhZGFwdGl2ZSBkZW11eAoKMjAxNC0xMS0yMiAxNzoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbHNvIGNsZWFyIGZsdXNoaW5nIHN0YXRlIG9uIHBhZHMgYmVmb3JlIHJlc3RhcnRpbmcKCSAgRHVyaW5nIGZsdXNoaW5nIHNlZWtzIHRoZSBmbHVzaGluZyBmbG93IHJldHVybiB3aWxsIHByb3BhZ2F0ZSB1cCB0byB0aGUKCSAgc291cmNlIGVsZW1lbnQgYW5kIGFsbCBwYWRzIGFyZSBnb2luZyB0byBoYXZlIHRoZSBmbHVzaGluZyBmbGFnIHNldC4KCSAgU28gYmVmb3JlIHJlc3RhcnRpbmcgYWxzbyByZW1vdmUgdGhhdCBmbGFnIHRvZ2V0aGVyIHdpdGggdGhlIEVPUyBvbmUuCgkgIFdlIGRvbid0IGRvIHRoYXQgd2hlbiBwdXNoaW5nIHRoZSBmbHVzaCBzdG9wIGV2ZW50IGJlY2F1c2Ugb3VyIGV2ZW50CgkgIGhhbmRsZXIgZm9yIHRoZSBwcm94eXBhZCB3aWxsIGRyb3AgYWxsIGV2ZW50cy4KCjIwMTQtMTEtMjEgMjA6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg0OAoKMjAxNC0xMS0yOSAxMzoxNjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogbWlub3IgY2FwcyBldmVudCBwYXlsb2FkaW5nIG9wdGltaXNhdGlvbgoJICBBdm9pZCBjcmVhdGlvbiBvZiBidWZmZXIgd2UncmUganVzdCBnb2luZyB0byB0aHJvdwoJICBhd2F5IHR3byBsaW5lcyBsYXRlciBhbnl3YXkuCgoyMDE0LTExLTI5IDEzOjE1OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXggc29tZSBtZW1vcnkgbGVha3MKCjIwMTQtMTEtMzAgMDA6NDI6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiByZXF1aXJlIEdMX0FSQl9FUzJfY29tcGF0aWJpbGl0eSBmb3Igb3BlbmdsMwoJICB1bnRpbCB3ZSBnZW5lcmF0ZSBnbDMgY29tcGxpYW50IHNoYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDAxMgoKMjAxNC0xMS0zMCAwMDoxODo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcHJvcGVybHkgaGFuZGxlIHRoZSAhb3BlbmdsMyBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwMTIKCjIwMTQtMTEtMjggMTc6MzE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBEcm9wIHRvbyBsYXRlIGZyYW1lcyBhbmQgc3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIGF0IHRoZSBjb3JyZWN0IHRpbWUKCjIwMTQtMTEtMjggMTY6MDQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgZ2xmaWx0ZXJhcHA6IGZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBXaGVuIEdTVF9HTF9IQVZFX09QRU5HTCBpcyAwIG9yIHVuc2V0LgoKMjAxNC0xMS0yOCAxNTowNjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBGb3IgdGhlIHNvdXJjZSwgdW5zZXR0aW5nIHRoZSBjYWxsYmFjayBhbHJlYWR5IGRlbGV0ZXMgaXQKCjIwMTQtMTEtMTQgMTE6MTk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBXYWl0IGZvciB0aGUgcGlwZWxpbmUgY2xvY2sgaW5zdGVhZCBvZiB0aGUgZGVja2xpbmsgY2xvY2sKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHN0YXJ2ZSBvdGhlciBlbGVtZW50cyBpZiB0aGUgZGVja2xpbmsgY2xvY2sKCSAgaXMgc2xvd2VyIHRoYW4gdGhlIHBpcGVsaW5lIGNsb2NrLCBvciBzdGFydHMgbXVjaCBsYXRlci4KCSAgT2YgY291cnNlIHRoaXMgd2lsbCBzdGlsbCBjYXVzZSBwcm9ibGVtcyBpZiB0aGUgZGVja2xpbmsgY2xvY2sgYW5kIG91cnMgYXJlCgkgIGNvbXBsZXRlbHkgb3V0IG9mIHN5bmMsIG9yIHJ1bm5pbmcgYXQgYSB2ZXJ5IGRpZmZlcmVudCByYXRlLiBCdXQgdGhpcyBhdCBsZWFzdAoJICB3b3JrcyBiZXR0ZXIgbm93LgoKMjAxNC0xMS0xNCAxMDo1ODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogU2NoZWR1bGUgdmlkZW8gZnJhbWVzIGFjY29yZGluZyB0byB0aGVpciB0aW1lc3RhbXBzLCBub3QgYWNjb3JkaW5nIHRvIGEgZnJhbWUgY291bnRlcgoKMjAxNC0xMS0xNCAxMTowMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEFkZCBzb21lIEZJWE1FIGNvbW1lbnRzIGFib3V0IHN5bmNocm9uaXphdGlvbgoKMjAxNC0xMS0xNCAxMDozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGZvciB0aGUgdGltZXN0YW1wcyBpbnN0ZWFkIG9mIGNvbWluZyB1cCB3aXRoIG91ciBvd24KCSAgSWYgd2UganVzdCBjb3VudCB0aGUgZnJhbWVzIGFuZCBjYWxjdWxhdGUgdGltZXN0YW1wcyBmcm9tIHRoYXQsIGFsbCBmcmFtZXMKCSAgd2lsbCBhcnJpdmUgbGF0ZSBpbiB0aGUgc2luayBhcyB3ZSBoYXZlIGEgbGl2ZSBzb3VyY2UgaGVyZS4gSW5zdGVhZCB0YWtlCgkgIHRoZSBwaXBlbGluZSBjbG9jayBhdCBjYXB0dXJlIHRpbWUgYXMgcmVmZXJlbmNlLgoKMjAxNC0xMS0yOCAxNDo1MDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogSGFuZGxlIGNhbGxiYWNrL2RlbGVnYXRlIG9iamVjdCB0aGUgc2FtZSB3YXkgYXMgaW4gdGhlIHNpbmsKCSAgUG90ZW50aWFsbHkgZml4ZXMgY3Jhc2hlcy4KCjIwMTQtMTEtMjggMTQ6NDY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IERvbid0IGNyYXNoIHdoZW4gZ29pbmcgdG8gUkVBRFkgYW5vdGhlciB0aW1lCgkgIFdlIGhhdmUgdG8gaGFuZGxlIHRoZSBjYWxsYmFjayBvYmplY3QgYSBiaXQgZGlmZmVyZW50OgoJICBhKSBpdCBuZWVkcyBhIHZpcnR1YWwgZGVzdHJ1Y3RvcgoJICBiKSB3ZSBuZWVkIHRvIHNldCB0aGUgY2FsbGJhY2sgdG8gTlVMTCB3aGVuIHdlJ3JlIGRvbmUgd2l0aCB0aGUgb3V0cHV0CgkgIGMpIGNyZWF0ZSBhIG5ldyBvbmUgZXZlcnkgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjE2CgoyMDE0LTExLTI4IDEwOjIzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGYWlsdXJlIHRvIG1hcCBhIHZpZGVvIGZyYW1lIGlzIG5vdCBqdXN0IGEgd2FybmluZwoJICBBbHNvIGFkZCBzb21lIHdhcm5pbmcgZGVidWcgb3V0cHV0IGlmIG1hcHBpbmcgYSBvdXRwdXQgYnVmZmVyIGZhaWxzCgoyMDE0LTExLTI4IDEwOjIyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZhaWx1cmUgdG8gbWFwIGEgdmlkZW8gZnJhbWUgaXMgbm90IGp1c3QgYSB3YXJuaW5nCgoyMDE0LTExLTI4IDE0OjA4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsZmlsdGVyYXBwIGlzIG5vdyBhdmFpbGFibGUgb24gZ2xlczIgYXMgd2VsbCBzbyBidWlsZCBpdAoKMjAxNC0xMS0yOCAxMzowNDoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogZml4dXAgY29tcGF0IGRlZmluaXRpb24gZm9yIEdMdWludDY0IGZvciBPUyBYCgoyMDE0LTExLTI4IDExOjU2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogYWRkIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTHVpbnQ2NCBmb3IgYW5kcm9pZAoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDo0MToyMzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdHTHVpbnQ2NCcKCSAgR0x1aW50NjQgdGltZW91dCkpCgoyMDE0LTExLTI4IDAyOjIxOjQ5ICswOTAwICBEYW5ueSBTb25nIDxkYW5ueS5zb25nLmdhQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogZml4IHR5cG8gaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODE1CgoyMDE0LTExLTI4IDExOjExOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmM6IGZpeCBidWlsZCB3aXRoIGRlc2t0b3AgZ2wKCjIwMTQtMTEtMjggMTE6MDQ6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2w6IGZpeCB0eXBvIGluICNpZgoJICBHU1RfR0xfQVBJX0hBVkVfT1BFTkdMIGRvZXNuJ3QgZXhpc3QKCjIwMTQtMTEtMjggMTA6NTk6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsOiBmaXggdmFyaW91cyBidWlsZCBlcnJvcnMgd2l0aG91dCBkZXNrdG9wIGdsCgoyMDE0LTExLTI4IDEwOjAzOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZml4IGJ1aWxkIGVycm9yCgkgIGdzdGdsZGlzcGxheS5jOjIzNDo1NDE6IGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3JdCgkgIGdfcmV0dXJuX2lmX2ZhaWwgKEdTVF9JU19HTF9ESVNQTEFZIChkaXNwbGF5KSk7CgoyMDE0LTExLTI3IDIxOjA1OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGRpc3BsYXk6IGltcGxlbWVudCBydW50aW1lIEdMIGFwaSBmaWx0ZXJpbmcKCSAgTmVlZGVkIHNvIHRoYXQgdGhlIHBpcGVsaW5lL2FwcGxpY2F0aW9uIGNhbiBsaW1pdCB0aGUgY2hvaWNlIG9mIEdMIGFwaQoJICB0byB3aGF0IGl0IHN1cHBvcnRzCgoyMDE0LTExLTI3IDE2OjE3OjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbDogcmVtb3ZlIHRoZSB1c2Ugb2YgZ2x1CgoyMDE0LTEwLTE3IDE1OjIyOjI0ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2w6IGFkZCBhIHN5bmMgbWV0YSBmb3Igc3luY2hyb25pemluZyBhY3Jvc3MgR0wgY29udGV4dHMKCSAgQSBjb250ZXh0IGNhbiBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0IHRoYXQgY2FuIGJlIHdhaXRlZCBvbiBpbiBvcmRlcgoJICB0byBlbnN1cmUgdGhhdCBHTCByZXNvdXJjZXMgY3JlYXRlZCBpbiBvbmUgY29udGV4dCBhcmUgYWJsZSB0byBiZQoJICB1c2VkIGluIGFub3RoZXIgc2hhcmVkIGNvbnRleHQgd2l0aG91dCBhbnkgY2hhbmNlIG9mIHJlYWRpbmcgaW52YWxpZAoJICBkYXRhLgoJICBUaGlzIG1ldGEgd291bGQgYmUgcGxhY2VkIG9uIGJ1ZmZlcnMgdGhhdCBhcmUga25vd24gdG8gY3Jvc3MgZnJvbQoJICBvbmUgY29udGV4dCB0byBhbm90aGVyLiAgVGhlIHJlY2VpdmluZyBlbGVtZW50IHdvdWxkIHRoZW4gd2FpdAoJICBvbiB0aGUgc3luYyBvYmplY3QgdG8gZW5zdXJlIHRoYXQgdGhlIGRhdGEgdG8gYmUgdXNlZCBpcyBjb21wbGV0ZS4KCjIwMTQtMTAtMTcgMTU6MDg6MjkgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgc3luYyBmdW5jdGlvbiBkZWZpbml0aW9ucwoKMjAxNC0xMS0xNyAxODowNjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xmaWx0ZXJhcHA6IHBvcnQgdG8gZ2xlczIgYW5kIGdsMwoKMjAxNC0xMS0xNCAyMzoyNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIGdsb3ZlcmxheTogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTQgMDA6MjA6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTEtMTMgMjE6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJICBnbGZpbHRlcmN1YmU6IGFkZCBhIGdsMyBjb2RlIHBhdGgKCjIwMTQtMTEtMTMgMTU6MDk6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbGZpbHRlcnNoYWRlcjogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTMgMTI6MTI6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEyIDIzOjQ4OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogc3VwcG9ydCBnbDMgd2hlcmVldmVyIGdsZXMyIGlzIHN1cHBvcnRlZAoKMjAxNC0xMS0xMiAyMzo0NzoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIGdsY29sb3JzY2FsZTogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTIgMjI6NDk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IGFkZCBhIGdsMyBjb2RlIHBhdGggdXNpbmcgdmFvJ3MgYW5kIHZibydzCgoyMDE0LTExLTEyIDIyOjQ4OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTIzIDIyOjM1OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTIxIDIyOjE4OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiB1c2UgdmJvJ3MgYW5kIHZhbydzIGZvciBnbDMKCjIwMTQtMTAtMjEgMTk6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXIgYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0xOSAwODowOTozNyArMDQwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbHg6IGFzayBmb3IgYSBHTDMgY29yZSBjb250ZXh0CgoyMDE0LTExLTI3IDIxOjIyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1pbm9yIGNsZWFudXAKCjIwMTQtMTEtMjYgMTU6MDI6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSAgY29tcG9zaXRvcjogSW1wbGVtZW50IHJlc2NhbGluZyBvZiB0aGUgaW5wdXQgdmlhIHBhZCBwcm9wZXJ0aWVzCgkgIGNvbXBvc2l0b3IgaGFzIG5vdyB0aGUgc2FtZSBpbnRlcmZhY2UgYXMgZ2x2aWRlb21peGVyLgoKMjAxNC0xMS0yNyAyMDozNDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDb3B5IG92ZXIgbW9yZSBmaWVsZHMgZnJvbSB0aGUgcmVsZXZhbnQgdmlkZW8taW5mbwoJICBnc3RfdmlkZW9faW5mb19zZXRfZm9ybWF0KCkgd2lsbCByZXNldCB0aGUgY29tcGxldGUgdmlkZW8taW5mbywgYnV0CgkgIHdlIHdhbnQgdG8ga2VlcCB2YWx1ZXMgbGlrZSB0aGUgUEFSLCBjb2xvcmltZXRyeSBhbmQgY2hyb21hIHNpdGUuCgkgIE90aGVyd2lzZSB3ZSByaXNrIHNldHRpbmcgZGlmZmVyZW50IHZhbHVlcyBvbiB0aGUgc3JjcGFkIGNhcHMgdGhhbgoJICB3aGF0IGlzIGFjdHVhbGx5IGluc2lkZSB0aGUgYnVmZmVycy4KCjIwMTQtMTEtMjcgMjA6MjU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRGlyZWN0bHkgdXNlIHRoZSBjb252ZXJ0ZXJzIHZpZGVvLWluZm8gaW5zdGVhZCBvZiByZWNhbGN1bGF0aW5nIGl0CgoyMDE0LTExLTI3IDE5OjUyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIHNvdXJjZSBwYWQgbmVnb3RpYXRpb24gb25seSBmcm9tIHRoZSBhZ2dyZWdhdGVkIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBuZWdvdGlhdGUgZnJvbSB0aGUgc2lua3BhZCBzdHJlYW1pbmcgdGhyZWFkcyBhdAoJICB0aGUgc2FtZSB0aW1lIGFzIG9uIHRoZSBzcmNwYWQgc3RyZWFtaW5nIHRocmVhZCwgYW5kIHRoZW4gYWxsIGtpbmRzCgkgIG9mIGNyYXp5IGJ1Z3MgaGFwcGVuIHRoYXQgZG9uJ3QgbWFrZSBhbnkgc2Vuc2UgYXQgYWxsLgoKMjAxNC0xMS0yNyAxODo0NjowMyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvY29udmVydDogSGlkZSBhbGwgY29udmVyc2lvbiByZWxhdGVkIGZpZWxkcwoJICBBbmQgZG8gbm90IGRlbGF5IHRoZSBzZXR0aW5nIG9mIHRoZSBjb252ZXJzaW9uX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc2OAoKMjAxNC0xMS0yNyAxNjo0MzozOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEbyBub3QgdHJ5IHRvIHJlc2l6ZSBhIGJ1ZmZlciB0byBhIG5lZ2F0aXZlIHNpemUgb24gRU9TCgoyMDE0LTExLTI2IDE4OjI0OjA1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEV4cG9zZSB2bWV0aG9kcyB0byBzZXQgY29udmVydGVycyBhbmQgcHJlcGFyZS9jbGVhbiBmcmFtZXMKCSAgVGhpcyBnaXZlcyBtb3JlIGZsZXhpYmlsaXR5IHRvIHRoZSBzdWJjbGFzc2VzIGFuZCBwZXJtaXRzIHRvIHJlbW92ZSB0aGUKCSAgR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmRpc2FibGVfZnJhbWVfY29udmVyc2lvbiB1Z2x5IEFQSS4KCSAgV0FSTklORzogVGhpcyBicmVha3MgdGhlIEFQSSBhcyBpdCByZW1vdmVzIHRoZSBkaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24KCSAgZmllbGQKCSAgQVBJOgoJICArIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5maW5kX2Jlc3RfZm9ybWF0CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPnNldF9mb3JtYXQKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+cHJlcGFyZV9mcmFtZQoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5jbGVhbl9mcmFtZQoJICAtIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5kaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc2OAoKMjAxNC0xMS0yNiAxNTo0MTozNyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IEhhbmRsZSBGTFVTSElORyBzZWVrIGV2ZW50cyBldmVuIGluIFBBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzU3CgoyMDE0LTExLTI2IDE1OjQzOjEyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogUHJvcGVybHkgaGFuZGxlIFBBVVNFRCBzdGF0ZQoJICBJbiBQQVVTRUQgc3RhdGUgd2Ugc2hvdWxkIGp1c3QgcHJlcm9sbCwgc28gZ2V0IG9uZSBidWZmZXIKCSAgYW5kIHN0b3AgbW9uaXRvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc1NwoKMjAxNC0xMC0zMSAxMTowMTo0NyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IExldCBhIGZ1bGwgcmVuZWdvdGlhdGlvbiBoYXBwZW4gYWZ0ZXIgcmVtb3ZpbmcgdGhlIGxhc3QgcGFkCgkgIFdpdGggdGhlIGN1cnJlbnQgY29kZSwgd2Ugd2lsbCBlbmQgdXAgc2V0dGluZyB0aGUgcHJlZmVycmVkIGRvd25zdHJlYW0KCSAgZm9ybWF0IGFzIHRoZSBzcmNwYWQgZm9ybWF0LCBhbmQgaXQgbWlnaHQgbm90IGJlIGFjY2VwdGVkIGJ5IHRoZSBuZXh0CgkgIHNpbmtwYWQgdG8gYmUgYWRkZWQuIFdlIHNob3VsZCBpbnN0ZWFkIGxldCB0aGUgbmV4dCBzaW5rcGFkIHJlY29uZmlndXJlCgkgIGV2ZXJ5dGhpbmcuCgoyMDE0LTExLTI3IDEzOjQwOjU2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBhZGQgcXVhbGl0eSBwcm9wZXJ0eQoKMjAxNC0xMS0yNyAxMzozMzowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHNldCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgoyMDE0LTExLTI3IDE4OjA5OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBVbnJlZiBidWZmZXIgd2l0aCB0aGUgY29ycmVjdCBmdW5jdGlvbgoKMjAxNC0xMS0yNyAxODowOToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogSGFuZGxlIGZhaWx1cmUgb2YgbWVtb3J5IGFsbG9jYXRpb24gZ3JhY2VmdWxseQoKMjAxNC0xMS0yNyAxODowNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlIGdfdHJ5X21hbGxvYygpIGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZXMKCSAgZ19tYWxsb2MoKSBhYm9ydHMgaWYgYWxsb2NhdGlvbiBmYWlscywgaXQncyBwb2ludGxlc3MgdG8gY2hlY2sgYWdhaW5zdCBOVUxMCgkgIGFmdGVyd2FyZHMuIFRoYXQncyB3aHkgZ190cnlfbWFsbG9jKCkgZXhpc3RzLgoKMjAxNC0xMS0yNyAxNzoxMToxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjMyY2ZjZCB0byBlZjFmZmRjCgoyMDE0LTExLTI3IDEwOjQ4OjQzICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBzdXBwb3J0IFJHQjE2L0JHUjE2IHZpZGVvIGZvcm1hdCBkb3dubG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODAxCgoyMDE0LTExLTI3IDEzOjAxOjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IG9ubHkgYXR0ZW1wdCBhIHJlc2l6ZSB3aGVuIHRoZSB3aW5kb3cgaGFzIGFscmVhZHkgcmVzaXplZAoJICBmaXhlcyBhIGJsYWNrIHN0YXJ0dXAgc2NyZWVuIG9uIHdheWxhbmQKCjIwMTQtMTEtMjcgMTE6NDc6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCByZXNpemluZyB0aGUgd2luZG93IHVzaW5nIHRoZSByaWdodCBtb3VzZSBidXR0b24KCjIwMTQtMTEtMjYgMjI6MDU6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVc2UgbmV3ZXIgQVhfUFRIUkVBRCBpbnN0ZWFkIG9mIEFDWF9QVEhSRUFECgoyMDE0LTExLTI2IDE0OjM2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIFJlbW92ZSB1bnBvcnRlZCBhbmQgb2Jzb2xldGUgcXR3cmFwcGVyIHBsdWdpbiBjb2RlCgkgIFF1aWNrVGltZSBpcyBkZXByZWNhdGVkLCB3ZSB3YW50IG5ldyBwbHVnaW5zIGJhc2VkCgkgIG9uIGF2Zm91bmRhdGlvbiAob3N4KSBvciBkeHZhL21lZGlhZm91bmRhdGlvbiAod2luZG93cykuCgoyMDE0LTExLTI3IDAxOjI3OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHN1cHBvcnQgZml4ZWQgZGltZW5zaW9ucyBvbiBib3RoIHNpZGVzIG9mIHRoZSBlbGVtZW50CgkgIEZpeGVzOgoJICB3aWR0aD0zMjAsaGVpZ2h0PTI0MCAhIGdsZmlsdGVyICEgd2lkdGg9ODAwLGhlaWdodD02MDAKCSAgd2lkdGg9MjMwLGhlaWdodD0yNDAgISBnbGZpbHRlciAhIHdpZHRoPTYwMAoJICAuLi4gISBnbGZpbHRlciAhIHdpZHRoPTgwMAoKMjAxNC0xMS0yNSAxMzozMzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZml4IGF1dG9tYWdpYyBkaXNhYmxpbmcgb2YgZGVza3RvcCBHTAoJICBJZiBjb25maWd1cmUgZmluZHMgR0wgKyBHTEVTMiBidXQgdGhlIHVzZXIgcGFzc2VzIC0tZW5hYmxlLWdsZXMyIGFuZAoJICB0aGUgdHdvIEdMIEFQSSdzIGNhbm5vdCBiZSBidWlsdCBhZ2FpbnN0IHRvZ2V0aGVyLCBjb25maWd1cmUgd2FzIHN0aWxsCgkgIGFsbG93aW5nIHRoZSBkZXNrdG9wIEdMIHN0YWNrIHRvIGJlIGJ1aWx0LgoKMjAxNC0xMS0yNiAxMzowNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHNvIHN5bmMgcGFkIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgY29udmVyc2lvbiBpcyBkaXNhYmxlZAoKMjAxNC0xMS0yNiAxMjozNTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJICBjb21wb3NpdG9yOiBSZW1vdmUgdW51c2VkIHpvcmRlciBwYWQgcHJvcGVydHkKCSAgSXQncyBoYW5kbGVkIGluIHZpZGVvYWdncmVnYXRvciBhbHJlYWR5LgoKMjAxNC0xMS0yMyAyMzo0OTo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yIChHQ0MpIDQuMi4xCgkgICJ3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkCgkgIHJhbmdlIG9mIGRhdGEgdHlwZSIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3MwoKMjAxNC0xMS0yNSAxODo1Mzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogR3N0VmlkZW9NZXRhIGlzIHN1cHBvcnRlZCBqdXN0IGZpbmUsIHRlbGwgdXBzdHJlYW0gYWJvdXQgdGhhdAoJICBBbHNvIHByb3ZpZGUgYSBHc3RWaWRlb0J1ZmZlclBvb2wgdG8gdXBzdHJlYW0ganVzdCBpbiBjYXNlLgoKMjAxNC0xMS0yNCAxMzoyNTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGRlYnVnIG1lc3NhZ2UgZm9ybWF0IGlzc3VlcwoJICBBbmQgcHJpbnQgbGFzdCBiaXRzIG9mIEdVSUQgcHJvcGVybHkgaW5zdGVhZAoJICBvZiBwcmludGluZyBub25zZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA1NQoKMjAxNC0xMS0yNSAwODoyNDoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMiAoR0NDKSA0LjIuMQoJICAid2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZAoJICByYW5nZSBvZiBkYXRhIHR5cGUiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzQKCjIwMTQtMTEtMjQgMTk6NTM6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IFgxMQoJICBMaWtlIHdlIGRvIGluIC1iYXNlIGFuZCAtZ29vZCBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwNDcKCjIwMTQtMTEtMjQgMTk6MjE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogVXNlIGEgZml4ZWQgbnVtYmVyIG9mIHNsaWNlcyBieSBkZWZhdWx0CgoyMDE0LTExLTI0IDE5OjE2OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBzb21lIG1vcmUgZW5jb2RpbmcgcHJvcGVydGllcwoJICBNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zCgkgIGJhc2VkIG9uIGEgcGF0Y2hzZXQgYnkgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZXJpY3Nzb24uY29tPgoKMjAxNC0xMS0yNCAxODo0MDo1MyArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGJ5IG1vdmluZyBkZWNsYXJhdGlvbiB3aGVyZSBpdCBpcyBhY3R1YWxseSB1c2VkCgoyMDE0LTExLTI0IDE0OjA3OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgMmsgbW9kZXMKCjIwMTQtMTEtMjQgMTM6NTY6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSEQxMDgwaTUwIGlzIDUwIGZyYW1lcyBwZXIgc2Vjb25kCgoyMDE0LTExLTI0IDE3OjU4OjQyICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTEtMjQgMTc6MTg6NDQgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgZHZic2VjdGlvbjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMS0yNCAxNjo1NDo0MiArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoJICBnc3RtcGVndHNkZXNjcmlwdG9yLmM6Nzc4OjE2OiB3YXJuaW5nOiBmb3JtYXQgc3BlY2lmaWVzIHR5cGUgJ3Vuc2lnbmVkIGxvbmcnIGJ1dCB0aGUgYXJndW1lbnQgaGFzIHR5cGUgJ2ludCcgWy1XZm9ybWF0XQoKMjAxNC0xMS0yNCAxMTozMjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IHZhbGlkIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x1cGxvYWQuYzo0NDI6MzI6IGVycm9yOiBpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHkgWy1XZXJyb3IsLVdlbXB0eS1ib2R5XQoJICBpZiAodXBsb2FkLT50ZXh0dXJlX2lkc1tpXSk7CgkgIF4KCjIwMTQtMTEtMjQgMTA6NDM6MjMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogc2hpcCB0aGUgZ3N0Z2xjb250ZXh0X2VnbC5oIGhlYWRlcgoJICBJdCBpcyByZXF1aXJlZCBieSBnc3RlZ2xpbWFnZW1lbW9yeS5oLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjExCgoyMDE0LTExLTIzIDIxOjQzOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsOiBzaGFkZXJ2YXJpYWJsZXM6IG1ha2UgcGFyc2luZyBvZiBmbG9hdHMgbG9jYWxlLWluZGVwZW5kZW50CgkgIEZsb2F0aW5nIHBvaW50IG51bWJlcnMgYXJlIHdyaXR0ZW4gZGlmZmVyZW50bHkgaW4gZGlmZmVyZW50CgkgIGxvY2FsZXMsIGUuZy4gaW4gbWFueSBjb3VudHJpZXMgMS8yID0gMCw1IGluc3RlYWQgb2YgMC41LCBhbmQKCSAgc3RydG9kIHdpbGwgbm90IGJlIGFibGUgdG8gcGFyc2UgIjAuNSIgY29ycmVjdGx5IGluIHN1Y2ggYQoJICBsb2NhbGUuCgoyMDE0LTExLTI0IDAyOjUyOjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2xzaGFkZXJ2YXJpYWJsZXM6IGFsc28gdHJpbSBcciBhcyB3ZWxsIGFzIFxuCgoyMDE0LTExLTA1IDIwOjE4OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVhcmNoaXRlY3R1cmUgZm9yIG5vbiBHTE1lbW9yeSBpbnB1dHMvb3V0cHV0cwoJICBBbGxvd3Mgb3RoZXIgbWVtb3J5IHR5cGVzIHRvIGJlIGltcGxlbWVudGVkL3JldHVybmVkL3VzZWQgYnkgdGhlIGNhbGxlci4KCjIwMTQtMTEtMTQgMTA6NTU6MTQgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsODYubGVlQGxnZS5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IHNlbmQgU0VFS0lORyBxdWVyeSB1cHN0cmVhbSBmaXJzdAoJICBTb21ldGltZXMgcmF3cGFyc2UgZG9lcyBub3QgaGFuZGxlIHRoZSBzZWVraW5nIHF1ZXJ5CgkgIHByb3Blcmx5LCB0aGUgcmF3cGFyc2Ugc2hvdWxkIHNlbmQgdGhlIHF1ZXJ5IHVwc3RyZWFtCgkgIGZpcnN0LiBGb3IgZXhhbXBsZSwgdXBzdHJlYW0gY291bGQgc3VwcG9ydCBzZWVraW5nIGluCgkgIFRJTUUgZm9ybWF0IChidXQgbm90IGluIEJZVEUgZm9ybWF0KSwgc28gdGhlIEJZVEUgZm9ybWF0CgkgIHNlZWtpbmcgcXVlcnkgdGhhdCByYXdwYXJzZSBzZW5kcyBpbiBwdXNoIG1vZGUgd291bGQKCSAgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjc2NAoKMjAxNC0xMS0yMSAxNTo0Njo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogbGV0IFZUIHBpY2sgdGhlIGJpdHJhdGUgYnkgZGVmYXVsdAoKMjAxNC0xMS0yMCAxMDoyMzozMCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IGZpeCBydHAvcnRjcCBzaW5rIGV2ZW50IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0NTEKCjIwMTQtMTEtMjAgMTY6MDQ6MzQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHNldCBIMjY0X0Jhc2VsaW5lX0F1dG9MZXZlbCBvbiBPU1ggYXMgd2VsbAoKMjAxNC0xMS0yMCAxNTo1MDoxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZGlzYWJsZSB0aGUgcmVvcmRlciBxdWV1ZSBmb3IgYmFzZWxpbmUgc3RyZWFtcwoKMjAxNC0xMS0yMCAwOTo0MTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggZGl2aWRlIGJ5IHplcm8gaW4gdGhlIHBpY3R1cmUgYnVmZmVyIGxlbmd0aCBjYWxjdWxhdGlvbgoKMjAxNC0xMS0yMCAwOToxMzo1OCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNyaXRpY2FsIGVycm9yIHdoaWxlIHNlZWsgcGxheWJhY2stdGVzdChzdG9wIHN0YXRlKQoJICBJZiB3ZSBzZWVrIHdoZW4gbWVkaWEgaXMgaW4gc3RvcCBzdGF0ZSwgcGxheWJhY2stdGVzdCBnaXZlcwoJICBjcml0aWNhbCBlcnJvciwgc2luY2UgY29udGV4dCBvZiBnbGltYWdlc2luayBpcyBkZXN0cm95ZWQgZHVyaW5nIHN0b3AuCgkgIEJ1dCBzaW5jZSBjb250ZXh0IGlzIG5vdCBwcmVzZW50LCB3ZSBuZWVkIG5vdCBoYW5kbGUgc2VuZF9ldmVudCBpbiBnbGltYWdlc2luawoJICBIZW5jZSBhZGRpbmcgYSBjb25kaXRpb24gdG8gY2hlY2sgaWYgY29udGV4dCBpcyB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDMwNQoKMjAxNC0xMS0xOSAxNzoxNzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5ibG9jayBldmVudHMvcXVlcmllcyBpbW1lZGlhdGVseSBpZiB0aGUgcGFkIGlzIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MTU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERyb3Agc2VyaWFsaXplZCBldmVudHMvcXVlcmllcyBpZiB0aGUgcGFkIGlzIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEJsb2NrIHNlcmlhbGl6ZWQgZXZlbnRzL3F1ZXJpZXMgdW50aWwgdGhlIHBhZCBoYXMgY29uc3VtZWQgYWxsIGJ1ZmZlcnMKCSAgT3RoZXJ3aXNlIHRoZSBjYXBzIG9mIHRoZSBwYWQgbWlnaHQgY2hhbmdlIHdoaWxlIHRoZSBzdWJjbGFzcyBzdGlsbCB3b3JrcyB3aXRoCgkgIGEgYnVmZmVyIG9mIHRoZSBvbGQgY2FwcywgYXNzdW1pbmcgdGhlIHRoZSBjdXJyZW50IHBhZCBjYXBzIGFwcGx5IHRvIHRoYXQKCSAgYnVmZmVyLiBXaGljaCB0aGVuIGxlYWRzIHRvIGNyYXNoZXMgYW5kIG90aGVyIG5pY2UgZWZmZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCBvdXRwdXQgMC1kdXJhdGlvbiBidWZmZXJzIGF0IHRoZSBzZWdtZW50IGVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggdHlwbyBpbiBkZWJ1ZyBvdXRwdXQKCjIwMTQtMTEtMTcgMTQ6MDU6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggdXAgUW9TIGhhbmRsaW5nIGZvciBsaXZlIHNvdXJjZXMKCSAgT25seSBhdHRlbXB0IGFkYXB0aXZlIGRyb3Agd2hlbiB3ZSBhcmUgbm90IGxpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xNyAxNDowMDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBfZ2V0X2xhdGVuY3koKSBmb3Igc3ViY2xhc3MgdXNhZ2UKCSAgQVBJOiBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTE3IDA5OjM2OjUyICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBidWlsZCBlcnJvcnMgd2hlbiBHU1RfR0xfSEFWRV9PUEVOR0wgaXMgMAoJICBNb3ZpbmcgdmFyaWFibGVzIHdpdGhpbiAjaWYgR1NUX0dMX0hBVkVfT1BFTkdMLCB3aGljaCBhcmUgbm90IGdvaW5nIHRvIGJlIHVzZWQgb3RoZXJ3aXNlLgoJICBhbmQgd2hpY2ggYXJlIG5lZWRlZCBvbmx5IHdoZW4gT3BlbkdsIGlzIHByZXNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNQoKMjAxNC0xMS0xNyAxMToxMDozNSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogcmVsaWNlbnNlIG9wZW5jdiBnc3RoYW5kZGV0ZWN0X3Rlc3QgdG8gTEdQTHYyKwoJICBUaGUgR1BMMyBsaWNlbnNlIGhlYWRlciB3YXMgY29weSduJ3Bhc3RlZCBmcm9tIGEKCSAgbmVpZ2hib3VyaW5nIHNvdXJjZSBmaWxlIGJ5IG1pc3Rha2UsIHRoZSBvcmlnaW5hbAoJICBjb2RlIHdhcyBub3QgR1BMMyBsaWNlbnNlZCwgYnV0IGZlbGwgdW5kZXIgdGhlCgkgIGRlZmF1bHQgR1N0cmVhbWVyIGxpY2Vuc2UsIHdoaWNoIGlzIExHUEx2MisuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTQtMTEtMTcgMTg6NTA6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYWRkIHJlYWQtb25seSBjb250ZXh0IHByb3BlcnR5CgoyMDE0LTExLTE3IDE4OjUwOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBhZGQgcmVhZC1vbmx5IGNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTEtMTEgMTc6MDg6MjUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uaXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgb3BlbmN2LWV4YW1wbGU6IFVzZSBnX3NucHJpbnRmIGluc3RlYWQgb2Ygc3ByaW50ZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODQ2CgoyMDE0LTExLTE2IDIwOjMyOjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIGV4cGxpY2l0IGNvbXBhcmlzb25zIGFnYWluc3QgMCBmb3IgdHJ1ZS9mYWxzZQoKMjAxNC0xMS0xNiAxMTowMDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogT25seSB1c2UgY29udmVydFJlY3RUb0JhY2tpbmcgb24gT1NYID49IDEwLjcKCSAgSXQgZG9lcyBub3QgZXhpc3QgYmVmb3JlIGFuZCBvbGRlciB2ZXJzaW9ucyBhbHNvIGRvbid0IGhhdmUKCSAgc3VwcG9ydCBmb3IgSGlEUEkgZGlzcGxheXMgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjAxCgoyMDE0LTExLTE2IDEwOjU3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IFVzZSBudW1lcmljIE9TWCB2ZXJzaW9uIGluc3RlYWQgb2YgdGhlIG1hY3JvCgkgIFRoZSBtYWNybyBpcyBub3QgZGVmaW5lZCBvbiBvbGRlciBPU1ggdmVyc2lvbnMgYW5kIGV2YWx1YXRlcyB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjAxCgoyMDE0LTExLTE1IDIxOjU5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwb3NzaWJsZSBjcmFzaCBieSBwYXNzaW5nIDY0IGJpdHMgZm9yIDY0LWJpdCBxdWV1ZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTkxCgoyMDE0LTExLTE0IDEwOjQwOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbgoKMjAxNC0xMS0xMCAxMDowMToyNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnYi5kZXZlbEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZGVyaXZhdGlvbiBvZiBNYXhQaWNOdW0gdmFyaWFibGUuCgkgIFRoZSBsb2dpYyB0byBjb21wdXRlIHRoZSBNYXhQaWNOdW0gdmFyaWFibGUgd2FzIHJldmVyc2VkLiBJbiBwYXJpY3VsYXIsCgkgIE1heFBpY051bSBpcyBkb3VibGUgTWF4RnJhbWVOdW0gb25seSBpZiBmaWVsZF9waWNfZmxhZyBpcyBzZXQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI5MQoKMjAxNC0xMS0xMyAxMjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRG9uJ3Qgb3ZlcnJpZGUgdGhlIGFwcGxpY2F0aW9uIGRlbGVnYXRlCgkgIE90aGVyd2lzZSBpbnRlcmVzdGluZyB0aGluZ3Mgd2lsbCBoYXBwZW4gaW4gQ29jb2EgYXBwbGljYXRpb25zLCBsaWtlCgkgIGluZmluaXRlIGV2ZW50IGxvb3BzIHRoYXQgYmxvY2sgdGhlIE5TQXBwbGljYXRpb24gbG9vcCBmb3JldmVyLgoJICBUaGlzIHdhcyBvbmx5IG5lZWRlZCBmb3IgR05VU3RlcCBhbmQgdGh1cyBjYW4gc2FmZWx5IGJlIHJlbW92ZWQgbm93LgoKMjAxNC0xMS0xMyAxMTo1ODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsL2NvY29hOiBSZW1vdmUgR05VU3RlcCBzdXBwb3J0CgkgIFVudGlsIGdjYyBhbmQgR05VU3RlcCBwcm9wZXJseSBzdXBwb3J0IE9iamVjdGl2ZS1DIGJsb2NrcyBhbmQgb3RoZXIKCSAgIm5ldyIgZmVhdHVyZXMgb2YgT2JqZWN0aXZlLUMgd2UgY2FuJ3QgcHJvcGVybHkgc3VwcG9ydCB0aGVtIHdpdGhvdXQKCSAgbWFraW5nIHRoZSBjb2RlIG11Y2ggbW9yZSB1Z2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MTUyCgoyMDE0LTExLTEyIDE4OjA2OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJICBpbnRlcmF1ZGlvc2luazogTWFrZSBzdXJlIHRvIHN0b3JlIGF0IGxlYXN0IHBlcmlvZC10aW1lIHNhbXBsZXMgYXQgb25jZSBpbiB0aGUgYWRhcHRlcgoJICBJdCdzIGJldHRlciB0byBjcmVhdGUgc29tZSBtb3JlIHNpbGVuY2UgdGhhbiBoYXZpbmcgdGhlIHNvdXJjZSBwdWxsIG11bHRpcGxlCgkgIHNob3J0IGJ1ZmZlcnMgb3V0IG9mIHRoZSBhZGFwdGVyIGFuZCBpbnNlcnQgc2lsZW5jZSBiZXR3ZWVuIHRoZW0uCgoyMDE0LTExLTEyIDE2OjQ1OjEyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggYnVpbGQgb24gaU9TCgoyMDE0LTExLTEyIDE1OjM1OjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBjb3JlbWVkaWFidWZmZXI6IHNldCAtPnBpeGVsX2J1ZiBmb3IgQ1ZQaXhlbEJ1ZmZlciBidWZmZXJzCgkgIEZpeCBhIGJ1ZyBmb3Igd2hpY2ggd2UgbmV2ZXIgYWN0dWFsbHkgc2V0IC0+cGl4ZWxfYnVmIHRvIG5vbi1OVUxMIGZvcgoJICBDVlBpeGVsQnVmZmVyIGJ1ZmZlcnMuCgoyMDE0LTA2LTA2IDEzOjU3OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogc2V0IGNoYW5uZWwgcG9zaXRpb25zIHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAzOAoKMjAxNC0xMS0xMiAxMzo1ODo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFN0b3Agc2hvd2luZyB0aGUgY3VycmVudCBmcmFtZSBhZnRlciAxIHNlY29uZCwgbm90IGFmdGVyIDMwIGZyYW1lcwoKMjAxNC0xMS0xMiAwOTo0MTo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBDRkxBR1MgYW5kIExBREQgZm9yIGdsaW1hZ2VzaW5rIHVuaXQgdGVzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTEyIDExOjUyOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBuZXcgZW5hYmxlLWZyYW1lLXNraXAgcHJvcGVydHkgYW5kIGRpc2FibGUgaXQgYnkgZGVmYXVsdAoJICBPdGhlcndpc2UgZS5nLiB2aWRlb3Rlc3RzcmMgISBvcGVuaDI2NGVuYyAhIC4uLiB3aWxsIGRyb3AgZXZlcnkgc2Vjb25kIGZyYW1lCgkgIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSB0YXJnZXQgYml0cmF0ZSBjYW4ndCBiZSByZWFjaGVkIHdpdGhvdXQgbG9vc2luZyB0b28KCSAgbXVjaCBxdWFsaXR5LgoKMjAxNC0xMS0xMiAwOTo1OTo1MyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGNvbXBpbGF0aW9uIG9uIDwgMTAuOQoKMjAxNC0xMS0xMiAxMTo0NDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBzZXQgdGhlIHVwbG9hZCB0byBOVUxMIG9uIHRoZSBkcmFpbiBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDE3OjA0OjQ4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbmlzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogQ29ycmVjdCBpbnZhbGlkIGNvbW1lbnQgdGV4dAoKMjAxNC0xMS0xMSAyMzo1NDo0NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGFkZCB1bml0IHRlc3QgdGhhdCBjaGVja3MgZm9yIGdsaW1hZ2VzaW5rIGRyYWluIHF1ZXJ5IGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMjM6NDk6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZWxlYXNlIHN0b3JlZCBidWZmZXJzIG9uIGRyYWluIHF1ZXJ5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMjM6NDM6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBkbyBub3QgcmFpc2UgYSBjcml0aWNhbCBtc2cgaWYgdGhlIGJhY2tlbmQgZG9lcyBub3QgaGFuZGxlIHdpbmRvdyBldmVudHMKCSAgRml4ICJhc3NlcnRpb24gJ3dpbmRvd19jbGFzcy0+aGFuZGxlX2V2ZW50cyAhPSBOVUxMJyBmYWlsZWQiCgkgIGlmIG5vdCB1c2luZyBhIFgxMSB3aW5kb3cuCgoyMDE0LTExLTExIDE4OjAxOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBlbmFibGUgdGhlIGh3IGVuY29kZXIgb24gT1NYCgoyMDE0LTExLTExIDEyOjAwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQ2hlY2sgdGhlIGNvcnJlY3QgdmFyaWFibGUgZm9yIGZhaWx1cmUKCSAgSWYgd2UgY2FuJ3QgZ2V0IGFuIG91dHB1dCwgd2Ugd291bGQgb3RoZXJ3aXNlIGp1c3QgdXNlIGl0IGxhdGVyIGFuZCBjcmFzaC4KCjIwMTQtMTEtMTEgMTE6MTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBNYWtlIHN1cmUgd2UgaGF2ZSBhIHdyaXRhYmxlIGJ1ZmZlciBiZWZvcmUgd2Ugc3RhcnQgY2hhbmdpbmcgbWV0YWRhdGEKCjIwMTQtMTEtMTEgMTE6MTU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBTZXQgdGhlIEdBUCBmbGFnIG9uIHJlcGVhdGVkIGJ1ZmZlcnMKCSAgdmlkZW9yYXRlIGRvZXMgdGhlIHNhbWUgYW5kIGl0IGFsbG93cyBvcHRpbWl6YXRpb25zIGRvd25zdHJlYW0uCgoyMDE0LTExLTExIDExOjEyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogU2V0IHRoZSBHQVAgZmxhZyBvbiBidWZmZXJzIHRoYXQgb25seSBjb250YWluIHNpbGVuY2UKCjIwMTQtMTEtMTEgMTQ6MjM6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmVtb3ZlIHRoZSB3aWR0aC9oZWlnaHQgZmllbGRzIGZyb20gdGhlIGNhcHMgdG8gc3VwcG9ydCBmcmFtZSByZXNpemluZwoJICBJdCB3YXMgcHJldmlvdXNseSBvbmx5IG9jY3VyaW5nIHdpdGggc3lzbWVtIGNhcHMgZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMzNAoKMjAxNC0xMS0xMCAxNzo0MjoyMCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogZml4IEdzdEgyNjRQYXJzZXJSZXN1bHQgZG9jdW1lbnRhdGlvbiB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MDYKCjIwMTQtMTEtMTAgMTY6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIHgyNjVlbmMgdW5pdCB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTQtMTEtMDkgMjA6NTM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBvcHRpbWlzZSByZWFkaW5nIG9mIHBuZyBmaWxlcwoJICBSZWFkIFBORyBkYXRhIGNodW5rIGluIG9uZSBnbyBieSBsZXR0aW5nIHRoZSBwYXJzZXIKCSAgYmFzZSBjbGFzcyBrbm93IHRoZSBzaXplIHdlIG5lZWQsIHNvIHRoYXQgaXQgZG9lc24ndAoJICBkcmlwLWZlZWQgdXMgc21hbGwgY2h1bmtzIG9mIGRhdGEgKGNhdXNpbmcgYSBsb3Qgb2YKCSAgcmVhbGxvY3MgYW5kIG1lbWNweSBpbiB0aGUgcHJvY2VzcykgdW50aWwgd2UgaGF2ZQoJICBldmVyeXRoaW5nLgoJICBJbXByb3ZlcyBwYXJzaW5nIHBlcmZvcm1hbmNlIG9mIHZlcnkgbGFyZ2UgUE5HIGZpbGVzCgkgICg2NU1CKSBmcm9tIH4xMyBzZWNvbmRzIHRvIGEgY291cGxlIG9mIG1pbGxpc2Vjcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE3NgoKMjAxNC0xMS0wOSAxOToyMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0c211eC9tcHRzX3Rlc3QyLmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgcG9pbnRsZXNzIG1wZWd0c211eCBleGFtcGxlCgkgIFNlcnZlcyBubyBwdXJwb3NlLCBpcyBub3QgZXZlbiBob29rZWQgdXAgdG8gdGhlCgkgIGJ1aWxkIHN5c3RlbSwgaGFzIGhhcmQgY29kZWQgZmlsZSBuYW1lcyBhbmQgcGF0aHMsCgkgIGFuZCBjYW4gZWFzaWx5IGJlIHJlcGxhY2VkIHdpdGggYSBnc3QtbGF1bmNoIGxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NDQKCjIwMTQtMTEtMDkgMTA6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogRG9uJ3QgcHJldGVuZCB0byBzdXBwb3J0IHJlY29uZmlndXJhdGlvbgoJICBXZSB3aWxsIHJ1biBpbnRvIGFuIGFzc2VydGlvbiBpbiBzZXRfY2FwcygpIGlmIHdlIHRyeSB0byBjaGFuZ2UKCSAgY2FwcyB3aGlsZSB0aGUgc291cmNlIGlzIGFscmVhZHkgcnVubmluZy4gRG9uJ3QgdHJ5IHRvIGZpbmQgbmV3CgkgIGNhcHMgaW4gR3N0QmFzZVNyYzo6bmVnb3RpYXRlKCkgdG8gcHJldmVudCBjYXBzIGNoYW5nZXMuCgoyMDE0LTEwLTA5IDEzOjExOjQ4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogc2V0IHNlcV9sYXllcl9zZW50IHRvIEZBTFNFIG9uIHJlc2V0KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0wOSAxMzowMzo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogaW1wbGVtZW50IGFzZiB0byAqLWZyYW1lLWxheWVyIHN0cmVhbS1mb3JtYXQKCSAgVGhpcyBjb21taXQgYWRkIGFuIGhlbHBlciB0byBjb252ZXJ0IGEgZnJhbWUgdG8gZnJhbWUtbGF5ZXIgZm9ybWF0IGFuZAoJICB1c2UgaXQgdG8gaW1wbGVtZW50IHRoZXNlIHR3byBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb246CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllcgoJICAtIGFzZiAtLT4gZnJhbWUtbGF5ZXIKCSAgSW4gc2ltcGxlL21haW4gcHJvZmlsZSwgd2UgYmFzaWNhbGx5IGhhdmUgYSByYXcgZnJhbWUsIHNvIGJ1aWxkaW5nIGEKCSAgZnJhbWUgbGF5ZXIgaXNuJ3QgdG9vIGNvbXBsaWNhdGVkLiBCdXQgaW4gYWR2YW5jZWQgcHJvZmlsZSwgdGhlIGZpcnN0CgkgIGZyYW1lLWxheWVyIHNob3VsZCBjb250YWluIHNlcXVlbmNlLWhlYWRlciwgZW50cnlwb2ludCwgYW5kIGZyYW1lIGFuZAoJICBlYWNoIGtleWZyYW1lIHNob3VsZCBjb250YWluIGVudHJ5cG9pbnQsIHNvIHdlIGhhdmUgdG8gaGFuZGxlIHRoZXNlCgkgIGNhcmVmdWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0wOSAxMDozODo0MCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGNoZWNrIG91dHB1dCBmb3JtYXQgYXQgbmVnb3RpYXRpb24gdGltZQoJICBBZGQgYW4gaGVscGVyIHRvIGNoZWNrIHRoYXQgb3V0cHV0IHN0cmVhbS1mb3JtYXQgaXMgY29oZXJlbnQgd2l0aAoJICBwcm9maWxlIGFuZCBoZWFkZXItZm9ybWF0LiBJdCBhbHNvIGNoZWNrIGlmIHdlIGtub3cgaG93IHRvIGRvIHRoZQoJICBjb252ZXJzaW9uIGlmIHRoZSBpbnB1dCBzdHJlYW0tZm9ybWF0IGRpZmZlcnMgZnJvbSBzZWxlY3RlZAoJICBvdXRwdXQtZm9ybWF0LgoJICBTbywgaW4gY2FzZSBvdXRwdXQgc3RyZWFtLWZvcm1hdCBpcyBub3QgYWxsb3dlZCwgaXQgd2lsbCBub3cgZmFpbCBhdAoJICBuZWdvdGlhdGlvbiByYXRoZXIgdGhhbiBpbiBwcmVfcHVzaF9mcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNTozNTozOCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIGFzZiByZWxhdGVkIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbnMKCSAgVGhpcyBjb21taXQgaW50cm9kdWNlcyBhbiBoZWxwZXIgdG8gY29udmVydCBhbiBBU0YgZnJhbWUgdG8gQkRVcyBmb3JtYXQgd2l0aAoJICBzdGFydGNvZGVzIGFuZCB1c2UgdGhpcyBoZWxwZXIgdG8gaW1wbGVtZW50cyBmb2xsb3dpbmcgc3RyZWFtLWZvcm1hdAoJICBjb252ZXJzaW9uczoKCSAgLSBhc2YgLS0+IGJkdQoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1yYXctZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNToyODo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgc2ltcGxlIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbgoJICBJdCBhZGQgdGhlIHN1cHBvcnQgb2YgZm9sbG93aW5nIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbjoKCSAgLSBiZHUgLS0+IHNlcXVlbmNlLWxheWVyLWJkdQoJICAtIGJkdS1mcmFtZSAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1LWZyYW1lCgkgIC0gZnJhbWUtbGF5ZXIgLS0+IHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyCgkgIEZvciB0aGVzZSBjb252ZXJzaW9uLCB0aGUgb25seSByZXF1aXJlbWVudHMgaXMgdG8gcHVzaCBhIHNlcXVlbmNlLWxheWVyCgkgIGJ1ZmZlciBwcmlvciB0byBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE0OjUzOjI1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcHJlcGFyZSB0aGUgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGNvZGUgYW5kIGFkZCB0aGUgc2ltcGxlc3Qgb25lcwoJICBJdCBwcmVwYXJlcyB0aGUgdGVtcGxhdGUgZm9yIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBhbmQgaXQgaW1wbGVtZW50cwoJICB0aGUgZm9sbG93aW5nIGNvbnZlcnNpb246CgkgIC0gc2VxdWVuY2UtbGF5ZXItYmR1IC0tPiBiZHUKCSAgLSBzZXF1ZW5jZS1sYXllci1iZHUtZnJhbWUgLS0+IGJkdS1mcmFtZQoJICAtIHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyIC0tPiBmcmFtZS1sYXllcgoJICBXb3JrIGlzIGRvbmUgaW4gdGhlIHByZV9wdXNoX2ZyYW1lKCkgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTA1IDE3OjU3OjQ3ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IG92ZXJyaWRlIGxhc3Qga25vd24gc3RyZWFtIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxNDEKCjIwMTQtMTEtMDcgMTk6MzA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBzZWVrcyBpbiB0aGUgbWFuaWZlc3QgbmV2ZXIgZmFpbAoJICBTZXQgdm9pZCBhcyB0aGUgcmV0dXJuIGFuZCByZW1vdmUgZXJyb3IgaGFuZGxpbmcgYXMgaXQgY291bGQKCSAgbmV2ZXIgZmFpbAoKMjAxNC0xMS0wNyAxOToxNjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbWFrZSBzdXJlIGZsdXNoZXMgaGF2ZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZXZlbnQKCSAgVGhleSBhcmUgcGFydCBvZiB0aGUgc2FtZSBvcGVyYXRpb24gYW5kIHNob3VsZCBwcmVzZXJ2ZSB0aGUgc2VxbnVtCgoyMDE0LTExLTA3IDE5OjA5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzaW1wbGlmeSBzZWVrIHRvIGVvcyBoYW5kbGluZwoJICBSZW1vdmUgcmVkdW5kYW50IGZsdXNoIHN0b3AgcHVzaGluZyBhbmQgcmVtb3ZlIGEgZ290byB0byBtYWtlCgkgIHRoZSBjb2RlIGZsb3cgc2ltcGxlcgoKMjAxNC0wOS0xNyAxNToyMjo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgbWlzc2luZyBGTFVTSF9TVE9QL0VPUyB3aGVuIG5vIHNlZWtpbmcgcGVyaW9kIGlzIGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDAKCjIwMTQtMTEtMDcgMTU6NTA6NTEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogc2V0IHRoZSBIRUFERVIgZmxhZyBvbiBidWZmZXJzIGNvbnRhaW5pbmcgU1BTIG9yIFBQUwoKMjAxNC0xMS0wNyAxNTo0MToxNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBzZXQgdGhlIEhFQURFUiBmbGFnIG9uIGJ1ZmZlcnMgY29udGFpbmluZyBWUFMsIFNQUyBvciBQUFMKCjIwMTQtMTEtMDcgMTE6NDE6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdzdGdsY29uZmlnOiBQdXQgZ3N0Z2xjb25maWcuaCBpbnRvICQobGliZGlyKS9nc3RyZWFtZXItMS4wL2luY2x1ZGUKCSAgSXQncyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50IGFuZCBzaG91bGQgbm90IGJlIHBsYWNlZCBpbnRvIHRoZSBpbmNsdWRlCgkgIGRpcmVjdG9yeSBhcyB0aGUgYXNzdW1wdGlvbiBpcyB0aGF0IGFsbCB0aG9zZSBoZWFkZXJzIGFyZSBhcmNoaXRlY3R1cmUKCSAgaW5kZXBlbmRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3NjcKCjIwMTQtMTEtMDcgMDA6MTY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogaW5pdGlhbGlzZSBuZXcgR3N0SDI2NE5hbFVuaXQgZmllbGRzCgkgIENJRCAjMTI1MTEwNy4KCjIwMTQtMTEtMDYgMjM6NTg6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBtYWtlIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYWxsIF9lbnN1cmVfZ2xfc2V0dXAKCSAgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgb3ZlcmxheSBpbnRlcmZhY2UgYW5kIGZyb20KCSAgdGhlIG1haW4gdGhyZWFkIGJlZm9yZSBHTCBpcyBzZXR1cC4gQmVmb3JlIHRoaXMgY2hhbmdlLCB0aGF0IHdvdWxkIGNhbGwKCSAgX2Vuc3VyZV9nbF9zZXR1cCgpIGFuZCBkZWFkbG9jayBvbiBPU1guCgkgIENoYW5nZSB0aGluZ3Mgc28gdGhhdCBpdCdzIGFsd2F5cyBzYWZlIHRvIGNhbGwgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzKCkKCSAgd2l0aG91dCBzdHVmZiBkZWFkbG9ja2luZy4KCjIwMTQtMTEtMDYgMjM6NTU6MjAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggcG9zc2libGUgZGVhZGxvY2sgb24gb3N4CgkgIFJlbW92ZSBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FsbCBpbiBnc3RfZ2xpbWFnZV9zaW5rX2luaXQuIEl0IHdhcwoJICB1bm5lY2Vzc2FyeSBhbmQgd2hlbiB0aGUgZWxlbWVudCB3YXMgaW5zdGFudGlhdGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLCBjYXVzZWQgYQoJICBkZWFkbG9jayBpbiBPU1ggY3JlYXRpbmcgdGhlIGNvbnRleHQgKHRocmVhZCkuCgoyMDE0LTExLTA2IDEzOjIyOjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBhZGQgcmVhbHRpbWUgYW5kIGFsbG93LWZyYW1lLXJlb3JkZXJpbmcgcHJvcGVydGllcwoKMjAxNC0xMS0wNyAxMDowMTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjbGFtcCB0aGUgcmVzaXplIHdpZHRoL2hlaWdodCB0byA+PSAxIHRvIGF2b2lkIGEgR0wgZXJyb3IKCjIwMTQtMTEtMDYgMTc6MzY6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBQcmludCBhIHdhcm5pbmcgaW50byB0aGUgZGVidWcgbG9nIG9uIGdlbmVyYXRpbmcgYmxhY2sgZnJhbWVzCgoyMDE0LTExLTA2IDE3OjIxOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVydmlkZW9zaW5rOiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQgaW4gdGhlIHJlbmRlciBmdW5jdGlvbgoKMjAxNC0xMS0wNiAxMTo1MzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZG9uJ3QgdW5uZWNlc2FyaWx5IHNldCBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mzc0CgoyMDE0LTEwLTI5IDIyOjU1OjQ3ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCB1bm5lY2VzYXJpbHkgc2V0IHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNzQKCjIwMTQtMTEtMDYgMTg6NDM6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsdXRpbHM6IG9ubHkgYXR0ZW1wdCBnZXR0aW5nIHRoZSBhcHAgY29udGV4dCB3aGVuIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhIGRpc3BsYXkKCSAgYXZvaWRzIHF1ZXJ5aW5nL21lc3NhZ2luZyB0aGUgd29ybGQgb24gZWFjaCBmcmFtZQoKMjAxNC0xMS0wNiAxODozNzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZhaWwgY29udGV4dCBjcmVhdGlvbiBpZiBnbEdldFN0cmluZyByZXR1cm5zIE5VTEwKCjIwMTQtMTAtMjkgMTI6MjQ6MTYgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbGltYWdlc2luazogaW1wbGVtZW50IGdzdF92aWRlb19vdmVybGF5X2hhbmRsZV9ldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAzNQoKMjAxNC0xMS0wNCAxNToxNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCB2YXJpYWJsZXMKCSAgZ3N0aW50ZXJhdWRpb3NyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2ludGVyX2F1ZGlvX3NyY19jcmVhdGUnOgoJICBnc3RpbnRlcmF1ZGlvc3JjLmM6MzM5OjI3OiBlcnJvcjogdmFyaWFibGUgJ2J1ZmZlcl9zYW1wbGVzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBndWludDY0IHBlcmlvZF9zYW1wbGVzLCBidWZmZXJfc2FtcGxlczsKCSAgXgoKMjAxNC0xMS0wNCAxNDo1Njo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXJhdWRpbzogTWFrZSBidWZmZXIgc2l6ZSBhbmQgbGF0ZW5jeSBoYW5kbGluZyBtb3JlIGV4cGxpY2l0IGFuZCBhZGQgcHJvcGVydGllcyBmb3IgdGhlbQoJICBUaGlzIG5vdyBtYWtlcyBhdWRpbyB3b3JrIG1vcmUgcmVsaWFibGUgd2l0aG91dCBkaXNjb250cy4KCjIwMTQtMTEtMDQgMTM6NTk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IFVzZSB0aGUgYnBmIGZyb20gdGhlIGF1ZGlvIGluZm8gaW5zdGVhZCBvZiBoYXJkY29kaW5nIDQKCjIwMTQtMTEtMDQgMTM6NTg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBPbmx5IGZsdXNoIHRoZSByaW5nYnVmZmVyIG9uIHRoZSBzaW5rIHNpZGUKCjIwMTQtMTEtMDQgMTM6NDY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IEZsdXNoIHRoZSBhZGFwdGVyIHdoZW4gd2UgZ2V0IG5ldyBjYXBzCgkgIElkZWFsbHkgd2Ugd291bGQgZHJhaW4gdGhlIHNvdXJjZSBidXQgdGhhdCB3b3VsZCByZXF1aXJlIG1vcmUgY29vcmRpbmF0aW9uCgkgIGJldHdlZW4gc2luayBhbmQgc291cmNlIHRoYW4gd2hhdCB3ZSBjdXJyZW50bHkgaGF2ZS4KCjIwMTQtMTEtMDQgMDk6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL2NvY29hOiBpbmNsdWRlIGdsMy5oIGluIGNvbmZpZ3VyZSB0b28gZm9yIGNvbnNpc3RlbmN5IHdpdGggZ3N0Z2xhcGkuaAoKMjAxNC0xMS0wMyAyMDo0NTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQWRkIGRvYyBmb3IgdGhlIGlnbm9yZWQgdXNlci1kYXRhIGluIGFjdGlvbiBzaWduYWxzCgoyMDE0LTExLTAzIDIzOjI0OjMzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogdXNlIE5TQXV0b3JlbGVhc2VQb29sIHRvIGZyZWUgcmVzaXplIGRhdGEKCSAgT3RoZXJ3aXNlIHdoZW4gcmVzaXppbmcgdGhlIHdpbmRvdyB5b3Ugd2lsbCBhbHNvIGdldCBtZXNzYWdlcyBsaWtlOgoJICBjbGFzcyBOU0NvbmNyZXRlTWFwVGFibGUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBOU0NvbmNyZXRlVmFsdWUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBOU0NvbmNyZXRlVmFsdWUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBfX05TQ0ZEaWN0aW9uYXJ5IGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCjIwMTQtMTEtMDMgMjM6MDg6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsL2NvY29hOiBpbmNsdWRlIGdsMy5oIHRvIGhhdmUgR0xfQ09OVEVYVF9QUk9GSUxFX01BU0sKCjIwMTQtMTEtMDMgMjM6MDc6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtYWtlIHN1cmUgdG8gdHVybiBvbiBmcmFtZSByZWN0YW5nbGUgY2hhbmdlcyBub3RpZmljYXRpb25zCgkgIERlZmF1bHQgdmFsdWUgb2YgcHJvcGVydHkgcG9zdHNGcmFtZUNoYW5nZWROb3RpZmljYXRpb25zIGlzIFlFUwoJICBidXQgaXQgaXMgd29ydGggdG8gZXhwbGljaXRseSBlbmFibGUgaXQuCgoyMDE0LTExLTAzIDIzOjAyOjE3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IHVuY2F1Z2h0IGV4Y2VwdGlvbiAndW5yZWNvZ25pemVkIHNlbGVjdG9yIHNlbnQgdG8gaW5zdGFuY2UnCgkgIE5lZWQgdG8gc2V0IHRoZSAnOicgYXMgdGhlIHJlc2hhcGUgbWV0aG9kIG5vdyB0YWtlcyBvbmUgcGFyYW1ldGVyLgoJICBGb3IgdGhlIHN0b3J5LCB0aGUgR3N0R0xOU1ZpZXcgd2FzIHByZXZpb3VzbHkgaW5oZXJpdGluZyBmcm9tCgkgIE5TT3BlbkdMVmlldyB3aGljaCBoYXMgYSByZXNoYXBlIGZ1bmN0aW9uIHdpdGhvdXQgYW55IHBhcmFtZXRlci4KCSAgTm93IHRoZSBHc3RHTE5TVmlldyBpbmhlcml0cyBmcm9tIE5TVmlldyBhbmQgd2UgcmUtdXNlIHRoZSByZXNoYXBlCgkgIGZ1bmN0aW9uIG1hbnVhbGx5LgoKMjAxNC0xMS0wMyAyMjo1OTo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIFVzZSB0aGUgcmVzaGFwZSBmdW5jdGlvbiBhZnRlciBiZWluZyBkZWZpbmVkLiBUaGUgb3RoZXIgd2F5CgkgIHdvdWxkIGhhdmUgYmVlbiB0byBkZWNsYXJlIHRoZSByZXNoYXBlIGZ1bmN0aW9uIGluIHRoZSBoZWFkZXIuCgkgIGdzdGdsd2luZG93X2NvY29hLm06IEluIGZ1bmN0aW9uICctW0dzdEdMTlNWaWV3IGRyYXdSZWN0Ol0nOgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJ0dzdEdMTlNWaWV3JyBtYXkgbm90IHJlc3BvbmQgdG8gJy1yZXNoYXBlJwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogKE1lc3NhZ2VzIHdpdGhvdXQgYSBtYXRjaGluZyBtZXRob2Qgc2lnbmF0dXJlCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiB3aWxsIGJlIGFzc3VtZWQgdG8gcmV0dXJuICdpZCcgYW5kIGFjY2VwdAoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJy4uLicgYXMgYXJndW1lbnRzLikKCjIwMTQtMTEtMDMgMTY6NTQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBOZWdvdGlhdGUgZnJhbWVyYXRlIHdpdGggZG93bnN0cmVhbQoJICBQcmVmZXIgdGhlIGNsb3Nlc3QgZnJhbWVyYXRlIHRvIHRoZSBpbnB1dCBmcmFtZXJhdGUgdGhvdWdoLgoKMjAxNC0xMS0wMyAxNjoyNDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyKnNyYzogTm8gbmVlZCB0byBzZXQgY2FwcyBtYW51YWxseSBvbiB0aGUgcGFkCgkgIGJhc2VzcmMgZG9lcyB0aGF0IGZvciB1cyBhbHJlYWR5LgoKMjAxNC0xMS0wMyAxNjoxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBTd2FwIHNvdXJjZS9kZXN0aW5hdGlvbiBwYXJhbWV0ZXJzIG9mIGdzdF92aWRlb19jb252ZXJ0ZXJfZnJhbWUoKQoKMjAxNC0xMS0wMyAxNToxOTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogZml4IG9yZGVyIG9mIGFyZ3VtZW50cwoKMjAxNC0xMS0wMyAxMDowNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBTZXQgYWxsIHJlcXVpcmVkIGZpZWxkcyBvbiB0aGUgdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTQyCgoyMDE0LTExLTAzIDAwOjE3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBmaXggU2luY2UgbWFya2VyIGZvciBnc3RfZ2xfd2luZG93X3J1bl9uYXZpZ2F0aW9uKCkKCjIwMTQtMTEtMDIgMjM6MjQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBkb24ndCBsZWFrIHN1cmZhY2UgbmFtZQoKMjAxMy0wOS0wMyAxMToxMTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc3RhcnQgcHVzaGluZyBkYXRhIGFnYWluIHdoZW4gYSBwYWQgZ2V0cyBsaW5rZWQgbGF0ZXIKCSAgVGhlIHdob2xlIG5vdF9saW5rZWQgb3B0aW1pc2F0aW9uIGlzIHJlYWxseSBhIGJpdCBkb2RneSBoZXJlLCBidXQKCSAgbGV0J3MgbGVhdmUgaXQgaW4gcGxhY2UgZm9yIG5vdyBhbmQgYXQgbGVhc3Qgc3RhcnQgcHVzaGluZyBkYXRhCgkgIGFnYWluIHdoZW4gYSBwYWQgZ290IGxpbmtlZCBsYXRlciwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQgZ2V0IGEKCSAgUkVDT05GSUdVUkUgZXZlbnQuCgoyMDEzLTA5LTAyIDIzOjM2OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSAgbXBlZ2RlbXV4OiBuYW1lc3BhY2UgZml4ZXMKCjIwMTQtMTEtMDIgMTk6MjY6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjEyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGJvaWxlcnBsYXRlIG1hY3JvcwoKMjAxNC0xMS0wMiAxNzoxODoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9ERVBSRUNBVEVEIGFuZCAjaWZuZGVmIEdTVF9SRU1PVkVfREVQUkVDQVRFRAoKMjAxNC0xMS0wMiAxNzoxNzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBmaXggaW5kZW50YXRpb24KCjIwMTQtMTAtMjkgMTg6MTg6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2xzaGFkZXI6IEZpeCBtZW1vcnkgbGVhawoJICBNZW1vcnkgaXMgb25seSBmcmVlZCBpbiB0aGUgVFJVRSBjbGF1c2Ugb2YgdGhlIGlmIGNvbmRpdGlvbmFsLiBGcmVlIGluIHRoZSBlbHNlCgkgIGNsYXVzZSBhcyB3ZWxsLgoJICBBbHNvLCBjb25zb2xpZGF0ZSBnX21hbGxvYyArIHNwcmludGYgaW50byBhIGdfc3RyZHVwX3ByaW50ZigpLgoJICBDSUQgIzEyMTIxNzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM2OAoKMjAxNC0xMS0wMSAxMDoxMDoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzOiBVc2UgT1BVUyBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgT1BVUyBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZSB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTAtMzEgMTc6MzI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCB0eXBlIG9mIHN0cmVhbSB0byBkZWJ1ZyBsb2cKCSAgTWFrZXMgaXQgZmFzdGVyIHRvIGRlYnVnIHdoeSBjZXJ0YWluIHN0cmVhbXMgYXJlIG5vdCBzaG93aW5nCgoyMDE0LTEwLTMxIDE3OjMyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdW5sb2NrIG5vdCBsb2NrZWQgbXV0ZXgKCjIwMTQtMTAtMzEgMTA6NDU6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBjb21tZW50cyB0aGF0IGNvbmZ1c2UgZ3RrLWRvYwoJICBHVEstRG9jIHVzZXMgYSBzcGVjaWFsIHN5bnRheCBmb3IgY29kZSBkb2N1bWVudGF0aW9uLiBBIG11bHRpbGluZSBjb21tZW50IHRoYXQKCSAgc3RhcnRzIHdpdGggYW4gYWRkaXRpb25hbCAnKicgbWFya3MgYSBkb2N1bWVudGF0aW9uIGJsb2NrIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQKCSAgYnkgdGhlIEdUSy1Eb2MgdG9vbHMuIFNvIEdUSy1Eb2MgaXMgY29uZnVzZWQgaWYgYSBjb21tZW50IGJsb2NrIHN0YXJ0cyB3aXRoIHRoYXQKCSAgYWRkaXRpb25hbCAnKicgYnV0IGlzbid0IG1lYW50IHRvIGJlIHByb2Nlc3NlZC4gUmVtb3ZpbmcgdGhpcyBhZGRpdGlvbmFsICcqJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ0NAoKMjAxNC0xMC0zMSAxMjo1Mjo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVzaXplIHRoZSB2aWV3cG9ydCBjb3JyZWN0bHkgb24gYSBjYXBzIGNoYW5nZQoJICB3aXRoIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlLCBpZiB0aGUgd2lkdGggb3IgaGVpZ2h0IGNoYW5nZWQsIHRoZQoJICB2aWV3cG9ydCB3YXNuJ3QgYmVpbmcgdXBkYXRlZCB0byByZXNwZWN0IHRoZSBuZXcgdmlkZW8gd2lkdGggYW5kIGhlaWdodAoJICB1bnRpbCBhIHJlc2l6ZSBvY2N1cmVkLgoKMjAxNC0xMC0zMSAxMjo1MjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogYWR2ZXJ0aXNlIHN1cHBvcnQgZm9yIGNoYW5naW5nIGlucHV0IGNhcHMgbWlkLXN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzM0CgoyMDE0LTEwLTMxIDEyOjMwOjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBzcHJpbmtsZSBzb21lIFNpbmNlIG1hcmtlcnMKCjIwMTQtMTAtMzAgMTQ6Mjc6MzggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiByZW1vdmUgc3RvcmFnZSBvZiBuZXZlciB1c2VkIHZhbHVlcwoJICBCb3RoIF9wYXJzZV9hdHNjX21ndCgpIGFuZCAgX3BhcnNlX2F0c2NfdmN0ICgpIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlCgkgIGRhdGEganVzdCBiZWZvcmUgcmV0dXJuaW5nLiBUaGUgbmV3IHZhbHVlIGlzIG5ldmVyIHVzZWQgc2luY2UgZGF0YSBpcyBhIHBvaW50ZXIKCSAgZGVjbGFyZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24gYW5kIGdvaW5nIG91dCBvZiBzY29wZSBqdXN0IGFmdGVyIHRoZQoJICBuZXcgdmFsdWUgaXMgc3RvcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDA0CgoyMDE0LTEwLTMwIDE3OjA2OjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHJlbW92ZSA8IDAgY29tcGFyaXNvbiBvbiBndWludDMyCgkgIEN1cnJlbnQgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdGhlIHZhbHVlIGlzIGJlbG93IDAgb3IgYWJvdmUgMjU1LiBDb25zaWRlcmluZyBpdAoJICBpcyBhbiB1bnNpZ25lZCB2YWx1ZSBpdCBjYW4gbmV2ZXIgYmUgbGVzcyB0aGFuIHplcm8sIHNvIHRoYXQgY29tcGFyaXNvbiBpcwoJICB1bm5lY2Vzc2FyeS4gU3dpdGNoaW5nIHRvIHVzaW5nIGlmIGp1c3QgZm9yIHRoZSB1cHBlciBib3VuZC4KCSAgQ0lEICMxMTM5Nzk2CgoyMDE0LTEwLTMwIDE2OjA1OjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGRlY2xhcmUgZmxvb3IgYW5kIGNlaWxpbmcgYXMgY29uc3RhbnRzCgoyMDE0LTEwLTMwIDE1OjQ5OjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBzdG9yZWQgdmFsdWUgaXMgb3ZlcndyaXR0ZW4KCSAgVmFsdWUgZnJvbSBsZWZ0X2x1bWluYW5jZSBpcyBhc3NpZ25lZCB0byBvdXRfbHVtaW5hbmNlIGhlcmUsIGJ1dCB0aGF0IHN0b3JlZAoJICB2YWx1ZSBpcyBub3QgdXNlZCBiZWZvcmUgaXQgaXMgb3ZlcndyaXR0ZW4gaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AuCgkgIFJlbW92aW5nIGFzc2lnbmF0aW9uLgoJICBDSUQgIzEyMjY0NzMKCjIwMTQtMTAtMjQgMTY6NTI6NDIgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkbyBub3QgcmVtb3ZlIHByb2dyYW1zIG9uIEVPUwoJICBBcyBhIGNvbnNlcXVlbmNlLCB0c2RlbXV4IHdvbid0IHJlbW92ZSBpdHMgcGFkcyBhbnltb3JlIG9uIEVPUy4KCSAgRml4ZXMgdGhlIGNhc2Ugd2hlbiBtcGVndHNiYXNlIGlzIG5vdCBhYmxlIHRvIHByb2Nlc3MgbmV3IHBhY2tldHMKCSAgYWZ0ZXIgRU9TIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBpZHMgYXJlbid0IGtub3duIGFueW1vcmUgYmVjYXVzZQoJICB0aGUgcHJvZ3JhbXMgd2VyZSByZW1vdmVkIGFuZCB0aGUgcGVzL3BzaSB3ZXJlIGtlcHQsIHByZXZlbnRpbmcgdGhlCgkgIFBBVCB0byBiZSBwYXJzZWQgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2OTUKCjIwMTQtMDQtMjEgMTE6NDg6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJICBzaXJlbjogZml4IHNhbXBsZSByYXRlIGxpc3QKCSAgSXQgd2FzIHVzaW5nIGEgMjQwMDAvMjQwMDAvNDgwMDAsIGJ1dCBJIHRoaW5rIGl0IG1lYW50IHRvIHVzZQoJICAyNDAwMC8zMjAwMC80ODAwMC4gTm90IDEwMCUgc3VyZS4uLgoJICBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HLjcyMi4xIGhhcyB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQKCSAgYml0cmF0ZXMuIEl0J3Mgbm90IGNsZWFyIHdoZXRoZXIgdGhlICJmbGFnIiBjb2RlIG1hcHMgdG8gdGhpcywKCSAgaG93ZXZlci4KCSAgQ292ZXJpdHkgMjA2MDcyCgoyMDE0LTEwLTMwIDE0OjQ5OjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlbW92ZSBzdG9yYWdlIG9mIG5ldmVyIHVzZWQgdmFsdWVzCgkgIFRoZXNlIHR3byB2YWx1ZXMgYXJlIHN0b3JlZCBqdXN0IGJlZm9yZSB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbmQgdGhleSBnbyBvdXQgb2YKCSAgc2NvcGUuCgoyMDE0LTA2LTEwIDA5OjMzOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTEwLTMwIDE4OjQ1OjA0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogVHJpdmlhbCBkb2N1bWVudGF0aW9uIGZpeAoKMjAxNC0xMC0zMCAyMzowODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG9uJ3QgZ2V0IHRoZSBjdXJyZW50IGNhcHMgZnJvbSBHc3RWaWRlb0luZm8gZm9yIHRoZSBzcmNwYWQKCSAgSXQncyBtaXNzaW5nIHRoZSBjYXBzIGZlYXR1cmVzIG5lZWRlZC4KCjIwMTQtMTAtMzAgMTg6NTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBmb3Igb3RoZXItY29udGV4dCBwcm9wZXJ0eSByZW1vdmFsCgoyMDE0LTEwLTMwIDE2OjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJICBnbGNvbnRleHQ6IGFkZCBtb3JlIGZ1bmN0aW9uYWxpdHkgdG8gd3JhcHBlZCBjb250ZXh0cwoJICBJbXBsZW1lbnRzIGdldF9jdXJyZW50X2NvbnRleHQoKSBhbmQgZ2V0X3Byb2NfYWRkcmVzcygpIGZvciB3cmFwcGVkCgkgIGNvbnRleHRzLgoKMjAxNC0xMC0zMCAxMjo0MzowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlcjogYWR2ZXJ0aXNlIHRoZSBkZWZhdWx0IHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycyBvbiBkZXNrdG9wIEdMCgoyMDE0LTA1LTIyIDEzOjEzOjE0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb2duaXplIFNWQyBOQUwgdW5pdHMuCgkgIElkZW50aWZ5IFNWQyBOQUwgdW5pdHMgYW5kIHRhZyB0aGVtIGFzIHN1Y2guIFRoaXMgaXMgbmVjZXNzYXJ5IGZvcgoJICBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2xpY2VfaGRyKCkgdG8gZmFpbCBncmFjZWZ1bGx5LCBpZiB0aGUgdXNlcgoJICBkaWQgbm90IHBlcmZvcm0gdGhlIGNoZWNrIGhpbXNlbGYuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMTQ6NTM6MTUgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBudW1iZXIgb2YgbGlzdDAgeyxub24tfWFuY2hvciByZWZzLgoJICBGaXggY29weS1wYXN0ZSBlcnJvciBpbiBnc3RfaDI2NF9zcHNfbXZjX2NvcHkoKSB3aGVyZSBudW1fYW5jaG9yX3JlZnNfbDAKCSAgYW5kIG51bV9ub25fYW5jaG9yX3JlZnNfbDAgd2VyZSBpbmNvcnJlY3RseSBpbml0aWFsaXplZCBmcm9tIGxpc3QxLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDEzOjUxOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIFVwZGF0ZSAuZGVmIGZvciBuZXcgQVBJCgoyMDE0LTEwLTI5IDEzOjE1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHNwcmlua2xlIHNvbWUgZ3RrLWRvYyBTaW5jZTogbWFya2VycyBmb3IgbmV3IEFQSQoKMjAxNC0xMC0yOSAxMjoyMjoxNCArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIHNhdGlzZnkgZ3N0LWluZGVudAoKMjAxNC0xMC0yOSAyMjoyMzoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogRml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTQtMTAtMjkgMjI6MjM6MDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogSW5pdGlhbGlzZSBuYWx1IGV4dGVuc2lvbiB0eXBlIHRvIE5PTkUKCSAgQWx3YXlzIHNldCBhIGRlZmF1bHQgTkFMVSBleHRlbnNpb24gdHlwZSwgYW5kIG92ZXJyaWRlIGl0CgkgIHdoZW4gd2UgZmluZCBhIHN1cHBvcnRlZCBleHRlbnNpb24sIHRvIGF2b2lkIGhhdmluZyBpdCB1bnNldC9yYW5kb20KCSAgZm9yIHVuc3VwcG9ydGVkIE5BTFUgZXh0ZW5zaW9ucwoKMjAxNC0xMC0wNyAxNjoyODowMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRml4IGZyYW1lIHBhY2tpbmcgU0VJIHBhcnNpbmcKCjIwMTQtMDMtMjUgMTQ6MDg6NDQgKzAxMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgRnJhbWUgUGFja2luZyBBcnJhbmdlbWVudCBTRUkgbWVzc2FnZS4KCSAgVGhpcyBwYXJzZXMgdGhlIGZyYW1lX3BhY2tpbmdfYXJyYWdlbWVudCgpIHBheWxvYWQgaW4gU0VJIG1lc3NhZ2UuCgkgIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgYnkgZGVjb2RlcnMgdG8gYXBwcm9wcmlhdGVseSByZWFycmFuZ2UgdGhlCgkgIHNhbXBsZXMgd2hpY2ggYmVsb25nIHRvIFN0ZXJlb3Njb3BpYyBhbmQgTXVsdGl2aWV3IEhpZ2ggcHJvZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAzLTA4IDE4OjE3OjE2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIFN0ZXJlbyBWaWRlbyBJbmZvcm1hdGlvbiBTRUkgbWVzc2FnZS4KCSAgQWRkIHRoZSBuZWNlc3NhcnkgcGF5bG9hZCBwYXJzaW5nIHN1cHBvcnQgZm9yIHN0ZXJlb192aWRlb19pbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMTM6MzY6NDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBwYXJzZSBzZXFfcGFyYW1ldGVyX3NldF9tdmNfZXh0ZW5zaW9uKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yNiAxODo0NjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHBhcnNlIE1WQyBzeW50YXggZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAyMjo1ODozNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogSGFuZGxlIGJhY2t3YXJkIGFuZCBkaXNjb250IHRpbWVzdGFtcHMgYmV0dGVyLgoJICBBc3N1bWUgdGhhdCBzbWFsbCBiYWNrd2FyZCBQQ1IganVtcHMgYXJlIGp1c3QgZnJvbSB1cHN0cmVhbSBwYWNrZXQKCSAgbWlzLW9yZGVyaW5nIGFuZCBkb24ndCByZXNldCB0aW1lc3RhbXAgdHJhY2tpbmcgc3RhdGUgLSBhc3N1bWluZyB0aGF0CgkgIHRoaW5ncyB3aWxsIGJlIE9LIGFnYWluIHNob3J0bHkuCgkgIE1ha2UgdGhlIHRocmVzaG9sZCBmb3IgZGV0ZWN0aW5nIGRpc2NvbnQgYmV0d2VlbiBzZXF1ZW50aWFsIGJ1ZmZlcnMKCSAgY29uZmlndXJhYmxlIGFuZCBtYXRjaCB0aGUgc21vb3RoaW5nLWxhdGVuY3kgc2V0dGluZyBvbiB0c3BhcnNlCgkgIHRvIGJldHRlciBjb3BlIHdpdGggZGF0YSBidXJzdHMuCgoyMDE0LTEwLTI5IDIyOjU4OjM3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogSW1wbGVtZW50IHRpbWVzdGFtcC9yZXRpbWVzdGFtcGluZyBvZiBvdXRwdXQgYnVmZmVycwoJICBXaGVuIHRoZSBzZXQtdGltZXN0YW1wcyBwcm9wZXJ0eSBpcyBzZXQsIHVzZSBQQ1JzIG9uIHRoZSBwcm92aWRlZAoJICAob3IgYXV0b2RldGVjdGVkKSBwY3ItcGlkIHRvIGFwcGx5IChvciByZXBsYWNlKSB0aW1lc3RhbXBzIG9uIHRoZQoJICBvdXRwdXQgYnVmZmVycywgdXNpbmcgcGllY2Utd2lzZSBsaW5lYXIgaW50ZXJwb2xhdGlvbi4KCSAgVGhpcyBhbGxvd3MgdHNwYXJzZSB0byBiZSB1c2VkIHRvIHN0cmVhbSBhbiBhcmJpdHJhcnkgbXBlZy10cyBmaWxlLAoJICBvciB0byBzbW9vdGggaml0dGVyeSByZWNlcHRpb24gdGltZXN0YW1wcyBmcm9tIGEgbmV0d29yayBzdHJlYW0uCgkgIFRoZSByZXBvcnRlZCBsYXRlbmN5IGlzIGluY3JlYXNlZCB0byBtYXRjaCB0aGUgc21vb3RoaW5nIGxhdGVuY3kgaWYKCSAgbmVjZXNzYXJ5LgoKMjAxNC0xMC0yOSAxMDowOTozNSArMDEwMCAgVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBhdXRvIGRlY2lzaW9uIHRvIGluY2x1ZGUgR0wgbGlicmFyeSBmYWlscwoJICBUaGUgcGFydCBvZiB0aGUgY29uZmlndXJlLmFjIHRoYXQgY29uc2lzdCB0byBjaGVjayBpZiB3ZQoJICBjYW4gaW5jbHVkZSBib3RoIEdMIGFuZCBHTEVTMiBhdCB0aGUgc2FtZSB0aW1lIGlzIGZhaWxpbmcuCgkgIEluZGVlZCwgaW4gdGhlIGNhc2UgTkVFRF9HTEVTMj15ZXMgYW5kIE5FRURfT1BFTkdMPWF1dG8sCgkgIEhBVkVfT1BFTkdMIHZhcmlhYmxlIGlzIHVwZGF0ZWQgd2hlcmVhcyBpdCBzaG91bGQgYmUgSEFWRV9HTAoJICB2YXJpYWJsZSB0aGF0IGhhcyB0byBiZSB1cGRhdGVkIChIQVZFX09QRU5HTCB2YXJpYWJsZSBpcyBub3QKCSAgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgY29uZmlndXJlLmFjKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0OAoJICBTaWduZWQtb2ZmLWJ5OiBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgoJICBSZXZpZXdlZC1ieTogQmVuamFtaW4gR0FJR05BUkQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTEwLTI5IDEwOjM3OjM4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlbW92ZSBpZ25vcmVkIGluY3JlbWVudCBvZiByZXR1cm4KCSAgJ3JldHVybiB2YWwrKzsnIHJldHVybnMgdGhlIHZhbHVlIGJlZm9yZSBpdCBpcyBpbmNyZW1lbnRlZCBiZWNhdXNlIHRoZSBwb3N0CgkgIGluY3JlbWVudCBoYXBwZW5zIGFmdGVyIHRoZSBzdGF0ZW1lbnQuIFJlbW92aW5nIHRoZSB1bnVzZWQgaW5jcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE0LTEwLTI5IDA4OjI3OjU3ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjpmaXggaW5jb3JyZWN0IHBhcmFtZXRlciBwYXNzZWQgdG8gaGFuZGxlX3NldF9jb250ZXh0CgoyMDE0LTEwLTI4IDIxOjQyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSAgQWRkIHNvbWUgbWlzc2luZyBHX0VORF9ERUNMUwoKMjAxNC0xMC0yOCAxNzo0NDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4IHdyb25nIHVucmVmcyBpbiBzZXRfZm9ybWF0IGVycm9yIGNvZGUgcGF0aAoKMjAxNC0xMC0yOCAxODoyNzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBnZXQgdGhlIGNvbmZpZyBmcm9tIHRoZSBjb3JyZWN0IHBvb2wKCjIwMTQtMTAtMjggMTg6MDE6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYXZvaWQgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBzaXplIHdoZW4gY2hhaW5pbmcgbXVsdGlwbGUgZ2xmaWx0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyNzcKCjIwMTQtMTAtMjggMTg6MDE6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZ3N0LWluZGVudCBmaWxlCgoyMDE0LTEwLTI4IDE3OjMxOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFkZCBhcGkgZm9yIHJldHJlaXZpbmcgdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgYXBpCgkgIHRoYXQgaXMgY3VycmVudCBpbiB0aGUgY2FsbGluZyB0aHJlYWQuCgoyMDE0LTEwLTIxIDE5OjAzOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy92YW8uaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgdmVydGV4IGF0dHJpYnV0ZSBhcnJheSBkZWZpbml0aW9ucwoKMjAxNC0xMC0yNyAxNzo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODRkMDZjZCB0byA3YmIyYmNlCgoyMDE0LTEwLTI3IDE1OjM0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFVzZSA2NC1iaXQgc2FmZSBzY2FsaW5nIGZ1bmN0aW9ucwoKMjAxNC0xMC0yNyAxMjo0Mzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVmbG93IHN3aXRjaCBjYXNlIHN0YXRlbWVudCBhIGJpdAoJICBNYWtlIGl0IGNsZWFyIHRoZXJlJ3Mgbm8gJ2JyZWFrJyBtaXNzaW5nIGF0IHRoZSBlbmQKCSAgb2YgdGhlIGNhc2UgU1lTX0RWQlQsIGFuZCBwYWNpZnkgY292ZXJpdHkgKENJRCAxMjQ5Njg5KS4KCjIwMTQtMDYtMTIgMTY6NTk6NDYgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkgIGN1cmxzc2hzaW5rOiB1c2UgdGhlIGxvY2FsbHkgZGVmaW5lZCB0eXBlcwoJICBKdXN0IGEgbWF0dGVyIG9mIGNvZGluZyBzdHlsZSwgbWFrZXMgdGhlIGNvZGUgYSBiaXQgdGlkaWVyLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1ODEKCjIwMTQtMTAtMjYgMTU6NDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgUGFyYWxsZWxpc2UgJ21ha2UgY2hlY2stdmFsZ3JpbmQnCgoyMDE0LTEwLTI2IDE1OjQ0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBtb3JlIG9wZW5oMjY0IEFQSSB0aGF0IHdlIG5lZWQKCjIwMTQtMTAtMjUgMTg6NTA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogZml4IGF1ZGlvbWl4ZXIgdGVzdCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjQgMjE6NDI6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY29ycmVjdGx5IGNhcGl0YWxpemUgRGlTRXFDCgoyMDE0LTEwLTI0IDIwOjEyOjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJld29yayBfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKCkKCSAgUmV0cnkgc3RhdCByZXBvcnRpbmcgaW9jdGxzIG9uIEVJTlRSCgoyMDE0LTEwLTI0IDE5OjMwOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBjaGVja3Mgb24gYWxsb3dlZCBEVkItVCBiYW5kd2lkdGhzCgoyMDE0LTEwLTI0IDE5OjEyOjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBmaXhtZSBub3RlIG9uIERUVl9MTkEgc2V0dGluZwoJICBSZXBocmFzZSBhbm90aGVyIGNvbW1lbnQgd2hpbGUgYXQgaXQKCjIwMTQtMTAtMjQgMTg6NTc6NDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgbG9naWMgZm9yIGFkZGl0aW9uYWwgYmFuZHdpZHRocwoJICBOZXcgMS43MTIsIDUgYW5kIDEwIE1IeiBiYW5kd2lkdGhzIHdlcmUgYmVlbiBpZ25vcmVkCgkgIGF0IHNldC9nZXQgcHJvcC4KCjIwMTQtMTAtMjQgMTU6NTM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogVXNlIGxpYnNydHAucGMgaWYgcHJlc2VudAoKMjAxNC0xMC0yMyAxNzo0MjoyNyArMDMwMCAgVm9vdGVsZSBWZXN0ZXJibG9tIDx2b3ZAYmFuZy1vbHVmc2VuLmRrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggaGFuZGxpbmcgb2Ygc2VnbWVudCBldmVudCBpbiBzaW5rIGV2ZW50IGhhbmRsZXIKCjIwMTQtMTAtMjQgMDA6MzU6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IG92ZXJyaWRlIHRoZSBjYXBzIHF1ZXJ5IGluIG9yZGVyIHRvICdjb252ZXJ0JyBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlLCBpdCBpcyBvbmx5IHBvc3NpYmxlIGZvciB0aGUgc2luayBwYWRzIGFuZCB0aGUgc3JjIHBhZHMgdG8KCSAgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBjYXBzIGZlYXR1cmVzLiAgV2UgY2FuIGNvbnZlcnQgZnJvbSBhbnkgZmVhdHVyZQoJICB0byBhbm90aGVyIGZlYXR1cmUgc28gc3VwcG9ydCB0aGF0LgoKMjAxNC0xMC0yMyAyMzo1NTo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogb3ZlcnJpZGUgdGhlIGFjY2VwdCBjYXBzIHF1ZXJ5IGluIG9yZGVyIHRvICdjb252ZXJ0JyBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlLCBpdCBpcyBvbmx5IHBvc3NpYmxlIGZvciB0aGUgc2luayBwYWRzIGFuZCB0aGUgc3JjIHBhZHMgdG8KCSAgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBjYXBzIGZlYXR1cmVzLiAgV2UgY2FuIGNvbnZlcnQgZnJvbSBhbnkgZmVhdHVyZQoJICB0byBhbm90aGVyIGZlYXR1cmUgc28gc3VwcG9ydCB0aGF0LgoKMjAxNC0wOC0xNCAyMzoyOTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IHByb3BvZ2F0ZSBvdGhlci1jb250ZXh0IHVzaW5nIEdzdENvbnRleHQKCjIwMTQtMTAtMjAgMDM6MDc6MDggLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIGRhc2g6IFJlbW92ZSBvYnNvbGV0ZSBSRUFETUUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDgKCjIwMTQtMTAtMjIgMTk6MzQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogQWRkIHN1cHBvcnQgZm9yIGFyYml0cmFyeSByYXcgYXVkaW8gZm9ybWF0cwoKMjAxNC0xMC0yMiAxOTozMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvOiBBZGQgc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHZpZGVvIGZvcm1hdHMKCjIwMTQtMTAtMjIgMTk6Mjg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogVHJ1bmNhdGUgdGhlIGNhcHMgYXMgcGFydCBvZiB0aGUgZml4YXRpbmcKCjIwMTQtMTAtMjIgMTk6MDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogRml4IHRpbWVzdGFtcCwgbGF0ZW5jeSBhbmQgcGVyaW9kIGhhbmRsaW5nCgoyMDE0LTEwLTIyIDE4OjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IFVzZSBHU1RfREVCVUdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfREVCVUcoKQoKMjAxNC0xMC0yMiAxODo0MDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcmF1ZGlvOiBQcm9wZXJseSBwYXNzIHRocm91Z2ggY2FwcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgT3RoZXJ3aXNlIGEgbWFnaWMgY2Fwc2ZpbHRlciBhZnRlciB0aGUgc291cmNlIGlzIHJlcXVpcmVkIHdpdGgKCSAgZXhhY3RseSB0aGUgc2FtZSBjYXBzIGFzIHRoZSBpbnB1dC4KCjIwMTQtMTAtMjIgMTg6MTM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXI6IENsZWFuIHVwIHN1cmZhY2VzIGFmdGVyIHRoZSBsYXN0IHVzZXIgaXMgZ29uZQoKMjAxNC0xMC0yMiAxODowNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogV2hpdGVzcGFjZSBjbGVhbnVwCgoyMDE0LTEwLTIyIDE4OjAzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW86IFByb3Blcmx5IHBhc3MgdGhyb3VnaCBjYXBzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBPdGhlcndpc2UgYSBtYWdpYyBjYXBzZmlsdGVyIGFmdGVyIHRoZSBzb3VyY2UgaXMgcmVxdWlyZWQgd2l0aAoJICBleGFjdGx5IHRoZSBzYW1lIGNhcHMgYXMgdGhlIGlucHV0LgoJICBUaGlzIHdvdWxkJ3ZlIGZhaWxlZCBiZWZvcmUgd2l0aCBpbnZhbGlkIGJ1ZmZlciBzaXplczoKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgaW50ZXJ2aWRlb3NpbmsgIGludGVydmlkZW9zcmMgISAidmlkZW8veC1yYXcsd2lkdGg9NjQwLGhlaWdodD00ODAiICEgeHZpbWFnZXNpbmsKCjIwMTQtMTAtMjIgMTU6MDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IENoZWNrIGZvciAwLXNpemUgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBzaXplIGZvciB0aGUgZnJhbWUgc2l6ZQoJICBJZiB3ZSBkb24ndCBoYXZlIGEgY29tcGxldGUgcmF3IGF1ZGlvIGZyYW1lIHdlIHdvdWxkIG90aGVyd2lzZSBzdGlsbAoJICBhc2sgZm9yIGEgMCBzaXplZCBidWZmZXIgZnJvbSB0aGUgYWRhcHRlci4KCjIwMTQtMTAtMjIgMTQ6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IERvbid0IHRyeSB0byByZXRyaWV2ZSAwIGJ5dGUgYnVmZmVycyBmcm9tIHRoZSBhZGFwdGVyIGluIG11bHRpLWZyYW1lIG1vZGUKCjIwMTQtMTAtMjIgMTM6MDM6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW1wcm92ZSBvcGVuaDI2NCBjaGVjawoJICBUaGUgb3BlbmgyNjQgQVBJIGlzIHN0aWxsIHVuc3RhYmxlLCBzbyBjaGVjayBmb3IKCSAgc3RydWN0dXJlIG1lbWJlciB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCBidWlsZGluZwoJICBhZ2FpbnN0IGFuIG9sZGVyIGluY29tcGF0aWJsZSB2ZXJzaW9uLgoKMjAxNC0xMC0yMiAxMjozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzaW1wbGlmeSBvcGVuaDI2NCBjaGVjawoJICBPZiBjb3Vyc2UgUFRIUkVBRFNfQ0ZMQUdTIGlzIG5vdCB1c2VkIGFueXdoZXJlIG5vdwoJICBmb3IgdGhlIGNoZWNrLCBidXQgdGhhdCB3YXMgdGhlIGNhc2UgYmVmb3JlIGFzIHdlbGwuCgoyMDE0LTEwLTIxIDE2OjIxOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOiBJbiBmdW5jdGlvbiAnLVtHc3RHTE5TVmlldyBkcmF3UmVjdDpdJzoKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICdHc3RHTE5TVmlldycgbWF5IG5vdCByZXNwb25kIHRvICctcmVzaGFwZScKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IChNZXNzYWdlcyB3aXRob3V0IGEgbWF0Y2hpbmcgbWV0aG9kIHNpZ25hdHVyZQoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogd2lsbCBiZSBhc3N1bWVkIHRvIHJldHVybiAnaWQnIGFuZCBhY2NlcHQKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICcuLi4nIGFzIGFyZ3VtZW50cy4pCgoyMDE0LTEwLTIxIDE1OjQyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBsb2NraW5nCgkgIFRoZSBvYmplY3QgbG9jayBvbmx5IHByb3RlY3RzIHRoZSBzZXNzaW9uLCBhcyB3ZSBtb2RpZnkKCSAgdGhlIHNlc3Npb24gZnJvbSBvdGhlciB0aHJlYWRzIHdoZW4gdGhlIGJpdHJhdGUgcHJvcGVydHkKCSAgaXMgY2hhbmdlZC4gRG9uJ3QgaG9sZCBpdCBtdWNoIGxvbmdlciB0aGFuIGZvciBzZXNzaW9uCgkgIHJlbGF0ZWQgdGhpbmdzLgoJICBBbmQgd2UgbmVlZCB0byByZWxlYXNlIHRoZSB2aWRlbyBkZWNvZGVyIHN0cmVhbSBsb2NrIGJlZm9yZQoJICBlbnF1ZXVlaW5nIGEgZnJhbWVzLiBJdCBtaWdodCB3YWl0IGZvciBvdXIgY2FsbGJhY2sgdG8gZGVxdWV1ZQoJICBhIGZyYW1lIGZyb20gYW5vdGhlciB0aHJlYWQsIHdoaWNoIHdpbGwgdGhlbiB0YWtlIHRoZSBzdHJlYW0KCSAgbG9jayB0b28gYW5kIGRlYWRsb2NrLgoKMjAxNC0xMC0yMSAxMzowMTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYThjODkzOSB0byA4NGQwNmNkCgoyMDE0LTEwLTIxIDEzOjI4OjUwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBhIG1hY3JvIHRvIGNoZWNrIGZvciBwdGhyZWFkCgkgIFJlcGxhY2UgdGhlIGhhcmRjb2RlZCAtbHB0aHJlYWQgaW4gbW9zdCBvZiB0aGUgcGxhY2VzIHdpdGggJFBUSFJFQURfTElCUy4gRm9yCgkgIG9wZW5oMjY0IGFsc28gYWRkICRQVEhSRUFEX0xJQlMgdG8gT1BFTkgyNjRfTElCUyB1bnRpbCB1cHN0cmVhbSBzaGlwcyBhIC5wYwoJICBmaWxlLgoKMjAxNC0xMC0yMSAxMjo1ODozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNjM4OGExIHRvIGE4Yzg5MzkKCjIwMTQtMTAtMjEgMTI6Mzk6MTQgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXNldCBlbmRfb2ZfcGxheWxpc3QgYXR0cmlidXRlIHdoZW4gd2UgcmVjZWl2ZSBhIHNlZWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY5NgoKMjAxNC0xMC0yMCAxODoyNTowOCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogY3JpdGljYWwgZXJyb3IgZm9yIGJsb2Nrc2l6ZSwgdGltZW91dCBtaW4vbWF4IHZhbHVlcwoJICBBdWRpb21peGVyIGJsb2Nrc2l6ZSwgY2FudCBiZSAwLCBoZW5jZSBhZGp1c3RpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMQoJICB0aW1lb3V0IHZhbHVlIG9mIGFnZ3JlZ2F0b3IgaXMgZGVmaW5lZCB3aXRoIE1BWCBvZiBNQVhJTlQ2NCwKCSAgYnV0IGl0IGNhbm5vdCBjcm9zcyBHX01BWExPTkcgKiBHU1RfU0VDT05EIC0gMQoJICBIZW5jZSBjaGFuZ2VkIHRoZSBtYXggdmFsdWUgb2YgdGhlIHNhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0NQoKMjAxNC0xMC0yMSAwNjowNDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZml4dXAgZWdsaW1hZ2UgaW5jbHVkZSBwYXRoCgoyMDE0LTEwLTIxIDAyOjUyOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4YXRlIHRoZSBwYXJ0cyBvZiB0aGUgY2FwcyB3ZSBkb24ndCBrbm93IGhvdyB0byBkZWFsIHdpdGgKCSAgZml4ZXMgZ2x2aWRlb21peGVyIHdpdGggdmlkZW8veC1yYXcsd2lkdGg9Zm9vIGkuZS4gbm8gZm9ybWF0IGZpZWxkLgoKMjAxNC0xMC0xOCAxMDowMzo0MyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGJ1ZmZlcnBvb2w6IGFkZCB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGJ1ZmZlciBwb29sIG9wdGlvbgoKMjAxNC0xMC0yMCAxMDozNDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IG9wZXJhdGUgb24gY2FwcyByYXRoZXIgdGhhbiB2aWRlbyBpbmZvCgkgIE90aGVyd2lzZSB0aGUgQ2Fwc0ZlYXR1cmVzIHdpbGwgYmUgbG9zdCBhbG9uZyB3aXRoIHRoZSBwb3NzaWJpbGl0eQoJICBvZiBtdWx0aXBsZSBvdXRwdXQgdHlwZXMgYW5kIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMjkKCjIwMTQtMDktMTkgMTE6Mzc6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBpbnRyb2R1Y2UgYSBoZWxwZXIgdG8gbWFrZSBzZXF1ZW5jZS1sYXllcgoJICBJdCB3aWxsIGJlIHVzZWZ1bCB0byBpbXBsZW1lbnQgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTIwIDAyOjI3OjE1IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogQ2hlY2sgZm9yIEdMVSBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdCBpbiBjb25maWd1cmUuYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODgxNgoKMjAxNC0xMC0yMCAxNTowMjoyOCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBzdXBwb3J0IFJHQjE2L0JHUjE2IHZpZGVvIGZvcm1hdCB1cGxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0MgoKMjAxNC0xMC0wOSAxNToxMjowMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZml4IGV4cGVjdGVkIGxldmVsIGluIHNlcXVlbmNlLWxheWVyIHBhcnNpbmcgdW5pdCB0ZXN0CgkgIFNlcXVlbmNlLWxheWVyIHVzZWQgZm9yIHVuaXQgdGVzdCBoYXZlIGEgbGV2ZWwgc2V0IHRvIDIgd2hpY2ggc2hvdWxkCgkgIG1hdGNoIHRoZSBtZWRpdW0gbGV2ZWwsIG5vdCB0aGUgaGlnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzMAoKMjAxNC0xMC0wOSAxNTowNTo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIHZjMXBhcnNlcjogZml4IGxldmVsIHZhbHVlcyBmb3Igc2ltcGxlL21haW4gcHJvZmlsZQoJICBJbiBzaW1wbGUgcHJvZmlsZSwgbGV2ZWwgc2V0IHRvIDAgb3IgMiBpbmRpY2F0ZSBsb3cgYW5kIG1lZGl1bSBsZXZlbAoJICByZXNwZWN0aXZlbHkuIEluIG1haW4gcHJvZmlsZSwgbGV2ZWwgc2V0IHRvIDAsIDIgb3IgNCBpbmRpY2F0ZSBsb3csCgkgIG1lZGl1bSBhbmQgaGlnaCBsZXZlbCByZXNwZWN0aXZlbHkuCgkgIExldmVsIHZhbHVlcyBhcmUgZGVmaW5lZCBpbiBBbm5leCBKLjEuMiBvZiB0aGUgU01QVEUgNDIxTS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzMAoKMjAxNC0wOC0wMiAxMToyOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNlbmQgaW5pdGlhbCBHQVAgZXZlbnQgb24gc3BhcnNlIHN0cmVhbXMgZm9yIGZhc3RlciBzdGFydHVwIHdpdGggcGxheWJpbgoJICBTaWduYWwgc3BhcnNlIHN0cmVhbXMgcHJvcGVybHkgaW4gc3RyZWFtLXN0YXJ0IGV2ZW50IGFuZCBmb3JjZSBzZW5kaW5nCgkgIG9mIHBlbmRpbmcgc3RpY2t5IGV2ZW50cyB3aGljaCBoYXZlIGJlZW4gc3RvcmVkIG9uIHRoZSBwYWQgYWxyZWFkeSBhbmQKCSAgd2hpY2ggb3RoZXJ3aXNlIHdvdWxkIG9ubHkgYmUgc2VudCBvbiB0aGUgZmlyc3QgYnVmZmVyIG9yIHNlcmlhbGl6ZWQKCSAgZXZlbnQgKHdoaWNoIG1lYW5zIHZlcnkgbGF0ZSBpbiBjYXNlIG9mIHN1YnRpdGxlIHN0cmVhbXMpLiBQbGF5c2luayBpbgoJICBwbGF5YmluIHdhaXRzIGZvciBzdHJlYW0tc3RhcnQgb3IgYW5vdGhlciBzZXJpYWxpemVkIGV2ZW50LCBhbmQgaWYgd2UKCSAgZG9uJ3QgZG8gdGhpcyBpdCB3aWxsIHdhaXQgZm9yIHRoZSBtdWx0aXF1ZXVlIHRvIHJ1biBmdWxsIGJlZm9yZQoJICBzdGFydGluZyBwbGF5YmFjaywgd2hpY2ggbWlnaHQgdGFrZSBhIGNvdXBsZSBvZiBzZWNvbmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDQwCgoyMDE0LTEwLTIwIDEyOjMwOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogR0FQIGRldGVjdGlvbgoJICBBbGwgcGFkcyBvZiBhIHN0cmVhbSBhcmUgbm93IGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcuIEluIG9yZGVyIHRvIGNvcGUgd2l0aAoJICBzdHJlYW1zIHRoYXQgZG9uJ3QgZ2V0IGFueSBkYXRhIChmb3JldmVyIG9yIGZvciBhIGxvbmcgdGltZSkgd2UgZGV0ZWN0IGdhcHMKCSAgYW5kIHB1c2ggb3V0IEdBUCBldmVudHMgd2hlbiBuZWVkZWQuCgkgIENsZWFudXBzIGFuZCBjb21tZW50aW5nIGJ5IEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDQwCgoyMDE0LTEwLTAxIDE2OjE3OjQ2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBzZWxlY3QgY2FwcyBhY2NvcmRpbmcgdG8gd212IGZvcm1hdCBhdCBuZWdvdGlhdGlvbgoJICBTb21lIFZDMSBkZWNvZGVyIGNhbiBoYXZlIGRpZmZlcmVudCBjYXBzIGFjY29yZGluZyB0byB3bXYgZm9ybWF0LCBpZQoJICBXTVYzIG9yIFdWQzEuCgkgIFNvIGluc3RlYWQgb2Yga2VlcGluZyB0aGUgZmlyc3QgYXZhaWxhYmxlIGNhcHMsIHdlIGludGVyc2VyY3Qgd2l0aAoJICBjdXJyZW50IFdNViBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MzIKCjIwMTQtMTAtMjAgMTE6MjI6NTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIHB0aHJlYWQgdG8gdGhlIGNvbmZpZ3VyZSBjaGVjayBmb3Igb3BlbmgyNjQKCjIwMTQtMTAtMjAgMDk6NDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogRGVjbGFyZSBzaW5rIHZhcmlhYmxlIHRoYXQgd2FzIGZvcmdvdHRlbiBpbiBsYXN0IGNvbW1pdAoKMjAxNC0xMC0xOSAyMDozNTo0MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IEZyZWUgVVJJIHN0cmluZyBpbiBmaW5hbGl6ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2NzQKCjIwMTQtMTAtMTcgMjE6MjY6NTIgLTA3MDAgIEJyaW9uIFZpYmJlciA8YnJpb25AcG9ib3guY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggZm9yIGJ1aWxkaW5nIG9uIE1hYyBPUyBYIDEwLjEwCgkgIFVzaW5nIE5TQXBwIGRpcmVjdGx5IHNlZW1zIHRvIGNvbmZ1c2Ugc29tZXRoaW5nLCBhcyB0aGUgY29tcGlsZXIKCSAgd2FzIGV4cGVjdGluZyBhbiBpZDxOU0ZpbGVNYW5hZ2VyRGVsZWdhdGU+LiBTd2l0Y2hlZCB0byB1c2luZwoJICBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0sIGFuZCBzcGVjaWZpZWQgdGhlIGRlbGVnYXRlCgkgIHByb3RvY29sIG9uIHRoZSB3aW5kb3cgY2xhc3MgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc0MAoKMjAxNC0xMC0xOSAxNDo1Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2Uga1ZUUHJvZmlsZUxldmVsX0gyNjRfQmFzZWxpbmVfQXV0b0xldmVsIG9ubHkgb24gaU9TCgkgIEl0IGlzIG5vdCByZXF1aXJlZCBvbiBPU1ggYXBwYXJlbnRseSBhbmQgd2FzIG9ubHkgYWRkZWQgaW4gMTAuOS42IHRoZXJlLgoJICBDYWxjdWxhdGluZyB0aGUgY29ycmVjdCBsZXZlbCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGlzIG5vdCB0cml2aWFsLCBzbyBsZXQncwoJICBqdXN0IG5vdCBzZXQgYSBsZXZlbCBhdCBhbGwgaGVyZS4KCjIwMTQtMTAtMTkgMTQ6NTE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBWVENvbXByZXNzaW9uU2Vzc2lvblByZXBhcmVUb0VuY29kZUZyYW1lcyBvbmx5IGV4aXN0cyBzaW5jZSAxMC45LjYKCSAgQ2hlY2sgd2l0aCBjb25maWd1cmUgZm9yIGl0IGluc3RlYWQgb2YgdXNpbmcgb25lIG9mIHRoZSBhdmFpbGFiaWxpdHkgbWFjcm9zCgkgIGFzIHRob3NlIHdvdWxkbid0IHdvcmsgYXMgZXhwZWN0ZWQgd2l0aCBtaW5vciB2ZXJzaW9ucy4KCjIwMTQtMTAtMTkgMTQ6MzI6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUmVtb3ZlIHVudXNlZCAjZGVmaW5lCgoyMDE0LTEwLTE5IDEzOjQ0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwYmFkOiBGaXggbWFrZSBkaXN0IGJ5IHJlbW92aW5nIG5vbi1leGlzdGluZyBmaWxlIGZyb20gRVhUUkFfRElTVAoJICBJdCdzIHVzZWQgYnkgdGhlIHJ0cCBwbHVnaW4gaW4gZ3N0LXBsdWdpbnMtZ29vZCBmb3IgVlA4IGJ1dCBub3QgbmVlZGVkCgkgIG9yIHVzZWQgaGVyZS4KCjIwMTQtMTAtMTcgMTY6NTE6MjcgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHBiYWQ6IGluY2x1ZGUgcGx1Z2lucyBiYXNlIGNmbGFncyAoZml4IGJ1aWxkIG9uIGplbmtpbnMpCgoyMDE0LTEwLTE2IDEwOjM0OjAxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyCgoyMDE0LTEwLTE1IDE1OjI1OjU1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogc3RyaXAgbmV3bGluZXMgZnJvbSBjdXJsIGRlYnVnIG1lc3NhZ2VzCgkgIFRoZSBtZXNzYWdlcyB3ZSByZWNlaXZlIGluIHRoZSBjdXN0b20gbG9nIGhhbmRsZXIgbWlnaHQgZW5kIHdpdGggYSBuZXdsaW5lIGFuZAoJICBhcmUgbm90IFwwIHRlcm1pbmF0ZWQuIENvcHkgdGhlIG1lc3NhZ2VzLCB0cmltIGFuZCB0ZXJtaW5hdGUgdGhlbS4KCjIwMTQtMTAtMTUgMTU6MjQ6MTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBzbWFsbCBjb2RlIGNsZWFudXAKCSAgVXNlIGEgbG9jYWwgdmFyIGFuZCBzYXZlIGEgbG9jYWwgdmFyLgoKMjAxNC0xMC0xNSAxNjo1MjowOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY1ZW5jLmM6CgkgIHRlc3RzL3gyNjVlbmM6IGFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDE0LTAzLTA1IDE2OjM5OjMwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogYWRkIHgyNjUgZW5jb2RlciBlbGVtZW50CgoyMDE0LTEwLTE0IDE0OjAwOjExICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBnbGRlaW50ZXJsYWNlOiByZWYgdGhlIHVwbG9hZGVkIGJ1ZmZlcgoJICBJbnN0ZWFkIG9mIHRoZSBwb3NzaWJseSBub24tR0wgaW5wdXQgYnVmZmVyLgoKMjAxNC0xMC0xNCAxNjo0MTo1MSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogYWRkIHVwbG9hZGVkX2J1ZmZlciBmaWVsZAoKMjAxNC0wOS0yMiAwOTo0NDoxNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHBhcnNlIGZyYW1lIGhlYWRlciB3aGVuIHN0cmVhbSBmb3JtYXQgaXMgQVNGL3JhdyBmb3Igc2ltcGxlL21haW4gcHJvZmlsZQoJICBXaGVuIHN0cmVhbS1mb3JtYXQgaXMgQVNGIG9yIHNlcXVlbmNlLWxheWVyLXJhdy1mcmFtZSwgd2UgYmFzaWNhbGx5IGhhdmUKCSAgYSByYXcgZnJhbWUgc28gd2UgY2FuIHBhcnNlIGl0IHRvIGV4dHJhY3Qgc29tZSBpbmZvcm1hdGlvbiBzdWNoIHRoZQoJICBrZXlmcmFtZSBmbGFnLiBUaGUgb25seSByZXF1aXJlbWVudCBpcyB0byBoYXZlIGEgdmFsaWQgc2VxdWVuY2UtaGVhZGVyLgoJICBUaGlzIGNvbW1pdCBwYXJzZSB0aGUgZnJhbWUgaGVhZGVyIGFuZCBzZXQgdGhlIERFTFRBX1VOSVQgYnVmZmVyIGZsYWcgaW4KCSAgY2FzZSB0aGUgZnJhbWUgaXMgbm90IGEga2V5ZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MTkKCjIwMTQtMTAtMTQgMTA6NTE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBDaGFuZ2UgcmFuayB0byBTRUNPTkRBUlksIGdzdC1saWJhdiBoYXMgUFJJTUFSWSByYW5rCgoyMDE0LTA5LTE3IDEwOjM4OjQ0ICswMjAwICBKb2FjaGltIEJhdWNoIDxiYXVjaEBzdHJ1a3R1ci5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZGUyNjUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9nc3RsaWJkZTI2NS5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEludGVncmF0ZSBsaWJkZTI2NSBpbnRvIGdzdC1wbHVnaW5zLWJhZC4KCjIwMTQtMTAtMTMgMTQ6MDU6MjQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBqdXN0IGFzc3VtZSBub25lIGhlYWRlci1mb3JtYXQgd2hlbiBubyBjb2RlY19kYXRhIGlzIHByZXNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODQ0OQoKMjAxNC0xMC0xNCAwOToxOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBTZXQgcmVvcmRlciBsZW5ndGggdG8gMCBpZiB3ZSBjYW4ndCBjYWxjdWxhdGUgaXQKCSAgSW5zdGVhZCBvZiBsZWF2aW5nIGl0IGF0IHdoYXRldmVyIHZhbHVlIGl0IGhhZCBiZWZvcmUuCgoyMDE0LTEwLTEzIDEzOjI4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBPbmx5IGZpbmFsaXplIHRoZSBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplKCkKCSAgT3RoZXJ3aXNlIHdlIGNoYW5nZSBhIHZhbHVlIG9mIGEgcHJvcGVydHkgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZSwKCSAgd2hpY2ggaXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgoyMDE0LTEwLTEzIDEzOjI3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogQ2FsbCB0aGUgcGFkJ3MgcGFyZW50IGNsYXNzIGZpbmFsaXplIG1ldGhvZAoKMjAxNC0xMC0xMyAxMzoyNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IE9ubHkgZmluYWxpemUgdGhlIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUoKQoJICBPdGhlcndpc2Ugd2UgY2hhbmdlIGEgdmFsdWUgb2YgYSBwcm9wZXJ0eSB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLAoJICB3aGljaCBpcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCjIwMTQtMTAtMTMgMTM6MjU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBBZGQgb3RoZXItY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMC0xMyAxMTo1NjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRG9uJ3QgbGVhayBvdGhlci1jb250ZXh0CgoyMDE0LTEwLTEzIDExOjUzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogQWRkIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTAtMTIgMjE6MjU6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmI6IG1ha2UgaW50ZXJsZWF2aW5nIGEgcHJvcCBhbmQgcHJveHkgb24gZHZiYmFzZWJpbgoJICBEVFZfSU5URVJMRUFWSU5HIGlzIGN1cnJlbnRseSB1c2VkIG9ubHkgZm9yIERUQk0uIFRoaXMgaXMKCSAgY29uZ3J1ZW50IHdpdGggdGhlIHY0bCBkdmIgQVBJIHdoZXJlIHRoZSBkaWZmZXJlbnQgaW50ZXJsZWF2aW5nCgkgIG1vZGVzIHdoZXJlIGFkZGVkIGZvciB2NS43CgoyMDE0LTEwLTEyIDE4OjMwOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCB0cmFuc21pc3Npb24gbW9kZSBjaGVja3MgZm9yIERWQi1UL1QyCgkgIFRoZXNlIGFuZCBldmVyeSBzYW5pdHkgY2hlY2sgbGVhZGluZyB0byBhIHdhcm5pbmcKCSAgKHdlIGhhdmUgYSBmZXcgaW4gcGxhY2UpIHNob3VsZCBjb21lIGhhbmR5IHdoZW4KCSAgZGVidWdpbmcgZmFpbGVkIHR1bm5pbmcgc2NlbmFyaW9zLgoKMjAxNC0xMC0xMiAxMzozNDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkb2NzLCBkcm9wIHY1IEFQSSBjaGFuZ2UgaGlzdG9yeSBjb21tZW50cyA8IC41CgkgIFdlIG9ubHkgc3VwcG9ydCBmcm9tIG1pbm9yIDUgYW5kIHVwIG5vdy4gQWxzbyBhZGQgYQoJICBub3RlIGFib3V0IHRoZSByZWNlbnRseSBhZGRlZCBwcmVsaW1pbmFyIERUTUIgc3VwcG9ydC4KCjIwMTQtMTAtMTIgMTM6MDg6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFZCLVQyIGJhbmR3aWR0aCB0eXBlcwoJICBEVkItVDIgc3VwcG9ydHMgNSwgMTAgYW5kIDEuNzEyIE1IegoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyB2YWx1ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kKCjIwMTQtMTAtMDcgMTA6Mzc6MzMgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCByZW5kZXIgdHdpY2UgdGhlIHNhbWUgYnVmZmVyCgkgIERvIG5vdCB0cnkgdG8gcmVuZGVyIGEgYnVmZmVyIHRoYXQgaXMgYWxyZWFkeSBiZWluZyByZW5kZXJlZC4KCSAgVGhpcyBoYXBwZW5zIHR5cGljYWxseSBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyaW5nIHN0YWdlIGFzIHRoZSBmaXJzdAoJICBidWZmZXIgaXMgcmVuZGVyZWQgdHdpY2U6IGZpcnN0IGJ5IHByZXJvbGwoKSwgdGhlbiBieSByZW5kZXIoKS4KCSAgVGhpcyBjb21taXQgYXZvaWRzIHRoaXMgYXNzZXJ0aW9uIGZhaWx1cmU6CgkgIENSSVRJQ0FMOiBnc3Rfd2F5bGFuZF9jb21wb3NpdG9yX2FjcXVpcmVfYnVmZmVyOiBhc3NlcnRpb24KCSAgJ21ldGEtPnVzZWRfYnlfY29tcG9zaXRvciA9PSBGQUxTRScgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwNjkKCSAgU2lnbmVkLW9mZi1ieTogRmFiaWVuIERlc3Nlbm5lIDxmYWJpZW4uZGVzc2VubmVAc3QuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMDctMjQgMTY6NTM6NTMgKzAyMDAgIFRpZmFpbmUgSW5ndWVyZSA8dGlmYWluZS5pbmd1ZXJlQHN0LmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rIDogQWxsb3cgc3VyZmFjZSB0byBjYXRjaCBpbnB1dCBldmVudHMKCSAgSWYgd2F5bGFuZHNpbmsgaXMgdGhlIG93bmVyIG9mIHRoZSBkaXNwbGF5IHRoZW4gaXQgaXMgaW4gY2hhcmdlCgkgIG9mIGNhdGNoaW5nIGlucHV0IGV2ZW50cyBvbiB0aGUgc3VyZmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY4MgoJICBTaWduZWQtb2ZmLWJ5OiBUaWZhaW5lIEluZ3VlcmUgPHRpZmFpbmUuaW5ndWVyZUBzdC5jb20+CgkgIFJldmlld2VkLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMDctMDIgMTM6Mjk6NTUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiB0YWtlIGludG8gYWNjb3VudCB0aGUgY2FzZSB3aGVyZSBhIHBvb2wgbWF5IGJlIGRlc3Ryb3llZCB0b2dldGhlciB3aXRoIEdzdFdsRGlzcGxheQoJICBUaGVyZSBhcmUgdHdvIGNhc2VzIGNvdmVyZWQgaGVyZToKCSAgMSkgVGhlIEdzdFdsRGlzcGxheSBmb3JjZXMgdGhlIHJlbGVhc2Ugb2YgdGhlIGxhc3QgYnVmZmVyIGFuZCB0aGUgcG9vbAoJICBnZXRzIGRlc3Ryb3llZCBpbiB0aGlzIGNvbnRleHQsIHdoaWNoIG1lYW5zIGl0IHVucmVnaXN0ZXJzIGFsbCB0aGUKCSAgb3RoZXIgYnVmZmVycyBmcm9tIHRoZSBHc3RXbERpc3BsYXkgYXMgd2VsbCBhbmQgdGhlIGRpc3BsYXktPmJ1ZmZlcnMKCSAgaGFzaCB0YWJsZSBnZXRzIGNvcnJ1cHRlZCBiZWNhdXNlIGl0IGlzIGl0ZXJhdGluZy4KCSAgMikgVGhlIHBvb2wgYW5kIGl0cyBidWZmZXJzIGdldCBkZXN0cm95ZWQgY29uY3VycmVudGx5IGZyb20gYW5vdGhlcgoJICB0aHJlYWQgd2hpbGUgR3N0V2xEaXNwbGF5IGlzIGZpbmFsaXppbmcgYW5kIG1hbnkgdGhpbmdzIGdldCBjb3JydXB0ZWQuCgoyMDE0LTA3LTAxIDExOjQzOjIwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogc3RhY2sgdGhlIHZpZGVvIHN1YnN1cmZhY2UgaW50byBhbm90aGVyIHN1YnN1cmZhY2UgdGhhdCBjb3ZlcnMgdGhlIHdob2xlIHJlbmRlciByZWN0YW5nbGUKCSAgVGhlIG1haW4gcmVhc29uIGJlaGluZCB0aGlzIGlzIHRoYXQgd2hlbiB0aGUgdmlkZW8gY2FwcyBjaGFuZ2UgYW5kIHRoZSB2aWRlbwoJICBzdWJzdXJmYWNlIG5lZWRzIHRvIHJlc2l6ZSBhbmQgY2hhbmdlIHBvc2l0aW9uLCB0aGUgd2xfc3Vic3VyZmFjZS5zZXRfcG9zaXRpb24KCSAgY2FsbCBuZWVkcyBhIGNvbW1pdCBpbiBpdHMgcGFyZW50IGluIG9yZGVyIHRvIHRha2UgZWZmZWN0LiBQcmV2aW91c2x5LAoJICB0aGUgcGFyZW50IHdhcyB0aGUgYXBwbGljYXRpb24ncyBzdXJmYWNlLCBvdmVyIHdoaWNoIHRoZXJlIGlzIG5vIGNvbnRyb2wuCgkgIE5vdywgdGhlIHBhcmVudCBpcyBpbnNpZGUgdGhlIHNpbmssIHNvIHdlIGNhbiBjb21taXQgaXQgYW5kIGNoYW5nZSBzaXplIHNtb290aGx5LgoJICBBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGFsc28gYWxsb3dzIHRoZSBzaW5rIHRvIGRyYXcgaXRzIGJsYWNrIGJvcmRlcnMgb24KCSAgaXRzIG93biwgd2l0aG91dCB0aGUgbmVlZCBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGRvIHRoYXQuIEFuZCBhbm90aGVyIHNpZGUKCSAgZWZmZWN0IGlzIHRoYXQgdGhpcyBjYW4gbm93IGFsbG93IHJlc2l6aW5nIHRoZSBzaW5rIHdoZW4gaXQgaXMgaW4gdG9wLWxldmVsCgkgIG1vZGUgYW5kIGhhdmUgaXQgcmVzcGVjdCB0aGUgYXNwZWN0IHJhdGlvLgoKMjAxNC0wNi0yMCAxNjoyNDozNiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIHZpZGVvIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyB0byBpbmRpY2F0ZSB0aGV5IGFyZSBhYm91dCB3bF9zaG0KCSAgTmVlZGVkIHRvIGFkZCBsaW51eF9kbWFidWYgZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIGxhdGVyCgoyMDE0LTA2LTIzIDE3OjI3OjAxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSB1Z2x5IGdzdF93bF9kaXNwbGF5X3N0b3AoKSBub3cgdGhhdCB0aGlzIG1lY2hhbmlzbSBpcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgQmVjYXVzZSB3ZSBubyBsb25nZXIgaGF2ZSBhIGN1c3RvbSBidWZmZXIgcG9vbCB0aGF0IGhvbGRzIGEgcmVmZXJlbmNlCgkgIHRvIHRoZSBkaXNwbGF5LCB0aGVyZSBpcyBubyB3YXkgZm9yIGEgY3ljbGljIHJlZmVyZW5jZSB0byBoYXBwZW4gbGlrZQoJICBiZWZvcmUsIHNvIHdlIG5vIGxvbmdlciBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBhIGZ1bmN0aW9uIGZyb20gdGhlCgkgIGRpc3BsYXkgdG8gcmVsZWFzZSB0aGUgd2xfYnVmZmVycy4KCSAgSG93ZXZlciwgdGhlIGdlbmVyYWwgbWVjaGFuaXNtIG9mIHJlZ2lzdGVyaW5nIGJ1ZmZlcnMgdG8gdGhlIGRpc3BsYXkKCSAgYW5kIGZvcmNpYmx5IHJlbGVhc2luZyB0aGVtIHdoZW4gdGhlIGRpc3BsYXkgaXMgZGVzdHJveWVkIGlzIHN0aWxsCgkgIG5lZWRlZCB0byBhdm9pZCBwb3RlbnRpYWwgbWVtb3J5IGxlYWtzLiBUaGUgY29tbWVudCBpbiB3bGJ1ZmZlci5jCgkgIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY3VycmVudCBzaXR1YXRpb24uCgoyMDE0LTA2LTIzIDE2OjQwOjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmg6CgkgIHdheWxhbmRzaW5rOiByZXBsYWNlIHRoZSBjdXN0b20gYnVmZmVyIHBvb2wgd2l0aCBhbiBhbGxvY2F0b3IKCSAgVGhpcyByZWR1Y2VzIHRoZSBjb21wbGV4aXR5IG9mIGhhdmluZyBhIGN1c3RvbSBidWZmZXIgcG9vbCwgYXMKCSAgd2UgZG9uJ3QgcmVhbGx5IG5lZWQgaXQuIFdlIG9ubHkgbmVlZCB0aGUgY3VzdG9tIGFsbG9jYXRpb24gcGFydC4KCSAgQW5kIHNpbmNlIHRoZSB3bF9idWZmZXIgaXMgbm8gbG9uZ2VyIHNhdmVkIGluIGEgR3N0TWV0YSwgd2UgY2FuCgkgIGNyZWF0ZSBpdCBhbmQgYWRkIGl0IG9uIHRoZSBidWZmZXJzIGluIHRoZSBzaW5rJ3MgcmVuZGVyKCkKCSAgZnVuY3Rpb24sIHdoaWNoIHJlbW92ZXMgdGhlIHJlZmVyZW5jZSBjeWNsZSBjYXVzZWQgYnkgdGhlIHBvb2wKCSAgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgZGlzcGxheSBhbmQgYWxzbyBhbGxvd3MgbW9yZSBnZW5lcmljCgkgIHNjZW5hcmlvcyAodGhlIGFsbG9jYXRvciBiZWluZyB1c2VkIGluIGFub3RoZXIgcG9vbCwgb3IgYnVmZmVycwoJICBiZWluZyBhbGxvY2F0ZWQgd2l0aG91dCBhIHBvb2wgW2lmIGFueXRoaW5nIHN0dXBpZCBkb2VzIHRoYXRdKS4KCSAgVGhpcyBjb21taXQgYWxzbyBzaW1wbGlmaWVzIHRoZSBwcm9wb3NlX2FsbG9jYXRpb24oKSBmdW5jdGlvbiwKCSAgd2hpY2ggZG9lc24ndCByZWFsbHkgbmVlZCB0byBkbyBhbGwgdGhlc2UgY29tcGxpY2F0ZWQgY2hlY2tzLAoJICBzaW5jZSB0aGVyZSBpcyBhbHdheXMgYSBjb3JyZWN0IGJ1ZmZlciBwb29sIGF2YWlsYWJsZSwgY3JlYXRlZAoJICBpbiBzZXRfY2FwcygpLgoJICBUaGUgb3RoZXIgc2lkZSBlZmZlY3Qgb2YgdGhpcyBjb21taXQgaXMgdGhhdCBhIG5ldyB3bF9zaG1fcG9vbAoJICBpcyBub3cgY3JlYXRlZCBmb3IgZXZlcnkgR3N0TWVtb3J5LCB3aGljaCBtZWFucyB0aGF0IHdlIHVzZQoJICBhcyBtdWNoIHNobSBtZW1vcnkgYXMgd2UgYWN0dWFsbHkgbmVlZCBhbmQgbm8gbW9yZS4gUHJldmlvdXNseSwKCSAgdGhlIGNyZWF0ZWQgd2xfc2htX3Bvb2wgd291bGQgYWxsb2NhdGUgc3BhY2UgZm9yIDE1IGJ1ZmZlcnMsIG5vCgkgIG1hdHRlciBpZiB0aGV5IHdlcmUgYmVpbmcgdXNlZCBvciBub3QuCgoyMDE0LTA2LTIwIDE0OjQ3OjU3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJld29yayB0aGUgbWVjaGFuaXNtIGZvciBrZWVwaW5nIGJ1ZmZlcnMgb3V0IG9mIHRoZSBwb29sIHVudGlsIHdsX2J1ZmZlcjo6cmVsZWFzZQoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgR3N0V2xNZXRhIGFuZCBhZGRzIGEgd3JhcHBlciBjbGFzcyBmb3Igd2xfYnVmZmVyCgkgIHdoaWNoIGlzIHNhdmVkIGluIHRoZSBHc3RCdWZmZXIgcWRhdGEgaW5zdGVhZCBvZiBiZWluZyBhIEdzdE1ldGEuCgkgIFRoZSBtb3RpdmF0aW9uIGJlaGluZCB0aGlzIGlzIG1haW5seSB0byBhbGxvdyBhdHRhY2hpbmcgd2xfYnVmZmVycyBvbgoJICBHc3RCdWZmZXJzIHRoYXQgaGF2ZSBub3QgYmVlbiBhbGxvY2F0ZWQgaW5zaWRlIHRoZSBHc3RXYXlsYW5kQnVmZmVyUG9vbCwKCSAgc28gdGhhdCBpZiBmb3IgZXhhbXBsZSBhbiB1cHN0cmVhbSBlbGVtZW50IGlzIHNlbmRpbmcgdXMgYSBidWZmZXIKCSAgZnJvbSBhIGRpZmZlcmVudCBwb29sLCB3aGljaCBob3dldmVyIGRvZXMgbm90IG5lZWQgdG8gYmUgY29waWVkCgkgIHRvIGEgYnVmZmVyIGZyb20gb3VyIHBvb2wgYmVjYXVzZSBpdCBtYXkgYmUgYSBoYXJkd2FyZSBidWZmZXIKCSAgKGhlbGxvIGRtYWJ1ZiEpLCB3ZSBjYW4gY3JlYXRlIGEgd2xfYnVmZmVyIGRpcmVjdGx5IGZyb20gaXQgYW5kIGZpcnN0LAoJICBhdHRhY2ggaXQgb24gaXQgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlLWNyZWF0ZSBhIHdsX2J1ZmZlciBldmVyeQoJICB0aW1lIHRoZSBzYW1lIEdzdEJ1ZmZlciBhcnJpdmVzIGFuZCBzZWNvbmQsIGZvcmNlIHRoZSB3aG9sZSBtZWNoYW5pc20KCSAgZm9yIGtlZXBpbmcgdGhlIGJ1ZmZlciBvdXQgb2YgdGhlIHBvb2wgdW50aWwgdGhlcmUgaXMgYSB3bF9idWZmZXI6OnJlbGVhc2UKCSAgb24gdGhhdCBmb3JlaWduIEdzdEJ1ZmZlci4KCjIwMTQtMTAtMDkgMDg6MjA6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogb3B0aW1pemUgcGFyc2UgbG9naWMKCSAgSGVhZGVyIHdpbGwgYmUgcmVhZCBlYWNoIGFuZCBldmVyeXRpbWUgcGFyc2UgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKCSAgd2hpY2ggaXMgbm90IG5lY2Vzc2FyeSBzaW5jZSB1bnRpbCB3ZSBoYXZlIGNvbXBsZXRlIGRhdGEsCgkgIHdlIG5lZWQgbm90IHBhcnNlIHRoZSBoZWFkZXIgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc5ODQKCjIwMTQtMTAtMTAgMTM6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZG9uJ3QgbGVhayBpbmNvbWluZyBjYXBzIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyOTEKCjIwMTQtMTAtMDkgMTg6MTg6MDIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggZnJhbWVzaXplIHdoZW4gaW5wdXQgaXMgZnJhbWUtbGF5ZXIKCSAgZnJhbWUtbGF5ZXIgaGVhZGVyIGlzIHJlcHJlc2VudGVkIGFzIGEgc2VxdWVuY2Ugb2YgMzIgYml0IHVuc2lnbmVkCgkgIGludGVnZXIgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIsIHNvIGZyYW1lc2l6ZSBpcyBvbiB0aGUKCSAgZmlyc3QgMyBieXRlcy4KCSAgU01QVEUgNDIxTSBBbm5leCBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjQzCgoyMDE0LTEwLTA3IDE3OjA1OjA0ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IG1lbnRpb24gZmx1aWRkZWMgaW5zdGVhZCBvZiBmbHVpZHN5bnRoCgkgIFRoZSBlbGVtZW50IG5hbWUgaXMgYWN0dWFsbHkgZmx1aWRkZWMgZXZlbiBpZiBpdCB1c2VzIGZsdWlkc3ludGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjMKCjIwMTQtMTAtMDkgMTE6NTE6MTYgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjIzCgoyMDE0LTEwLTA5IDA0OjExOjAwIC0wNDAwICBEYXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBMSU5LVFlQRV9SQVcKCSAgQWxzbywgc3RyaWN0bHkgc3BlYWtpbmcsIHRoZXNlIG51bWJlcnMgYXJlbid0IERMVF8qOyB0aGV5IGFyZSBMSU5LVFlQRV8qIGJlY2F1c2UKCSAgbGlicGNhcCB0cmFuc2xhdGVzIGZyb20gaW50ZXJuYWwgT1Mtc3BlY2lmaWMgRExUXyBudW1iZXJpbmcgdG8gdGhlIHBvcnRhYmxlCgkgIExJTktUWVBFXyBudW1iZXIgc3BhY2Ugd2hlbiB3cml0aW5nIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjA2CgoyMDE0LTEwLTA5IDE0OjUxOjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0OiB1c2UgR19HU0laRV9GT1JNQVQgaW4gYXVkaW9taXhlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjcKCjIwMTQtMTAtMDcgMTY6NTc6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0cy9hZ2dyZWdhdG9yOiBhZGQgdGltZW91dCBoYW5kbGluZyB0ZXN0IGZvciB0aGUgdGltZW91dCBwYXJhbWV0ZXIKCjIwMTQtMTAtMDYgMjE6NDY6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgoyMDE0LTEwLTA2IDE4OjMzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc3VwcG9ydCB1bnJlc3BvbnNpdmUgcGFkcwoJICBSZW5kZXIgdW5yZXNwb25zaXZlIHBhZHMgd2l0aCB0aGUgbGFzdCB2aWRlbyBmcmFtZSByZWNlaXZlZC4KCjIwMTQtMTAtMDYgMTg6MjM6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgYSB0aW1lb3V0IHByb3BlcnR5IGRldGVybWluaW5nIGJ1ZmZlciB3YWl0IHRpbWUKCSAgRGV0ZXJtaW5lcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCBhIHBhZCB3aWxsIHdhaXQgZm9yIGEgYnVmZmVyIGJlZm9yZQoJICBiZWluZyBtYXJrZWQgdW5yZXNwb25zaXZlLgoJICBOZXR3b3JrIHNvdXJjZXMgbWF5IGZhaWwgdG8gcHJvZHVjZSBidWZmZXJzIGZvciBhbiBleHRlbmRlZCBwZXJpb2Qgb2YgdGltZSwKCSAgY3VycmVudGx5IGNhdXNpbmcgdGhlIHBpcGVsaW5lIHRvIHN0YWxsIHBvc3NpYmx5IGluZGVmaW5pdGVseSwgd2FpdGluZyBmb3IKCSAgdGhlc2UgYnVmZmVycyB0byBhcHBlYXIuCgkgIFN1YmNsYXNzZXMgc2hvdWxkIHJlbmRlciB1bnJlc3BvbnNpdmUgcGFkcyB3aXRoIGVpdGhlciBzaWxlbmNlIChhdWRpbyksIHRoZQoJICBsYXN0ICh2aWRlbykgZnJhbWUgb3Igd2hhdCBtYWtlcyB0aGUgbW9zdCBzZW5zZSBpbiB0aGUgZ2l2ZW4gY29udGV4dC4KCjIwMTQtMTAtMDYgMTg6MTA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlbW92ZSB0aGUgdXNlIG9mIHRoZSBxdWV1ZWQgYnVmZmVyIG9uIHNpbmsgcGFkcwoJICBUaGF0IGRhdGEgaXMgbm93IGhlbGQgYnkgdGhlIGFnZ3JlZ2F0b3IgY2xhc3MKCjIwMTQtMTAtMDkgMTE6NDY6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGV4cG9zZSBwYXJzZWQgcHJvZmlsZSwgdGllciBhbmQgbGV2ZWwgdG8gZG93bnN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM5CgoyMDE0LTEwLTA5IDAxOjE4OjE2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBwYXJzZWQgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gZG93bnN0cmVhbQoJICBTZXQgcGFyc2VkIHByb2ZpbGUgYW5kIGxldmVsIGluIHNyYyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM5CgoyMDE0LTEwLTA5IDEwOjU0OjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBBZGQgc3VwcG9ydCBmb3IgSGlEUEkgZGlzcGxheXMKCSAgV2l0aG91dCB0aGlzIG91ciBHTCBzdXJmYWNlIHdvdWxkIGJlIHVwc2NhbGVkIGFmdGVyIHJlbmRlcmluZwoJICBieSBDb2NvYSwgd2hpY2ggd291bGQgcmVkdWNlIGltYWdlIHF1YWxpdHkuCgoyMDE0LTEwLTA5IDEyOjI4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IG91dHB1dCB3aHkgd2UgY2Fubm90IGNvbnZlcnQgYSBidWZmZXIKCjIwMTQtMTAtMDkgMTI6MjU6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IHBsYW5hciBZVVYgZG93bmxvYWQKCSAgLSBzYW1wbGUgdGhlIHUgYW5kIHYgcGxhbmVzIHByb3Blcmx5CgkgIC0gb3V0cHV0IHRoZSBjb3JyZWN0bHkgc2NhbGVkIHUgYW5kIHYgcGxhbmVzIGZvciBkaWZmZXJlbnQgY2hyb21hIGJsb2NrIHNpemVzCgoyMDE0LTEwLTA4IDIxOjUxOjEyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBBbmQgZml4IGFub3RoZXIgdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTAtMDggMjE6NDk6MjUgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRob3V0IGRlc2t0b3AgR0wKCjIwMTQtMDktMjYgMTM6NTU6MjAgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBBZGQgWVZVOSBhbmQgWVVWOSB0byBaQkFSX1lVVl9DQVBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MDcKCjIwMTQtMDktMjggMTA6NTE6MDkgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzUwNQoKMjAxNC0xMC0wNyAxNToyNDoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBNM1U4IHBhcnNpbmcgdW5pdCB0ZXN0IGFmdGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTEwLTAyIDEwOjM3OjU3IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEZpeCBhY2Nlc3NpbmcgaW52YWxpZGF0ZWQgbWVtb3J5CgkgIEluIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQoKSB0aGUgbmV4dCBmcmFnbWVudCBVUkkgZ2V0cwoJICBzdG9yZWQgaW4gbmV4dF9mcmFnbWVudF91cmksIGJ1dCB0aGUgZ3N0X2hsc19kZW11eF91cGRhdGVzX2xvb3AoKQoJICBjYW4gYXQgYW55IHRpbWUgdXBkYXRlIHRoZSBwbGF5bGlzdCwgcmVuZGVyaW5nIHRoaXMgc3RyaW5nIGludmFsaWQuCgkgIFRoZXJlZm9yZSwgYW55IGRhdGEgKGxpa2Uga2V5LCBpdiwgVVJJcykgdGhhdCBpcyB0YWtlbiBmcm9tIGEKCSAgR3N0TTNVOENsaWVudCBuZWVkcyB0byBiZSBjb3BpZWQuIEluIGFkZGl0aW9uLCBhY2Nlc3NpbmcgdGhlCgkgIGludGVybmFscyBvZiBhIEdzdE0zVThDbGllbnQgcmVxdWlyZXMgbG9ja2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc5MwoKMjAxNC0xMC0wNyAxMjoxMjowNCArMDIwMCAgRmVsaXggU2Nod2FyeiA8ZmVsaXguc2Nod2FyekBvc3Muc2Nod2Fyei5ldT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogZml4IHR5cG9zIGluIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwNzIKCjIwMTQtMTAtMDcgMjM6MDQ6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IFVZVlkgZG93bmxvYWQgZ3JlZW4gc2NyZWVuCgoyMDE0LTEwLTA3IDIyOjUwOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xyY29udmVydDogZml4IFlVWTIgZG93bmxvYWQKCSAgLSBUaGUgc2hhZGVyIHdhcyBvdXRwdXRpbmcgdGhlIHdyb25nIHZhbHVlcyBjb21wYXJlZCB3aXRoIHJhdwoJICB2aWRlb3Rlc3RzcmMuCgkgIC0gZGVhbCB3aXRoIHRoZSB0ZXh0dXJlIGVkZ2UgcHJvcGVybHkuCgkgIC0gcHJvcGVybHkgc2FtcGxlIHRoZSAyeDEgcmVjdGFuZ2xlIGZvciB0aGUgdSBhbmQgdiB2YWx1ZXMKCSAgLSBkb24ndCBkb3VibGUgc2FtcGxlIHRoZSB5IHZhbHVlCgoyMDE0LTEwLTA2IDIxOjI1OjMwICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IFNldCBDVVJMT1BUX1VQTE9BRCB0byAxIHRvIG5vdCB1c2UgVlJGWSBhbmQgb3RoZXIgdW5uZWVkZWQgY29tbWFuZHMKCSAgRml4ZXMgdGhlIHNpbmsgd2l0aCBTTVRQIHNlcnZlcnMgdGhhdCBkaXNhYmxlIFZSRlkgZm9yIHNwYW0gcHJvdGVjdGlvbi4KCSAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2N1cmwvYnVncy8xMzg5LwoKMjAxNC0wOS0xNyAxNjo0ODowMiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVwbGFjZSBHTWFpbkNvbnRleHQgd2l0aCBHQXN5bmNRdWV1ZSAodjIpCgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBrZXB0IGFjY3VtdWxhdGluZyBHU291cmNlcywKCSAgc2xvd2luZyBkb3duIHRoZSBpdGVyYXRpb24gYW5kIGxlYWtpbmcgbWVtb3J5LgoJICBJbnN0ZWFkIG9mIHRyeWluZyB0byBmaXggdGhlIG1haW4gY29udGV4dCBmbHVzaGluZywgcmVwbGFjZQoJICBpdCB3aXRoIGEgR0FzeW5jUXVldWUgd2hpY2ggaXMgc2ltcGxlIHRvIGZsdXNoIGFuZCBoYXMKCSAgbGVzcyBvdmVyaGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4MgoKMjAxNC0xMC0wNiAxMzowOTowMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBIYW5kbGUgc2VlayBldmVudCBpbiBSRUFEWSBzdGF0ZQoKMjAxNC0wNy0yMSAxMTowNzoxOSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IFNldCB0aGUgc2lua3BhZCBzZWdtZW50cyBiYXNldGltZSBhZnRlciBzZWVraW5nCgkgIE90aGVyd2lzZSBzdHJlYW0gb2Zmc2V0IGFuZCBydW5uaW5nIHRpbWUgY29tcGFyaXNvbiB3aWxsIG5vdCBiZQoJICBjb3JyZWN0LCBsZWFkaW5nIHRvIHNlZ2ZhdWx0cyBhZnRlciBzZWVrcwoKMjAxNC0wNS0yOCAxNjoyOTozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFBvcnQgdG8gR3N0QWdncmVnYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTgzCgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoyMDE0LTA5LTIzIDE1OjU5OjEwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gbm90IHdyb25nbHkgc2V0IHRoZSBhZ2dyZWdhdG9yLnNlZ21lbnQKCSAgVGhlIGFnZ3JlZ2F0b3Iuc2VnbWVudCBpcyBub3QgdG8gYmUgaW5pdGlhbGl6ZWQgYnkgdGhlIHN1YmNsYXNzZXMgYnV0CgkgIGJ5IHRoZSBhZ2dyZWdhdG9yIGl0c2VsZi4gTW9yZW92ZXIsIGluaXRpYWxpemluZyBpdCBvbiBzdGFydCB3b3VsZCBtYWtlCgkgIHVzIGxvb3NlIHRoZSBpbmZvcm1hdGlvbiBjb21pbmcgZnJvbSB0aGUgaW5pdGlhbCBzZWVrLgoKMjAxNC0wNy0zMCAxMTo1Nzo0NiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSBub3QgdG8gdW5yZWYgYSBOVUxMIHBvaW50ZXIKCjIwMTQtMDgtMDUgMTU6MzY6MzAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU2V0IHNlcW51bSBvbmx5IHdoZW4gc2VnbWVudHMgYXJlIHJlY2VpdmVkLgoKMjAxNC0wOC0wMiAxODoyNTowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgYSBzdHJlYW1pbmcgbG9jayBzbyB0byBzZWN1cmUgZmx1c2ggc3RhcnQgYWN0aW9uCgkgIFdpdGhvdXQgYSBsb2NrIHRoYXQgaXMgdGFrZW4gaW4gRkxVU0hfU1RBUlQgd2UgaGFkIGEgcmFyZSByYWNlIHdoZXJlIHdlCgkgIGVuZCB1cCBhZ2dyZWdhdGluZyBhIGJ1ZmZlciB0aGF0IHdhcyBiZWZvcmUgdGhlIHdob2xlIEZMVVNIX1NUQVJUL1NUT1AKCSAgZGFuY2UuIFRoYXQgY291bGQgbGVhZCB0byB2ZXJ5IHdyb25nIGJlaGF2aW91ciBpbiBzdWJjbGFzc2VzLgoKMjAxNC0wNy0xOCAxMzo1ODo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSBzZWVraW5nIHdoZW4gYSBzZWVrIGZhaWxlZCB0byBzZWUgaWYgaXQgd2FzIGV4cGVjdGVkCgkgIEFuZCBkbyBub3Qgd29ycnkgaWYgc2Vla2luZyBmYWlsZWQgb24gYSBzdHJlYW0gdGhhdCBpcyBub3Qgc2Vla2FibGUKCjIwMTQtMDctMTggMDE6NDE6MjYgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogc2V0IGZ1dHVyZSBzZXFudW0gYmVmb3JlIHByb3BhZ2F0aW5nIHRoZSBzZWVrIGV2ZW50LgoJICBTbyB0aGUgc2VxbnVtIGlzIHByb3Blcmx5IHNldCBmb3IgdGhlIGZvbGxvd2luZyBldmVudHMuCgoyMDE0LTA3LTA4IDE2OjE2OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFN0b3JlIHNlZ21lbnQgd2hlbiBzZWVrZWQgaW4gUkVBRFkgZm9yIGxhdGVyIHVzZQoKMjAxNC0xMC0wNiAxNjo0NDo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogVXNlIGEgTUFSR0lOQUwgcmFuayBmb3IgdGhlIGVuY29kZXIgYW5kIGRlY29kZXIKCSAgVGhleSB3b3JrIGJ1dCBmb3Igbm93IHdlIHByZWZlciBvdGhlcnMgdW50aWwgdGhlc2UgYXJlIGV4dGVuc2l2ZWx5IHRlc3RlZC4KCjIwMTQtMTAtMDEgMTA6NTc6MjYgKzAyMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogRW1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudC10eXBlIHNob3VsZCBlbmQgd2l0aCBhIGZpbmFsIGJvdW5kYXJ5CgkgIEFkZCBmaW5hbCBib3VuZGFyeSBmb3IgZWFjaCBvZiB0aGUgc2VuZGluZyBvdXQgZW1haWxzIGZyb20gc210cHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzQKCjIwMTQtMTAtMDYgMTE6NDQ6MTIgKzAxMDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZpZGVvcGFyc2VyOiBjb21tZW50IHVudXNlZCBHU1RfQkFTRV9QQVJTRV9GUkFNRV9GTEFHX1BBUlNJTkcKCSAgR1NUX0JBU0VfUEFSU0VfRlJBTUVfRkxBR19QQVJTSU5HIHZhbHVlIGlzIHdyb25nLCBhbmQgdGhlIHNhbWUgZmxhZyBpcwoJICBub3QgYmVpbmcgdXNlZCBwcmVzZW50bHkuIEhlbmNlIGNoYW5naW5nIHRoZSB2YWx1ZSBhbmQgY29tbWVudGluZyBpdCBvdXQuCgkgIFRoaXMgbmVlZHMgdG8gYmUgaW5jbHVkZWQgaW4gYmFzZXBhcnNlLmggbGF0ZXIgb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQxMQoKMjAxNC0xMC0wNCAyMDo1NTowOCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogbWFrZSBkZW5vaXNlIHdvcmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg5NAoKMjAxNC0xMC0wNiAxMDoxMTo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVbm1hcCBhbmQgZnJlZSBHc3RWaWRlb0ZyYW1lcyBhcyBuZWVkZWQgYWZ0ZXIgY29udmVyc2lvbiBhbmQgZXJyb3JzCgoyMDE0LTEwLTA2IDEwOjExOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbnJlZiB0aGUgdGFnbGlzdCBpbiBHc3RBZ2dyZWdhdG9yOjpzdG9wKCkKCjIwMTQtMTAtMDMgMjA6NDI6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIERUTUIKCSAgUHJldmlvdXNseSBrbm93biBhcyBETUItVC9ILCB0aGlzIGlzIHRoZQoJICB0ZXJyZXN0aWFsIERUViBicm9hZGNhc3Qgc3RhbmRhcmQgY3VycmVudGx5CgkgIHVzZWQgYnkgdGhlIFBlb3BsZSdzIFJlcHVibGljIG9mIENoaW5hLAoJICBIb25nIEtvbmcsIExhb3MgYW5kIE1hY2F1IChvZmZpY2lhbGx5KSwKCSAgYW5kIGJ5IE1hbGF5c2lhLCBJcmFxLCBKb3JkYW4sIFN5cmlhIGFuZAoJICBMZWJhbm9uIChleHBlcmltZW50YWxseSkuCgoyMDE0LTEwLTAzIDIwOjIwOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIHN0YW5kYXJkIHRyYW5zbWlzc2lvbiBtb2RlcwoJICBUaGVzZSBhcHBseSB0byBJU0RCLVQsIERWQi1UMiBhbmQgRFRNQgoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMTAtMDMgMjA6MDM6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFRNQiBndWFyZCBpbnRlcnZhbHMKCjIwMTQtMTAtMDMgMTk6NTU6MDIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFZCLVQyIGd1YXJkIGludGVydmFscwoJICBBY2NvcmRpbmcgdG8gdGhlIHY0bC1kdmIgQVBJIGRvY3MsIHRoZXNlIGFyZSBvbmx5CgkgIHVzZWQgZm9yIERWQi1UMiBhdCB0aGUgbW9tZW50LgoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMTAtMDMgMTk6MjA6MDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogZml4IHR5cG8gaW4gR3N0TXBlZ3RzRXh0ZW5kZWRFdmVudERlc2NyaXB0b3IgZG9jCgoyMDE0LTEwLTAzIDE5OjA2OjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBfTVVUQUJMRV9QTEFZSU5HIHRvIHR1bmluZyBwcm9wcwoJICBUaGUgZWxlbWVudCBjYW4gKHJlKXR1bmUgd2hpbGUgcGxheWluZyBzbyBiYXNpY2FsbHkKCSAgZXZlcnkgcHJvcGVydHkgdXNlZCBhdCBzZXRfZmVfcGFyYW1zKCkgY2FuIGJlIHNldAoJICBpbiBzdGF0ZSA8PSBQTEFZSU5HLgoKMjAxNC0xMC0wMyAxNzoyMjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBUaGUgY29kZWMgY2FuIG9ubHkgZG8gYmFzZWxpbmUgc28gc2ltcGxpZnkgdGhlIGNvZGUgYSBiaXQKCSAgYW5kIGRlY2xhcmUgdGhpcyBhbHNvIG9uIHRoZSBzcmNwYWQgY2Fwcy4KCSAgV2l0aCBiYXNlbGluZSBwcm9maWxlIHRoZXJlIGFyZSBubyBCLWZyYW1lcyBvciBmcmFtZSByZW9yZGVyaW5nLgoKMjAxNC0xMC0wMyAxNzoyMDoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBPbiA6OmZpbmlzaCgpIHN0b3AgdHJ5aW5nIGlmIHRoZSBkZWNvZGVyIHJldHVybmVkIHRoYXQgbm8gb3V0cHV0IGlzIGF2YWlsYWJsZQoKMjAxNC0xMC0wMyAxMzo1NDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogUnVuIGdzdC1pbmRlbnQgb3ZlciBldmVyeXRoaW5nCgoyMDE0LTEwLTAzIDEzOjUyOjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L01ha2VmaWxlLmFtOgoJICBvcGVuaDI2NDogUmVtb3ZlIHVudXNlZCBjb2RlY3BhcnNlcnMgbGliCgoyMDE0LTEwLTAyIDE2OjQ2OjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IG1pc3NpbmcgQVBJIGluIG9wZW5oMjY0CgoyMDE0LTEwLTAyIDE2OjMzOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFRyeSB0byBoYW5kbGUgZnJhbWUgcmVvcmRlcmluZwoJICBBcyBvcGVuaDI2NCBoYXMgbm8gd2F5IHRvIGF0dGFjaCBhbnkgSURzIHRvIGlucHV0IGZyYW1lcyB0aGF0IHdlIHRoZW4gZ2V0IG9uCgkgIHRoZSBvdXRwdXQgZnJhbWVzLCB3ZSBoYXZlIHRvIGFzc3VtZSB0aGF0IHRoZSBpbnB1dCBoYXMgdmFsaWQgUFRTLiBXZSBqdXN0CgkgIHRha2UgdGhlIGZyYW1lIHdpdGggdGhlIG9sZGVzdCBQVFMsIGFuZCBpZiB0aGVyZSBpcyBubyBQVFMgaW5mb3JtYXRpb24gd2UgdGFrZQoJICB0aGUgb25lIHdpdGggdGhlIG9sZGVzdCBEVFMuCgoyMDE0LTEwLTAyIDE2OjIzOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IERvbid0IGRyb3AgdmlkZW9jb2RlYyBmcmFtZXMgaWYgd2UgY2FuJ3QgZGVjb2RlIHRoZW0gKnlldCoKCSAgRml4ZXMgaml0dGVyeSBwbGF5YmFjayBvZiBzdHJlYW1zIHdpdGggQiBmcmFtZXMuCgoyMDE0LTEwLTAyIDE2OjIxOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEdzdFZpZGVvRGVjb2RlciB3b3JrcyBvbiBmcmFtZXMsIG5vdCBzdWItZnJhbWVzIChlLmcuIE5BTHMpCgkgIEFuZCB3ZSBjYW4ganVzdCBwYXNzIGNvbXBsZXRlIEFVcyB0byB0aGUgZGVjb2RlciB3aXRob3V0IHByb2JsZW1zLgoKMjAxNC0xMC0wMiAxNjoxOTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBBcyB3ZSByZXF1aXJlIE5BTCBhbGlnbm1lbnQgZnJvbSB1cHN0cmVhbSB3ZSBkb24ndCBuZWVkIHRvIHBhcnNlIGFueXRoaW5nCgoyMDE0LTEwLTAyIDE1OjQ4OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFByb3Blcmx5IGRyYWluIGNvZGVjIG9uIDo6ZmluaXNoKCkKCjIwMTQtMTAtMDIgMTU6MjI6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogUHJvcGVybHkgZHJhaW4gdGhlIGVuY29kZXIgb24gOjpmaW5pc2goKQoKMjAxNC0xMC0wMiAxNDozNjo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBXZSBhbHdheXMgZ2V0IGEgc2luZ2xlIGZyYW1lIGFzIG91dHB1dCwgbm90IGEgTkFMCgkgIE5vIG5lZWQgdG8gYWNjdW11bGF0ZSBOQUxzLgoKMjAxNC0xMC0wMiAxNDoyMDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBGaXggdXAgY2FwcyBhbmQgc3RyaWRlIGhhbmRsaW5nCgoyMDE0LTEwLTAyIDE0OjE1OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEKCSAgVGhpcyB3aWxsIGFsbG93IHVwc3RyZWFtIGVsZW1lbnRzIHRvIHdvcmsgbW9yZSBlZmZpY2llbnRseS4KCjIwMTQtMTAtMDIgMTQ6MTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YQoJICBUaGlzIHdpbGwgbWFrZSBvcGVyYXRpb24gd2l0aCB2YXJpb3VzIHNpbmtzIGZhc3RlciBmb3IgZnJlZS4KCjIwMTQtMTAtMDIgMTQ6MDg6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogT3B0aW1pemUgZnJhbWUgY29weWluZyBhIGJpdAoKMjAxNC0xMC0wMiAxNDowNjo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGlucHV0IHN0YXRlCgoyMDE0LTEwLTAyIDE0OjAzOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEZpeCB2YXJpb3VzIGNyYXNoZXMgb24gOjpzdG9wKCkKCjIwMTQtMTAtMDIgMTQ6MDA6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogUmVtb3ZlIGludmFsaWQgc3Byb3BzLXBhcmFtZXRlci1zZXQgaGFuZGxpbmcKCSAgVGhpcyBvbmx5IGV4aXN0cyBvbiBSVFAgY2Fwcywgbm90IEgyNjQgY2Fwcy4KCjIwMTQtMTAtMDIgMTM6NTM6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogRG9uJ3Qgc2V0IGNhcHMgbWFudWFsbHkKCSAgVGhpcyB3aWxsIGJyZWFrIHRoZSBvcmRlciBvZiBldmVudHMgaW4gR1N0cmVhbWVyLgoKMjAxNC0xMC0wMiAxMzo0OToxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBGaXggaW5wdXQgc3RhdGUgaGFuZGxpbmcgYW5kIHByb3BhZ2F0aW9uIG9mIHVwc3RyZWFtIGNhcHMgZmllbGRzCgoyMDE0LTEwLTAzIDEzOjQ1OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuaDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmg6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IEFkZCBPcGVuSDI2NCBiYXNlZCBlbmNvZGVyL2RlY29kZXIgZWxlbWVudHMKCSAgVGhlc2UgYXJlIHRoZSBvcGVuaDI2NCBlbGVtZW50cyByZWxlYXNlZCB1bmRlciB0aGUgQlNELTIgbGljZW5zZQoJICBieSBFcmljc3NvbiBhcyBwYXJ0IG9mIHRoZSBPcGVuV2ViUlRDIHByb2plY3QuCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc4OAoKMjAxNC0wOS0xOCAxNzoxNDoyMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIG5vdCB0byByZWxlYXNlIFZJREVPX0FHR1JFR0FUT1JfTE9DSyB3aGlsZSBzZXR0aW5nIGZvcm1hdCBpbmZvCgkgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBrZWVwIHRoZSBWSURFT19BR0dSRUdBVE9SX0xPQ0sgd2hpbGUKCSAgbmVnb3RpYXRpbmcgY2FwcywgdGhpcyBwYXRjaCBpbnRyb2R1Y2UgdGhhdCBjaGFuZ2UuCgkgIFRoYXQgYWxzbyBpbXBsaWVzIHRoYXQgd2UgZG8gbm90IG5lZWQgdGhlIFNFVENBUFNfTE9DSyBhbnltb3JlIGJlY2F1c2UKCSAgbm93IFZJREVPX0FHR1JFR0FUT1JfTE9DSyBndWFyYW50ZWVzIHRoYXQgc2V0Y2FwcyBpcyBub3QgY2FsbGVkIGZyb20KCSAgc2V2ZXJhbCB0aHJlYWRzIGFuZCB0aGUgZ3N0X2FnZ3JlZ2F0b3Jfc2V0X2NhcHMgbWV0aG9kIGlzIG5vdwoJICBwcm90ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwNDIKCjIwMTQtMTAtMDMgMTI6MzQ6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVGFrZSBsb2NrIHRvIGVuc3VyZSBzZXRfY2FwcyBpcyBub3QgY2FsbGVkIGNvbmN1cmVudGx5CgkgIEF2b2lkaW5nIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSB3aGVyZSB3ZSBkbyBub3QgaGF2ZQoJICBhY3R1YWwgbmVnb3RpYXRlIGNhcHMgc2V0IGFzIHNyY2NhcHMgYW5kIGxlYWRpbmcgdG8gcG9pbnQgd2hlcmUgd2UKCSAgdHJ5IHRvIHVucmVmIC0+c3JjY2FwcyB3aGVuIHRoZXkgaGF2ZSBhbHJlYWR5IGJlZW4gc2V0IHRvIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwNDIKCjIwMTQtMDktMjkgMTA6MTU6MzkgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgZ3N0OiByZW1vdmUgdW5uZWNlc3NhcnkgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFRoZXJlIGFyZSB1bm5lY2Vzc2FyeSBkZWZpbml0aW9ucyBmb3IgZGlzYWJsaW5nIGRlcHJlY2F0aW9uIHdhcm5pbmdzLgoJICBTaW5jZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgaXMgbm90IG5lZWRlZCBhbnltb3JlIGluIHRoZXNlIGZpbGVzLAoJICByZW1vdmluZyB0aGUgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU1OQoKMjAxNC0xMC0wMSAxNjoxOTowMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHVucmVmIGNhcHMgd2hlbiBpdCBpcyBlbXB0eSBpbiByZW5lZ290aWF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MjQKCjIwMTQtMTAtMDIgMTA6MjY6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgc2l6ZSBmb3IgQ09MT1JfRm9ybWF0WVVWNDIwUGxhbmFyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQxNTYKCjIwMTQtMTAtMDEgMTc6MjI6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWxzbyBjb3B5IG92ZXIgdGhlIGNocm9tYSBzaXRpbmcgYW5kIGNvbG9yaW1ldHJ5IHdoZW4gZGVjaWRpbmcgb24gYSBjb252ZXJzaW9uCgoyMDE0LTEwLTAxIDE3OjE4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJldmVydCB0aGUgbGFzdCBjb21taXQgYW5kIGhhbmRsZSByZXNvbHV0aW9ucyBkaWZmZXJlbmNlcyBwcm9wZXJseQoJICBUaGlzIGlzIGFib3V0IGNvbnZlcnRpbmcgdGhlIGZvcm1hdCwgbm90IGFib3V0IGNvbnZlcnRpbmcgYW55IHdpZHRocyBhbmQKCSAgaGVpZ2h0cy4gU3ViY2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gaGFuZGxlciBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgdGhlbXNlbHZlcywKCSAgbGlrZSB0aGUgdmlkZW9taXhlcnMgYWxyZWFkeSBkbyBwcm9wZXJseS4KCjIwMTQtMTAtMDEgMTc6MTE6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogR3N0VmlkZW9Db252ZXJ0ZXIgY3VycmVudGx5IGNhbid0IHJlc2NhbGUgYW5kIHdpbGwgYXNzZXJ0CgkgIExlYWRzIHRvIHVnbHkgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIHByb3Blcmx5IGVycm9yaW5nIG91dDoKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTEwLTAxIDE2OjA0OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBBbHdheXMgdXBkYXRlIG91ciB2aWV3cG9ydCBpZiBDb2NvYSB0ZWxscyB1cyBzb21ldGhpbmcgaGFzIGNoYW5nZWQKCSAgVGhlIHZpc2libGUgcmVjdCBhbmQgYm91bmRzIG1pZ2h0IGJlIHRoZSBzYW1lIGFzIGJlZm9yZSwgYnV0IENvY29hCgkgIG1pZ2h0J3ZlIGNoYW5nZWQgb3VyIHZpZXdwb3J0IHdpdGhvdXQgdXMgbm90aGluZy4gVGhpcyBoYXBwZW5zIGlmCgkgIHlvdSBoaWRlIHRoZSB2aWV3IGFuZCBzaG93IGl0IGFnYWluLgoKMjAxNC0xMC0wMSAxMTo1NToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogSGFuZGxlIE5TVmlldzo6cmVuZXdHU3RhdGUoKSBwcm9wZXJseQoJICBEb24ndCB1cGRhdGUgdGhlIHNjcmVlbiB1bnRpbCB3ZSByZWRyYXcsIHRoaXMgcHJldmVudHMgZmxpY2tlcmluZyBkdXJpbmcKCSAgc2Nyb2xsaW5nLCBjbGlwcGluZywgcmVzaXppbmcsIGV0YwoKMjAxNC0xMC0wMSAwMDo1Mzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBkb24ndCBjcmFzaCBvbiAwLXNpemVkIGlucHV0IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzY1OAoKMjAxNC0wOS0zMCAxNDo1ODowNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbHRyYW5zZm9ybWF0aW9uOiByZXF1aXJlcyBncmFwaGVuZSAxLjAuMAoKMjAxNC0wOS0yNSAxNzowMTozMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZ3JhcGhlbmUgbXVsdGlwbGljYXRpb24gb3JkZXIgaGFzIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzUxMAoKMjAxNC0wOS0zMCAyMDozOTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHVwZGF0ZSBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTQtMDktMzAgMTg6MjY6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgdGVzdHMvZ2xjb2xvcmNvbnZlcnQ6IGRvIHJlb3JkZXIgY2hlY2tpbmcgZm9yIHJnYmEgZm9ybWF0cwoKMjAxNC0wOS0zMCAxNDo0NjoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBjb252ZXJ0IHhSR0IgaW50byBBUkdCIHByb3Blcmx5CgkgIFRoZSBhbHBoYSBjaGFubmVsIG1pZ2h0IG5vdCBiZSB0aGUgbGFzdCBjb21wb25lbnQgc28gY2hlY2sgd2hpY2ggb25lCgkgIGl0IGlzIGluIGFuZCBjbG9iYmVyIHRoYXQgb25lIGluc3RlYWQuCgoyMDE0LTA5LTMwIDAxOjQ1OjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIHRlc3RzL2dsbWVtb3J5OiBhZGQgc2ltcGxlIHRyYW5zZmVyIHRlc3QKCSAgdGVzdHMgdHJhbnNmZXJyaW5nIHRvL2Zyb20gdGhlIEdMIHdpdGggYSAxeDEgUkdCQSBwaXhlbC4KCjIwMTQtMDktMzAgMDE6Mzg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdW5zZXQgdGhlIG9wcG9zaXRlIGNvcnJlc3BvbmRpbmcgdHJhbnNmZXIgZmxhZ3Mgd2hlbiBtYXBwZWQgd2l0aCB3cml0ZQoJICBmaXhlcyBjb25zaXN0ZW5jeSB3aXRoIGNvbnNlY3V0aXZlIGdzdF9tZW1vcnlfbWFwKCkncyB3aXRoCgkgIGZsYWdzICYgR1NUX01BUF9XUklURQoKMjAxNC0wOS0yOSAwOTozMzo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogVXBkYXRlIHZpZXdwb3J0IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBjbGlwcGluZwoJICBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgR0wgdmlld3BvcnQgaWYgdGhlIE5TVmlldyBpcyBvbmx5IHBhcnRpYWxseQoJICB2aXNpYmxlLiBPdGhlcndpc2UgdGhlIGNvbnRlbnQgb2YgdGhlIGZyYW1lIHdpbGwgYmUgdmlzaWJseSBvZmZzZXQuCgoyMDE0LTA5LTI5IDEwOjAxOjI3ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IGRpc2NhcmQgb24gZGlzY29udCBpZiBQRVMgc3RhcnQKCSAgSWYgYSBkaXNjb250aW51aXR5IGluIHRoZSBzdHJlYW0gaXMgZGV0ZWN0ZWQsIGRhdGEgaXMgZGlzY2FyZGVkIHVudGlsCgkgIGEgbmV3IFBFUyBzdGFydHMuIElmIHRoZSBmaXJzdCBwYWNrZXQgYWZ0ZXIgdGhlIGRpc2NvbnRpbnVpdHkgaXMgYWxzbwoJICB0aGUgc3RhcnQgb2YgYSBQRVMsIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBkaXNjYXJkIHRoZSBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTY5CgoyMDE0LTA3LTMxIDIyOjU3OjQwICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkandAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBVc2UgR3N0VXJpIHRvIGpvaW4gVVJJcwoKMjAxNC0wOS0yOSAxMDo0OTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IEltcHJvdmUgdGhlIE5TQXBwbGljYXRpb24gaW5pdGlhbGl6YXRpb24KCSAgVGhpcyBpcyBvbmx5IGZvciBub24tQ29jb2EgYXBwcyBidXQgcHJldmlvdXNseSBjYXVzZWQgYSAyIHNlY29uZAoJICB3YWl0aW5nIGR1cmluZyBzdGFydHVwIGZvciBDb2NvYSBhcHBzLiBUaGlzIGlzIHVuYWNjZXB0YWJsZS4KCSAgSW5zdGVhZCB3ZSBub3cgY2hlY2sgYSBiaXQgbW9yZSBleHRlbnNpdmUgaWYgc29tZXRoaW5nIGFjdHVhbGx5CgkgIHJ1bnMgb24gdGhlIEdMaWIgZGVmYXVsdCBtYWluIGNvbnRleHQsIGFuZCBpZiBub3QgZG9uJ3QgZXZlbgoJICBib3RoZXIgd2FpdGluZyBmb3Igc29tZXRoaW5nIHRvIGhhcHBlbiBmcm9tIHRoZXJlLgoKMjAxNC0wOS0yOSAwOToyNDo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogTlNWaWV3OjpkcmF3UmVjdCgpIHNob3VsZCBjYWxsIGludG8gcmVzaGFwZSB0b28KCSAgV2UgYSkgbmVlZCB0byByZW5kZXIgYWdhaW4gYmVjYXVzZSBwYXJ0IG9mIHRoZSB3aW5kb3cgd2FzCgkgIG9ic2N1cmVkIGFuZCBiKSBtaWdodCBuZWVkIHRvIHJlc2hhcGUgYmVjYXVzZSBvZiBjbGlwcGluZwoJICBjaGFuZ2VzLgoKMjAxNC0wOS0yNiAxNDoyMTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBDYWxsIFVJIHJlbGF0ZWQgQVBJIGZyb20gdGhlIGFwcGxpY2F0aW9uIG1haW4gdGhyZWFkCgoyMDE0LTA5LTI2IDEzOjA1OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFN3aXRjaCB0byBhIHBsYWluIE5TVmlldyBzdWJjbGFzcyBpbnN0ZWFkIG9mIE5TT3BlbkdMVmlldwoJICBXZSBkb24ndCBhbmQgY2FuJ3QgdXNlIE5TT3BlbkdMVmlldyBhcyBpdCdzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYW5kCgkgIGl0IGdldHMgaW50byBvdXIgd2F5IGJ5IGJlaW5nIHRvIGNsZXZlciBpbiB2YXJpb3VzIHNpdHVhdGlvbnMuCgoyMDE0LTA5LTI5IDA4OjU0OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEluaXRpYWxpemUgdmFyaWFibGUKCSAgQXZvaWRzIHRoZSBmb2xsb3dpbmcgd2FybmluZzoKCSAgZ3N0Z2xjb250ZXh0LmM6NjQ3OjU4OiBlcnJvcjogJ3ByZXYnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4KCSAgdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoKMjAxNC0wOS0yOCAxODowMzowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogZml4IGJ1aWxkIGluIGdzdC11bmluc3RhbGxlZCBzZXR1cAoJICBJbmNsdWRlIHRoZSBiYXNlIHZpZGVvIGxpYiBhcHByb3ByaWF0ZWx5IGFuZCByZXNvcnQgYWxsIG9mIHRoZW0gYXMKCSAgdGhheXRhbiBzdWdnZXN0ZWQuCgoyMDE0LTA5LTI5IDAwOjIzOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJICBleGFtcGxlczogRml4IFF0L0dMIHFnbHd0ZXh0dXJlc2hhcmUgZXhhbXBsZSBmb3IgWDExCgkgIFdlIG5lZWQgdG8gcGFzcyB0aGUgWDExIGRpc3BsYXkgdG8gR3N0R0wgb3IgZWxzZSBpdCB3aWxsCgkgIHVzZSBpdHMgb3duIFgxMSBEaXNwbGF5IHBvaW50ZXIsIGFuZCB0aGUgR0wgQ29udGV4dCB3b24ndCBnZXQgc2hhcmVkCgkgIGNvcnJlY3RseSBvbiBuZXdlciBYIHNlcnZlcnMKCjIwMTQtMDktMjggMjA6MjE6NTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9EZWJ1Zy92aWRlb292ZXJsYXk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW92aWRlb292ZXJsYXkucHJvOgoJICBleGFtcGxlczogcG9ydCBHTC9RdCBleGFtcGxlcyB0byBRdDUKCSAgVXBkYXRlIHRoZSBHTCBRdCBpbnRlZ3JhdGlvbiBleGFtcGxlcyBmb3IgUXQ1IGNoYW5nZXMgYW5kIGZvciBHc3RHTAoJICBzaWduYWwgc2lnbmF0dXJlIGNoYW5nZXMuCgoyMDE0LTA5LTI5IDAwOjMyOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4dXAgZXJyb3IgaW4gc2hhcmVncm91cCBjb21tZW50CgoyMDE0LTA5LTI5IDAwOjI3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgcHVzaDogImdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGVhZTA5MTc5ZjBiNGViNTg0YzhmYzdiNjU2MGQ4ZmM4ZTg2ZWVkNGMuCgoyMDE0LTA5LTI5IDAwOjI0OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZGV0ZWN0IHRoZSBzaGFyZWdyb3VwIGNhc2Ugd2hlcmUgdGhlIGNvbnRleHQgYXJlIGluIGRpZmZlcmVudCBjaGFpbnMKCSAgSW4gdGhlIGVuZCB0aGV5IHdpbGwgbGVhZCB0byB0aGUgc2FtZSByb290IGNvbnRleHQgaW4gdGhlIHRyZWUgc28gY2hlY2sgdGhhdAoJICBmb3IgZXF1YWxpdHkuCgoyMDE0LTA5LTI4IDEwOjUxOjA5ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMCgoyMDE0LTA5LTI4IDIxOjE4OjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHNpbGVuY2UgYSB3YXJuaW5nIHdpdGggZW1wdHkgaW5wdXQgY2FwcwoJICBkaXNjb3ZlcmVkIHdpdGggdGhlIGRvdWJsZWN1YmUgZXhhbXBsZQoJICBnc3RfY2Fwc19nZXRfZmVhdHVyZXM6IGFzc2VydGlvbiAnaW5kZXggPCBHU1RfQ0FQU19MRU4gKGNhcHMpJyBmYWlsZWQKCjIwMTQtMDktMjggMjA6Mzc6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZXhhbXBsZXMvZ2w6IHVwZGF0ZSBmb3Igc2lnbmFsIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTQtMDktMjggMTY6NTg6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBjcmVhdGUgY29udmVydGVycyB3aGVuIHRoZSBzdWJjbGFzcyBkb2Vzbid0IHdhbnQgdGhlbQoJICBmaXhlcyBhIGNyaXRpY2FsIHdpdGggZ2x2aWRlb21peGVyIGFmdGVyCgkgIDM1YmQxOTY5ZjkxMmNlY2RhMGZiNWRmOTU5NWEwMDVlNmRkZjRlN2EKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTA5LTI2IDIyOjI5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZml4IHplcm8gb3V0cHV0IGZyYW1lcyB3aXRoIFlVWTIvVVlWWQoJICBhbHNvLCBiZSBuaWNlIGFuZCBkaXNhYmxlIGJsZW5kaW5nIGZvciBvdGhlciBlbGVtZW50cwoKMjAxNC0wOS0yNiAyMjoyMjowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IHByb3RlY3QgZGVza3RvcCBnbCBzcGVjaWZpYyB0b2tlbnMgd2l0aCAjaWYKCjIwMTQtMDktMjYgMTI6Mjg6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmcmVlIHRoZSBpbWFnZSBtZW1vcnkgZXZlcnkgdGltZSB0aGUgbG9jYXRpb24gY2hhbmdlcwoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA5LTI1IDIwOjQ4OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbG92ZXJsYXk6IEluY2x1ZGUgaW50byB0aGUgYnVpbGQgd2l0aCBHTEVTMiBvbmx5IHRvbwoKMjAxNC0wOS0yNiAwMTo0NToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGZyZWUgdGhlIHNoYWRlciBvbiBzdG9wCgoyMDE0LTA5LTI2IDAxOjM0OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IGJsZW5kaW5nIHdpdGggbG93LWFscGhhIHNvdXJjZXMKCSAgV2UgYWxzbyBuZWVkIHRvIGFwcGx5IHRoZSBibGVuZCBwYXJhbWF0ZXJzIHRvIHRoZSBhbHBoYSBjaGFubmVsIG90aGVyd2lzZQoJICB0aGUgb3V0cHV0IG9mIHRoZSBibGVuZCB3aWxsIGFwcGVhciBibGFjayBhdCBsb3cgYWxwaGEgdmFsdWVzICg8IDAuMikuCgoyMDE0LTA5LTI2IDAxOjE0OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbG92ZXJsYXk6IHJlaW1wbGVtZW50IGV2ZXJ5dGhpbmcKCSAgLSB1cGRhdGUgZm9yIHNoYWRlcnMKCSAgLSBhZGQgYWxwaGEgcHJvcGVydHkKCSAgLSBpbWFnZSBwbGFjZW1lbnQgcHJvcGVydGllcyBzaGFtZWxlc3NseSBib3Jyb3dlZCBmcm9tIGdka3BpeGJ1Zm92ZXJsYXkKCSAgLSBpbWFnZSBwbGFjZW1lbnQgcHJvcGVydGllcyBhcmUgR3N0Q29udHJvbGxlciBhYmxlCgkgIC0gdXNlIEdzdEdMTWVtb3J5IGZvciB0aGUgb3ZlcmxheSBpbWFnZSBkYXRhCgkgIC0gYWRkIHN1cHBvcnQgZm9yIGdsZXMyCgoyMDE0LTA5LTI1IDE2OjA0OjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBzdHlsZTogcmVtb3ZlIHVubmVjZXNzYXJ5IGJyZWFrIHN0YXRlbWVudHMKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlc2UgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG9zIHByZWNlZGluZwoJICB0aGVtLiBTbyB0aGUgYnJlYWtzIGFyZSB1bm5lY2Vzc2FyeSwgYXMgZGlzY3Vzc2VkIGluIGJ1ZyA3MzY5NDIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzczNzAKCjIwMTQtMDktMjUgMTU6NDU6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVubmVjZXNzYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQyCgoyMDE0LTA5LTI1IDE2OjEzOjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBTd2l0Y2ggZnJvbSBvdXIgY3VzdG9tIG1haW4gbG9vcCB0byBhIEdNYWluTG9vcAoJICBTaW1wbGlmaWVzIGNvZGUgYSBsb3QgYW5kIG1ha2VzIGl0IG1vcmUgc2ltaWxhciB0byB0aGUgb3RoZXIgYmFja2VuZHMuCgoyMDE0LTA5LTI1IDE2OjEyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogQ2xlYXIgdGhlIGN1cnJlbnQgR0wgY29udGV4dCB3aGVuIGl0IHNob3VsZCBoYXBwZW4KCjIwMTQtMDktMjQgMTI6NDI6MjMgKzAyMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogRW1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudC10eXBlIHNob3VsZCBlbmQgd2l0aCBhIGZpbmFsIGJvdW5kYXJ5CgkgIEFkZCBmaW5hbCBib3VuZGFyeSBmb3IgZWFjaCBvZiB0aGUgc2VuZGluZyBvdXQgZW1haWxzIGZyb20gc210cHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzQKCjIwMTQtMDktMjUgMTA6MTQ6NDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmwqc2luazogYWRkIG1vcmUgbG9nZ2luZwoKMjAxNC0wOS0yNSAwODowNTo1MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGFkZCBhIGRlYnVnIGZ1bmN0aW9uCgkgIElmIGdzdHJlYW1lciBpcyBidWlsZCB3aXRoIGxvZ2dpbmcgZW5hYmxlZCwgYWRkIGEgZGVidWcgZnVuY3Rpb24gYW5kIG91dHB1dAoJICB2ZXJib3NlIG1lc3NhZ2VzIHRvIHRoZSBsb2cgaW5zdGVhZCBvZiBzdGRlcnIuCgoyMDE0LTA5LTI0IDIyOjI0OjQ5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmxodHRwc2luazogb25seSBhZGQgY29udGVudC1kaXNwb3NpdGlvbiBoZWFkZXIgaWYgYSBmaWxlbmFtZSBpcyBzZXQKCSAgVGhlIGhlYWRlciBpcyBvcHRpb25hbCBhbmQgdGhlcmVmb3JlIHdlIGJldHRlciBvbWl0IGl0IGlmIHdlIGRvbid0IGhhdmUgYSBmaWxlbmFtZS4KCjIwMTQtMDktMjQgMjI6MDY6MjEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBkb24ndCByZXBsYWNlIHNwZWNpZmljIGVycm9yIG1lc3NhZ2VzIHdpdGggYSBnZW5lcmljIG9uZQoJICBPbmx5IHNldCBhbiBlcnJvciBpZiB3ZSBoYXZlbid0IHNldCBvbmUgYWxyZWFkeS4KCjIwMTQtMDktMjQgMjE6MDc6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsdGxzc2luazogc3dhcCBjaGVjawoJICBMZXRzIGNoZWNrIGZvciBOVUxMIGZpcnN0LCBhcyB0aGF0IGlzIHRoZSBkZWZhdWx0IGFueXdheS4KCjIwMTQtMDctMjkgMTY6MTI6MjYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmV0dXJuIGZsdXNoaW5nIGlmIHdlIGdldCBjaGFpbmVkIHdoaWxlIGJlaW5nIHNldCB0byBSRUFEWQoJICBPciBub3QgbmVnb3RpYXRlZCBpbiB0aGUgY2FzZSB3ZSB3b3VsZCBiZSBhY3R1YWxseSBub3QgbmVnb3RpYXRlZAoJICBDdXJyZW50bHkgd2UgYXJlIGdldHRpbmcgYXNzZXJ0aW9ucyBmcm9tCgkgIGdzdF9wYl91dGlsc19hZGRfY29kZWNfZGVzY3JpcHRpb25fdG9fdGFnX2xpc3QgYmVjYXVzZSBvZiBOVUxMCgkgIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxODYKCjIwMTQtMDktMDkgMTM6MTI6MzEgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbWFyayBmaXJzdCBidWZmZXIgYXMgZGlzY29udCBhZnRlciByZXN0YXJ0aW5nIGEgZG93bmxvYWQgdGFzawoJICBNYXJrIGZpcnN0IGJ1ZmZlciBhcyBkaXNjb250IGFmdGVyIHJlc3RhcnRpbmcgYSBkb3dubG9hZCB0YXNrLCBzbwoJICBkb3duc3RyZWFtIGNhbiByZXNldCBpdHMgc3RhdGUgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBuZXcgZnJhZ21lbnQuCgkgIFJlbGF0ZWQgaXNzdWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOQoKMjAxNC0wOS0xOSAyMjozMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHVzaCBhIHRpbWUgc2VnbWVudCB3aGVuIHJlc3RhcnRpbmcgc3RyZWFtaW5nCgkgIFRoaXMgc2hvdWxkIGluZm9ybSBkZW11eGVycy9kZWNvZGVycyBkb3duc3RyZWFtIHRoYXQgdGhlIHN0cmVhbSBpcwoJICBhYm91dCB0byBzdGFydCBmcm9tIGEgbmV3IHBvc2l0aW9uIGFuZCB0aGV5IHNob3VsZCBmbHVzaCBhY2NvcmRpbmdseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE5CgoyMDE0LTA5LTI0IDE2OjU1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkgIHZpZGVvOiB1c2UgdmlkZW8gbGliIGNvbnZlcnNpb24gY29kZSBpbnN0ZWFkIG9mIGNvcHkKCjIwMTQtMDktMTggMTc6MjY6MzcgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIE9uZSBtb3JlIGNvZGUgZmxvdyBpc3N1ZSB3aGVyZSBpdCBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnQgZHVlIHRvCgkgIHRoZSBnb3RvLiBTbyB0aGUgYnJlYWsgaXMgdW5uZWNlc3NhcnkuCgkgIFBsdXMgdHdvIGNvZGluZyBzdHlsZSBmaXhlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NQoKMjAxNC0wOS0yNCAyMjo0Mjo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBUcmFuc2ZlciB0aW1lc3RhbXBzIHRvIG91dHB1dCBidWZmZXJzCgkgIEFsbG93cyB1c2luZyBjaG9wbXlkYXRhIGFzIGEgc2ltcGxlIHJlcGFja2V0aXplcgoKMjAxNC0wOS0xOSAwOTo1MTo0OCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYnJlYWsgc3RhdGVtZW50cyB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5lY2Vzc2FyeS4gU2Vjb25kIHBhcnQgdG8gY29tbWl0IGEzOTU4YWU2NWIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MAoKMjAxNC0wOS0xOSAwOTo1OTo0MSArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bmVjZXNzYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQyCgoyMDE0LTA5LTE4IDE2OjEzOjU4IC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBhdm9pZCBlcnJvciB3aGVuIHNldF9jYXBzIGNhbGxlZCB0d2ljZQoJICBJZiBzZXRfY2FwcyBpcyBjYWxsZWQgaW4gYSBydW5uaW5nIHN0YXRlLCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlIGNhcHMKCSAgaGF2ZW4ndCBjaGFuZ2VkLiBJZiB0aGUgcGlucyBhcmUgYWxyZWFkeSBjb25uZWN0ZWQsIGRpc2Nvbm5lY3QgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkyNgoKMjAxNC0wOS0yNCAxNDoyOTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNraXAgaW5wdXQgZnJhbWVzIHdpdGggYW4gYWxwaGEgb2YgMAoKMjAxNC0wOS0yNCAxMzoxMzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGRvd25sb2FkIHdoZW5ldmVyIHdlIGhhdmUgc3lzbWVtIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2Ugd2UgY291bGQgcGFzcyBvbiBhIFJHQkEgZm9ybWF0dGVkIGJ1ZmZlciBhbmQgZG93bnN0cmVhbSB3b3VsZAoJICBtaXNpbnRlcnByZXQgdGhhdCBhcyBzb21lIG90aGVyIHZpZGVvIGZvcm1hdC4KCSAgRml4ZXMgcGlwZWxpbmVzIG9mIHRoZSBmb3JtCgkgIGdsZWZmZWN0cyAhIHRlZSAhIHh2aW1hZ2VzaW5rCgoyMDE0LTA5LTE5IDAxOjIyOjE0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSAgZ3NldHRpbmdzOiBGaXggdHlwbyBpbiBkZXNjcmlwdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTMzCgoyMDE0LTA5LTIzIDE3OjMyOjU5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg6IHJlZmFjdG9yIGR1cGxpY2F0ZSBlbHNlIGJyYW5jaGVzCgkgIFVua25vd24gY2FzZSBzaG91bGQgYXNzZXJ0IGlmIHJlYWNoZWQgaW5zdGVhZCBvZiBqdXN0IGFzc3VtaW5nIHRoZSBtYXggYnVmZmVyCgkgIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NjAKCjIwMTQtMDktMTkgMDk6NTQ6MTEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBpbml0aWFsaXplIHNlbnRfY29kZWNfdGFnIGJlZm9yZSB1c2luZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTUxCgoyMDE0LTA5LTIyIDE3OjE0OjI5ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSAgdmlkZW9maWx0ZXJzOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSBZVVYgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTExCgoyMDE0LTA4LTIxIDAyOjE0OjQwICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBhZGQgTWFuZGVsYnJvdCBmcmFjdGFsIHBhdHRlcm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMzEKCjIwMTQtMDgtMjEgMDI6MTM6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgc25vdyBwYXR0ZXJuIHdpdGggR0xTTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEzMQoKMjAxNC0wOS0yMyAxMjowMjoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZhbGxiYWNrIHRvIHVwbG9hZCBpZiBjb250ZXh0cyBjYW5ub3Qgc2hhcmUgR0wgcmVzb3VyY2VzCgkgIEZpeGVzIHBpcGVsaW5lcyBvZiB0aGUgZm9ybQoJICBnbGVmZmVjdHMgISB0ZWUgISBnbGltYWdlc2luawoJICBhcyB0ZWUgZG9lcyBub3QgcGFzcyBvbiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTQtMDktMjMgMTI6MDE6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X2Nhbl9zaGFyZQoJICBXaGljaCBkZXRlcm1pbmVzIHdoZXRoZXIgdHdvIEdzdEdMQ29udGV4dCdzIGNhbiBzaGFyZSBzaGFyYWJsZQoJICBPcGVuR0wgcmVzb3VyY2VzLgoKMjAxNC0wOS0yMiAyMDowMToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIHVwbG9hZCBBUEkgY2hhbmdlcwoKMjAxNC0wOS0yMiAxMDowODoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IExldCBnc3RfZ2xfY29udGV4dF9nZXRfdGhyZWFkKCkgcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgR1RocmVhZAoJICBPdGhlcndpc2UgaXQgbWlnaHQgZ28gYXdheSBpbiB0aGUgbWVhbnRpbWUgYW5kIHRoZSBjYWxsZXIgaGFzIHNvbWUgcmFuZG9tIHBvaW50ZXIuCgoyMDE0LTA5LTIyIDExOjEwOjQyICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogY29uc2VjdXRpdmUgcmV0dXJuLCBicmVhayBzdGF0ZW1lbnQKCSAgU2lnbmVkLW9mZi1ieTogQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MzkKCjIwMTQtMDktMjIgMTI6MjE6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbC9kZWJ1ZzogZGVza3RvcCBHTCBkb2VzIG5vdCBoYXZlIHRoZSBLSFIgc3VmZml4ZXMKCjIwMTQtMDktMjIgMTE6NTk6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZXhhbXBsZXMvZ2wvZ3RrOiB1c2UgdGhlIHN5bmMgYnVzIGNhbGxiYWNrIHRvIHNldCB0aGUgd2luZG93IGhhbmRsZQoJICBBbmQgb3V0cHV0IGVycm9yIG1lc3NhZ2VzLgoKMjAxNC0wOS0xOSAxODo1OTowMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBGRUMgcmF0ZXMKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTA5LTIxIDEzOjMyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogYWRkIHNpbmNlIG1hcmtlcnMgZm9yIG5ldyBBUEkKCjIwMTQtMDktMjEgMjE6NDI6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgZGVidWcgbGluZSBmb3IgZnJlZWluZyB0ZXh0dXJlcwoKMjAxNC0wOS0yMSAyMTozNjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsdXBsb2FkOiBwcm92aWRlIHRoZSBvdXRwdXQgYnVmZmVyIHRoYXQgaXMgcmVuZGVyZWQgaW50bwoJICBBbGxvd3MgY2FsbGVycyB0byBwcm9wZXJseSByZWZlcmVuY2UgY291bnQgdGhlIGJ1ZmZlcnMgdXNlZCBmb3IKCSAgcmVuZGVyaW5nLgoJICBGaXhlcyBhIHJlZHJhdyByYWNlIGluIGdsaW1hZ2VzaW5rIHdoZXJlIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgKHRoZSBvbmUgdXNlZCBmb3IgcmVkcmF3IG9wZXJhdGlvbnMpIGlzIGZyZWVkIGFzIHNvb24gYXMgdGhlIG5leHQKCSAgYnVmZmVyIGlzIHVwbG9hZGVkLgoJICAxLiBnbGltYWdlc2luayB1cGxvYWRzIGluIF9wcmVwYXJlKCkgdG8gdGV4dHVyZSBuCgkgIDEuMSBnbHVwbG9hZCBob2xkcyBidWZmZXIgbgoJICAyLiBnbGltYWdlc2luayBfcmVuZGVyKClzIHRleHR1cmUgbgoJICAzLiBnbGltYWdlc2luayB1cGxvYWRzIHRleHR1cmUgbisxCgkgIDMuMSBnbHVwbG9hZCBmcmVlIHByZXZpb3VzIGJ1ZmZlciB3aGljaCBkZWxldGVzIHRleHR1cmUgbgoJICAzLjIgZ2x1cGxvYWQgaG9sZHMgYnVmZmVyIG4rMQoJICA0LiBnbHdpbmRvdyByZXNpemUvZXhwb3NlCgkgIDUuIGdsaW1hZ2VzaW5rIHJlZHJhd3Mgd2l0aCB0ZXh0dXJlIG4KCSAgVGhlIHJhY2UgaXMgdGhhdCB0aGUgYnVmZmVyIG4gKHRoZSBvbmUgdXNlZCBmb3IgcmVkcmF3aW5nKSBpcyBmcmVlZCBhcyBzb29uIGFzCgkgIHRoZSBidWZmZXIgbisxIGFycml2ZXMuICBUaGVyZSBjb3VsZCBiZSBhbnkgYW1vdW50IG9mIHRpbWUgYW5kIG51bWJlciBvZgoJICByZWRyYXdzIGJldHdlZW4gdGhpcyBldmVudCBhbmQgd2hlbiBidWZmZXIgbisxIGlzIGFjdHVhbGx5IHJlbmRlcmVkIGFuZCB0aHVzCgkgIHJlcGxhY2VzIGJ1ZmZlciBuIGFzIHRoZSByZWRyYXcgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzQwCgoyMDE0LTA5LTIxIDIxOjMwOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBBUEkgdG8gcmV0cmVpdmUgdGhlIHRocmVhZCB0aGF0IGNvbnRleHQgaXMgYWN0aXZlIGluCgoyMDE0LTA5LTE5IDE1OjMyOjMzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogUmVtb3ZlZCB1bnJlYWNoYWJsZSBicmVhaywgdW51c2VkIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NTcKCjIwMTQtMDktMTkgMTQ6MzY6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGVuY29kZXIgdG8gd29yayBvbiBpT1MKCSAgaU9TIGhhcyBzcGVjaWFsIHN0cmlkZSByZXF1aXJlbWVudHMgdGhhdCB3ZSBkb24ndCBrbm93IHlldCwgc28gY29weQoJICBpbnB1dCBidWZmZXJzIGludG8gYnVmZmVycyBhbGxvY2F0ZWQgYnkgaU9TIGZvciBub3cuCgkgIExhdGVyIHdlIHNob3VsZCBjaGVjayB0aGUgc3RyaWRlIGFuZCBwcm9iYWJseSBwcm92aWRlIGEgYnVmZmVyIHBvb2wgZm9yIHRoZXNlCgkgIGJ1ZmZlcnMgc28gdXBzdHJlYW0gY2FuIGRpcmVjdGx5IHdyaXRlIGluIHRoZXJlLgoKMjAxNC0wOS0xOSAxNDozMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogV2UgbmVlZCB0byBtYXAgdGhlIGNvcmVtZWRpYSBidWZmZXJzIGluIG5vbi1yZWFkb25seSBtb2RlCgkgIE91ciBidWZmZXJzIGNsYWltIHRvIGJlIHdyaXRhYmxlIHNvIG90aGVyIGVsZW1lbnRzIGV4cGVjdCB0byBiZSBhYmxlCgkgIHRvIHdyaXRlIHRoZXJlIHdpdGhvdXQgbG9zaW5nIHRoZWlyIGNoYW5nZXMuCgoyMDE0LTA5LTE4IDE4OjE2OjU5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayBjbGllbnQgbXV0ZXggYmVmb3JlIGVudGVyaW5nIHRoZSByZXRyeV9mYWlsb3ZlciBibG9jawoJICBUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgY2FzZSB3aGVyZSB0aGUgYmxvY2sgZXhlY3V0aW9uIGlzCgkgIHRyaWdnZXJlZCBieSB0aGUgZ290byBpbnZva2VkIGFmdGVyIHRoZSBjdXJyZW50X3ZhcmlhbnQgdXBkYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTE5CgoyMDE0LTA5LTEyIDAyOjM2OjQ3IC0wMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA5LTEyIDAyOjM1OjQ0IC0wMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA4LTI5IDEyOjM4OjEyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDktMTcgMTc6Mjc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE3IDE3OjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xNyAxNDo1MTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTggMTc6NDk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogTGV0IHRoZSBlbmNvZGVyIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgaDI2NCBsZXZlbAoJICBXZSBzaG91bGQgbmVnb3RpYXRlIHRoZXNlIHRoaW5ncyB2aWEgY2Fwcy4uLgoKMjAxNC0wOS0xOCAxMzo0NTozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2UgMCBpbnN0ZWFkIG9mIEdfTUFYRE9VQkxFIGFzIHRoZSBtYXgga2V5ZnJhbWUgaW50ZXJ2YWwKCSAgMCBtZWFucyBubyBsaW1pdCwgd2hpY2ggd2FzIG1lYW50IGhlcmUgd2l0aCBHX01BWERPVUJMRSBwcm9iYWJseS4KCjIwMTQtMDktMTggMTM6NDI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRXhwZWN0ZWQgZHVyYXRpb24gaXMgc3VwcG9zZWQgdG8gYmUgdGhlIGR1cmF0aW9uIG9mIHRoZSBzdHJlYW0sIG5vdCBhIGZyYW1lCgkgIEp1c3QgZG9uJ3Qgc2V0IGl0IGZvciBub3csIGl0IGlzbid0IHJlYWxseSBuZWVkZWQuCgoyMDE0LTA5LTE4IDExOjM5OjUzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBhZGQgdW5pdCB0ZXN0IGZvciBzZXF1ZW5jZS1sYXllciBwYXJzaW5nCgkgIENoZWNrIHRoYXQgYSBzZXF1ZW5jZS1sYXllciBoZWFkZXIgaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3MQoKMjAxNC0wOS0xOCAxMTo0OToxMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogdGFrZSBjYXJlIG9mIGVuZGlhbm5lc3Mgd2hlbiBwYXJzaW5nIHNlcXVlbmNlLWxheWVyCgkgIHNlcXVlbmNlLWxheWVyIGlzIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyIGV4Y2VwdCBmb3IKCSAgU1RSVUNUX0Mgd2hpY2ggaXMgc2VyaWFsaXplZCBpbiBiaWctZW5kaWFuIGJ5dGUgb3JkZXIuCgkgIEJ1dCBzaW5jZSBTVFJVQ1RfQSBhbmQgU1RSVUNUX0IgZmllbGRzIGFyZSBkZWZpbmVkIGFzIHVuc2lnbmVkIGludCBtc2IKCSAgZmlyc3QsIHdlIGhhdmUgdG8gcGFzcyB0aGVtIGFzIGJpZy1lbmRpYW4gdG8gdGhlaXIgcGFyc2luZyBmdW5jdGlvbi4gU28KCSAgd2UgYmFzaWNhbGx5IHVzZSB0ZW1wb3JhcnkgYnVmZmVycyB0byBjb252ZXJ0IHRoZW0gaW4gYmlnLWVuZGlhbi4KCSAgU2VlIFNNUFRFIDQyMU0gQW5uZXggSiBhbmQgTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3MQoKMjAxNC0wOS0xOCAxMzoxMTowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQcm9wZXJseSBoYW5kbGUga2V5ZnJhbWVzCgkgIEVzcGVjaWFsbHkgc2V0IHRoZSBTWU5DX1BPSU5UIGZsYWcgb24ga2V5ZnJhbWVzLgoKMjAxNC0wOS0xOCAxNDoyNDoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlbW92ZWQgYW4gdW53YW50ZWQgaW5pdGlhbGl6YXRpb24gYW5kIGEgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg2MwoKMjAxNC0wOS0xNyAxMjoyNDozOSArMDIwMCAgSmVyb21lIExhaGV1cnRlIDxqbGFoZXVydGVAcXVpdmlkaS5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL0JVSUxELnR4dDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9DTWFrZUxpc3RzLnR4dDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBQb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjgzCgoyMDE0LTA5LTE4IDEyOjUzOjExICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlZCByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg1MwoKMjAxNC0wOS0xNyAxNTo1MDoyMyArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGxvZ2ljYWwgZGlzanVuY3Rpb24gY29uc2VjdXRpdmUgcmV0dXJuLCBicmVhayB1bm5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzkwCgoyMDE0LTA5LTE3IDExOjQ5OjIyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZW5hYmxlIGhlYWRlci1mb3JtYXQgY29udmVyc2lvbgoJICBJbiBmYWN0IHdlIHN1cHBvcnQgaGVhZGVyLWZvcm1hdCBjb252ZXJzaW9uIHdoaWNoIGlzIGRvbmUgaW4KCSAgdXBkYXRlX2NhcHMoKSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODYKCjIwMTQtMDktMTggMTA6MzA6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGF0aW9uCgoyMDE0LTA5LTE4IDA5OjQ3OjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEhhbmRsZSAwLzEgZnJhbWVyYXRlcyBjb3JyZWN0bHkgYnkgbm90IGNhbGN1bGF0aW5nIHRoZWlyIGZyYW1lIGR1cmF0aW9uCgoyMDE0LTA5LTE3IDE3OjM3OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggbmV3ZXIgY2xhbmcKCjIwMTQtMDktMTcgMTc6MTA6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUHJlcGFyZSBlbmNvZGVyIGFmdGVyIHNldHVwCgkgIFRoaXMgd2lsbCBhbGxvdyBlbmNvZGluZyB0byBoYXBwZW4gZmFzdGVyIG9uIHRoZSBmaXJzdCBmcmFtZS4KCjIwMTQtMDktMTcgMTc6MDg6NTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogT25seSBkcmFpbiB0aGUgZW5jb2RlciBpbiA6OmZpbmlzaCgpLCBub3Qgb24gZXZlcnkgZnJhbWUKCSAgT3RoZXJ3aXNlIHF1YWxpdHkgYW5kIGJpdHJhdGUgd2lsbCBiZSBiYWQuCgoyMDE0LTA5LTE3IDE1OjM5OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEVycm9yIG91dCBpZiBlbmNvZGluZyByZXR1cm5lZCBhbiBlcnJvcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IGNvbnRpbnVlIGNvbnN1bWluZyBmcmFtZXMgdW50aWwgYWxsIG1lbW9yeSBpcyBmaWxsZWQKCSAgdXAgYW5kIHRoZSBhcHAgY3Jhc2hlcy4KCjIwMTQtMDktMTcgMTQ6NTY6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQ2hlY2sgZm9yIGVycm9ycyBmcm9tIFZUQ29tcHJlc3Npb25TZXNzaW9uQ29tcGxldGVGcmFtZXMoKQoKMjAxNC0wOS0xNyAxNDo1NToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBQcm9wZXJseSBzY2FsZSB0aW1lc3RhbXBzIGZvciB0aGUgQVBJIGFuZCBzZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTQtMDktMTcgMTQ6NTQ6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUHJvcGVybHkgc2NhbGUgdGltZXN0YW1wcyBmb3IgdGhlIEFQSSBhbmQgc2V0IGludmFsaWQgdmFsdWVzCgoyMDE0LTA5LTE3IDEzOjE5OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSAgYXBwbGVtZWRpYTogUmVtb3ZlIG9sZCBjb2RlIHRoYXQgaXMgb2Ygbm8gdXNlIGFueW1vcmUKCjIwMTQtMDktMTYgMTc6Mzg6NTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmb3JnZSBzZXF1ZW5jZS1sYXllciBmcm9tIHNlcV9oZHIgaW5zdGVhZCBvZiBzZXFfbGF5ZXIKCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIHNlcV9sYXllcl9idWZmZXIsIHdlIGFsc28gZG9uJ3QgaGF2ZSBhIHZhbGlkCgkgIHNlcV9sYXllciBiZWNhdXNlIHRoZXJlIGFyZSBzZXQgdG9nZXRoZXIgaW4KCSAgZ3N0X3ZjMV9wYXJzZV9oYW5kbGVfc2VxX2xheWVyKCkuCgkgIFNvIHdoZW4gb3V0cHV0IGhlYWRlciBmb3JtYXQgaXMgc2VxdWVuY2UtbGF5ZXIgYW5kIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhCgkgIHNlcV9sYXllcl9idWZmZXIsIHdlIGZvcmdlIG9uZSBmcm9tIHNlcV9oZHIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODEKCjIwMTQtMDktMTcgMTA6Mzk6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFwcGxlbWVkaWE6IFVuY29uZGl0aW9uYWxseSB1c2UgVmlkZW9Ub29sYm94IG9uIGlPUyBpZiBhdmFpbGFibGUKCSAgQmVjYXVzZSB3ZSBkbyB3ZWFrIGxpbmtpbmcgbm93IHdlIGNhbiBhbHdheXMgY29tcGlsZSBpdCBpbiBhbmQgY2hlY2sgYXQKCSAgcnVudGltZSBpZiBpdCBpcyBhY3R1YWxseSBhdmFpbGFibGUgb3Igbm90LgoKMjAxNC0wOS0xNyAxMDozODoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogRG8gd2VhayBsaW5raW5nIHdpdGggdGhlIFZpZGVvVG9vbGJveCBmcmFtZXdvcmsKCSAgSXQgZG9lcyBub3QgZXhpc3Qgb24gb2xkZXIgT1NYIGFuZCBpT1MgYnV0IHdlIHN0aWxsIHdhbnQgdG8KCSAgYmUgYWJsZSB0byB1c2UgaXQgd2hlbiBpdCdzIGF2YWlsYWJsZS4KCjIwMTQtMDktMTYgMTI6MDY6MzUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IGxlYWsgYnVmZmVyIHBvb2wgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzM1CgoyMDE0LTA5LTE2IDE1OjU5OjU4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IHNlcXVlbmNlLWxheWVyL2ZyYW1lLWxheWVyIGVuZGlhbm5lc3MKCSAgU2VxdWVuY2UtbGF5ZXIgYW5kIGZyYW1lLWxheWVyIGFyZSBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZQoJICBvcmRlciBleGNlcHQgZm9yIFNUUlVDVF9DIGFuZCBmcmFtZWRhdGEgZmllbGRzIGFzIGRlc2NyaWJlZCBpbiBTTVBURSA0MjFNIEFubmV4CgkgIEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NTAKCjIwMTQtMDktMTYgMTY6NTE6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUG9ydCB0byBHc3RWaWRlb0VuY29kZXIgYmFzZSBjbGFzcwoKMjAxNC0wOS0xNiAxNjoxMzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2UgY29ycmVjdCBpbnN0YW5jZSBzdHJ1Y3Qgc2l6ZQoKMjAxNC0wOS0xNiAxNTo0ODoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgdmFsdWVzIG9mIHR5cGUgJ09TU3RhdHVzJyBzaG91bGQgbm90IGJlIHVzZWQgYXMgZm9ybWF0IGFyZ3VtZW50czsgYWRkIGFuIGV4cGxpY2l0IGNhc3QgdG8gJ2ludCcgaW5zdGVhZCBbLVdmb3JtYXRdCgoyMDE0LTA5LTE2IDE1OjAyOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFBvcnQgdG8gdGhlIHJlYWwgVmlkZW9Ub29sYm94IEFQSSBpbnN0ZWFkIG9mIHVzaW5nIG91ciBkbG9wZW4oKSB3cmFwcGVyCgkgIEl0J3MgYSBwdWJsaWMgZnJhbWV3b3JrIHNpbmNlIGEgbG9uZyB0aW1lLgoKMjAxNC0wOS0xNiAxMTo0MjozNCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMyCgoyMDE0LTA5LTE2IDExOjQzOjAyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwZGVjb2RlcjogZG8gbm90IGxlYWsgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMzCgoyMDE0LTA5LTE2IDExOjQxOjQzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMAoKMjAxNC0wOS0xNiAxMTo0MjoxMyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBkbyBub3QgbGVhayBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzEKCjIwMTQtMDktMTYgMTE6NDE6MTYgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MjkKCjIwMTQtMDktMTYgMTM6MjE6MjIgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMToyNDozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wOS0xNiAxMzoxOToyNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDAxOjE1OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBDb21wYXJlIHRoZSBjb3JyZWN0IGxvb3AgdmFyaWFibGVzCgoyMDE0LTA5LTE1IDE1OjQyOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IE5vIG5lZWQgdG8gc2V0IGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBvbiBpT1MKCjIwMTQtMDktMTUgMTU6MzY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQW5kIG1ha2UgdGhlIHByZXByb2Nlc3NvciBjaGVjayB3b3JrIHByb3Blcmx5CgoyMDE0LTA5LTE1IDE1OjI1OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvIHRoZSBBTV9DT05ESVRJT05BTCgpIGFmdGVyIGZpbmFsbHkgc2V0dGluZyB0aGUgdmFyaWFibGUKCjIwMTQtMDktMTUgMTU6MTI6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IERvbid0IGluY2x1ZGUgVmlkZW9Ub29sYm94IG9uIGlPUyA8IDguMAoJICBJdCdzIHByaXZhdGUgQVBJIGFuZCBkb2VzIG5vdCB3b3JrIHdpdGhvdXQgYSBqYWlsYnJva2VuIGRldmljZS4KCjIwMTQtMDktMTUgMTM6MzM6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIHJlZmV0Y2ggdGhlIHBsYXlsaXN0IGFmdGVyIHRoZSBmaXJzdCBmcmFnbWVudCBmYWlsdXJlCgkgIFByZXZpb3VzbHkgd2Ugb25seSByZWZldGNoZWQgdGhlIHBsYXlsaXN0IGlmIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQKCSAgaGFzIGZhaWxlZCBvbmNlLiBXZSBzaG91bGQgYWxzbyBkbyB0aGF0IGlmIGl0IGZhaWxlZCBhIHNlY29uZCBvciB0aGlyZCB0aW1lLAoJICBjaGFuY2VzIGFyZSB0aGF0IHRoZSBwbGF5bGlzdCB3YXMgdXBkYXRlZCBub3cgYW5kIGNvbnRhaW5zIG5ldyBVUklzLgoKMjAxNC0wOS0xNSAxMTo1OTozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoOiBBY3R1YWxseSByZXRyeSAzIHRpbWVzIGFzIGFkdmVydGlzZWQgaW5zdGVhZCBvZiAyCgoyMDE0LTA5LTE1IDExOjU5OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IEFjdHVhbGx5IHJldHJ5IDMgdGltZXMgYXMgYWR2ZXJ0aXNlZCBpbnN0ZWFkIG9mIDIKCjIwMTQtMDktMTMgMjA6NDk6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGF0aW9uIG9uIGlPUyA4LjAKCjIwMTQtMDktMTEgMTQ6MzY6MzEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggbWFsZm9ybWVkIHNlcXVlbmNlIGxheWVyIGhlYWRlciBhbmQgU1RSVUNUX0MKCSAgVGhpcyBjb21taXQgZml4IHNldmVyYWwgaXNzdWVzIHdpdGggc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGZvcmdpbmcgb24KCSAgdXBkYXRlX2NhcHMoKToKCSAgLSAweDAwMDAwMDA0IHVuc2lnbmVkIGludGVnZXIgaXMgYmVmb3JlIFNUUlVDVF9DLgoJICAtIFNldCByZXNlcnZlZCBiaXRzIG9mIFNUUlVDVF9DIHRvIHRoZWlyIHZhbHVlcyBmb3Igc2ltcGxlL21haW4KCSAgcHJvZmlsZXMgaW4gc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGZvcm1hdCBhbmQgQVNGIGhlYWRlciBmb3JtYXQuCgkgIC0gU2VxdWVuY2UgbGF5ZXIgc2hhbGwgYmUgcmVwcmVzZW50ZWQgYXMgYSBzZXF1ZW5jZSBvZiAzMiBiaXRzIHVuc2lnbmVkCgkgIGludGVnZXJzIGFuZCBzaGFsbCBiZSBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciBleGNlcHQKCSAgZm9yIFNUUlVDVF9DIHdoaWNoIHNoYWxsIGJlIHNlcmlhbGl6ZWQgaW4gYmlnLWVuZGlhbiBieXRlLW9yZGVyLgoJICBTZWUgU01QVEUgNDIxTSBBbm5leCBMIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgc2VxdWVuY2UgbGF5ZXIgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDc0CgoyMDE0LTA5LTEyIDE0OjQ5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBVc2UgcHJvcGVyIHZhcmlhYmxlIGZvciBkZWxpdmVyeSBzeXN0ZW0KCSAgV2Ugd2FudCB0byBjaGVjayB0aGUgZGVsaXZlcnkgc3lzdGVtIGlzIElTREJUIChhbmQgbm90IHRoZSBtb2R1bGF0aW9uCgkgIHdoaWNoIHdlIGNoZWNrIGxhdGVyIGluIHRoYXQgY2FzZSkuCgkgIENJRCAjMTIzODQzOQoKMjAxNC0wOS0xMiAwOTozMDowNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTMxCgoyMDE0LTA5LTExIDE4OjMzOjIwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHRzZGVtdXg6IGZpeCBvdmVyZmxvdyBvZiBwYWNrZXRfbGVuZ3RoIGZpZWxkIG9mIFBFU0hlYWRlcgoJICBwYWNrZXRfbGVuZ3RoIGlzIGRlZmluZWQgYXMgYSBndWludDE2IGluIHRoZSBQRVNIZWFkZXIgc3RydWN0dXJlLiBUaGlzCgkgIGRlZmluaXRpb24gbWF0Y2ggdGhlIHNwZWNpZmljYXRpb24uIEJ1dCBzaW5jZSB3ZSBhZGQgNiBieXRlcyB0byB0aGUKCSAgcGFja2V0X2xlbmd0aCB2YWx1ZSAobGVuZ3RoIG9mIHN0YXJ0X2NvZGUgKyBzdHJlYW1faWQgKyBwYWNrZXRfbGVuZ3RoKSwKCSAgd2UgY2FuIG92ZXJmbG93IHRoZSBndWludDE2IHdoZW4gdGhlIHZhbHVlIGluIHRoZSBQRVMgaGVhZGVyIGlzIGdyZWF0ZXIKCSAgdGhhbiA2NTUyOS4KCSAgU28gdXNlIGEgZ3VpbnQzMiBpbnN0ZWFkIG9mIGEgZ3VpbnQxNiB0byBhdm9pZCBvdmVyZmxvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ5MAoKMjAxNC0wOS0xMCAxNTozOTo0NCAtMDMwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgcG9zaXRpb24gZGV0ZWN0aW9uIHdoZW4gYSBkb3dubG9hZCByZXN0YXJ0CgkgIFF1ZXJ5IG90aGVyIHNyYyBwYWRzIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSBsYXN0CgkgIGtub3duIHB1c2hlZCBzZWdtZW50ICh3aGljaCBjYW4gYmUgZmFyIGFoZWFkIGluIHRpbWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDIxCgoyMDE0LTA5LTEwIDE1OjQzOjA1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBwb3NpdGlvbiBkZXRlY3Rpb24gd2hlbiBhIGRvd25sb2FkIHJlc3RhcnQKCSAgUXVlcnkgb3RoZXIgc3JjIHBhZHMgYmVmb3JlIGZhbGxpbmcgYmFjayB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGxhc3QKCSAga25vd24gcHVzaGVkIHNlZ21lbnQgKHdoaWNoIGNhbiBiZSBmYXIgYWhlYWQgaW4gdGltZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjEKCjIwMTQtMDktMTEgMTY6MjE6MzAgKzA0MDAgIEJlbG96b3JvdiBTZW1lbiA8c2tpbWlub2tEQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSAgbXBlZ3BzbXV4OiBmaXggbWVtb3J5IGxlYWsgd2hlbiBjb252ZXJ0aW5nIEguMjY0IGF2YyB0byBieXRlLXN0cmVhbSBmb3JtYXQKCSAgRml4IG1lbW9yeSBsZWFrIGZvciBpbnB1dCBzdHJlYW0gd2l0aCBjYXBzICJ2aWRlby94LWgyNjQsc3RyZWFtLWZvcm1hdD1hdmMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDI2CgoyMDE0LTA5LTEwIDE5OjI3OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiBhbGxvY2F0ZSBieXRlIHdyaXRlciBvbiBzdGFjawoKMjAxNC0wOS0xMCAxOToxOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZm11eDogYWxsb2NhdGUgYnl0ZSByZWFkZXJzIG9uIHRoZSBzdGFjawoKMjAxNC0wOS0xMCAxMDo1ODowMyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGNsZWFyIG11dGV4IHJlc291cmNlcyBpbiBkaXNwb3NlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTAKCjIwMTQtMDktMTAgMTc6MjQ6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICBGaXggdXAgb25lLWVsZW1lbnQgbGlzdHMgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNC0wOS0xMCAxNjozODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYm9ndXMgQkdSQSBjYXBzCgkgIFJlbW92ZSAwLjEwLXN0eWxlIGVuZGlhbm5lc3MvKl9tYXNrL2JwcC9kZXB0aCBmaWVsZHMuCgoyMDE0LTA5LTEwIDE5OjE2OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGRvbid0IEFDX1NVQlNUIGludGVybWVkaWF0ZSB2YWx1ZXMKCjIwMTQtMDktMDkgMTI6MDE6NDcgKzAyMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgR3N0R0xXaW5kb3c6IEludHJvZHVjZSBuYXZpZ2F0aW9uIHRocmVhZAoJICBUaGlzIHRocmVhZCBkaXNwYXRjaGVzIG5hdmlnYXRpb24gZXZlbnRzLiBJdCBpcyBuZWVkZWQgdG8gYXZvaWQgZGVhZGxvY2tzCgkgIGJldHdlZW4gd2luZG93IGJhY2tlbmQgdGhyZWFkcyB0aGF0IGVtaXQgbmF2aWdhdGlvbiBldmVudHMgKGUuZy4gWDExL0dNYWluTG9vcAoJICB0aHJlYWQpIGFuZCBjb25zdW1lcnMgb2YgbmF2aWdhdGlvbiBldmVudHMgc3VjaCBhcyBnbGltYWdlc2luaywgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2NjEKCSAgR3N0R2xXaW5kb3dfeDExIHRocmVhZCBpcyBjaGFuZ2VkIHRvIGludm9rZSB0aGUgbmF2aWdhdGlvbiB0aHJlYWQgZm9yIG5hdmlnYXRpb24KCSAgZGlzcGF0Y2hpbmcsIGluc3RlYWQgb2YgZW1pdGluZyB0aGUgZXZlbnQgaXRzZWxmLiBPdGhlIGJhY2tlbmRzIGJlc2lkZSBYMTEgZG8KCSAgbm90IGRpc3BhdGNoIG5hdmlnYXRpb24gZXZlbnRzIHlldCwgYnV0IHNob3VsZCB1c2UgdGhpcyB0aHJlYWQgd2hlbiBkaXNwYXRjaGluZwoJICB0aGVzZSBldmVudHMgaW4gdGhlIGZ1dHVyZS4KCSAgVGhlIG5hdmlnYXRpb24gdGhyZWFkIGlzIGN1cnJlbnRseSBwYXJ0IG9mIEdzdEdMV2luZG93IGFuZCBub3QgaW1wbGVtZW50ZWQgaW4KCSAgc2VwYXJhdGUgc3ViY2xhc3NlcyAvIGJhY2tlbmRzLiBUaGlzIHdpbGwgYmUgbmVlZGVkIGluIHRoZSBmdXR1cmUuCgkgIGdzdF9nbF93aW5kb3dfeDExX2dldF9zdXJmYWNlX2RpbWVuc2lvbnMgaXMgYWxzbyBjaGFuZ2VkIHRvIHVzZSBhIGNhY2hlZCB2YWx1ZQoJICBvZiB0aGUgd2luZG93J3Mgd2lkdGgsIGhlaWdodC4gVGhlc2UgdmFsdWVzIGFyZSBub3cgcmV0cmlldmVkIGluIHRoZSBYMTEKCSAgdGhyZWFkLCBmdW5jdGlvbiBnc3RfZ2xfd2luZG93X3gxMV9oYW5kbGVfZXZlbnQuIFRoaXMgY2hhbmdlIGlzIG5lZWRlZCBiZWNhdXNlCgkgIG90aGVyd2lzZSB0aGUgWEdldFdpbmRvd0F0dHJpYnV0ZXMgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgbmF2aWdhdGlvbiB0aHJlYWQsCgkgIGxlYWRpbmcgdG8geGxpYiBhYm9ydGluZyBkdWUgdG8gbXVsdGl0aHJlYWRlZCBhY2Nlc3MgKGlmIFhJbml0VGhyZWFkcyBpcyBub3QKCSAgY2FsbGVkIGJlZm9yZSwgYXMgaXMgdGhlIGNhc2UgZm9yIGdzdC1sYXVuY2gpCgoyMDE0LTA5LTA1IDEzOjU4OjE5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJldHJ5IG9wZW5pbmcgdGhlIGZyb250ZW5kIG9uIEVJTlRSCgoyMDE0LTA5LTA1IDEzOjMyOjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFzc29ydGVkIGRvYyAmIHNwZWxsaW5nIGZpeGVzCgoyMDE0LTA5LTA3IDAxOjMwOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIFJldmVydCAiZGF0YXVyaXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IGVsc2UgaWYgY29uZGl0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMwMjRhZTljMzg0OTA4MTdhNzZjODNmZWFiM2M4NDcyOTg5Y2FmYWQuCgkgIFRoZSAqYnVmIGNhbiBiZSBOVUxMIG9yIG5vdCBkZXBlbmRpbmcgaWYgdGhlIGNhbGxlciBvZiBnc3RfcGFkX2dldF9yYW5nZQoJICBmdW5jdGlvbiBwcm92aWRlZCBvciBub3QgYSBidWZmZXIuCgoyMDE0LTA5LTA1IDE2OjExOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIHRlc3RzOiBobHNkZW11eDogZml4IGNvbXBpbGF0aW9uCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS90aGlhZ29zcy9nc3QvaGVhZC9nc3RyZWFtZXIvZ3N0L2dzdC5oOjU0OjAsCgkgIGZyb20gL2hvbWUvdGhpYWdvc3MvZ3N0L2hlYWQvZ3N0cmVhbWVyL2xpYnMvZ3N0L2NoZWNrL2dzdGNoZWNrLmg6MzQsCgkgIGZyb20gZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOjI3OgoJICAuLi8uLi9leHQvaGxzL2dzdGZyYWdtZW50ZWQuaDo4OjI4OiBlcnJvcjogcmVkdW5kYW50IHJlZGVjbGFyYXRpb24gb2Yg4oCYZnJhZ21lbnRlZF9kZWJ1Z+KAmSBbLVdlcnJvcj1yZWR1bmRhbnQtZGVjbHNdCgkgIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gKGZyYWdtZW50ZWRfZGVidWcpOwoJICBNb3ZlIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSB0byBhZnRlciB0aGUgZGVjbGFyYXRpb24uCgoyMDE0LTA5LTA1IDEyOjU2OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBBbmQgZml4IE1ha2VmaWxlIHlldCBhZ2FpbgoKMjAxNC0wOS0wNSAxMjoyNTowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIHRoZSBtM3U4LmMgZmlsZSBkaXJlY3RseSBpbiB0aGUgdGVzdCBiZWNhdXNlIG9mIGFuIGF1dG9tYWtlIGJ1ZwoJICAkKHRvcF9zcmNkaXIpIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggX1NPVVJDRVMgYmVjYXVzZSB0aGF0IHdvdWxkIGJlIHRvbwoJICBvYnZpb3VzLgoJICBodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2UvMjAxMy0wOS9tc2cwMDAwNS5odG1sCgoyMDE0LTA5LTA1IDA5OjUzOjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEZpeCBoYW5kbGluZyBvZiA2NCBiaXQgZmxvYXRpbmcgcG9pbnQgZGF0YQoJICBJbiBnc3RfYWlmZl9wYXJzZV9jcmVhdGVfY2FwcyBpZiBhbmQgZWxzZS1pZiBjb25kaXRpb25zCgkgIGFyZSBkdXBsaWNhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDkwCgoyMDE0LTA5LTA1IDA4OjUxOjMwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogQWRkIG5ldyBwcm9wZXJ0eSBtaW4tc3RkZGV2CgkgIGZhY2UgZGV0ZWN0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIG9ubHkgaWYgaW1hZ2Ugc3RhbmRhcmQgZGV2aWF0aW9uIGlzCgkgIGdyZWF0ZXIgdGhhdCBtaW4tc3RkZGV2LiBEZWZhdWx0IG1pbi1zdGRkZXYgaXMgMCBmb3IgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eS4gVGhpcyBwcm9wZXJ0eSB3aWxsIGF2b2lkIHRvIHBlcmZvcm0gZmFjZSBkZXRlY3Rpb24gb24KCSAgaW1hZ2VzIHdpdGggbGl0dGxlIGNoYW5nZXMgaW1wcm92aW5nIGNwdSB1c2FnZSBhbmQgcmVkdWNpbmcgZmFsc2UKCSAgcG9zaXRpdmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MTAKCjIwMTQtMDctMDcgMTA6NTI6NTcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBpc3N1ZXMgYW5kIGV4cG9zZSBtdnAgbWF0cml4CgkgICogYXNwZWN0IHNob3VsZCBub3QgYmUgMCBvbiBpbml0CgkgICogcmVuYW1lIGZvdnkgdG8gZm92CgkgICogYWRkIG12cCB0byBwcm9wZXJ0aWVzIGFzIGJveGVkIGdyYXBoZW5lIHR5cGUKCSAgKiBmaXggdHJhbnNmb3JtYXRpb24gb3JkZXIuIHNjYWxlIGZpcnN0CgkgICogY2xlYXIgY29sb3Igd2l0aCAxLjAgYWxwaGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDIyMwoKMjAxNC0wOS0wNCAyMTo0MTo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQWxzbyBnZXQgdGhlIG0zdTguYyBzb3VyY2UgZmlsZSBmcm9tIHRoZSAkKHRvcF9zcmNkaXIpIGZvciB0aGUgdGVzdAoJICBTaG91bGQgZml4IG1ha2UgZGlzdGNoZWNrIGZvciByZWFsIG5vdy4KCjIwMTQtMDktMDQgMTk6MDE6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IFVzZSAkKHRvcF9zcmNkaXIpIGluc3RlYWQgb2YgJCh0b3BfYnVpbGRkaXIpIGZvciB0aGUgaW5jbHVkZSBwYXRoCgoyMDE0LTA5LTA0IDE4OjIxOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE4OjIxOjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE4OjIwOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE3OjUyOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBDb21waWxlIHRoZSBtM3U4LmMgZGlyZWN0bHkgaW5zdGVhZCBvZiByZS11c2luZyB0aGUgLm8gZmlsZQoKMjAxNC0wOS0wNCAxNzo1MDoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBBZGQgdW5pdCB0ZXN0IGZvciBwYXJzaW5nIG9mIE0zVTggcGxheWxpc3RzCgkgIFBvcnRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS95bGF0dXlhL2dzdC1wbHVnaW5zLWJhZAoJICBUaGlzIHN0aWxsIGhhcyBzb21lIHVuaXQgdGVzdHMgZm9yIGFsdGVybmF0aXZlIHJlbmRpdGlvbnMgYW5kCgkgIHNlZWtpbmcsIHdoaWNoIGFyZSBjb21tZW50ZWQgb3V0IGZvciB0aGUgdGltZSBiZWluZyB1bnRpbCB3ZQoJICBzdXBwb3J0IHRoZW0gcHJvcGVybHkuCgoyMDE0LTA5LTA0IDE3OjQ5OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBhc3NpZ24gb2Zmc2V0cyB0byB0aGUgZmlsZXMgaWYgd2UgYWNjdW11bGF0ZSB0aGVtIGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBwbGF5bGlzdAoKMjAxNC0wOS0wNCAxMzozODoyMSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBlbHNlIGlmIGNvbmRpdGlvbgoJICBJbiBnc3RfZGF0YV91cmlfc3JjX2NyZWF0ZSgpLCBidWYgY2Fubm90IGJlIE5VTEwsIGhlbmNlCgkgIGVsc2UgaWYgKCpidWYgIT0gTlVMTCkgd2lsbCBiZSBpbnZhbGlkIHNvIHJlbW92aW5nIHRoZQoJICBlbHNlIGlmIGNvbmRpdGlvbiBhbmQgYWRkaW5nIGEgY2hlY2sgdG8gdW5yZWZlcmVuY2UgYnVmCgkgIGluIGVsc2UgY29uZGl0aW9uLCBqdXN0IGluIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg2MQoKMjAxNC0wOS0wMiAxODowNjo1MyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzaW1wbGlmeSBJU0RCLVQgbGF1bmNoIGxpbmUgZXhhbXBsZQoKMjAxNC0wOS0wMiAxMjoxMzowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkZWxheSBsb2NraW5nIHRpbGwgYWN0dWFsbHkgbmVlZGVkCgkgIEdldCByaWQgb2YgdW5uZWVkZWQgbG9ja2luZyBhdCBwcm9wIHNldHRpbmcgYnkgZG9pbmcKCSAgaXQgb25seSB3aGVuIHR1bmluZyB0aGUgZnJvbnRlbmQgYXQgX3R1bmVfZmUoKQoKMjAxNC0wOS0wMiAxMjoxMTo0NCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IE1ha2UgZ2V0X3VyaSgpIHRocmVhZHNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg2MQoKMjAxNC0wOS0wMSAxNzo0MTo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogUmVtb3ZlIGhhY2sgZm9yIEdvb2dsZSBNUDMgZGVjb2RlcgoJICBUaGUgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGNvbnRhaW4gbW9yZSBnYXJiYWdlIHRoYW4gYW55IG90aGVyIE1QMyBkZWNvZGVyCgkgIG91dHB1dHMgYW5kIHdlIGRvbid0IHJlYWxseSBrbm93IGhvdyBtdWNoIHdlIGhhdmUgdG8gZHJvcCBvciBub3QuCgkgIEFmdGVyIHRoaXMgY2hhbmdlIHRoZSBvdXRwdXQgaGFzIHRoZSBzYW1lIGR1cmF0aW9uIGFzIHdpdGggbWFkLgoKMjAxNC0wOS0wMSAwODoyNDo1NyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkgIHplYnJhc3RyaXBlOiBSZWZhY3RvciB0byByZW1vdmUgZHVwbGljYXRlIGNvZGUKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfcGxhbmFyWQoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9ZVVkyCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX0FZVVYKCSAgYWxsIGFib3ZlIDMgZnVuY3Rpb25zIGRvIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgZXhjZXB0IGZvciBvZmZzZXQgYW5kIHBpeGVsIHN0cmlkZS4KCSAgSGVuY2UgbW92aW5nIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGEgc2luZ2xlIGZ1bnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwMzIKCjIwMTQtMDgtMjkgMTg6NTU6MzIgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGRlc2NyaXB0aW9uIGZvciBtb2R1bGF0aW9uIHByb3AKCjIwMTQtMDgtMjkgMTc6MTY6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGJhc2ljIGNoZWNrcyBvbiBJU0RCLVQgcGFyYW1ldGVycwoJICBBbHNvIGFkZCBhIHJvdXRpbmUgZm9yIGNoZWNraW5nIHdyb25nIGRlbHN5cy9tb2R1bGF0aW9uCgkgIGNvbWJpbmF0aW9ucyByaWdodCBiZWZvcmUgdHVuaW5nIChvbmx5IGltcGxlbWVudGVkIGZvcgoJICBJU0RCLVQgZm9yIG5vdykuCgoyMDE0LTA4LTI5IDE4OjA5OjA3IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIG1vZHVsYXRpb24gdHlwZXMKCjIwMTQtMDgtMjkgMTM6MjY6MTIgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBGSVhNRSBvbiBfSVNEQlRfTEFZRVJfRU5BQkxFRCBwcm9wCgkgIFZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDEgdG8gNyBhcyBzdGF0ZWQuCgkgIERUVl9JU0RCVF9MQVlFUl9FTkFCTEVEIGJpdG1hc2sgaXMgYnVpbHQgZnJvbQoJICBPUi1pbmcgMHgxIDB4MiAweDQuIElmIGFsbCBiaXRzIGFyZSBzZXQKCSAgKDB4MDAwMDAxMTEgPSA3KSBpdCBtZWFucyBhbGwgbGF5ZXJzIHNob3VsZCBiZQoJICBkZW1vZHVsYXRlZC4KCjIwMTQtMDgtMjkgMTk6MjY6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbW92ZSBjb2RlIHRoYXQgY2FuJ3QgYmUgcmVhY2hlZAoJICBJZiB0aGlzIGNvZGUgY291bGQgZXZlciBiZSByZWFjaGVkLCBpdCB3b3VsZCBsZWFrCgkgIG1lbW9yeSAoQ0lEIDEyMzE5NzkpLCBidXQgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzKCkKCSAgbmV2ZXIgcmV0dXJucyBOVUxMLCBzbyB0aGF0IGNhbid0IGhhcHBlbi4KCjIwMTQtMDgtMjkgMTk6MjQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSBjb2RlIHRoYXQgY2FuJ3QgYmUgcmVhY2hlZAoJICBJZiB0aGlzIGNvZGUgY291bGQgZXZlciBiZSByZWFjaGVkLCBpdCB3b3VsZCBsZWFrCgkgIG1lbW9yeSAoQ0lEIDEyMzE5NzcpLCBidXQgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzKCkKCSAgbmV2ZXIgcmV0dXJucyBOVUxMLCBzbyB0aGF0IGNhbid0IGhhcHBlbi4KCjIwMTQtMDgtMjggMjA6MTI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB1cCBoYW5kbGluZyBvZiBpbnB1dCBjYXBzIGNvcm5lciBjYXNlcwoJICBEbyBtb3JlIGVsYWJvcmF0ZSB2YWxpZGF0aW9uIG9mIHRoZSBpbnB1dCBjYXBzOiB3aGF0IGZpZWxkcwoJICBhcmUgcmVxdWlyZWQgYW5kL29yIG5vdCBhbGxvd2VkLiBEb24ndCBhc3N1bWUgQVZDMyBmb3JtYXQKCSAgaW5wdXQgd2l0aG91dCBjb2RlY19kYXRhIGZpZWxkIGlzIGJ5dGUtc3RyZWFtIGZvcm1hdC4gRml4CgkgIHVwIHNvbWUgbm93LXVucmVhY2hhYmxlIGNvZGUgKENJRCAxMjMyODAwKS4KCjIwMTQtMDgtMjggMTY6NDI6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEFkZCBtaXNzaW5nIGJyZWFrIHRvIHN3aXRjaAoJICBDSUQgMTIzMjgwMQoKMjAxNC0wOC0yOCAxMTozNzo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogUmVzZXQgbmVnb3RpYXRpb24gc3RhdGUgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZCgkgIEFmdGVyIGdvaW5nIGJhY2sgdG8gUkVBRFkgd2UgY2FuIGFjY2VwdCBuZXcgZm9ybWF0IHNldHRpbmdzIGFnYWluLgoKMjAxNC0wOC0yMiAxNToxODo1OSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTdXBwb3J0IE9wZW5TU0wgZm9yIEFFUyBkZWNyeXB0aW9uIG9mIEhMUyBmcmFnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzUyNDgKCjIwMTQtMDgtMjYgMTY6MjE6NDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJICBnbDogcWdsd3RleHR1cmVzaGFyZSBkZW1vIGZpeGVzIGFuZCBjbGVhbnVwCgkgIDEuIGdsY29udGV4dGlkIGZ1bmN0aW9uIGlzIHJlcGxhY2VkIGJ5IGdzdHJlYW1lciBnc3RfZ2xfY29udGV4dF9uZXdfd3JhcHBlZCAuCgkgIDIuIGNhbGwgZ3N0X2luaXQgYmVmb3JlIGdzdF9nbF9kaXNwbGF5X25ldyAsIHNlZW1zIGdzdF9nbF9kaXNwbGF5X25ldyBkZXBlbmRzCgkgIG9uIGdzdF9hbGxvY2F0b3JfcmVnaXN0ZXIgLCB3aGljaCBvbmx5IHdvcmtlZCBhZnRlciBnc3RfaW5pdCBjYWxsZWQKCSAgMy4gZmx1c2ggZ3N0cmVhbWVyIE9wZW5HTCBjb250ZXh0IGJlZm9yZSB1c2luZyBzaGFyZWQgdGV4dHVyZSwgZml4CgkgIGZsaWNrZXIgcHJvYmxlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NgoKMjAxNC0wOC0yNyAxMzo0MDo0MiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IEFkZCBHU1RHTEFQSSBtYWNybyB0byB0aGUgZGVidWcgY2FsbGJhY2sgZnVuY3Rpb24KCSAgRml4ZXMgdGhlIFdpbmRvd3MgYnVpbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjUKCjIwMTQtMDgtMjggMDk6NTM6MTcgKzAzMDAgIEJsYWtlIFRyZWdyZSA8Ymxha2UudHJlZ3JlQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IENsYW1wIG91dCBvZiBib3VuZHMgcmVzb2x1dGlvbnMgdG8gcHJldmVudCBzZWdmYXVsdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgwMQoKMjAxNC0wOC0yNyAxNDo0NzoyNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG8gbm90IGNoZWNrIGZvciBHTC9HTFUvRUdML0dMRVMyIGxpYnMgaWYgZGlzYWJsZWQgaW4gY29uZmlndXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTIyCgoyMDE0LTA4LTI2IDEyOjM4OjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IFdyYXAgS0hSX2NyZWF0ZV9jb250ZXh0IGZsYWdzIGluIGFuIGlmZGVmCgkgIEVHTF9DT05URVhUX0ZMQUdTX0tIUiBhbmQgRUdMX0NPTlRFWFRfT1BFTkdMX0RFQlVHX0JJVF9LSFIKCSAgZG9uJ3QgZXhpc3QgaW4gdGhlIEFuZHJvaWQgTkRLLiBXcmFwIHRoZWlyIHVzYWdlIGluIGFuICNpZmRlZgoJICBFR0xfS0hSX2NyZWF0ZV9jb250ZXh0IHRvIGZpeCB0aGUgYnVpbGQgdGhlcmUuCgoyMDE0LTA4LTIxIDEyOjMyOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IGNvbnNpZGVyIHVua25vd24gc3RyZWFtLWZvcm1hdCBhcyBhdmMKCSAgSXQgc2hvdWxkIHRyeSB0byB1c2UgYnl0ZXN0cmVhbSBpbiB0aGVzZSBjYXNlcyB0aGF0IHRoZSBmb3JtYXQKCSAgaXMgc2V0IHRvIF9GT1JNQVRfTk9ORSBhcyBpdCBzZWVtcyB0aGF0IGlzIHdoYXQgdGhlICdlbHNlJyBjbGF1c2UKCSAgZm9yIGJ5dGVzdHJlYW0gY2FuIGhhbmRsZSAoYnkgZGVmYXVsdGluZyB0byBfRk9STUFUX0JZVEVTVFJFQU0pLgoKMjAxNC0wOC0yNSAxMzozMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdGVzdHM6IGZpeCBjYXBzIGZvciBhdmMgZm9ybWF0CgkgIElmIGl0IGhhcyBhIGNvZGVjX2RhdGEgZmllbGQsIGl0IHNob3VsZCBhbHNvIHVzZSB0aGUgc3RyZWFtLWZvcm1hdD1hdmMgYXMKCSAgY29kZWNfZGF0YSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugb3RoZXJ3aXNlIGFuZCB0aGUgZGVmYXVsdCBzaG91bGQKCSAgYmUgYnl0ZXN0cmVhbQoKMjAxNC0wOC0yNSAxNToyMTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJICBkb2NzOiBhZGQgbXBlZ3BzbXV4IGFuZCBtcGVndHNtdXgKCjIwMTQtMDgtMjUgMTU6MjA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb21peGVyIHRvIGRvY3MKCjIwMTQtMDgtMjUgMTU6MjA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkgIGRvY3M6IGFkZCBhaWZmIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTQtMDgtMjUgMTQ6NTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgZG9jczogcGx1Z2luczogbWlzYyB1cGRhdGVzCgoyMDE0LTA4LTI1IDE0OjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBkb2NzOiBtb3ZlIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBkb2NzIGludG8gdGhlIGxpYnJhcnkgZG9jcwoJICBOb3cgdGhhdCB3ZSBoYXZlIGRvY3MgZm9yIHRoZSBsaWJzLgoKMjAxNC0wOC0yNSAxMjoyMTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgIHNuZGZpbGU6IGRvbid0IGRlY29kZSBmb3JtYXRzIHRoYXQgYXJlIGJldHRlciBoYW5kbGVkIGJ5IG90aGVyIGVsZW1lbnRzCgkgIEluIHBhcnRpY3VsYXI6IGZsYWMsIG9nZywgcGNtLCBhdSwgYWlmZiwgd2F2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzE2CgoyMDE0LTA4LTIyIDE2OjQ5OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IGZhbGxiYWNrIHRvIGEgbm9uLWRlYnVnIGNvbnRleHQgaWYgYSBkZWJ1ZyBvbmUgZmFpbHMKCSAgVGhlIHRleHQgZm9yIEVHTF9LSFJfY3JlYXRlX2NvbnRleHQgYWRkZWQgdGhlIHBvc3NpYmxpdHkgZm9yIEVTCgkgIGNvbnRleHRzIHRvIGFzayBmb3IgYSBkZWJ1ZyBjb250ZXh0IGhvd2V2ZXIgdGhhdCBoYXMgbm90IGJlZW4KCSAgZnVsbHkgcmVhbGl6ZWQgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4gIEZhbGxiYWNrIHRvIGEgbm9uLWRlYnVnCgkgIGNvbnRleHQgd2hlbiB0aGUgaW1wbGVtZW50YXRpb24gZXJyb3JzLgoKMjAxNC0wOC0wNSAxNDowNjowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPGtha2Fyb3RvQGtha2Fyb3RvLmhvbWVsaW51eC5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBSVFAvUlRDUCBtaXhpbmcgaWYgZGF0YSBhcnJpdmVzIG9uIFJUQ1AgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzMjEKCjIwMTQtMDgtMjEgMTY6MjQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggYWJvcnQgaW4gZXJyb3IgY29kZSBwYXRoIHdpdGggbmV3ZXIgZ2xpYgoJICBEb24ndCBmb3JnZXQgdG8gdW5sb2NrIG1wZCBjbGllbnQgYWdhaW4gd2hlbiBlcnJvcmluZyBvdXQuCgkgIEZpeGVzIGFib3J0IHdoZW4gZ19tdXRleF9jbGVhcigpIGlzIGNhbGxlZCBvbiBhIGxvY2tlZCBtdXRleC4KCjIwMTQtMDctMDIgMTI6NDk6NDQgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ3N0b3BlbmdsOiBhZGQgaW50cm9zcGVjdGlvbiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDgtMDUgMTI6MDc6MDggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGV4YW1wbGVzOiBmaXggZ3RrKyAzLjE0IGRlcHJlY2F0aW9uIGVycm9yCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9ndGszLzMuMTMvR3RrV2lkZ2V0Lmh0bWwjZ3RrLXdpZGdldC1zZXQtZG91YmxlLWJ1ZmZlcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDctMDcgMTA6NTI6MDYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZXhwb3NlIGNvbnRleHQKCSAgKiBleHBvc2UgY29udGV4dCBpbiBkcmF3IC8gcmVzaGFwZSBjYWxsYmFja3MKCSAgKiBhZGQgY29udGV4dCBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA3LTA3IDEwOjUxOjI4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBleHBvc2Ugb3BlbmdsIGhhbmRsZSBpbiBnZXR0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wOC0yMCAwOTozNzowMSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBjaGVjayBudWxsIGJlZm9yZSB1bnJlZiBHc3RHTERpc3BsYXkKCjIwMTQtMDgtMjEgMTA6MDM6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbDogYWRkIHByb3RvdHlwZSBkZWZpbml0aW9uIGZvciBLSFJfZGVidWcKCjIwMTQtMDgtMjAgMjM6MjQ6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dDogaW1wbGVtZW50IHRoZSBkZWJ1ZyBjYWxsYmFjawoJICBGb3IgYm90aCBHTF9LSFJfZGVidWcgYW5kIEFSQl9kZWJ1Z19vdXRwdXQuICBUaGlzIGFsbG93cyB1cyB0bwoJICByZWNlaXZlIGVycm9ycyBhbmQgb3RoZXIgaGludHMgZnJvbSB0aGUgR0wgaW5zdGVhZCBvZiBxdWVyeWluZyBhZnRlcgoJICBldmVyeSBHTCBvcGVyYXRpb24uCgoyMDE0LTA4LTIwIDIzOjIzOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGFkZCBwcm90b3R5cGVzIGZvciBLSFJfZGVidWcvQVJCX2RlYnVnX291dHB1dAoKMjAxNC0wOC0xOSAxNzoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdW5yZWYgcGFkIHJlZmVyZW5jZSB3aGVuIHJlbW92aW5nIGludGVybmFsIHNvdXJjZSBpbiBlcnJvcgoJICBBdm9pZHMgbGVha2luZyB0aGUgcGFkIGluIGVycm9yIHNpdHVhdGlvbnMKCjIwMTQtMDgtMTkgMTY6MDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlYWQgbGFuZ3VhZ2UgZnJvbSBDb250ZW50Q29tcG9uZW50IG5vZGUgYXMgYSBmYWxsYmFjawoJICBJZiB0aGUgbGFuZ3VhZ2UgaXMgbm90IHNwZWNpZmllZCBpbiB0aGUgQWRhcHRhdGlvblNldCwgdXNlIHRoZSBDb250ZW50Q29tcG9uZW50CgkgIG5vZGUgdG8gZ2V0IGl0LiBXZSBvbmx5IGdldCBpdCBpZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIENvbnRlbnRDb21wb25lbnQgYXMKCSAgaXQgZG9lc24ndCBzZWVtIGNsZWFyIG9uIHdoYXQgdG8gZG8gaWYgdGhlcmUgYXJlIG11bHRpcGxlIGVudHJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzNwoKMjAxNC0wNi0yNSAxNTo1NTozMiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcHVzaCBsYW5ndWFnZSBjb2RlIHRhZwoJICBMYW5ndWFnZSBjb2RlIHRhZyBpcyByZXRyaWV2ZWQgZnJvbSB0aGUgQWRhcHRhdGlvblNldCBsYW5ndWFnZQoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzNwoKMjAxNC0wOC0xOSAyMDoxNDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZG9uJ3QgdGFrZSBhbiBleHRyYSByZWYgb24gdGhlIGRpc3BsYXkgb24gc2V0X2NvbnRleHQKCSAgZ3N0X2NvbnRleHRfZ2V0X2dsX2Rpc3BsYXkoKSByZXR1cm5zIGEgcmVmLiAgRG9uJ3QgdGFrZSBhbm90aGVyIGluCgkgIGdzdF9vYmplY3RfcmVwbGFjZSgpLgoKMjAxNC0wOC0xOSAxNzowMTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1bnJlZiB0aGUgR3N0R0xVcGxvYWQgaW4gdGhlIHBhZCBpZiBmcmVlZCB3aGlsZSBydW5uaW5nCgkgIER5bmFtaWMgcGlwZWxpbmVzIHRoYXQgZ2V0IGFuZCByZWxlYXNlIHRoZSBzaW5rIHBhZHMgd2lsbCBmaW5hbGl6ZQoJICB0aGUgcGFkIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBnc3RfZ2xfbWl4ZXJfc3RvcCgpIHdoaWNoIGlzIHdoZXJlIHRoZQoJICB1cGxvYWQgb2JqZWN0IGlzIHVzdWFsbHkgZnJlZWQuICBEb24ndCBsZWFrIG9iamVjdHMgaW4gc3VjaCBjYXNlLgoKMjAxNC0wOC0xNCAyMzo1MToyMSAtMDQwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYXZvaWQgZ2wgcmVzb3VyY2UgcmFjZSBjb25kaXRpb24gYmV0d2VlbiBkaWZmZXJlbnQgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ4MzAKCjIwMTQtMDgtMTkgMTQ6NDQ6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGNsb2JiZXIgdW5uZWNlc3NhcnkgR3N0VmlkZW9JbmZvIGZpZWxkcwoJICBvdGhlcndpc2Ugd2UgbWlnaHQgY2xvYmJlciBvdGhlciBpbXBvcnRhbnQgZmllbGRzIHN1Y2ggYXMgdGhlIGZyYW1lIHJhdGUuCgoyMDE0LTA4LTE5IDE0OjQzOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBnZXQgdGhlIGF0dHJpYnV0ZSBmcm9tIHRoZSBjb3JyZWN0IHNoYWRlcgoKMjAxNC0wOC0xOSAxNDoyMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSB3aW5kb3cgb24gbmF2aWdhdGlvbiBldmVudAoJICBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA4LTE5IDAwOjAxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgcGFkcyB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudAoJICBPdGhlcndpc2UgdGhlIHBhZHMgd2lsbCBiZSB0aGVyZSBpZiBpdCBpcyByZXN0YXJ0ZWQgYW5kIHRoZSBzdHJlYW0KCSAgY2FuIGJlIGEgY29tcGxldGVseSBkaWZmZXJlbnQgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0Mzk0CgoyMDE0LTA4LTE3IDAxOjQyOjA1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY0OiBVc2UgcHJvcGVyIGJpdF9yZWFkZXIgYXBpIHdoaWxlIHBhcnNpbmcgYnVmZmVyaW5nX3BlcmlvZCBTRUkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk3MAoKMjAxNC0wOC0xNCAxMDoxOToxMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkgIHNjZW5lY2hhbmdlOiBmaXggY3Jhc2ggb24gc3RhcnR1cAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2FzIHVzaW5nIHRoZSBvbGRpbmZvIEdzdFZpZGVvSW5mbwoJICBiZWZvcmUgaXQncyBiZWVuIHBvcHVsYXRlZCwgcmVzdWx0aW5nIGluIGEgY3Jhc2ggcmlnaHQKCSAgYXQgdGhlIHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzYzCgoyMDE0LTA4LTE0IDE1OjI2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBNYWtlIHN1cmUgdG8gdW5ibG9jayBhbnkgdGhyZWFkIHdhaXRpbmcgb24gdGhlIGRyYWluIGNvbmRpdGlvbiB2YXJpYWJsZSB3aGVuIGVycm9ycyBoYXBwZW4KCjIwMTQtMDgtMTQgMTU6MjQ6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBkcmFpbmluZyBsb2dpYyB0byBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIEVPUyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzQ3NzUKCjIwMTQtMDgtMTEgMjE6MjU6NDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBmaXggcGFyc2luZyBvZiBmcmVxcyBpbiBzb21lIFpBUCBmaWxlcwoJICBDaGFuZ2UgYXZvaWRzIGF0dGVtcHRpbmcgdG8gY29udmVydCB0byBrSHogaWYgdW5uZWVkZWQuCgkgIFRoZXJlIGFyZSBxdWl0ZSBzb21lIFpBUCBmb3JtYXQgdmFyaWFudHMgb3V0IHRoZXJlLiBBbW9uZwoJICB0aGVpciBzdWJ0bGUgbGl0dGxlIGRpZmZlcmVuY2VzLCBzb21lIHN0b3JlIHRyYW5zcG9uZGVyCgkgIGZyZXF1ZW5jaWVzIGluIE1oeiBhbmQgb3RoZXJzIGluIGtIei4gVGhlIGxhdHRlciBiZWVuIHRoZQoJICBtb3N0IGNvbW1vbiB2YXJpYW50LgoKMjAxNC0wOC0wNyAxOTozNzowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBnZXQgcmlkIG9mIHJlbWFpbmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDE0LTA4LTA3IDE5OjE5OjM2IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHdyYXAgYXJvdW5kIGtub3duLWludGVycnVwdGlibGUgaW9jdGxzCgkgIEFsc28gZ2V0IHJpZCBvZiB0aGUgYXN1bXB0aW9uIHRoYXQgc29tZSByZXF1ZXN0cyBsaWtlCgkgIEZFX1NFVF9UT05FIG9yIEZFX1NFVF9WT0xUQUdFIG9ubHkgZXJyb3Igb3V0IHdpdGggLTEKCjIwMTQtMDgtMDcgMTQ6MDA6NDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBnc3RfZHZic3JjX3JldHJ5X2lvY3RsIGZvciByZXRyeSBtYWNybwoJICBMT09QX1dISUxFX0VJTlRSIG1hY3JvIG1ha2VzIGl0IGVhc2llciB0byBoYW5kbGUKCSAgYXNzb3J0ZWQgaW9jdGwgYXJncCB0eXBlcy4gRnVuY3Rpb25hbGl0eSBpcyBvdGhlcndpc2UKCSAgZXF1aXZhbGVudC4KCjIwMTQtMDgtMTIgMTI6MzU6MDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBkdmJiYXNlYmluOiBhZGQgJ3R1bmUnIHNpZ25hbAoJICBJdCB3b3JrcyB0aGUgc2FtZSBhcyB0aGUgJ3R1bmUnIHByb3BlcnR5IHRoYXQgaXMgdXNlZCBvbmx5IHRvIHNpZ25hbAoJICB0aGUgZWxlbWVudCB0aGF0IGl0IHNob3VsZCB0dW5lLCBidXQgaXQgaXMgbW9yZSBuYXR1cmFsIHRvIGJlIHVzZWQKCSAgYXMgYSBzaWduYWwgcmF0aGVyIHRoYW4gYSBwcm9wZXJ0eS4KCSAgSXQgaXMgYWxzbyBwcm94aWVkIGF0IHRoZSBkdmJiYXNlYmluIGVsZW1lbnQKCjIwMTQtMDgtMDcgMTU6MjU6MzIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzd2l0Y2ggcGxheWxpc3Qgb24gdHJpY2sgbW9kZXMKCSAgSW5zdGVhZCBhbHdheXMgdXNlIHRoZSBsb3cgYmFuZHdpdGggcGxheWxpc3QgbWFraW5nIHRoaW5ncyBnbyBzbW9vdGhlcgoJICBhcyB0aGUgY3VycmVudCBoZXVyaXN0aWMgaXMgcmF0aGVyIHNldCBmb3Igbm9ybWFsIHBsYXliYWNrLCBhbmQKCSAgY3VycmVudGx5IGl0IGRvZXMgbm90IGJlaGF2ZSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wNy0yMSAxNDo0Mjo0NyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTm8gbmVlZCB0byBoYXZlIGEgSS1GcmFtZSBsaXN0IHRvIGRvIHRyaWNrIG1vZGVzCgkgIEl0IGp1c3Qgd29ya3MgY2xlYW5seSB3aXRob3V0IGFueSBpbmRleCBhbmQgdGhlcmUgaXMgbm8gcmVhbCByZWFzb24gZm9yCgkgIHRoYXQgbGltaXRhdGlvbi4gQWxzbywgdGhlcmUgYXJlIHZlcnkgZmV3IHN0cmVhbSB3aXRoIHRoYXQgZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wOC0wNSAxNzoxMzoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHR3ZWFrIHNlZ21lbnRzIG9uIHJldmVyc2UgcGxheWJhY2sKCSAgV2UgY2FuJ3QgY29tcGFyZSB0aGUgZmlyc3QgYnVmZmVyIHN0YXJ0IGFuZCB0aGUgc2VnbWVudCBzdGFydCBpbiB0aGF0CgkgIGNhc2UuLi4gcGxheWJhY2sgaXMgZ29pbmcgYmFja3dhcmQhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDgtMTMgMTY6NTc6MTUgKzAyMDAgIFZhbGVudGluIFBPTlMgPHZhbHg3NkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogVXNlIE5VTEwgdG8gZGlzYWJsZSBleWVzL25vc2UvbW91dGgKCSAgV2l0aG91dCBwcmludGluZyBhIHdhcm5pbmcgYWJvdXQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDYyMwoKMjAxNC0wOC0xMCAyMjo1ODoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBmaXggYWxsb2NhdG9yIGxlYWsgaW4gc29tZSBjYXNlcwoJICBTcG90dGVkIGJ5IFNlYmFzdGlhbiBSYXNtdXNzZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjMKCjIwMTQtMDgtMTEgMTI6MzI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogc2F2ZSBhIGZldyByZWYvdW5yZWYgcGFpcnMKCSAgVGhlIGV2ZW50L3F1ZXJ5IGZ1bmN0aW9ucyBhbHJlYWR5IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQsIGF2b2lkCgkgIHJlZi91bnJlZiBpbiB0aGUgZnVuY3Rpb25zIGhhbmRsaW5nIGNhcHMgcXVlcmllcyBhbmQgZXZlbnRzLgoKMjAxNC0wOC0xMSAxMjozMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZW1vdmUgb2Jzb2xldGUgZml4bWUKCjIwMTQtMDgtMTEgMTI6MjI6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogaW1wcm92ZSBuZWdvdGlhdGlvbgoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkgbWV0YSwgaWYgcG9zc2libGUgdXNlIGl0IGFuZAoJICBpZiBub3QgZmFsbGJhY2sgdG8gbm8tb3ZlcmxheSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTI6MjE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogYWx3YXlzIGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcwoJICBBdm9pZHMgcmV0dXJuaW5nIHZhbHVlcyB0aGF0IHBlZXJzIGNhbid0IHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDExOjM1OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5IG1ldGEsIGlmIHBvc3NpYmxlIHVzZSBpdCBhbmQKCSAgaWYgbm90IGZhbGxiYWNrIHRvIG5vLW92ZXJsYXkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDExOjMzOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGluIGdldGNhcHMKCSAgQXZvaWRzIHJldHVybmluZyB1bnN1cHBvcnRlZCBjYXBzIHRvIHBlZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMjM6Mzg6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggdXAgZG9jIGNvbW1lbnQgZm9yIHNldF9zcmNfY2FwcwoJICBJdCBkb2VzIG5vdCBvY2N1ciAnbGF0ZXInIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MgoKMjAxNC0wOC0wNyAxOTo1NDozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBwdXNoIHRoZSBjYXBzIGV2ZW50IGFzIHNvb24gYXMgd2UgcmVjZWl2ZSBpdAoJICBBbG9uZyB3aXRoIHRoZSByZXF1aXJlZCBtYW5kYXRvcnkgZGVwZW5kZW50IGV2ZW50cy4KCSAgU29tZSBlbGVtZW50cyBuZWVkIHRvIHBlcmZvcm0gYW4gYWxsb2NhdGlvbiBxdWVyeSBpbnNpZGUKCSAgOjpuZWdvdGlhdGVkX2NhcHMoKS4gIFdpdGhvdXQgdGhlIGNhcHMgZXZlbnQgYmVpbmcgc2VudCBwcmlvciwKCSAgZG93bnN0cmVhbSBlbGVtZW50cyB3aWxsIGJlIHVuYWJsZSB0byBhbnN3ZXIgYW5kIHdpbGwgcmV0dXJuCgkgIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYyCgoyMDE0LTA4LTExIDE2OjAxOjMyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2VicC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvZ3N0d2VicC5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuaDoKCSAgd2ViZW5jOiBBZGQgV2ViUCBpbWFnZSBlbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwODcKCjIwMTQtMDgtMDkgMDE6Mjk6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiY2VuYzogVW5yZWYgb3V0cHV0IGNhcHMgaW4gZXJyb3IgY2FzZXMKCSAgZ3N0X2NhcHNfaW50ZXJzZWN0KCkgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBhIGNhcHMgb2JqZWN0IHdoaWNoIGluCgkgIHRoZSBub3JtYWwgY2FzZSBpcyBjb25zdW1lZCwgYnV0IGluIGVycm9yIGNhc2VzIG11c3QgYmUgdW5yZWZlcmVuY2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIxCgoyMDE0LTA4LTA4IDE0OjA4OjE5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTcKCjIwMTQtMDgtMDkgMTE6NDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IFVucmVmIGJ1cyBhZnRlciB1c2FnZQoJICBnc3RfcGlwZWxpbmVfZ2V0X2J1cygpIHJldHVybnMgYSByZWZlcmVuY2UgdG8gYSBidXMgdGhhdCBuZWVkcyB0bwoJICBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjUKCjIwMTQtMDgtMDkgMTE6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIGV4YW1wbGVzL2dsOiB1bnJlZiBidXMgYW5kIGVsZW1lbnQgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X3BpcGVsaW5lX2dldF9idXMoKSBhbmQgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlKCkgYm90aAoJICByZXR1cm4gcmVmZXJlbmNlcyB0aGF0IG5lZWQgdG8gYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI3CgoyMDE0LTA4LTEwIDE5OjEyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTQtMDgtMTAgMTk6MDU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSAgZG9jczogcmVtb3ZlIHJ0cHZwOCBwbHVnaW4gZG9jcywgdGhlIGVsZW1lbnRzIGFyZSBub3cgaW4gLWdvb2QKCjIwMTQtMDgtMTAgMTg6MDc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgb3BlbmdsOiB1cGRhdGUgZWxlbWVudCBkb2NzIGZvciAxLngKCjIwMTQtMDgtMTAgMTc6NDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJICBkb2NzOiByZW1vdmUgZWdsZ2xlc3NpbmsgZnJvbSBkb2NzIGFzIGl0IG5vIGxvbmdlciBleGlzdHMKCjIwMTQtMDgtMDkgMTE6MzY6MzggKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogVW5yZWYgZWxlbWVudHMgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X2Jpbl9nZXRfYnlfbmFtZSgpIGFuZCBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2UoKSBib3RoIHJldHVybgoJICByZWZlcmVuY2VzIHRvIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjQKCjIwMTQtMDgtMDkgMDE6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJICBvcGVuYWw6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjAKCjIwMTQtMDgtMTAgMTI6Mjk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IGZpeCB1cCBicm9rZW4gcGF0Y2ggbWVyZ2UKCSAgU29ycnksIHNob3VsZCd2ZSBiZWVuIGNvbW1pdCAtLWFtZW5kCgoyMDE0LTA4LTA5IDEzOjI0OjAwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkgIHB2cnZpZGVvc2luazogQXZvaWQgbGVha2luZyBidWZmZXJwb29sIGNvbmZpZ3VyYXRpb24KCSAgZ3N0X2J1ZmZlcl9wb29sX2dldF9jb25maWcoKSByZXR1cm5zIGEgY29weSB0byB0aGUgYnVmZmVycG9vbCdzCgkgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIG11c3QgYmUgcGFzc2VkIHRvIGdzdF9zdHJ1Y3R1cmVfZnJlZSgpIGFmdGVyCgkgIHVzZSBpZiBub3QgZ2l2ZW4gYXdheSB0byBnc3RfYnVmZmVyX3Bvb2xfc2V0X2NvbmZpZygpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM3CgoyMDE0LTA4LTA5IDEzOjIyOjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNgoKMjAxNC0wOC0wOSAxMzoyMDo0MSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEF2b2lkIGxlYWtpbmcgY2FwcyBvYmplY3QgYW5kIGl0cyBjb3B5CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLiBBbHNvCgkgIHRoZSBjYXBzIGFyZSBwdXNoZWQgYXMgYW4gZXZlbnQgZG93bnN0cmVhbSwgYnV0IHRoaXMgZG9lc24ndCBjb25zdW1lIHRoZQoJICBjYXBzIHNvIGl0IG11c3Qgc3RpbGwgYmUgdW5yZWZlcmVuY2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM0CgoyMDE0LTA4LTA5IDEzOjE3OjE3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEFsc28gcmVtb3ZlIHRoZSBpbmNvcnJlY3QgY29tbWVudCB0byBhdm9pZCBjb25mdXNpb24gaW4gdGhlIGZ1dHVyZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzMwoKMjAxNC0wOC0wOSAxMzoxMjoxNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggY2FwcyByZWZjb3VudGluZwoJICB0Y2FwcyB3YXMgdW5yZWZlZCB3aGVuIGl0IHNob3VsZG4ndCBoYXZlIGJlZW4gdW5yZWZlZAoJICBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTMxCgoyMDE0LTA4LTA5IDEzOjA5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyOAoKMjAxNC0wOC0wOSAxMToxNzo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVucmVmIGFsbG93ZWQgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIyCgoyMDE0LTA4LTA5IDAxOjI1OjIxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTkKCjIwMTQtMDgtMDkgMDE6MjU6MjEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOQoKMjAxNC0wOC0wOSAwMToyMzo1MCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTgKCjIwMTQtMDgtMTAgMTE6MzU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiByZW1vdmUgZGVmdW5jdCB0ZXN0IGNvZGUgZm9yIG9sZCBjb2xvcnNwYWNlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzOAoKMjAxNC0wOC0wOSAxMzoyNzowMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJICBlbGVtZW50LW1ha2VyOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzkKCjIwMTQtMDgtMDkgMTQ6Mjc6MzQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzdGdzbWVuYzogVW5yZWYgY2FwcyBvYmplY3QgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X291dHB1dF9mb3JtYXQoKSBkb2VzIG5vdCBjb25zdW1lIGNhcHMsIHNvCgkgIHVucmVmZXJlbmNlIHRoYXQgb2JqZWN0IGluc3RlYWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDQKCjIwMTQtMDgtMDkgMTQ6MjQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogSW1wcm92ZSBhbm5vdGF0aW9uIG9mIGludGVybmFsIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDMKCjIwMTQtMDgtMDYgMTg6MTE6MjAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHN1cHBvcnQgZG93bmxvYWRpbmcgc2VnbWVudHMgaW4gcmV2ZXJzZSBvcmRlcgoJICBXaGVuIGEgc2VlayB3aXRoIGEgbmVnYXRpdmUgcmF0ZSBpcyByZXF1ZXN0ZWQsIGZpbmQgdGhlIHRhcmdldAoJICBzZWdtZW50IHdoZXJlIGdzdHNlZ21lbnQuc3RvcCBiZWxvbmdzIGluIGFuZCB0aGVuIGRvd25sb2FkIGZyb20KCSAgdGhpcyBzZWdtZW50IGJhY2t3YXJkcyB1bnRpbCB0aGUgZmlyc3Qgc2VnbWVudC4KCSAgVGhpcyBhbGxvd3MgcHJvcGVyIHJldmVyc2UgcGxheWJhY2suCgoyMDE0LTA4LTA3IDE5OjE4OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBhIGJhY2tncm91bmQgcHJvcGVydHkKCSAgVGhhdCdzIGNvbXBhdGlibGUgd2l0aCB0aGUgY29tcG9zaXRvci92aWRlb21peGVyIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NTQKCjIwMTQtMDgtMDYgMTM6Mjc6MDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZXh0OmZhYWQ6IFNldCByYW5rIHRvIFNFQ09OREFSWSBhcyB0aGUgbGliYXYgZGVjb2RlciBpcyBjb25jaWRlcmVkIGJldHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTMxCgoyMDE0LTA4LTA2IDE2OjQ4OjAzICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBHc3RHTFdpbmRvdywgR3N0R0xJbWFnZXNpbmssIHgxMTogU2NhbGUgbmF2aWdhdGlvbiBldmVudHMgb24gcmVzaXplZCB3aW5kb3dzCgkgIElmIHdpbmRvdyBpcyByZXNpemVkLCBHc3RTdHJ1Y3R1cmUgcG9pbnRlciB2YWx1ZXMgaGF2ZSB0byBiZSByZXNjYWxlZCB0bwoJICBvcmlnaW5hbCBnZW9tZXRyeS4gQSBnZXRfc3VyZmFjZV9kaW1lbnNpb25zIEdMV2luZG93IGNsYXNzIG1ldGhvZCBpcyBhZGRlZCBmb3IKCSAgdGhpcyBwdXJwb3NlIGFuZCB1c2VkIGluIHRoZSBuYXZpZ2F0aW9uIHNlbmRfZXZlbnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDgtMDYgMDg6MTU6MzggLTA0MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRvbid0IGRldGVybWluZSBpZiBmcmFtZSBuZWVkcyB1cGxvYWQgYnkgcG9pbnRlciBjb21wYXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjkKCjIwMTQtMDgtMDUgMTE6NDU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBTdG9yZSBQQ1IgdGltZS9ieXRlIG9mZnNldHMgaW4gNjQgYml0IGludGVnZXJzCgkgIDMyIGJpdCBpbnRlZ2VycyBhcmUgZ29pbmcgdG8gb3ZlcmZsb3csIGVzcGVjaWFsbHkgdGhlIFBDUiBvZmZzZXQgdG8KCSAgdGhlIGZpcnN0IFBDUiB3aWxsIG92ZXJmbG93IGFmdGVyIGFib3V0IDE1OSBzZWNvbmRzLiBUaGlzIG1ha2VzIHBsYXliYWNrCgkgIG9mIHN0cmVhbXMgc3RvcCBhdCAxNTkgc2Vjb25kcyBhcyBzdWRkZW5seSB0aGUgdGltZXN0YW1wcyBhcmUgc3RhcnRpbmcKCSAgYWdhaW4gZnJvbSAwLiBOb3cgd2UgaGF2ZSBhIGZldyBtb3JlIHllYXJzIHRpbWUgdW50aWwgaXQgaGFwcGVucyBhZ2FpbgoJICBhbmQgNjQgYml0cyBhcmUgdG9vIHNtYWxsLgoKMjAxNC0wOC0wNSAxMDo0MjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJldmVydCAibXBlZ3RzcGFja2V0aXplcjogQ29udmVydCBQQ1IgdGltZXMgdG8gR1N0cmVhbWVyIHRpbWVzIGJlZm9yZSBjb21wYXJpbmcgdGhlbSBhZ2FpbnN0IDUwMCAqIEdTVF9NU0VDT05EIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmMTg2YzZhYjMyYzFlOTQ5OTE2ZDM4NTE4NmIyZDQwMDE5MGFkZDYuCgkgIFRoYXQgY29tbWl0IHdhcyBhY3R1YWxseSBjb21wbGV0ZWx5IHdyb25nLCBuZXZlcm1pbmQuCgoyMDE0LTA4LTA1IDEwOjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ29udmVydCBQQ1IgdGltZXMgdG8gR1N0cmVhbWVyIHRpbWVzIGJlZm9yZSBjb21wYXJpbmcgdGhlbSBhZ2FpbnN0IDUwMCAqIEdTVF9NU0VDT05ECgkgIE90aGVyd2lzZSBpdCB3aWxsIGJlbGlldmUgdG8gZGV0ZWN0IFBDUiBnYXBzIGFscmVhZHkgd2hlbiB0aGVyZSdzIGEgdmVyeSBzbWFsbAoJICBnYXAgb2YgYSBmZXcgbWlsbGlzZWNvbmRzLCBicmVha2luZyBwbGF5YmFjayBvZiBzb21lIGZpbGVzLgoKMjAxNC0wNy0zMSAxNzo0MDozMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiByZW1vdmUgc3JjcGFkIGxlZnRvdmVyCgkgIFRoZSBlbGVtZW50IGlzIGluaGVyaXRpbmcgaXRzIHNyY3BhZCBmcm9tIGJhc2VzcmMKCjIwMTQtMDgtMDEgMTg6MDI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBJbml0aWFsaXplIHBpeGVsIGZvcm1hdCB0byBibWRGb3JtYXQ4Qml0WVVWCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4NzEKCjIwMTQtMDgtMDEgMTY6NDA6NDkgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzX2gyNjQ6IGluaXRpYWxpemUgc29tZSBmaWVsZHMgb2YgcGljX3RpbWluZyBzdHJ1Y3R1cmUKCSAgT3RoZXJ3aXNlIHBpYyB0aW1pbmcgc3RydWN0dXJlIGNhbiBoYXZlIGludmFsaWQgY3BiX3JlbW92YWxfZGVsYXksCgkgIGRwYl9vdXRwdXRfZGVsYXkgb3IgcGljX3N0cnVjdF9wcmVzZW50X2ZsYWcgd2hpY2ggYXJlIGJsaW5kbHkgcmV0cmlldmVkCgkgIGluIGgyNjRwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDEyNAoKMjAxNC0wOC0wMSAxNjo1ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IENhdGNoIGVycm9ycyBkdXJpbmcgZGF0YSBmbG93IGFuZCBlcnJvciBvdXQgcHJvcGVybHkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBkZWFkbG9jayB0aGUgdGhyZWFkIGlmIGUuZy4gc2NoZWR1bGluZyBhIHZpZGVvCgkgIGZyYW1lIGZhaWxzIGZvciB3aGF0ZXZlciByZWFzb24uCgoyMDE0LTA3LTMxIDIwOjUyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXR1cm4gdGhlIGVycm9yIHRvIHRoZSBzb3VyY2UgaW1tZWRpYXRlbHkgdG8gc3RvcCBmYXN0ZXIKCSAgV2hlbiBmbHVzaGluZywgdGhpcyB3aWxsIHByZXZlbnQgZGFzaGRlbXV4IGZyb20gdHJ5aW5nIHRvIGRvd25sb2FkIG1vcmUKCSAgZnJhZ21lbnRzIG9yIG1vcmUgY2h1bmtzIG9mIHRoZSBzYW1lIGZyYWdtZW50IGJlZm9yZSBzdG9wcGluZy4KCSAgQWxzbyBpbXByb3ZlcyB0aGUgZXJyb3IgaGFuZGxpbmcgdG8gbm90IHRyYW5zZm9ybSBldmVyeXRoaW5nIG5vbi1vayBpbnRvCgkgIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDE0CgoyMDE0LTA3LTI5IDAyOjExOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBhdm9pZCB0aW1lc3RhbXAgb3ZlcmZsb3dzCgkgIENhdXNlIHRpbWluZyB0byBicmVhayBpbiB0aGUgcGlwZWxpbmUgdGhhdCBjYW4gbGVhZCB0byBhIHN0YWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MzcKCjIwMTQtMDgtMDEgMTM6MTQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBSZW1vdmUgZmlsZXMgbm8gbG9uZ2VyIHByZXNlbnQKCSAgVGhleSB3ZXJlIHJlbW92ZWQgd2hlbiBzbmRmaWxlIHdhcyBwb3J0ZWQgdG8gMS54CgoyMDE0LTA4LTAxIDEyOjM4OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IDU5Ljk0ZnBzIGlzIDYwMDAwLzEwMDEsIG5vdCAzMDAwMC8xMDAxCgkgIEFuZCBhbHNvIGNoYW5nZSAzMC8xIHRvIDYwLzEgZm9yIG9uZSA2MGZwcyBtb2RlLgoKMjAxNC0wOC0wMSAxNzo1MTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2RvY3M6IHJlbW92ZSBzdXBlcmZsb3VzICd0aGUnCgoyMDE0LTA4LTAxIDE2OjQxOjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBkb2N1bWVudCBHU1RfR0xfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzI0NQoKMjAxNC0wOC0wMSAxMDowMToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMKCjIwMTQtMDctMzEgMTg6NTU6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgTWFrZWZpbGU6IEFkZCB1c2FnZSBvZiBidWlsZC1jaGVja3Mgc3RlcAoJICBBbGxvd3MgYnVpbGRpbmcgY2hlY2tzIHdpdGhvdXQgcnVubmluZyB0aGVtCgoyMDE0LTA3LTMxIDE4OjQ2OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBhIGRlc3Ryb3kgZnVuY3Rpb24KCSAgdGhhdCBqdXN0IGNhbGxzIHRoZSBzdWJjbGFzcwoKMjAxNC0wNy0zMSAxODozNjo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IHNpbGVuY2UgcnVudGltZSB3YXJuaW5nCgkgIGdfbWFpbl9sb29wX3F1aXQ6IGFzc2VydGlvbiAnbG9vcCAhPSBOVUxMJyBmYWlsZWQKCjIwMTQtMDctMzEgMTU6MTg6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1c2UgdGhlIHBsYW5lIG9mZnNldHMgdG8gY29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgZGF0YSBwb2ludGVyCgkgIENlcnRhaW4gZWxlbWVudHMgZXhwZWN0IHRoYXQgdGhlcmUgYmUgYSBjZXJ0YWluIG51bWJlciBvZiBsaW5lcwoJICB0aGF0IHRoZXkgY2FuIHdyaXRlIGludG8uICBlLmcuIGZvciBvZGQgaGVpZ2h0cywgSTQyMCwgWVYxMiwgTlYxMiwKCSAgTlYyMSAoYW5kIG90aGVycykgWSBsaW5lcyBhcmUgZXhwZWN0ZWQgdG8gaGF2ZSBleGFjdGx5IHR3aWNlIHRoZQoJICBudW1iZXIgb2YgVS9VViBsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcxNwoKMjAxNC0wNy0zMSAxNDowNzoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbG1lbW9yeTogdXNlIEdzdFZpZGVvSW5mbyBldmVyeXdoZXJlCgkgIFNpbXBsaWZpZXMgYSBsb3Qgb2YgdGhlIGNhbGxpbmcgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzE3CgoyMDE0LTA3LTMwIDE2OjMyOjAxIC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWJsdXI6IGZhY2VkZXRlY3Q6IGFkZCBwcm9wZXJ0aWVzIHRvIGZhY2VibHVyCgkgIE1ha2VzIGZhY2VibHVyIGhhdmUgdGhlIHNhbWUgcHJvcGVydGllcyBhcyBmYWNlZGV0ZWN0LiBBbHNvIGltcHJvdmVzCgkgIHRoZSBzdGFuZGFyZCBkZWZhdWx0cyBhbmQgbWFrZXMgdGhlbSB0aGUgc2FtZSBpbiB0aGUgMiBlbGVtZW50cwoKMjAxNC0wNy0zMCAxNjozMDozOSAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogcG9zdCBtZXNzYWdlIHdoZW4gcHJvZmlsZSBsb2FkaW5nIGZhaWxzCgoyMDE0LTA3LTMwIDE2OjA3OjE3IC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZmFjZWJsdXI6IHVwZGF0ZSBsYXVuY2ggbGluZSBleGFtcGxlcwoJICBSZWZsZWN0IDEuMCBhbmQgbW9yZSB1c2VmdWwgZXhhbXBsZXMKCjIwMTQtMDctMjkgMTM6MjU6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBrZWVwIHRoZSB1cGxvYWRlZCBidWZmZXIgYXJvdW5kIG9uIHN1Y2Nlc3NmdWwgcmVkaXNwbGF5CgkgIFdlIG1pZ2h0IG5lZWQgaXQgbGF0ZXIgdG8gcGVyZm9ybSBhIHJlZGlzcGxheS4gIEdzdEdMVXBsb2FkIHdpbGwgdGFrZQoJICBvZiByZWxlYXNpbmcgdGhlIHByZXZpb3VzIGJ1ZmZlciB3aGVuIGl0IHJlY2VpdmVzIGEgbmV3IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcyNgoKMjAxNC0wNy0yOSAxMTo0Nzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZWVuYWJsZSB0aGUgdGV4dHVyZV9yZyBzdXBwb3J0IGZvciAhZWFnbAoJICBUaGUgR1NUX0dMX0hBVkVfUExBVEZPUk1fRUFHTCBpcyBhbHdheXMgZGVmaW5lZCB3ZSBuZWVkIHRvIGNvbXBhcmUKCSAgYWdhaW5zdCB0aGUgdmFsdWUgaW5zdGVhZC4KCjIwMTQtMDctMjggMTk6MTE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGdpdGlnbm9yZTogdXBkYXRlIHdpdGggbmV3IHRlc3RzCgoyMDE0LTA3LTI4IDE2OjU1OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9maWxlcy9ibHVlLXNxdWFyZS5wbmc6CgkgIHRlc3RzOiBmaWxlczogYWRkcyBtaXNzaW5nIGZpbGUgZnJvbSBwcmV2aW91cyBjb21taXQKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIHRlbXBsYXRlbWF0Y2ggdGVzdCB0byB3b3JrCgoyMDE0LTA3LTI4IDE1OjQ1OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHRlbXBsYXRlbWF0Y2g6IGFkZCB0ZXN0IHRvIGNoZWNrIHRoYXQgd2UgdXNlIHRoZSBjb3JyZWN0IHJnYiBmb3JtYXQKCSAgdGVtcGxhdGVtYXRjaCBzaG91bGQgdXNlIHRoZSBzYW1lIFJHQiBmb3JtYXQgdGhhdCBvcGVuY3YgdXNlcyAoQkdSKSwgbWFrZSBzdXJlCgkgIHdlIGtlZXAgaXQgdGhhdCB3YXkgd2l0aCB0aGlzIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0ODUKCjIwMTItMDYtMTUgMTM6MTk6MDYgKzAxMDAgIERhdmlkIFJvdGhsaXNiZXJnZXIgPGRhdmlkLnJvdGhsaXNiZXJnZXJAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2IHRlbXBsYXRlbWF0Y2g6IFNldCBjYXBzIHRvIEJHUiBvcmRlcgoJICB0ZW1wbGF0ZW1hdGNoIG9wZXJhdGVzIG9uIEJHUiBkYXRhLiBJbiBmYWN0LCBPcGVuQ1YncyBJcGxJbWFnZSBhbHdheXMKCSAgc3RvcmVzIGNvbG9yIGltYWdlIGRhdGEgaW4gQkdSIG9yZGVyIC0tIHRoaXMgaXNuJ3QgZG9jdW1lbnRlZCBhdCBhbGwgaW4KCSAgdGhlIE9wZW5DViBzb3VyY2UgY29kZSwgYnV0IHRoZXJlIGFyZSBoaW50cyBhcm91bmQgdGhlIHdlYiAoc2VlIGZvcgoJICBleGFtcGxlCgkgIGh0dHA6Ly93d3cuY3MuaWl0LmVkdS9+YWdhbS9jczUxMi9sZWN0LW5vdGVzL29wZW5jdi1pbnRyby9vcGVuY3YtaW50cm8uaHRtbCNTRUNUSU9OMDAwNDEwMDAwMDAwMDAwMDAwMDAKCSAgYW5kIGh0dHA6Ly93d3cuY29tcC5sZWVkcy5hYy51ay92aXNpb24vb3BlbmN2L2lwbGltYWdlLmh0bWwgKS4KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZSBsb2FkcyB0aGUgdGVtcGxhdGUgKHRoZSBpbWFnZSB0byBmaW5kKQoJICBmcm9tIGRpc2sgdXNpbmcgT3BlbkNWJ3MgY3ZMb2FkSW1hZ2UsIHNvIGl0IGlzIHN0b3JlZCBpbiBhbiBJcGxJbWFnZSBpbgoJICBCR1Igb3JkZXIuIEJ1dCBpbiBnc3RfdGVtcGxhdGVtYXRjaF9jaGFpbiwgbm8gT3BlbkNWIGNvbnZlcnNpb24KCSAgZnVuY3Rpb25zIGFyZSB1c2VkOiB0aGUgaW1hZ2VEYXRhIHBvaW50ZXIgb2YgdGhlIElwbEltYWdlIGZvciB0aGUgdmlkZW8KCSAgZnJhbWUgKHRoZSBpbWFnZSB0byBzZWFyY2ggaW4pIGlzIGp1c3Qgc2V0IHRvIHBvaW50IHRvIHRoZSByYXcgYnVmZmVyCgkgIGRhdGEuIFdpdGhvdXQgdGhpcyBmaXgsIHRoYXQgcmF3IGRhdGEgaXMgaW4gUkdCIG9yZGVyLCBzbyB0aGUgY2FsbCB0bwoJICBjdk1hdGNoVGVtcGxhdGUgZW5kcyB1cCBjb21wYXJpbmcgdGhlIHRlbXBsYXRlJ3MgQmx1ZSBjaGFubmVsIGFnYWluc3QKCSAgdGhlIGZyYW1lJ3MgUmVkIGNoYW5uZWwsIHByb2R1Y2luZyB2ZXJ5IHBvb3IgcmVzdWx0cy4KCjIwMTQtMDctMjggMTM6MTA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBtYXJrIHBhZHMgYXMgcHJveHkgY2FwcwoJICBBbGxvd3MgbmVnb3RpYXRpb24gdG8gaGFwcGVuIHByb3Blcmx5CgoyMDEyLTA2LTI1IDIwOjM3OjAxICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUHJvZHVjZSBhIHdhcm5pbmcgbWVzc2FnZSBpZiB3ZSBjYW4ndCBsb2FkIGEgdGVtcGxhdGUgaW1hZ2UKCjIwMTItMDYtMjAgMTU6MjI6NTIgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBNYXRjaCByZWN0YW5nbGUgZ3Jvd3MgcmVkZGVyIHdpdGggaW5jcmVhc2VkIG1hdGNoIGNlcnRhaW50eQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nIHlvdXIgbWF0Y2hlcyBhcyBpdCBpbmRpY2F0ZXMgaG93IGNlcnRhaW4gdGhlCgkgIG1hdGNoIHdhcyBpbiBhZGRpdGlvbiB0byBpdHMgcG9zaXRpb24uCgoyMDEyLTA2LTIwIDE1OjA1OjQwICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJICB0ZW1wbGF0ZW1hdGNoOiBBbGxvdyBjaGFuZ2luZyB0ZW1wbGF0ZSBwcm9wZXJ0eSBvbiB0aGUgZmx5CgkgIFByZXZpb3VzbHkgY2hhbmdpbmcgdGhlIHRlbXBsYXRlIHByb3BlcnR5IHJlc3VsdGVkIGluIGFuIGV4Y2VwdGlvbgoJICB0aHJvd24gZnJvbSBjdk1hdGNoVGVtcGxhdGUsIGJlY2F1c2UgImRpc3RfaW1hZ2UiICh0aGUgaW50ZXJtZWRpYXRlCgkgIG1hdGNoLWNlcnRhaW50eS1kaXN0cmlidXRpb24pIHdhcyB0aGUgd3Jvbmcgc2l6ZSAoYmVjYXVzZSB0aGUKCSAgdGVtcGxhdGUgaW1hZ2Ugc2l6ZSBoYWQgY2hhbmdlZCkuCgkgIExvY2tpbmcgaGFzIGFsc28gYmVlbiBhZGRlZCB0byBhbGxvdyBjaGFuZ2luZyB0aGUgcHJvcGVydGllcyAoZS5nLiB0aGUKCSAgcGF0dGVybiB0byBtYXRjaCkgd2hpbGUgdGhlIHBpcGVsaW5lIGlzIHBsYXlpbmcuCgkgICogZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlIGlzIG1vdmVkIG91dHNpZGUgb2YgdGhlIGxvY2ssIGJlY2F1c2UgaXQgd2lsbAoJICBjYWxsIGludG8gYXJiaXRyYXJ5IHVzZXIgY29kZSAob3RoZXJ3aXNlLCBpZiB0aGF0IHVzZXIgY29kZSBjYWxscyBpbnRvCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX3NldF9wcm9wZXJ0eSBvbiB0aGlzIHNhbWUgdGhyZWFkIGl0IHdvdWxkIGRlYWRsb2NrKS4KCSAgKiBnc3RfdGVtcGxhdGVfbWF0Y2hfbG9hZF90ZW1wbGF0ZTogSWYgd2UgZmFpbCB0byBsb2FkIHRoZSBuZXcgdGVtcGxhdGUKCSAgd2Ugc3RpbGwgdW5sb2FkIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZSwgc28gdGhpcyBlbGVtZW50IGJlY29tZXMgYSBuby1vcAoJICBpbiB0aGUgcGlwZWxpbmUuIFRoZSBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byBrZWVwIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZTsKCSAgSSBiZWxpZXZlIHVubG9hZGluZyB0aGUgcHJldmlvdXMgdGVtcGxhdGUgaXMgYSBiZXR0ZXIgY2hvaWNlLCBiZWNhdXNlIGl0CgkgIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgc3RhdGUgdGhpcyBlbGVtZW50IHdvdWxkIGJlIGluIGlmIGl0IGZhaWxzIHRvCgkgIGxvYWQgdGhlIHZlcnkgZmlyc3QgdGVtcGxhdGUgYXQgc3RhcnQtdXAuCgkgIFRoYW5rcyB0byBXaWxsIE1hbmxleSBmb3IgdGhlIGJ1bGsgb2YgdGhpcyB3b3JrOyBhbnkgZXJyb3JzIGFyZSBwcm9iYWJseQoJICBtaW5lLgoKMjAxMi0wNi0wMSAxNjowNzozNCArMDEwMCAgRGF2aWQgUm90aGxpc2JlcmdlciA8ZGF2aWQucm90aGxpc2JlcmdlckB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBQYXNzIHZpZGVvIHRocm91Z2ggd2hlbiBub3RoaW5nIHRvIG1hdGNoIGFnYWluc3QKCSAgVGhlIGVhcmx5IHJldHVybiB3YXMgYnlwYXNzaW5nIHRoZSBjYWxsIHRvIGdzdF9wYWRfcHVzaC4gV2l0aCBubwoJICBmaWx0ZXItPnRlbXBsYXRlIChhbmQgdGh1cyBubyBmaWx0ZXItPmN2VGVtcGxhdGVJbWFnZSkgdGhlIHJlc3Qgb2YgdGhpcwoJICBmdW5jdGlvbiBpcyBlc3NlbnRpYWxseSBhIG5vLW9wIChleGNlcHQgZm9yIHRoZSBjYWxsIHRvIGdzdF9wYWRfcHVzaCkuCgkgIFRoaXMgKHBsdXMgdGhlIHByZXZpb3VzIGNvbW1pdCkgYWxsb3dzIHRlbXBsYXRlbWF0Y2ggdG8gYmUKCSAgZW5hYmxlZC9kaXNhYmxlZCB3aXRob3V0IHJlbW92aW5nIGl0IGVudGlyZWx5IGZyb20gdGhlIHBpcGVsaW5lLCBieQoJICBzZXR0aW5nL3Vuc2V0dGluZyB0aGUgdGVtcGxhdGUgcHJvcGVydHkuCgoyMDEyLTA2LTIwIDE1OjA1OjA2ICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUmVtb3ZlIG5vLW9wIGNhbGwgdG8gZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZQoJICBXZSBoYXZlIGp1c3Qgc2V0IGZpbHRlci0+dGVtcGxhdGUgdG8gTlVMTCwgc28KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZSBkaWQgbm90aGluZy4KCjIwMTQtMDctMDggMTk6MTg6NDggLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjbGFyaWZ5IHVuaXRzIGZvciBmcmVxIGFuZCBzeW1ib2wtcmF0ZQoKMjAxNC0wNy0wNyAxODo1MjoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhZGQgcHJlbGltaW5hcnkgIHN1cHBvcnQgZm9yIElTREItVC9UYgoJICBJU0RCLVQgYW5kIElTREItVGIgKHRoZSBCcmF6aWxpYW4gdmFyaWFudCkgYXJlIHRoZQoJICB0ZXJyZXN0aWFsIERUViBzdGFuZGFyZHMgdXNlZCBieSBKYXBhbiwgUGhpbGlwcGluZXMsCgkgIE1hbGRpdmVzLCBUaGFpbGFuZCwgbW9zdCBTb3V0aCBBbWVyaWNhbiBjb3VudHJpZXMKCSAgYW5kIEJvdHN3YW5hLiBDaGFuZ2VzZXQgYWRkcyB0aGUgc2V0IG9mIHByZXZpb3VzbHkKCSAgbWlzc2luZyAoYW5kIHJlcXVpcmVkKSBJU0RCLVQgcGFyYW1ldGVycywgYWRhcHRlcgoJICBhbmQgZnJvbnRlbmQgc2V0dXAgbG9naWMgYW5kIHByb3hpZXMgdGhlIG5ldwoJICBwcm9wZXJ0aWVzIG9uIGR2YmJhc2ViaW4uCgkgIFRlc3RlZCB0byB3b3JrIHdpdGggdGhlIGxpdmUgYWVyaWFsIGJyb2FkY2FzdCBieQoJICBUdiBQYXJhw61iYSBIRCBpbiBDYW1waW5hIEdyYW5kZSAoQnJhemlsKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg3NQoKMjAxNC0wNy0wNSAwMzowODowMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBtYWtlIHNsb2YvbG9mMS9sb2YyIHNldHRhYmxlIHByb3BlcnRpZXMKCSAgQWxsb3dzIHByb3BlciB0dW5pbmcgYXJvdW5kIGhpZ2gvbG93IGJhbmQgYm91bmRhcmllcyB3aGVuIHVzaW5nCgkgIG5vbiAic3RhbmRhcmQiIExOQnMuCgkgIE5vdCBhbGwgTE5CcyAoTG93IG5vaXNlIGJsb2NrIGRvd24gY29udmVydGVycykgYXJlIG1hZGUgZXF1YWwuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IHRydWUgZm9yIHVuaXZlcnNhbCBMTkJGcywgd2hlcmUsIGV2ZW4gdGhvdWdoCgkgIHRoZXJlIGFyZSBzZWVtaW5nbHkgc3RhbmRhcmQgdmFsdWVzIGZvciB0aGUgbG9jYWwgb3NjaWxsYXRvcgoJICBmcmVxdWVuY2llcywgdGhlc2UgY2FuIHZhcnkgZnJvbSBtYW51ZmFjdHVyZXIgdG8gbWFudWZhY3R1cmVyCgkgIGFuZCBMTkIgbW9kZWwuIENoYW5nZSBhbHNvIHByb3hpZXMgdGhlIG5ldyBMTkIgcHJvcGVydGllcyBpbgoJICBkdmJiYXNlYmluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODE4CgoyMDE0LTA3LTI3IDEzOjI2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogc2lsZW5jZSBnc2lnbmFsIHdhcm5pbmcKCSAgaW5zdGFuY2UgJzB4YmxhaCcgaGFzIG5vIGhhbmRsZXIgd2l0aCBpZCAnMTMnCgoyMDE0LTA3LTI2IDEzOjI3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGRvIG5vdCBnaXZlIHJlZmVyZW5jZXMgdG8gcHJvYmVzCgkgIFRoZXkgYXJlIGtlcHQgdW50aWwgdGhlIHByb2JlcyBhcmUgcmVtb3ZlZCBidXQgdGhleSB3aWxsIG5ldmVyIGJlCgkgIHJlbW92ZWQgYXMgdGhlIHJlZmNvdW50IG9mIHRoZSBlbGVtZW50IHdvbid0IGdldCB0byAwIGJlY2F1c2UgdGhlCgkgIHByb2JlcyBvd24gcmVmZXJlbmNlcyAoY3ljbGljIHJlZnMpLiBBcyB0aGUgcHJvYmVzIHNob3VsZCBvbmx5IGJlCgkgIHJ1bm5pbmcgYXMgbG9uZyBhcyB0aGUgZWxlbWVudCBpcyBydW5uaW5nIHRoZXJlIGlzIG5vIG5lZWQgdG8KCSAgc2VjdXJlIGEgcmVmIGZvciB0aGVtLgoJICBSZW1vdmVzIDMgbGVha2VkIHJlZnMgb2Ygd3JhcHBlcmNhbWVyYWJpbnNyYwoKMjAxNC0wNy0yNiAxMjo0NjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVzZSBnc3Rfb2JqZWN0X3JlZiB0byBtYWtlIGl0IGVhc2llciB0byB0cmFjayByZWZzCgkgIEhlbHBzIGRlYnVnZ2luZwoKMjAxNC0wNy0yNiAxMjozODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1bnJlZiByZXF1ZXN0IHBhZHMKCSAgRG8gbm90IGZvcmdldCB0byB1bnJlZiBvdXRwdXQtc2VsZWN0b3IgcmVxdWVzdGVkIHBhZHMKCjIwMTQtMDQtMjEgMjM6MDU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJICBqcGVncGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNTYKCjIwMTQtMDctMjQgMTI6MjU6MzYgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93LzExOiBFbWl0IHNpZ25hbHMgZm9yIG1vdXNlIGFuZCBrZXkgbmF2aWdhdGlvbiBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0yNCAxMjoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IENvbnN0aWZ5IHN0cmluZyBwYXJhbWV0ZXJzIHRvIHRoZSBzZW5kXypfZXZlbnQoKSBmdW5jdGlvbnMKCjIwMTQtMDctMjQgMTM6MDU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgZXh0cmEgYXJndW1lbnQgZnJvbSBkZWJ1ZyBjYWxsCgoyMDE0LTA3LTA3IDAwOjIwOjAxICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIGNhbGxiYWNrcyBmb3IgR3N0R0xXaW5kb3cgbW91c2Uva2V5IHNpZ25hbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0wNiAyMzozOTo0NyArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBHc3RHTFdpbmRvdyA6IEFkZCBtb3VzZS1ldmVudCBhbmQga2V5LWV2ZW50IHNpZ25hbHMgZm9yIG5hdmlnYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0yMyAxMDoyNTozMSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbDogZml4IG11bHRpIGdsIG9iamVjdCBsZWFrcwoJICAxLiBmaXggRkJPIGxlYWtzIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIDIuIGZpeCB0ZXh0dXJlIGxlYWtzIGluIGRlY2lkZV9hbGxvY2F0aW9uIGFuZCByZXNldAoJICAzLiBmaXggdGV4dHVyZSBsZWFrcyBpbiBGQk8gaW5jb21wbGV0ZSBlcnJvciBwYXRoCgoyMDE0LTA3LTIzIDEzOjU1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBvbmx5IGZsdXNoIGJ1ZmZlcnMgaWYgcmVuZWdvdGlhdGlvbiBpcyBuZWVkZWQKCSAgVGhpcyBhdm9pZCBleHRyYSBvdmVyaGVhZCB3aGVuIHRha2luZyBzZXF1ZW50aWFsIHBpY3R1cmVzIHRoYXQgd291ZGxuJ3QKCSAgbmVlZCByZW5lZ290aWF0aW9uCgoyMDE0LTA3LTIzIDEzOjM3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogaGFuZGxlIEVPUyBvbiB0aGUgcGlwZWxpbmUKCSAgTWFrZSBjYW1lcmFiaW4gaGFuZGxlIEVPUyB0byB0aGUgcGlwZWxpbmUgdG8gYWxsb3cgc3RhbmRhcmQgcGlwZWxpbmUKCSAgY2xvc2Ugd2hlcmUgYW4gRU9TIGlzIHNlbnQgdG8gdGhlIHdob2xlIHBpcGVsaW5lIGJlZm9yZSBzZXR0aW5nIGl0IHRvIE5VTEwuCgoyMDE0LTA3LTIxIDE4OjIyOjE4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3Qgc2NhbiBmb3Iga2V5ZnJhbWUgd2hlbiBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0OTAKCjIwMTQtMDctMjEgMTg6MjE6NDEgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCBzY2FuIGZvciBhIGtleWZyYW1lIGluIG5vbi1hY2N1cmF0ZSBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDkwCgoyMDE0LTA3LTAxIDEwOjI0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcmVtb3ZlIG9ic29sZXRlIGNvZGUKCSAgQnVmZmVycyBoYXZlIG5vIGNhcHMgaW4gMS4wCgoyMDE0LTA3LTAxIDEwOjA3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHBwYXk6IHB1dCBhbGwgc3RpY2t5IGV2ZW50cyBpbiBzdHJlYW1oZWFkZXIKCSAgVXNlIHRoZSBzdGlja3kgZXZlbnRzIHRvIGNvbXBvc2UgdGhlIHN0cmVhbWhlYWRlciBhcyB0aGV5IGFyZSB0aGUKCSAgb25lcyB0aGF0IGFyZSBwZXJzaXN0ZWQgdG8gY29uZmlnIG5ldyBwYWRzIGxpbmtlZC4gSW5zdGVhZCBvZiBzdG9yaW5nCgkgIHRoZW0gb3Vyc2VsdmVzIHJlbHkgb24gdGhlIHBhZCBzdG9yYWdlIHRoYXQgYWxyZWFkeSBvcmRlcnMgaXQgZm9yIHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1OTYKCjIwMTQtMDctMjEgMjE6MDM6MjYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGltcHJvdmUgZW51bSBHc3RGYWNlRGV0ZWN0VXBkYXRlcyBkZXNjcmlwdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUwOQoKMjAxNC0wNS0yMSAxMjo1OTo1NyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogbWFrZSB1cGRhdGVzIG9uX2NoYW5nZSB3b3JrcyBhcyBleHBlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTA5CgoyMDE0LTA3LTIyIDEyOjQyOjM2ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubWVuYzogUG9ydCBQTk0gRW5jb2RlciB0byB1c2UgR3N0VmlkZW9FbmNvZGVyIENsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NDMKCjIwMTQtMDYtMTggMTE6NDQ6NTQgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm1kZWM6IFBhdGNoIHRvIGhhbmRsZSBtYXggdmFsdWUKCSAgQ29udmVydCB0aGUgaW1hZ2UgdmFsdWVzIGZyb20gMC1tYXh2YWx1ZSB0byAwLTI1NSB3aGVuCgkgICdkZWNvZGluZycgdGhlIHBubSBpbWFnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzczCgoyMDE0LTA3LTE1IDE2OjQyOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZWRlYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQgZWFybGllcgoJICBEZWxheWluZyB0aGUgc2VnbWVudCBldmVudCB0byB3aGVuIGNhcHMgYXJlIGRlY2lkZWQgY2FuIGNhdXNlIGlzc3VlcyBhcwoJICB0aGUgZmlyc3QgdGhpbmcga2F0ZWRlYyBkb2VzIG9uIGl0cyBjaGFpbiBmdW5jdGlvbiBpdCBkb2luZyBhIHNlZ21lbnQgY2xpcC4KCSAgSXQgd2lsbCBsZWFkIHRvIGFuIGFzc2VydGlvbiBpZiB0aGUgc2VnbWVudCBmb3JtYXQgaXMgdW5kZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMjYKCjIwMTQtMDctMTUgMTY6NDE6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBoYW5kbGUgc3RyZWFtaGVhZGVycyBpbiBjYXBzCgkgIFByb3Blcmx5IGhhbmRsZSB0aGUgY2FwcyBldmVudCBieSBjb25maWd1cmluZyB0aGUga2F0ZSBkZWNvZGluZyBsaWIgdXNpbmcgdGhlCgkgIGF2YWlsYWJsZSBzdHJlYW1oZWFkZXJzLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGRlY29kZSBrYXRlIHN1YnRpdGxlcyB3aGVuCgkgIHRoZSBzdHJlYW0gaXMgc2Vla2VkIGJlZm9yZSBrYXRlZGVjIGdldHMgdGhlIGluaXRpYWwgYnVmZmVycyB0aGF0IGFyZSB1c3VhbGx5CgkgIHRoZSBzdHJlYW1oZWFkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjI2CgoyMDE0LTA3LTIxIDE3OjM0OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuanBlZzogRG9uJ3QgcmVtZW1iZXIgLWxvcGVuanAyIGFzIGxpYnMgd2hlbiBmYWxsaW5nIGJhY2sgdG8gb3BlbmpwZWcxCgoyMDE0LTA3LTIxIDExOjA3OjI4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2w6IFJlb3JkZXIgQ0ZMQUdTIHRvIGluY2x1ZGUgaW4tc291cmNlIGRpcnMgZmlyc3QgaW4gZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQyNgoKMjAxNC0wNS0wNiAwOToyODoxNCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5qcGVnOiBXaW4zMi1jb21wYXRpYmxlIE9wZW5KUEVHLTIuMCBkZXRlY3Rpb24KCSAgT3BlbkpQRUcgMi4wIEFQSSB1c2VzIHN0ZGNhbGwgb24gVzMyIGJ5IGRlZmF1bHQuIFRoaXMgcHJldmVudHMgbm9ybWFsCgkgIGF1dG9jb25mIGxpYnJhcnkgbWFjcm9zIGZyb20gZmluZGluZyBpdHMgZnVuY3Rpb25zLgoJICBBIG1vcmUgY29tcGF0aWJsZSBjaGVjayBpcyB0byBhY3V0YWxseSBsaW5rIGEgcHJvZ3JhbSB0aGF0IGluY2x1ZGVzIGEKCSAgcmVhbCBoZWFkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0ODcKCjIwMTQtMDctMjEgMTA6MTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBlcnJvcjogdmFyaWFibGUgJ29uaV90cycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjc1MjoyNjogbm90ZTogdW5pbml0aWFsaXplZCB1c2Ugb2NjdXJzIGhlcmUKCSAgR1NUX0JVRkZFUl9QVFMgKGJ1ZikgPSBvbmlfdHMgLSBzcmMtPm9uaV9zdGFydF90czsKCSAgXn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxMDogbm90ZTogcmVtb3ZlIHRoZSAnaWYnIGlmIGl0cyBjb25kaXRpb24gaXMgYWx3YXlzIHRydWUKCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBlcnJvcjogdmFyaWFibGUgJ29uaV90cycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyICcmJicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjc1MjoyNjogbm90ZTogdW5pbml0aWFsaXplZCB1c2Ugb2NjdXJzIGhlcmUKCSAgR1NUX0JVRkZFUl9QVFMgKGJ1ZikgPSBvbmlfdHMgLSBzcmMtPm9uaV9zdGFydF90czsKCSAgXn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogbm90ZTogcmVtb3ZlIHRoZSAnJiYnIGlmIGl0cyBjb25kaXRpb24gaXMgYWx3YXlzIHRydWUKCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NjQyOjE4OiBub3RlOiBpbml0aWFsaXplIHRoZSB2YXJpYWJsZSAnb25pX3RzJyB0byBzaWxlbmNlIHRoaXMgd2FybmluZwoJICB1aW50NjRfdCBvbmlfdHM7CgkgIF4KCSAgPSAwCgoyMDE0LTA3LTE3IDE2OjI1OjU0ICswMjAwICBGYWJyaWNlIEJlbGxldCA8ZmFicmljZUBiZWxsZXQuaW5mbz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgcGFyc2VyOiBtcGVnNDogZml4IHZsYyB0YWJsZSB1c2VkIGZvciBzcHJpdGUgdHJhamVjdG9yeQoJICBUaGUgdmxjIHRhYmxlIG1lbWJlcnMgY2JpdHMsIGN3b3JkIGFuZCB2YWx1ZXMgd2VyZSBhc3NpZ25lZCBpbiB0aGUgd3JvbmcKCSAgb3JkZXIsIGNhdXNpbmcgdGhlIG1wZWc0IHBhcnNlciB0byBmYWlsIHdoZW4gaGFuZGxpbmcgc3ByaXRlCgkgIHRyYWplY3Rvcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzMyMgoKMjAxNC0wNy0xOCAxNTowOTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE1ha2Ugc3RhdGlzdGljcyBtZXNzYWdlIG1vcmUgZ2VuZXJpYyBmb3Igb3RoZXIgYWRhcHRpdmUgc3RyZWFtaW5nIGRlbXV4ZXJzIHRvIHJldXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4MjgKCjIwMTQtMDItMjUgMTE6NTg6NTcgKzAxMDAgIEFsZXhhbmRlciBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvdmlkZSBzdGF0aXN0aWNzIGFib3V0IHRpbWUgdG8gZG93bmxvYWQgcGxheWxpc3RzIGFuZCBmcmFnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTgyOAoKMjAxNC0wNy0xOSAxODowNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS40LjAgPT09CgoyMDE0LTA3LTE5IDE3OjI3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjQuMAoKMjAxNC0wNy0xOSAxNjo0NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTE5IDEyOjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTE2IDE4OjI3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc2V0IHNyYyB0byByZWFkeSB3aGVuIHRoZXJlIGFyZSBubyBwZW5kaW5nIGJ1ZmZlcnMKCSAgU2V0dGluZyB0byByZWFkeSB3aWxsIGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgdG8gYmUgcmVjbGFpbWVkLCBzbyBmbHVzaAoJICBiZWZvcmUgc2V0dGluZyB0byBudWxsIHRvIG1ha2Ugc3VyZSBubyBidWZmZXJzIGFyZSBwZW5kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNzIKCjIwMTQtMDctMTcgMTA6MDU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBvZiBnbCBmeHRlc3QgZXhhbXBsZSBvbiB3aW4zMiB3aXRoIEd0aysgMy4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNjMKCjIwMTQtMDctMTcgMDA6MTE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogUHJvdmlkZSB0aGUgc2l6ZSBvZiBvdXIgYXJyYXkgdG8gR2V0RGVzdGluYXRpb25PdXRwdXREZXZpY2VJRHMKCSAgT3RoZXJ3aXNlIGl0IGRvZXMgbm90IGFuZCBqdXN0IGZhaWxzLiBJdCBuZWVkcyB0byBrbm93IHRoZSBzaXplIG9mIHRoZQoJICBhcnJheSB0byBub3Qgd3JpdGUgdG9vIG11Y2ggdG8gaXQuCgoyMDE0LTA3LTE3IDAwOjExOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlc3Npbms6IFNpbGVuY2Ugc29tZSBlcnJvciBkZWJ1ZyBvdXRwdXQgdG8gbG9nIG91dHB1dAoJICBUaGVzZSBhcmUgbm90IHJlYWxseSBlcnJvcnMsIGp1c3QgdW5zdXBwb3J0ZWQgZmVhdHVyZXMgd2UgZG9uJ3QKCSAgbmVjZXNzYXJpbHkgbmVlZC4KCjIwMTQtMDctMTYgMTY6NTc6MzUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVzZXQgZmxvd19yZXR1cm4gKmFmdGVyKiBzdG9wcGluZyB0aGUgc3JjcGFkIHRhc2suCgkgIE90aGVyd2lzZSBpdCBtaWdodCBiZSBzZXQgaW4gYW4gYWxyZWFkeSBydW5uaW5nIGFnZ3JlZ2F0ZSBmdW5jdGlvbi4KCjIwMTQtMDctMTAgMTM6MTg6MjEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmx1c2ggc2lua3BhZHMgd2hlbiBzdG9wcGluZwoJICBBbGwgdmFsdWVzIGFyZSBtZWFuaW5nbGVzcyBpbiB0aGF0IGNhc2UsIHNvIHdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdAoJICB3ZSBjbGVhbiBldmVyeXRoaW5nCgoyMDE0LTA3LTEwIDEzOjE1OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvIG5vdCBmb3JnZXQgdG8gcmVzZXQgdGhlIGZsb3cgcmV0dXJuIHdoZW4gc3RvcGluZwoJICBTZXR0aW5nIGl0IHRvIEZMVVNISU5HIHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IHN0YXJ0ZWQsIGFuZCB0byBPSwoJICB3aGVuIGl0IHN0YXJ0cy4KCjIwMTQtMDctMDggMTY6NDg6MDggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSGFuZGxlIGV2ZW50IHNlcW51bQoKMjAxNC0wNy0xMyAxNjowNzowMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBdm9pZCB0YWtpbmcgdW5uZWNlc3NhcnkgcmVmCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjMKCjIwMTQtMDctMTYgMTY6MzE6MjcgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IEluY2x1ZGUgR0xfQ0ZMQUdTIHdoaWxlIGNoZWNraW5nIGZvciBHTCB0eXBlZGVmcwoJICBPdGhlcndpc2UgdGhvc2UgY2hlY2tzIG1heSBmYWlsIGF0IGNvbmZpZ3VyZSB0aW1lIGlmIHRoZXkgY29udGFpbiBleHRyYQoJICBpbmNsdWRlIHBhdGhzLCB3aGlsZSBhdCBidWlsZCB0aW1lIHRoZXkgYXJlIGluY2x1ZGVkLCBwb3RlbnRpYWxseSBjYXVzaW5nCgkgIGluY29tcGF0aWJsZSB0eXBlZGVmcyBiZXR3ZWVuIHN5c3RlbSBHTCBoZWFkZXJzIGFuZCBnc3RyZWFtZXIgY29tcGF0aWJpbGl0eQoJICBwcm90b3R5cGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjQ4CgoyMDE0LTA3LTE2IDE2OjI5OjEwICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBBbHdheXMgaW5jbHVkZSBFR0xfQ0ZMQUdTIGluIEdMX0NGTEFHUyB3aGVuIEVHTF9MSUJTIGlzIGFkZGVkIHRvIEdMX0xJQlMKCSAgVGhleSBzaG91bGQgYmUgaGFuZGxlZCBpbiB0YW5kZW0sIGluIGNhc2UgYW55IEVHTCBwcm92aWRlciBjb3VsZCByZXF1aXJlIHNvbWUKCSAgQ0ZMQUdTIGFuZCBzZXQgdGhlbSAocG9zc2libHkgb25jZSBtb3ZlZCB0byBwcmVmZXIgcGtnLWNvbmZpZyBmaWxlcyksCgkgIHN1Y2ggYXMgZm9yIGEgY3VzdG9tIGhlYWRlciBsb2NhdGlvbi4KCjIwMTQtMDMtMTcgMTY6MDk6NDYgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU1NQoKMjAxNC0wNy0xNSAxMzoyOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE9wZW4gRGlyZWN0M0QgZGV2aWNlcyBpbiBhIHRocmVhZHNhZmUgd2F5CgkgIE90aGVyd2lzZSB3ZSdsbCBnZXQgY3Jhc2hlcyB3aGVuIHVzaW5nIHRoZSBkZXZpY2UgZnJvbSBtdWx0aXBsZQoJICB0aHJlYWRzLCBlLmcuIHdoZW4gdXNpbmcgbXVsdGlwbGUgc2lua3MgYXQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUyMwoKMjAxNC0wNy0xMSAyMToxNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogSW5jbHVkZSBnc3QuaCBhbmQgb3RoZXIgc3R1ZmYgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTQtMDctMTEgMTA6NDA6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggY2FwcyBmaWx0ZXIgY2FwcyBwcm94eWluZwoJICBUaGUgbm90aWZ5IHNpZ25hbCBpcyB0cmlnZ2VyZWQgd2hlbiBjYXBzIGlzIGNoYW5nZWQuIEJ1dCBpbnN0ZWFkIG9mCgkgIHByb3h5aW5nIHRoZSBmaXhlZCBjYXBzLCB3ZSBxdWVyeSBmb3IgdGhlIGNhcHMuIEhlbmNlLCB3aGVuIHdlIGdvIHRvCgkgIFJFQURZIHN0YXRlLCB3ZSBlbmR1cCBzZXR0aW5nIHRlbXBsYXRlIGNhcHMgb24gdGhlIHByb3hpZWQgY2FwcwoJICBmaWx0ZXIgaW5zdGVhZCBvZiBOVUxMLCB3aGljaCBsZWFkcyB0byBuZWdvaXRhdGlvbiBmYWlsdXJlLiBDb3JyZWN0bHkKCSAgcHJveHkgTlVMTCBjYXBzIGlmIHRoaXMgaXMgdGhlIG5ldyBjYXBzLiBGaXhlcyBub3QgbmVnb3RpYXRlZCBlcnJvcgoJICB3aGVuIHJ1bm5pbmcgaW4gY2hlZXNlLiBBbHNvIGZpeCBhIGxlYWsgb2YgY2FwcyBzdHJpbmcgaW4gb25lIG9mIHRoZQoJICB0cmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0MQoKMjAxNC0wNy0xMSAxMzo1ODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IEFsd2F5cyBidWlsZCBnc3RnbG1peGVyLCBub3Qgb25seSB3aGVuIGZ1bGwgT3BlbkdMIHN1cHBvcnQgaXMgZW5hYmxlZAoKMjAxNC0wNy0xMSAxMzoyNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsOiBVc2Ugd2luc29jazIgaW5zdGVhZCBhbmQgdGhlIEdMaWIgbWFjcm8gZm9yIGNoZWNraW5nIGlmIHdlJ3JlIG9uIFdpbmRvd3MKCjIwMTQtMDctMTEgMTM6MjU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IFVzZSBubyBuZXR3b3JrIEFQSSBpZiBub3QgcmVxdWlyZWQKCjIwMTQtMDctMTEgMTM6MjE6MjEgKzAyMDAgIEFsZXhleSBQYXZsb3YgPGFsZXhwdXhAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBleHQ6IEluY2x1ZGUgd2luc29jay5oIG9uIFdpbmRvd3Mgd2hlbiByZXF1aXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDUyCgoyMDE0LTA3LTExIDEyOjEzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTEKCjIwMTQtMDctMTEgMTI6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IExpbmsgdG8gYWxsIHJlcXVpcmVkIGxpYnJhcmllcyBidXQgbm90IG1vcmUKCjIwMTQtMDctMTEgMTI6MDE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBQcm9wZXJseSBpbmNsdWRlIGhlYWRlcnMgaW4gTWFrZWZpbGUuYW0KCSAgYW5kIGRvbid0IHNldCBub2luc3RfSEVBREVSUyB0d2ljZS4KCjIwMTQtMDctMTEgMTE6MDU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xMSAwOTo0Mzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdGRlYzogQ2hhbmdlIHJhbmsgdG8gTUFSR0lOQUwgdW50aWwgaXQgY2FuIHByb3Blcmx5IGhhbmRsZSBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzc1NwoKMjAxNC0wNy0xMSAwOTo0MTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbDogTW92ZSBHc3RHTE1peGVyIHRvIHRoZSBwbHVnaW4gZm9yIG5vdwoJICBJdCBkZXBlbmRzIG9uIEdzdEFnZ3JlZ2F0b3IgYW5kIHdlIGRvbid0IHdhbnQgdG8gaW5zdGFsbCBoZWFkZXJzCgkgIGZvciB0aGF0IHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwNwoKMjAxNC0wNy0xMSAwOTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGxpYnM6IERvbid0IGluc3RhbGwgaGVhZGVycyBhbmQgcGMgZmlsZXMgZm9yIGxpYmdzdHdheWxhbmQvYmFkdmlkZW8vYmFkYmFzZQoJICBUaGVzZSB3aWxsIGRpc2FwcGVhciBhZnRlciAxLjQuMCBhbmQgaXQgd291bGQgYmUgcmF0aGVyIGFubm95aW5nIGlmCgkgIHBlb3BsZSBzdGFydGVkIGRlcGVuZGluZyBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjA3CgoyMDE0LTA3LTEwIDE1OjUyOjQ2ICswMTAwICBQaGlsaXAgV2l0aG5hbGwgPHBoaWxpcC53aXRobmFsbEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEZpeCBhIGRvdWJsZS11bnJlZiBpbiB0aGUgT3B1cyBoZWFkZXIgY29kZQoJICBUaGUgaGVhZGVycyB3ZXJlIG5ldmVyIGdldHRpbmcgcmVmZmVkIHdoZW4gYmVpbmcgYWRkZWQgdG8gdGhlIGhlYWRlcnMKCSAgbGlzdCwgd2hpY2ggaXMgbGF0ZXIgdW5yZWZmZWQtYW5kLWZyZWVkIGJ5IHRoZSBjYWxsZXIgKGUuZy4KCSAgZ3N0X29wdXNfcGFyc2VfcGFyc2VfZnJhbWUoKSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwMTMKCjIwMTQtMDctMTEgMDg6NTQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTAgMTE6Mjk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgQ0FUIHNlY3Rpb24gYW5kIENBIGRlc2NyaXB0b3Igc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTg2CgoyMDE0LTA3LTEwIDExOjI0OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBwYXJzaW5nIGZvciBDQSBkZXNjcmlwdG9yICgweDA1KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTg2CgoyMDE0LTA3LTA3IDExOjUyOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRmx1c2ggZG93bnN0cmVhbSBhZnRlciBzZXR0aW5nIHNyYyB0byBSRUFEWQoJICB2NGwyc3JjIHJlcXVpcmVzIGFsbCBidWZmZXJzIHRvIGNvbWUgYmFjayBpbiBvcmRlciB0byBjbGVhbmx5IHN0b3AKCSAgc3RyZWFtaW5nLiBGbHVzaGluZyB0aGUgcGlwbGluZSBzaG91bGQgZm9yY2UgYWxsIGJ1ZmZlcnMgdG8gY29tZQoJICBiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQxCgoyMDE0LTA3LTA2IDExOjI4OjM0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJICB0ZXN0cy9pY2xlcy9kY2NwOiBSZWxlYXNlIHJlZmVyZW5jZSB0byBwYXJlbnQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NwoKMjAxNC0wNy0wOSAxNTowMzo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEtlZXAgYXNwZWN0IHJhdGlvIGJ5IGRlZmF1bHQKCSAgVGhlIGV4cGVjdGVkIGRlZmF1bHQgYmVoYXZpb3VyIGZvciB2aWRlbyBzaW5rIGlzIHRvIG1haW50YWluIHRoZQoJICBhc3BlY3QgcmF0aW8uIEZpeCB0aGUgZGVmYXVsdCB2YWx1ZSB0byByZWZsZWN0IHRoaXMuIFRoZSBwcm9wZXJ0eQoJICBkZWZhdWx0IHdhcyBhbHJlYWR5IFRSVUUsIGJ1dCB0aGUgdmFsdWUgd2FzIG5vdCBpbml0aWFsbHkgVFJVRS4KCjIwMTQtMDctMDYgMDE6NTU6NTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogTm8gbmVlZCB0byBjaGVjayBmb3IgTlVMTCBiZWZvcmUgY2FsbGluZyBnX2ZyZWUoKQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzg5CgoyMDE0LTA3LTA2IDAxOjU1OjE2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IERvbid0IGNvbmZ1c2Ugc2xpY2UgYWxsb2NhdG9yIHdpdGggcmVndWxhciBvbmUKCSAgUHJldmlvdXNseSBzZWxlY3Rvcl9ieXRlcyBhbmQgcHJpdmF0ZV9kYXRhX2J5dGVzIHdlcmUgc29tZXRpbWVzIGFsbG9jYXRlZCBhbmQKCSAgZnJlZSB1c2luZyB0aGUgbm9ybWFsIGFsbG9jYXRvciBhbmQgc29tZXRpbWVzIHVzaW5nIHRoZSBzbGljZSBhbGxvY2F0b3IuCgkgIEFkZGl0aW9uYWxseSBwcmVmZXIgZ19zdHJkdXAoKSB0byBnX21lbWR1cCgpIGZvciBzdHJpbmdzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzg5CgoyMDE0LTA3LTA5IDA3OjUwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGR2YiBsaW5rYWdlIGxlYWtzCgkgIENJRCAjMTIyNDEzMAoKMjAxNC0wNy0wNCAxNDowNDo0NyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogdXNlIGdldHRlciBmb3IgZWdkZSBsaW5rYWdlIGRlc2NyaXB0b3IgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA0IDE0OjAyOjIyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIG1wZWd0czogZG9jczogYWRkIG1pc3NlZCAqX2ZyZWUgbWV0aG9kcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI0IDE5OjE4OjU2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogZml4IGFubm90YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wOSAwNzozODozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHBhZGRpbmcgdG8gcHVibGljIHN0cnVjdHVyZXMKCSAgQWxsb3dzIHVzZSB0byBhZGQgQVBJIGluIHRoZSBmdXR1cmUgd2l0aG91dCBicmVha2luZyBBQkkuIFdlIGJyb2tlIHRoZSBBUEkvQUJJCgkgIG9uY2UgYmV0d2VlbiAxLjIgYW5kIDEuNCwgbGV0J3MgdHJ5IHRvIGF2b2lkIHRoaXMgaW4gdGhlIGZ1dHVyZSBldmVuIGlmIHRoaXMKCSAgaXMgYW4gdW5zdGFibGUgbGlicmFyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wOCAxNTo0MzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBmaXggbGVhayBvZiBzaG9ydCBuYW1lCgoyMDE0LTA3LTA4IDE0OjU2OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IGxlYWsgb2YgbGFuZ3VhZ2UgY29kZQoKMjAxNC0wNy0wNiAyMzozMDo1MyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZpeCBzb21lIG1vcmUgdGhlIGxvY2tpbmcgbG9naWMgaW4gdXBkYXRlX3NyY19jYXBzCgkgIFdlIG5lZWQgdGhlIEdTVF9PQkpFQ1RfTE9DSyBvbmx5IHRvIGl0ZXJhdGUgdGhlIHNpbmtwYWRzLCBub3RoaW5nIGVsc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTAKCjIwMTQtMDctMDYgMjI6MTY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGJyb2tlbiBsb2NraW5nIGluIHVwZGF0ZV9zcmNfY2FwcyBmdW5jdGlvbgoJICBXZSB3b3VsZCB1bmxvY2sgYW4gYWxyZWFkeS11bmxvY2tlZCBtdXRleCB0aGF0IHdlIG5ldmVyIHJlLWxvY2tlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1MAoKMjAxNC0wNy0wNiAxNjoxNzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IGxvY2tpbmcKCSAgV2Ugd291bGQgdW5sb2NrIGEgbXV0ZXggd2UgbmV2ZXIgbG9ja2VkIG9uIFNFR01FTlQKCSAgZXZlbnRzLgoKMjAxNC0wNy0wNCAyMTowMDozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogTWFrZSBjYXNjYWRlcyBkaXIgYSBsaXR0bGUgbW9yZSBwb3J0YWJsZQoKMjAxNC0wNy0wNCAyMDo1NToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IFVzZSBhbHJlYWR5IG1hcHBlZCBpbWFnZQoJICBObyBuZWVkIHRvIG1hcCBhZ2FpbiB0aGUgaW1hZ2UsIGl0J3MgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBiYXNlIGNsYXNzLgoKMjAxNC0wNy0wNCAyMDozOTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogTW92ZSBzaXplIHdhcm5pbmcgaW4gc2V0X2NhcHMgc28gaXQncyBjYWxsZWQgb25jZQoKMjAxNC0wNy0wNCAyMDozMzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IFBvcnQgdG8gT3BlbmN2VmlkZW9GaWx0ZXIgYmFzZSBjbGFzcwoJICBUaGlzIGZpeGVzIGlzc3VlIHdoaXQgYmxhY2sgZnJhbWVzIHdoZW4gc3BlY2lhbCBtZW1vcnksIGxpa2UgR2xNZW1vcnkgaXMKCSAgaW4gdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAyMDozMTo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIGN2dmlkZW9maWx0ZXI6IERvbid0IHRyeSB0byBtYWtlIGJ1ZmZlciB3cml0YWJsZQoJICBGaXJzdCB0aGlzIGlzIGhhbmRsZSBieSBiYXNlIHRyYW5zZm9ybSwgaGVuY2UgdGhpcyBpcyBhIG5vLW9wLCBhbmQgaWYgaXQgd2Fzbid0IGl0CgkgIHdvdWxkIGxlYWQgdG8gYSBidWZmZXIgY29weSBiZWluZyBsZWFrZWQsIGFuZCB0aGVuIGFuIHVucmVmZmVkIGJ1ZmZlciBiZWluZwoJICBwdXNoZWQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAyMDozMDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIGN2dmlkZW9maWx0ZXI6IENoZWNrIGJ1ZmZlcl9tYXAgcmV0dXJuIHZhbHVlCgkgIENoZWNrIHRoZSByZXN0dXJuIHZhbHVlIGFuZCBjbGVhbmx5IGZhaWwgaWYgd2UgY291bGQgbm90IG1hcHBlZCB0aGUgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAwMzoxOTo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFByaW50IGludmFsaWQgZm91cmNjIGluIGVycm9yIG1lc3NhZ2UgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE1CgoyMDE0LTA3LTA0IDAzOjIwOjIyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBlcnJvciBtZXNzYWdlIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNQoKMjAxNC0wNy0wNCAxNzo1MTo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0NAoKMjAxNC0wNy0wMSAxMjozNDo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQWRkIHByb3BlciBjbGVhbiB1cCBvZiBPcGVuTkkyIG9iamVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMjoxODo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBEb24ndCBlbWJlZCBDKysgb2JqZWN0cyBpbiBvdXIgR09iamVjdAoJICBTaW5jZSBDKysgb2JqZWN0cyBzaG91ZGwgYmUgcHJvcGVybHkgY29uc3RydWN0ZWQsIHdlIGtlZXAgb25seSBwb2ludGVycwoJICB0byB0aGVtIGFuZCBtYW51YWxseSBjb25zdHJ1Y3QgdGhlbSBvbiB0aGUgaGVhcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMjoxODoxOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2xvc2UgZGV2aWNlIHdoZW4gc3RvcHBpbmcgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU4OjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IEZpeCB0aW1lc3RhbXBpbmcKCSAgT3Blbk5JMiBtYWtlcyBubyBndWFyYW50ZWVzIG9mIHRpbWVzdGFtcCBzdGFydGluZyBmcm9tIHplcm8sIGp1c3QgdGhhdAoJICBpdCB3aWxsIGJlIGEgbWlsbGlzZWNvbmQgdGltZXN0YW1wLiBNYWtlIHRpbWVzdGFtcHMgc3RhcnQgZnJvbSB6ZXJvCgkgIG1hbnVhbGx5IHNvIHRoaW5ncyB3b3JrIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1Njo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogTWFrZSB0aGUgbG9jYXRpb24gcHJvcGVydHkgbm90IGJlIG1hbmRhdG9yeQoJICBPdXIgY2FsbHMgdG8gZGV2aWNlIG9wZW4gYWxyZWFkeSBoYW5kbGUgdGhlIHVuc2V0IGxvY2F0aW9uIGNhc2UgKGJ5CgkgIG9wZW5pbmcgYW55IGF2YWlsYWJsZSBkZXZpY2UpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU2OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBPcGVuIGRldmljZSBvbiBOVUxMLT5SRUFEWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjUzOjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggZGVhZGxvY2sgd2hlbiBfZ2V0X2NhcHMoKSBpcyBjYWxsZWQgYmVmb3JlIFJFQURZCgkgIFRoZSBvYmplY3QgbG9jayB3YXMgbm90IGJlaW5nIGRyb3BwZWQgaW4gdGhlIGVtcHR5IGNhc2UuIFJlc3RydWN0dXJlZAoJICB0aGUgY29kZSBhIGJpdCB0byBtYWtlIHRoaXMgc29ydCBvZiBlcnJvciBsZXNzIGxpa2VseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1MToyMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogTWFyayBlbGVtZW50IGFzIGEgbGl2ZSBzb3VyY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMyAxOToxMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEFsd2F5cyBsb2NrIHRoZSBEM0Qgc3VyZmFjZXMgaW4gd3JpdGUgbW9kZQoJICBMb2NraW5nIHRoZW0gaW4gcmVhZG9ubHkgbW9kZSBjYW4gZ2l2ZSBkaWZmZXJlbnQgc3RyaWRlIHRvIG1hcHBpbmcKCSAgaW4gd3JpdGUgbW9kZSwgd2hpY2ggdGhlbiBjYXVzZXMgcmVuZGVyaW5nIHRvIGJlIGJyb2tlbi4KCSAgSGFwcGVuZWQgb24gYWxsIChtYW55PykgTlZJRElBIEdQVXMuCgkgIFRoYW5rcyB0byB2b3NrYXRlcjE1QGdtYWlsLmNvbSBmb3IgaGludGluZyBhdCB0aGUgcHJvYmxlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgwOQoKMjAxNC0wNy0wMyAxOTowNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2RoZWxwZXJzOiBTd2FwIFVWIHBsYW5lcyBwcm9wZXJseSBmb3IgWVYxMiBhcyBjb21wYXJlZCB0byBJNDIwCgkgIElmIHdlIG9ubHkgZG8gaXQgaW4gb25lIHBsYWNlIGNvbG9ycyB3aWxsIGxvb2sgZnVubnkuCgoyMDE0LTA3LTAzIDE3OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBQcm9wZXJseSBpbnRlZ3JhdGUgQ09MT1JfUUNPTV9Gb3JtYXRZVlU0MjBTZW1pUGxhbmFyMzJtIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2ODMKCjIwMTQtMDctMDMgMTU6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWNhdWRpb2RlYzogYXVkaW8vbXBlZyBpcyBhbHdheXMgTVBFRyAxIGxheWVyIDMKCSAgQ29uZmlndXJpbmcgZS5nLiBsYXllciAyIG9uIHN1Y2ggYSBkZWNvZGVyIHVzdWFsbHkgZmFpbHMgdW5sZXNzCgkgIGl0IGFkZGl0aW9uYWxseSBhbHNvIGFjY2VwdHMgYXVkaW8vbXBlZy1MMi4KCjIwMTQtMDctMDMgMTQ6MTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIHdlIGhhdmUgbm8gUENSIHlldAoJICBDYW4gaGFwcGVuIHNvbWV0aW1lcyBpZiB0aGUgZHVyYXRpb24gaXMgcmVxdWVzdGVkIGJlZm9yZSB3ZQoJICByZWNlaXZlZCBlbm91Z2ggZGF0YSB3aXRoIGEgUENSLgoKMjAxNC0wNy0wMyAyMTozOToxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICB0c2RlbXV4OiBBZGQgbG9ja2luZyBhcm91bmQgbXBlZ3RzcGFja2V0aXNlciBncm91cHMuCgkgIE90aGVyd2lzZSBvY2Nhc2lvbmFsbHkgRFVSQVRJT04gcXVlcmllcyBjYW4gY3Jhc2gsIGlmIHRoZXkgaGFwcGVuIGF0CgkgIHRoZSB3cm9uZyBtb21lbnQuCgoyMDE0LTA3LTAzIDA5OjAwOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb2NvYTogaW5pdGFsaXplIE5TQXBwIGFzYXAgd2hlbiB1c2luZyBnc3QtbGF1bmNoCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYxCgoyMDE0LTA3LTAyIDEyOjU0OjQ1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgdnRkZWMgYW5kIHZ0ZW5jIG9ubHkgb24gPj0gMTAuOCB3aGVyZSBWaWRlb1Rvb2xib3ggaXMgcHVibGljCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNjcwCgoyMDE0LTA3LTAyIDA0OjU0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBhdm9pZCBzZWdmYXVsdCB3aGVuIG91dHB1dCBpc24ndCBjb25maWd1cmVkCgkgIFRoaXMgY2FuIGhlbHAgd2hlbiB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkIGR1cmluZy9hZnRlciB2aWRlb2RlY29kZXIKCSAgYmFzZSBjbGFzcyBzaHV0IGRvd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzNQoKMjAxNC0wNy0wMiAwMDoyNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogaWdub3JlIHRoZSBkcm9wcGVkIGZsYWcgaWYgYnVmZmVyIHdhcyByZWNlaXZlZAoJICBBcHBhcmVudGx5IHRoZXJlIGlzIHNvbWUgaXNzdWUgd2l0aCBWVCB0aGF0IG1ha2VzIGl0IG1hcmsgdGhlIGRyb3BwZWQKCSAgZmxhZyBldmVuIHRob3VnaCB0aGUgYnVmZmVyIHdhcyBkZWNvZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM1CgoyMDE0LTA3LTAyIDEwOjMxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgbGVhayBhbGwgc3VyZmFjZXMKCSAgVGhpcyB3YXMgYnJva2VuIHdoZW4gZGlzYWJsaW5nIHRoZSBidWZmZXIgcG9vbCBleHBvcnRpbmcuCgkgIEFsc28gZGlzYWJsZSBidWZmZXIgcG9vbCBhIGJpdCBtb3JlIGVmZmljaWVudC4uLgoKMjAxNC0wNy0wMiAxMDowMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFBvc3RNZXNzYWdlKCkgdGFrZXMgaW50ZWdlcnMgYXMgbGFzdCBwYXJhbWV0ZXJzLCBub3QgcG9pbnRlcnMKCjIwMTQtMDctMDIgMDk6NTk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA3LTAyIDE3OjM4OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZToKCSAgZ2wvZXhhbXBsZXM6IGdpdGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMTQtMDctMDEgMDg6MzY6NTMgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJICBnbCA6IGZpeCBxZ2x3dGV4dHVyZXNoYXJlIGRlbW8KCjIwMTQtMDYtMjMgMTE6NTM6MTEgKzAyMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBPbmx5IGNyZWF0ZSBhIG5ldyBHU291cmNlIGlmIHdlIGhhdmUgYSBtYWluIGNvbnRleHQKCSAgV2UgY2FuIHN0aWxsIGdldCBPT0IgZXZlbnRzIHdoaWxlIHN0b3BwaW5nIHRoZSB3YXRjaGRvZyBlbGVtZW50LCBhbmQgd2hpbGUKCSAgc3RvcHBpbmcgaXQgd2UgZGVzdHJveSB0aGUgbWFpbiBjb250ZXh0LgoJICBBbHNvIGxldCB0aGUgR1NvdXJjZSBvd24gYSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgZm9yIGFkZGl0aW9uYWwgc2FmZXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTU0CgoyMDE0LTA3LTAxIDEyOjUyOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZXNldCBRb1Mgb24gc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTQwCgoyMDE0LTA3LTAxIDE2OjU0OjAwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZXI6IGFkZCB0ZXN0IHRvIGlkZW50aWZ5IEVPU0VRIC8gRU9TIE5BTHMuCgkgIENoZWNrIHRoYXQgZW5kX29mX3NlcSgpIFtFT1NFUV0gYW5kIGVuZF9vZl9zdHJlYW0gW0VPU10gTkFMIHVuaXRzCgkgIGFyZSBjb3JyZWN0bHkgcGFyc2VkIGFuZCB0aGUgcmVwb3J0ZWQgTkFMIHVuaXQgc2l6ZSB5aWVsZHMgMSBieXRlLAoJICBpLmUuIHRoZSBvbmx5IE5hbEhlYWRlckJ5dGVzIGluIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTUzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTc6MTk6MDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBhZGQgdGVzdCBmb3IgYnl0ZS1zdHJlYW0vYXUgb3V0cHV0LgoJICBDaGVjayB0aGF0IGNvbnZlcnNpb24gdG8gYnl0ZS1zdHJlYW0vYXUgZm9ybWF0cyB3b3JrIGFuZCB0aGF0IHdlCgkgIGNhbiBlZmZlY3RpdmVseSBkcm9wIGJyb2tlbi9pbnZhbGlkIE5BTCB1bml0cyBmcm9tIHRoZSByZXN1bHRpbmcKCSAgYWNjZXNzIHVuaXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTg6NDc6NTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBjaGVjayBTRUkgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UgaXMgb3V0cHV0LgoJICBJZiBhbiBTRUkgTkFMIHVuaXQgd2l0aCBhIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlIGlzIGluc2VydGVkCgkgIGJldHdlZW4gYW4gU1BTIGFuZCBQUFMgTkFMIHVuaXQsIGNoZWNrIHRoYXQgdGhlIG91dHB1dCBidWZmZXIgc3RpbGwKCSAgY29udGFpbiBpdC4gaS5lLiBtYWtlIHN1cmUgdGhhdCB0aGlzIFNFSSBtZXNzYWdlIGlzIG5vdCBkcm9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTU2CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMDk6NDQ6MjYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNvbGxlY3Rpb24gb2YgYWNjZXNzIHVuaXRzIHRvIHByZXNlcnZlIGNvbmZpZyBoZWFkZXJzLgoJICBBbHdheXMgdXNlIGEgR3N0QWRhcHRlciB3aGVuIGNvbGxlY3RpbmcgYWNjZXNzIHVuaXRzIChhbGlnbm1lbnQ9ImF1IikKCSAgaW4gZWl0aGVyIGJ5dGUtc3RyZWFtIG9yIGF2Y0MgZm9ybWF0LiBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5CgkgIHByZXNlcnZlIGNvbmZpZyBoZWFkZXJzIGxpa2UgU1BTIGFuZCBQUFMgd2hlbiBpbnZhbGlkIG9yIGJyb2tlbiBOQUwKCSAgdW5pdHMgYXJlIHN1YnNlcXVlbnRseSBwYXJzZWQuCgkgIE1vcmUgcHJlY2lzZWx5LCB0aGlzIGZpeGVzIHNjZW5hcmlvIGxpa2U6CgkgIDxTUFM+IDxQUFM+IDxpbnZhbGlkLU5BTD4gPHNsaWNlPgoJICB3aGVyZSB3ZSB1c2VkIHRvIHJlc2V0IHRoZSBvdXRwdXQgZnJhbWUgYnVmZmVyIHdoZW4gYW4gaW52YWxpZCBvcgoJICBicm9rZW4gTkFMIGlzIHBhcnNlZCwgaS5lLiBTUFMgYW5kIFBQUyBOQUwgdW5pdHMgd2VyZSBsb3N0LCB0aHVzCgkgIHByZXZlbnRpbmcgdGhlIG5leHQgc2xpY2UgdW5pdCB0byBiZSBkZWNvZGVkLCBzaG91bGQgdGhpcyBhbHNvCgkgIHJlcHJlc2VudCBhbnkgdmFsaWQgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDEzOjE0OjEwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGltcHJvdmUgY29uZGl0aW9ucyBmb3Igc2tpcHBpbmcgTkFMIHVuaXRzLgoJICBDYXJlZnVsbHkgdHJhY2sgY2FzZXMgd2hlbiBza2lwcGluZyBicm9rZW4gb3IgaW52YWxpZCBOQUwgdW5pdHMgaXMKCSAgbmVjZXNzYXJ5LiBJbiBwYXJ0aWN1bGFyLCBhbHdheXMgYWxsb3cgTkFMIHVuaXRzIHRvIGJlIHByb2Nlc3NlZAoJICBhbmQgbGV0IHRoYXQgZ3N0X2gyNjRfcGFyc2VfcHJvY2Vzc19uYWwoKSBmdW5jdGlvbiBkZWNpZGUgb24gd2hldGhlcgoJICB0aGUgY3VycmVudCBOQUwgbmVlZHMgdG8gYmUgZHJvcHBlZCBvciBub3QuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBvZiBzdHJlYW1zIHdpdGggU0VJIE5BTCBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZQoJICBpbnNlcnRlZCBiZXR3ZWVuIFNQUyBhbmQgUFBTLCBvciBTUFMtRXh0IE5BTCBmb2xsb3dpbmcgYSB0cmFkaXRpb25hbAoJICBTUFMgTkFMIHVuaXQsIGFtb25nIG90aGVyIGNhc2VzIHRvby4KCSAgUHJhY3RpY2FsIGV4YW1wbGVzIGZyb20gdGhlIEguMjY0IEFWQyBjb25mb3JtYW5jZSBzdWl0ZSBpbmNsdWRlCgkgIGFscGhhY29uZm9ybWFuY2VHLCBDVlNFMl9Tb255X0IsIENWU0UzX1NvbnlfSCwgQ1ZTRUZERlQzX1NvbnlfRQoJICB3aGVuIHBhcnNpbmcgaW4gc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSxhbGlnbm1lbnQ9YXUgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDExOjA2OjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGludHJvZHVjZSBuZXcgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGVzLgoJICBJbXByb3ZlIHBhcnNlciBzdGF0ZSB0cmFja2luZyBieSBpbnRyb2R1Y2luZyBuZXcgZmxhZ3MgcmVmbGVjdGluZwoJICBpdDogImdvdC1zcHMiLCAiZ290LXBwcyIgYW5kICJnb3Qtc2xpY2UiLiBUaGlzIGlzIGFuIGFkZGl0aW9uIGZvcgoJICByb2J1c3RuZXNzIHB1cnBvc2VzLgoJICBPbGRlciBoYXZlX3NwcyBhbmQgaGF2ZV9wcHMgdmFyaWFibGVzIGFyZSBrZXB0IGJlY2F1c2UgdGhleSBoYXZlCgkgIGEgZGlmZmVyZW50IG1lYW5pbmcuIGkuZS4gdGhleSBhcmUgdXNlZCBmb3IgZGVjaWRpbmcgb24gd2hlbiB0bwoJICBzdWJtaXQgdXBkYXRlZCBjYXBzIG9yIG5vdCwgYW5kIHJhdGhlciBtZWFuICJoYXZlIG5ldyBTUFMvUFBTIHRvCgkgIGJlIHN1Ym1pdHRlZD8iCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjQgMTM6NTU6MTMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGFuZCBvcHRpbWl6ZSBOQUwgY29sbGVjdGlvbiBmdW5jdGlvbi4KCSAgVXNlIGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9uYWx1X3VuY2hlY2tlZCgpIHRvIGlkZW50aWZ5IHRoZSBuZXh0CgkgIE5BTCB1bml0LiBXZSBkb24ndCB3YW50IHRvIHBhcnNlIHRoZSBmdWxsIE5BTCB1bml0LCBidXQgb25seSB0aGUKCSAgaGVhZGVyIGJ5dGVzIGFuZCBwb3NzaWJseSB0aGUgZmlyc3QgUkJTUCBieXRlIGZvciBpZGVudGlmeWluZyB0aGUKCSAgZmlyc3RfbWJfaW5fc2xpY2Ugc3ludGF4IGVsZW1lbnQuCgkgIEFsc28gZml4IGNoZWNrIGZvciBmYWlsdXJlIHdoZW4gcmV0dXJuaW5nIGZyb20gdGhhdCBmdW5jdGlvbi4gVGhlCgkgIG9ubHkgc3VjY2VzcyBjb25kaXRpb24gZm9yIHRoYXQgaXMgR1NUX0gyNjRfUEFSU0VSX09LLCBzbyB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTQKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNy0wMSAxNjowOToyOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xhcmlmaWNhdGlvbnMgYW5kIGRvY3VtZW50YXRpb24gZml4ZXMuCgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBHc3RIMjY0TmFsVW5pdC4gVGhlIEByZWZfaWRjIHBhcnQgd2FzIHRvdGFsbHkKCSAgdW5iYWxhbmNlZC4gQWxzbyBhZGQgYSBub3RlIGFib3V0IEBvZmZzZXQgYW5kIEBzaXplIGZpZWxkcyB0byByZW1pbmQKCSAgdGhhdCB0aGlzIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgTkFMIHVuaXQsIHRodXMgaW5jbHVkaW5nCgkgIHRoZSBoZWFkZXIgYnl0ZXMuCgoyMDE0LTA3LTAxIDE1OjQ2OjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggaWRlbnRpZmljYXRpb24gb2YgRU9TRVEgYW5kIEVPUyBOQUxzLgoJICBBbiBlbmRfb2Zfc2VxKCkgW0VPU0VRXSBvciBlbmRfb2Zfc3RyZWFtKCkgW0VPU10gTkFMIHVuaXQgaXMgcmVhbGx5CgkgIG9uZSBieXRlIGxvbmcgYmVjYXVzZSB0aGlzIHNoYWxsIGluY2x1ZGUgdGhlIE5hbEhlYWRlckJ5dGVzICgxKSB0b28uCgkgIFRoZSBOQUxVLm9mZnNldCBzdGFydHMgZnJvbSB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgaGVhZGVyLgoJICBUaGlzIGlzIHRoZSBwcm9wZXIgZml4IHRvIGNvbW1pdCBkMzdmODQyLiBJbiBwcmFjdGljZSwgdGhpcyBmaXhlcwoJICBwYXJzaW5nIG9mIEZSRXh0MV9QYW5hc29uaWNfRCBhbmQgRlJFeHQyX1BhbmFzb25pY19DLCB0aGF0IGluY2x1ZGUKCSAgYWRkaXRpb25hbCBmcmFtZXMgYWZ0ZXIgYW4gRU9TRVEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNyAxMjoyNDo0OSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVwb3J0IGxpbWl0ZWQgYmFuZHdpZHRoCgkgIE1ha2VzIHVyaWRlY29kZWJpbiB0cmVhdCB0aGlzIHNvdXJjZSBhcyBhIHN0cmVhbSBzb3VyY2UsCgkgIGFsbG93aW5nIHRpbWVzaGlmdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjMzNQoKMjAxNC0wNy0wMSAxMDowMzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBFeHBvc2UgR3N0TXBlZ3RzRGVzY3JpcHRvciBmcmVlIGZ1bmN0aW9uCgkgIE5vdGhpbmcgZWFydGggc2hhdHRlcmluZywgYnV0IGF2b2lkcyBwZW9wbGUgaGF2aW5nIHRvIHVzZSBnX2JveGVkX2ZyZWUoKQoKMjAxNC0wNi0zMCAxOToxNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZWFnbDogRGlzYWJsZSB1c2FnZSBvZiBSIGFuZCBSRyB0ZXh0dXJlcyBvbiBpT1MKCSAgVGhleSBkb24ndCB3b3JrIGN1cnJlbnRseSBhbmQganVzdCByZW5kZXIgemVyb2VzLCB3aGlsZSB0aGUKCSAgZmFsbGJhY2sgY29kZSBwYXRoIHdpdGggTFVNIGFuZCBMVU1fQUxQSEEgdGV4dHVyZXMgc3RpbGwgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzOTAKCjIwMTQtMDYtMzAgMTE6NTQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogcmVsZWFzZSB0aGUgaGFhciBjYXNjYWRlCgoyMDE0LTA2LTMwIDEyOjIyOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBdm9pZCBkZXN0cm95aW5nIHNvdXJjZXMgd2UgZG8gbm90IG93bgoJICArIFVucmVmIHRoZSBtYWluY29udGV4dCBpbiBhIG5ldyBkaXNwb3NlIGZ1bmN0aW9uCgkgICsgTWFrZSBzdXJlIHRvIHJlbW92ZSBhbGwgc291cmNlcyBvbiBkaXNwb3NlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI0NDUKCjIwMTQtMDYtMTYgMTI6MzU6MTMgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIFRoZSBwaXhlbCBidWZmZXIgcmVsZWFzZSBjYWxsYmFjayBpcyBjYWxsZWQgaWYgdGhlIHZvaWQgKgoJICBkYXRhUHRyIGdpdmVuIHRvIHRoZSBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aFBsYW5hckJ5dGVzCgkgIGlzIG5vdCBOVUxMLgoJICBBY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24gZGF0YVB0ciBpcyBzdXBwb3NlZCB0byBiZSBhCgkgICJwbGFuZSBkZXNjcmlwdGlvbiBibG9jayIgYnV0IG5vIHNwZWNpZmljIHR5cGUgaXMgZ2l2ZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDcKCjIwMTQtMDYtMzAgMDA6MjI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIHNlZ21lbnRhdGlvbjogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSBpbiBmaW5hbGl6ZQoKMjAxNC0wNi0zMCAwMDoxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UgYW5kIHJlc2l6ZSBpbWFnZSB3aGVuIGNhcHMgY2hhbmdlCgoyMDE0LTA2LTMwIDAwOjE1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFJlbGVhc2UgY3ZJbWFnZXMgd2hlbiByZWxvYWRpbmcgdGVtcGxhdGVzIGFyZSBjaGFuZ2luZyBjYXBzCgoyMDE0LTA2LTMwIDAwOjEyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogUmVsZWFzZSBpbWFnZSB3aGVuIGNoYW5naW5nIGNhcHMgb3IgcmV1c2luZyB0aGUgZWxlbWVudAoKMjAxNC0wNi0zMCAwMDowOToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlCgoyMDE0LTA2LTMwIDAwOjA3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZQoJICBBbmQgYWxzbyByZWxlYXNlIGN2SW1hZ2VzIGFuZCBtZW1vcnkgc3RvcmFnZSB3aGVuIGNoYW5naW5nIGNhcHMgb3IgcmV1c2luZyB0aGUKCSAgZWxlbWVudC4KCjIwMTQtMDYtMzAgMDA6MDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogRG9uJ3QgbGVhayBjdkltYWdlcyB3aGVuIGNhcHMgYXJlIGNoYW5naW5nIG9yIHRoZSBlbGVtZW50IGlzIHJldXNlZAoKMjAxNC0wNi0yOSAyMzo0Mjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2Ugd2hlbiBmaW5hbGl6aW5nCgoyMDE0LTA2LTI5IDIzOjMzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogUmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnQKCjIwMTQtMDYtMjkgMjM6MzE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzCgoyMDE0LTA2LTI5IDIzOjIyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMjozMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IEZyZWUgdGV4dCBidWZmZXIgaW4gZmluYWxpemUKCjIwMTQtMDYtMjkgMjI6MjY6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIGZ1bmN0aW9uCgoyMDE0LTA2LTI5IDIyOjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVucmVmIHRoZSBkaXNwbGF5CgkgIEV2ZW4gaWYgd2UgZGlkbid0IGNyZWF0ZSBhIGNvbnRleHQgeWV0LgoKMjAxNC0wNi0yOSAyMjoyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSAgaW50ZXJzdWJzcmM6IGJhc2VzcmMgaXMgYWxyZWFkeSBjcmVhdGluZyBhIHBhZCBmb3IgdXMsIG5vIG5lZWQgdG8gZG8gaXQgdHdpY2UKCjIwMTQtMDYtMjkgMjI6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkgIHlhZGlmOiBiYXNldHJhbnNmb3JtIGlzIGNyZWF0aW5nIHBhZHMgZm9yIHVzIGFscmVhZHksIGRvbid0IGRvIGl0IHR3aWNlCgoyMDE0LTA2LTI5IDIxOjU3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMTo1MzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjE6MzQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBGaXggbWVtb3J5IGxlYWtzIGluIHRoZSB0ZXN0IGFuZCB0aGUgbGlicmFyeQoJICBDdXJyZW50bHkgdXNlcyBnX2JveGVkX2ZyZWUoKSBpbiB0aGUgdW5pdCB0ZXN0LCB0aGlzIG5lZWRzIHRvCgkgIGJlIGZpeGVkIHByb3Blcmx5IHdoZW4gY2xlYW5pbmcgdXAgdGhlIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yOSAyMTowNToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBzdGF0aWMgY2FwcyBhY3R1YWxseSBzdGF0aWMKCSAgT3RoZXJ3aXNlIHdlIGxlYWsgb25jZSBjYXBzIGluc3RhbmNlIG9uIGV2ZXJ5IGZ1bmN0aW9uIGNhbGwuCgoyMDE0LTA2LTI5IDIxOjAxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRnJlZSBwcm9wZXJ0eSBzdHJpbmdzIHdoZW4gZGlzcG9zaW5nIHRoZSBpbnN0YW5jZQoKMjAxNC0wNi0yOSAyMDo1ODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkgIGludGVyc3Vic2luay9zcmM6IEZyZWUgY2hhbm5lbCBzdHJpbmcgd2hlbiBmaW5hbGl6aW5nIHRoZSBpbnN0YW5jZQoKMjAxNC0wNi0yOSAyMDoxMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAyMDoxMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjggMjM6MjY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mIHVucG9ydGFibGUgJXp1CgoyMDE0LTA2LTI4IDE3OjAyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkgIGJhZHZpZGVvOiBVcGRhdGUgZGlzdCBnZW5lcmF0ZWQgT1JDIGZpbGVzCgoyMDE0LTA2LTI4IDE3OjAxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSAgYmFkdmlkZW86IFJlbmFtZSB2aWRlb2NvbnZlcnQgZnVuY3Rpb25zIHRvIHByZXZlbnQgY29uZmxpY3RzIHdpdGggc3RhdGljIGxpbmtpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ0MwoKMjAxNC0wNi0yOCAxMToyMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IGFnZ3JlZ2F0b3I6IGZpeCB2YXJpb3VzIGxlYWtzIGluIHRoZSB0ZXN0cwoKMjAxNC0wNi0yOCAwOTo0Mzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHRlc3RzOiBGaXggcGFkIGxlYWsKCSAgUmVtZW1iZXIgdG8gdW5yZWYgcmVxdWVzdGVkIHBhZAoKMjAxNC0wNi0yOCAwOTozNToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGZpeCBsZWFrIGFzIGdzdF9idWZmZXJfcmVwbGFjZSBhZGRzIGl0cyBvd24gcmVmCgkgIFNvIHVucmVmIHRoZSBidWZmZXIgYWZ0ZXIgdGhhdCBvdGhlcndpc2UgaXQgbGVha3MKCjIwMTQtMDYtMjggMDk6MzQ6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhbHdheXMgc3RvcmUgb3IgdW5yZWYgdGhlIGJ1ZmZlciBvbiB0aGUgX2NoYWluIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSBpdCBsZWFrcywgYW5kIGl0IGlzIHZlcnkgY29tbW9uIHRvIGdvIHRvIGZsdXNoaW5nIHdoZW4gdGhlCgkgIHBpcGVsaW5lIGlzIHN0b3BwaW5nLCBsZWFraW5nIGEgYnVmZmVyLgoKMjAxNC0wNi0yOCAwOTozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFsd2F5cyB1bnJlZiB0aGUgYnVmZmVyIG9uIF9maW5pc2ggZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIHRoZSB1c2VyIGRvZXNuJ3Qga25vdyBpZiBpdCB3YXMgdW5yZWYnZCBvciBub3QKCjIwMTQtMDYtMjggMDk6MzE6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZGlzcG9zZS9maW5hbGl6ZSBmdW5jdGlvbnMKCSAgQWRkIGZ1bmN0aW9ucyB0byBiZSBhYmxlIHRvIGNsZWFudXAgdGhlIG11dGV4L2NvbmQgYW5kIHBlbmRpbmcgYnVmZmVycwoJICBvbiB0aGUgYWdncmVnYXRvciBhbmQgb24gaXRzIHBhZAoKPT09IHJlbGVhc2UgMS4zLjkwID09PQoKMjAxNC0wNi0yOCAxMTozMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MAoKMjAxNC0wNi0yOCAxMToyNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTI4IDEwOjQzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogRmFpbCBpbiBzZXRfY2FwcygpIGlmIHRoZSBjYXBzIGNhbid0IGJlIHBhcnNlZAoKMjAxNC0wNi0yNyAxNzozNTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IGNhcHMgbGVhayBpbiB0ZXN0CgkgIFRoZSBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0IGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAgb2YgY2FwcwoKMjAxNC0wNi0yNyAxNzoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggY2FwcyBsZWFrcwoJICBGaXggbGVhayBvZiBjYXBzIGV2ZW50IGFuZCBvZiBjYXBzIG9iamVjdHMgd2hlbiBzZXR0aW5nIGNhcHMgb24KCSAgc2luayBhbmQgc3JjIHBhZHMKCjIwMTQtMDYtMjcgMTc6MDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdW5yZWYgZXZlbnRzIHdoZW4gZnJlZWluZyBldmVudHMgbGlzdAoJICBJbnN0ZWFkIG9mIGp1c3QgZmVlaW5nIHRoZSBxdWV1ZSBzdHJ1Y3RzCgoyMDE0LTA2LTI3IDE2OjU4OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogZml4IHNlZ21lbnQgZXZlbnQgbGVhawoJICBnc3RfZXZlbnRfcmVwbGFjZSBpbmNyZW1lbnRzIHRoZSByZWZjb3VudAoKMjAxNC0wNi0yNyAxMjo1MDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBhdm9pZCBjYWxsaW5nIGdfY29udmVydCB3aXRoIDAtc2l6ZWQgaW5wdXQKCSAgQXZvaWRzIGFuIGFzc2VydGlvbi4gVGhlIGNhY2hlZCBzdHJpbmcgd2lsbCBiZSBhc3NpZ25lZCBhbiBlbXB0eSBzdHJpbmcKCSAgYXMgaXRzIHZhbHVlIHdoZW4gc2l6ZSBpcyAwLgoKMjAxNC0wNi0yNyAxMDo1MzoyMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggbWVtb3J5IGxlYWsgaW4gR3N0SDI2NFBQUy4KCSAgVGhlIGdzdF9oMjY0X3BhcnNlX3BwcygpIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGFsbG9jYXRlcyB0aGUgc2xpY2UKCSAgZ3JvdXAgaWRzIG1hcCBhcnJheSwgc28gdGhhdCBuZWVkcyB0byBiZSBjbGVhcmVkIGJlZm9yZSBwYXJzaW5nIGEKCSAgbmV3IFBQUyBOQUwgdW5pdCBhZ2Fpbiwgb3Igd2hlbiBpdCBpcyBubyBsb25nZXIgbmVlZGVkLgoJICBMaWtld2lzZSwgYSBjbGVhbiBjb3B5IHRvIHRoZSBpbnRlcm5hbCBOQUwgcGFyc2VyIHN0YXRlIG5lZWRzIHRvIGJlCgkgIHBlcmZvcm1lZCBzbyB0aGF0IHRvIGF2b2lkIGEgZG91YmxlLWZyZWUgY29ycnVwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI4MgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDE3OjE4OjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggdHlwbyBpbiBHc3RIMjY0VlVJUGFyYW1zIGRlc2NyaXB0aW9uLgoKMjAxNC0wMS0zMSAxNzowNzo0MiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgUmVjb3ZlcnkgUG9pbnQgU0VJIG1lc3NhZ2UuCgkgIFRoZSByZWNvdmVyeSBwb2ludCBTRUkgbWVzc2FnZSBoZWxwcyBhIGRlY29kZXIgaW4gZGV0ZXJtaW5pbmcgaWYgdGhlCgkgIGRlY29kaW5nIHByb2Nlc3Mgd291bGQgcHJvZHVjZSBhY2NlcHRhYmxlIHBpY3R1cmVzIGZvciBkaXNwbGF5IGFmdGVyCgkgIHRoZSBkZWNvZGVyIGluaXRpYXRlcyByYW5kb20gYWNjZXNzIG9yIGFmdGVyIHRoZSBlbmNvZGVyIGluZGljYXRlcwoJICBhIGJyb2tlbiBsaW5rIGluIHRoZSBjb2RlZCB2aWRlbyBzZXF1ZW5jZS4KCSAgVGhpcyBpcyBub3QgdXNlZCBpbiB0aGUgaDI2NHBhcnNlIGVsZW1lbnQsIGJ1dCBpdCBjb3VsZCBoZWxwIGRlYnVnZ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM4MAoKMjAxNC0wMy0yNSAxMjowMTo1NSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBuYWxfcmVhZGVyX3NraXBfbG9uZygpIGhlbHBlci4KCSAgQWRkIG5hbF9yZWFkZXJfc2tpcF9sb25nKCkgaGVscGVyIGZ1bmN0aW9uIHRvIGFsbG93IGFuIGFyYml0cmFyeSBudW1iZXIKCSAgb2YgYml0cyB0byBiZSBza2lwcGVkLiBUaGUgZm9ybWVyIG5hbF9yZWFkZXJfc2tpcCgpIGZ1bmN0aW9uIGlzIHRvbwoJICBsaW1pdGVkIHRvIHRoZSBhY3R1YWwgY2FjaGUgc2l6ZS4KCSAgVXNlIHRoaXMgbmV3IGZ1bmN0aW9uIHRvIHNpbXBsaWZ5IGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWlfbWVzc2FnZSgpCgkgIGRlZmF1bHQgY2FzZSwgdGhhdCBza2lwcyB1bnN1cHBvcnRlZCBwYXlsb2Fkcy4KCSAgdjI6IG1hZGUgYXJncyBjb25zaXN0ZW50IGZyb20gaGVhZGVyIHRvIHNvdXJjZSBmaWxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI3IDAwOjA5OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYSByZWZjb3VudCBlcnJvciB3aGVuIGtlZXBpbmcgdGhlIGJ1ZmZlcgoJICBXZSB0YWtlIGEgcmVmIG9uIHRoZSBwYWQncyBidWZmZXIgYXQgdGhlIGJlZ2lubmluZyBzbyB3ZSBuZWVkIHRvCgkgIHVucmVmIHdoZW4gd2UgYXJlIGRvbmUgaW4gYWxsIGNhc2VzLgoKMjAxNC0wNi0yNiAxNTo1OTozNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDg6IG1vdmUgdXAgYnVpbHQtaW4gcmFuZ2UgZGVjb2RlciBwcml2YXRlIGRhdGEuCgkgIFVzZSB0aGUgZmlyc3QgX2dzdF9yZXNlcnZlZFtdwqBzbG90IHRvIGhvbGQgdGhlIGJ1aWx0LWluIHJhbmdlIGRlY29kZXIKCSAgcHJpdmF0ZSBkYXRhLiBUaGUgZmlyc3Qgc2xvdCB3YXMgZm9ybWVybHkgdGhlIGJ1ZmZlciBzaXplLCB3aGljaCB3YXMKCSAgdGhlbiBwcm9tb3RlZCB0byBzZW1pLXB1YmxpYyBuYW1lc3BhY2Ugd2hlbiBpdCBnb3QgaW50ZWdyYXRlZCBhcyBnaXQKCSAgY29tbWl0IDI5NDBhYzYuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMTE6MjU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmcmVlIHBpeGVsIHN3aXp6bGluZyBpbmZvcm1hdGlvbgoKMjAxNC0wNi0yNiAxMToxNTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiByZW1vdmUgcmVkdW5kYW50L3VudXNlZCBsb2NrCgkgIFVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZAoKMjAxNC0wNi0yNiAxMToxMjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiByZW1vdmUgcmVkdW5kYW50IGNyZWF0aW9uIGFuZCBmcmVlIG9mIEdQdHJBcnJheXMKCSAgQWxzbyBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA2LTI2IDEwOjU0OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHBsdWcgYSBtZW1vcnkgbGVhayBmb3IgdGhlIGNhcHMKCSAgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCgpIHRha2VzIGEgcmVmIG9uIHRoZSBjYXBzCgoyMDE0LTA2LTI2IDEwOjUzOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcGx1ZyBhIG1lbW9yeSBsZWFrIG9mIHRoZSBzcmNjYXBzCgoyMDE0LTA2LTI2IDEwOjMxOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXJjYXBzIGlmIGF2YWlsYWJsZQoKMjAxNC0wNi0yNiAxMDozMDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkgIGdsOiB1cGRhdGUgZ2xlczIgY29tcGF0YWJpbGl0eSBoZWFkZXIKCjIwMTQtMDYtMjUgMTQ6NTA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogVW5pZnkgQVBJIDogR3N0TXBlZ3RzIC8gZ3N0X21wZWd0c18gLyBHU1RfKl9NUEVHVFNfCgkgIEl0IHdhcyBwcmV2aW91c2x5IGEgbWl4IGFuZCBtYXRjaCBvZiBib3RoIHZhcmlhbnRzLCBpbnRyb2R1Y2luZyBqdXN0IHRvbyBtdWNoCgkgIGNvbmZ1c2lvbi4KCSAgVGhlIHByZWZpeCBhcmUgZnJvbSBub3cgb246CgkgICogR3N0TXBlZ3RzIGZvciBzdHJ1Y3R1cmVzIGFuZCB0eXBlIG5hbWVzIChhbmQgbm90IEdzdE1wZWdUcykKCSAgKiBnc3RfbXBlZ3RzXyBmb3IgZnVuY3Rpb25zIChhbmQgbm90IGdzdF9tcGVnX3RzXykKCSAgKiBHU1RfTVBFR1RTXyBmb3IgZW51bXMvZmxhZ3MgKGFuZCBub3QgR1NUX01QRUdfVFNfKQoJICAqIEdTVF9UWVBFX01QRUdUU18gZm9yIHR5cGVzIChhbmQgbm90IEdTVF9UWVBFX01QRUdfVFNfKQoJICBUaGUgcmF0aW9uYWxlIGZvciBjaG9zaW5nIHRoYXQgaXM6CgkgICogdGhlIG5hbWVzcGFjZSBpcyBzaG9ydGVyL2RpcmVjdCAoaXQncyBtcGVndHMsIG5vdCBtcGVnX3RzIG5vciBtcGVnLXRzKQoJICAqIHRoZSBuYW1lc3BhY2UgaXMgb25lIHdvcmQgdW5kZXIgR3N0CgkgICogaXQncyBzaG9ydGVyICh5YWgpCgoyMDE0LTA2LTI1IDE0OjEzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0c3NlY3Rpb246IEZyZWUgZGF0YSBpbiBlcnJvciBjYXNlcwoJICBEYXRhIGlzIG1hcmtlZCBhcyAidHJhbnNmZXIgZnVsbCIsIGlmIHdlIGhhdmUgYW4gZXJyb3Igd2UgbmVlZCB0bwoJICBmcmVlIGl0LgoKMjAxNC0wNi0yNSAyMjowNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHBhc3MgdGhyb3VnaCB0aGUgYWxsb2NhdGlvbiBxdWVyeSB3aGVuIGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgT3RoZXJ3aXNlIHR3byBHTCBlbGVtZW50cyBvbiBlaXRoZXIgc2lkZSB3aWxsIGZhaWwgdG8gdXNlIHRoZSBzYW1lCgkgIEdMIGNvbnRleHQuCgoyMDE0LTA2LTI1IDIxOjUwOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcHJlZmVyIHBhc3N0aHJvdWdoIGZvciBub24tc3lzbWVtIGNhcHMKCjIwMTQtMDYtMjUgMTg6MjM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbHNoYWRlcjogZW5hYmxlIGdsc2hhZGVyIG9uIEdMRVMyCgoyMDE0LTA2LTI0IDE5OjM3OjE3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiBkbyBwYXNzdGhyb3VnaCBvbiBzYW1lIGNhcHMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjQgMTk6MzU6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBoYW5kbGUgTlVMTCBkZWNpZGVfcXVlcnkgd2hpY2ggbWVhbnMgcGFzc3Rocm91Z2gKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjQgMTk6MjM6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwcmVwZW5kIGludGVyc2VjdGlvbiB0byBzcmMgY2FwcwoJICBQcmVmZXIgdG8gc3RheSBpbiB0aGUgc2FtZSBtZW1vcnkgc3BhY2UgaWYgcG9zc2libGUuCgkgIEFsc28gaXQgbGV0IGEgY2hhbmNlIHRvIGRvIHBhc3N0aHJvdWdoLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yMiAxMzoxNDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZW5hYmxlIGdsdmlkZW9taXhlciBvbiBHTEVTMgoKMjAxNC0wNi0yNCAyMjoxNTo1MyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFkZCBjb3B5cmlnaHQvbGljZW5zZSBzdHViIHRvIGhlYWRlcgoKMjAxNC0wNi0yNCAyMDo1Mjo1NCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTQtMDYtMjUgMTI6MDA6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGJhcyBvdXRwdXQgd2lkdGgvaGVpZ2h0IG9uIHRoZSBwYWQgcHJvcGVydGllcwoJICBBbGxvd3MgYXV0b21hdGljIG5lZ290aWF0aW9uIG9mIHRoZSBzaXplIGluIHRoZSBmb2xsb3dpbmcgY2FzZToKCSAgZ3N0LWxhdW5jaC0xLjAgZ2x2aWRlb21peGVyIG5hbWU9bSBzaW5rXzA6Onhwb3M9MCBzaW5rXzE6Onhwb3M9MzIwICEgZ2xpbWFnZXNpbmsgXAoJICB2aWRlb3Rlc3RzcmMgISBtLiBcCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPTEgISBtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxODc4CgoyMDE0LTA2LTI1IDEwOjE4OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBjbG9iYmVyIGFscmVhZHkgYWxsb2NhdGVkIHNoYWRlcgoKMjAxNC0wNi0yNCAxNjozMjoyMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSAgY3VybHM/ZnRwc2luazogRml4IG1lbW9yeSBsZWFrcyBkdWUgdG8gbmV3IGVycm9yIGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzQKCjIwMTQtMDYtMjQgMTY6MDQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IE1vcmUgZG9jIGZpeGVzCgkgIFN0aWxsIG5vdCBkb25lIDooCgoyMDE0LTA2LTI0IDE1OjQxOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IG1vcmUgYW5ub3RhdGlvbiBmaXhlcwoKMjAxNC0wNi0wMSAxMDo0NDoyMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGNoYW5nZSB0byBHVHlwZSBhbmQgZnJvbSBnY2hhcltdIHRvIGdjaGFyKgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI0IDIzOjUxOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFhJbml0VGhyZWFkcyB3aGVuIGVudiB2YXJpYWJsZSBpcyBzZXQKCSAgVGhpcyBpcyB0b28gYWxsb3cgZ3N0LWxhdW5jaCBkZWJ1Z2dpbmcgd2l0aCBtdWx0aXBsZSBHTCBjb250ZXh0cyBhcwoJICB3ZWxsIGFzIGF2b2lkaW5nIHNlZ2ZhdWx0aW5nIGlubm9jZW50IGd0aysgYXBwcyB0aGF0IGhhdmUgbm90IGNhbGxlZAoJICBYSW5pdFRocmVhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjUKCjIwMTQtMDYtMjQgMjM6MzM6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogYWRkIGEgc2Nhcnkgbm90ZSBhYm91dCBpbml0aWFsaXppbmcgdGhyZWFkIHN1cHBvcnQgZm9yIHRoZSB3aW5zeXMKCSAgV2UgY2Fubm90IGRvIGl0IGFzIHRoZSB3aW5zeXMgbWF5IGNyYXNoIGlmIHdlIGluaXRpYWxpemUgdG9vIGxhdGUuCgkgIEV4YW1wbGUsIEdMWCBjb250ZXh0cyB3aXRoIEludGVsIGRyaXZlcnM6CgkgIEludGVsIHJlcXVpcmVzIHRoZSBYIERpc3BsYXkgdG8gYmUgdGhlIHNhbWUgaW4gb3JkZXIgdG8gc2hhcmUgR0wKCSAgcmVzb3VyY2VzIGFjcm9zcyBHTCBjb250ZXh0cy4gIFRoZXNlIEdMIGNvbnRleHRzIGFyZSBnZW5lcmFsbHkKCSAgYWNjZXNzZWQgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcy4gIFdpdGhvdXQgd2luc3lzIHN1cHBvcnQgaXQgaXMKCSAgbmVhcmx5IGltcG9zc2libGUgdG8gZ3VhcmVudGVlIHRoYXQgY29uY3VycmVudCBhY2Nlc3Mgd2lsbCBub3QKCSAgb2NjdXIuICBUaGlzIGNvbmN1cnJlbnQgYWNjZXNzIGNvdWxkIHJlc3VsdCBpbiBjcmFzaGVzIG9yIGFib3J0aW9uCgkgIGJ5IHRoZSB3aW5zeXMgKHhjYikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjUKCjIwMTQtMDYtMjQgMTQ6MDU6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEZpeCBkZXNjcmlwdG9yX2Zyb21fZHZiX3NlcnZpY2UKCSAgVmFyaW91cyBsZWFrcy9vdmVyd3JpdGVzIGlzc3VlcwoKMjAxNC0wNi0yNCAxMzo0NjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSAgYWxsOiBEb24ndCBkZWNsYXJlIHZhcmlhYmxlcyBpbiAnZm9yJyBsb29wcwoKMjAxNC0wNi0yNCAxMToyNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJICBiYWRiYXNlOiBVc2UgdGhlIGNvcnJlY3QgTERGTEFHUyBmb3IgY3JlYXRpbmcgbGlicmFyaWVzCgkgIE90aGVyd2lzZSB3ZSB3b24ndCBlLmcuIGNyZWF0ZSAuZGxscyBvbiBXaW5kb3dzCgoyMDE0LTA2LTI0IDA4OjAxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL01ha2VmaWxlLmFtOgoJICBjb21wb3NpdG9yOiBGaXggTWFrZWZpbGUgQ0ZMQUdTL0xJQkFERCBvcmRlcmluZwoJICBXZSB3YW50IHRvIHVzZSB0aGUgbGlicmFyaWVzIGZyb20gLWJhZCBpZi93aGVuIHByZXNlbnQKCjIwMTQtMDYtMjMgMjA6NDQ6MjMgKzAyMDAgIEVyaWMgVHJvdXNzZXQgPGV0cm91c3NldEBhd294LmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZWxlYXNlIEQzRCBzdXJmYWNlcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAyNgoKMjAxNC0wNi0yMyAyMDozMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlc3NyYzogQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVsZW1lbnQgZmFjdG9yeSBzaG91bGQgYmUgU291cmNlLyBub3QgU3JjLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODExCgoyMDE0LTA2LTIzIDIyOjQwOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBjbG9iYmVyIGFscmVhZHkgaGVhcCBhbGxvY2F0ZWQgdmlkZW8gZnJhbWUKCSAgQ0lEICMgMTIyMzQ0MAoKMjAxNC0wNi0yMyAyMjozNjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IHVwIHRoZSBwYXJlbnQgY2hhaW5pbmcgZm9yIGRpc3Bvc2UgYW5kIGZpbmFsaXplCgoyMDE0LTA2LTIzIDIxOjQzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2x1cGxvYWRtZXRhOiByZWVuYWJsZSBHTE1lbW9yeSB1cGxvYWQgcGF0aAoKMjAxNC0wNi0yMiAyMzozOToxNCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBkaXNlcWMtc291cmNlIHByb3AgbmFtZSBpbiBleGFtcGxlCgoyMDE0LTA2LTIyIDIxOjA0OjQ1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IG5pdCBvbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTQtMDYtMjIgMjI6MDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlICRFUlJPUl9DRkxBR1MgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAtV2Vycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjkyCgoyMDE0LTA2LTE1IDIxOjE1OjUxICswMjAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgLVdlcnJvciB0byBtYWtlIHRoZSBpbmNsdWRlIEdMIGFuZCBHTEVTMiBoZWFkZXIgY2hlY2sgZ3VhcmFudGVlZCBmYXRhbAoJICBDbGFuZyB3aWxsIG9ubHkgZ2l2ZSBhIHdhcm5pbmcgZm9yIHRoZSByZWRlZmluaXRpb24gb2YgdHlwZWRlZiBHTGVudW0uCgkgIFNpbmNlIG1hc3RlciBpcyBidWlsZCB3aXRoIC1XZXJyb3IgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIGJ1aWxkIGZhaWx1cmUKCSAgbGF0ZXIgaW4gdGhlIGdsIHBsdWdpbi4gQWRkIC1XZXJyb3IgdG8gdGhlIHRlc3QsIHNvIHRoZSB0ZXN0IHJlc3VsdCBpcyBhcwoJICBleHBlY3RlZC4gVGhpcyB3aWxsIGFsbG93IHRoZSBnbCBwbHVnaW5zIHRvIGJ1aWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTY5MgoKMjAxNC0wNi0xNyAxNDoyMzo0MyArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBmaXggaHZjQyBzaXplIGNoZWNrCgkgIEluIElTTy9JRUMgMTQ0OTYtMTUsIHRoZSBtaW5pbXVtIHNpemUgb2YgYSBIRVZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQKCSAgKGkuZS4sIHRoZSBjb250ZW50cyBvZiBhIGh2Y0MgYm94KSBpcyAyMyBieXRlcy4gSG93ZXZlciwgdGhlIGNvZGUgaW4gaDI2NXBhcnNlCgkgIGNoZWNrcyB0aGF0IHRoZSBzaXplIG9mIHRoaXMgZGF0YSBpcyBub3QgbGVzcyB0aGFuIDI4IGJ5dGVzLCBhbmQgaXQgcmVmdXNlcyB0bwoJICBhY2NlcHQgY2FwcyBpZiB0aGUgY2hlY2sgZmFpbHMuIFRoZSByZXN1bHQgaXMgdGhhdCBzdGFuZGFyZHMtY29uZm9ybWFudCBzdHJlYW1zCgkgIHRoYXQgZG9uJ3QgY2FycnkgYW55IHBhcmFtZXRlciBzZXRzIGluIHRoZWlyIGh2Y0MgYm94ZXMgd29uJ3QgcGxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE3ODMKCjIwMTQtMDYtMTkgMjA6MTU6MDUgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIG1vZHBsdWc6IGRvbid0IGhhcmRjb2RlIGMrKyBzdGFuZGFyZCBsaWJyYXJ5CgkgIEZpeGVzIGJ1aWxkIHdpdGggbGx2bSBvbiBGcmVlQlNELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTkzMAoKMjAxNC0wNi0yMiAxOTozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjMgPT09CgoyMDE0LTA2LTIyIDE5OjIyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMwoKMjAxNC0wNi0yMiAxOTowOTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTIyIDE4OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogTmVlZCB0byBsaW5rIHRvIG5ldyBiYWR2aWRlbyBsaWJyYXJ5IGZvciB0aGUgdmlkZW8gYWdncmVnYXRvciBiYXNlIGNsYXNzCgoyMDE0LTA2LTIyIDE4OjUxOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogTGluayB3aXRoICQoTElCTSkgZm9yIHJpbnQoKSBhbmQgb3RoZXJzCgoyMDE0LTA2LTIyIDE0OjI1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby91ay5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDYtMjAgMDg6MjA6NTUgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEZpeCBkZWNyeXB0aW5nIGZyYWdtZW50cwoJICBPbmx5IHJlc2V0IHRoZSBkZWNyeXB0aW9uIGVuZ2luZSBvbiB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQsCgkgIG5vdCBhZ2FpbiBmb3IgdGhlIHNlY29uZCBidWZmZXIuICBUaGlzIGZpeGVzIGNvcnJ1cHRpbmcgdGhlIHNlY29uZAoJICBidWZmZXIgb2YgYSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk2OAoKMjAxNC0wNi0yMiAxNDoxMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogVXNlIHRoZSBwYWQgcGFzc2VkIHRvIHVzIGRpcmVjdGx5IGZvciBkZWZhdWx0IGV2ZW50IGhhbmRsaW5nCgoyMDE0LTA2LTE5IDE3OjI0OjI2ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBkZWZhdWx0IHF1ZXJ5IHNob3VsZCBiZSBmb3J3YXJkIG9uIHRhcmdldCBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTg5OQoKMjAxNC0wNi0yMiAxMjozMjozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB1cCBjb21tZW50CgoyMDE0LTA2LTIyIDA5OjQ0OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIGdsOiBtb3ZlIGdsZXMyIGNvbXBhdCBoZWFkZXIgdG8gZ2xwcm90b3R5cGVzCgoyMDE0LTA2LTIyIDA5OjM2OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbGJ1ZmZlcnBvb2w6IHByb3ZpZGUgYSBjb25zaXN0ZW50IEFQSSByZWdhcmRsZXNzIG9mIHBsYXRmb3JtCgoyMDE0LTA2LTIyIDA5OjIyOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJICBnbDogbWFyayBsaWJyYXJ5IGFzIEFQSSB1bnN0YWJsZQoKMjAxNC0wNi0yMSAxNjo1NzozNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBsaWJzOnVyaWRvd25sb2FkZXI6IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1Mjo1MSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIGxpYnM6dmlkZW86IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1MTowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgbGliczpiYXNlOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0d2F5bGFuZHNpbmsuYzo0ODA6MTQ6IGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbiBvZgoJICB0eXBlICdlbnVtIHdsX3NobV9mb3JtYXQnIGlzIGFsd2F5cyBmYWxzZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZV0KCSAgaWYgKGZvcm1hdCA9PSAtMSkKCSAgfn5+fn5+IF4gIH5+CgoyMDE0LTA2LTIxIDE2OjU1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXBkYXRlIGNvbW1lbnRzIHRvIHRoZSBuZXcgcmVhbGl0eSBhbmQgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDYtMjEgMTU6NDA6NTggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgbGliczp2aWRlbzogQWRkIC1JJCh0b3Bfc3JjZGlyKS9nc3QtbGlicyB0byBmaXggZGlzdGNoZWNrCgoyMDE0LTA2LTIxIDE1OjI2OjE0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSAgbGliczpiYXNlOiBGaXggaW5jbHVkZWRpcgoKMjAxNC0wNi0yMSAxMzo0NToxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDE0LTA2LTIwIDIyOjAyOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgbGliczogdmlkZW9hZ2dyZWdhdG86IERvIG5vdCBpbXBvcnQgdmlkZW9jb252ZXJ0LmggaW4gZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmgKCSAgKyBBZGQgYSBQcml2YXRlIHN0cnVjdHVyZSB0byB0aGUgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkCgkgICsgQWRkIHNvbWUgcGFkZGluZwoKMjAxNC0wNi0yMCAyMToxODo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBGaW5hbCBmaXggY29tcGlsYXRpb24KCjIwMTQtMDYtMjAgMjA6MTE6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHJlbW92ZSBnc3QtbGlicy9nc3QvdmlkZW8vIGZyb20gQ1JVRlRfRElSUwoJICBJdCB3YXMgZ29uZSwgYnV0IG5vdyBpdCdzIGJhY2suCgoyMDE0LTA2LTIwIDIwOjIzOjMwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGxpYnM6dmlkZW86Rml4IGNvbXBpbGF0aW9uCgoyMDE0LTA2LTIwIDExOjEwOjQ1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOmdsdmlkZW9taXhlcjogQWRkIHRoZSBDb21wb3NpdG9yIGluIHRoZSBlbGVtZW50IG1ldGFkYXRhIGNsYXNzCgkgIFNvIGl0IGlzIHBvc3NpYmxlIHRvIHBpY2sgb25lIGNvbXBvc2l0aW5nIGVsZW1lbnQgZnJvbSB0aGUgcmVnaXN0cnkKCjIwMTQtMDUtMjIgMTk6NDY6MDIgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmM6CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmg6CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kb3JjLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0Lmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEFkZCBhIG5ldyBjb21wb3NpdG9yIGJhc2VkIG9uIHRoZSBuZXcgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCSAgSXQgaXMgYSByZXBsYWNlbWVudCBmb3IgdmlkZW9taXhlciB3aXRoIGEgc2ltaWxhcmUgQVBJCgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTkKCjIwMTQtMDYtMTAgMTE6MjY6NTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgZ2w6IFBvcnQgZ2xtaXhlciB0byB0aGUgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2VjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTIxCgoyMDE0LTA2LTAzIDE5OjAwOjM0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgYSBuZXcgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2VjbGFzcwoJICBUaGlzIGJhc2UgY2xhc3MgaGFzIGJlZW4gYWRkZWQgdG8gYSBuZXdseSBjcmVhdGVkIGxpYmdzdGJhZHZpZGVvIGxpYnJhcnkKCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxOAoKMjAxNC0wNS0yMiAxOTo0NDozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgbmV3IEdzdEFnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBUaGlzIGJhc2UgY2xhc3MgaGFzIGJlZW4gYWRkZWQgdG8gYSBuZXdseSBjcmVhdGVkIGxpYmdzdGJhZGJhc2UgbGlicmFyeQoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE3CgoyMDE0LTA2LTIwIDE0OjU5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhciBleGNlcHRpb25zIGFsc28gd2hlbiB3ZSBkaWQgbm90IHByb3ZpZGUgYSBHRXJyb3IKCjIwMTQtMDYtMTkgMTE6MjY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFsc28gZG9uJ3QgcmVwb3J0IHdhcm5pbmdzIGZvciBxdWV1ZS9kZXF1ZXVlIGVycm9ycyBkdXJpbmcgZmx1c2hpbmcgaW4gZXJyb3IgY2FzZXMKCSAgLi4uIGFuZCBmaXggYSBjYXNlIHdoZXJlIHdlIHJlbGVhc2VkIGFuIGludmFsaWQgYnVmZmVyIGluZGV4LgoKMjAxNC0wNi0xOSAxMToxNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgY29uc2lkZXIgaW5wdXQgYnVmZmVyIHF1ZXVlaW5nIGZhaWx1cmVzIGFzIGFuIGVycm9yIGR1cmluZyBmbHVzaGluZwoKMjAxNC0wNi0xOSAxMToxMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYW4gdXAgZmx1c2hpbmcgY29kZSBhbmQgZG9uJ3QgY29uc2lkZXIgb3V0cHV0IGJ1ZmZlciByZWxlYXNpbmcgZmFpbHVyZXMgZHVyaW5nIGZsdXNoaW5nIGFzIGFuIGVycm9yCgoyMDE0LTA2LTE5IDA5OjU3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBJbmNsdWRlIHRoZSBkZWJ1ZyBzdHJpbmcgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIHdlIHByb3BhZ2F0ZSBmcm9tIHQgc291cmNlCgoyMDE0LTA2LTE5IDA5OjU2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5jbHVkZSB0aGUgZGVidWcgc3RyaW5nIGluIHRoZSBlcnJvciBtZXNzYWdlcyB3ZSBwcm9wYWdhdGUgZnJvbSB0aGUgc291cmNlCgoyMDE0LTA2LTE5IDA5OjU0OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5jbHVkZSBhIG1vcmUgZGVzY3JpcHRpdmUgZXJyb3IgbWVzc2FnZQoKMjAxNC0wNi0xOSAwOTo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUHJvcGFnYXRlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHNvdXJjZSBlbGVtZW50IHVwIGluIHRoZSBoaWVyYXJjaHkKCSAgSW5zdGVhZCBvZiBpbnZlbnRpbmcgb3VyIG93biBnZW5lcmljIGVycm9yIHN0cmluZ3Mgd2hpY2ggYXJlIG1vc3RseSB1c2VsZXNzLgoKMjAxNC0wNi0xOSAwOTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERpcmVjdGx5IGNvbnZlcnQgR0Vycm9ycyB0byBlcnJvciBtZXNzYWdlcwoJICBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgbGVhayBkZWJ1ZyBpbmZvcm1hdGlvbiBpbnRvIHRoZSBhY3R1YWwKCSAgZXJyb3IgbWVzc2FnZSBzdHJpbmcgYW5kIGtlZXAgaXQgYmVoaW5kIHRoZSBkZWJ1ZyBzdHJpbmcuCgoyMDE0LTA2LTE3IDExOjQ4OjEyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgZ3N0c3J0cGVuYzogdW5yZWYgZXZlbnQgd2hlbiBuZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OAoKMjAxNC0wNi0xOCAxNTozNjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGltcHJvdmUgcHJvcGVydHkgY29tbWVudHMKCSAgQWRkIGEgTm90ZSB0byB0aGUgYWxsb3ctcmVwZWF0LXR4IHByb3BlcnR5IGJlY2F1c2UgaXQgaXMgcG90ZW50aWFsbHkKCSAgaW5zZWN1cmUgd2hlbiB1c2VkIGluY29ycmVjdGx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzE0CgoyMDE0LTA2LTEzIDExOjE1OjI1ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBnc3RzcnRwZW5jOiBhZGQgYWxsb3ctcmVwZWF0LXR4IHByb3BlcnR5CgoyMDE0LTA1LTI3IDEyOjQwOjA5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGFkZCBlbGVtZW50IGZvciB0cmFuc2Zvcm1pbmcgdmlkZW8gZ2VvbWV0cnkKCSAgKiBhZGQgZ3JhcGhlbmUgYXMgc29mdCBkZXBlbmRlbmN5IGZvciBsaW5lYXIgYWxnZWJyYQoKMjAxNC0wNi0xOCAxMDoxMzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkgIHBubTogbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUyMwoKMjAxNC0wNi0xNyAyMzoyMDowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBkb24ndCBzZWdmYXVsdCBuZWVkbGVzc2x5IHdpdGggR0xFUzIKCSAgZ3N0X2dsX2ZyYW1lYnVmZmVyX3VzZV92MiB3YXMgdXNpbmcgYSBmdW5jdGlvbiB0aGF0IGlzIG5vdCBhdmFpbGFibGUKCSAgd2l0aCBHTEVTMgoKMjAxNC0wNi0xNiAyMDozNjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsZmlsdGVyc2hhZGVyOiBwb3J0IHRvIEdMRVMyCgkgIFByb3ZpZGUgYSB0aW1lIHZhcmlhYmxlCgoyMDE0LTA2LTE3IDEzOjQ4OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZXhwb3J0cyBmb3IgY2hhbmdlZCBoMjY0IGNvZGVjIHBhcnNlciBBUEkKCjIwMTQtMDYtMTcgMTI6NTA6MTcgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm1kZWM6IEFkZGVkIFBCTSBTdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MjMKCjIwMTQtMDYtMTcgMTM6MTU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IGFkZCB1bnN0YWJsZSBBUEkgZ3VhcmRzIHRvIHdheWxhbmQgbGlicmFyeSBoZWFkZXIKCjIwMTQtMDYtMTcgMTM6MTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IGZpeCB1bmluc3RhbGxlZCBidWlsZCBvZiBuZXcgd2F5bGFuZCBsaWIKCjIwMTQtMDYtMTYgMTg6NTM6NTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbmsvd2xkaXNwbGF5OiB2ZXJpZnkgdGhhdCBhbGwgdGhlIHJlcXVpcmVkIGludGVyZmFjZXMgaGF2ZSBiZWVuIGZvdW5kIG9uIHRoZSBjb21wb3NpdG9yCgkgIFRoaXMgYWxsb3dzIHdheWxhbmRzaW5rIHRvIGZhaWwgZ3JhY2VmdWxseSBiZWZvcmUgZ29pbmcgdG8gUkVBRFkKCSAgaW4gY2FzZSBvbmUgb2YgdGhlIHJlcXVpcmVkIGludGVyZmFjZXMgZG9lcyBub3QgZXhpc3QuIE5vdCBhbGwKCSAgaW50ZXJmYWNlcyBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgbW9kZXMgb2Ygb3BlcmF0aW9uLCBidXQgaXQgaXMKCSAgYmV0dGVyIGltaG8gdG8gZmFpbCBiZWZvcmUgZ29pbmcgdG8gUkVBRFkgaWYgYXQgbGVhc3Qgb25lIGZlYXR1cmUKCSAgaXMgbm90IHN1cHBvcnRlZCwgdGhhbiB0byBmYWlsIGFuZC9vciBjcmFzaCBhdCBzb21lIGxhdGVyIHBvaW50LgoJICBJbiB0aGUgZnV0dXJlIHdlIG1heSB3YW50IHRvIHJlbGF4IHRoaXMgcmVzdHJpY3Rpb24gYW5kIGFsbG93IGNlcnRhaW4KCSAgaW50ZXJmYWNlcyBub3QgdG8gYmUgcHJlc2VudCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIGZvciBleGFtcGxlCgkgIGlmIHRoZXJlIGlzIGFuIGFsdGVybmF0aXZlIHNpbWlsYXIgaW50ZXJmYWNlIGF2YWlsYWJsZSAoZm9yIGluc3RhbmNlLAoJICB4ZGdfc2hlbGwgaW5zdGVhZCBvZiB3bF9zaGVsbCksIGJ1dCBmb3Igbm93IGxldCdzIHJlcXVpcmUgdGhlbSBhbGwuCgkgIFdlc3RvbiBzdXBwb3J0cyB0aGVtIGFsbCwgd2hpY2ggaXMgZW5vdWdoIGZvciB1cyBub3cuIE90aGVyIGNvbXBvc2l0b3JzCgkgIHNob3VsZCByZWFsbHkgaW1wbGVtZW50IHRoZW0gaWYgdGhleSBkb24ndCBhbHJlYWR5LiBJIGRvbid0IGxpa2UgdGhlCgkgIGlkZWEgb2Ygc3VwcG9ydGluZyBtYW55IGRpZmZlcmVudCBjb21wb3NpdG9ycyB3aXRoIGRpZmZlcmVudCBzZXRzIG9mCgkgIGludGVyZmFjZXMgaW1wbGVtZW50ZWQuIHdsX3N1YmNvbXBvc2l0b3IsIHdsX3NobSBhbmQgd2xfc2NhbGVyIGFyZQoJICByZWFsbHkgZXNzZW50aWFsIGZvciBoYXZpbmcgYSBuaWNlIHZpZGVvIHNpbmsuIEVub3VnaCBzYWlkLgoKMjAxNC0wNi0xNiAxODowMzo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIGJ1ZmZlciBmcm9tIHRoZSBzdXJmYWNlIHdoZW4gZ29pbmcgUEFVU0VEIC0+IFJFQURZCgkgIFRoaXMgZXNzZW50aWFsbHkgaGlkZXMgdGhlIHZpZGVvIGFuZCBhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvCgkgIHBvdGVudGlhbGx5IGRyYXcgYSBibGFjayBiYWNrZ3JvdW5kIG9yIHdoYXRldmVyIGVsc2UgaXQgd2FudHMuCgkgIFRoaXMgYWxsb3dzIHRvIGRpZmZlcmVudGlhdGUgdGhlICJwYXVzZWQiIGFuZCAic3RvcHBlZCIgbW9kZXMKCSAgZnJvbSB0aGUgdXNlcidzIHBvaW50IG9mIHZpZXcuCgkgIEFsc28gcmV3b3JkZWQgYSBjb21tZW50IHRoZXJlIHRvIG1ha2UgbXkgdGhpbmtpbmcgbW9yZSBjbGVhciwKCSAgc2luY2UgdGhlICJyZWFzb24gZm9yIGtlZXBpbmcgdGhlIGRpc3BsYXkgYXJvdW5kIiBpcyBub3QgcmVhbGx5CgkgIHRoZSBleHBvc2VkKCkgY2FsbHMsIGFzIHRoZXJlIGlzIG5vIGJ1ZmZlciBzaG93biBpbiBSRUFEWS9OVUxMCgkgIGFueW1vcmUuCgoyMDE0LTA2LTEyIDE3OjQzOjQwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC5wYy5pbjoKCSAgd2F5bGFuZDogaW5zdGFsbCAucGMgZmlsZQoKMjAxNC0wNi0xMyAxNjozNzozOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiBkbyBub3QgY29tbWl0IGEgcmVzaXplIHdoZW4gaXQgaGFwcGVucyBkdWUgdG8gYSB2aWRlbyBpbmZvIGNoYW5nZQoJICAxKSBXZSBrbm93IHRoYXQgZ3N0X3dheWxhbmRfc2lua19yZW5kZXIoKSB3aWxsIGNvbW1pdCB0aGUgc3VyZmFjZQoJICBpbiB0aGUgc2FtZSB0aHJlYWQgYSBsaXR0bGUgbGF0ZXIsIGFzIGdzdF93bF93aW5kb3dfc2V0X3ZpZGVvX2luZm8oKQoJICBpcyBhbHdheXMgY2FsbGVkIGZyb20gdGhlcmUsIHNvIHdlIGNhbiBzYXZlIHRoZSBjb21wb3NpdG9yIGZyb20KCSAgc29tZSBleHRyYSBjYWxjdWxhdGlvbnMuCgkgIDIpIFdlIHNob3VsZCBub3QgY29tbWl0IGEgcmVzaXplIHdpdGggdGhlIG5ldyB2aWRlbyBpbmZvIHdoaWxlIHdlIGFyZSBzdGlsbAoJICBzaG93aW5nIHRoZSBidWZmZXIgb2YgdGhlIHByZXZpb3VzIHZpZGVvLCB3aXRoIHRoZSBvbGQgY2FwcywgYXMgdGhhdAoJICB3b3VsZCBwcm9iYWJseSBiZSBhIHZpc2libGUgcmVzaXplIGdsaXRjaC4KCjIwMTQtMDYtMTMgMTY6Mjk6MzIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogdGFrZSBpbnRvIGFjY291bnQgdGhlIHZpZGVvIGFzcGVjdCByYXRpbyB3aGVuIGRldGVybWluaW5nIHRoZSBzaXplIG9mIHRoZSBzdXJmYWNlCgoyMDE0LTA2LTEzIDE1OjU4OjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGltcHJvdmUgdGhlIHdheSB0aGUgdmlkZW8gc2l6ZSBpcyBwYXNzZWQgdG8gd2x3aW5kb3cgYW5kIGFsc28gaW1wcm92ZSB0aGUgY29kZSBmb3Igd2luZG93IGNyZWF0aW9uCgoyMDE0LTA2LTA2IDEyOjQ5OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiByZW5hbWUgcGF1c2UvcmVzdW1lX3JlbmRlcmluZyB0byBiZWdpbi9lbmRfZ2VvbWV0cnlfY2hhbmdlIGFuZCB1cGRhdGUgdGhlaXIgZG9jdW1lbnRhdGlvbgoKMjAxNC0wNS0yOSAxMjoyNzo0NiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIG1hbnVhbCBzeW5jaHJvbml6YXRpb24gZnJvbSBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIGFuZCB1c2Ugc3Vic3VyZmFjZSBzeW5jL2Rlc3luYwoJICBQcmV2aW91c2x5LCBpbiBvcmRlciB0byBjaGFuZ2UgdGhlIHN1cmZhY2Ugc2l6ZSB3ZSBoYWQgdG8gbGV0IHRoZSBwaXBlbGluZQoJICByZWRyYXcgaXQsIHdoaWNoIGF0IGZpcnN0IGFsc28gaW52b2x2ZWQgcmUtbmVnb3RpYXRpbmcgY2FwcywgZXRjLCBzbyBhCgkgIHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBwaXBlbGluZSB3YXMgYWJzb2x1dGVseSBuZWNlc3NhcnkuCgkgIEF0IHRoZSBtb21lbnQsIHdlIGFyZSB1c2luZyB3bF92aWV3cG9ydCwgd2hpY2ggc2VwYXJhdGVzIHRoZSBzdXJmYWNlIHNpemUKCSAgZnJvbSB0aGUgYnVmZmVyIHNpemUgYW5kIGl0IGFsc28gYWxsb3dzIHVzIHRvIGNvbW1pdCBhIHN1cmZhY2UgcmVzaXplIHdpdGhvdXQKCSAgYXR0YWNoaW5nIGEgbmV3IGJ1ZmZlciwgc28gaXQgaXMgZW5vdWdoIHRvIGp1c3QgZG86CgkgIGdzdF93YXlsYW5kX3ZpZGVvX3BhdXNlX3JlbmRlcmluZygpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9zeW5jKCkKCSAgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfcG9zaXRpb24oKQoJICB3bF92aWV3cG9ydF9zZXRfZGVzdGluYXRpb24oKQoJICB3bF9zdXJmYWNlX2RhbWFnZSgpCgkgIHdsX3N1cmZhY2VfY29tbWl0KCkKCSAgLi4uIGNvbW1pdCB0aGUgcGFyZW50IHN1cmZhY2UgLi4uCgkgIGdzdF93YXlsYW5kX3ZpZGVvX3Jlc3VtZV9yZW5kZXJpbmcoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfZGVzeW5jKCkKCSAgVGhpcyBpcyBlbm91Z2ggdG8gc3luY2hyb25pemUgYSBzdXJmYWNlIHJlc2l6ZSBhbmQgdGhlIHBpcGVsaW5lIGNhbiBjb250aW51ZQoJICBkcmF3aW5nIGluZGVwZW5kZW50bHkuIE5vdyBvZiBjb3Vyc2UsIHRoZSBuYW1lcyBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIGFyZQoJICBiYWQuIEkgd2lsbCByZW5hbWUgdGhlbSBpbiBhbm90aGVyIGNvbW1pdC4KCjIwMTQtMDYtMDYgMTI6MTA6MjQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcHJvdGVjdCBhY2Nlc3MgdG8gcHJvcGVydGllcyB3aXRoIHRoZSBPQkpFQ1RfTE9DSwoKMjAxNC0wNi0wNiAxMjowNDo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBwcm90ZWN0IGFjY2VzcyB0byB0aGUgZGlzcGxheSB3aXRoIGEgbmV3IGRpc3BsYXlfbG9jawoJICBBY2Nlc3MgaXMgcHJvdGVjdGVkIG9ubHkgZm9yIHNldHRpbmcvY3JlYXRpbmcvZGVzdHJveWluZyB0aGUgZGlzcGxheQoJICBoYW5kbGUuIHNldF9jYXBzKCkgZm9yIGV4YW1wbGUgaXMgbm90IHByb3RlY3RlZCBiZWNhdXNlIGl0IGNhbm5vdCBiZQoJICBjYWxsZWQgYmVmb3JlIGNoYW5naW5nIHN0YXRlIHRvIFJFQURZLCBhdCB3aGljaCBwb2ludCB0aGVyZSB3aWxsIGJlCgkgIGEgZGlzcGxheSBoYW5kbGUgYXZhaWxhYmxlIGFuZCB3aGljaCBjYW5ub3QgY2hhbmdlIGJ5IGFueSB0aHJlYWQgYXQKCSAgdGhhdCBwb2ludAoKMjAxNC0wNi0wNiAxMDozNToyMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIE9CSkVDVF9MT0NLIGZyb20gc2V0X2NhcHMoKQoJICBJdCdzIG5vdCByZWFsbHkgbmVjZXNzYXJ5LCB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWQgZnJvbSBHc3RCYXNlU2luayB3aXRoIHRoZSBQUkVST0xMX0xPQ0sKCjIwMTQtMDUtMjggMTM6MTA6NDMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogUmVwbGFjZSB0aGUgT0JKRUNUX0xPQ0sgd2l0aCBhIHByaXZhdGUgcmVuZGVyX2xvY2sgdG8gbG9jayByZW5kZXIgb3BlcmF0aW9ucwoJICBUaGlzIGlzIGJlY2F1c2U6CgkgICogR1NUX0VMRU1FTlRfV0FSTklORy9FUlJPUiBkbyBsb2NrIHRoZSBPQkpFQ1RfTE9DSyBhbmQgd2UgZGVhZGxvY2sgaW5zdGFudGx5CgkgICogSW4gZnV0dXJlIGNvbW1pdHMgSSB3YW50IHRvIG1ha2UgdXNlIG9mIEdzdEJhc2VTaW5rIGZ1bmN0aW9ucyB0aGF0IGFsc28KCSAgbG9jayB0aGUgT0JKRUNUX0xPQ0sgaW5zaWRlIHRoaXMgY29kZQoKMjAxNC0wNS0yNiAxNDoxMzo1NiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBtb3ZlIHN1cmZhY2UgcmVzaXppbmcgbG9naWMgdG8gdGhlIEdzdFdsV2luZG93IGFuZCBtYWtlIGl0IGJlIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZAoKMjAxNC0wNS0yNiAxMjo1NDoxMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBjbGVhbnVwIEdzdFdsV2luZG93IGEgYml0IGFmdGVyIHRoZSBvdmVybGF5aW5nIHNlbWFudGljcyBjaGFuZ2UKCSAgKiBvd25fc3VyZmFjZSBpcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgKiBnc3Rfd2xfd2luZG93X2Zyb21fc3VyZmFjZSBpcyBub3QgdXNlZCBleHRlcm5hbGx5IGFueW1vcmUKCSAgKiBtYW55IGluaXRpYWxpemF0aW9ucyB0byAwIGFyZSBub3QgbmVlZGVkIChHT2JqZWN0IGRvZXMgdGhlbSkKCjIwMTQtMDUtMjYgMTE6MzQ6NTEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogcmVtb3ZlIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUoKQoJICBOb3QgbmVlZGVkIGFueW1vcmUsIHNpbmNlIHdlIHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpCgoyMDE0LTA1LTIzIDE4OjE4OjMyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogY3JlYXRlIGFuZCBtYWludGFpbiB0aGUgc3Vic3VyZmFjZSBpbnNpZGUgdGhlIHNpbmsKCSAgVGhpcyBtZWFucyB0aGF0IHRoZSBnaXZlbiBzdXJmYWNlIGluIHNldF93aW5kb3dfaGFuZGxlIGNhbiBub3cgYmUKCSAgdGhlIHdpbmRvdydzIHRvcC1sZXZlbCBzdXJmYWNlIG9uIHRvcCBvZiB3aGljaCB3YXlsYW5kc2luayBjcmVhdGVzCgkgIGl0cyBvd24gc3Vic3VyZmFjZSBmb3IgcmVuZGVyaW5nIHRoZSB2aWRlby4KCSAgVGhpcyBoYXMgbWFueSBhZHZhbnRhZ2VzOgoJICAqIFdlIGNhbiBtYWludGFpbiBhc3BlY3QgcmF0aW8gYnkgb3ZlcmxheWluZyB0aGUgc3Vic3VyZmFjZSBpbgoJICB0aGUgY2VudGVyIG9mIHRoZSBnaXZlbiBhcmVhIGFuZCBmaWxsIHRoZSBwYXJlbnQgc3VyZmFjZSdzIGFyZWEKCSAgYmxhY2sgaW4gY2FzZSB3ZSBuZWVkIHRvIGRyYXcgYm9yZGVycyAoaW5zdGVhZCBvZiBhZGRpbmcgYW5vdGhlcgoJICBzdWJzdXJmYWNlIGluc2lkZSB0aGUgc3Vic3VyZmFjZSBnaXZlbiBmcm9tIHRoZSBhcHBsaWNhdGlvbiwKCSAgc28sIGxlc3Mgc3Vic3VyZmFjZXMpCgkgICogV2UgY2FuIG1vcmUgZWFzaWx5IHN1cHBvcnQgdG9vbGtpdHMgd2l0aG91dCBzdWJzdXJmYWNlcyAoc2VlIGd0aykKCSAgKiBXZSBjYW4gZ2V0IHByb3Blcmx5IHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZQoJICBhcyBvdXIgYXBpIHRvIHNldCB0aGUgdmlkZW8gYXJlYSBzaXplIGZyb20gdGhlIGFwcGxpY2F0aW9uIGFuZAoJICB0aGVyZWZvcmUgcmVtb3ZlIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUuCgoyMDE0LTA1LTIzIDEzOjA5OjI3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IGFkZCBwdWJsaWMgQVBJIGZvciBjcmVhdGluZyAmIHVzaW5nIHRoZSBkaXNwbGF5IGhhbmRsZSBHc3RDb250ZXh0CgoyMDE0LTA1LTIxIDE4OjI3OjI4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogZ2V0IHRoZSBleHRlcm5hbCBkaXNwbGF5IGhhbmRsZSB1c2luZyBHc3RDb250ZXh0CgkgIFRoaXMgZHJvcHMgdGhlIHVnbHkgR3N0V2F5bGFuZFdpbmRvd0hhbmRsZSBzdHJ1Y3R1cmUgYW5kIGlzIG11Y2gKCSAgbW9yZSBlbGVnYW50IGJlY2F1c2Ugd2UgY2FuIG5vdyByZXF1ZXN0IHRoZSBkaXNwbGF5IHNlcGFyYXRlbHkKCSAgZnJvbSB0aGUgd2luZG93IGhhbmRsZS4gVGhlcmVmb3JlIHRoZSB3aW5kb3cgaGFuZGxlIGNhbiBiZSByZXF1ZXN0ZWQKCSAgaW4gcmVuZGVyKCksIGkuZS4gd2hlbiBpdCBpcyByZWFsbHkgbmVlZGVkIGFuZCB3ZSBjYW4gc3RpbGwgb3BlbgoJICB0aGUgY29ycmVjdCBkaXNwbGF5IGZvciBnZXR0aW5nIGNhcHMgYW5kIGNyZWF0aW5nIHRoZSBwb29sIGVhcmxpZXIuCgkgIFRoaXMgY2hhbmdlIGFsc28gc2VwYXJhdGVzIHNldHRpbmcgdGhlIHdsX3N1cmZhY2UgZnJvbSBzZXR0aW5nIGl0cyBzaXplLgoJICBBcHBsaWNhdGlvbnMgc2hvdWxkIGRvIHRoYXQgYnkgY2FsbGluZyB0d28gZnVuY3Rpb25zIGluIHNlcXVlbmNlOgoJICBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZSAob3ZlcmxheSwgc3VyZmFjZSk7CgkgIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUgKG92ZXJsYXksIHcsIGgpOwoKMjAxNC0wNS0yMSAxMzoxNDoxNSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBkcm9wIHdpZHRoL2hlaWdodCBhcmd1bWVudHMgZnJvbSBnc3Rfd2xfd2luZG93X25ld19mcm9tX3N1cmZhY2UoKQoKMjAxNC0wNS0yMiAxMDoxMDo1MSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBhZGQgR19CRUdJTi9FTkRfREVDTFMgb24gYWxsIGhlYWRlcnMgZm9yIGNvbnNpc3RlbmN5CgoyMDE0LTA1LTIxIDEyOjU4OjEwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZpeCBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHN0b3BwaW5nIGltbWVkaWF0ZWx5IGFmdGVyIHN0YXJ0aW5nLCB3aXRob3V0IGRpc3BsYXlpbmcgYW55dGhpbmcKCSAgVGhpcyB3YXMgdHJpZ2dlcmVkIGluIHNjZW5hcmlvcyBsaWtlCgkgIGZpbGVzcmMgbG9jYXRpb249bm9uZXhpc3RlbnRfZmlsZSAhIGRlY29kZWJpbiAhIHdheWxhbmRzaW5rCgoyMDE0LTA1LTIxIDExOjU1OjQ1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvc2NhbGVyLnhtbDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rOiBVcGRhdGUgd2xfc2NhbGVyIHRvIHZlcnNpb24gMgoKMjAxNC0wNS0yMCAxOTowNDoxNiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kL01ha2VmaWxlLmFtOiBsaW5rIHdpdGggZ3N0dmlkZW8gdG8gYXZvaWQgaW50cm9zcGVjdGlvbiBlcnJvcnMKCjIwMTQtMDUtMjAgMTk6MDM6MzkgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06IEZpeCBzY2FsZXItY2xpZW50LXByb3RvY29sLmggZ2VuZXJhdGlvbgoKMjAxNC0wMy0xMyAxMzoxMzowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMTQtMDMtMTIgMTk6MjU6MDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBsaXN0CgoyMDE0LTAzLTEyIDE3OjAzOjEwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rL3dsZGlzcGxheTogYmluZCB0byB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB3bF9jb21wb3NpdG9yIHZlcnNpb24KCjIwMTQtMDMtMTIgMTQ6Mjg6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogY3JlYXRlL2Rlc3Ryb3kgdGhlIGRpc3BsYXkgd2hlbiBlbnRlcmluZy9sZWF2aW5nIHRoZSBSRUFEWSBzdGF0ZSBpbnN0ZWFkIG9mIFBBVVNFRAoJICBUaGlzIGlzIHRoZSBvbmx5IHdheSB0byBnZXQgdGhlIG5lZ290aWF0aW9uIHdvcmtpbmcgd2l0aCB0aGUgZHluYW1pYwoJICBkZXRlY3Rpb24gb2YgZm9ybWF0cyBmcm9tIHRoZSBkaXNwbGF5LCBiZWNhdXNlIHRoZSBwaXBlbGluZSBuZWVkcwoJICB0byBrbm93IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cyBpbiB0aGUgUkVBRFkgc3RhdGUgYW5kIHRoZSBzdXBwb3J0ZWQKCSAgZm9ybWF0cyBjYW4gb25seSBiZSBrbm93biBpZiB3ZSBvcGVuIHRoZSBkaXNwbGF5LgoJICBVbmZvcnR1bmF0ZWx5LGluIHdheWxhbmQgd2UgY2Fubm90IGhhdmUgYSBzZXBhcmF0ZSBjb25uZWN0aW9uIHRvCgkgIHRoZSBkaXNwbGF5IGZyb20gdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9uLCBzbyB3ZSBuZWVkIHRvIGFzayBmb3IgYQoJICB3aW5kb3cgaGFuZGxlIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW4gb3JkZXIgdG8gZ2V0IHRoZSBkaXNwbGF5IGZyb20gaXQuCgkgIEFuZCBzaW5jZSBpdCdzIHRvbyBlYXJseSB0byBjcmVhdGUgYSB0b3AgbGV2ZWwgd2luZG93IGZyb20gdGhlIHN0YXRlCgkgIGNoYW5nZSB0byBSRUFEWSwgY3JlYXRlIGl0IGluIHJlbmRlcigpIHdoZW4gdGhlcmUgaXMgbm8gb3RoZXIgd2luZG93LgoJICBUaGlzIGFsc28gY2hhbmdlcyBzZXRfd2luZG93X2hhbmRsZSgpIHRvIG5vdCBzdXBwb3J0IHdpbmRvdyBoYW5kbGUKCSAgY2hhbmdlcyBpbiBQQVVTRUQvUExBWUlORyAoYmVjYXVzZSBpdCdzIGNvbXBsZXggdG8gaGFuZGxlIGFuZCB1c2VsZXNzCgkgIGluIHByYWN0aWNlKSBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlcmUgaXMgYWx3YXlzIGEgdmFsaWQgZGlzcGxheSBwb2ludGVyCgkgIGFyb3VuZCBpbiB0aGUgUkVBRFkgc3RhdGUuCgoyMDE0LTAzLTEyIDE0OjEzOjQ5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFN1cHBvcnQgYWxsIHZpZGVvIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBkaXNwbGF5CgoyMDE0LTAzLTEyIDEzOjU0OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZpeCBjcmFzaCBpbiBjYXNlIHRoZXJlIGlzIG5vIHBvb2wgYmVjYXVzZSBvZiBhIGNhcHMgbmVnb3RpYXRpb24gZXJyb3IKCjIwMTQtMDMtMTEgMTk6NDc6NTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogc2V0IGFuIGVtcHR5IGlucHV0IHJlZ2lvbiBvbiB0aGUgdmlkZW8gc3VyZmFjZQoKMjAxNC0wMy0xMSAxOTo0Njo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiByZXVzZSBjb2RlIGJldHdlZW4gdGhlIHR3byBjb25zdHJ1Y3RvcnMKCjIwMTQtMDMtMTEgMTg6NDU6MjMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogaW5jcmVhc2UgZGVidWcgbWVzc2FnZXMKCjIwMTQtMDMtMTEgMTc6NDg6NDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogVXNlIGEgYm9vbGVhbiBpbiBjb21iaW5hdGlvbiB3aXRoIHJlbmRlcl9jb25kIHRvIGNvbXBseSB3aXRoIEdDb25kJ3MgdXNhZ2UgZG9jdW1lbnRhdGlvbgoKMjAxNC0wMy0xMSAxNzo0NTowNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBJbXBsZW1lbnQgZXhwb3NlKCkgYW5kIGhhbmRsZSByZXNpemluZyBwcm9wZXJseSBpbiBub24tUExBWUlORyBzdGF0ZXMKCjIwMTQtMDMtMTEgMTM6MTQ6MDAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBVc2Ugd2xfc2NhbGVyL3dsX3ZpZXdwb3J0IHRvIHNjYWxlIHRoZSBzdXJmYWNlIGluIHRoZSBjb21wb3NpdG9yL2hhcmR3YXJlCgoyMDE0LTAzLTExIDEzOjA1OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC8uZ2l0aWdub3JlOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvc2NhbGVyLnhtbDoKCSAgd2F5bGFuZHNpbms6IEJ1aWxkIGJpbmRpbmdzIGZvciB0aGUgdW5zdGFibGUgd2xfc2NhbGVyIHNwZWMKCjIwMTQtMDMtMTAgMTM6NTA6MDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogU2V0IGV4dGVybmFsIHN1cmZhY2VzIGFuZCB0aGVpciBjaGlsZCBvYmplY3RzIHRvIHVzZSBvdXIgb3duIGV2ZW50IHF1ZXVlCgkgIFRoaXMgZml4ZXMgd2VpcmQgZnJlZXplcyBiZWNhdXNlIG9mIGZyYW1lX3JlZHJhd19jYWxsYmFjaygpIG5vdCBiZWluZwoJICBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgd2hlbiBpdCBzaG91bGQgd2l0aCB3ZXN0b24ncyB0b3kgdG9vbGtpdC4KCSAgSXQncyBhbHNvIHNhZmVyIHRvIGtub3cgdGhhdCBmcmFtZV9yZWRyYXdfY2FsbGJhY2soKSB3aWxsIGFsd2F5cyBiZQoJICBjYWxsZWQgZnJvbSBvdXIgZGlzcGxheSB0aHJlYWQuLi4gT3RoZXJ3aXNlIGl0IGNvdWxkIGJlIGNhbGxlZCBhZnRlcgoJICB0aGUgc2luayBoYXMgYmVlbiBkZXN0cm95ZWQgZm9yIGV4YW1wbGUuCgoyMDE0LTAzLTA3IDE3OjI1OjAwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFdhaXQgZm9yIHRoZSBmcmFtZV9jYiB0byByZWRyYXcgYW5kIGRyb3AgZnJhbWVzIG1lYW53aGlsZQoJICBXZSBhcmUgbm90IHN1cHBvc2VkIHRvIHJlZHJhdyB1bnRpbCB3ZSByZWNlaXZlIGEgZnJhbWUgY2FsbGJhY2sgYW5kIHRoaXMKCSAgaXMgZXNwZWNpYWxseSB1c2VmdWwgdG8gYXZvaWQgYWxsb2NhdGluZyB0b28gbWFueSBidWZmZXJzIHdoaWxlIHRoZQoJICB3aW5kb3cgaXMgbm90IHZpc2libGUsIGJlY2F1c2UgdGhlIGNvbXBvc2l0b3IgbWF5IG5vdCBjYWxsIHdsX2J1ZmZlci5yZWxlYXNlCgkgIHVudGlsIHRoZSB3aW5kb3cgYmVjb21lcyB2aXNpYmxlIChvaywgdGhpcyBpcyBhIHdheWxhbmQgYnVnLCBidXQuLi4pLgoKMjAxNC0wMy0wNyAxNjoxNjozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiBIYW5kbGUgd2xfYnVmZmVyOjpyZWxlYXNlIGFuZCBkb24ndCByZXVzZSBidWZmZXJzIHRoYXQgYXJlIG5vdCByZWxlYXNlZAoJICBUaGlzIGlzIGFjaGlldmVkIGJ5IGFkZGluZyBhbiBleHRyYSByZWZlcmVuY2Ugb24gdGhlIGJ1ZmZlcnMsIHdoaWNoIGRvZXMKCSAgbm90IGFsbG93IHRoZW0gdG8gcmV0dXJuIHRvIHRoZSBwb29sLiBXaGVuIHRoZXkgYXJlIHJlbGVhc2VkLCB0aGlzIHJlZmVyZW5jZQoJICBpcyBkcm9wcGVkLgoJICBUaGUgcmVzdCBjb21wbGV4aXR5IG9mIHRoaXMgcGF0Y2ggKGhhc2ggdGFibGUsIG11dGV4LCBmbGFnLCBleHBsaWNpdCByZWxlYXNlIGNhbGxzKQoJICBtZXJlbHkgZXhpc3RzIHRvIGFsbG93IGEgc2FmZSwgZ3VhcmFudGVlZCBhbmQgZGVhZGxvY2stZnJlZSBkZXN0cnVjdGlvbiBzZXF1ZW5jZS4KCSAgU2VlIHRoZSBhZGRlZCBjb21tZW50IG9uIGdzdHdheWxhbmRzaW5rLmMgZm9yIGRldGFpbHMuCgoyMDE0LTAzLTA2IDE3OjAzOjUwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlbW92ZSB1c2VsZXNzIG11bm1hcCBjYWxsCgkgIFRoaXMgZGF0YSBwb2ludGVyIGlzIHBhcnQgb2YgYSBiaWdnZXIgbW1hcCdlZCByZWdpb24sCgkgIGl0IGhhcyBub3QgYmVlbiByZXR1cm5lZCBmcm9tIG1tYXAgaXRzZWxmLgoKMjAxNC0wMi0yOCAxMzozNzozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBjYWxsIHRoZSBzdGFydC9zdG9wIG1ldGhvZHMgb2YgdGhlIHBhcmVudCBjbGFzcwoJICBzdGFydCgpIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBhbW1vdW50IG9mIGJ1ZmZlcnMgcmVxdWVzdGVkIGlzIGFsbG9jYXRlZC4KCSAgc3RvcCgpIG1ha2VzIHN1cmUgdGhhdCBidWZmZXJzIGFyZSBhY3R1YWxseSBkZXN0cm95ZWQgYW5kIHByZXZlbnRzCgkgIGZpbGxpbmcgdGhlIGZpbGUgc3lzdGVtIHdoZW4gcmVzaXppbmcgdGhlIHN1cmZhY2UgYSBsb3QsIGJlY2F1c2UgdGhlCgkgIHdheWxhbmQtc2htLSogZmlsZXMgd2lsbCBzdGF5IG9uIHRoZSBmaWxlIHN5c3RlbSBhcyBsb25nIGFzIHRoZSB3bF9idWZmZXJzCgkgIGNyZWF0ZWQgb3V0IG9mIHRoZW0gYXJlIGFsaXZlLgoKMjAxNC0wMi0yOCAxMzozNjo0MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiB1bmxpbmsgbW1hcGVkIHNobSBmaWxlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVtYWluIG9uIHRoZSBmaWxlIHN5c3RlbQoKMjAxNC0wMi0yOCAxMTo0ODozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IGltcGxlbWVudCB0aGUgR3N0VmlkZW9PdmVybGF5ICYgR3N0V2F5bGFuZFZpZGVvIGludGVyZmFjZXMKCSAgVGhpcyBpcyB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiwgd2l0aG91dCB0aGUgR3N0VmlkZW9PdmVybGF5LmV4cG9zZSgpCgkgIG1ldGhvZC4gSXQgb25seSBpbXBsZW1lbnRzIHVzaW5nIGFuIGV4dGVybmFsIChzdWIpc3VyZmFjZSBhbmQgcmVzaXppbmcKCSAgaXQgd2l0aCBHc3RXYXlsYW5kVmlkZW8uCgoyMDE0LTAyLTE0IDE2OjA4OjU2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBpbXBsZW1lbnQgd2l0aCBzdHVicyB0aGUgR3N0V2F5bGFuZFZpZGVvICYgR3N0VmlkZW9PdmVybGF5IGludGVyZmFjZXMKCjIwMTMtMDUtMDYgMTM6MTY6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBBZGQgbmV3IGdzdC13YXlsYW5kIGxpYnJhcnkgY29udGFpbmluZyBhIG5ldyBHc3RXYXlsYW5kVmlkZW8gaW50ZXJmYWNlCgkgIFRoaXMgaW50ZXJmYWNlIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGVtYmVkIHdheWxhbmRzaW5rIGludG8KCSAgb3RoZXIgd2F5bGFuZCBzdXJmYWNlcy4gRHVlIHRvIHRoZSBzcGVjaWFsIG5hdHVyZSBvZiB3YXlsYW5kLAoJICBHc3RWaWRlb092ZXJsYXkgaXMgbm90IGVub3VnaCBmb3IgdGhpcyBqb2IuCgoyMDE0LTAyLTI2IDE4OjM1OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogaGFuZGxlIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzIHByb3Blcmx5CgkgIGVudW0gd2xfc2htX2Zvcm1hdCBpcyBub3QgYSBmbGFncyBlbnVtLCBhcyBpdCBtYXkgaGF2ZSBiZWVuIGluIHRoZSBwYXN0LAoJICBzbyBtdWx0aXBsZSBmb3JtYXRzIGNhbm5vdCBiZSBzdG9yZWQgaW4gYSBiaXRmaWVsZC4gVXNlIGFuIGFycmF5IGluc3RlYWQuCgoyMDE0LTAyLTI2IDE3OjQxOjExICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJICB3YXlsYW5kc2luay93bHZpZGVvZm9ybWF0OiBhZGQgbWFwcGluZ3MgZm9yIG1hbnkgY29tbW9uIGZvcm1hdHMKCjIwMTQtMDItMjYgMTY6MjA6NDEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogdW5yZWYgdGhlIGJ1ZmZlciBwb29sCgoyMDE0LTAyLTI2IDE2OjExOjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlZiB0aGUgZGlzcGxheSBpbnN0ZWFkIG9mIHRoZSBzaW5rIHRvIGF2b2lkIGN5Y2xpYyByZWZlcmVuY2VzCgkgIFRoZSByZWZlcmVuY2UgdG8gdGhlIHNpbmsgaXMgbm90IHJlYWxseSBuZWVkZWQgYW55d2F5IGluIHdheWxhbmRwb29sLAoJICB3aGF0IG1hdHRlcnMgYmFzaWNhbGx5IGlzIHRoYXQgdGhlIGRpc3BsYXkgaXMgYWN0aXZlIGFzIGxvbmcgYXMgdGhlCgkgIHBvb2wgaXMgYWN0aXZlLCBzbyB3ZSByZWFsbHkgd2FudCB0byByZWZlcmVuY2UgdGhlIGRpc3BsYXkgb2JqZWN0CgkgIGluc3RlYWQgb2YgdGhlIHNpbmsuCgoyMDE0LTAyLTI2IDE0OjU2OjIxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IG1ha2UgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZnVsCgkgIExldCB0aGUgZGlzcGxheSBwcm9wZXJ0eSBjb250cm9sIHRoZSBuYW1lIG9mIHRoZSBkaXNwbGF5LAoJICBsaWtlIGluIHgodilpbWFnZXNpbmsuCgoyMDE0LTAyLTE0IDE3OjIwOjQyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGFjY2VzcyBzaW5rLT5wb29sIGluIGEgbW9yZSBhdG9taWMgZmFzaGlvbgoKMjAxNC0wMi0xNCAxNjozMzoxMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIHVzZWxlc3Mgd2F5bGFuZF9sb2NrCgoyMDE0LTAyLTEzIDEzOjI4OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGFwcGx5IHRoZSBzYW1lIGRlYnVnIGNhdGVnb3J5IHRvIGFsbCB0aGUgc3Vib2JqZWN0cwoKMjAxNC0wMi0xMyAxMzoxNTozMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBjbGVhbnVwIGhlYWRlciBpbmNsdWRlcwoKMjAxNC0wMi0xMyAxMTo1OTo0NSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogc3BsaXQgd2luZG93LXJlbGF0ZWQgY29kZSBvdXQgdG8gYSBuZXcgR3N0V2xXaW5kb3cgY2xhc3MKCSAgR3N0V2xXaW5kb3cgYWxzbyBoYXMgQVBJIHJlYWR5IHRvIHN1cHBvcnQgc3Vic3VyZmFjZXMuCgoyMDE0LTAyLTEzIDExOjMyOjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSBjYWxsYmFjayBhbmQgcmVkcmF3X3BlbmRpbmcgdmFyaWFibGVzIGZyb20gdGhlIHdpbmRvdyBzdHJ1Y3R1cmUKCjIwMTQtMDItMTMgMTA6NTE6NTkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogaW1wcm92ZSBkZWJ1ZyBtZXNzYWdlCgoyMDE0LTAyLTEzIDEwOjM3OjAxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGZpbmQgdGhlIHZpZGVvIGZvcm1hdCBmcm9tIHRoZSBHc3RWaWRlb0luZm8gaW5zdGVhZCBvZiBhY2Nlc3NpbmcgdGhlIHNpbmsKCSAgRm9yIHRoZSBzYWtlIG9mIGlzb2xhdGlvbiBvbmx5LiBUaGUgZm9ybWF0IHNob3VsZCBiZSB0aGUgc2FtZS4KCjIwMTQtMDItMTMgMTA6Mjk6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVmYWN0b3IgY29kZQoJICAqIG1ha2UgdXNlIG9mIEdzdEJ1ZmZlclBvb2w6OnN0YXJ0L3N0b3AgZnVuY3Rpb25zIHRvIGFsbG9jYXRlL2RlYWxsb2NhdGUgbWVtb3J5CgkgICogZ2V0IHJpZCBvZiBzdHJ1Y3Qgc2htX3Bvb2wgYW5kIGRvIGFsbCBvcGVyYXRpb25zIGNsZWFubHkgaW5zaWRlIFdheWxhbmRCdWZmZXJQb29sCgkgICogc3RvcmUgYSBHc3RWaWRlb0luZm8gZHVyaW5nIGNvbmZpZ3VyYXRpb24gaW5zdGVhZCBvZiB0aGUgd2lkdGggJiBoZWlnaHQKCSAgYW5kIHVzZSB0aGUgc3RyaWRlIGZyb20gdGhlIHZpZGVvIGluZm8gaW5zdGVhZCBvZiBoYXJkY29kaW5nIGl0cyB2YWx1ZQoKMjAxNC0wMi0xMyAxMDowMjo1NCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSAgd2F5bGFuZHNpbms6IHNwbGl0IHZpZGVvIGZvcm1hdCByZWxhdGVkIGZ1bmN0aW9ucyBvdXQgdG8gYSBzZXBhcmF0ZSBmaWxlCgoyMDE0LTAyLTEyIDE1OjE2OjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IG1vdmUgY29kZSBhcm91bmQgZm9yIGJldHRlciByZWFkYWJpbGl0eQoKMjAxNC0wMi0xMiAxNDo0MTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiBtb3ZlIHN0cnVjdCBzaG1fcG9vbCBhbmQgaXRzIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHdheWxhbmRwb29sLmMKCSAgQW5kIGFsc28gbWFrZSB0aGUgaW5zdGFuY2Ugb2YgdGhpcyBzdHJ1Y3QgdG8gYmUgb3duZWQgYnkgdGhlIGJ1ZmZlcgoJICBwb29sIGluc3RlYWQgb2YgdGhlIGVsZW1lbnQsIGZvciB0aGUgc2FrZSBvZiBpc29sYXRpb24KCjIwMTMtMDUtMTQgMTk6MzU6MzMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luazogVXNlIFhER19SVU5USU1FX0RJUiBpbnN0ZWFkIG9mIC90bXAgZm9yIHRoZSBzaG0gZmlsZQoKMjAxNC0wMi0xMiAxNDoxNTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wMi0xMiAxMToyODo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiBwcm9jZXNzIGRpc3BsYXkgZXZlbnRzIGluIGEgc2VwYXJhdGUgdGhyZWFkCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgZGlzcGxheS1yZWxhdGVkIGNvZGUgaW50byBhIG5ldyBHc3RXbERpc3BsYXkgY2xhc3MsCgkgIHdoaWNoIHRha2VzIGNhcmUgb2YgdGhlIG5ldyB0aHJlYWQKCjIwMTQtMDItMDQgMTY6MzI6MzEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogdGlkeSB1cCB0aGUgaGVhZGVyIGZpbGVzCgoyMDE0LTA2LTEyIDE2OjM4OjM1ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogdXNlIEdzdFZpZGVvRGVjb2RlciBDbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNDAwCgoyMDE0LTA2LTE2IDA3OjQyOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IG92ZXJ3cml0ZSBvcmlnaW5hbCBzZWVrIHZhbHVlCgkgIEluIGFjY3VyYXRlIG1vZGUsIHdlJ2xsIGJlIHVzaW5nIHN0YXJ0IHRvIGZpbGwgaW4gdGhlIHNlZWsgc2VnbWVudCwKCSAgdGhlcmVmb3JlIGRvbid0IG92ZXJ3cml0ZSBpdCB3aXRoIHRoZSBzaGlmdGVkIHNlZWsgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE2OTgKCjIwMTQtMDYtMTUgMTU6MTg6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNpbGVuY2UgaW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMgaW4gZm9ybWF0IHdhcm5pbmcKCjIwMTQtMDYtMTUgMTU6MTc6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2xkb3dubG9hZDogcGx1ZyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA2LTE1IDEzOjU5OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiB3aXJlIHVwIHRoZSBhbHBoYSBwYWQgcHJvcGVydHkKCjIwMTQtMDYtMTUgMTM6NDQ6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHN1cHBvcnQgaW5wdXQgZnJhbWUgc2NhbGluZwoKMjAxNC0wNi0xNSAxMjoyNjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgcG9zaXRpb25pbmcgb2YgaW5wdXQgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5Nzk4CgoyMDE0LTA2LTE1IDEyOjI0OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IGFsbG93IHRoZSBzdWJjbGFzcyB0byBjaG9vc2UgdGhlIHNpbmsgcGFkIHR5cGUKCSAgQWxsb3dzIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGJlIHBsYWNlZCBvbiB0aGUgc2luayBwYWRzIGJ5IHN1YmNsYXNzZXMKCjIwMTQtMDYtMTMgMTE6NDY6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBsaXZlOiBoYW5kbGUgcGNyL2R0cyBkaXNjcmVwYW5jaWVzIHNvbWUgbW9yZQoJICBXaGVuIHdyYXBvdmVyL3Jlc2V0IG9jY3VyLCB3ZSBlbmQgdXAgd2l0aCBhIHNtYWxsIHdpbmRvdyBvZiB0aW1lIHdoZXJlCgkgIHRoZSBQVFMvRFRTIHdpbGwgc3RpbGwgYmUgdXNpbmcgdGhlIHByZXZpb3VzL25leHQgdGltZS1yYW5nZS4KCSAgSW4gb3JkZXIgbm90IHRvIHJldHVybiBib2d1cyB2YWx1ZXMsIHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FIGlmIHRoZQoJICBQVFMvRFRTIHZhbHVlIHRvIGNvbnZlcnQgZGlmZmVycyBieSBtb3JlIHRoYW4gMTVzIGFnYWluc3QgdGhlIGxhc3Qgc2VlbgoJICBQQ1IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxNC0wNi0xMyAxMDozNzo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB3cmFwYXJvdW5kIGRldGVjdGlvbiBpc3N1ZQoJICBVc2luZyAzMmJpdCB1bnNpZ25lZCB2YWx1ZXMgZm9yIGNvcnJlY3RlZCBwY3Ivb2Zmc2V0IG1lYW50IHRoYXQgd2UKCSAgcG90ZW50aWFsbHkgZW5kZWQgdXAgaW4gYm9ndXMgdmFsdWVzCgkgIEZ1cnRoZXJtb3JlLCByZWZwY3IgLSByZWZwY3JvZmZzZXQgY291bGQgZW5kIHVwIGJlaW5nIG5lZ2F0aXZlLCB3aGljaAoJICBQQ1JUSU1FX1RPX0dTVFRJTUUoKSBjYW4ndCBoYW5kbGUgKGFuZCByZXR1cm5lZCBhIG1hc3NpdmUgcG9zaXRpdmUgdmFsdWUpCgoyMDE0LTA2LTEzIDExOjI2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnc3RlZ2xpbWFnZW1lbW9yeQoKMjAxNC0wNi0xMyAwOTo1NTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2xmcmFtZWJ1ZmZlciBvYmplY3QKCjIwMTQtMDYtMTMgMDk6NTI6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbWlzYyBhZGRzIGZvciBnbCBmdW5jdGlvbnMKCjIwMTQtMDYtMTMgMDk6NDE6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdsdXBsb2FkbWV0YSBvYmplY3QKCjIwMTQtMDYtMTMgMDk6MzI6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogdXBkYXRlIGZvciBzb21lIGdsIGZ1bmN0aW9uIG5hbWUgY2hhbmdlcwoKMjAxNC0wNi0xMiAyMzoxNDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkgIGdsZmlsdGVyYXBwOiBhY3R1YWxseSBlbWl0IHRoZSBjbGllbnQtZHJhdyBzaWduYWwKCjIwMTQtMDYtMTIgMjM6MTM6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGZvciBURVhUVVJFXzJEIGNoYW5nZQoKMjAxNC0wNS0zMCAxNjo1MjowOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcgZm9yIGgyNjQgc3RyZWFtcy4KCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgRnJvbSBhIGhpZ2ggbGV2ZWwgcGVyc3BlY3RpdmUsIHRoZSBuZXcgcHJvY2VzcyBmb3Igc2Vla2luZyBoMjY0CgkgIHN0cmVhbXMgaXMgYXMgZm9sbG93czoKCSAgMSkgUmV3aW5kIHRoZSBzdHJlYW0gdW50aWwgd2UgZmluZCB0aGUgZmlyc3QgSS1zbGljZSBvZiBhIGZyYW1lLAoJICBhbmQgbWFyayBpdHMgb2Zmc2V0IGluIHRoZSBzdHJlYW0uCgkgIDIpIFJld2luZCB0aGUgc3RyZWFtIHVudGlsIHdlIGZpbmQgU1BTIGFuZCBQUFMgaW5mb3JtYXRpb25zLAoJICB0byBtYWtlIHN1cmUgdGhlIHN1YnNlcXVlbnQgcGFyc2VyIGlzIHVwIHRvIGRhdGUuCgkgIDMpIEFjY3VtdWxhdGUgb3B0aW9ubmFsIFNFSSBOQUwgdW5pdHMgb24gdGhlIHdheS4KCSAgNCkgUHVzaCB0aGUgU1BTLCBQUFMgYW5kIFNFSSB1bml0cyBiZWZvcmUgdGhlIG5ldyBrZXlmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTEzMgoKMjAxNC0wNi0xMiAxMDoxNDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvIG5vdCB0cnkgdG8gY2xvc2UgbmVnYXRpdmUgZmlsZSBkZXNjcmlwdG9ycwoJICBJbnRlcmVzdGluZ2x5LCBDb3Zlcml0eSBpbXBsaWVzIHRoYXQgY2xvc2UgdGFrZXMgYW4gdW5zaWduZWQKCSAgYXJndW1lbnQsIHdoaWxlIG15IGNsb3NlKDIpIG1hbiBwYWdlIHNob3dzIGl0IHRha2luZyBhIHNpZ25lZAoJICBhcmd1bWVudC4gSSBndWVzcyBpdCBtYXkgYmUgcGxhdGZvcm1zIHNwZWNpZmljLgoJICBDb3Zlcml0eSAxMjE0NjAyCgoyMDE0LTA2LTEyIDEwOjE3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogZml4IGJ1aWxkIHdpdGggR0xpYiAyLjMyCgkgIFByb3ZpZGUgaW50ZXJuYWwgY29weSBvZiBnX2xpc3RfY29weV9kZWVwKCkgdW50aWwgd2UKCSAgYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTU1NQoKMjAxNC0wNi0xMiAxMDowMDo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBiYWlsIG91dCBlYXJseSB3aGVuIGJ5dGVzIHBlciBzYW1wbGUgaXMgbm90IHNldAoJICBUaGlzIHNob3VsZCBhbHdheXMgYmUgc2V0IGZvciB2YWxpZCBmaWxlcyB3aGVuIHdlIGdldCB0aGVyZSwKCSAgYW5kIGNoZWNraW5nIHRoaXMgYXZvaWRzIGhhdmluZyBhZCBob2MgY2hlY2tzIGZ1cnRoZXIgZG93bgoJICBpbiBzZXZlcmFsIHBsYWNlcy4KCSAgQ292ZXJpdHkgMTEzOTY5OAoKMjAxNC0wNi0xMSAxNToxMTo0MCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBxdWFudGl6YXRpb24gbWF0cml4IGNvbnZlcnNpb24gcm91dGluZSBuYW1lcy4KCSAgRml4IHJvdXRpbmUgbmFtZXMgZm9yIHppZ3phZy9yYXN0ZXIgc2NhbiBvcmRlciBjb252ZXJzaW9uIHJvdXRpbmVzIGZvcgoJICBxdWFudGl6YXRpb24gbWF0cmljZXMuIFRoaXMgb3VnaHQgdG8gdXNlIHRoZSBnc3RfaDI2NF9xdWFudF9tYXRyaXhfKigpCgkgIG5hbWluZyBjb252ZW50aW9uIGluc3RlYWQgb2YgZ3N0X2gyNjRfdmlkZW9fcXVhbnRfbWF0cml4XyooKSwgd2hpY2gKCSAgZGVyaXZlZCBmcm9tIHRoZSBNUEVHLTIgZnVuY3Rpb24gbmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjQKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNS0yNiAxODoyOToyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIEMrKyBndWFyZHMgZm9yIE1QRUctNCBhbmQgVlA4IHBhcnNlcnMuCgkgIEZpeCBNUEVHLTQgYW5kIFZQOCBBUElzIHRvIGV4cG9ydCB0aGVpciBleHRlcm5hbCBzeW1ib2xzIGFzIHB1cmUgQwoJICBzeW1ib2xzLCBpLmUuIHVuLW1hbmdsZWQgZm9yIEMrKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyMgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTEyIDE0OjU4OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHNlbmQgdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBhbmQgdGhlIGNhcHMgZXZlbnQgYWZ0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5NDQKCjIwMTQtMDYtMTIgMTM6Mzc6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGVzOiBhZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MKCjIwMTQtMDYtMTIgMTM6MTU6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogcmVtb3ZlIHNwdXJpb3VzIGluY2x1ZGUgZm9yIGRvdWJsZWN1YmUgZXhhbXBsZQoKMjAxNC0wNi0xMiAxMzowNjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IGFkZCB0aGUgc3JjZGlyIGFuZCBidWlsZGRpciBpbmNsdWRlcwoJICBBbmQgcmVtb3ZlIHJlZmVyZW5jZXMgdG8gJChHU1RfUExVR0lOU19HTF8qKQoKMjAxNC0wNi0xMiAxMjo0OTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2xmaWx0ZXJhcHA6IHJlbW92ZSB0aGUgcmVzaGFwZS9kcmF3IHByb3BlcnRpZXMKCSAgVGhlIHJlc2hhcGUgcHJvcGVydHkgd2FzIG5ldmVyIHVzZWQuCgkgIFJlcGxhY2UgdGhlIGRyYXcgcHJvcGVydHkgd2l0aCBhIHNpZ25hbC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTEyIDEyOjE0OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGxvY2sgdGhlIHNpemUgb2YgbWl4LT5mcmFtZXMgdG8gdGhlIG51bWJlciBvZiBwYWRzCgkgIEZpeGVzIGEgc2VnZmF1bHQgd2l0aCBkZWNvZGViaW4gISBnbG1peGVyIHdoZXJlIHRoZSByZXF1ZXN0IHBhZHMgb24KCSAgYm90aCBzaWRlcyB3ZXJlIGJlaW5nIHJlcXVlc3RlZCBhZnRlciB0aGUgc3RhdGUgY2hhbmdlIHRvIFBBVVNFRC4KCSAgQWxzbyBmaXhlcyBkeW5hbWljYWxseSBhZGRpbmcgYW5kIHJlbW92aW5nIHBhZHMgd2hpbGUgZ2xtaXhlciBpcwoJICBpbiBhIHN0YXRlID49IFBBVVNFRC4KCjIwMTQtMDYtMTIgMTI6MDk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSAgZ2wvZXhhbXBsZXM6IFBvcnQgdG8gdXNpbmcgc2lnbmFscyBpbnN0ZWFkIG9mIHByb3BlcnRpZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTAxIDE1OjAyOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlcGxhY2UgcG9pbnRlciBwcm9wZXJ0aWVzIHdpdGggc2lnbmFscwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMTEgMDk6Mzg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGZpcnN0IGdyb3VwIGZvciBoYW5kbGluZyByZWZlcmVuY2UgcGNyCgkgIElmIF9zZXRfY3VycmVudF9wY3Jfb2Zmc2V0IGdldHMgY2FsbGVkIGFmdGVyIGEgZmx1c2hpbmcgc2Vlaywgd2UgZW5kZWQKCSAgdXAgdXNpbmcgdGhlIGN1cnJlbnQgZ3JvdXAgZm9yIGRlbHRhIGNhbGN1bGF0aW9uIC4uLiB3aGVyZWFzIHdlIHNob3VsZAoJICBiZSB1c2luZyB0aGUgZmlyc3QgZ3JvdXAgdG8gY2FsY3VsYXRlIHNoaWZ0cy4KCSAgQWxzbyBhZGQgYW4gZWFybHkgZXhpdCBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyB0byBhcHBseQoKMjAxNC0wNi0xMCAxNDo1MDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFRoZSBzZWVrc2VnbWVudCB3YXMgbm8gbG9uZ2VyIHVzZWQgc2luY2UgdGhlIHN3aXRjaCB0byBjYWxjdWxhdGluZyBzZWdtZW50cwoJICB3aGVuIHdlIHNlZSBkYXRhLgoKMjAxNC0wNi0xMCAxNDoyNzo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDE0LTA2LTEwIDE0OjI3OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBkdXJhdGlvbiBldmFsdWF0aW9uIGluIHB1c2ggbW9kZQoJICBXaGVuIHdvcmtpbmcgaW4gcHVzaCBtb2RlLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gZXZhbHVhdGUgdGhlIGR1cmF0aW9uCgkgIGJhc2VkIG9uIGEgc2luZ2xlIGdyb3VwIG9mIG9ic2VydmF0aW9ucy4KCSAgVG8gZG8gdGhhdCB3ZSB1c2UgdGhlIGN1cnJlbnQgZ3JvdXAgdmFsdWVzCgoyMDE0LTA2LTAyIDExOjA3OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIGVhcmx5IFBUUyBjb252ZXJzaW9uCgkgIFdoZW4gaGFuZGxpbmcgdGhlIFBUUy9EVFMgY29udmVyc2lvbiBpbiBuZXcgZ3JvdXBzLCB0aGVyZSdzIGEgcG9zc2liaWxpdHkKCSAgdGhhdCB0aGUgUFRTIG1pZ2h0IGJlIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3QgUENSIHZhbHVlIG9ic2VydmVkLCBkdWUgdG8KCSAgcmUtb3JkZXJpbmcuCgkgIFdoZW4gdXNpbmcgdGhlIGN1cnJlbnQgZ3JvdXAsIG9ubHkgYXBwbHkgdGhlIHdyYXBhcm91bmQgY29ycmVjdGlvbiB3aGVuIHdlCgkgIGFyZSBjZXJ0YWluIGl0IGlzIG9uZSAoaS5lLiBkaWZmZXJzIGJ5IG1vcmUgdGhhbiBhIHNlY29uZCkgYW5kIG5vdCB3aGVuIGl0J3MKCSAganVzdCBhIHNtYWxsIGRpZmZlcmVuY2UgKGxpa2Ugb3V0LW9mLW9yZGVyIFBUUykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwODgKCjIwMTQtMDYtMDkgMTA6MTA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRvbid0IHByaW50IGFscmVhZHktZnJlZWQgc3RyaW5nCgkgIENJRCAxMjIxOTg3CgoyMDE0LTA2LTA5IDEwOjU2OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBGaXggcG9zaXRpb24gcXVlcnkgc29tZSBtb3JlCgkgIEZvcmdvdCB0byByZW1vdmUgY29kZSBpbiAxNmZkOTE3NjMyYzA5OTIzNDljYTI4Y2Y5MTA4ZTk1NjJjNDkzYWQ3CgkgIENJRCAjMTEzOTY3NwoKMjAxNC0wNi0wNyAwNzoxMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHN0aWNreSBldmVudCBoYW5kbGluZwoJICBXaGVuIHdlIHJlY2VpdmUgc3RpY2t5IGV2ZW50cyBmcm9tIHVwc3RyZWFtLCBhbHdheXMgcmV0dXJuIFRSVUUuCgkgIEZpeGVzIHRoZSBpc3N1ZSB3aGVyZSB3ZSByZWNlaXZlIGN1c3RvbSBzdGlja3kgZXZlbnRzIChzdWNoIGFzICJ1cmkiKQoJICBhbmQgbm8gcGFkcyBhcmUgY3JlYXRlZCB5ZXQuCgoyMDE0LTA2LTA0IDE4OjM0OjQ0ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEltcHJvdmUgcGFyc2luZyBxdW90ZWQga2V5IFVSSXMgYW5kIGFwcGx5IGl0IGZvciBJLWZyYW1lLWJhc2VkIHN0cmVhbSBVUkkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgzMAoKMjAxNC0wNi0wNiAxMzowODowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IERvbid0IHN0b3JlIHRoZSBjdXJyZW50IGtleSBpbiB0aGUgcGxheWxpc3QKCSAgSXQncyBwZXIgZnJhZ21lbnQgYW5kIGFwcGx5aW5nIHRvIGFsbCBmb2xsb3dpbmcgZnJhZ21lbnRzCgkgIHVudGlsIHRoZSBuZXh0IGtleSBpcyBzcGVjaWZpZWQuCgoyMDE0LTA2LTA2IDEzOjA0OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDUtMzAgMTY6MzQ6MTggLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlbG9hZCB0aGUgdmFyaWFudCBwbGF5bGlzdCBpZiByZWZyZXNoaW5nIGEgcGxheWxpc3Qgb3IgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBmYWlscwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIHBsYXlsaXN0cyBoYXZlIG1vdmVkIGR1ZSB0byB0aGUgdmFyaWFudCBwbGF5bGlzdAoJICBub3cgYmVpbmcgcmVkaXJlY3RlZCB0byBhbm90aGVyIHRhcmdldC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBhcyBsb25nCgkgIGFzIHRoZSByZWZlcmVuY2VkIHBsYXlsaXN0cyBkb24ndCBjaGFuZ2UgaW4gcmVsYXRpb24gdG8gdGhlIHZhcmlhbnQKCSAgcGxheWxpc3QsIGFuZCB0aGUgbmV3IGxvY2F0aW9uIGlzIHB1cmVseSBkdWUgdG8gYSBuZXcgcGF0aCB0cmlnZ2VyZWQgYnkgYQoJICBuZXcgcmVkaXJlY3Rpb24gdGFyZ2V0IG9mIHRoZSB2YXJpYW50IHBsYXlsaXN0LCBvciBhIG5ldyByZWRpcmVjdGlvbgoJICB0YXJnZXQgb2YgdGhlIHBsYXlsaXN0IGl0c2VsZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTE2NAoKMjAxNC0wNi0wNSAxNjo0NToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVzZSBhbiBhcmJpdHJhcnkgZnJhbWVyYXRlIGlmIG5vbmUgaWYgZ2l2ZW4KCSAgVGhlIHNjaHJvIGVuY29kZXIgYWx3YXlzIHJlcXVpcmVzIGEgZnJhbWVyYXRlLCBidXQgc29tZSBzb3VyY2UgbWF0ZXJpYWwsCgkgIHN1Y2ggYXMgUlRQIGRvZXNuJ3QgaGF2ZSBhIGZpeGVkIG9uZSwgc28ganVzdCBmYWtlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDU0CgoyMDE0LTA2LTA0IDE0OjM1OjUxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCByZWR1bmRhbnQgYXNzaWdubWVudAoKMjAxNC0wNi0wNCAwMTowMjoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGltcHJvdmUgdGltZW91dCBoYW5kaW5nIGF0IGxvY2tpbmcgbG9vcAoJICBOZXcgYXBwcm9hY2ggYXR0ZW1wdHMgdG8gYmUgbW9yZSBhY2N1cmF0ZSBieSBtZWFzdXJpbmcKCSAgdGhlIGVsYXBzZWQgdGltZSBieSBpdGVyYXRpb24uIEFsc286CgkgICogVXNlIGEgMTAgc2Vjb25kcyBkZWZhdWx0IHRpbWVvdXQgYW5kIGEgaGFsZiBhIHNlY29uZAoJICBwb2xsaW5nIHN0ZXAuIE5ldyB2YWx1ZXMgc2hvdWxkIGJldHRlciBtYXRjaCB0aGUgdHVuaW5nCgkgIHByb2Nlc3Mgb24gcmVhbC1saWZlIHNjZW5hcmlvcy4KCSAgKiBDb3JyZWN0IGVsYXBzZWRfdGltZSBjb21wdXRhdGlvbi4KCSAgKiBBZGQgX3JldHJ5X2lvY3RsKCkgdG8gYXZvaWQgYmFpbGluZyBvdXQgb24gdGVtcG9yYXJ5CgkgIGlvY3RsIEVJTlRSIGZhaWx1cmVzIChubyBuZWVkIHRvIGNoZWNrIGZvciBFQUdBSU4gY2F1c2UKCSAgd2UgYXJlIG9wZW5pbmcgdGhlIGZyb250ZW5kIG9uIGJsb2NraW5nIG1vZGUpCgkgICogU21hbGwgY29ycmVjdGlvbnMgdG8gZmFpbCBjb25kaXRpb24gaGFuZGxpbmcKCjIwMTQtMDYtMDUgMTg6NDM6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC93YXlsYW5kOiBjcmVhdGUgYSBkdW1teSBkaXNwbGF5IGluc3RlYWQgb2YgYW4gRUdMRGlzcGxheQoJICBDdXJyZW50bHksIEdzdEdMV2luZG93V2F5bGFuZEVHTCBob2xkcyB0aGUgd2F5bGFuZCBkaXNwbGF5IGNvbm5lY3Rpb24KCSAgSWYgd2UgY3JlYXRlIHRoZSBFR0xEaXNwbGF5IGF0IHRoZSBHc3REaXNwbGF5IGNyZWF0aW9uIHRpbWUsIHRoZW4KCSAgbGliRUdMIHdpbGwgaW50ZXJuYWxseSBvcGVuIGFub3RoZXIgY29ubmVjdGlvbiB0byB0aGUgd2F5bGFuZCBzZXJ2ZXIuCgkgIFRoZXNlIHR3byBkaXNwbGF5IGNvbm5lY3Rpb25zIGFyZSB1bmFibGUgdG8gY29tbXVuaWNhdGUgcmVzdWx0aW5nIGluCgkgIG5vIHdpbmRvdyBvdXRwdXQvZGlzcGxheSBhbmQgaGFuZ3MgaW5zaWRlIGxpYkVHTC4KCSAgRXZlbnR1YWxseSB3ZSB3aWxsIG1vdmUgdGhlIHdsX2Rpc3BsYXkgZnJvbSBHc3RHTFdpbmRvdyB0byBHc3RHTERpc3BsYXkuCgoyMDE0LTA2LTA1IDA5OjQwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJICBydG1wOiBwcm94eSBsb2dnaW5nIGZyb20gbGlicnRtcAoJICBIZWxwcyB3aXRoIGRlYnVnZ2luZyB2YXJpb3VzIGxpYnJ0bXAgaXNzdWVzCgoyMDE0LTA2LTA1IDA4OjI5OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggcG9zaXRpb24gcXVlcnlpbmcKCSAgSXQncyB0aGUgcG9zaXRpb24gd2UncmUgcXVlcnlpbmcsIG5vdCB0aGUgZHVyYXRpb24gOikKCjIwMTQtMDYtMDQgMjE6Mzk6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIGV4dHJhbmVvdXMgZXh0cmEgcGFyYW1ldGVyIGZyb20gY2hlY2tfcGVuZGluZ19idWZmZXJzIGZ1bmN0aW9uCgoyMDE0LTA2LTA0IDIxOjMxOjIxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGlzZXI6IEFsd2F5cyBpbml0aWFsaXNlIHBhY2tldCBBRkMgZmxhZ3MgYW5kIFBDUiBmaWVsZHMKCSAgQWxzbyBmaXggYSBzbGlnaHQgdHlwbyBpbiBhIGNvbW1lbnQgYWJvdXQgdGhlIHNtb290aGluZyBhbGdvcml0aG0KCjIwMTQtMDUtMjMgMTU6MDc6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVzZXQgcGVuZGluZ190cyBvbiBhIGRpc2NvbnQsIHRvIHJlLW1lYXN1cmUgaW5pdGlhbCB0aW1lc3RhbXBzCgkgIFNpbmNlIGFsbCB0aGUgb3RoZXIgdGltZXN0YW1wIHRyYWNraW5nIG5vdyBnZXRzIHJlc2V0IG9uIGEgZGlzY29udCwKCSAgaXQgbWFrZXMgc2Vuc2UgdG8gd2FpdCBmb3IgYSBQQ1IgYW5kIHRpbWVzdGFtcCBidWZmZXJzIGxpa2Ugd2hlbgoJICBwbGF5YmFjayBmaXJzdCBzdGFydHMKCjIwMTQtMDMtMjEgMjI6MTY6NDEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBhZGQgc3VwcG9ydCBmb3Igcm9sbG92ZXIgY291bnRlcnMgYW5kIHJlcGxheSBwcm90ZWN0aW9uIHdpbmRvdyBzaXplCgkgIFdlIGFkZCBhIG5ldyBzaWduYWwsIGdldC1yb2xsb3Zlci1jb3VudGVyLCB0byB0aGUgU1JUUCBlbmNvZGVyLiBHaXZlbiBhCgkgIHNzcmMgdGhlIHNpZ25hbCB3aWxsIHJldHVybiB0aGUgY3VycmVudGx5IGludGVybmFsIFNSVFAgcm9sbG92ZXIgY291bnRlcgoJICBmb3IgdGhlIGdpdmVuIHN0cmVhbS4KCSAgRm9yIHRoZSBTUlRQIGRlY29kZXIgd2UgaGF2ZSBhIG5ldyBTUlRQIGNhcHMgcGFyYW1ldGVyICJyb2MiIHRoYXQgbmVlZHMKCSAgdG8gYmUgc2V0IHdoZW4gYSBuZXcgU1JUUCBzdHJlYW0gaXMgY3JlYXRlZCBmb3IgYSBnaXZlbiBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODYxCgoyMDEzLTEwLTE0IDE2OjE0OjQyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogaGFuZGxlIGdhcCBidWZmZXIgZmxhZwoJICBSZW1vdmUgR0FQIGZsYWcgdW5sZXNzIGJvdGggc2lkZXMgaGF2ZSBnYXAgZGF0YSwgaWdub3JlCgkgIGluY29taW5nIGRhdGEgaWYgaXQgaXMgZ2FwIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTcKCjIwMTQtMDUtMjUgMjE6NDM6MjIgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGltcHJvdmUgc3RhdGUgY2hhbmdlIGRlYnVnIG1lc3NhZ2UKCjIwMTQtMDYtMDMgMTM6NTk6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBhbHdheXMgcmVsZWFzZSB0aGUgcHJldmlvdXMgYnVmZmVyCgkgIEZpeGVzIHRoZSBjYXNlIHdoZXJlIF9wZXJmb3JtX3dpdGhfYnVmZmVyKCkgaXMgY2FsbGVkIHdpdGhvdXQKCSAgaW50ZXJ2ZW5pbmcgY2FsbHMgdG8gX3JlbGVhc2VfYnVmZmVyKCkgYXMgaXMgdGhlIGNhc2Ugb24gc3RhcnQgdXAKCSAgd2l0aCBnbGltYWdlc2luay4KCSAgQWxzbyByZWxlYXNlIHRoZSBidWZmZXIgd2hlbiByZXNldGluZyB0aGUgdXBsb2FkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMTA3CgoyMDE0LTA2LTAyIDIxOjUxOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBUYWtlIGFjY291bnQgb2YgbWVtb3J5IGFsaWdubWVudCBpbiBzaG0gdGVzdAoKMjAxNC0wNi0wMiAyMTo0Mzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRmFpbCBncmFjZWZ1bGx5IGlmIGV2ZW50IGNhbid0IGJlIHBhcnNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDkzCgoyMDE0LTA2LTAyIDIxOjQzOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEFsbG9jYXRlIGVub3VnaCBtZW1vcnkgdG8gZG8gYWxpZ25tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwOTMKCjIwMTQtMDYtMDIgMTI6Mzk6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFjdHVhbGx5IHByaW50IHRoZSBzdGFja3RyYWNlIGludG8gdGhlIGVycm9yIHN0cmluZwoKMjAxNC0wNi0wMiAxMToyODo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYXIgdGhlIGV4Y2VwdGlvbiBiZWZvcmUgdHJ5aW5nIHRvIGNhbGwgSmF2YSBtZXRob2RzIHRvIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcKCjIwMTQtMDYtMDIgMTE6MTY6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjcmFzaGVzIHdoZW4gbG9hZGluZyB0aGUgcGx1Z2luIGluIGEgc3RhbmRhbG9uZSBhcHBsaWNhdGlvbiBvbiBBbmRyb2lkID49IDQuNAoJICBDaGVjayBpZiBsaWJuYXRpdmVoZWxwZXIgaXMgbG9hZGVkIGluIHRoZSBwcm9jZXNzIGFuZCBpZgoJICBpdCBoYXMgdGhlc2UgYXdmdWwgd3JhcHBlcnMgZm9yIEpOSV9DcmVhdGVKYXZhVk0gYW5kCgkgIEpOSV9HZXRDcmVhdGVkSmF2YVZNcyB0aGF0IGNyYXNoIHRoZSBhcHAgaWYgeW91IGRvbid0CgkgIGNyZWF0ZSBhIEpuaUludm9jYXRpb24gaW5zdGFuY2UgZmlyc3QuIElmIGl0IGlzbid0IHdlCgkgIGp1c3QgZmFpbCBoZXJlIGFuZCBkb24ndCBpbml0aWFsaXplIGFueXRoaW5nLgoJICBTZWUgdGhpcyBjb2RlIGZvciByZWZlcmVuY2U6CgkgIGh0dHBzOi8vYW5kcm9pZC5nb29nbGVzb3VyY2UuY29tL3BsYXRmb3JtL2xpYm5hdGl2ZWhlbHBlci8rL21hc3Rlci9KbmlJbnZvY2F0aW9uLmNwcAoKMjAxNC0wNi0wMiAxMDoxMTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogbWFrZSBwb3NpdGlvbiBxdWVyeSBhYmxlIHRvIGNvbnZlcnQgYnl0ZXMgdG8gdGltZQoJICAoc2FtZSBhcyA3NDRjNThkNzFiMjE0NzVkMmVkZDViOTMzNGUyNzdjZmE0YzUzMjYwIGJ1dCBmb3IgdGhlCgkgIHBvc2l0aW9uIHF1ZXJ5KQoJICBJdCB3YXMgb25seSBxdWVyeWluZyBpbiB0aW1lLCBidXQgdGhlbiB0cnlpbmcgdG8gdXNlIGRlYWQgYnl0ZXMKCSAgdG8gdGltZSBjb252ZXJzaW9uIGNvZGUuCgkgIENvdmVyaXR5IDExMzk2NzcKCjIwMTQtMDYtMDIgMDk6NDI6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIGNyYXNoaW5nIGluIHBhdGhvbG9naWNhbCBjYXNlCgkgIChJZGVudGljYWwgdG8gY29tbWl0IDYxMmNkZWVjODBkYTk1YjEyZjlmYWQ5Mjg0MTljN2RlMmJlMjBkNjggd2hpY2gKCSAgd2FzIGZvciByZXNpbmR2ZCkKCSAgV2hlbiB3ZSdkIHNlZSBhbiB1bmtub3duIHN0cmVhbSB0eXBlLCB0aGVuIGEgU0REUyBzdHJlYW0uCgkgIFRoZW4gd2UnZCBnZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3dpdGNoIHdpdGggYSBOVUxMIHRlbXAgc3RyZWFtCgkgIHBvaW50ZXIsIGFuZCBkZXJlZmVyZW5jZSBpdC4KCSAgQ292ZXJpdHkgMTEzOTcwOAoKMjAxNC0wNi0wMiAwOToyMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBIYW5kbGUgKHVubGlrZWx5KSBOVUxMIHJldHVybiBvZiBnbC0+R2V0U3RyaW5nIChHTF9WRVJTSU9OKSBtb3JlIGdyYWNlZnVsbHkKCSAgQ0lEIDEyMTk4NTgKCjIwMTQtMDYtMDIgMDg6MjI6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogUmVtb3ZlIHVubmVlZGVkIE5VTEwgY2hlY2sKCSAgQWxsb2NhdGluZyB0aG9zZSBzdHJ1Y3R1cmVzIGlzIGRvbmUgaW4gYWxsIGNvZGUgcGF0aHMgbGVhZGluZyB0aGVyZQoJICBDSUQgIzEyMTk4NjAKCSAgQ0lEICMxMjE5ODYxCgkgIENJRCAjMTIxOTg2MgoJICBDSUQgIzEyMTk4NjMKCSAgQ0lEICMxMjE5ODY0CgoyMDE0LTA2LTAxIDEwOjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IGluY3JlYXNlIG1heC4gYWxsb3dlZCB2YWx1ZSBmb3IgYml0cmF0ZSBwcm9wZXJ0eQoJICBGb3IgRFZEIHRoZSBsaW1pdCBpcyBhcm91bmQgMTBNYml0L3MsIGJ1dCBmb3IgZS5nLiBBVFNDCgkgIGl0IGNvdWxkIGJlIG11Y2ggaGlnaGVyLgoKMjAxNC0wNS0yNSAxMzowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgaW4gY2FzZSB0c3BhcnNlIGlzIG1pc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MQoKMjAxNC0wNS0zMCAxNzozNTo0OSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogYWRkIHByb3Agc2V0dXAgY29kZSBmb3IgZ3VpbnQ2NAoJICBOZWVkZWQgc2luY2Ugd2UgYXJlIG5vdyBwcm94eWluZyB0dW5pbmctdGltZW91dAoJICBmcm9tIGR2YnNyYy4KCjIwMTQtMDUtMjAgMDc6MzQ6NTYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgbW90aW9uY2VsbHM6IGltcHJvdmUgbG9nZ2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjI5OjE2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogbWFrZSBmcmFtZWRyb3Agd29yayBhdCAzMCBmcHMgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6MjU6MjAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBtb3Rpb25jZWxsczogdXNlIHN0YW5kYXJkIG1hY3JvIGZvciBib29sZWFuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6MTg6MzkgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IG1ha2UgdGhlIHBsdWdpbiBjb21waWxlIHdpdGggYWxsIDIuNC54IHZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjYgMjI6MzQ6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2Yi9jYW0qOiB1c2UgZ19zdHJlcnJvciBhbmQgb3RoZXIgZmV3IG5pdHMKCjIwMTQtMDUtMzAgMTE6MDA6MDYgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBkdmJzcmMgc2lnbmFsIHByb3h5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMzAgMDA6NDk6NDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHByb3h5IG5ldyBwcm9wcy9zaWduYWxzIGZyb20gZHZic3JjCgkgIFByb3h5IHR1bmluZyBzdGFydC9kb25lL2ZhaWwgc2lnbmFscyBhbmQgdHVuaW5nLXRpbWVvdXQKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMDEgMTg6MjU6MDUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSAgZHZic3JjOiBzbWFydGVuIHVwIHR1bmluZyBsb2dpYwoJICAqIERyb3AgcmVtYWluaW5nIHNsZWVwKCkgbG9naWMgaW4gZmF2b3Igb2YgcG9sbGluZwoJICAqIFVzZSBiZXN0IGd1ZXNzIGRlbGl2ZXJ5IHN5c3RlbSBpZiBub25lIGlzIHNldAoJICAqIE1ha2UgdHVuaW5nL2xvY2tpbmcgdGltZW91dCBjb25maWd1cmFibGUKCSAgKiBBZGQgc2lnbmFscyBmb3IgdHVuaW5nIHN0YXJ0LCBkb25lIGFuZCBmYWlsCgkgICogRHJvcCBnc3RfZHZic3JjX2Zyb250ZW5kX3N0YXR1cygpLiBJdCB3YXMgdXNlZCBvbmx5CgkgIGZvciBzaWduYWwgTE9DSyBjaGVja2luZy4gVGhpcyBpcyBub3cgcGFydCBvZiB0aGUKCSAgdHVuaW5nL2xvY2tpbmcgbG9vcAoJICAqIEJyZWFrIHVwIGZyb250ZW5kIGNvbmZpZ3VyYXRpb24gYW5kIHR1bmluZwoJICBvbiBzZXBhcmF0ZSBmdW5jdGlvbnMKCSAgUGx1czoKCSAgKiBBZGQgc29tZSBtb3JlIHVzZWZ1bCBERUJVRy9UUkFDRSBtZXNzYWdlcwoJICAqIE1vdmUgb3ZlciBtaXNwbGFjZWQgRFZCIEFQSSBtZXNzYWdlCgkgICogRml4IHdyb25nIGNvbW1lbnQgZm9yIGRlZmF1bHQgRFZCIGJ1ZmZlciBzaXplIChodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy9kbXhfZmNhbGxzLmh0bWwjRE1YX1NFVF9CVUZGRVJfU0laRSkKCSAgVGhpcyBwYXRjaCBidWlsZHMgdXAgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0zMCAxNjozNTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGV4Y2VwdGlvbnMgZnJvbSB0aGUgSmF2YSBBUEkgdG8gZXJyb3IgbWVzc2FnZXMsIGFuZCBwb3N0IG1vcmUgZXJyb3Ivd2FybmluZyBtZXNzYWdlcyBvdmVyYWxsCgoyMDE0LTA1LTMwIDE1OjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYSBHRXJyb3IgYXJndW1lbnQgdG8gYWxsIGFtYyBtZXRob2RzIGFuZCBjYXRjaCBleGNlcHRpb25zIHRoZXJlCgoyMDE0LTA1LTMwIDE1OjI0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEZXNjcmliZSBleGNlcHRpb25zIGhhcHBlbmluZyB3aGVuIHNjYW5uaW5nIGFsbCBjb2RlY3MKCjIwMTQtMDUtMzAgMTI6MTk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBBUEkgdG8gY29udmVydCBhbiBleGNlcHRpb24gaW50byBhIHN0cmluZwoKMjAxNC0wNS0zMCAxMjo0MDowOCArMDIwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWxlYXNlIHRoZSBjb2RlYyBiZWZvcmUgZnJlZWluZyBpdAoJICBPbiBTYW1zdW5nIEdhbGF4eSBTNCBpdCBpcyBpbXBvc3NpYmxlIHRvIGhhdmUgbW9yZSB0aGFuIG9uZQoJICBoYXJkd2FyZSBkZWNvZGVyIGF0IHRoZSBzYW1lIHRpbWUuIElmIHdlIGRvIG5vdCByZWxlYXNlIGl0CgkgIGV4cGxpY2l0bHkgdGhlIEdDIG9ubHkgcmVsZWFzZXMgaXQgd2hlbmV2ZXIgdGhlIHdob2xlIGFwcGxpY2F0aW9uCgkgIGlzIGZpbmlzaGVkIG5vdCB3aGVuZXZlciB0aGUgYWN0aXZpdHkgaXMgZmluaXNoZWQgYW5kIHRodXMgYSBwbGF5ZXIKCSAgd2lsbCBub3QgYmUgYWJsZSB0byB3b3JrIGNvcnJlY3RseQoKMjAxNC0wNS0zMCAwMjoxMDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogZml4IHN0cnVjdHVyZSBoYW5kbGluZyBpbiBwcmV2aWV3IG1lc3NhZ2UKCSAgQXZvaWQgdHJ5aW5nIHRvIG1vZGlmeSB0aGUgbWVzc2FnZSBzdHJ1Y3R1cmUgYXMgaXQgaXNuJ3QgbXV0YWJsZS4KCSAgVXNlIGEgY29weSBhbmQgcG9zdCBhIG5ldyBtZXNzYWdlIGlmIG5lY2Vzc2FyeS4KCSAgRml4ZXMgZmFpbGluZyB0ZXN0cy4KCjIwMTQtMDUtMzAgMTI6MjM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgdW5lZWRlZCBnbCBhcGkgaWZkZWZzCgoyMDE0LTA1LTMwIDExOjUxOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93X3gxMTogYWxsb3cgZXhwb3NlIGV2ZW50cyB0byByZWRyYXcgb3VyIHdpbmRvdwoJICBvdGhlcndpc2Ugd2Ugd2lsbCBub3QgdXBkYXRlIHRoZSB3aW5kb3cgY29udGVudHMgb24gbG93IGZyYW1lcmF0ZQoJICBzdHJlYW1zIHVudGlsIHRoZSBuZXh0IGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDExOjQ2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIG9sZCBidWZmZXIgb3V0c2lkZSB0aGUgbG9jawoJICBpdCBjb3VsZCB2ZXJ5IHdlbGwgZGVhZGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMTozNTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFJldmVydCAiWzg4MC85MDZdIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHN0b3JlZF9idWZmZXIgZmllbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWYzYTY4ZGI3ZGM0NzNmYjY5MDNjMTg5NjZiMzllNGMzZjE0NjRkNy4KCSAgQ29uZmxpY3RzOgoJICBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDEwOjQ2OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggdXAgYXNzZXJ0aW9uCgkgIGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQKCjIwMTQtMDUtMzAgMTA6Mjc6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2JsZW5kaW5nLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9mYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9maXhlZGZ1bmN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3NoYWRlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsZmVhdHVyZTogcmVtb3ZlIEdTVF9HTF9BUElfR0xFUzMKCSAgaW5zdGVhZCBjaGVjayB0aGUgZ2wgdmVyc2lvbiB1c2luZyBnc3RfZ2xfY29udGV4dF9jaGVja19nbF92ZXJzaW9uKCkKCjIwMTQtMDUtMzAgMTA6MjU6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGNoZWNrIGZvciBHTEVTIHZlcnNpb25zCgoyMDE0LTA1LTI5IDIwOjM1OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBhZGQgY2hlY2tfZ2xfdmVyc2lvbgoKMjAxNC0wNS0yOSAxNzowOToyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBUcnkgR0xYIHN1cHBvcnQgYmVmb3JlIEVHTCBzdXBwb3J0CgkgIElmIGF2YWlsYWJsZSwgZ2x4IGhhcyBnb3QgYSBiZXR0ZXIgY2hhbmNlIG9mIGJlaW5nIHRoZSBHbCBwbGF0Zm9ybQoJICB3ZSB3YW50IHRvIHVzZSBjb21wYXJlZCB0byBFR0wKCjIwMTQtMDUtMjkgMTY6NTk6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFRyeSB0byBvcGVuIGxpYntFR0x8R0x8R0xFU3YyfS5zby4xIGJlZm9yZSBsaWJ7RUdMfEdMfEdMRVN2Mn0KCSAgRml4ZXMgaXNzdWVzIHdpdGggLnNvICh3aXRob3V0IG51bWJlcmluZykgYmVpbmcgaW5zdGFsbGVkIGZvciBkZXZlbG9wbWVudAoJICAoc3VjaCBhcyBmcm9tIG1lc2EtZGV2KSBidXQgYWN0dWFsIGRyaXZlciAod2l0aCBudW1iZXJpbmcpIGNvbWluZyBmcm9tCgkgIHNvbWUgb3RoZXIgcGxhY2UgKGxpa2UgbnZpZGlhIGRyaXZlcnMpCgoyMDE0LTA1LTI5IDE2OjAxOjIyICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxNC0wNS0yOSAxMjozMDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJICBhdHNjLXNlY3Rpb246IEZpeCBhbm5vdGF0aW9uCgoyMDE0LTA1LTI5IDEyOjI5OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IEZpeCBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIHBhcnNpbmcKCSAgdGhlIHByb3ZpZGVyIGFuZCBzZXJ2aWNlIG5hbWUgd2FzIGludmVydGVkCgoyMDE0LTA1LTI4IDE2OjQ3OjUzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgcGFyZW50aWFsIHJhdGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTY6NDc6MjggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjYSBpZGRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MjM6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBzdHJlYW0gaWRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MjM6MTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjb250ZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoxOTo0MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjkgMTE6NTU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBmYWN0b3IgZHVtcGluZyBjb2RlCgkgIFdlIGNhbiBqdXN0IHJlLXVzZSB0aGUgbmV3IGZ1bmN0aW9uIGluc3RlYWQgb2YgaGF2aW5nIHR3byBkdXBsaWNhdGVzCgoyMDE0LTA1LTI5IDEwOjUwOjU4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgbGlua2FnZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MDEKCjIwMTQtMDUtMjggMjA6NDI6MDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBidWdmaXggbW9iaWxlIGhhbmQgb3ZlciBsaW5rYWdlIHBhcnNlIG1pc3NtYXRjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTAxCgoyMDE0LTA1LTI4IDE2OjM0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBtaXNzaW5nIGZpZWxkIHRvIEVUVCB0YWJsZQoJICBTZXQgdGhlIHN1YnRhYmxlX2V4dGVuc2lvbiBhcyBldHRfdGFibGVfaWRfZXh0ZW5zaW9uCgkgIGZvciBFVFQgdGFibGVzIGFzIGl0IGlzIHVzZWQgYnkgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yOCAxNTo1OToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBhdHNjJ3MgRUlUIHRhYmxlIHBhcnNpbmcKCSAgQVRTQyBoYXMgaXRzIG93biB2ZXJzaW9uIG9mIHRoZSBFSVQgdGFibGUgKERWQiBhbHNvIGhhcyBvbmUpLgoJICBUaGlzIHBhdGNoIGFkZHMgcGFyc2luZyBmb3IgdGhlIEFUU0MgRUlUIHRhYmxlIGFuZCBhbHNvIGZpeGVkCgkgIHRoZSBzZWN0aW9uIGlkZW50aWZpY2F0aW9uIHRvIG1hcmsgaXQgYXMgdGhlIEFUU0Mgb25lLgoJICBUaGUgaW1wbGVtZW50YXRpb24gYXdzIHJlZmFjdG9yZWQgdG8gcmV1c2Ugc29tZSBjb21tb24gaW50ZXJuYWwKCSAgc3RydWN0dXJlcyBmcm9tIEVUVC4KCSAgQWxzbyBhZGRzIGl0cyBkdW1waW5nIGZ1bmN0aW9uIHRvIHRzLXBhcnNlciBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjIgMTc6NDk6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdHM6IG1wZWd0czogYWRkIHRlc3QgZm9yIFNUVCBwYXJzaW5nCgkgIFNwZWNpYWxseSBmb3IgdGhlIHRpbWUgdG8gVVRDIGRhdGV0aW1lIGNvbnZlcnNpb24KCSAgRXhhbXBsZSB0YWtlbiBmcm9tIHRoZSBBNjUgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIyIDAxOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIFNUVCB0YWJsZSBwYXJzaW5nCgkgIEFkZHMgdGhlIHN5c3RlbSB0aW1lIHRhYmxlIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zIGZvciBjb252ZW5pZW50IHBhcnNpbmcgb2YKCSAgaXQgYW5kIGZvciBnZXR0aW5nIHRoZSBVVEMgZGF0ZXRpbWUgdGhhdCBpdCByZXByZXNlbnRzLiBBbHNvIGFkZHMgaXRzCgkgIGluZm9ybWF0aW9uIGR1bXBpbmcgdG8gdGhlIHRzLXBhcnNlciBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTY6MjA6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIGVuY29kaW5nIGNvbnZlcnNpb24gZm9yIFVURi0xNiBFVFQgc3RyaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDE0OjUwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IG1wZWd0czogYWRkIGZ1bmN0aW9uIHRvIGR1bXAgRVRUIHRhYmxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDEzOjQ2OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGF0c2M6IGFkZCBFVFQgc3RydWN0dXJlcyBhbmQgcGFyc2luZwoJICBFVFQgKGV4dGVuZGVkIHRleHQgdGFibGUpIGNvbnRhaW5zIEFUU0MgdGV4dCBpbmZvcm1hdGlvbiB3aXRoIGRlc2NyaXB0aW9ucwoJICBvZiB2aXJ0dWFsIGNoYW5uZWxzIGFuZCBldmVudHMuIFRoZSB0ZXh0IGNhbiBiZSBpbnRlcm5hdGlvbmFsaXplZCBhbmQgYWxzbwoJICBjb21wcmVzc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE2IDE1OjM5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogcGFyc2UgdGhlIG1ndCBhbmQgYWRkIGxpc3RlZCBFSVQvRVRUIHBpZHMgdG8gdGhlIGtub3duIHBzaQoJICBUaGlzIHdpbGwgbWFrZSB0c2Jhc2UgYWxzbyBwYXJzZSB0aGUgRUlUcyBhbmQgRVRUcyBmcm9tIEFUU0Mgc3RyZWFtcyB0aGF0IGhhdmUKCSAgdGhlaXIgcGlkcyByZXBvcnRlZCBvbiB0aGUgTUdUIGFuZCBwb3N0IHRvIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xNSAxMjozMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGFkZCBhdHNjIE1HVCBzZWN0aW9uIHBhcnNpbmcKCSAgQWRkIGEgcGFyc2luZyBmdW5jdGlvbiBmb3IgTUdUIGFuZCBhbHNvIGRldGVjdCB0aGUgRUlUIHRhYmxlcwoJICBmb3IgQVRTQywgdGhlIEVJVCBwaWRzIGFyZSByZXBvcnRlZCBpbnNpZGUgdGhlIE1HVCBhbmQgd2UgYXJlIHN0aWxsCgkgIG9ubHkgcmVseWluZyBvbmx5IG9uIHRoZSB0YWJsZSBpZCBmb3IgZGV0ZWN0aW5nIGl0LiBJbiB0aGUgZnV0dXJlIHdlCgkgIHdvdWxkIHdhbnQgdG8gYWxzbyBjaGVjayB0aGUgcGlkIGFuZCBjb21wYXJlIHdpdGggd2hhdGV2ZXIgdGhlIE1HVAoJICBwcmV2aW91c2x5IHJlcG9ydGVkIHRvIGNvbmZpcm0gdGhhdCBpdCBpcyBpbmRlZWQgdGhlIEVJVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMyAwMTo0MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhdHNjOiByZW5hbWUgVFZDVCB0byBWQ1QgYXMgaXQgaXMgdGhlIHNhbWUgYXMgQ1ZDVAoJICBNYWtlIHRoZSBBVFNDIHNlY3Rpb24gcGFyc2UgaGFuZGxlIGJvdGggVFZDVCBhbmQgQ1ZDVCBhcyB0aGV5IGFyZQoJICBuZWFybHkgdGhlIHNhbWUgc3RydWN0IChDVkNUIHVzZXMgMiByZXNlcnZlZCBiaXRzIHRoYXQgYXJlIGlnbm9yZWQKCSAgaW4gVFZDVCkuCgkgIFRoaXMgaXMgY2hhbmdpbmcgdGhlIGdsaWIgdHlwZSBhbmQgdGhlIHN0cnVjdCBuYW1lIGJ1dCBUVkNUIHdhc24ndAoJICByZWxlYXNlZCBpbiBhIHN0YWJsZSBwYWNrYWdlIHlldCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcHJvYmxlbS4KCSAgQWxzbyBpbmNsdWRlcyBzb21lIHBhcnNpbmcgZml4ZXMgYW5kIGNoYW5nZXMgc2hvcnRfbmFtZSB0byBiZQoJICBkaXJlY3RseSBzdG9yZWQgYXMgdXRmOCByYXRoZXIgdGhhbiB1dGYxNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQyCgoyMDE0LTA1LTI4IDEzOjExOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogYWRkIFRWQ1QgYW5kIENWQ1QgdGFibGVzIGR1bXBpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MgoKMjAxNC0wNS0yOSAxMDozNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IGFzc2VydGlvbiBhZnRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0yOSAxODozMzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBrZWVwIG91ciBwcml2YXRlIHBvaW50ZXIKCSAgYWdhaW4sIGF2b2lkIHRvIG11Y2ggdHJpZ2dlcgoKMjAxNC0wNS0yOSAxODozMjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdsdXBsb2FkIGNoYW5nZXMKCjIwMTQtMDUtMjkgMTc6Mjk6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3VyIG93bgoKMjAxNC0wNS0yOSAxNzoxMjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiByZW1vdmUgdW5uZWNhc3NhcnkgcG9pbnRlciBpbmRlcmVjdGlvbgoKMjAxNC0wNS0yOSAxNjo0NTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiByZSBhZGQgdGhlIHVwbG9hZCBtZXRhIHRvIHRoZSBwcml2YXRlIHN0cnVjdAoJICB0cnkgYW5kIGF2b2lkIGJlaW5nIHRvIHRyaWdnZXIgaGFwcHkKCjIwMTQtMDUtMjkgMTY6Mjk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc21hbGwgY29kZSBjbGVhbnVwIGFuZCBnc3QtaW5kZW50CgoyMDE0LTA1LTI5IDE2OjIyOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIGdsL2Rvd25sb2FkOiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91dCBvd24KCjIwMTQtMDUtMjkgMTY6MjA6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3VyIG93bgoKMjAxNC0wNS0yOSAxNjoxODowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhbHNvIHJlbW92ZSB0aGUgd2lkdGgvaGVpZ2h0IGluIHRyYW5zZm9ybV9jYXBzCgkgIGFsbG93cyBzY2FsaW5nIGluIHRoZSBmaWx0ZXJzCgoyMDE0LTA1LTI5IDE2OjExOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IG9wdGltaXNlIHRoZSBzYW1lIGZvcm1hdCBjYXNlCgkgIHNpbXBseSByZXR1cm4gdGhlIGlucHV0IGJ1ZmZlciB1bmNoYW5nZWQKCjIwMTQtMDUtMjkgMTY6MDc6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogZml4IFlVWTIvVVlWWSBkb3dubG9hZCBmb3IgUkcvTEEgdGV4dHVyZXMKCjIwMTQtMDUtMjkgMTU6NTA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL2NvbG9yY29udmVydDogYWxsb2NhdGUgb3V0cHV0IGJ1ZmZlcnMKCSAgQWxsb3dzIHRoZSBub3Agb3B0aW1pc2F0aW9uIGJ5IHNpbXBseSByZWZmaW5nIHRoZSBpbnB1dCBidWZmZXIuCgoyMDE0LTA1LTI4IDE2OjE4OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQXZvaWQgc2hhZG93aW5nIG1haW4gbG9vcCB2YXJpYWJsZQoJICBXZSBlbmQgdXAgd2l0aCBpbnRlcmVzdGluZyByZXN1bHRzIG90aGVyd2lzZSA6KQoKMjAxNC0wNS0yOCAxNTo1MzoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBwcml2YXRlLWRhdGEtc3BlY2lmaWVyIGFuZCBmcmVxdWVuY3ktbGlzdAoKMjAxNC0wNS0yOCAxNTo1Mjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogTWFrZSBzb21lIGZpZWxkcyBvcHRpb25hbAoJICBTb21lIHBlb3BsZSBtaWdodCBqdXN0IG5vdCBjYXJlIGFib3V0IHRoZSBjb250ZW50cwoKMjAxNC0wNS0yOCAxNTo1MjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXBkYXRlIGRvY3MgZm9yIERWQiBmcmVxdWVuY3kgbGlzdAoKMjAxNC0wNS0yOCAyMzoyMTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIHJlY2VudCBnbHVwbG9hZCBjaGFuZ2VzCgkgIEdzdEdMVXBsb2FkTWV0YSBvYmplY3QgaXMgbm93IHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCSAgcHJvdmlkZXIuCgoyMDE0LTA1LTI4IDEyOjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMTI6NDM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDEyOjQ0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IGJhc2UgVVJJIGlmIHRoZXJlIHdhcyBubyByZWRpcmVjdAoKMjAxNC0wNS0yOCAwOToxODo0OSArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHBhcnNpbmcgb2YgIi1xdW90ZWQga2V5IFVSSXMgbW9yZSByZXNpbGllbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgzMAoKMjAxNC0wNS0yOCAxMDoxOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMDk6NDI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFN0b3JlIFVSSSBhbmQgcmVkaXJlY3QgdGFyZ2V0IGluIHRoZSBkb3dubG9hZGVkIGZyYWdtZW50cwoKMjAxNC0wNS0yOCAwNzo0MDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBMb2dpY2FsIENoYW5uZWwgRGVzY3JpcHRvciBwYXJzaW5nCgkgIE5vIHdvbmRlciB3ZSB3ZXJlIGdldHRpbmcgZ2FyYmFnZSAuLi4KCjIwMTQtMDUtMjcgMjA6Mzc6MjYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODQ3CgoyMDE0LTA1LTI3IDIwOjMyOjQyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBwcmludGluZyBlbnVtIHR5cGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NDcKCjIwMTQtMDUtMjggMTQ6NDM6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogZml4IGluY29ycmVjdCB0eXBlIGluIG1hY3JvcwoKMjAxNC0wNS0yOCAxNDo0MDoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmg6CgkgIGdsL3VwbG9hZDogYWRkIEdzdEdMVXBsb2FkTWV0YSBvYmplY3QKCSAgVGhhdCBzaW1wbHkgZGVhbHMgd2l0aCB0aGUgcHJvdmlkZXIgYXNwZWN0IG9mIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YS4KCjIwMTQtMDUtMjcgMTc6MzQ6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgRFZCIEV4dGVuZGVkIGV2ZW50IHBhcnNpbmcKCjIwMTQtMDUtMjcgMTc6MzI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEVuc3VyZSBOVUxMLXRlcm1pbmF0ZWQgbGFuZ3VhZ2UgY29kZQoJICBZdXAsIGl0IGJyZWFrcyBBUEkgYW5kIEFCSSwgSSBrbm93LiBCdXQgbGV0J3MgYXZvaWQgcGVvcGxlIGFuZCBiaW5kaW5ncwoJICBwcmludGluZyBvdXQgZ2FyYmFnZQoKMjAxNC0wNS0yNyAxNzoyNToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogRml4IEV4dGVuZGVkIERWQiBkZXNjcmlwdG9yIHBhcnNpbmcKCSAgV2Ugd2VyZSBvdmVyLXJlYWRpbmcgZGF0YSwgYW5kIHRoZSBuYl9pdGVtcyBmaWVsZCBpc24ndCBuZWVkZWQsCgkgIGl0J3MgYSBwcm9wZXJ0eSBvZiB0aGUgR1B0ckFycmF5CgoyMDE0LTA1LTI4IDAwOjU2OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogbWFrZSBzZW5kX21lc3NhZ2UgcmVlbnRyYW50CgkgIEkgY291bGQgbm90IGZpbmQgYSBjb21wYXJhYmxlIHdpbjMyQVBJIGZ1bmN0aW9uIHNvIGtlZXAgdGhlIHJ1bm5pbmcKCSAgdGhyZWFkIHBvaW50ZXIgdG8gY29tcGFyZSBhZ2FpbnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzgyCgoyMDE0LTA1LTI3IDE2OjE3OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggdXNhZ2Ugb2YgbWVtY3B5CgkgIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gd2VyZSBpbnZlcnRlZAoKMjAxNC0wNS0yNiAyMDozODo0NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM4OjE5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzc6NTMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozNzoyMSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjIwOjM5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjIwOjAzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjEwOjUxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjA3OjUyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI3IDEwOjIxOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZC9yZW1vdmUgcGFkcyB0byBmbG93Y29tYmluZXIgZGlmZmVyZW50bHkgZHVlIHRvIHN0cmVhbWluZyBuYXR1cmUKCSAgRHVlIHRvIG1wZWd0cyBzdHJlYW1pbmcgbmF0dXJlIHNvbWUgcGFkcyBhcmUgY3JlYXRlZCBidXQgYXJlIG9ubHkgYWRkZWQKCSAgbGF0ZXIgdG8gdGhlIGVsZW1lbnQuIFRoaXMgY2FuIGNhdXNlIGEgc2NlbmFyaW8gd2hlcmUgdGhlIGZpcnN0IHN0cmVhbQoJICBkb2Vzbid0IGhhdmUgYW4gYXZhaWxhYmxlIGRlY29kZXIgKHdoaWxlIHRoZSBuZXh0IG9uZXMgc3RpbGwgcGVuZGluZwoJICB3b3VsZCBoYXZlKSBhbmQgdHNkZW11eCB3aWxsIGZhaWwgd2l0aCBub3QtbGlua2VkIGFzIHRoZSBmaXJzdCBzdHJlYW0KCSAgYWRkZWQgd291bGRuJ3QgYmUgbGlua2VkLgoJICBUbyBhdm9pZCB0aGlzIHRzZGVtdXggbmVlZHMgdG8gYWRkIHBhZHMgdG8gdGhlIGZsb3djb21iaW5lcgoJICB3aGVuIHRoZXkgYXJlIGNyZWF0ZWQgaW5zdGVhZCBvZiBvbmx5IHdoZW4gYWRkaW5nIHRoZW0gdG8gdGhlCgkgIGVsZW1lbnQuCgoyMDE0LTA1LTI3IDEzOjU2OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbGNvbG9yY29udmVydC5jOjExMzM6MTE6IGVycm9yOiAnaicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIFdhcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbiBqdW1waW5nIHRvIG91dCBsYWJlbAoJICBpbiBlcnJvciBjYXNlLgoKMjAxNC0wNS0yNyAxODoyMDoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IG9wZXJhdGUgb24gYnVmZmVycyBpbnN0ZWFkIG9mIG1lbW9yaWVzCgoyMDE0LTA1LTI3IDA3OjQyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogcmVtb3ZlIHVucmVhZCBsYXN0X2Zsb3cgdmFyaWFibGUKCSAgaXQgaXNuJ3QgbmVjZXNzYXJ5IGFueW1vcmUgYW5kIGlzIGFscmVhZHkgdW51c2VkCgoyMDE0LTA1LTI3IDExOjI4OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogbWFrZSBpdCBhY3R1YWxseSBob25vciBzaG93LXByZXJvbGwtZnJhbWUgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgwMgoKMjAxNC0wNS0yNyAxMjowODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvbXBhcmUgcG9zaXRpb25zIHRvIGZpbmQgdGhlIGVhcmxpZXN0IHBhZCwgbm90IGZsb3cgcmV0dXJucwoKMjAxNC0wNS0yNyAwODo1NDoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsOiBhZGQgbWlzc2luZyBjZ2wgYW5kIGVhZ2wgY29udGV4dCB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDUKCjIwMTQtMDUtMjcgMDg6NDY6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkgIGdsOiByZW5hbWUgcGxhdGZvcm0gY29jb2EgdG8gY2dsCgkgIEJlZm9yZToKCSAgR1NUX0dMX1BMQVRGT1JNPWNvY29hIEdTVF9HTF9XSU5ET1c9Y29jb2EKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgQWZ0ZXI6CgkgIEdTVF9HTF9QTEFURk9STT1jZ2wgR1NUX0dMX1dJTkRPVz1jb2NvYQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBidXQgc3RpbGwgcGFzcyAtLWVuYWJsZS1jb2NvYSB0byBjb25maWd1cmUgc2NyaXB0CgkgIGJlY2F1c2UgY3VycmVudGx5IGl0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBjb2NvYSBBUEkuCgkgIFdlIGNvdWxkIGxhdGVyIGhhdmUgY2dsL2dzdGdsY29udGV4dF9jZ2wuaCB0aGF0IG1hbmFnZXMKCSAgYSBDR0xDb250ZXh0T2JqIGRpcmVjdGx5IGFuZCBjb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaAoJICB3b3VsZCBqdXN0IHdyYXAgaXQuCgkgIFNvIHRoYXQgaXQgY291bGQgYmUgdXNlZCB3aXRoIG90aGVyIEFwcGxlJ3Mgd2luZG93IEFQSXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDUKCjIwMTQtMDUtMjcgMDg6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBSZXZlcnQgImFuZHJvaWRtZWRpYTogUGxhY2Ugc29tZSBjb25zdCBrZXl3b3JkcyBpbiBhIGZldyBwbGFjZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzA3OGIzYTM0YzFmNzViODZiZDYyOWRmMWNkN2MwODlhMGY2OTk5OS4KCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGRvZXNuJ3QgdGFrZSBhIGNvbnN0IEdzdFZpZGVvSW5mbyosIHNvCgkgIGFsbCB0aGlzIGlzIHJhdGhlciB1c2VsZXNzLgoKMjAxNC0wNS0yNyAxMzo1NToxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9taXhlcjogZG9uJ3Qgc2VnZmF1bHQgd2hlbiB3ZSBkb24ndCBoYXZlIGEgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNTcKCjIwMTQtMDUtMjcgMTM6MDQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93X3gxMTogYXZvaWQgQmFkRHJhd2FibGUgZXJyb3Igb24gc2h1dGRvd24KCjIwMTQtMDUtMjYgMTc6MzQ6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE3OjE4OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yMyAxODoyNjo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoKMjAxNC0wNS0yNyAxMDo0NzoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2wvY29udGV4dF9lZ2w6IHBhc3MgdGhlIHZhcnMgaW4gdGhlIHJpZ2h0IG9yZGVyIHRvIERlc3Ryb3lTdXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MTQKCjIwMTQtMDUtMjYgMTY6MzE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbmRyb2lkbWVkaWE6IFBsYWNlIHNvbWUgY29uc3Qga2V5d29yZHMgaW4gYSBmZXcgcGxhY2VzCgoyMDEzLTExLTEzIDE4OjQxOjMzICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgZ3N0X2FtY19jb2xvcl9mb3JtYXRfY29weQoJICBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9jb3B5IHdpbGwgY29weSBpbi9vdXQgYSBmcmFtZSByZXNpZGVzIGF0IGEKCSAgR3N0QW1jQnVmZmVyLiBMb3RzIG9mIGNvZGVzIGluIGdzdF9hbWNfdmlkZW9fKl9maWxsX2J1ZmZlciBhcmUgbW92ZWQgdG8KCSAgdGhpcyBuZXcgZnVuY3Rpb24uCgoyMDEzLTEwLTA4IDIxOjExOjQ4ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogbW92ZSBjcmVhdGVfc3JjfHNpbmtfY2FwcyB0byBnc3RhbWMuYwoJICBTb21lIGhhY2sgbG9naWMgbmVlZHMgYWxzbyB0byBiZSBwcmVzZW50IGluIGNyZWF0ZV9zcmN8c2lua19jYXBzLCBmb3IKCSAgd29ya2luZyBhcm91bmQgc29tZSBicm9rZW4gY29kZWNzLiBUaGVzZSBoYWNrcyBhcmUgaGlkZGVuCgkgIGluIGNvbG9yX2Zvcm1hdC92aWRlb19mb3JtYXQgY29udmVyc2lvbiAtLSB0aGUgcHJvdG90eXBlcyBvZiB0aGVzZQoJICBmdW5jdGlvbnMgYXJlIGFsc28gY2hhbmdlZCB0byBpbmNsdWRlIG1vcmUgYXJncyBmb3IgaGFjayBqdWRnZW1lbnQuCgkgIEFsc28gaW4gY2FzZSBvZiBtdWx0aS1jb2xvcl9mb3JtYXRzIG1hcHBlZCB0byBvbmUgdmlkZW9fZm9ybWF0LCB0aGVuCgkgIG1hcCB0aGF0IHZpZGVvX2Zvcm1hdCBiYWNrIHdpbGwgbm90IGdpdmUgdGhlIG9yaWdpbmFsIGNvbG9yX2Zvcm1hdCwgd2hpY2gKCSAgY2F1c2VzIGdzdF9hbWNfY29kZWNfY29uZmlndXJlIGZhaWxlZCB3aXRoIHNvbWV0aGluZyBsaWtlCgkgICdkb2VzIG5vdCBzdXBwb3J0IGNvbG9yIGZvcm1hdCBOJy4KCSAgVGhlIG5ldyBwcm90b3R5cGUgaW52b2x2ZXMgd2l0aCBHc3RBbWNDb2RlY0luZm8gYW5kIG1pbWUsIHdoaWNoCgkgIGVuc3VyZXMgdGhlIGNvbnZlcnRlZCBjb2xvcl9mb3JtYXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSBjb2RlYy4KCSAgQSBDT0xPUl9Gb3JtYXRZQ2JZQ3IgdG8gR1NUX1ZJREVPX0ZPUk1BVF9ZVVkyIG1hcHBpbmcgaXMgYWxzbyBhZGRlZCwgaW4KCSAgb3JkZXIgdG8gd29yayBhcm91bmQgYnVncyBpbiBPTVguazMudmlkZW8uZGVjb2Rlci5hdmMod2hpY2ggaW5jb3JyZWN0bHkKCSAgcmVwb3J0cyBzdXBwb3J0aW5nIENPTE9SX0Zvcm1hdFlDYllDciwgd2hpY2ggaXMgYWN0dWFsbHkKCSAgQ09MT1JfRm9ybWF0WVVWNDIwU2VtaVBsYW5hcikuIFRoZXJlIGFyZSBhbHJlYWR5IGhhY2tzIGZvciB0aGlzIGluCgkgIGdzdF9hbWNfdmlkZW9fZm9ybWF0X3RvX2NvbG9yX2Zvcm1hdCwgZ3N0X2FtY19jb2xvcl9mb3JtYXRfdG9fdmlkZW9fZm9ybWF0CgkgIGFuZCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9pbmZvX3NldCwgYnV0IHRoZSBjb2RlYyB3aWxsIHN0aWxsIG5vdCB3b3JrKGJlCgkgIGlnbm9yZWQgYmVjYXVzZSBvZiAiaGFzIHVua25vd24gY29sb3IgZm9ybWF0cyIpIHdpdGhvdXQgYWRkaW5nIHRoaXMgbWFwcGluZy4KCjIwMTQtMDQtMTEgMTU6MTQ6MTcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogcGFyc2VjaGFubmVsczogYWRkIGRlbHN5cyBwcm9wZXJ0eQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxNC0wNS0yNiAxMzoyOTo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIC5kZWYgZm9yIG5ldyBzeW1ib2xzCgoyMDE0LTA0LTExIDE1OjM4OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbWFwIFNZU19EVkJDX0FOTkVYX0EgU1lTX0RWQkNfQU5ORVhfQUMgZm9yIERWQiBBUEkgPCA1LjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTg2OQoKMjAxNC0wNC0xNSAwOTozMTowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB0eXBvIGluIHRlc3RpbmcgZmxhZwoJICAlIGluc3RlYWQgb2YgJgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODY5CgoyMDE0LTA1LTI1IDE1OjE2OjEzICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IFVuaXQgb2YgYml0cmF0ZSBwcm9wZXJ0eSBpcyBub3cgYml0L3NlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTI5CgoyMDE0LTA1LTI2IDExOjU1OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBCb3VxdWV0IE5hbWUgcGFyc2luZwoKMjAxNC0wNS0yNiAxMTo1NDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IEJvdXF1ZXQgTmFtZSBwYXJzaW5nCgkgIHRoZSBmaWVsZCBpcyBub3QgbGVuZ3RoIHByZWZpeGVkCgoyMDE0LTA1LTI2IDExOjQyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBTZXJ2aWNlIExpc3QgZGVzY3JpcHRvcgoKMjAxNC0wNC0xNyAxNDo1NjoyMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA0LTE3IDE0OjU1OjI5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHN0dWZmaW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNC0xNyAxNDo1NDoyOCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzZXJ2aWNlIGxpc3QgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA1LTEwIDE4OjMyOjI4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogVXNlIGF1eCB2YXJzIHRvIG1pbmltaXplIGNyaXRpY2FsIHJlZ2lvbgoJICBUaGlzIGF2b2lkIGRlYWQgbG9jayBiZXR3ZWVuIGdzdF9hdWRpb19lbmNvZGVyX2ZpbmlzaF9mcmFtZSgpIGFuZAoJICBnc3Rfb3B1c19lbmNfZ2V0X3Byb3BlcnR5KCkuCgkgIEFsc28sIG5vdyBieXRlcyB2YXIgaXMgc2V0IGludG8gcHJvdGVjdGVkIHNlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4ODIKCjIwMTQtMDUtMjQgMTk6NTE6MTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgbWlzc2luZyB0b25lIGlvY3RsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2OTIKCjIwMTQtMDUtMjUgMDk6MDM6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBSZW1vdmUgZm9ybWF0IGluZm9ybWF0aW9uIHRvIGFsbG93IGNvbG9yIGNvbnZlcnQgYWdhaW4KCSAgV2UgYWxzbyBuZWVkIHRvIHJlbW92ZSB0aGUgZm9ybWF0IGluZm9ybWF0aW9uLCAgYXMgZ2xmaWx0ZXIgY2FuIGRvCgkgIGNvbG9yIGNvbnZlcnRpb24uIFRoaXMgY29kZSB3YXMgaW1wb3J0ZWQgZnJvbSB2aWRlb2NvbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMjUgMTE6NDQ6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogYWxsb2NhdGUgdGhlIGNvcnJlY3QgbWVtb3J5IHNpemUKCSAgYW5kIGF2b2lkIHdhc3RpbmcgcmVzb3VyY2VzIHdlIHdpbGwgbmV2ZXIgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzAzCgoyMDE0LTA1LTIzIDIzOjAyOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBZVVkyIGFuZCBVWVZZIHN1cHBvcnQgd2l0aCBsdW1pbmFuY2VfYWxwaGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY2NgoKMjAxMy0xMi0wMyAxMjowOTo1OCArMDEwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhIG5ldyBRQ09NIGNvbG9yIGZvcm1hdAoJICBJdCBpcyBhIE5WMTIgYmFzZWQsIGFsaWduZWQgdG8gMzIgYnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDYzNQoKMjAxNC0wNS0yMyAxNTowMDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRmlyc3QgdHJ5IHRvIGdldCBzeW1ib2xzIGZyb20gdGhlIGN1cnJlbnQgcHJvZ3JhbSwgdGhlbiBsb2FkIGxpYmR2bQoJICBJZiB0aGUgYXBwbGljYXRpb24gaXMgdXNpbmcgdGhlIG5ldyBBUlQgcnVudGltZSBpdCB3aWxsIG90aGVyd2lzZQoJICBsb2FkIGRhbHZpayBhbmQgc3RhcnQgYSBkYWx2aWsgVk0gbmV4dCB0byB0aGUgQVJUIFZNLgoJICBEb2VzIG5vdCB3b3JrIHZlcnkgd2VsbCBvYnZpb3VzbHkuCgoyMDEzLTA0LTAxIDA3OjQ5OjAxICswMDAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBzdXBwb3J0IGZvciB2aWRlbyBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTI5CgoyMDE0LTA1LTIzIDEyOjA3OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IHByb3ZpZGUgY29tcGF0YWJpbGl0eSBkZWZpbmVzCgkgIGZpeGVzIGJ1aWxkIG9uIGFuZHJvaWQvT1MgWAoKMjAxNC0wNS0yMyAxMTowMTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiByZW1vdmUgc2NyYXRjaCB0ZXh0dXJlIGZvciBZVVkyL1VZVlkKCSAgV2UgY2FuIGdldCBhbGwgb3VyIGRhdGEgZnJvbSB0aGUgb25lIFJHL0xBIHRleHR1cmUgd2l0aCBzb21lIHNoYWRlciBtYWdpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0yMyAxMDo1OTowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBSR0JBL1VOU0lHTkVEX0JZVEUgb25seSBmb3JtYXQgc3VwcG9ydGVkIGJ5IFJlYWRQaXhlbHMgR0xFUzIKCSAgRXJyb3Igb3V0IGluIGNhc2Ugd2UgYXR0ZW1wdCB0byByZWFkIHdpdGggYW55IG90aGVyIGludmFsaWQgZm9ybWF0LgoKMjAxNC0wNS0yMyAxMDo1NzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBnZW5lcmF0ZSB0ZXh0dXJlcyB3aXRoIGEgc2l6ZWQgaW50ZXJuYWwgZm9ybWF0CgkgIFJlcXVpcmVkIGluIG9yZGVyIHRvIGdlbmVyYXRlIFJHIGFuZCBSRUQgdGV4dHVyZWQgd2l0aCBHTEVTMy4KCjIwMTQtMDUtMjEgMjE6NDc6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbW9yeTogaW1wbGVtZW50IEdMX0VYVF90ZXh0dXJlX3JnIHN1cHBvcnQKCSAgV2hpY2ggaXMgdXNlZCBieSBkZWZhdWx0IG92ZXIgdGhlIEx1bWluYW5jZSBmb3JtYXRzIGR1ZSB0byBpdAoJICBiZWluZyBjb2xvciByZW5kZXJhYmxlIHdpdGggZmJvcyAoYW5kIGRlcHJlY2F0aW9uL3JlbW92YWwgd2l0aAoJICBHTCAzLngpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyMjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0yMiAxMTo1MDoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBSZXZlcnQgImgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcyIKCSAgVGhpcyBicmVha3MgdGhlIGJ1aWxkIHNpbmNlIG1zcyBoYXMgbm90IGJlZW4gcG9ydGVkLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFlYjZhNTIwNzQyZmQ4Mjg4OGU0MWVhMjNmOWEzOWFkZDUxMTI1YTAuCgoyMDE0LTA1LTIyIDE2OjEyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW51c2VkIGZwc19udW0vZnBzX2RlbiBmaWVsZHMKCSAgSW5zdGVhZCB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8gY2FsY3VsYXRlCgkgIHRoZSBmcmFtZXJhdGUgcHJvcGVybHkuCgoyMDE0LTA1LTE5IDE3OjUyOjM4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgbmV3IGdzdF9oMjY0X3ZpZGVvX2NhbGN1bGF0ZV9mcmFtZXJhdGUoKSB0byBnZXQgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMTkgMTc6NDM6NTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2Vyc19oMjY0OiBhZGQgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpCgkgIEFkZCBhIG5ldyBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdmlkZW8gc3RyZWFtIGZyYW1lcmF0ZSB3aGljaCByZWx5IG9uCgkgIFNQUywgc2xpY2UgaGVhZGVyIGFuZCBwaWMgdGltaW5nIHVzaW5nIGZvcm11bGE6CgkgIHRpbWVfc2NhbGUgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAxCgkgIGZwcyA9IC0tLS0tLS0tLS0tLS0tLS0tICB4ICAtLS0tLS0tLS0tLS0tLS0gIHggIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICBudW1fdW5pdHNfaW5fdGljayAgICAgRGVsdGFUZmlEaXZpc29yICAgICAoZmllbGRfcGljX2ZsYWcgPyAyIDogMSkKCSAgU2VlIHNlY3Rpb24gRTIuMSBvZiBIMjY0IHNwZWNpZmljYXRpb24gZm9yIGRlZmluaXRpb24gb2YgdmFyaWFibGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE0LTA1LTIxIDIxOjQ0OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvY29udGV4dDogYWRkIGdsIGV4dGVuc2lvbiBjaGVja2luZyB0byBjaGVja19mZWF0dXJlKCkKCSAgVXNlZnVsIGZvciBleHRlbnNpb25zIHRoYXQgZG8gbm90IGRlZmluZSBhbnkgbmV3IEdMIEFQSSBlbnRyeXBvaW50cwoJICBidXQgY2FuIHN0aWxsIG1vZGlmeSBiZWhhdmlvdXIgd2hlbiB1c2VkLgoKMjAxNC0wNS0yMSAyMDozNjozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbC9kb3dubG9hZDogZml4dXAgWVVZMi9VWVZZIGRvd25sb2FkCgkgIFJlZ3Jlc3Npb24gZnJvbSAyZGE5Nzk4MzFlYzNiMWE4ZDk5M2ViNmYyZDM5OTljNTgxMGM0ZDY3IGFzIGl0IGRpZAoJICBub3QgdXBkYXRlIHRoZSBkb3dubG9hZCBjb2RlIHRvIHJlZmxlY3QgdGhlIGNoYW5nZSBpbiB0ZXh0dXJlIGZvcm1hdC4KCjIwMTQtMDUtMTkgMTE6NDg6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNldCBmaWVsZF9waWNfZmxhZyB3aGVuIHBhcnNpbmcgYSBzbGljZSBoZWFkZXIKCSAgZmllbGRfcGljX2ZsYWcgd2FzIHVzZWQgYnV0IG5ldmVyIHNldCB0byBvdGhlciB2YWx1ZSB0aGFuIGl0cyBkZWZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAzNjMKCjIwMTQtMDUtMjIgMTE6NTQ6NDAgKzAxMDAgIERhbWlhbiBaaW9icm8gPHppb2Jyby5kYW1pYW5AZ21haWwuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggc3RvcmluZyBvZiB0aGUgSVYgYmFzZWQgb24gdGhlIG1lZGlhIHNlcXVlbmNlIG51bWJlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTc0CgoyMDE0LTA1LTIyIDEyOjIzOjU3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGJ1aWxkaW5nIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMKCSAgYzQwMGVlZjM3NzJiN2RjNDcwZWVmYWUwMmExMjg4YzJiMTI1ZTI1YyBpbnRyb2R1Y2VkIHNvbWUgZGVmaW5lcyB0byBoYW5kbGUKCSAgb2xkZXIga2VybmVsIGhlYWRlcnMuIEhvd2V2ZXIsIHRoZSBjaGVjayBpcyBkb25lIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZwoJICBrZXJuZWwgaGVhZGVyIChkdmIvZnJvbnRlbmQuaCkgaXMgaW5jbHVkZWQuIEFzIGEgcmVzdWx0IHRoZSBtYWNyb3MgYXJlCgkgIGFsd2F5cyBkZWZpbmVkIHdpdGggcmVzdWx0cyBpbiAncmVkZWZpbmVkJyBlcnJvcnMgd2l0aCBuZXdlciBrZXJuZWwKCSAgaGVhZGVycy4KCSAgTW92ZSB0aGUgY2hlY2sgYWZ0ZXIgdGhlIGluY2x1ZGUgdG8gZml4IHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NzAKCjIwMTQtMDUtMjEgMTM6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4yID09PQoKMjAxNC0wNS0yMSAxMzowNjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjIKCjIwMTQtMDUtMjEgMTI6NDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0yMSAxOTo0NzoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBmaXh1cCBwYXNzdGhyb3VnaCBidWZmZXJwb29sCgkgIEluIGEgcGlwZWxpbmUgbGlrZSBzbzoKCSAgdmlkZW90ZXN0c3JjICEgZ2xlZmZlY3RzICEgdmlkZW9jb252ZXJ0ICEgc2luawoJICBnbGVmZmVjdHMgd2FzIHNpbXBseSBwYXNzaW5nIHRoZSB2aWRlb2NvbnZlcnQgYnVmZmVycG9vbCB0byB2aWRlb3Rlc3RzcmMKCSAgYW5kIG5vdCBjcmVhdGluZyBhIGdsYnVmZmVycG9vbC4gdmlkZW9idWZmZXJwb29sIHdvdWxkIHRoZW4gZmFpbAoJICB0byBhbGxvY2F0ZSBmcm9tIHRoZSBnbGFsbG9jYXRvci4KCjIwMTQtMDUtMjEgMTA6NTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxMWZhNWYgdG8gMWY1ZDNjMwoKMjAxNC0wNS0yMSAwODo1MzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIGR2Yi1zZWN0aW9uOiBEb24ndCBjb21wYXJlIHVuc2lnbmVkIGludGVnZXJzIGZvciA+PSAwCgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjEyOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fiBeICB+CgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjQwOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fn5+IF4gIH4KCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6NzA6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+fn4gXiAgfgoKMjAxNC0wNS0yMCAxNzowOTo0MyArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IHBvc3QgZXJyb3Igb24gYnVzIGluIGVsZW1lbnQsIG5vdCB0cmFuc2ZlciB0aHJlYWQKCSAgTG9va3MgbGlrZSB0aGlzIGZpbGUgd2FzIG1pc3NlZCBpbiBCdWcgNzI4OTYwOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NTkKCjIwMTQtMDUtMjEgMTA6MjY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzd2l0Y2ggdGhlICdtYXN0ZXInIHRleHR1cmUgZm9yIFlVWTIsIFVZVlkKCSAgRnJvbSBkNGJjZWYzMjA0NzA5MTU5NzEzZmYxNjMwOTc4ZWNhYzBiZDkxZGM5IG9uLCB1c2luZyBhIFJHQkEKCSAgdGV4dHVyZSB0byBob2xkIHRoZSBkYXRhIGNhdXNlcyB0aGUgZ2xtZW1vcnkgdG8gaGF2ZSBoYWxmIHdpZHRoCgkgIGFuZCBhIHNjYWxpbmcgb2YgWzIsIDFdLiAgVXNpbmcgYSBMQSB0ZXh0dXJlIHNvbHZlcyB0aGlzIHByb2JsZW0KCSAgaG93ZXZlciBjYW5ub3QgYmUgYXR0YWNoZWQgdG8gdGhlIGZyYW1lYnVmZmVyIGZvciBjb3B5aW5nIGludG8KCSAgYSBSR0JBIHRleHR1cmUuICBXaGljaCB3aWxsIGJlIHNvbHZlZCBieSBtb3ZpbmcgdG8gRVhUX3RleHR1cmVfcmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMTQgMTc6NTk6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZWdsaW1hZ2U6IGFkZCBlZ2xpbWFnZSBjb250ZXh0IGZlYXR1cmUKCSAgQWxsb3dzIHVzIHRvIHNlbGVjdGl2ZWx5IHVzZSBFR0xJbWFnZXMgb25seSB3aGVuIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjM0CgoyMDE0LTA1LTE0IDE3OjMzOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBhZGQgZ2VuZXJpYyBmZWF0dXJlIGNoZWNraW5nCgkgIEF0IHRoZSBtb21lbnQgaXQgc2ltcGx5IGRlbGVnYXRlcyB0byB0aGUgc3ViY2xhc3MuCgoyMDE0LTA1LTIwIDExOjQyOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkgIGJheWVyOiBmaXggdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAxLTI4IDE0OjA0OjExICswMTAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSAgY3VybHNmdHBzaW5rOiBhdXRoZW50aWNhdGUgcmVtb3RlIGhvc3QgdmlhIHB1YmxpYyBrZXkgZmluZ2VycHJpbnQKCSAgRXhwb3NlIG9uZSBtb3JlIGxpYmN1cmwgb3B0aW9uOiBDVVJMT1BUX1NTSF9IT1NUX1BVQkxJQ19LRVlfTUQ1LgoJICBUaGlzIGFsbG93cyBhdXRoZW50aWNhdGluZyB0aGUgc2VydmVyIGJ5IHRoZSBNRDUgZmluZ2VycHJpbnQgb2YKCSAgdGhlIHNlcnZlcidzIHB1YmxpYyBrZXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxNjcKCjIwMTQtMDUtMTkgMTM6NDM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBDaGVjayBob3VyOm1pbnV0ZTpzZWNvbmQgdmFsdWVzIGJlZm9yZSBjcmVhdGluZyBkYXRldGltZQoJICBBdm9pZHMgYXNzZXJ0aW9ucyB3aGVuIHRoZSBwYWNrZXRzIGFyZSBtYWxmb3JtZWQgYW5kIGFsc28gYWRkIHRoZSBjYXNlCgkgIHdoZXJlIHRoZSB0aW1lIGlzbid0IHNwZWNpZmllZCwgb25seSB0aGUgZGF0ZS4KCjIwMTQtMDUtMTkgMTI6MjU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENoZWNrIGlmIGNvbnRleHQgY3JlYXRpb24gZmFpbGVkIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhdXNlIGFzc2VydGlvbnMgZXZlcnl3aGVyZSBieSBwYXNzaW5nIE5VTEwgdG8gZnVuY3Rpb25zCgkgIGFuZCBldmVudHVhbGx5IGNyYXNoIHdoZW4gZGVyZWZlcmVuY2luZyBhIE5VTEwgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDA2OQoKMjAxNC0wNS0xOSAxMjoyMToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBBZGQgbW9yZSBhc3NlcnRpb25zIHRvIG1ha2Ugc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgc2V0cyB0aGUgR0Vycm9yIGR1cmluZyBjb250ZXh0IGNyZWF0aW9uIGlmIHNvbWV0aGluZyBmYWlscwoKMjAxNC0wNS0xOSAxMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogRG9uJ3QgcGFzcyBmbG9hdHMgdG8gYWJzKCkgYnV0IGluc3RlYWQgY2FzdCB0aGVtIHRvIGludHMgZmlyc3QKCSAgZ3N0ZnJlZXZlcmIuYzo3ODE6Mjk6IGVycm9yOiB1c2luZyBpbnRlZ2VyIGFic29sdXRlIHZhbHVlIGZ1bmN0aW9uICdhYnMnIHdoZW4KCSAgYXJndW1lbnQgaXMgb2YgZmxvYXRpbmcgcG9pbnQgdHlwZSBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICBpZiAoYWJzIChvdXRfbDIpID4gMCB8fCBhYnMgKG91dF9yMikgPiAwKQoKMjAxNC0wNS0xOSAwOToxMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogVW5yZWYgaGFuZGxlIGFuZCBvdXRwdXQgc3RhdGUgb24gZXJyb3IgcGF0aHMKCSAgQ0lEIDEyMTQ2MDQKCjIwMTQtMDUtMTYgMDk6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBXb3JrIGFyb3VuZCByYWNlIGNvbmRpdGlvbiBpbiBBbmRyb2lkIDwgNC4yIHRoYXQgbGVhZHMgdG8gZGVhZGxvY2tzIG9uIHNodXRkb3duCgkgIFdlIG5lZWQgdG8gc2xlZXAgYSBiaXQgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHBsYXllciBvYmplY3QKCSAgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBBbmRyb2lkIGluIHZlcnNpb25zIDwgNC4yLgoJICBPcGVuU0xFUyBpcyB1c2luZyBBdWRpb1RyYWNrIGZvciByZW5kZXJpbmcgdGhlIHNvdW5kLiBBdWRpb1RyYWNrCgkgIGhhcyBhIHRocmVhZCB0aGF0IHB1bGxzIHJhdyBhdWRpbyBmcm9tIHRoZSBidWZmZXIgcXVldWUgYW5kIHRoZW4KCSAgcGFzc2VzIGl0IGZvcndhcmQgdG8gQXVkaW9GbGluZ2VyIChBdWRpb1RyYWNrOjpwcm9jZXNzQXVkaW9CdWZmZXIoKSkuCgkgIFRoaXMgdGhyZWFkIGlzIGNhbGxpbmcgdmFyaW91cyBjYWxsYmFja3Mgb24gZXZlbnRzLCBlLmcuIHdoZW4KCSAgYW4gdW5kZXJydW4gaGFwcGVucyBvciB0byByZXF1ZXN0IGRhdGEuIE9wZW5TTEVTIHNldHMgdGhpcyBjYWxsYmFjawoJICBvbiBBdWRpb1RyYWNrIChhdWRpb1RyYWNrX2NhbGxCYWNrX3B1bGxGcm9tQnVmZlF1ZXVlKCkgZnJvbQoJICBhbmRyb2lkX0F1ZGlvUGxheWVyLmNwcCkuIEFtb25nIG90aGVyIHRoaW5ncyB0aGlzIGlzIHRha2luZyBhIGxvY2sKCSAgb24gdGhlIHBsYXllciBpbnRlcmZhY2UuCgkgIE5vdyBpZiB3ZSBkZXN0cm95IHRoZSBwbGF5ZXIgaW50ZXJmYWNlIG9iamVjdCwgaXQgd2lsbCBmaXJzdCBvZiBhbGwKCSAgdGFrZSB0aGUgcGxheWVyIGludGVyZmFjZSBsb2NrIChJT2JqZWN0X0Rlc3Ryb3koKSkuIFRoZW4gaXQgZGVzdHJveXMKCSAgdGhlIGF1ZGlvIHBsYXllciBpbnN0YW5jZSAoYW5kcm9pZF9hdWRpb1BsYXllcl9kZXN0cm95KCkpIHdoaWNoIHRoZW4KCSAgY2FsbHMgc3RvcCgpIG9uIHRoZSBBdWRpb1RyYWNrIGFuZCBkZWxldGVzIGl0LiBOb3cgdGhlIGRlc3RydWN0b3Igb2YKCSAgQXVkaW9UcmFjayB3aWxsIHdhaXQgdW50aWwgdGhlIHJlbmRlcmluZyB0aHJlYWQgKEF1ZGlvVHJhY2s6OnByb2Nlc3NBdWRpb0J1ZmZlcigpKQoJICBoYXMgZmluaXNoZWQuCgkgIElmIGFsbCB0aGlzIGhhcHBlbnMgd2l0aCBiYWQgdGltaW5nIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgcmVuZGVyaW5nCgkgIHRocmVhZCBpcyBjdXJyZW50bHkgZS5nLiBoYW5kbGluZyB1bmRlcnJ1biBidXQgZGlkIG5vdCBsb2NrIHRoZSBwbGF5ZXIKCSAgaW50ZXJmYWNlIG9iamVjdCB5ZXQuIFRoZW4gZGVzdHJveWluZyBoYXBwZW5zIGFuZCB0YWtlcyB0aGUgbG9jayBhbmQgd2FpdHMKCSAgZm9yIHRoZSB0aHJlYWQgdG8gZmluaXNoLiBUaGVuIHRoZSB0aHJlYWQgdHJpZXMgdG8gdGFrZSB0aGUgbG9jayBhbmQgd2FpdHMKCSAgZm9yZXZlci4KCSAgV2Ugd2FpdCBhIGJpdCBiZWZvcmUgZGVzdHJveWluZyB0aGUgcGxheWVyIG9iamVjdCB0byBtYWtlIHN1cmUgdGhhdAoJICB0aGUgcmVuZGVyaW5nIHRocmVhZCBmaW5pc2hlZCB3aGF0ZXZlciBpdCB3YXMgZG9pbmcsIGFuZCB0aGVuIHN0b3BzCgkgIChub3RlOiB3ZSBjYWxsZWQgZ3N0X29wZW5zbGVzX3JpbmdidWZmZXJfc3RvcCgpIGJlZm9yZSB0aGlzIGFscmVhZHkpLgoKMjAxNC0wNS0xNSAyMDozNDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBtcGVndHNkZXNjcmlwdG9yOiBmaXggZ29iamVjdC1pbnRyb3NwZWN0aW9uIHdhcm5pbmdzCgkgIEFkZHMgbWlzc2luZyA6IHRvIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYXJrZXJzCgoyMDE0LTA1LTE1IDE5OjE2OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBzZWN0aW9uczogcHJldmVudCBhc3NlcnRpb24gd2hlbiBwYWNrZXQgcGFyc2luZyBmYWlscwoJICB0aGUgZGVzY3JpcHRvcnMgZW50cnkgY2FuIGJlIGxlZnQgYXMgTlVMTCBhbmQgZnJlZWluZyB0aGUgc3RydWN0dXJlCgkgIHdpbGwgZmFpbCAoYXNzZXJ0aW9uIGhhcHBlbnMpCgoyMDE0LTA1LTE0IDIxOjMyOjEwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgbW90aW9uY2VsbHM6IGZpeCBtZW1sZWFrCgkgIENoZWNrIGdzdF9idWZmZXJfbWFwIHJldHVybiBhbmQgcmVtZW1iZXIgdG8gdW5tYXAgYW5kIGZyZWUgbWVtb3J5IGJlZm9yZQoJICByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDEzMwoKMjAxNC0wNS0xNCAxMTo0NzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBmaXggcHJvcGVydHkgbmFtZXMKCSAgVGhlc2Ugd2VyZSBmb3Jnb3R0ZW4gd2hlbiB0aGV5IGdvdCByZW5hbWVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzMxCgoyMDE0LTA1LTEzIDE0OjEzOjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL2Rvd25sb2FkOiB1cGRhdGUgdG8gYmUgc2ltaWxhciB0byB0aGUgZ2x1cGxvYWQgc2VtYW50aWNzCgoyMDE0LTA1LTEzIDE0OjA3OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGZpeCB1cCBhbHBoYSBjbG9iYmVyaW5nCgkgIFByZXZpb3VzbHkgaXQgd291bGQgb25seSB3b3JrIGlmIHRoZSBhbHBoYSB2YWx1ZSB3YXMgaW4gdGhlIGxhc3QKCSAgY29tcG9uZW50IChSR0J4LCBCR1J4KS4gIE5vdyBpdCB3b3JrcyB3aGVyZXZlciB0aGUgYWxwaGEgdmFsdWUgbWF5CgkgIGJlICh4UkdCLCB4QkdSLCBldGMpLgoKMjAxNC0wNS0xNCAwMDoyMzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIGVycm9yaW5nIG91dCBvbiB1bnN1cHBvcnRlZCBlc3NlbmNlIHdyYXBwaW5nCgoyMDE0LTA0LTEwIDE2OjEwOjA2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgQWRkIG1pc3NpbmcgYmFja3NsYXNoIGluIEFuZHJvaWQubWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk2OAoKMjAxNC0wNS0xMyAxNjoyOTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG8gbm90IGxlYWsgcGxheWxpc3Qgb2JqZWN0CgkgIEluIGZpbmFsaXplLCBhbHNvIHJlbGVhc2UgdGhlIHBsYXlsaXN0CgoyMDE0LTA1LTEzIDEzOjE2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEZpeCBidWlsZGluZyB3aXRob3V0IEVHTCBzdXBwb3J0CgkgIFRoaXMgZml4ZXMgdGhlIE9TWCBidWlsZCBhbmQgYW55IGJ1aWxkcyB3aXRoIC0tZGlzYWJsZS1lZ2wuIFRoYXQgaXNzdWUKCSAgd2FzIGludHJvZHVjZWQgaW4gImdsZmlsdGVyOiByZXdyaXRlIHRyYW5zZm9ybV9jYXBzIHRvIHByZXNlcnZlIGNhcHMgZmllbGRzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0xMyAxMzozMDo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJld3JpdGUgdHJhbnNmb3JtX2NhcHMgdG8gcHJlc2VydmUgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0xMyAxMDo1MzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsL2NvbG9yY29udmVydDogdXNlIHRoZSB0ZXh0dXJlIHNjYWxpbmcgZnJvbSB0aGUgZ2wgbWVtb3J5CgkgIFRoZSBjb2xvcmNvbnZlcnQgdmFsdWVzIHdlcmUgbm90IGJlaW5nIHVzZWQgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEyIDE5OjI5OjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEZpeCBoYW5kbGluZyBvZiBzdHJpZGUgd2l0aCBhbGlnbmVtZW50IGxhcmdlciB0aGVuIDgKCSAgU2V0dGluZyBhIHNjYWxlZCBmYWN0b3IgZm9yIFggY29vcmRpbmF0ZSBpcyBub3QgZW5vdWdoIGFzIHRoZSBpbmRleGVyCgkgIHdpbGwgc3RpbGwgdGhpbmsgc3RyaWRlIGlzIHNob3J0ZXIgYW5kIHdpbGwgbm90IGZ1bGx5IHNraXAgaXQuIEluc3RlYWQsCgkgIHVwZGF0ZSB3aWR0aCwgc28gdGhlIGxpbmVzIGFyZSBhcyBleHBlY3RlZC4gQ29tYmluZWQgd2l0aCB0aGUgc2NhbGUsIGl0CgkgIHdpbGwgaGlkZSB0aGUgY3JvcHBlZCBwb3J0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEzIDExOjIyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogcHJvcGVybHkgdW5yZWYgZ3N0ZGF0ZXRpbWUKCSAgQXZvaWQgbGVha2luZyB0aGUgR3N0RGF0ZVRpbWUgaW5zdGFuY2VzIHdoZW4gc3VtbWluZyBkYXRlcwoJICBDSUQgIzEyMTIxNDMKCjIwMTQtMDUtMTMgMTA6MjQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBhdm9pZCBkb3VibGUgZnJlZSBvZiBzZWdtZW50IHRpbWVsaW5lIG5vZGUKCSAgVGhlIHBhcnNpbmcgZnVuY3Rpb24gYWxyZWFkeSBmcmVlcyB0aGUgb2xkIHZhbHVlIChpZiBhbnkpLCBhdm9pZCBhIGRvdWJsZQoJICBmcmVlIGJ5IG5vdCBmcmVlaW5nIGl0IGJlZm9yZSBjYWxsaW5nIHRoZSBmdW5jdGlvbiB3aXRob3V0IHNldHRpbmcgdGhlCgkgIHBvaW50ZXIgdG8gTlVMTAoJICBDb3Zlcml0eSBJRDogMTIxMjE3OAoKMjAxNC0wNS0xMyAxMDoxMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IGF2b2lkIGRvdWJsZSBmcmVlCgkgIFRoZSBfcGFyc2VfdXJsIGZ1bmN0aW9uIGFscmVhZHkgZnJlZXMgdGhlIHByZXZpb3VzIHBvaW50ZXIsIGF2b2lkCgkgIGZyZWVpbmcgaXQgYmVmb3JlIHdpdGhvdXQgc2V0dGluZyB0byBudWxsIG9yIHdlIGhhdmUgYSBkb3VibGUgZnJlZS4KCSAgQ292ZXJpdHkgSUQ6IDEyMTIxODEKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxODAKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxNzkKCjIwMTQtMDUtMTMgMTQ6MjE6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogVXNlIHBvb2wgY29uZmlndXJhdGlvbgoJICBJdCB3YXMgbGVha2luZyB0aGUgY29uZmlnLCBidXQgYWxzbyBub3QgdXNpbmcgaXQuLi4KCSAgQ0lEICMxMjEyMTU1CgoyMDE0LTA1LTEzIDE0OjE1OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogRG9uJ3QgbGVhayBHc3RWaWRlb0NvZGVjU3RhdGUKCSAgQW5kIGF2b2lkIHVzZWxlc3MgY2FsbCB0byBfZ2V0X291dHB1dF9zdGF0ZSAoc2V0X291dHB1dF9zdGF0ZSgpIGFscmVhZHkKCSAgcmV0dXJucyBpdCkuCgkgIENJRCAjMTIxMjE2MAoJICBDSUQgIzEyMTIxNjEKCjIwMTQtMDUtMTMgMTM6NTQ6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBTbWFsbCByZXdyaXRlCgkgIFNldHRpbmcgZG9uZSB3YXMgdXNlbGVzcyBhbnl3YXkKCjIwMTQtMDUtMTMgMTM6NTI6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IERvbid0IGxlYWsgR3N0QWN0aXZlU3RyZWFtCgkgIENJRCAjMTIxMjE0MgoKMjAxNC0wNS0xMyAxMTo0MTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IERvbid0IGxlYWsgR3N0U2htUGlwZQoJICBCeSByZW9yZGVyaW5nIHRoZSBsZWFraW5nIGNvZGUgcGF0aCB0byBiZWZvcmUgdGhlIGFsbG9jYXRpb24KCSAgQ0lEICMxMjEyMTUzCgoyMDE0LTA1LTEzIDExOjM4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uZGVjOiBEb24ndCBsZWFrIG91dHB1dCBzdGF0ZQoJICBfc2V0X291dHB1dF9zdGF0ZSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBjb2RlYyBzdGF0ZS4KCSAgQ0lEICMxMjEyMTcwCgoyMDE0LTA1LTEzIDExOjM1OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IGxlYWsgYWRhcHRlciBkYXRhCgkgIENJRCAjMTIxMjE1OAoKMjAxNC0wNS0xMyAxMTozMDozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDsgRml4IHN0cmVhbSBsZWFrCgkgIENJRCAjMTIxMjE2NAoKMjAxNC0wNS0xMyAxMToyMzo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBEb24ndCBsZWFrIHZhcmlvdXMgc2xpY2VzIGFuZCBhcnJheXMKCSAgQ0lEICMxMjEyMTM5CgkgIENJRCAjMTIxMjE0MAoJICBDSUQgIzEyMTIxNDEKCjIwMTQtMDUtMTMgMTE6MTk6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogRG9uJ3QgbGVhayBieXRlcmVhZGVyCgkgIEJ5IG1ha2luZyBpdCBnbyB0aHJvdWdoIHRoZSBlcnJvciBwYXRoIHRoYXQgdGFrZXMgY2FyZSBvZiBjbGVhbnVwcwoJICBDSUQgIzEyMTIxNjgKCjIwMTQtMDUtMTIgMTM6NTA6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRW5zdXJlIHdlIHN0aWxsIGhhdmUgYSB0ZXh0dXJlIGFmdGVyIHVwbG9hZF9zZXRfZm9ybWF0KCkKCSAgZ3N0X2dsX3VwbG9hZF9zZXRfZm9ybWF0KCkgcmVzZXRzIHRoZSB1cGxvYWQsIGhlbmNlIHRoZSB0ZXh0dXJlLgoJICBTbyB3ZSBuZWVkIHRvIGVuc3VyZSB3ZSBoYXZlIGEgdGV4dHVyZSBhZnRlciB0aGlzIGNhbGwgd2hlbgoJICB1cGxvYWRpbmcuCgoyMDE0LTA1LTEyIDEyOjU5OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENvcnJlY3RseSB1cGRhdGUgdGhlIHZpZGVvIGluZm8gZnJvbSB2aWRlbyBtZXRhCgkgIFVzaW5nIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSBpc24ndCBjb21wbGV0ZSB3aGVuIHVwZGF0aW5nCgkgIGEgdmlkZW8gaW5mbyBmcm9tIHZpZGVvIG1ldGEuCgoyMDE0LTA1LTEyIDEyOjU3OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENvcnJlY3RseSB1cGRhdGUgdmlkZW8gaW5mbyBpbiB1cGxvYWQgZmFsbGJhY2sKCSAgV2hlbiB0aGUgdXBsb2FkIGFjY2VsZXJhdGVkIG1ldGhvZCBmYWlscywgd2UgZmFsbGJhY2sgdG8gYW4gdXBsb2FkLAoJICBidXQgdGhlIHZpZGVvIGluZm8gd2FzIG5vdCBjb3JyZWN0bHkgdXBkYXRlZC4KCjIwMTQtMDUtMTIgMTg6Mjg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYXZvaWQgZGVhZGxvY2tpbmcgd2hlbiBlcnJvcmluZwoJICBJdCBtaWdodCBnZXQgc3R1Y2sgd2hlbiBwb3N0aW5nIHRoZSBtZXNzYWdlIHdoaWxlCgkgIGEgcmVjb25maWd1cmUgZXZlbnQgaXMgYmVpbmcgcHVzaGVkIHVwc3RyZWFtCgoyMDE0LTA1LTEyIDE3OjM3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBjYXBzIGxlYWsKCjIwMTQtMDUtMTIgMTU6NDM6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20gaW50ZXJuYWwgc291cmNlCgkgIHNldCB1cCBhIGJpbiBtZXNzYWdlIGhhbmRsZXIgdG8gZ2V0IG5vdGlmaWVkIG9mIGVycm9yIG1lc3NhZ2VzIGZyb20KCSAgdGhlIGludGVybmFsIHNvdXJjZSBlbGVtZW50CgoyMDE0LTA1LTEyIDE0OjU4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFsd2F5cyBhY2NlcHQgdGhlIGxhdGVuY3kgY29uZmlndXJlIGV2ZW50CgkgIFVwc3RyZWFtIG9yIGludGVybmFsIGVsZW1lbnRzIGFyZSBpcnJlbGV2YW50IGFuZCB3ZSBzaG91bGQKCSAgYWx3YXlzIHN1Y2NlZWQuCgoyMDE0LTA1LTEyIDE0OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVlbmFibGUgc2VnbWVudCB0cmFja2luZyBmb3Igc3RyZWFtcwoJICBTdG9yZSB0aGUgbGF0ZXN0IHB1c2hlZCB0aW1lc3RhbXAgc28gdGhhdCBtc3NkZW11eCBzdHJlYW1zIGtub3cKCSAgd2hlcmUgdGhleSBhcmUgaW4gdGltZQoKMjAxNC0wNS0xMiAxNDoyMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkZXByZWNhdGUgdW51c2VkIG1heC1xdWV1ZS1zaXplLWJ1ZmZlcnMKCSAgVGhlcmUgaXMgbm8gaW50ZXJuYWwgc3RvcmFnZSBvZiBidWZmZXJzIGFueW1vcmUKCjIwMTQtMDUtMTIgMTQ6MTg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBtZWFzdXJlIGJpdHJhdGUgc2ltaWxhcmx5IHRvIGhsc2RlbXV4CgkgIG5ldyBiaXRyYXRlID0gKG9sZCBiaXRyYXRlICsgKGxhc3QgZnJhZ21lbnQgYml0cmF0ZSAqIDMpKSAvIDQKCjIwMTQtMDUtMTIgMTM6NDA6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgdXJpZG93bmxvYWRlciBpbiBmYXZvciBvZiBpbnRlcm5hbCBzb3VyY2UKCSAgUmVmYWN0b3IgbXNzZGVtdXggdG8gcmVtb3ZlIHVyaWRvd25sb2FkZXIgdG8gdXNlIGFuIGludGVybmFsCgkgIHNvdXJjZSBlbGVtZW50IHdoaWNoIHJlZHVjZXMgc3RhcnR1cCBsYXRlbmN5IGFuZCBwcm92aWRlcyBzbWFsbGVyCgkgIGJ1ZmZlcnMgZm9yIGJldHRlciBidWZmZXJpbmcgbWFuYWdlbWVudCBkb3duc3RyZWFtCgoyMDE0LTA1LTEyIDEzOjI4OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGluaXRpYWxpemUgdGhlIG11dGV4IGFuZCBjb25kIGZvciBmcmFnbWVudCBkb3dubG9hZAoKMjAxNC0wNS0xMiAxMzozMjozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzZXQgb3V0X3RleCBhZnRlciByZXNldCwgbm90IGJlZm9yZQoJICBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZWQgcmVjZW50bHkgd2l0aCB0aGUgbGF6eSBpbml0LgoJICBJdCB3YXMgaGFwcGVuaW5nIHdoZW4gY2FsbGluZyBnc3RfdmlkZW9fZ2xfdGV4dHVyZV91cGxvYWRfbWV0YV91cGxvYWQKCSAgZnJvbSBhbiBhcGxpY2F0aW9uLiBTbyBub3QgdXNpbmcgZ3N0X2dsX3VwbG9hZF9wZXJmb3JtX3dpdGhfYnVmZmVyLgoKMjAxNC0wNS0xMSAxMjo0ODo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiB1cGRhdGUgdGhlIHZpZGVvIGluZm8gb24gbWFwcGluZyBhIHZpZGVvIGZyYW1lCgkgIFRoZSBidWZmZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG1vc3Qgc3BlY2lmaWMgZGF0YSBvbiBob3cgdGhlIGRhdGEgaXMKCSAgZm9ybWF0dGVkLiAgV2Ugc2hvdWxkIHVzZSB0aGlzIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEyIDIxOjU2OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb252ZXJ0OiBjbG9iYmVyIGFscGhhIGNoYW5uZWwgd2hlbiBuZWVkZWQKCSAgTmVlZGVkIGluIHRoZSBjb252ZXJzaW9uIGZyb20gcGFkZGVkIFJHQiBmb3JtYXRzIHRvIGZvcm1hdHMgd2l0aCBhbgoJICBhbHBoYSBjaGFubmVsLiAgZS5nLiBCR1J4IC0+IEFCR1IsIGV0YwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzQyCgoyMDE0LTA1LTEyIDIxOjUxOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGF2b2lkIHBlcmZvcm1pbmcgY29sb3IgY29udmVyc2lvbiB3aGVuIHRoZXJlIGlzIG5vIG5lZWQKCSAgT25lIHN1Y2ggZXhhbXBsZSBpcyB3aGVuIHRoZSBidWZmZXIgY29udGFpbnMgR3N0R0xNZW1vcnkgaW4gdGhlCgkgIFJHQkEgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNzgKCjIwMTQtMDUtMTIgMTA6MDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IGZyZWUgc3RyaW5nIHdlJ3JlIHN0aWxsIHVzaW5nCgkgIENJRCAxMjEzNzgwCgoyMDE0LTA1LTExIDE1OjI2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIHN0cmVhbSB1cmlkb3dubG9hZGVyCgkgIFRoZSB1cmlkb3dubG9hZGVyIGZvciB0aGUgc3RyZWFtIGZyYWdtZW50cyBpc24ndCB1c2VkIGFueW1vcmUuCgoyMDE0LTA1LTExIDA3OjU2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEbyBub3QgdHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gYSBjYXBzIGZlYXR1cmVzIEFOWQoJICBJdCBkb2VzIG5vdCBtYWtlcyBzZW5zZSBhbmQgYXNzZXJ0cwoJICBCYXNlZCBvbiA3ZjlhYWMzODZmZDVkNTkyMWM4MDEwMDg4OWE1ZjIxMmMwMTQ4YTg4IGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMTQtMDUtMTEgMDc6NTU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvIG5vdCB0cnkgdG8gYWRkIGEgZmVhdHVyZSB0byBhIGNhcHMgZmVhdHVyZXMgQU5ZCgkgIEl0IGRvZXMgbm90IG1ha2VzIHNlbnNlIGFuZCBhc3NlcnRzLgoJICBCYXNlZCBvbiA3ZjlhYWMzODZmZDVkNTkyMWM4MDEwMDg4OWE1ZjIxMmMwMTQ4YTg4IGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMTQtMDUtMTEgMTQ6MDI6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogY2hvb3NlIHRoZSByaWdodCBhbHBoYSBjb21wb25lbnQgZm9yIEFZVVYgLT4gUkdCQQoKMjAxNC0wNS0xMSAxMDoyNzowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiB1cGRhdGUgdGhlIHJlc3BlY3RpdmUgc3RhdGUgd2hlbiB3ZSBjYWNoZSB0ZXh0dXJlcy9kYXRhCgoyMDE0LTA1LTAxIDAyOjEwOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIEMrKyBzdHlsZSBjb21tZW50cwoJICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTAxIDAxOjU4OjAzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdXAgZXJyb3IgcmVwb3J0aW5nCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMTAgMjM6MzM6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogY2FjaGUgdGhlIHRleHR1cmVzIHRoYXQgd2UgYXJlIHVzaW5nCgoyMDE0LTA1LTEwIDIyOjQ4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGF2b2lkIHJlY3JlYXRpbmcgdGhlIEdMTWVtb3J5IHN0cnVjdCBmb3Igb3V0cHV0IHRleHR1cmVzCgoyMDE0LTA0LTExIDE5OjM4OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBpbW1lZGlhdGVseSB3aXRob3V0IGFueSBkYXRhCgkgIEl0J3Mgbm90IHJlYWxseSByaWdodCB0byBqdXN0IGdvIEVPUyBhcyBpZiBub3RoaW5nIHdhcyB3cm9uZy4KCjIwMTQtMDUtMTAgMTI6NTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgY29uZnVzaW5nIGRlYnVnIGxvZyBsaW5lCgoyMDE0LTA1LTA3IDIwOjA4OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogZmFjdG9yaWVzIGRvbid0IG5lZWQgdGhlIGxvY2sKCSAgQW4gYXRvbWljIGlzIGVub3VnaCwgdGhleSBjYW4gb25seSBiZSBzZXQgb25jZS4KCjIwMTQtMDUtMDkgMjA6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgUmV2ZXJ0ICJhdXRvY29udmVydDogSGFuZGxlIGNhcHMgcXVlcnkgb24gaW50ZXJuYWwgc3JjcGFkIgoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBpZiB0aGUgZ3N0X3BhZF9saW5rIGNoZWNrcyBub3RoaW5nLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGEzMDMzNzVhM2Y1YzEyZTk3Y2E4YmY1MGI1YTkzY2U4NjUyZmFmMjMuCgoyMDE0LTA1LTA5IDIwOjEyOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBObyBuZWVkIHRvIGNoZWNrIGFueXRoaW5nIHdoZW4gbGlua2luZyBpbnRlcm5hbCBwYWRzCgoyMDE0LTA1LTA5IDIwOjA1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBpZ25vcmUgZWxlbWVudHMgYWNjZXB0ZWQgQU5ZLCBpdCBpcyB2YWxpZAoKMjAxNC0wNS0wOSAxODo0OToxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIGJyb2tlbiB1c2FnZSBvZiB0aGUgaXRlcmF0b3IKCSAgV2UncmUgYSBzdWJjbGFzcywgc28gd2UgY2FuIGp1c3QgdGFrZSB0aGUgb2JqZWN0IGxvY2sgYW5kIGl0ZXJhdGUgdGhlIGxpc3QKCSAgZGlyZWN0bHkuCgoyMDE0LTA1LTA4IDE5OjM1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBQcm9jZXNzIHVwc3RyZWFtIGdldGNhcHMKCSAgUHJvY2VzcyBpdCBsaWtlIGRvd25zdHJlYW0gZ2V0Y2FwcwoKMjAxNC0wNS0wNyAyMDowMDowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmV0dXJuIHRoZSBHTGlzdCBvZiBmYWN0b3JpZXMsIHRvIGEgcG9pbnRlciB0byBpdC4KCjIwMTQtMDUtMDcgMTk6NTQ6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBzdWJlbGVtZW50IGNhbiBvbmx5IGJlIGNoYW5nZSB3aXRoIHN0cmVhbSBsb2NrIGhlbGQKCSAgSXQgd2FzIGFscmVhZHkgdGhlIGNhc2UsIG5vdyBiZSBtb3JlIGV4cGxpY2l0IGFib3V0IHRoYXQsIGFuZCByZW1vdmUgdXNlbGVzcwoJICBsb2NrL3JlZi91bmxvY2svdW5yZWYgZGFuY2VzLgoKMjAxNC0wNS0wNyAxOTo0ODo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogS2VlcCBhIHJlZiB0byB0aGUgcGFkcyB0b28KCSAgU2ltcGxpZmllcyB0aGUgY29kZQoKMjAxNC0wNS0wNyAxOTo0NzowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHVuZWVkZWQgaWYoKQoJICBOVUxMIGlzIHZhbGlkIEdMaXN0CgoyMDE0LTA1LTA3IDE5OjQ0OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBbHdheXMgcHVzaCByZWNvbmZpZ3VyZSB1cHN0cmVhbSB0b28KCSAgQSByZWNvbmZpZ3VyZSBjb3VsZCB0cmlnZ2VyIGEgY2hhbmdlIG9mIGNvbnRlbnRzIGluc3RlYWQgb2YganVzdCByZWNvbmZpZ3VyaW5nIHRoZSBpbnRlcm5hbCBlbGVtZW50CgoyMDE0LTA1LTA3IDE5OjQzOjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdW51c2VkIGludGVybmFsIHBhcmFtZXRlcgoKMjAxNC0wNS0wOSAxODo1OTo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogRml4IHNvbWUgb2YgdGhlIGVycm9yIGhhbmRsaW5nCgoyMDE0LTA1LTA5IDE3OjU5OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFVwZGF0ZSBHc3RWaWRlb0luZm8gYWZ0ZXIgdGhlIGJ1ZmZlciBpcyBtYXBwZWQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdpbGwgc3RvcmUgYW4gdXBkYXRlZCB2aWRlbyBpbmZvIGJhc2UKCSAgb24gdGhlIHZpZGVvIG1ldGEuIEluIG9yZGVyIHRvIGhhdmUgdGhlIHJpZ2h0IHN0cmlkZSBhbmQgb2Zmc2V0CgkgIHdlIHNob3VsZCB1cGRhdGUgdGhhdCB2aWRlbyBpbmZvIGFjY29yZGluZ2x5LgoKMjAxNC0wNS0wOSAxNTo0MjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbDogRml4IG1lbW9yeSBsZWFrCgkgIENJRCAjMTIxMjE3MQoKMjAxNC0wNS0wOSAxNToyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IFJlbW92ZSBpbnZhbGlkIGZyZWUKCSAgZGF0YSBkb2VzIG5vdCBoYXZlIHRvIGJlIGZyZWVkIGF0IGFsbCBoZXJlLCBpdCdzIGEgcG9pbnRlciB0bwoJICBhbiBhcmJpdHJhcnkgcG9zaXRpb24gaW5zaWRlIHRoZSBjdXJyZW50IGxpbmUuIEFsc28gZG9uJ3QgcmV1c2UKCSAgdGhlIGRhdGEgdmFyaWFibGUgZm9yIGFueXRoaW5nIGVsc2UsIHRoYXQgd2lsbCBjYXVzZSBjcmFzaGVzCgkgIGluIHBsYXlsaXN0cyB0aGF0IGhhdmUgdGhlIEktZnJhbWUgcGxheWxpc3QgVVJJIGZvbGxvd2VkIGJ5CgkgIG90aGVyIGF0dHJpYnV0ZXMuCgkgIENJRCAxMjEyMTI3CgoyMDE0LTA1LTA5IDE0OjMxOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggbGVhawoJICBUaGUgY2VsbCBleHRlbnNpb24gd2FzIG5ldmVyIGFkZGVkIHRvIHRoZSBwYXJlbnQgY2VsbAoJICBDSUQgIzEyMTIxNjIKCjIwMTQtMDUtMDkgMjI6MjI6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcHJlc2VydmUgYWxwaGEgaW4gQVlVViA8LT4gUkdCQSBjb252ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzQzCgoyMDE0LTA1LTA5IDE4OjA3OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yY29udmVydDogaW1wbGVtZW50IGxhenkgaW5pdAoKMjAxNC0wNS0wOCAxNTozODoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzZXQgaW5pdHRlZCB0byBUUlVFIHdoZW4gX2luaXRfdXBsb2FkIHN1Y2NlZWRlZAoKMjAxNC0wNS0wOCAyMjo0OTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBVc2UgR1NUX1NUUl9OVUxMKCkgZm9yIHByaW50aW5nIHBvc3NpYmx5IE5VTEwgc3RyaW5ncyBhbmQgcHJpbnQgYWxsIHZhcmlhYmxlcyB3ZSB1c2UKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBhYm91dCBzZXQgYnV0IG5vdCB1c2VkIHBsYXRmb3JtX2Nob2ljZSB2YXJpYWJsZQoJICBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDE0LTA1LTA4IDE2OjA4OjA4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiB1c2UgZ2xfdnRhYmxlCgoyMDE0LTA1LTA4IDE3OjI4OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGZpeCBjb21waWxhdGlvbiBvbiBPUyBYCgoyMDE0LTA1LTA4IDE1OjQwOjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGZhaWwgcHJvcG9lcmx5IGlmIGluaXQgZmFpbHMKCjIwMTQtMDUtMDggMTU6MzA6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbDogbWFrZSBhbGwgR09iamVjdHMgaW5oZXJpdCBmcm9tIEdzdE9iamVjdAoJICBBaWRzIG1lbW9yeSBsZWFrIGRlYnVnZ2luZyB3aXRoIEdTVF9UUkFDRT1tZW0tbGl2ZQoKMjAxNC0wNS0wOCAxMzo0NjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGltcGxlbWVudCBsYXp5IGluaXQKCSAgUmVuYW1lIGluaXRfZm9ybWF0IHRvIHNldF9mb3JtYXQKCjIwMTQtMDUtMDggMDA6NTk6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IGFkZCBnZXRfZm9ybWF0IG1ldGhvZAoJICBTaW1wbHkgcmV0cmVpdmVzIHRoZSBmb3JtYXQgc2V0IGJ5IGluaXRfZm9ybWF0CgoyMDE0LTA1LTA4IDAwOjQ4OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGF0dGVtcHQgdG8gcGFzc3Rocm91Z2ggdGhlIHBvb2wgaWYgdGhlIGNhcHMgYXJlIHRoZSBzYW1lCgkgIFJlZHVjZXMgdGhlIG51bWJlciBvZiBnbGJ1ZmZlcnBvb2wgaW5zdGFuY2VzIHJlcXVpcmVkIGZvciA+PTIKCSAgY29uc2VjdXRpdmUgR0wgZWxlbWVudHMgaW4gYSBwaXBlbGluZS4KCjIwMTQtMDUtMDggMDA6NDM6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYWx3YXlzIGluaXRpYWxpemUgdGhlIHVwbG9hZCBvYmplY3QKCjIwMTQtMDUtMDcgMjE6NDU6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogYWR2ZXJ0aXNlIEdzdEdMTWVtb3J5IHVzYWdlIGluIHRoZSBjYXBzIGFzIGNhcHNmZWF0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjU4CgoyMDE0LTA1LTA3IDIwOjEyOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIGdsL2V4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gZm9yIGNsdXR0ZXIgZXhhbXBsZXMKCSAgQ2x1dHRlclgxMVRleHR1cmVQaXhtYXAgaXMgZGVwcmVjYXRlZCBpbiBDbHV0dGVyIDEuNiBhbmQgd2UgYXNrIGZvcgoJICBhdCBsZWFzdCAxLjgKCjIwMTQtMDUtMDcgMTk6MDU6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBhdm9pZCBlbmRsZXNzIHJlY3Vyc2lvbiBmb3IgY29jb2EKCjIwMTQtMDUtMDYgMDg6NTI6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZGVwcmVjYXRlIG1heC1idWZmZXJpbmctdGltZSBwcm9wZXJ0eQoJICBJdCBpcyBub3QgdXNlZCBhcyBkYXNoZGVtdXggZG9lc24ndCBoYXZlIGEgaW50ZXJuYWwgYnVmZmVyCgkgIGZvciBmcmFnbWVudHMgYW55bW9yZQoKMjAxNC0wNS0wNiAwMTo1NjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmluZyBvbGQgdW51c2VkIGNvZGUKCSAgVGhlICdjYXRjaCB1cCBtb2RlJyBpc24ndCBuZWVkZWQgYW55bW9yZSBzaW5jZSBkYXNoZGVtdXgKCSAgaXMgZG93bmxvYWRpbmcgYW5kIHB1c2hpbmcgZnJvbSB0aGUgc2FtZSB0aHJlYWQKCjIwMTQtMDUtMDUgMTA6MTM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtZW1iZXIgdG8gc2V0IHN0YXJ0aW5nIGZyYWdtZW50IHRvIG5ldyBmcmFnbWVudHMKCjIwMTQtMDUtMDIgMTg6MzQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaGFuZGxlIGEgZmV3IG1vcmUgZXJyb3IgY2FzZXMKCSAgcmVsYXRlZCB0byBtaXNzaW5nIHBsdWdpbnMsIGJhZCBVUkkgYW5kIGEgbG9ja3VwIG9uIGRlYWxpbmcgd2l0aAoJICBlcnJvcnMgZnJvbSB0aGUgc291cmNlLgoKMjAxNC0wNS0wMiAxODozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBPbmx5IHNldCB0aW1lc3RhbXAgdG8gdGhlIGZpcnN0IGJ1ZmZlciBvZiBmcmFnbWVudHMKCSAgU2V0dGluZyBpdCB0byB0aGUgb3RoZXIgcGFydHMgb2YgdGhlIGZyYWdtZW50IGlzIHNsaWdodGx5IHdyb25nCgkgIGFuZCBtaXNsZWFkaW5nIGFzIGl0IGlzbid0IGFjY3VyYXRlIGVub3VnaC4KCjIwMTQtMDUtMDIgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSBzb3VyY2VzCgkgIFNldCB1cCBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjYXRjaCBlcnJvcnMKCSAgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQgYW5kIHNpZ25hbCB0aGUgY29uZCB0byBhbGxvdyB0aGUgZG93bmxvYWQKCSAgbG9vcCB0byByZXRyeSB0aGUgZG93bmxvYWQuCgoyMDE0LTA1LTAxIDIxOjA0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNoZWNrIGZvciBlcnJvcnMgYmV0d2VlbiBkb3dubG9hZHMKCSAgVG8gYWJvcnQgZWFybGllciBpbiBjYXNlIG9mIGZhaWx1cmVzCgoyMDE0LTA1LTAxIDIxOjAwOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFsd2F5cyBhY2NlcHQgdGhlIGxhdGVuY3kgY29uZmlndXJlIGV2ZW50CgkgIFVwc3RyZWFtIG9yIGludGVybmFsIGVsZW1lbnRzIGFyZSBpcnJlbGV2YW50IGFuZCB3ZSBzaG91bGQKCSAgYWx3YXlzIHN1Y2NlZWQuCgoyMDE0LTA1LTAxIDEyOjA0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSAgZGFzaGRlbXV4OiBtZWFzdXJlIGRvd25sb2FkIHJhdGUganVzdCBsaWtlIGhsc2RlbXV4CgkgIG5ldyBiaXRyYXRlID0gKG9sZCBiaXRyYXRlICsgKGxhc3QgZnJhZ21lbnQgYml0cmF0ZSAqIDMpKSAvIDQKCjIwMTQtMDQtMjUgMDg6NTA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1cmlkb3dubG9hZGVyIGZyb20gZnJhZ21lbnRzIGRvd25sb2FkCgkgIEluc3RlYWQsIHVzZSBhIHNvdXJjZSBlbGVtZW50IGxpbmtlZCB0byBhIGdob3N0cGFkIHRvIHByb3ZpZGUKCSAgc21hbGxlciBidWZmZXJzIGFuZCBtb3JlIGdyYW51bGFyIGNvbnRyb2wgZm9yIGRvd25zdHJlYW0KCSAgYnVmZmVyaW5nIGVsZW1lbnRzIHdoaWxlIGFsc28gcmVkdWNpbmcgc3RhcnR1cCBsYXRlbmN5CgoyMDE0LTA1LTA3IDA5OjExOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbC9zaW5rOiBtYWtlIHN1cmUgd2UgYWx3YXlzIGluaXRpYWxpemUgdGhlIHVwbG9hZCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU0MgoKMjAxNC0wNS0wNiAxOToyNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW50ZXJuYWwgc291cmNlIGV2ZW50IGxlYWtzCgoyMDE0LTA1LTA2IDExOjU5OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZG8gbm90IGFsbG9jYXRlIHRoZSB0YXJnZXQgdGV4dHVyZSBvZiBhbiBFR0xJbWFnZQoJICBUaGUgdGFyZ2V0IHRleHR1cmUgb2YgYW4gRUdMSW1hZ2UgaXMgdGhlIHRleHR1cmUgYmluZCBqdXN0CgkgIGJlZm9yZSBjYWxsaW5nIGdsRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkQuCgkgIEFzIHdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgYSBnbCB0ZXh0dXJlIGFzIHRoZSBzb3VyY2Ugb2YgYW4gRUdMSW1hZ2UKCSAgdGhlIGdsIHRleHR1cmUgaXMgYWN0dWFsbHkgYWxyZWFkeSBhbGxvY2F0ZWQgd2hlbiBjcmVhdGluZyB0aGUgZWdsaW1hZ2UuCgkgIEkgYWxzbyBzZWUgc29tZSBjYXNlcyB3aGVyZSBpdCBmYWlscyB0byB1cGxvYWQgYW4gZWdsaW1hZ2Ugd2hlbgoJICBnbFRleEltYWdlMkQgaXMgY2FsbGVkIG9uIHRoZSB0YXJnZXQuCgoyMDE0LTA1LTA2IDExOjUxOjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBhbGxvdyB0byBhdm9pZCBjYWxsaW5nIGdsVGV4SW1hZ2UyRCh3LCBoLCBOVUxMKSB3aGVuIGdlbmVyYXRpbmcgYSB0ZXh0dXJlCgkgIEp1c3QgcGFzcyAwIGFzIHdpZHRoIG9yIGhlaWdodCB0byBnc3RfZ2xfY29udGV4dF9nZW5fdGV4dHVyZS4KCjIwMTQtMDUtMDYgMTE6Mjc6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbDogbm8gbmVlZCB0byBpbml0aWFsaXplIGEgZnJhbWUgYnVmZmVyIG9iamVjdCB0byB1cGxvYWQgYW4gZWdsaW1hZ2UKCSAgRml4IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1ODgKCjIwMTQtMDUtMDYgMTE6MjE6NTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbDogdXNlIEdTVF9DQVRfRVJST1IgaW5zdGVhZCBvZiBHU1RfRVJST1JfT0JKRUNUCgkgIEl0IGZpeGVzIHNlZ2F1bHQgd2hlbiBHU1RfREVCVUcgaXMgYXQgbGVhc3QgbGV2ZWwgMSBhbmQgZWdsQ3JlYXRlSW1hZ2UgZmFpbHMKCjIwMTQtMDUtMDYgMTA6MTQ6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBkZWxldGUgdGV4dHVyZSB1c2VkIHdpdGggR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDE0LTA1LTA2IDE0OjIzOjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogdXNlIGdzdF9nbF9jb250ZXh0X2dlbl9zaGFkZXIgaGVscGVyIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZQoKMjAxNC0wNS0wNiAwOTo1NTowNSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogcmVtb3ZlIGVtcHR5IGxpbmUKCSAgUmVtb3ZlIHRyYWlsaW5nIGVtcHR5IGxpbmUgZnJvbSBjb21taXQgYmZkYzU0Mzk1MjM4YzA0ZmM2ZTViNTE4ODBjMmQ3MDZmMzNlOTAxMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDEzLTExLTIwIDEyOjE2OjE3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIHVudXNlZCBkYXRhIGluIFRzTXV4U2VjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjg1CgoyMDE0LTA1LTA2IDIxOjE3OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVlbmFibGUgY2FtZXJhYmluIGVsZW1lbnQgdGVzdAoKMjAxNC0wNS0wNiAxNjozOTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvZGlzcGxheTogY2xlYW4gdXAgcHJlIGdzdGdsY29udGV4dCBhcGkgYW5kIHN0cnVjdCBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNzoyNzoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2wvZGlzcGxheTogYWRkIGdldF9oYW5kbGVfdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE3OjA4OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogYXZvaWQgb3BlbmluZyB0aGUgWDExIGRpc3BsYXkgb24gc3lzdGVtcyB3aXRoIENvY29hIChPUyBYKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE2OjM5OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC93aW5kb3c6IGZpeCBzdHJpbmcgbGVuZ3RoIGNoZWNrIGZvciBlYWdsCgoyMDE0LTA1LTA2IDE2OjMxOjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogY2hlY2sgdGhlIGNvcnJlY3QgZW52IHZhcmlhYmxlIGZvciBjaG9vc2luZyBhbiBlZ2wgZGlzcGxheQoJICBHU1RfR0xfV0lORE9XIGlzIHVzZWQgZm9yIHdpbmRvdyBzeXN0ZW0gc3BlY2lmaWMgY2hvaWNlcy4KCSAgQW4gRUdMRGlzcGxheSBjYW4gYmUgY3JlYXRlZCBmcm9tIHdpbmRvdyBzeXN0ZW1zIHdpdGggZWdsIHN1cHBvcnQgYnkgdXNpbmcKCSAgZWdsR2V0RGlzcGxheSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDEyOjU2OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbC9jb2NvYTogVXNlIE9CSkNGTEFHUyB3aGVyZSBuZWVkZWQKCSAgU2hvdWxkIGZpeCB1c2FnZSBvZiBjLWNvbXBpbGVyLW9ubHkgZmxhZ3Mgd2l0aCBhbiBvYmplY3RpdmUtYyBjb21waWxlcgoKMjAxNC0wNS0wNiAwOTo0ODo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogZml4IGZsb3cgcmV0dXJuIGFuZCBidWZmZXIgbGVhayBpbiBub3QtbmVnb3RpYXRlZCBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTQtMDUtMDYgMDk6NDA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIG5ldyB2cDhwYXJzZXItdGVzdCBiaW5hcnkgdG8gLmdpdGlnbm9yZQoKMjAxNC0wNS0wNSAxNzoyMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgcmVzZXQgc3RyZWFtIGlmIHRoZSBrZXkgaGFzbid0IGNoYW5nZWQKCjIwMTQtMDUtMDUgMTc6MDA6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogQWRkICJyZW1vdmUta2V5IiBhY3Rpb24gc2lnbmFsIHRvIHJlbW92ZSBhIHNpbmdsZSBrZXkKCSAgUmVtb3ZpbmcgYWxsIHRoZSBrZXlzIGNhbiBiZSBhIHByb2JsZW0gYXMgaXQgYWxzbyByZXNldHMgdGhlIHZhcmlvdXMKCSAgY291bnRlcnMsIHNvIGluc3RlYWQgYWRkIGFuIG9wdGlvbiB0byByZW1vdmUgYSBzaW5nbGUga2V5LgoKMjAxNC0wNS0wNSAyMjoyNTowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogVXNlICV1IGluIHRlbXBsYXRlcyB0byBtYXRjaCBydHBiaW4KCjIwMTQtMDUtMDYgMDA6MTE6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTQtMDUtMDYgMDk6MjM6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgRml4IGZvciBub3QgY2hlY2tpbmcgemVybyB3aWR0aCBhbmQgaGVpZ2h0CgkgIFNpZ25lZC1vZmYtYnk6IFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDE0LTA1LTA1IDExOjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2V0IHRoZSBzZWdtZW50IHBvc2l0aW9uIGlmIHRoZXJlIGlzIGEgdGltZXN0YW1wCgkgIE9ubHkgdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50IGhhcyBpdHMgdGltZXN0YW1wIHNldCwgc28gb25seQoJICB1cGRhdGUgdGhlIHNlZ21lbnQucG9zaXRpb24gd2hlbiBwdXNoaW5nIHRob3NlIGJ1ZmZlcnMgdG8gYXZvaWQKCSAgaGF2aW5nIEdTVF9DTE9DS19USU1FX05PTkUgc2V0IHRvIHRoZSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzY0CgoyMDE0LTA1LTA1IDEyOjMwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSB0aGUgc2FtZSBpbmNsdWRlcyBmb3IgR0wgdGhhdCB3ZSB3b3VsZCB1c2UgbGF0ZXIgaW4gdGhlIGNvZGUgZm9yIGNoZWNraW5nIGlmIEdMRVMyIGFuZCBPcGVuR0wgaGVhZGVycyBjYW4gYm90aCBiZSBpbmNsdWRlZAoKMjAxNC0wNS0wNSAyMDowNjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBjaGVjayBpZiB3ZSBjYW4gaW5jbHVkZSBib3RoIEdMIGFuZCBHTEVTMiBoZWFkZXJzIGF0IHRoZSBzYW1lIHRpbWUKCSAgSWYgd2UgY2Fubm90LCB0aGVuIGRlZmF1bHQgdG8gR0wgb3ZlciBHTEVTMiB1bmxlc3MgR0xFUzIgaXMgcmVxdWlyZWQuCgoyMDE0LTA1LTA1IDA5OjQ2OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IENhY2hlLUNvbnRyb2wgaGVhZGVyIGFjY29yZGluZyB0byB0aGUgY2FjaGluZyByZXF1aXJlbWVudHMgb2YgdGhlIHBsYXlsaXN0CgoyMDE0LTA1LTA1IDA5OjM4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogVXBkYXRlIGZvciB1cmkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0wNSAwOTozNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVwZGF0ZSBmb3IgdXJpIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMDUgMDk6MzY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHBhcmFtZXRlciB0byBkaXNhbGxvdyBjYWNoaW5nIGFzIHJlcXVpcmVkIGJ5IEhMUwoKMjAxNC0wNS0wNSAwOTozNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBTdG9yZSBhbGxvd2NhY2hlIHBsYXlsaXN0IGZpZWxkIGluIGEgYm9vbGVhbgoKMjAxNC0wNS0wNCAyMjoyMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgdGhlIHNhbWUgI2luY2x1ZGVzIGZvciBjaGVja2luZyBHTCB0eXBlcyBhcyBsYXRlciBpbiB0aGUgY29kZQoKMjAxNC0wNS0wMyAyMTozODo0MiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIGdsL2NsdXR0ZXI6IHNhZmVyIGNoZWNrIGZvciBjb2dsIHZlcnNpb24KCSAgVXNlIENPR0xfVkVSU0lPTl9FTkNPREUgdG8gY2hlY2sgZm9yIHRoZSBtaW5pbXVtIHJlcXVpcmVkIGFuZCBtYXhpbXVtIGFsbG93ZWQKCSAgY29nbCB2ZXJzaW9uLiBJbiBjZXJ0YWluIHNpdHVhdGlvbnMganVzdCB1c2luZyB0aGUgQ09HTF9WRVJTSU9OXyogbWFjcm8gbmFtZSBjYW4KCSAgZ2l2ZSB5b3UgdGhlIGZvbGxvd2luZyBlcnJvcjoKCSAgZXJyb3IgIkNPR0xfVkVSU0lPTl9NQVhfQUxMT1dFRCBtdXN0IGJlID49IENPR0xfVkVSU0lPTl9NSU5fUkVRVUlSRUQiCgoyMDE0LTA1LTAzIDIxOjA1OjE5IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9nZW5lcmljOiByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZXMKCjIwMTQtMDUtMDMgMjA6NDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4xID09PQoKMjAxNC0wNS0wMyAxODoxNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIFJlbGVhc2UgMS4zLjEKCjIwMTQtMDUtMDMgMTg6MTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0wMyAxOTo0NTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBGaXggQ0ZMQUdTIGluIGNsdXR0ZXIgR0wgZXhhbXBsZXMKCjIwMTQtMDUtMDMgMTk6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFkZCBhbGwgZ2wgc3ViZGlycyB0byBESVNUX1NVQkRJUlMgdG8gZml4IHRoZSBidWlsZAoKMjAxNC0wNS0wMyAxNzoyNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNS0wMyAxMzoxMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogUmVtb3ZlIG1mYyBwbHVnaW4sIGl0IGlzIG9ic29sZXRlZCBieSB0aGUgdjRsMnZpZGVvZGVjIGVsZW1lbnQgZnJvbSBnc3QtcGx1Z2lucy1nb29kCgoyMDE0LTA1LTAzIDEyOjAyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogVXNlIGNvbXBsZXRlIGNhcHMgZm9yIHNldHRpbmcgdXAgdGhlIHN0cmVhbXMgaW4gdGhlIHRlc3QKCjIwMTQtMDUtMDMgMTA6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjYjE1MTggdG8gMjExZmE1ZgoKMjAxNC0wMy0xOSAwOToyMjowOCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IEFkZCBoYW5kbGluZyBvZiBQQVVTRUQgc3RhdGUKCSAgQWxzbyBhbGxvdyBkaXNhYmxpbmcgdGhlIHRpbWVvdXQgYnkgc2V0dGluZyBpdCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTU2CgoyMDE0LTA1LTAyIDE3OjI3OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IEFkZCBjb25maWcgZm9yIHRoZSByZXBsYXkgd2luZG93IHNpemUKCjIwMTQtMDUtMDIgMTc6MjQ6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IFJlbW92ZSB1bnVzZWQgb2JqZWN0IG1lbWJlcnMKCjIwMTQtMDUtMDIgMTc6MTk6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSB1c2VsZXNzIHN0cnVjdHVyZQoJICBSZW1vdmUgbm93IHVzZWxlc3Mgc3RydWN0dXJlCgoyMDE0LTA1LTAyIDE3OjE0OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgc3NyYyBwYXJzaW5nIGZyb20gc3RyZWFtCgkgIEl0J3Mgbm8gbG9uZ2VyIHVzZWQKCjIwMTQtMDUtMDIgMTc6MTM6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSBTU1JDIGZyb20gc2lnbmFsLCBpdCdzIG1lYW5pbmdsZXNzCgoyMDE0LTA1LTAyIDE3OjA3OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IFNldCB0aGUgU1JUUCBrZXkgYXMgYSBzaGFyZWQga2V5IGZvciBhbGwgU1NSQ3MKCSAgVGhpcyBpcyBhbHJlYWR5IGhvdyBpdCB3YXMgdXNlZC4KCjIwMTQtMDUtMDIgMTQ6MjA6NTggKzAyMDAgIEJsYWtlIFRyZWdyZSA8Ymxha2UudHJlZ3JlQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgaW4gdGhlIGJlZ2lubmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODAyCgoyMDE0LTA1LTAyIDEwOjQ0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgbWFrZSBzdXJlIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgcGxheWxpc3QuCgoyMDE0LTA1LTAyIDEwOjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgaW5jbHVkZSB0aGUgbWFuaWZlc3QgZmlsZSBhcyByZWZlcmVyIGluIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlCgkgIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QuCgoyMDE0LTA1LTAyIDEwOjM5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgaW5jbHVkZSB0aGUgTVBEIGZpbGUgYXMgcmVmZXJlciBpbiByZXF1ZXN0cywgYW5kIG1ha2Ugc3VyZQoJICB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIE1QRC4KCjIwMTQtMDUtMDIgMTA6MzY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHJlZnJlc2ggcGFyYW1ldGVyIHRvIGhpbnQgY2FjaGVzIHRoYXQgdGhleSBzaG91bGQgY2hlY2sgaWYgdGhleSdyZSB1cCB0byBkYXRlCgoyMDE0LTA1LTAyIDE1OjU2OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHVzZSB0aGUgYnVmZmVycG9vbCdzIHVwbG9hZCB3aGVuIGF2YWlsYWJsZQoJICBBdm9pZHMgZHVwbGljYXRpbmcgR0wgcmVzb3VyY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4NzIKCjIwMTQtMDUtMDIgMDU6NTc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsOiBzaG93IGludGVybmFsIGNvY29hIHdpbmRvdyBvbiB0b3Agb2Ygb3RoZXJzCgkgIFVzZWZ1bCB3aGVuIHlvdXIgT1NYIHRlcm1pbmFsIGlzIGZ1bGxzY3JlZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEyNwoKMjAxNC0wNS0wMiAwNTo1MTozNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2w6IHBhc3MgTlNWaWV3IGluc3RlYWQgb2YgTlNXaW5kb3cgaW4gY29jb2EtdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ1MQoKMjAxNC0wNS0wMiAwNTo1MDoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2w6IGFkZCBjb3B5cmlnaHQgdG8gY29jb2EgZXhhbXBsZQoKMjAxNC0wNS0wMiAwNTo0NjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L21haW4ubToKCSAgZ2w6IHJlbmFtZSBjb2NvYSBleGFtcGxlIGFuZCBtb3ZlIGl0IHRvIGl0cyBwYXJlbnQgZGlyZWN0b3J5CgoyMDE0LTA1LTAyIDA1OjI5OjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL1JFQURNRToKCSAgZ2w6IHJlbW92ZSB1bnVzZWZ1bCBSRUFETUUgZm9yIGNvY29hIGV4YW1wbGUKCjIwMTQtMDUtMDEgMTY6MDc6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsL3Bvb2w6IGluaXQgdGhlIHVwbG9hZCBvYmplY3Qgb24gc3RhcnQKCSAgVGhlb3JldGljYWxseSwgc2V0X2NvbmZpZyBjb3VsZCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMKCjIwMTQtMDUtMDEgMTk6MTY6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IE9ubHkgY2xlYXIgc3RyZWFtcyBpZiB0aGV5IGhhdmUgYmVlbiBjcmVhdGVkCgoyMDE0LTA1LTAxIDE5OjEwOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBVc2Ugb2JqZWN0IGRlYnVnCgoyMDE0LTA1LTAxIDE1OjU5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWx3YXlzIHN1Y2NlZWQgdGhlIExBVEVOQ1kgZXZlbnQKCSAgVXBzdHJlYW0gYW5kIG91ciBpbnRlcm5hbCBzb3VyY2UgaXMgaXJyZWxldmFudCBmb3IgdGhlIGxhdGVuY3kKCSAgYW5kIHdlIGRvbid0IHdhbnQgdGhlIExBVEVOQ1kgZXZlbnQgdG8gZXZlciBmYWlsLgoKMjAxNC0wNS0wMSAxNTo1Njo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IHRoZSBsYXN0IGZsb3cgcmV0dXJuIGJlZm9yZSByZXN0YXJ0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgbmV2ZXIgcmVjb3ZlciBmcm9tIHByZXZpb3VzIGVycm9ycywgYW5kIGVzcGVjaWFsbHkKCSAgd2lsbCBuZXZlciBzdGFydCBhZ2FpbiBhZnRlciBhIGZsdXNoaW5nIHNlZWsgaWYgZG93bnN0cmVhbSByZXR1cm5lZAoJICBHU1RfRkxPV19GTFVTSElORyB0byB1cy4KCjIwMTQtMDUtMDEgMTU6Mjk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHNldCBQVFMgb24gdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50IGluc3RlYWQgb2Ygc2V0dGluZyB0aGUgc2FtZSBvbiBhbGwgb2YgdGhlbQoKMjAxNC0wNC0zMCAxNzo1OToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyBmbHVzaCB0aGUgaW50ZXJuYWwgcHJveHkgcGFkcyBiZWZvcmUgZG93bmxvYWRpbmcKCSAgaGxzZGVtdXggY2FuJ3QgcmVseSBvbiB0aGUgc291cmNlIHRvIHB1c2ggZmx1c2hlcyBvbiBhIHNlZWsgb24gcmVhZHkKCSAgYXMgdGhhdCBtaWdodCBub3QgbWFrZSBzZW5zZS4gU28gYWx3YXlzIHJlc29ydCB0byBmbHVzaGluZyB0aGUKCSAgaW50ZXJuYWwgcHJveHkgcGFkcyBieSBwdXNoaW5nIGZsdXNoIGV2ZW50cyBmcm9tIHRoZSBzb3VyY2UncyBzcmMgcGFkLgoJICBBbHNvIGFzIHRoZSBzZWVraW5nIGlzIG5vdCByZXF1aXJlZCBhbnltb3JlLCBvbmx5IHNlZWsgaWYgdGhlcmUgaXMKCSAgcmVhbGx5IGEgYnl0ZSByYW5nZSB0byBiZSB1c2VkLiBBbmQgc3RvcmUgYSByZWYgdG8gdGhlIHNvdXJjZSdzCgkgIHNyYyBwYWQgdG8gYXZvaWQgZG9pbmcgZ2V0X3N0YXRpY19wYWQgZm9yIGV2ZXJ5IGZyYWdtZW50LgoKMjAxNC0wNS0wMSAxNDozNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsOiBUcnkgaGFyZGVyIHRvIGxvYWQgc3ltYm9scyBmcm9tIHRoZSBjb3JyZWN0IHBsYWNlCgkgIFRoaXMgY29tbWl0IG1ha2VzIHRoZSBsb2FkaW5nIG9mIHRoZSBHTW9kdWxlcyB0aHJlYWRzYWZlLCBhbmQKCSAgYWx3YXlzIGZpcnN0IHRyaWVzIHRvIGxvYWQgdGhlIHN5bWJvbCBmb3IgdGhlIEdMIGxpYnJhcnkgdGhhdAoJICBpcyBzZWxlY3RlZCBmb3IgdGhlIGN1cnJlbnQgY29udGV4dC4gT25seSB0aGVuIGl0IGZhbGxzIGJhY2sKCSAgdG8gbG9va2luZyBpbnRvIHRoZSBjdXJyZW50IG1vZHVsZSAoTlVMTCksIGFuZCBvbmx5IGFzIGEgbGFzdAoJICByZXNvcnQgdGhlIGNvbnRleHQgc3BlY2lmaWMgZnVuY3Rpb24gKGUuZy4gZWdsR2V0UHJvY0FkZHJlc3MoKSkKCSAgaXMgY2FsbGVkLgoJICBBbHNvIGFkZCBjb25maWd1cmUgcGFyYW1ldGVycyB0byBzZWxlY3QgdGhlIG5hbWVzIG9mIHRoZSBsaWJyYXJ5CgkgIG1vZHVsZXMgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdHMsIGFuZCBsZXQgdGhlIGRlZmF1bHRzIGJlCgkgIGluZGVwZW5kZW50IG9mIHRoZSBHX01PRFVMRV9TVUZGSVguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NTMKCjIwMTQtMDUtMDEgMTQ6MTE6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IGZpeCBvcGVyYXRpb24gd2l0aCBkdWFsIEdMLCBHTEVTMiBsaWJnc3RnbAoKMjAxNC0wNS0wMSAxMzo1NzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtOiBpbXBsZW1lbnQgdGV4dHVyZSBjb3B5aW5nIGJldHdlZW4gZm9ybWF0cyB3aXRoIHN0cmlkZXMgcHJvcGVybHkKCSAgUHJldmlvdXNseSwgd2UgdXNlZCB0aGUgd2lkdGggdG8gZGV0ZXJtaW5lIHRoZSBhbW91bnQgb2YgZGF0YSB0byBiZQoJICBjb3BpZWQgdXNpbmcgcGJvcy4gIFRoaXMsIG1ha2VzIGl0IGFsbG9jYXRlIGVub3VnaCBkYXRhIGZvciB0aGUKCSAgdGhlIHN0cmlkZXMgYXMgd2VsbC4KCjIwMTQtMDUtMDEgMTI6NTE6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsL21lbTogcGFkIHRoZSBwdWJsaWMgc3RydWN0CgoyMDE0LTA0LTMwIDE4OjM3OjI3ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBubyBuZWVkIHRvIHByb3ZpZGUgZnVsbCBsaWIgcGF0aCB0byBsb2FkIHN5bWJvbHMKCSAgLSBNYWtlIGdzdGdsIHdvcmsgb24gTWFsaQoJICAtIEtlZXAgaXQgd29yayBvbiBSUEkKCSAgLSBmYWxsYmFjayB0byBOVUxMIG5hbWUgbW9kdWxlIGlmIGZhaWxzIHdpdGggdXN1YWwgbGliIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc1MwoKMjAxNC0wNC0zMCAxMDowNToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGF2b2lkIHJlYWQgYnVmZmVyIG92ZXJmbG93IGluIGNyYWZ0ZWQgc3RyZWFtCgkgIENvdmVyaXR5IDEyMDg3NzcKCjIwMTQtMDQtMzAgMTc6MzA6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIGdsY29sb3JzY2FsZTogdXNlIGEgc2hhZGVyIG9uIEdMRVN2MgoJICBPdGhlcndpc2UgeW91IG9ubHkgc2VlIGJsYWNrIGZyYW1lcwoJICBGaXggaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk0NwoKMjAxNC0wNC0zMCAxNTozMDo1MyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVzZSBuZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGF2b2lkIGR1cGxpY2F0aW5nIGRlZmF1bHQgc2hhZGVyIHRleHQKCjIwMTQtMDQtMzAgMTU6Mjg6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIGdsZWZmZWN0czogdXNlIG5ldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSBzYW1lIHZlcnRleCBzaGFkZXIgdGV4dAoJICBBbmQgYWxzbyB1c2UgdGhlIGRlZmF1bHQgZnJhZ21lbnQgc2hhZGVyIHRleHQgZm9yIHRoZSBpZGVudGl0eSBlZmZlY3QKCjIwMTQtMDQtMzAgMTU6MjA6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbDogYWRkIGNvbnZlbmllbnQgZnVuY3Rpb25zIHRvIHNldHVwIGRlZmF1bHQgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzCgkgIE1vc3Qgb2Ygb3VyIDJEIGZpbHRlcnMgdXNlIHRoZSBzYW1lIHNpbXBsZSB2ZXJ0ZXggc2hhZGVyLgoJICBBbHNvIGRlZmluZSB0aGUgZGVmYXVsdCBmcmFnbWVudCBzaGFkZXIgYXMgdGhlIGlkZW50aXR5LgoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgc2FtZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlciB0ZXh0LgoKMjAxNC0wNC0zMCAwODo1MzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgdW5yZWYgcGVuZGluZyBidWZmZXIgaWYgdGhlcmUgaXMgb25lCgoyMDE0LTA0LTI5IDE4OjE1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBwdXNoIGxhc3QgYnVmZmVyIGFmdGVyIGVycm9yCgkgIEluIGRlY3J5cHRpb24gc2NlbmFyaW8sIGEgYnVmZmVyIGlzIGFsd2F5cyBzdG9yZWQgdG8gYmUgc2VudCBsYXRlcgoJICB0byB3YWl0IGZvciBtb3JlIGRhdGEgb3IgRU9TIHRvIGJlIGFibGUgdG8gc3RyaXAgdGhlIGZpbmFsIGJ5dGVzCgkgIGlmIHJlcXVlc3RlZC4gSW4gY2FzZSBhbiBlcnJvciBoYXBlbm5lZCB0aGlzIGJ1ZmZlciBjYW4gYmUgaWdub3JlZAoJICBhbmQgbm90IHB1c2hlZCBkb3duc3RyZWFtLgoKMjAxNC0wNC0yOSAxODoxNDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmbHVzaCB0aGUgYWRhcHRlciBpbiB0aGUgZW5kIG9mIGEgZnJhZ21lbnQKCSAgSW4gY2FzZSBvZiBlcnJvciB0aGVyZSBtaWdodCBiZSBzb21lIGRhdGEgbGVmdCBpbiB0aGUKCSAgYWRhcHRlciB3aGVuIEVPUyBpcyByZWNlaXZlZC4gQ2xlYXIgdGhlIGFkYXB0ZXIgdG8gYmUKCSAgYWJsZSB0byByZXN0YXJ0IGFnYWluIGxhdGVyIGlmIHJlcXVlc3RlZC4KCjIwMTQtMDQtMjkgMTg6MTQ6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIG1vcmUgZXJyb3IgY2FzZXMKCSAgSGFuZGxlIHNvbWUgbW9yZSBlcnJvciBjYXNlczoKCSAgMSkgV2hlbiB0aGUgc291cmNlIGVsZW1lbnQgZmFpbHMgdG8gZ28gdG8gcmVhZHkKCSAgMikgV2hlbiBkZWNyeXB0aW9uIGZhaWxzCgkgIDMpIFdoZW4gdGhlcmUgaXMgbm8gc291cmNlIHRvIGhhbmRsZSBhIHNwZWNpZmljIFVSSQoJICA0KSBXaGVuIHRoZSBVUkkgaXMgaW52YWxpZAoKMjAxNC0wNC0yOSAxNToxOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGhhbmRsZSBlcnJvcnMgZnJvbSBpbnRlcm5hbCBzb3VyY2UKCSAgU2V0IHVwIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBjYXRjaCBlcnJvcnMgZnJvbSB0aGUgaW50ZXJuYWwKCSAgc291cmNlIGFuZCBzdG9yZSB0aGUgbGFzdCByZXR1cm4gY29kZSB0byBpZGVudGlmeSBlcnJvciBzaXR1YXRpb25zCgkgIHdoZW4gcmV0dXJuaW5nIGZyb20gYSBmcmFnbWVudCBkb3dubG9hZC4KCSAgQWxzbyBtb3ZlcyB0aGUgZHVyYXRpb24gaW5jcmVhc2UgdG8gYWZ0ZXIgdGhlIGRvd25sb2FkIHdoZW4gd2UKCSAga25vdyBpZiBpdCB3YXMgc3VjY2Vzc2Z1bCBvciBub3QKCjIwMTQtMDQtMjkgMTU6MTc6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXByb3ZlIHBhZCBzd2l0Y2hpbmcgY29uZGl0aW9ucwoJICBXaGVuIHVzaW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UsIGhsc2RlbXV4IGRvZXNuJ3Qga25vdyB0aGUgY2FwcyBvZgoJICB0aGUgaW5wdXQgYmVmb3JlIGFkZGluZyB0aGUgcGFkLCBzbyByZW1vdmUgdGhlIGFyZ3VtZW50cyB0aGF0IHdvdWxkCgkgIHVzZSB0aGF0IGFzIGl0IGlzIGFsd2F5cyBOVUxMLgoJICBBbmQgdXNlIGFuIHNwZWNpZmljIGZsYWcgdG8gc2lnbmFsIHdoZW4gYSBwYWQgc3dpdGNoIGlzIHJlcXVpcmVkLgoJICBVc2luZyB0aGUgZGlzY29udCBmbGFnIGlzIGEgYmFkIGlkZWEgbm93IGJlY2F1c2Ugd2hlbiBhIGZyYWdtZW50CgkgIGRvd25sb2FkIGZhaWxzIGl0IHdpbGwgbGVhZCB0byBleHBvc2luZyBhIHBhZCBncm91cCB3aXRob3V0IGFueQoJICBkYXRhLCBjYXVzaW5nIGRlY29kZWJpbiB0byBhYm9ydC4KCjIwMTQtMDQtMjggMjA6MDE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHJvcGVybHkgZmx1c2ggZGVjcnlwdGlvbiBzdGF0dXMgb24gc2Vla3MKCSAgQXZvaWRzIG1peGluZyBkZWNyeXB0aW9uIG9mIGRpZmZlcmVudCBmcmFnbWVudHMgd2hlbiBzZWVraW5nIGhhcHBlbnMKCSAgYW5kIGxlYWRpbmcgdG8gYnJva2VuIHN0cmVhbSBvdXRwdXQuCgoyMDE0LTA0LTI4IDE5OjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogVHJhY2sgZnJhZ21lbnRzIGR1cmF0aW9uCgkgIFdoZW4gcmVjZXZpbmcgRU9TIGZyb20gdGhlIGludGVybmFsIHNyYywgaW5jcmVhc2UgdGhlIGN1cnJlbnQgcG9zaXRvbgoJICBieSB0aGUgZnJhZ21lbnQgZHVyYXRpb24gdG8gYWxsb3cgY29ycmVjdCByZXN0b3Jpbmcgb2YgZG93bmxvYWQgcG9zaXRpb24KCSAgaWYgdGhlIGJpdHJhdGUgY2hhbmdlcwoKMjAxNC0wNC0yNSAxMjo1NTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwcm9wZXJseSBzdG9wIHRhc2tzIGJ5IHN0b3BwaW5nIGZyYWdtZW50IGRvd25sb2FkCgkgIElzc3VlIGEgc2lnbmFsIHRvIHRoZSBmcmFnbWVudCBkb3dubG9hZCBjb25kIHRvIHN0b3AKCSAgdGhlIHRhc2sgZWFybGllcgoKMjAxNC0wNC0yNSAxMDo0MDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkZWNyeXB0IGJlZm9yZSB0eXBlZmluZGluZwoJICBNYWtlIHN1cmUgdHlwZWZpbmRpbmcgZ2V0cyB0aGUgZGVjcnlwdGVkIGNvbnRlbnQgaW5zdGVhZCBvZgoJICB0cnlpbmcgdG8gdHlwZWZpbmQgdGhlIGVuY3J5cHRlZCBkYXRhLgoKMjAxNC0wNC0yNSAxMDozOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggZGVjcnlwdGlvbiBmdW5jdGlvbiByZXR1cm4KCSAgQ29ycmVjdGx5IHJldHVybiB0aGUgZGVjcnlwdGVkIGJ1ZmZlciB3aGVuIGl0IHN1Y2NlZWRzIGFuZAoJICByZXR1cm4gTlVMTCBvdGhlcndpc2UKCjIwMTQtMDQtMjIgMjA6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDoga2VlcCBjb25uZWN0aW9uIGFsaXZlIGJldHdlZW4gZG93bmxvYWRzCgkgIFVzZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHVyaWRvd25sb2FkZXIgdG8ga2VlcCBjb25uZWN0aW9ucyBhbGl2ZQoJICBiZXR3ZWVuIGNvbnNlY3V0aXZlIGZyYWdtZW50cyBkb3dubG9hZHMuCgkgIDEpIHNldCBrZWVwLWFsaXZlIHByb3BlcnR5IHRvIHRydWUKCSAgMikga2VlcCB0aGUgZWxlbWVudCBpbiBSRUFEWSBpbnN0ZWFkIG9mIGluIE5VTEwKCjIwMTQtMDQtMTYgMjA6MDI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY3JlYXRlIHNvdXJjZXMgZnJvbSB1cmkKCSAgSW5zdGVhZCBvZiB1c2luZyBhbHdheXMgYW4gaHR0cCBzb3VyY2UsIGNyZWF0ZSBpdCBkeW5hbWljYWxseSBmcm9tCgkgIHVyaSB3aGVuIG5lZWRlZC4gSWYgbm90IG5lZWRlZCBqdXN0IHJlcGxhY2UgdGhlIFVSSSBvbiB0aGUgY3VycmVudAoJICBlbGVtZW50CgoyMDE0LTA0LTE2IDE4OjA0OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCB0cnkgdG8gcnVuIHR5cGVmaW5kIGFnYWluIGlmIGNhcHMgaXMgdGhlIHNhbWUKCSAgQWx3YXlzIHJlc2V0IHRoZSBkb190eXBlZmluZCBmbGFnIGlmIGhscyBkaWQgdHlwZWZpbmQgYmVjYXVzZQoJICB0cnlpbmcgaXQgb24gbm9uLXplcm8gb2Zmc2V0cyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW5kIHdpbGwgY2F1c2UKCSAgYXNzZXJ0aW9ucwoKMjAxNC0wNC0xNiAwNjoxMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGVuYWJsZSBkb3dubG9hZCBiaXRyYXRlIG1lYXN1cmUKCSAgTWVhc3VyZSB0aGUgZG93bmxvYWQgYml0cmF0ZSB0byBiZSBhYmxlIHRvIHNlbGVjdAoJICB0aGUgYmVzdCBwbGF5bGlzdC4KCSAgQXMgdGhlIGJ1ZmZlcnMgYXJlIGRpcmVjdGx5IHB1c2hlZCBkb3duc3RyZWFtIGFuZCBpdAoJICBtaWdodCBibG9jay4gVGhlIHRpbWUgaXMgb25seSBtZWFzdXJlZCBmcm9tIHRoZSBkb3dubG9hZAoJICB1bnRpbCB0aGUgcGFkIHB1c2ggYW5kIGl0IGlzIHN0YXJ0ZWQgYWdhaW4gYWZ0ZXIgdGhlIHB1c2gKCSAgcmV0dXJucy4KCjIwMTQtMDQtMDggMTc6MzE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZS1lbmFibGUgZGVjcnlwdGlvbiBhZnRlciB1cmlkb3dubG9hZGVyIHJlbW92YWwKCSAgTm93IHRoZSBkZWNyeXB0aW9uIGlzIGRvbmUgYnVmZmVyIGJ5IGJ1ZmZlciBpbnN0ZWFkIG9mIG9uIHRoZQoJICB3aG9sZSBmcmFnbWVudCBhdCBvbmNlLiBBcyBpdCBleHBlY3RzIG11bHRpcGxlcyBvZiAxNiBieXRlcyBhCgkgIEdzdEFkYXB0ZXIgd2FzIGFkZGVkIHRvIHByb3Blcmx5IGNodW5rIHRoZSBidWZmZXJzLgoJICBBbHNvIHRoZSBsYXN0IGJ1ZmZlciBtdXN0IGJlIHJlc2l6ZWQgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKCSAgbGFzdCBieXRlIG9mIHRoZSBmcmFnbWVudCwgc28gaGxzZGVtdXggYWx3YXlzIGtlZXBzIGEgcGVuZGluZyBidWZmZXIKCSAgYXMgaXQgZG9lc24ndCBrbm93IGlmIGl0IGlzIHRoZSBsYXN0IG9uZSB5ZXQKCjIwMTQtMDQtMDcgMTM6NTc6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZXBsYWNlIHVyaWRvd25sb2FkZXIgd2l0aCBhIEdzdEVsZW1lbnQKCSAgVGhlIEdzdEVsZW1lbnQgaXMgZGlyZWN0bHkgbGlua2VkIGludG8gYSBnaG9zdCBwYWQgYW5kCgkgIGl0cyBidWZmZXJzIGFyZSBwdXNoZWQgYXMgcmVjZWl2ZWQgZG93bnN0cmVhbS4gVGhpcyB3YXkgdGhlCgkgIGJ1ZmZlcnMgYXJlIHNtYWxsIGVub3VnaCBhbmQgbm90IGEgd2hvbGUgZnJhZ21lbnQgdGhhdCB1c3VhbGx5CgkgIGNhdXNlcyBleHRyYSBsYXRlbmN5IGFuZCBtYWtlcyBidWZmZXJpbmcgaGFyZGVyCgoyMDE0LTA0LTI5IDE5OjI0OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIEdfQkVHSU4vRU5EX0RFQ0xTIGluIHV0aWxzIGhlYWRlcgoKMjAxNC0wNC0yOSAxMzoyMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBnbDogYWRkIG1pc3NpbmcgZW50cnkgdG8gY2ZsYWdzIHRvIGZpbmQgZ3N0L2dsL2dsLmgKCSAgT3RoZXJ3aXNlIGJ1aWxkIGZhaWxzCgoyMDE0LTA0LTI5IDE2OjQ0OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJICB0ZXN0czogZHJvcCBkaXJlY3QgaW5jbHVkZQoJICBJdCBpcyBvbmx5IGFsbG93ZWQgdG8gaW5jbHVkZSBnZGsvZ2RreC5oIGFuZCB0aGF0IHdpbGwgYnJpbmcgYWxsIHRoZSB4MTEgdGhpbmdzLgoKMjAxNC0wMS0wNiAyMjoxMzoyMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNuZGZpbGU6IHNlbmQgYSB0b2MgZm9yIHRoZSBzZWdtZW50cyBpbiB0aGUgYXVkaW8gZmlsZQoKMjAxNC0wNC0yOSAxNTowNjowMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSAoaWVlaSkgPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1bnJlZi9yZXBsYWNlIGZvcmNlX2tleV91bml0X2V2ZW50IGluIGdzdF9oMjY0X3BhcnNlX3Jlc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyMDAKCjIwMTQtMDQtMjkgMjI6MTg6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9zZGwgZXhhbXBsZTogRml4IHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE0LTA0LTIzIDIwOjI5OjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBSZWR1Y2Ugbm9pc3kgSW5mbyBsZXZlbCBvdXRwdXQgdG8gTE9HCgoyMDE0LTA0LTI5IDE4OjMyOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzL3NkbDogdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGdzdGdsIGNoYW5nZXMKCjIwMTQtMDQtMjkgMTY6Mzg6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuY2JwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvbWFpbi5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL2N1YmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9jdWJleXV2LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvZG91YmxlY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9nZW5lcmljLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvcmVjb3JkZ3JhcGhpYy52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L2ZpbHRlcm5vdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvZmlsdGVydmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0ay5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9ndGt2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvcGl4YnVmZHJvcC9waXhidWZkcm9wLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L3N3aXRjaHZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdscmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvQXN5bmNRdWV1ZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9jb2NvYV91dGlscy5tbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9EZWJ1Zy92aWRlb292ZXJsYXk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb3ZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGwuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzOiBtb3ZlIHRvIC1iYWQKCSAgLSBmaXggYWxsIHRoZSBjb21waWxlciBlcnJvcnMKCSAgLSBnaXZlIHRoZW0gdGhlaXIgb3duIGdsIGRpcmVjdG9yeQoKMjAxNC0wNC0yOCAxNTo1NjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wucGMuaW46CgkgIGVnbDogcmVtb3ZlIHBjIGZpbGVzCgkgIEZvcmdvdCB0byBkbyB0aGF0IGluIDA5MTE2YmYxMGQ1MTVkNTBiZGQxZTlhMjAyNzhiZTgxNmNiNzYyYWE6CgkgICJlZ2wvZWdsZ2xlc3Npbms6IHJlbW92ZSBzaW5jZSBFR0xJbWFnZSBhbmQgaU9TIHN1cHBvcnQgaGF2ZSBiZWVuIGFkZGVkIGluIGdsaW1hZ2VzaW5rIgoKMjAxNC0wNC0yOCAxNTo1Mjo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnbDogYXBwZW5kIEdMX0xJQiBhbmQgR0xfQ0ZMQUdTIGluIHBjIGZpbGVzCgoyMDE0LTA0LTI4IDE1OjQ3OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFwcGVuZCBFR0xfTElCIHRvIEdMX0xJQgoKMjAxNC0wNC0yOCAxNToxNToyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogdXNlIGdzdF9nbF9wbGF0Zm9ybV9mcm9tX3N0cmluZyBiZWNhdXNlIHdlIHN1cHBvcnQgZ2wgc2hhcmVMaXN0IG9uIGFsbCBwbGF0Zm9ybXMKCjIwMTQtMDQtMjggMTU6MDc6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBvbmx5IHdhcm4gd2hlbiBvdGhlcl9jb250ZXh0IGF0dHJpYnV0ZSBpcyBzZXQKCSAgRml4IGZhbHNlIHBvc2l0aXZlCgoyMDE0LTA0LTI4IDE0OjU0OjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4IHN0cmluZyBsaXRlcmFsIHdhcm5pbmcKCSAgd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KCjIwMTQtMDQtMjggMTA6MTI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFVuc2V0IHJlZmVyZXIgaWYgbm9uZSB3YXMgc3BlY2lmaWVkIGxhdGVyIG9uCgoyMDE0LTA0LTI4IDA5OjMyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTZXQgUmVmZXJlciBpbiByZXF1ZXN0cyB0byB0aGUgcGxheWxpc3QgVVJJCgoyMDE0LTA0LTI4IDA5OjIzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBBUEkgdG8gc3BlY2lmeSB0aGUgcmVmZXJlciBvZiBhIHJlcXVlc3QKCjIwMTQtMDQtMjcgMjM6Mjk6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwYXJzaW5nIG9mIHNsaWNlIGdyb3VwcyBmb3IgbWFwIHR5cGUgPSAyLgoJICBXaGVuIHBhcnNpbmcgc2xpY2UgZ3JvdXBzIGluZm9ybWF0aW9uIGZvciBzbGljZV9ncm91cF9tYXBfdHlwZSA9IDIsIHdlCgkgIHNob3VsZCBvbmx5IGJlIHJlYWRpbmcgdXAgdG8gbnVtX3NsaWNlX2dyb3Vwc19taW51czEgZ3JvdXBzIHNpbmNlIHRoZXJlCgkgIGlzIGFsd2F5cyBhICJsZWZ0b3ZlciIgc2xpY2UgZ3JvdXAgYW5kIGFzIG1hbnkgImZvcmVncm91bmQiIHNsaWNlIGdyb3VwcwoJICBhcyBuZWVkZWQuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgU1ZDQk1ULTUgYW5kIFNWQ0JNVC0xMiB3aGVyZWJ5IHRoZSBiYXNlIGxheWVyIHdvdWxkCgkgIGhhdmUgaW5jb3JyZWN0bHkgYmVlbiBwYXJzZWQgdG8gaGF2ZSB1cCB0byAzOCByZWZlcmVuY2UgZnJhbWVzIGluIGxpc3QwLAoJICB3aGljaCBpcyBub3QgcG9zc2libGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMjcgMDk6MjU6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IERvbid0IGZhaWwgaWYgSFcgZG9lcyBub3QgaGF2ZSBhbGwgaW50ZXJmYWNlcwoJICBUaGlzIHBhdGNoIGNvbXBsZXRlcyAxYzFjYzczYTNiMjMwNDU0NjYzOTcxNjU2NTE1Mjk3ZjllZThiZDlmLiBUaGVzZQoJICBjaGFuZ2VzIHdoZXJlIGFjY2lkZW50YWxseSBwdXNoZWQgYXMgYSBzZXBhcmF0ZSBwYXRjaCB3aXRoIHdyb25nIGNvbW1pdAoJICBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MwoKMjAxNC0wNC0yNyAxMzowOTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIFJldmVydCAieTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ODMwOWJkMjE1OTJhOTZkYzgyNDE3MDJmMTdkZWQ0ZTVmNTQ1ZjMzLgoJICBDb21taXQgbWVzc2FnZSBhbmQgZmlsZXMgY2hhbmdlZCBkbyBub3QgbWF0Y2guCgoyMDE0LTA0LTI3IDAwOjM2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGFuZCBwb2ludGxlc3MgJ0xhc3QgcmV2aWV3ZWQnIGxpbmVzIGZyb20gZG9jcwoJICBUaGV5IGFyZSB2ZXJ5IGNvbmZ1c2luZyBmb3IgcGVvcGxlLCBhbmQgbW9yZSBvZnRlbiB0aGFuIG5vdAoJICBhbHNvIGp1c3Qgbm90IHZlcnkgYWNjdXJhdGUuIFNlZWluZyAnbGFzdCByZXZpZXdlZDogMjAwNScgaW4KCSAgeW91ciBkb2NzIGlzIG5vdCB2ZXJ5IGNvbmZpZGVuY2UtaW5zcGlyaW5nLiBMZXQncyBqdXN0IHJlbW92ZQoJICB0aG9zZSBjb21tZW50cy4KCjIwMTQtMDQtMjYgMDg6MDg6NTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBkZXJpdmF0aW9uIG9mIGRlZmF1bHQgc2NhbGluZyBsaXN0cy4KCSAgV2hlbiB1c2VEZWZhdWx0U2NhbGluZ01hdHJpeEZsYWcgaXMgY29tcHV0ZWQgdG8gYmUgMSB3aGlsZSBwYXJzaW5nCgkgIHNjYWxpbmdfbGlzdCgpLCB0aGVuIHRoZSBzY2FsaW5nIGxpc3Qgc2hhbGwgYmUgaW5mZXJyZWQgdG8gYmUgZXF1YWwKCSAgdG8gdGhlIGRlZmF1bHQgbGlzdCAoNy40LjIuMS4xLjEpLiBUaGF0IGRlZmF1bHQgbGlzdCBpcyByZWFsbHkgb25lCgkgIG9mIERlZmF1bHRfNHg0X3tJbnRyYSxJbnRlcn0gb3IgRGVmYXVsdF84eDhfe0ludHJhLEludGVyfSBhbmQgbm90CgkgIG9uZSBmcm9tIGZhbGwtYmFjayBydWxlIHNldHMgQSBvciBCLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIEZSRXh0MV9QYW5hc29uaWNfRCwgRlJFeHQyX1BhbmFzb25pY19DLAoJICBGUkV4dDNfUGFuYXNvbmljX0UgYW5kIEZSRXh0NF9QYW5hc29uaWNfQi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDUxOAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE2IDAxOjUwOjE2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsKnNpbms6IHJlcG9ydCBlcnJvcnMgZnJvbSBjdXJsIHdoZW4gc2V0dGluZyBvcHRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMTUgMjM6NTM6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBwb3N0IGVycm9yIG9uIGJ1cyBpbiBlbGVtZW50LCBub3QgdHJhbnNmZXIgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmxodHRwc2luazogYWxsb3cgZm9yIHVuY29uZGl0aW9uYWxseSBkaXNhYmxpbmcgcHJveHlpbmcKCSAgUHJldmlvdXNseSBpZiB0aGUgcHJveHkgc2VydmVyIGhvc3RuYW1lIHdhcyB0aGUgZW1wdHkgc3RyaW5nCgkgIGN1cmxodHRwc2luayB3b3VsZCBuZXZlciBldmVuIHNldCB0aGUgbGliY3VybCBvcHRpb24uIEZvciBsaWJjdXJsCgkgIGhvd2V2ZXIsIGhhdmluZyBhIHByb3h5IHNlcnZlciBob3N0bmFtZSBiZSB0aGUgZW1wdHkgc3RyaW5nIG1lYW5zIHRoYXQKCSAgcHJveHlpbmcgc2hvdWxkIGJlIGRpc2FibGVkIGV2ZW4gaWYgZW52aXJvbm1lbnQgdmFyaWFibGVzIG1pZ2h0IGJlIHNldC4KCSAgTm93IHdpdGggdGhlIHJlc3RyaWN0aW9uIGxpZnRlZCwgZG9pbmcgdGhpcyBpcyBhbGxvd2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjU2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJICBjdXJsKnNpbms6IGltcHJvdmUgcmV0dXJuIHZhbHVlIGNoZWNrcyBpbiB0ZXN0IGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6MTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsKnNpbms6IGZpeCB0eXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTE2IDAxOjUwOjAzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybCpzaW5rOiBmaXggc29tZSBnc3QtaW5kZW50IHByb2JsZW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjUgMTY6MTg6MDcgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBjaGVjayB0aGUgY29ycmVjdCBHc3RHTE1lbW9yeSBpbiBiYXNpY190ZXN0CgoyMDE0LTA0LTI1IDE3OjQwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBPbmx5IHJlcXVpcmUgYWxpZ25tZW50IGFuZCBzdHJlYW0tZm9ybWF0IGZvciBoMjY0LCBwYXJzZWQgaXMgaW1wbGljaXQKCjIwMTQtMDQtMjUgMTQ6NDE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNldCBzb3VyY2Ugc3RhdGUgdG8gTlVMTCBpZiBkb3dubG9hZGluZyBmYWlsZWQgZm9yIHdoYXRldmVyIHJlYXNvbgoKMjAxNC0wNC0yNCAxMzo1OTozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wNC0yNCAxODozMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsL3gxMTogR2V0IHJpZCBvZiB1bm5lZWRlZCBzZWNvbmQgZGlzcGxheSBjb25uZWN0aW9uIGFuZCBkbyBldmVyeXRoaW5nIGZyb20gdGhlIG1haW4gbG9vcAoKMjAxNC0wNC0yNCAxODoyODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogQmxvY2sgcmVuZGVyaW5nIHVudGlsIHN3YXBidWZmZXJzIGlzIGNhbGxlZCBhbmQgZG9uJ3QgZ28gdmlhIFgxMSBldmVudHMgYXMgdW5uZWVkZWQgaW5kaXJlY3Rpb24KCSAgVGhpcyBzaG91bGQgZml4IFFvUyBwcm9ibGVtcywgd2hlcmUgYmFzZXNpbmsgYmVsaWV2ZWQgaXQgd2FzIHJlbmRlcmluZyB3aXRoCgkgIDIwRlBTIGJ1dCBhY3R1YWxseSB3ZSB3ZXJlIGp1c3QgcXVldWVpbmcgdXAgWDExIEV4cG9zZSBldmVudHMgYW5kIG9ubHkgb25jZQoJICBpbiBhIHdoaWxlIHNvbWV0aGluZyB3YXMgcmVuZGVyZWQuCgoyMDE0LTA0LTI0IDE2OjA1OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogZmFpbHMgZ2xpbWFnZXNpbmsgd2hlbiBzaGFkZXIgY29tcGlsYXRpb24gd2VudCB3cm9uZwoJICBUaG9zZSBzaGFkZXJzIGFyZSBmaXhlZCBhbmQgdmVyeSBzaW1wbGUgc28gaXQgc2hvdWxkIG5vdCBmYWlsCgkgIGJ1dCBpdCdzIHdvcnRoIHRvIGhhbmRsZSBhIHN1Y2ggY2FzZS4KCjIwMTQtMDQtMjQgMTU6MzY6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBjYWxsIGdsQ2xlYXJDb2xvciBiZWZvcmUgZ2xDbGVhcgoKMjAxNC0wNC0yNCAxNjozMzo1NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBmaXggZ3N0cmVhbWVyLWdsIHVuaW5zdGFsbGVkCgkgIEVuc3VyZSB0byBwcm92aWRlIGxpYmdzdGdsIGFsc28gaW4gdGhlIHVuaW5zdGFsbGVkIHNldHVwLgoJICBGaXhlcyBidWlsZCBvZiBnc3Qtb214IGZvciBSUEkgaW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDE0LTA0LTI0IDE1OjE3OjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBkbyBub3Qgc2NhbGUgdG8gZnVsbCBzY3JlZW4KCSAgSGF2aW5nIGEgNjQweDM2MCBtb3ZpZSBiZWluZyBzY2FsZWQgdG8gMTkwMHgxMjAwIGRvZXMgbm90IGxvb2sgbmljZQoKMjAxNC0wNC0yNCAxNDo1MDo1NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogY2hhbmdlIGRpc3BtYW54IGF0dHJpYnV0ZXMgb2YgZXhpc3RpbmcgZWxlbWVudCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZQoJICBJIHdhcyBsdWNreSB0aGF0OgoJICBlMSA9IHZjX2Rpc3BtYW54X2VsZW1lbnRfYWRkICgpCgkgIGVnbENyZWF0ZVdpbmRvd1N1cmZhY2UgKGUxKQoJICB2Y19kaXNwbWFueF9lbGVtZW50X3JlbW92ZSAoZTEpCgkgIGUyID0gdmNfZGlzcG1hbnhfZWxlbWVudF9hZGQgKCkKCSAgcmVzdWx0ZWQgaW4gaGF2aW5nIGUyIGVxdWFsIHRvIGUxLiBBbmQgYWxzbyBoYXZpbmcgdGhlIGVnbCBzdXJmYWNlCgkgIHRoYXQgZG9lcyBub3QgYWxsb2NhdGUgaXRzIGJ1ZmZlcnMgYmVmb3JlIHRoZSBmaXJzdCBkcmF3LgoKMjAxNC0wNC0yNCAxNDozODo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogZW5zdXJlIHRoZSBkaXNwbWFueCBlbGVtZW50IHRvIGJlIG9wYXF1ZQoJICBTbyB0aGF0IHdlIGVuc3VyZSBpdCBkb2VzIG5vdCBnZXQgYWxwaGEgY29tcG9zaXRlZCB3aXRoIG90aGVyCgkgIGRpc3BtYW54IGVsZW1lbnRzIGxpa2UgdGhlIGRlc2t0b3AuCgoyMDE0LTA0LTE4IDIwOjA0OjI1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF2ZmFzc2V0c3JjOiBkb3duZ3JhZGUgcmFuayB0byBTRUNPTkRBUlkgaW4gT1MgWAoKMjAxNC0wNC0xOCAyMDowMzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiByZW5hbWUgcmVmZXJlbmNlcyB0byBpT1MKCjIwMTQtMDQtMTQgMTk6MDg6MDEgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3NhdmFzc2V0c3JjOiByZW5hbWUgZWxlbWVudCB0byBhdmZhc3NldHNyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDE0LTA0LTAzIDE0OjAyOjE4ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXZhc3NldHNyYzogUG9ydCB0byAxLjAKCSAgQWxzbyBlbmFibGVzIHRoaXMgZWxlbWVudCBvbiBPU1ggPj0gMTAuNy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxMy0wNS0xMSAwMzo0MTozNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBuZXcgc291cmNlL2RlY29kZXIgZWxlbWVudCBmb3IgaU9TIGFzc2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDE0LTA0LTA5IDEwOjU1OjAzICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBjb3JlbWVkaWFidWZmZXI6IGhhbmRsZSBzdHJpZGUgYWxpZ25tZW50CgkgIEhhbmRsZSBzdHJpZGUgYWxpZ25tZW50IHRocm91Z2ggdGhlIHVzZSBvZiB0aGUgdmlkZW8gbWV0YSBBUEkuIFRoZQoJICBjb2RlIGlzIGJhc2VkIG9uIHRoZSBjb3JldmlkZW9idWZmZXIgaW1wbGVtZW50YXRpb24uCgkgIElmIHRoZSB2aWRlbyBtZXRhIEFQSSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB0aGUgdW5kZXJseWluZyBidWZmZXIKCSAgY29udGFpbnMgcGFkZGluZywgdGhlIGNvcmUgbWVkaWEgYnVmZmVyIGlzIGNvcGllZCB0byBhIHN5c3RlbSBtZW1vcnkKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODg1CgoyMDE0LTA0LTA5IDExOjQ3OjEyICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIHZpZGVvIG1ldGEgQVBJCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIHZpZGVvIG1ldGEgQVBJLCBzbyB3ZSBjYW4gdXNlIGl0IGxhdGVyCgkgIHdpdGggdGhlIGNvcmUgbWVkaWEgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk1MwoKMjAxNC0wNC0yNCAxMDozNzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHBhc3MgYSBOU1ZpZXcgdG8gc2V0X3dpbmRvd19oYW5kbGUgaW5zdGVhZCBvZiBhIE5TV2luZG93CgkgIEZpeCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDUxCgoyMDE0LTA0LTI0IDA5OjAzOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogb25seSBkcmF3IG9uY2UgdGhlIHdpbmRvdyBoYXMgYmVlbiByZXNpemVkCgkgIEl0IGF2b2lkcyB0byBkcmF3IHRoZSBmaXJzdCBmcmFtZSB3aXRoIGFuIGluY29ycmVjdCB2aWV3IHBvcnQuCgoyMDE0LTA0LTI0IDA4OjQ5OjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHNldCB0aGUgdmlldyB0byB1c2UgZm9yIGRyYXdpbmcgYnkgdGhlIGNvbnRleHQKCSAgSXQgYXZvaWRzIHRvIGRyYXcgdG8gYW4gaW52YWxpZCBidWZmZXIuCgkgIFdpdGh0b3V0IHRoaXMgdGhlIGRlZmF1bHQgZnJhbWUgYnVmZmVyIGlzIHVuZGVmaW5lZDoKCSAgZ2xCaW5kRnJhbWVidWZmZXIgKEdMX0ZSQU1FQlVGRkVSLCAwKQoJICBWaXN1YWxseSB5b3UgY291bGQgc2VlIHNvbWUgd2hpdGUgZnJhbWVzIGF0IHRoZSBiZWdpbm5pbmcKCSAgd2hlbiBsdW5jaGluZyB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBXaXRoIE9wZW5HTCBQcm9maWxlciBmcm9tIFhDb2RlIHlvdSBjb3VsZCBzZWUgc29tZQoJICBHTF9JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiBmb3IgdGhlIGZpcnN0IGZyYW1lcwoKMjAxNC0wNC0yMyAxNDo0MToyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGZpeCBkZWNsYXJhdGlvbi1kZWZpbml0aW9uIG1pc21hdGNoIGZvciBfaW5pdF91cGxvYWQKCjIwMTQtMDQtMjMgMTM6MzQ6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbC9idWZmZXJwb29sOiBkbyBub3QgcmVzZXQgdXBsb2FkIHdoZW4gc2V0X2NvbmZpZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGNhcHMKCSAgV2l0aCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luayBpdCB3YXMgcmVzZXQgMyB0aW1lcwoKMjAxNC0wNC0yMyAxMzozMDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYgZm9yIF9fQVBQTEVfXwoJICB3YXJuaW5nOiAiX19BUFBMRV9fIiBpcyBub3QgZGVmaW5lZCBbLVd1bmRlZl0KCSAgd2l0aCBnY2MgdmVyc2lvbiA0LjcuMiAyMDEyMDczMSAocHJlcmVsZWFzZSkKCSAgKGNyb3NzdG9vbC1ORyBsaW5hcm8tMS4xMy4xK2J6cjI0NTggLSBMaW5hcm8gR0NDIDIwMTIuMDgpCgoyMDE0LTA0LTIzIDEyOjQyOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFVzZXIgZ19zbGljZV9uZXcwIHRvIGVuc3VyZSBmdWxseSBpbml0aWxpemVkIHN0cnVjdHVyZQoJICBUaGUgcGJvIHBvaW50ZXIgbm90IGJlaW5nIGluaXRpYWxpemVkIHdvdWxkIHRyaWdnZXIgYSB1c2Ugb2YgdW5pdGlsaWFsaXplZCB2YXJpYWJsZQoJICBpbiB2YWxncmluZC4KCjIwMTQtMDMtMjkgMTg6MzQ6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHN1cHBvcnQgZm9yIEhXIHdpdGhvdXQgb3V0cHV0CgkgIERldmljZXMgc3VpdGFibGUgZm9yIGRlY2tsaW5rc3JjIG1heSBub3QgaGF2ZSBhbnkgb3V0cHV0LCBoZW5jZSBxdWVyeWluZwoJICB0aGUgaW5wdXQgcmV0dXJucyBOVUxMLiBBZGQgc3VwcG9ydCBmb3IgYWxsIGNhc2VzIHdoZXJlCgkgIGlucHV0L291dHB1dC9jb25maWcgbWF5IGJlIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDYKCjIwMTQtMDMtMTUgMTU6MTc6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIHk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEKCSAgVGhpcyBlbGVtZW50IG9ubHkgbmVlZCBzdHJpZGUgc3VwcG9ydCwgYnV0IGNoZWNrcyBmb3IgQ1JPUF9NRVRBLCB3aGljaAoJICBpcyBhIGJpdCB0b28gbXVjaCwgZXZlbiB0aG91Z2ggdGhpcyB3b3JrcyBhcyBDUk9QIGltcGx5IGhhdmluZyBWSURFTwoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjU1CgoyMDE0LTA0LTIzIDExOjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBVc2UgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBhZGp1c3RlZCB3aWR0aC9oZWlnaHQgd2hlbiBjZW50ZXJpbmcgdGhlIGZyYW1lIGluIHRoZSBkaXNwbGF5IGFyZWEKCSAgTWFrZXMgc3VyZSB3ZSBhY3R1YWxseSBrZWVwIHRoZSBkaXNwbGF5IGFzcGVjdCByYXRpbwoKMjAxNC0wNC0yMyAxMDo1NTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQnkgZGVmYXVsdCBrZWVwIHRoZSBkaXNwbGF5IGFzcGVjdCByYXRpbwoJICBBbHNvIHRoZSBkZWZhdWx0IGZvciB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIHNob3VsZCBiZSAxLzEsIG5vdCAwLzEuCgoyMDE0LTA0LTIzIDEwOjQyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBGbHVzaCBwcm9ncmFtIGVuZCBjb2RlIGJ5dGVzCgkgIFRoaXMgc2hvdWxkIG5vdCBoYXJtIHJlZ3VsYXIgZmlsZXMsIHNpbmNlIHRob3NlIGFyZSB0aGUgbGFzdCA0IGJ5dGVzIG9mCgkgIGEgbm9ybWFsIGZpbGUuCgkgIFRoaXMgYWxsb3dzIHRvIGhhbmRsZSBwbGF5YmFjayBvZiBjb25jYXRlbmF0ZWQgbXBlZy1wcyBmaWxlcy4gU2Vla2luZyBhbmQKCSAgZHVyYXRpb24gcmVwb3J0aW5nIGlzIHN0aWxsIHdyb25nIHRob3VnaC4KCjIwMTQtMDQtMjMgMTA6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogVW5yZWYgY29udGV4dCB3aGVuIGNyZWF0aW9uIGZhaWxlZCBhbmQgZ3VhcmQgYWdhaW5zdCB0aGF0IGluIGZpbGwoKQoKMjAxNC0wNC0yMyAxMDoyNDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2FsbCBnc3Rfb2JqZWN0X3VucmVmKCkgb24gdGhlIEdzdEdMIEdPYmplY3RzIGFnYWluCgkgIFdoaWxlIHRoZXkncmUgcGxhaW4gR09iamVjdHMgaXQgZG9lcyBub3QgaHVydCB0byBjYWxsIGdzdF9vYmplY3RfdW5yZWYoKQoJICBvbiB0aGVtIGFuZCBwb3RlbnRpYWxseSBhbGxvd3MgdG8gZGVidWcgcmVmZXJlbmNlIGxlYWtzIGEgYml0IGVhc2llci4KCjIwMTQtMDQtMjMgMTA6MDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IElmIGNyZWF0aW5nIGEgY29udGV4dCBvciB1cGxvYWQgZmFpbGVkLCBkZXN0cm95IGl0CgkgIEZpeGVzIGRlYWRsb2NrcyBpbiBlcnJvciBjYXNlcyB3aGVuIGxhdGVyIGNvZGUgYXNzdW1lcyB0aGUgYnJva2VuCgkgIGNvbnRleHQgaXMgYWN0dWFsbHkgdXNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzYxCgoyMDE0LTA0LTIyIDEyOjU2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc2ltcGxpZnkgaWYgc3RhdGVtZW50CgkgIENJRCAxMjA0Mjc0CgoyMDE0LTA0LTIxIDEzOjE1OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IGZpeCBNUDIgY2FzZQoJICBUZXN0aW5nIG1wZWd2ZXJzaW9uIHdoZW4gbXBlZ2F1ZGlvdmVyc2lvbiB3YXMgbGlrZWx5IG1lYW50LgoJICBTaW1pbGFyIHRlc3RzIGluIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYyBhbHNvIHRlc3QKCSAgbXBlZ2F1ZGlvdmVyc2lvbiB3aXRoIHRoZSBzYW1lIGNvbmRpdGlvbmFsIGNvZGUuCgkgIENvdmVyaXR5IDIwNjA3MQoKMjAxNC0wNC0yMSAxMDozNjo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBndWFyZCBhZ2FpbnN0IGRpdmlkaW5nIGJ5IHplcm8KCSAgSWYgZnJhbWVyYXRlIGlzIHVua25vd24sIHdlIHdyaXRlIHRoZSBtYXhpbXVtIGZyYW1lcmF0ZQoJICBhbGxvd2VkIGZvciB0aGlzIHByb2ZpbGUvbGV2ZWw6CgkgIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLWF2dC1ydHAtdmMxLTA2I3NlY3Rpb24tNi4xCgkgIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPVZDLTEjU2V0dXBfRGF0YV8uMkZfU2VxdWVuY2VfTGF5ZXIKCSAgQ292ZXJpdHkgMTEzOTY5NAoKMjAxNC0wNC0yMSAxMDowNzowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IGd1YXJkIGFnYWluc3QgZGl2aWRpbmcgYnkgMAoJICBVc2UgYSBwbGFjZWhvbGRlciB2YWx1ZSBpbiB0aGF0IGNhc2UsIGl0J3MgYmV0dGVyIHRoYW4gY3Jhc2hpbmcuCgkgIENvdmVyaXR5IDExMzk2OTcKCjIwMTQtMDQtMjEgMDk6NTE6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBhIGNvdXBsZSBzcGVsbGluZy9ncmFtbWFyIGZpeGVzCgoyMDE0LTA0LTIxIDA5OjUwOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogZ3VhcmQgYWdhaW5zdCB1c2luZyBhIE5VTEwgd2luZG93IHBvaW50ZXIKCSAgQ292ZXJpdHkgMTE5NTE0NQoKMjAxNC0wNC0yMSAwOTo0NzowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IHByZXZlbnQgZGl2aXNpb24gYnkgMCBvbiB1bnN1cHBvcnRlZCB0ZXh0dXJlIHR5cGUKCSAgQ292ZXJpdHkgMTE5OTY5NwoKMjAxNC0wNC0yMSAyMjowMTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBidDcwOSBjb252ZXJzaW9uIG1hdHJpY2VzLgoJICBGaXggdGhlIHNpZ24gb24gb25lIGVudHJ5IGluIHRoZSBidC43MDkgWVVWLT5SR0IgY29udmVyc2lvbgoJICBtYXRyaXgsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBpbnZlcnNlIG1hdHJpeC4gRml4ZXMgcmVhbGx5CgkgIHdyb25nIGNvbG91cmluZyBvZiBzb21lIHZpZGVvcy4KCjIwMTQtMDQtMTcgMDk6NTg6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCB0ZXN0IGZvciBwcm9wZXIgdXNlIGNvdW50IGJhbGFuY2luZwoJICB1c2Vjb3VudCBpcyB1bnNpZ25lZCwgc28gdG9vIG1hbnkgInVudXNlIiB3aWxsIHdyYXAgdGhlIGNvdW50ZXIKCSAgYXJvdW5kIGFuZCB0aGUgPj0gMCBjaGVjayB3aWxsIGFsd2F5cyBiZSBmaW5lLgoJICBJdCB3b3VsZCBiZSBtdWNoIHNpbXBsZXIgdG8ganVzdCBtYWtlIHRoZSBjb3VudGVyIHNpZ25lZCwgYnV0CgkgIG1vdmluZyB0aGUgY2hlY2tzIHdoZXJlIHRoZSBkZWNyZW1lbnRzIGhhcHBlbiBhbGxvdyBhIG1pc3Rha2UKCSAgdG8gYmUgZGV0ZWN0ZWQgZWFybGllciwgYW5kIHRodXMgZWFzaWVyIHRvIGRlYnVnLgoJICBDb3Zlcml0eSAxMTM5NzkxCgoyMDE0LTA0LTE3IDA5OjM1OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGd1YXJkIGFnYWluc3QgTlVMTCBub24gc291cmNlIGNvbXBvbmVudHMKCSAgVGhpcyBjb21wb25lbnQgaXMgZGVyZWZlcmVuY2VkLCBhbmQgbGF0ZXIgY29kZSBjaGVja2luZyBmb3IKCSAgTlVMTCBpbiBwYXJ0aWN1bGFyIGNhc2VzIGltcGxpZXMgaXQgY2FuIGJlIE5VTEwuIFRoaXMgbGlrZWx5CgkgIGRvZXMgbm90IGZpeCB0aGUgY292ZXJpdHkgd2FybmluZyBhcyBpdCB3YXMgc2VlaW5nIGFub3RoZXIKCSAgcGF0aCBzZXR0aW5nIGNvbXBvbmVudCB0byBOVUxMIGV4cGxpY2l0ZWx5LCBidXQgdGhpcyB3YXMKCSAgc3BvdHRlZCBieSBsb29raW5nIGF0OgoJICBDb3Zlcml0eSAxMTM5NzM2CgkgIFdoaWNoIGlzIGFjdHVhbGx5IE9LIGZyb20gd2hhdCBJIGNhbiBzZWUgc2luY2UgdGhlIGFjdHVhbAoJICBkZXJlZmVyZW5jZSBvZiB0aGUgZXhwbGljaXQgTlVMTCBwb2ludGVyIHdpbGwgbm90IGhhcHBlbgoJICBpZiB0aGUgY29uZGl0aW9uIHRoYXQgbGVkIHRvIHRoZSBOVUxMIHBvaW50ZXIgYXNzaWdubWVudAoJICBpcyBtZXQsIHNpbmNlIHRoZSBhc3NpZ25tZW50IGFuZCBkZWZlZmVyZW5jZSBoYXZlIG11dHVhbGx5CgkgIGV4Y2x1c2l2ZSB0ZXN0cy4KCjIwMTQtMDQtMTcgMDk6MjY6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGNhdGNoIGVycm9ycyBpbiBjYXBzIG1hbmlwdWxhdGlvbgoJICBDb3Zlcml0eSAxMTM5NjIyCgoyMDE0LTA0LTE4IDIwOjEyOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBjb21wbGllciBlcnJvciB1c2luZyBmaXhlZCBsZW5naHQgYXJyYXlzCgoyMDE0LTA0LTE4IDE4OjEyOjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBkZXRlY3QgYW5kIHByb3BhZ2F0ZSByZXNvbHV0aW9uIGNoYW5nZXMuCgkgIERldGVjdCByZXNvbHV0aW9uIGNoYW5nZXMgb24ga2V5IGZyYW1lcywgYW5kIHByb3BhZ2F0ZSB0aGUgcmVzdWx0aW5nCgkgIGNhcHMgdG8gdGhlIHNyYyBwYWQuIE9ubHkgdGhlIHVuY29tcHJlc3NlZCBkYXRhIGNodW5rIGlzIGRlY29kZWQsIHNvCgkgIGF2b2lkIHVzaW5nIHRoZSBuZXcgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkgZm9yIG5vdy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xOCAxNzozNDowOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogYXZvaWQgcG9zc2libGUgZGl2aXNpb24tYnktemVybyB3aGVuIGNhbGN1bGF0aW5nIFBUUy4KCSAgQXZvaWQgcG9zc2libGUgZGl2aXNpb24tYnktemVybyB3aGlsZSBkZXJpdmluZyB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcAoJICBvZiB0aGUgYnVmZmVyLiBUaGUgYmFzZSBjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBhbnkgaW50ZXJwb2xhdGlvbiBuZWVkcy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0xMC0yNSAwNzozODo1MyArMDgwMCAgSGFsbGV5IFpoYW8gPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaXZmcGFyc2U6IGVuYWJsZSBidWlsZC4KCSAgRHJvcCBgaXZmcGFyc2UnIGVsZW1lbnQgZnJvbSB0aGUgbm9uLXBvcnRlZCBzZXQgb2YgcGx1Z2lucyBpbiBjb25maWd1cmUuCgoyMDE0LTAzLTA0IDE1OjQ2OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg1NQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTI0IDA4OjM3OjE2ICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92cDhwYXJzZXItdGVzdC5jOgoJICB0ZXN0czogYWRkIHN0YW5kYWxvbmUgcHJvZ3JhbSBmb3IgVlA4IHBhcnNlci4KCSAgQWRkIHN0YW5kYWxvbmUgdGVzdCBhcHBsaWNhdGlvbiB0aGF0IGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHRoZSBuZXcKCSAgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnksIHdoaWxlIGFsc28gYWxsb3dpbmcgc2ltcGxlIGRlYnVnZ2luZy8KCSAgdHJhY2luZyBvZiBJVkYgZmlsZXMuCgkgIFtjbGVhbi11cHMsIHVwZGF0ZWQgdG8gbmV3IHBhcnNlciBBUEldCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMDggMDI6NDk6MDAgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvdnA4cGFyc2VyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkuCgkgIFt1cGRhdGVkIHRvIG5ldyBwYXJzZXIgQVBJXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTA5IDA5OjIyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiB2cDg6IHJlbmFtZSBkYm9vbGh1ZmYgc3ltYm9scy4KCSAgUmVuYW1lIFZQOCBkYm9vbGh1ZmYgc3ltYm9scyBzbyB0aGF0IHRvIGF2b2lkIGNsYXNoZXMgd2l0aCBsaWJ2cHggd2hlbgoJICBzdGF0aWMgbGlua2luZy4KCjIwMTQtMDQtMDggMTA6MzA6MDkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLkFVVEhPUlM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLlBBVEVOVFM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDg6IGFkZCBHU3RyZWFtZXIgbmF0aXZlIHV0aWxpdGllcy4KCSAgSW1wb3J0IGxpYnZweCAxLjMuMCByYW5nZSBkZWNvZGVyIGZpbGVzIChkYm9vbGh1ZmYuW2NoXSkgdG8gaW1wbGVtZW50CgkgIHRoZSBWUDggdXRpbGl0aWVzIG5hdGl2ZSBpbnRlcmZhY2UuIExpa2V3aXNlLCBjb3B5IGFuZCB1c2UgdGhlIGRlZmF1bHQKCSAgbGlidnB4IGdlbmVyYXRlZCBlbnRyb3B5IHByb2JhYmlsaXRpZXMgdGFibGVzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTA4IDAyOjQ5OjAwICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgVlA4IGJpdHN0cmVhbSBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3NjAKCSAgW3JlZmFjdG9yZWQsIGFtb25nIG90aGVyIGZpeGVzXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE4IDE2OjIzOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSW1wcm92ZSB0c190b19vZmZzZXQgY29kZQoJICAqIFNlYXJjaCBpbiBjdXJyZW50IHBlbmRpbmcgdmFsdWVzIGZpcnN0LiBGb3IgQ0JSIHN0cmVhbXMgd2UgY2FuIHZlcnkKCSAgZWFzaWx5IGVuZCB1cCBoYXZpbmcganVzdCBvbmUgaW5pdGlhbCBvYnNlcnZhdGlvbnMgYW5kIHRoZW4gbm90aGluZwoJICBlbHNlIChzaW5jZSB0aGUgYml0cmF0ZSBkb2Vzbid0IGNoYW5nZSkuCgkgICogVXNlIG9uZSBncm91cCB3aGV0aGVyIHdlIGFyZSBpbiB0aGF0IGdyb3VwICpPUiogaWYgdGhlcmUgaXMgb25seQoJICBvbmUgZ3JvdXAuCgkgICogSWYgdGhlIGdyb3VwIHRvIHVzZSBpc24ndCBjbG9zZWQgKHBvaW50cyBhcmUgYmVpbmcgYWNjdW11bGF0ZWQgaW4gdGhlCgkgIFBDUk9mZnNldEN1cnJlbnQpLCB1c2UgdGhlIGxhdGVzdCBkYXRhIGF2YWlsYWJsZSBmb3IgY2FsY3VsYXRpb24KCSAgKiBJZiBpbiB0aGUgdW5saWtlbHluZXNzIHRoYXQgYWxsIG9mIHRoaXMgKnN0aWxsKiBkaWRuJ3QgcHJvZHVjZSBtb3JlCgkgIHRoYW4gb25lIGRhdGEgcG9pbnQsIGp1c3QgcmV0dXJuIHRoZSBpbml0aWFsIG9mZnNldAoKMjAxNC0wNC0xOCAxNjoyMDozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICB0c2RlbXV4OiBGaXggc2NhbGluZyBtYWNyb3MKCSAgV2hpbGUgdGhlIGNhbGN1bGF0aW9uIGRvbmUgaW4gdGhlc2UgbWFjcm9zIHdpbGwgd29yayB3aXRoIDY0Yml0CgkgIGludGVnZXJzLCB0aGV5IHdpbGwgZmFpbCBpZiB3b3JraW5nIHdpdGggMzJiaXQgaW50ZWdlcnMuCgkgIEZvcmNlIHRoZSBzY2FsaW5nIHVwIHRvIHNvbHZlIHRoYXQuCgkgIFRoaXMgYW1hemluZ2x5IGRpZG4ndCBpbnRyb2R1Y2UgbWFqb3IgaXNzdWVzIHVwIHRvIG5vdywgYnV0IHJlc3VsdGVkCgkgIGluIGJvZ3VzIHZhbHVlcyBpbiBkZWJ1ZyBsb2dzLgoKMjAxNC0wNC0xOCAxNjoxODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGhhcmQtZmx1c2ggdGhlIHBhY2tldGl6ZXIgb24gZGlzY29udCBidWZmZXJzCgkgIERvaW5nIGEgaGFyZCBmbHVzaCBvbiB0aGUgcGFja2V0aXplciB3aWxsIGRyb3AgYWxsIG9ic2VydmF0aW9ucywgd2hpY2gKCSAgd2lsbCBldmVudHVhbGx5IGJyZWFrIHB1c2gtYmFzZWQgc2Vla2luZyAod2l0aCBCWVRFUyBzZWdtZW50KSBzaW5jZQoJICB3ZSB3b24ndCBrbm93IHdoZXJlIHRvIHNlZWsgdG8gYW55bW9yZSAobmV3IGRhdGEgd291bGQgYWx3YXlzIGJlCgkgIGNvbnNpZGVyZWQgYXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtKS4KCjIwMTQtMDQtMTYgMTY6MjU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGNvcHkvcGFzdGUgZXJyb3IKCSAgV2Ugd2FudCB0byBjaGVjayB3aGV0aGVyIHRoZSByYXRlIGlzIGRpZmZlcmVudC4gV2UgY2hlY2sgY2hhbmdlcyBpbgoJICBudW1lcmF0b3IgKmFuZCogZGVub21pbmF0b3IuCgkgIENJRCAjMTEzOTYzMQoJICBDSUQgIzExMzk2NDIKCjIwMTQtMDQtMTYgMTY6MTk6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEhhbmRsZSBmcmFjdGlvbiBwYXJzaW5nIGZhaWx1cmUKCSAgQW5kIHByb3Blcmx5IGNsZWFudXAvcmVzZXQgdGhlIHNlZ21lbnQgYmVmb3JlIHJldHVybmluZyBvbiBlcnJvcnMKCSAgQ0lEICMyMDYwMTIKCjIwMTQtMDQtMTYgMTY6MTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFJlbW92ZSB1c2VsZXNzIGNoZWNrCgkgIGEgZ3VpbnQgd2lsbCBhbHdheXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgbWF4aW11bSB2YWx1ZSBpdCBjYW4KCSAgY29udGFpbgoJICBDSUQgIzIwNjA0OQoKMjAxNC0wNC0wOSAxMjoyNzoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogYXZvaWQgZGVyZWZlcmVuY2luZyBOVUxMIG1hcHBpbmcgZGF0YSBwb2ludGVyCgkgIEFsc28gdW5yZWYgYnVmZmVycyBvbiBlcnJvciwgYXMgaXQgc2VlbXMgdG8gYmUgZG9uZSBpbiBvbmUsIGJ1dAoJICBub3QgYWxsLCBlcnJvciBwYXRocy4KCSAgVGhlIE5VTEwgcG9pbnRlciBwYXJ0IGlzIENvdmVyaXR5IDIwNjExMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODg5CgoyMDE0LTA0LTE2IDE2OjA3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBGaXggaWYoKSBjaGVjawoJICBpbnRyb2R1Y2VkIGJ5IG15IHByZXZpb3VzIGNvbW1pdCA6KAoKMjAxNC0wNC0xNiAxNTo0MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGV0ZWN0IEVHTCBoZWFkZXIgcHJlc2VuY2UKCSAgRml4ZXMgdGhlIGJ1aWxkIGZvciBBbmRyb2lkLCBhbmQgSSBzdXNwZWN0IGZvciBvdGhlciBzeXN0ZW1zIHRvby4uLgoKMjAxNC0wNC0xNiAxNTozNzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSAgZHZiL2NhbXNlc3Npb246IERvbid0IGRvIG9wZXJhdGlvbnMgb24gdW5leGlzdGluZyBzZXNzaW9ucwoJICBDSUQgIzIwNjExNAoKMjAxNC0wNC0xNiAxNTozMjozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogSGFuZGxlIHNvY2tldCgpIGZhaWx1cmUKCSAgQ0lEICMyMDYxNzgKCjIwMTQtMDQtMTYgMTU6MjM6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBIYW5kbGUgZmFpbHVyZSB0byBnZXQgc3RhdGlzdGljcyBmcm9tIHRoZSBkZXZpY2UKCSAgQ2hlY2sgdGhlIGlvY3RsIHJldHVybiB2YWx1ZSBhbmQgZG9uJ3Qgb3V0cHV0IGJvZ3VzIHZhbHVlcy4KCSAgQ0lEICMyMDYwMTYKCjIwMTQtMDQtMTYgMTU6MTg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCBjbG9zZSBhIGZkIHRoYXQgd2Fzbid0IG9wZW4KCSAgV2UgYXJlIGhhbmRsaW5nIHRoZSBmYWlsdXJlIGNhc2VzIGluIHRoaXMgYmxvY2sgd2hlcmUgdGhlIG9wZW4gZmFpbGVkCgkgIENJRCAjMjA2MTc5CgoyMDE0LTA0LTE2IDE1OjE3OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgdHJ5IHRvIGFjY2VzcyBOVUxMIHN0cmluZwoJICBBbmQgcmVmYWN0b3IgdGhlIHBpZCBzZXR0aW5nIGNvZGUgdG8gYmUgaW4gaXRzIG93biBmdW5jdGlvbiBmb3IgY2xhcml0eQoJICBDSUQgIzIwNjM3NAoKMjAxNC0wNC0xMCAxNjowNDoyMSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBkdmIgY2EgaWRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDM6MDcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc2NyYW1ibGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDI6MDkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAwOjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGRhdGEgYnJvYWRjYXN0IGlkIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xMCAxNTo1OTo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBwcml2YXRlIGRhdGEgc3BlY2lmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xNiAwOToyMDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2YjogTWlub3IgY29kZSBzdHlsZSBmaXgKCjIwMTQtMDQtMTAgMTU6NTg6NTUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgcGFyZW50aWFsIHJhdGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTAgMTU6NTg6MDQgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbGlua2FnZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTYgMDA6MjU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmb3IgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAxNC0wNC0xNSAyMDo0Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBlZ2w6IEFkZCBsaWJnc3RlZ2wgYW5kIGVnbGdsZXMgcGx1Z2luIHRvIHRoZSBDUlVGVCBkaXJlY3RvcmllcwoKMjAxNC0wNC0xNSAxNzo1ODozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9BbmRyb2lkLm1rOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZWdsL2VnbGdsZXNzaW5rOiByZW1vdmUgc2luY2UgRUdMSW1hZ2UgYW5kIGlPUyBzdXBwb3J0IGhhdmUgYmVlbiBhZGRlZCBpbiBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjA4OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBnbDogYWxsb3cgdG8gaW5jbHVkZSBHTEVTL2dsLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wNC0xNCAwNzo1NjoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIFdlIHNldCBpdCBqdXN0IGFmdGVyIHZhcmlhYmxlIGRlY2xhcmF0aW9uCgkgIENJRCAjMTE5NzcwOQoKMjAxNC0wNC0xMyAxOToyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogRml4IGNvbXBpbGF0aW9uCgoyMDE0LTA0LTEzIDE2OjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBOb3RpZnkgdGhlIHdpbmRvdydzIHJlc2l6ZSBjYWxsYmFjayBhYm91dCBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMDcKCjIwMTQtMDQtMTMgMTY6NDY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJICBnbC9lYWdsOiBSZW1vdmUgc3B1cmlvdXMgcHJpdmF0ZSBzdHJ1Y3QgcG9pbnRlcgoKMjAxNC0wNC0xMyAxNjo0MDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIGdsL2FuZHJvaWQ6IE5vdGlmeSB0aGUgd2luZG93J3MgcmVzaXplIGNhbGxiYWNrIGFib3V0IHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEwNwoKMjAxNC0wNC0xMyAyMjoxNjo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHRleHR1cmUKCjIwMTQtMDQtMTMgMjI6MTQ6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogbW92ZSB1cGxvYWQgaW50byBfcHJlcGFyZSgpCgoyMDE0LTA0LTEzIDEzOjQ5OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvY29udGV4dDogb3V0cHV0IGF2YWlsYWJsZSBleHRlbnNpb25zCgoyMDE0LTA0LTEzIDEzOjM5OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBwcm92aWRlIGdldF9nbF92ZXJzaW9uCgoyMDE0LTA0LTEzIDAwOjIxOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogcmVzdG9yZSB2aWV3cG9ydCBkaW1lbnNpb25zIHdoZW4gZmJvIGRvbmUKCSAgUmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IDk1YWJmZGExMzk5YmNkZGJlZTM0NWQ0NTQyZTg1N2Q3NDM5NjU0NzcuCgkgIEl0IGNhdXNlZCB0byBkaXNwbGF5IHRoZSB3cm9uZyBmcmFtZSBzaXplIHdoZW4gcmVzaXppbmcgdGhlIHdpbmRvdy4KCjIwMTQtMDQtMTIgMjI6NDU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbDogSW1wb3J0IFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oIGZvciBDQUVBR0xMYXllciBvbiBvbGRlciBpT1MgdmVyc2lvbnMKCjIwMTQtMDQtMTIgMjI6MTU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBTZXQgZ2xpbWFnZXNpbmsgcmFuayB0byBTRUNPTkRBUlkKCSAgVGhpcyBpcyBhIGZ1bGwtZmVhdHVyZWQgdmlkZW8gc2luayBub3cgYW5kIGVzcGVjaWFsbHkgc2hvdWxkIGJlCgkgIHVzZWQgaW5zdGVhZCBvZiBvc3h2aWRlb3Npbmsgb24gT1NYIGlmIGF2YWlsYWJsZS4KCjIwMTQtMDQtMTIgMjE6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgaU9TIEVBR0wgcGxhdGZvcm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MQoKMjAxNC0wNC0xMiAxNzozMzo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1ha2UgZ3N0X2dsX3dpbmRvd19jb2NvYV9zZW5kX21lc3NhZ2VfYXN5bmMgcmUtZW50cmFudAoJICBCYWNrZW5kcyB0aGF0IHVzZSBnX21haW5fY29udGV4dF9pbnZva2UgYXJlIHJlLWVudHJhbnQuCgkgIElsIGFsbG93cyB0byBjYWxsIHR3byBuZXN0ZWQgZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZC4KCSAgZXg6IGluaXRfdXBsb2FkIC8gaW5pdF9jb2xvcmNvbnZlcnQKCjIwMTQtMDQtMTIgMTc6MDE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpcnN0IGhhbmRsZSBHTCB3aW5kb3cgc2V0dXAsIHRoZW4gY3JlYXRlIHRoZSBjb250ZXh0IGFuZCBpdHMgdGhyZWFkCgoyMDE0LTA0LTEyIDE1OjUxOjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCBOU0F1dG9yZWxlYXNlUG9vbCBpbml0aWFsaXphdGlvbgoKMjAxNC0wNC0xMiAxMjo0Mjo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZW5zdXJlIHRvIGNhbGwgTlNBcHBsaWNhdGlvbjpzaGFyZWRBcHBsaWNhdGlvbiBpbiB0aGUgbWFpbiB0aHJlYWQKCSAgIihOU0FwcGxpY2F0aW9uICopc2hhcmVkQXBwbGljYXRpb24gVGhpcyBtZXRob2QgYWxzbyBtYWtlcyBhIGNvbm5lY3Rpb24KCSAgdG8gdGhlIHdpbmRvdyBzZXJ2ZXIgYW5kIGNvbXBsZXRlcyBvdGhlciBpbml0aWFsaXphdGlvbiIKCSAgVGhlIGltcGxpY2l0IHRoaW5nIHdoaWNoIGlzIG5vdCBtZW50aW9uZWQgaXMgdGhhdCBpdCByZXF1aXJlZAoJICB0byBiZSBjYWxsZWQgaW4gdGhlIG1haW4gdGhyZWFkLgoJICBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZXMgYnkgODJiN2M5MTViYjAyYTk3OTBkMjU2ZDU5OTQ1MmU1YTU0YWZkYTYzMwoJICBXaGVuIHVzaW5nIHdpdGggZ3N0LWxhdW5jaCwgaXQgd2FzIG5vdCBwb3NzaWJsZSB0byBjbGljayBvbiB0aGUgY2xvc2UKCSAgY3Jvc3Mgb2YgdGhlIHdpbmRvdyBhbnltb3JlIHdoaWNoIGlzIGEgYml0IGFub3lpbmcgYW5kIGFsc28gYmVjYXVzZQoJICBpdCdzIHdhcyBwb3NzaWJsZSBiZWZvcmUuCgkgIFByaW9yIHRvIHRoaXMgY29tbWl0IHRoZSBHc3RHTENvbnRleHRDb2NvYUNsYXNzIHdhcyBpbml0aWFsaXplZAoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYmVjYXVzZSBnc3RfZ2xfY29udGV4dF9uZXcgd2FzIGNhbGxlZCBpbiB0aGUKCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZyb20gZ29pbmcgZnJvbSByZWFkeSB0byBwYXVzZWQuCgkgIEZyb20gdGhpcyBjb21taXQgdGhpcyBjYWxsIGlzIGRvbmUgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgU28gdGhhdCB0aGUgY2FsbCB0byBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl07CgkgIHdhcyBub3QgZG9uZSBpbiB0aGUgbWFpbiB0aHJlYWQgYW55bW9yZS4KCSAgV2Ugbm93IGVuc3VyZSB0aGF0IGJ5IGFzc3VtaW5nIHRoZXJlIGlzIGEgR01haW5Mb29wIHJ1bm5pbmcuCgkgIEl0J3MgZm9yIGRlYnVnZ2luZyBwdXJwb3NlIHNvIHRoYXQncyBvayB0byBkbyB0aGF0LiBBbHNvCgkgIG5vdGUgd2UgYWxyZWFkeSBkbyB0aGlzIGFzc3VtdGlvbiB0byBydW4gYXBwIGl0ZXJlYXRpb25zLgoJICBUaGUgcmVncmVzc2lvbiBoYWQgbm8gY29uc2VxdWVuY2Ugb24gdGhlIGNvY29hL3ZpZGVvb3ZlcmxheSBleGFtcGxlCgkgICh0aGF0IHNob3VsZCBiZSBtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLWdsIHRvIC1iYWQpIGJlY2F1c2UgdGhlCgkgIGFwcGxpY2F0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciB0aGF0IG5lY2Vzc2FyeSBjYWxsLgoKMjAxNC0wNC0xMiAxNDo0MDo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGZpeCB3YXJuaW5nIHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgICJ3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZSIKCjIwMTQtMDQtMTIgMTg6MjQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiByZW1vdmUgaWYgc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0CgkgIENvdmVyaXR5IDExOTk2OTgKCjIwMTQtMDQtMTIgMTg6MTY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3I6IHBhc3MgbGFyZ2UgdmFsdWUgYnkgcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExOTk3MDAKCjIwMTQtMDQtMDIgMTI6NTk6NTggLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwZGVjOiBmaXggYXNzZXJ0aW9uIGNoZWNraW5nIHNzcmMgZnJvbSBydGNwIHBhY2tldHMKCSAgcnRjcF9idWZmZXJfZ2V0X3NzcmMgaXMgY2FsbGVkIGV2ZW4gd2l0aCBSVFAgYnVmZmVycy4gdGhpcyBtZWFucyB3ZQoJICBtaWdodCBlbmQgdXAgd2l0aCBhbiBleGNlcHRpb24gYW5kIG5vdCBmaW5kIGFueSB2YWxpZCBSVENQIHBhY2tldCB0eXBlCgkgIGFuZCB0aHVzIGhpdCBHU1RfUlRDUF9UWVBFX0lOVkFMSUQuIHdlIG5vdyB0YWtlIGNhcmUgb2YgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzUxMgoKMjAxNC0wNC0xMSAxMjoyOToxNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSAganAya2RlY2ltYXRvcjogZml4IG1heWJlLXVuaW5pdGlhbGl6ZWQgY29tcGlsZXIgZXJyb3IKCjIwMTQtMDQtMTEgMTE6MzQ6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVtb3ZlIHVubmVlZGVkIHVucmVmCgkgIHBhY2tldF9idWZmZXIgaGFzIGFscmVhZHkgYmVlbiBjbGVhcmVkIGluIGFsbCBjb2RlIHBhdGhzIGxlYWRpbmcKCSAgdG8gdGhpcyBwb2ludC4KCSAgQ0lEICMxMTk5Njk2CgoyMDE0LTA0LTExIDA4OjM5OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogSGFuZGxlIHN5bWJvbHMgYWRkZWQgaW4gbWlub3IgdmVyc2lvbiA3IGFuZCA4CgkgIFNvbWUgc3ltYm9scyB3ZXJlIHJlLWRlZmluZWQgaW4gbWlub3IgdjggKEdPIFRFQU0gQkFDS1dBUkRTIENPTVBBVElCTEUhKQoJICBTb21lIHN5bWJvbHMgd2VyZSBhZGRlZCBpbiBtaW5vciB2NwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTc3CgoyMDE0LTA0LTExIDE3OjI0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2wvbWVtOiBjYWNoZSB0aGUgc3RyaWRlL3VucGFjayBsZW5ndGggZm9yIHVwbG9hZAoKMjAxNC0wNC0xMSAxNzoyMzozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGV4cGxpY2l0bHkgbWFwIHRoZSBidWZmZXJzIHdlIGFyZSBjb3B5aW5nIGludG8KCSAgT3RoZXJ3aXNlIGl0IG1heSBub3QgYmUgZG93bmxvYWRlZCBhdCBhbGwuCgoyMDE0LTA0LTExIDA4OjE2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIGNvbW1lbnQgd2l0aCBhbGwgRFZCIEFQSSB2NSBtaW5vciBjaGFuZ2VzCgkgIFRoZXJlIHdhc24ndCBhIGRlZmluaXRlIGxpc3QgYW55d2F5LCBzbyBJIGp1c3QgZG92ZSBpbiB0aGUga2VybmVsCgkgIGFuZCBleHRyYWN0IGFsbCB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNC0wNC0xMSAxNjowOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGNhY2hlIHRoZSB0ZW1wb3JhcnkgdGV4dHVyZXMKCjIwMTQtMDQtMTEgMTE6MDQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbTogcHJvdmlkZSBkZWZpbmVzIGZvciB0b2tlbnMgbm90IGRlZmluZWQgaW4gR0xFUzIvYW5jaWVudCBwbGF0Zm9ybXMKCjIwMTQtMDQtMTEgMTE6MDM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXh1cCBpbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cwoKMjAxNC0wNC0xMSAxMDo1NToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeCBpbmNvcnJlY3QgdXNhZ2Ugb2YgZ19yZXR1cm5faWZfZmFpbAoKMjAxNC0wNC0wMiAxNzo0Mzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbTogYWxsb2NhdGUgdGhlIG1lbW9yeSBwZXIgcGxhbmUKCSAgVGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgYmFzaWMgaW5mcmFzdHJ1Y3R1cmUgcmVxdWlyZWQgZm9yIHRoaXMuCgkgIFVwbG9hZCBhbmQgRG93bmxvYWQgaGFzIGJlZW4gcG9ydGVkIHRvIHRoaXMuCgkgIEhhcyB0aGUgbmljZSBlZmZlY3Qgb2YgYWxsb3dpbmcgR3N0R0xNZW1vcnkgdG8gYmUgb3VyCgkgIHJlZmNvdW50ZWQgdGV4dHVyZSBvYmplY3QgZm9yIGFueSB0ZXh0dXJlIHR5cGUgKG5vdCBqdXN0IFJHQkEpLgoJICBTaG91bGQgbm90IGxvc2UgYW55IGZlYXR1cmVzL3ZpZGVvIGZvcm1hdHMuCgoyMDE0LTA0LTAxIDE1OjEwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2wvZWdsaW1hZ2U6ICNpZiAwIHVudXNlZCBjb2RlCgoyMDE0LTA0LTAxIDEzOjMwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsOiBhZGQgY29sb3Jjb252ZXJ0IG9iamVjdCB0aGF0IGNvbnZlcnRzIGJldHdlZW4gY29sb3Igc3BhY2VzL2Zvcm1hdHMKCSAgQ3VycmVudGx5IHVzZWQgYnkgYm90aCB1cGxvYWQgYW5kIGRvd25sb2FkIG9iamVjdHMgc2VwYXJhdGVseS4KCjIwMTQtMDQtMTAgMTc6NTU6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggZmFhYyBBUEkgZXJyb3IgY2hlY2tpbmcKCSAgQ292ZXJpdHkgMTEzOTc5MAoKMjAxNC0wNC0xMCAxNzo1MjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgaWdub3JlIGZhaWx1cmUgdG8gcmVnaXN0ZXIgdHlwZWZpbmRlcgoJICBDb3Zlcml0eSAxMTM5NjI5CgoyMDE0LTA0LTEwIDE3OjQ4OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB0aW1lIGxlYWsKCSAgQ292ZXJpdHkgMTE0NzAxNgoKMjAxNC0wNC0xMCAxNzo0NDoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgZGVhZCBjb2RlIGFuZCB2YXJpYWJsZQoJICBBIHJlY2VudCBjb21taXQgbWFkZSBzdHJlYW0gbm90IGFibGUgdG8gYmUgTlVMTCwgZW5kaW5nIHVwIHdpdGgKCSAgYSBmbGFnIGJlaW5nIGFsd2F5cyBzZXQgdG8gRkFMU0Ugd2hlbiBpdCBtYXR0ZXJzLgoJICBDb3Zlcml0eSAxMTQ2OTY4LCAxMTQ3MDEyCgoyMDE0LTA0LTEwIDE3OjM3OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsOiByZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVjawoJICBXZSBqdXN0IGNoZWNrZWQgZm9yIE5VTEwgYW5kIGFsbG9jYXRlZCBpZiBpdCB3YXMuIEFuZCBnbGliIGFib3J0cwoJICBpZiBpdCBjYW4ndCBhbGxvY2F0ZSwgSSdtIHRvbGQuCgkgIENvdmVyaXR5IDExMzk4NDEKCjIwMTQtMDQtMTAgMTc6MzM6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmw6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTk3NzA4CgoyMDE0LTA0LTEwIDE2OjUzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyB1cGRhdGUgdGhlIHNlcXVlbmNlIHBvc2l0aW9uIHdoZW4gdXBkYXRpbmcgbm9uLWxpdmUgcGxheWxpc3RzCgoyMDE0LTA0LTEwIDE0OjU5OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVHJ5IHJlbG9hZGluZyB0aGUgcGxheWxpc3QgZmlyc3QgaWYgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBmYWlscwoJICBCdXQgb25seSBhZGQgdGhpcyBmb3Igbm9uLWxpdmUgcGxheWxpc3RzLiBGb3IgbGl2ZSBwbGF5bGlzdHMgd2UgYWxyZWFkeQoJICBoYXZlIGFub3RoZXIgdGhyZWFkIHRoYXQgaXMgcGVyaW9kaWNhbGx5IHVwZGF0aW5nIHBsYXlsaXN0cy4KCSAgUmVhc29uIGZvciB0aGlzIGlzIHRoYXQgc29tZXRpbWVzIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgY2FuIGZhaWwgYmVjYXVzZQoJICB0aGUgVVJJcyBoYXZlIGNoYW5nZWQgb3IgZXhwaXJlZCBzaW5jZSBsYXN0IHRpbWUuCgoyMDE0LTA0LTEwIDE0OjQ2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2hlbiB1cGRhdGluZyBhIG5vbi1saXZlIHBsYXlsaXN0IG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBjdXJyZW50IHNlcXVlbmNlIGJ5IHRpbWUKCSAgU2VxdWVuY2UgbnVtYmVycyBpbiBkaWZmZXJlbnQgcGxheWxpc3RzIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZSB0aGUgc2FtZSBmb3IgdGhlCgkgIHNhbWUgcG9zaXRpb24sIGUuZy4gZnJhZ21lbnRzIGNvdWxkIGhhdmUgZGlmZmVyZW50IGR1cmF0aW9ucyBpbiBkaWZmZXJlbnQgcGxheWxpc3RzLgoJICBJbiB0aGVvcnkgd2Ugc2hvdWxkIGRvIGV4YWN0bHkgdGhlIHNhbWUgZm9yIGxpdmUgcGxheWxpc3RzLCBidXQgdW5mb3J0dW5hdGVseSB3ZSBjYW4ndAoJICBiZWNhdXNlIGRvaW5nIHRoaXMga2luZCBvZiBzZWVraW5nIHJlcXVpcmVzIHRoZSBjb21wbGV0ZSBwbGF5bGlzdCBzaW5jZSB3ZSBzdGFydGVkCgkgIHBsYXliYWNrLiBGb3IgbGl2ZSBwbGF5bGlzdHMgdGhlIHNlcnZlciBpcyBob3dldmVyIGRyb3BwaW5nIGZyYWdtZW50cyBpbiB0aGUgYmVnaW5uaW5nCgkgIG92ZXIgdGltZSBhbmQgd2UgaGF2ZSBubyBhYnNvbHV0ZSB0aW1lIHJlZmVyZW5jZXMuCgoyMDE0LTA0LTA5IDE3OjI4OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBhdm9pZCB1c2luZyBhbiB1bmluaXRpYWxpemVkIG1hbmlmZXN0CgkgIElmIHdlIGRpZCBub3Qgc2V0IHRoZSBtYW5pZmVzdCB5ZXQsIGVhcmx5IG91dCBpbiB0aGUgc2Vla2luZyBxdWVyeS4KCSAgQ292ZXJpdHkgMTEzOTczNwoKMjAxNC0wMy0xNyAxNjozOTo0MiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogU2V0IGZyYW1lcmF0ZSBldmVuIGZvciBpbnRlcmxhY2VkIHZpZGVvcwoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzUyCgoyMDE0LTA0LTA5IDEwOjA0OjQ2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGFkZCBhdHNjIHRlcnJlc3RyaWFsIHZpcnR1YWwgY2hhbm5lbCB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDYwCgoyMDE0LTA0LTA5IDE1OjA3OjE5ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IG1lbW9yeSBsZWFrIHF1ZXJ5aW5nIHNpbmsgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODk0CgoyMDE0LTA0LTA5IDE4OjQ0OjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBjYXRjaCBmYWlsdXJlIHRvIHdyaXRlIHBsYXlsaXN0IGZpbGUKCSAgQ292ZXJpdHkgMTEzOTYxMwoKMjAxNC0wNC0wOSAxODozMTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGZpeCBpbXBsaWNpdCBwcm9tb3Rpb24gdG8gc2lnbmVkIGludCBicmVha2luZyBvbiBsYXJnZWlzaCBpbnB1dHMKCSAgQ292ZXJpdHkgMTEzOTg1OCwgMTEzOTg1NwoKMjAxNC0wNC0wOSAxODoxNjo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSAgbGFkc3BhOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTEzOTcwNgoKMjAxNC0wNC0wOSAxODoxMjo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogZml4IG9wZW4gZXJyb3IgY2hlY2tpbmcKCSAgQ292ZXJpdHkgMjA2MzY0CgoyMDE0LTA0LTA5IDE3OjM3OjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGUgdGFnIHdhcyBkZXJlZmVyZW5jZWQgZWFyaWVyLiBGcm9tIHRoZSBsaWJzY2hyb2VkaW5nZXIgY29kZSwKCSAgaXQncyBub3Qgb2J2aW91cyB0byBzZWUgd2hldGhlciB0YWcgYW5kIGZyYW1lIHdvdWxkIGJlIE5VTEwgYXQKCSAgdGhlIHNhbWUgdGltZS4gSSB0aGluayBpcyBsaWtlbHkgdGhhdCBib3RoIHdpbGwgYmUgbm9uIE5VTEwKCSAgaGVyZSwgYnV0IHRoYXQncyBub3QgY2VydGFpbi4gQWRkaXRpb25hbCB0ZXN0cyBtYXkgYmUgbmVlZGVkCgkgIHRvIGF2b2lkIGRlcmVmZXJlbmNpbmcgdGFnIGFuZC9vciBmcmFtZSwgYnV0IHdoYXQgdG8gZG8gaWYKCSAgb25seSBvbmUgaXMgTlVMTCBpc24ndCBvYnZpb3VzLCBhcyB0aGUgX2dldF90YWcgZnVuY3Rpb24gZG9lcwoJICB0cmFuc2ZlciBvd25lcnNoaXAgc28gaXNuJ3QgdW5kb2FibGUuCgkgIENvdmVyaXR5IDExMzk4NTAKCjIwMTQtMDQtMDkgMTc6MTA6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGUgZnVuY3Rpb24gaXMgc3RhdGljLCB0aGUgb25seSBjYWxsIHNpdGUgcGFzc2VzIGEgbm9uIE5VTEwKCSAgcG9pbnRlciwgYW5kIHRoZSBwb2ludGVyIGlzIGRlcmVmZXJlbmNlZCBiZWZvcmUgYW55d2F5LgoJICBDb3Zlcml0eSAxMTM5ODM5CgoyMDE0LTA0LTA5IDE2OjU1OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTk3NzA3CgoyMDE0LTA0LTA5IDE1OjU0OjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogZml4IHNkdCBsZW5ndGggY2hlY2sKCSAgSXQgd2FzIG9yaWdpbmFsbHkgdGVzdCBmb3IgOSBieXRlcyAoYXMgdGhlIGNvbW1lbnQgc2F5cykgYW5kIHdhcwoJICByZXdyaXR0ZW4gYnVnZ2lseS4gU28gcmV3cml0ZSBpdCBhIHRoaXJkIHdheSwgd2hpY2ggaXMgbm93CgkgIGhvcGVmdWxseSBjb25zaXN0ZW50IHdpdGggdGhlIG9yaWdpbmFsIGFuZCB0aGUgY29tbWVudCwgd2hpbGUKCSAgYmVpbmcgbW9yZSBzZW5zZS1tYWtpbmcgdG8gaHVtYW5zLgoJICBDb3Zlcml0eSAxMTM5NjU0CgoyMDE0LTA0LTA5IDE2OjAwOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgUmV2ZXJ0ICJ0c211eDogY2F0Y2ggYWxsb2MgZmFpbHVyZSIKCSAgVHVybnMgb3V0IGdsaWIgYWJvcnRzIG9uIGFsbG9jYXRpb24gZmFpbHVyZSwgc28gdGhpcyBpcyBwb2ludGxlc3MuCgkgIFdlJ2xsIGp1c3QgaWdub3JlIENvdmVyaXR5IHdhcm5pbmdzIG9uIHN1Y2ggY29uc3RydWN0cy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzQ3ODA5YTgyZTI0MDU3MzAyZjk0ODI2OTM5MmU3NmFhYWNlYTEwLgoKMjAxNC0wNC0wOSAxNTo1ODozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiB0dXJucyBvdXQgZ2xpYiBhYm9ydHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlCgkgIFNvIHRoaXMgaXMgYWN0dWFsbHkgcG9pbnRsZXNzLiBXZSdsbCBqdXN0IGhhdmUgdG8gaWdub3JlCgkgIENvdmVyaXR5IG1vYW5pbmcgb24gdGhvc2UuCgkgIFJldmVydCAibXBlZ3RzOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjI0Y2I4MWI4ZmNiZjAzZGY1ZTA3ZjA0NWVjYjllY2Y2NDE4OTQwMC4KCjIwMTQtMDQtMDkgMTU6NDQ6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlCgkgIFdoaWxlIGl0J3MgdW5saWtlbHkgdG8gZ2V0IHRoZXJlLCBpdCBzaWxlbmNlcyB0aGUgY292ZXJpdHkgd2FybmluZwoJICBvbiB0aGUgZXJyb3IgY29kZSBwYXRoIHRoYXQgd2UgdGVzdCBmb3IgTlVMTCBiZWZvcmUgZnJlZWluZywgd2hlbgoJICBhbGwgYnJhbmNoZXMgdGhlcmUgYXJlIGZyb20gbG9jYXRpb25zIHdoZXJlIHBtdCBjYW5ub3QgYmUgTlVMTCwKCSAgYW5kIHJlbW92aW5nIHRoZSBOVUxMIGNoZWNrIG1ha2VzIHRoZSBjb2RlIG1vcmUgdnVsbmVyYWJsZSB0byBhCgkgIGh5cG90aGV0aWNhbCBmdXR1cmUgYnJhbmNoIGZyb20gc29tZXdoZXJlIHdoZXJlIGl0IGNhbiBiZS4KCSAgQ292ZXJpdHkgMTEzOTg1MgoKMjAxNC0wNC0wOSAxNTo0MToxMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSB0ZXN0CgkgIFdlJ3ZlIGJlZW4gZGVyZWZlcmVuY2luZyB0aGF0IG9iamVjdCBsaWtlIHRoZXJlJ3Mgbm8gdG9tb3Jyb3cKCSAgaW4gdGhlIGNvZGUganVzdCBiZWZvcmUgdGhhdC4KCSAgQ292ZXJpdHkgMjA2MzY5CgoyMDE0LTA0LTA5IDE1OjM3OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IHJlbW92ZSBzdHJheSBnc3RfYnVmZmVyX3VubWFwIG9uIGVycm9yIHBhdGgKCSAgQSBwcmV2aW91cyBjb21taXQgcmVtb3ZlZCB0aGUgbWFwLCBhbmQgdGhlIHVubWFwIG9uIHRoZSBtYWluCgkgIGNvZGUgcGF0aCwgYnV0IG5vdCB0aGUgb25lIG9uIHRoZSBlcnJvciBwYXRoLgoJICBDb3Zlcml0eSAxMTM5OTMwCgoyMDE0LTA0LTA5IDE1OjI4OjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogcmVtb3ZlIGRlYWQgY29kZQoJICBUaG9zZSBldmVudHMgd2VyZSBwcmV2aW91c2x5IHRha2VuIGZyb20gYSBjYWNoZWQgZXZlbnRzIGxpc3QsCgkgIHdoaWNoIHdhcyByZW1vdmVkIGR1cmluZyB0aGUgcG9ydCB0byAwLjExLCBidXQgdGhpcyBiaXQgc3RheWVkLgoJICBDb3Zlcml0eSAxMTM5Njg0CgoyMDE0LTA0LTA5IDE1OjI0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIEEgbWVzc2FnZSBtYXkgbm90IGJlIE5VTEwgaW4gdGhlIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24KCSAgKGFuZCBub3RoaW5nIHRoZXJlIHNldHMgaXQgdG8gTlVMTCkuCgkgIENvdmVyaXR5IDExMzk4NDgKCjIwMTQtMDQtMDkgMTU6MTg6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJICBjb21wYXJlOiBzcGVjaWFsIGNhc2UgZW1wdHkgcmVnaW9ucyB3aXRoIDEgU1NJTSB0byBhdm9pZCBkaXZpZGluZyBieSAwCgkgIENvdmVyaXR5IDExMzk2ODksIDExMzk2ODgKCjIwMTQtMDQtMDkgMTU6MDk6MjUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBDb3Zlcml0eSAxMTM5NjY2CgoyMDE0LTA0LTA5IDE1OjAzOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBGcm9tIHRoZSAwLjExIHBvcnQKCSAgQ292ZXJpdHkgMTEzOTY3NgoKMjAxNC0wNC0wOSAxNDozNzo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBhdm9pZCBjcmFzaGluZyBpbiBwYXRob2xvZ2ljYWwgY2FzZQoJICBXaGVuIHdlJ2Qgc2VlIGFuIHVua25vd24gc3RyZWFtIHR5cGUsIHRoZW4gYSBTRERTIHN0cmVhbS4KCSAgVGhlbiB3ZSdkIGdldCB0byB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggd2l0aCBhIE5VTEwgdGVtcCBzdHJlYW0KCSAgcG9pbnRlciwgYW5kIGRlcmVmZXJlbmNlIGl0LgoJICBDb3Zlcml0eSAxMTM5NzA4CgoyMDE0LTA0LTA5IDE0OjEzOjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBjYXRjaCBwcmV2LW5vdC1mb3VuZCB3aGVuIGluc2VydGluZyBpbiB0aGUgZ3JvdXAgbGlzdAoJICBXaGlsZSB0aGlzIHByb2JhYmx5IHNob3VsZCBuZXZlciBoYXBwZW4gaWYgY2FsbGVycyBhcmUgd2VsbCBiZWhhdmVkLAoJICB0aGlzIGF2b2lkcyBhIGNyYXNoIGlmIGl0IGRvZXMuIFdpdGggYSB3YXJuaW5nIGFib3V0IGl0LiBVbnN1cmUgaWYKCSAgaXQnZCBiZSBiZXR0ZXIgdG8gbm90IGFkZCBhdCBhbGwsIGJ1dCBpdCBzaG91bGQgbm90IGhhcHBlbi4uLgoJICBDb3Zlcml0eSAxMTM5NzEzCgoyMDE0LTA0LTA5IDEzOjUxOjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZ3VhcmQgYWdhaW5zdCBfZGlzcG9zZSBiZWluZyBjYWxsZWQgbXV0aXBsZSB0aW1lcwoJICBfZGlzcG9zZSBjYWxscyBfcmVzZXQsIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIF9yZXNldCBoYW5kbGVzCgkgIGFscmVhZHkgTlVMTGVkIGZpZWxkcy4KCSAgQ292ZXJpdHkgMTEzOTg0MwoKMjAxNC0wNC0wOSAxMzo0MzoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBwcmV2ZW50IHBvc3NpYmxlIGRvdWJsZSBmcmVlIG9uIGVycm9yIHBhdGgKCSAgU3BvdHRlZCB3aGlsZSBsb29raW5nIGF0IGEgQ292ZXJpdHkgaXNzdWUgaW4gdGhlIGFyZWEuCgoyMDE0LTA0LTA5IDEzOjQxOjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IGNhdGNoIGFsbG9jIGZhaWx1cmUKCSAgV2hpbGUgaXQgd2lsbCBwcm9iYWJseSBub3QgdHJpZ2dlciwgaXQgc2hvdWxkIHNpbGVuY2UgYSBDb3Zlcml0eQoJICB3YXJuaW5nIGFib3V0IHRoZSBmYWlsIGNvZGUgcGF0aCB0ZXN0aW5nIGZvciBOVUxMbmVzcyBiZWZvcmUKCSAgZnJlZWluZywgd2hlcmUgdGhlIGJ1ZmZlciB3YXMgYWxyZWFkeSBkZXJlZmVyZW5jZWQuIEl0IHNlZW1zCgkgIHNhZmVzdCB0byBrZWVwIHRoYXQgdGVzdCwgaW4gY2FzZSBmdXR1cmUgZ290byBmYWlsIHN0YXRlbWVudHMKCSAgaGFwcGVuIHRvIGhhdmUgYSBOVUxMIGJ1ZmZlciB0aGVyZS4KCSAgQ292ZXJpdHkgMTEzOTg1MQoKMjAxNC0wNC0wOSAxMTo0MzoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkgIGRlY2tsaW5rOiBpbml0aWFsaXplIHByaXYgdG8gTlVMTAoJICBXaGlsZSB0aGUgY29kZSB0aGF0IGNyZWF0ZXMgdGhlIG9iamVjdCBzZXRzIHByaXYgdG8gc29tZSBleGlzdGluZwoJICBwb2ludGVyIGFmdGVyIG5ldywgdGhpcyBlbnN1cmVzIGFueSBmdXR1cmUgbmV3IG5vdCBkb2luZyB0aGlzIHdpbGwKCSAgaGl0IHRoZSB2YXJpb3VzIHByaXYhPU5VTEwgYXNzZXJ0cyBpbiB0aGUgY29kZS4KCSAgQ292ZXJpdHkgMTEzOTkzNQoKMjAxNC0wNC0wOSAxMToxNToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IG1ha2UgZHVyYXRpb24gcXVlcnkgYWJsZSB0byBjb252ZXJ0IGJ5dGVzIHRvIHRpbWUKCSAgSXQgd2FzIG9ubHkgcXVlcnlpbmcgaW4gdGltZSwgYnV0IHRoZW4gdHJ5aW5nIHRvIHVzZSBkZWFkIGJ5dGVzCgkgIHRvIHRpbWUgY29udmVyc2lvbiBjb2RlLgoJICBDb3Zlcml0eSAxMTM5Njc3CgoyMDE0LTA0LTA5IDExOjA0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogZml4IGxlZnQgY3JvcCBjaGFuZ2UgdGVzdAoJICBJdCB3YXMgdGVzdGluZyBhIG5vb3AKCSAgQ292ZXJpdHkgMTEzOTY0MwoKMjAxNC0wNC0wOSAxMTowMjowMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IGFkZCBtaXNzaW5nIHZhX2VuZCBpbiB2YXJpYWRpYyBmdW5jdGlvbgoJICBDb3Zlcml0eSAxMTM5OTQ0CgoyMDE0LTA0LTA5IDExOjAwOjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHJlbW92ZSBkZWFkIGNvZGUKCSAgQ292ZXJpdHkgMTEzOTY4MwoKMjAxNC0wNC0wOSAxMDo1NjoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogcmVzZXQgImluIHVzZSIgZmxhZyBvbiBmYWlsdXJlIHRvIGluaXRpYWxpemUKCjIwMTQtMDQtMDkgMTA6NTU6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZSBiZWZvcmUgZGVyZWZlcmVuY2luZwoJICBDb3Zlcml0eSAxMTM5ODQ5CgoyMDE0LTA0LTA5IDEwOjMzOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTEzOTgyOQoKMjAxNC0wNC0wOSAxMDoyODo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBnbDogcGFzcyBsYXJnZSBzdHJ1Y3R1cmUgYnkgY29uc3QgcG9pbnRlciwgbm90IHZhbHVlCgkgIEF2b2lkcyBsYXJnZSBwb2ludGxlc3MgbWVtY3B5LgoJICBDb3Zlcml0eSAyMDYyMzYsIDIwNjIzNwoKMjAxNC0wNC0wOCAyMTozOToyMCArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIGFueSBmZWF0dXJlIHRvIHZpZXdmaW5kZXJiaW4gc3RhdGljIHBhZCB0ZW1wbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODU3CgoyMDE0LTA0LTA4IDIwOjU0OjI2ICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZXBvcnQgYW4gZXJyb3IgaWYgd2UgZmFpbCB0byBsaW5rIHZmc3JjIGFuZCB2aWV3ZmluZGVyIHF1ZXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NTUKCjIwMTQtMDQtMDggMTc6NDU6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3N0IHByb3BlciBlcnJvciBtZXNzYWdlIHdoZW4gd2luZG93IGRpc2FwcGVhcnMKCjIwMTQtMDQtMDggMTc6MzQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogZml4IG9mZiBieSBvbmUgaW4gY2hhbm5lbCBtYXNrIGJ1aWxkaW5nCgkgIFRoZSBmaXJzdCBsb29wIHdvdWxkIHNoaWZ0IDEgYnkgNjQsIHdoaWNoIGlzIGVpdGhlciB1bmRlZmluZWQKCSAgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCwgaW5zdGVhZCBvZiBjbGVhcmluZyB0aGUgdG9wIGJpdC4KCSAgQ292ZXJpdHkgMTE5NzY5MQoKMjAxNC0wNC0wOCAxNzoxMDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiByZXN0b3JlIE5VTEwgdGVzdCBtaXN0YWtlbmx5IHJlbW92ZWQKCSAgVGhhbmtzIHRvIHRwbSBmb3IgcG9pbnQgb3V0IEknbSBhbiBpZGlvdC4KCjIwMTQtMDQtMDggMTY6NTM6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IG9ubHkgc2V0IERJU0NPTlQgZmxhZyBvbiBhIHZhbGlkIGJ1ZmZlcgoJICBSZWNlbnQgcmVmYWN0b3JpbmcgY2F1c2VzIHRoaXMgY29kZSB0byBiZSBjYWxsZWQgd2l0aCBlaXRoZXIgYSBOVUxMCgkgIGZyYWdtZW50LCBvciBhIG5vbiBOVUxMIGZyYWdtZW50LiBJbiB0aGUgZm9ybWVyIGNhc2UsIHdlIGRvbid0IGhhdmUKCSAgYSBidWZmZXIuIEluIHRoZSBsYXR0ZXIgY2FzZSwgdGhlIG9yaWdpbmFsIGNvZGUgZGVhbGluZyB3aXRoIERJU0NPTlQKCSAgYXNzdW1lZCB0aGUgYnVmZmVyIHdhcyB2YWxpZC4gVGVzdGluZyBmb3IgYSBOVUxMIGJ1ZmZlciBoZXJlIHRodXMKCSAgZG9lcyBub3Qgc2VlbSB0byBjaGFuZ2UgdGhlIGludGVudCwgYW5kIGZpeGVzOgoJICBDb3Zlcml0eSAxMTk1MTQ3CgoyMDE0LTA0LTA4IDE2OjUzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZ3VhcmQgYWdhaW5zdCBOVUxMIG1hdGVyaWFsIHRyYWNrCgkgIEp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KCjIwMTQtMDQtMDggMTY6NDY6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogYnJpbmcgTlVMTCB0ZXN0IGJlZm9yZSBkZXJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTk1MTY4CgoyMDE0LTA0LTA4IDE2OjIzOjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiB0ZXN0IGZvciBmcmFtZSBOVUxMbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAoJICBDb3Zlcml0eSAxMTk1MTcyLCAxMTk1MTcxCgoyMDE0LTA0LTA5IDAwOjQ0OjA4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQXZvaWQgaW5maW5pdGUgbG9vcHMgb24gc2hvcnQgZGF0YQoKMjAxNC0wNC0wOCAxNjowOToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBmaXggY29tcGlsYXRpb24KCjIwMTQtMDQtMDggMTU6NTQ6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbDogZml4IGxlYWtzCgkgIEFzIHRoZSByZWxldmFudCB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVkIHRvIDAvTlVMTCwgd2UgY2FuIGxvb3AKCSAgb3ZlciB0aGUgZnVsbCByYW5nZSBhbmQgbWFrZSBzdXJlIHdlIGZyZWUgcGFydGlhbCBhbGxvY2F0aW9ucwoJICB3aGVuIGFuIGVycm9yIGhhcHBlbnMgcGFydHdheSB0aHJvdWdoIGluaXRpYWxpemF0aW9uLgoKMjAxNC0wNC0wOCAxNToyNjowNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogcmVqZWN0IHRvbyBsb25nIHNvY2tldCBwYXRocwoJICBDb3Zlcml0eSAyMDYwMDQKCjIwMTQtMDQtMDggMTQ6MzM6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBpbXBsZW1lbnQgc2ltcGxlIEtFWV9VTklUIHNlZWtpbmcKCSAgSWYgYSBLRVlfVU5JVCBzZWVrIHdhcyByZXF1ZXN0ZWQsIGFkanVzdCBzZWdtZW50CgkgIHN0YXJ0IHRvIHBvc2l0aW9uIG9mIHRoZSBrZXkgZnJhbWUuCgoyMDE0LTA0LTA4IDE0OjI0OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiBhdWRpbyBzdWJ0aXRsZSBzdHJlYW1zCgkgIFR1cm5zIG91dCB0aGVyZSB3YXMgdGhlIHNhbWUgaXNzdWUgYXMgd2l0aCBzdWJ0aXRsZXMuCgkgIFRoZXJlIGlzIHNwYWNlIGZvciBhIHNpbmdsZSBhdWRpbyBzdHJlYW0sIGJ1dCB1cCB0byAyNTUKCSAgbWF5IGJlIHVzZWQgYmFzZWQgb24gYSB1aW50OF90IHZhbHVlIGluIGEgc3RydWN0LCB3aGljaCBtYXkKCSAgb3IgbWF5IG5vdCBiZSByZWFkIGZyb20gdGhlICh1bnRydXN0ZWQpIGRhdGEuCgkgIEEgY29tbWVudCBpbiBpZm9fdHlwZXMuaCBzYXlzIHRoaXMgdmFsdWUgaXMgZWl0aGVyIDAgb3IgMSwgc28KCSAgd2UgY2FuIGVuc3VyZSB0aGlzIGhlcmUgd2l0aG91dCBkcmF3YmFja3MuCgkgIENvdmVyaXR5IDExMzk1ODUKCjIwMTQtMDQtMDggMTQ6MTk6MjkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIG1lbnUgc3VidGl0bGUgc3RyZWFtcwoJICBUaGVyZSBpcyBzcGFjZSBmb3IgYSBzaW5nbGUgc3VidGl0bGUgc3RyZWFtLCBidXQgdXAgdG8gMjU1CgkgIG1heSBiZSB1c2VkIGJhc2VkIG9uIGEgdWludDhfdCB2YWx1ZSBpbiBhIHN0cnVjdCwgd2hpY2ggbWF5CgkgIG9yIG1heSBub3QgYmUgcmVhZCBmcm9tIHRoZSAodW50cnVzdGVkKSBkYXRhLgoJICBBIGNvbW1lbnQgaW4gaWZvX3R5cGVzLmggc2F5cyB0aGlzIHZhbHVlIGlzIGVpdGhlciAwIG9yIDEsIHNvCgkgIHdlIGNhbiBlbnN1cmUgdGhpcyBoZXJlIHdpdGhvdXQgZHJhd2JhY2tzLgoJICBDb3Zlcml0eSAxMTM5NTg2CgoyMDE0LTA0LTA4IDEzOjI2OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHNlZWtpbmcsIHNlbmQgZGF0YSBzdGFydGluZyBmcm9tIGEga2V5IHVuaXQKCSAgRml4ZXMgbXVsdGlwbGUgc2Vla2luZyBpc3N1ZXMuIFdoZW4gZG9pbmcgQUNDVVJBVEUgb3Igbm9ybWFsCgkgIG5vbi1LRVlVTklUIHNlZWtzLCBteGZkZW11eCB3b3VsZCBqdXN0IHNlbmQgZGF0YSBmcm9tIHRoZQoJICBlZGl0IHVuaXQgdGhhdCBjb3ZlcmVkIHRoZSBzZWVrIHBvc2l0aW9uLCB3aGV0aGVyIHRoYXQncwoJICBhIGtleWZyYW1lIG9yIG5vdC4gRGVjb2RlcnMgd291bGQgb25seSBvdXRwdXQgdGhpbmdzIGZyb20KCSAgdGhlIG5leHQga2V5ZnJhbWUgdGhlbiwgd2hpY2ggbWVhbnMgdGhlcmUncyBhIGdhcCBiZXR3ZWVuCgkgIHRoZSBzdGFydCBvZiB0aGUgc2VnbWVudCBhbmQgdGhlIGZpcnN0IGRlY29kZWQgZGF0YSBpbgoJICBzb21lIGNhc2VzLiBJbiBjb21iaW5hdGlvbiB3aXRoIGdzdC1lZGl0aW5nLXNlcnZpY2VzIHRoaXMKCSAgbWlnaHQgcmVzdWx0IGluIGEgZnJvemVuIHBpY3R1cmUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGF0CgkgIGdhcCBhdCB0aGUgYmVnaW5uaW5nIChpZiB2aWRlb3JhdGUgZml4ZXMgdXAgdGhlIGZpcnN0CgkgIGJ1ZmZlcidzIHN0YXJ0IHRpbWVzdGFtcCB0byBjb3ZlciB0aGUgZW50aXJlIGdhcCksIG9yCgkgIGEgYmxhY2sgZnJhbWUgKGlmIG5vIHZpZGVvcmF0ZSBpcyB1c2VkIGFuZCB2aWRlb21peGVyCgkgIGZpbGxzIHRoZSBnYXApLiBBbHNvIGZpeGVzIEEvViBzeW5jIGlzc3VlIHdoZW4gcmVxdWVzdGluZwoJICBhIEtFWVVOSVQgc2Vlay4KCjIwMTQtMDQtMDggMTI6Mzc6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggYnVmZmVyIG92ZXJmbG93cwoJICBDaGFubmVscyBjYW4gYmUgdXAgdG8gNy4gQWxzbyBhZGQgYSBndWFyZCBpbiBjYXNlIG1vcmUgY2FuIGJlCgkgIHJldHVybmVkIGluIHRoZSBmdXR1cmUuCgkgIENvdmVyaXR5IDExMzk4MjAsIDExMzk4MjEKCjIwMTQtMDQtMDggMTM6MjA6NTQgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBjcml0aWNhbCBkdWUgdG8gbWlzc2luZyBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODEyCgoyMDE0LTA0LTA4IDEyOjIwOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZml4IGZkIGxlYWsKCSAgQ292ZXJpdHkgMTEzOTgzMQoKMjAxNC0wNC0wOCAxMToyNjozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IENsYXJpZnkgcGFzc3Rocm91Z2ggaW4gc3dpdGNoIHN0YXRlbWVudAoJICBXZSBkbyB3YW50IHRoZSBjYXBzIGV2ZW50IHRvIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtCgkgIENJRCAjMTEzOTc1NAoKMjAxNC0wNC0wOCAxMToyMzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIFdob29wcywgbW9kaWZ5aW5nIHRoZSBwaXRjaCB3aGVuIG1vZGlmeWluZyB0aGUgb3V0cHV0IHJhdGUgLi4uCgkgIENJRCAjMTEzOTc0OQoKMjAxNC0wNC0wOCAxMToyMTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3ZnOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFRoaXMgd2Fzbid0IGZhdGFsIGJlZm9yZSAod29yc3QgY2FzZSBpdCB3b3VsZCBjbGVhciBhbiBhbHJlYWR5IGVtcHR5CgkgIGFkYXB0ZXIpLgoJICBDSUQgIzExMzk3NTgKCjIwMTQtMDQtMDggMTE6MjA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIFFVRVJZX0NBUFMgaXMgZnVsbHkgaGFuZGxlZCwgd2UgZG9uJ3QgbmVlZCB0byBwYXNzdGhyb3VnaCB0byB0aGUgZGVmYXVsdAoJICBoYW5kbGVyLgoJICBDSUQgIzExMzk3NTYKCjIwMTQtMDQtMDggMDk6NTE6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBJbml0aWFsaXplIHZhcmlhYmxlcwoJICBUaGVyZSBpcyBhIHNtYWxsIGNoYW5jZSB0aGF0IHdlIG1pZ2h0IGVuZCB1cCBpbiB0aGUgZG9uZSBzdGVwIHdpdGhvdXQKCSAgaGF2aW5nIGFueSBvdXRwdXQgYXZhaWxhYmxlLgoJICBGdXJ0aGVybW9yZSwgd2hlbiBnb2luZyB0aHJvdWdoIG5vdF9yZWFkeSwgd2UgbmVlZCB0byBlbnN1cmUgZ3N0X2J1ZmZlcl91bm1hcAoJICBoYXMgYSBwcm9wZXJseSBpbml0aWFsaXplZCBHc3RNYXBJbmZvLgoJICBDSUQgIzExMzk5MjMKCSAgQ0lEICMxMTM5OTI0CgkgIENJRCAjMTEzOTkxOQoJICBDSUQgIzExMzk5MjAKCjIwMTQtMDQtMDggMDc6NDg6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIGNoZWNrOiBGaXggbXBlZ3RzbXV4IGNhcHMKCSAgSW5jb21pbmcgc3RyZWFtcyBuZWVkIHRvIGJlIHBhcnNlZC4gRG9lc24ndCBmaXggdGhlIHRlc3QgY29tcGxldGVseSB0aG91Z2gKCjIwMTQtMDQtMDggMDc6NDc6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBJbml0aWFsaXplIGhlbHBlciBtcGVndHMgbGlicmFyeQoJICBXZSBub3cgdXNlIHRoYXQgbGlicmFyeSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGl0IHNvIHRoYXQgZGVidWcKCSAgY2F0ZWdvcmllcyAoYW1vbmdzdCBvdGhlciB0aGluZ3MpIGdldCBwcm9wZXJseSBpbml0aWFsaXplZAoKMjAxNC0wNC0wNyAxMzoyNTo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSAgbXhmOiBmaXggc3RvcCBkYXRlIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGlucHV0CgkgIENvdmVyaXR5IDExMzk2NDUKCjIwMTQtMDQtMDcgMTM6MjI6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogZml4IGNvcHkvcGFzdGUgZXJyb3JzIGluIGV4cHJlc3Npb25zCgkgIENvcnJlY3QgZm9ybXVsYWUgZm91bmQgaW4gSVRVIFQuODAwLCBCLjEyLjEuWzM0NV0KCSAgQ292ZXJpdHkgMTEzOTY0OSwgMTEzOTY1MCwgMTEzOTY1MQoKMjAxNC0wNC0wNCAxNTozMDoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IGZpeCBzaG0gdGVzdCBkZWFkbG9jawoJICBUaGUgdGVzdCB3YXMgbm90IGJyaW5naW5nIHRoZSBzb3VyY2UgYmFjayB0byBOVUxMLCBzbyBpdHMgdGhyZWFkCgkgIGNvdWxkIHN0YXJ0IGNyZWF0aW5nIGEgYnVmZmVyIHdoaWxlIHRoZSBwYWRzIHdlcmUgYmVpbmcgc2h1dGRvd24uCgoyMDE0LTA0LTA2IDExOjU3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDcmVhdGUgR0wgY29udGV4dCBhbmQgc2V0IHVwIHdpbmRvdyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGdzdF9nbF9jb250ZXh0X2NyZWF0ZSgpIG1pZ2h0IG5lZWQgdG8gZGlzcGF0Y2ggc29tZSBvcGVyYXRpb25zIHRvIHRoZQoJICBhcHBsaWNhdGlvbidzIG1haW4gdGhyZWFkLCBhbmQgY2FsbGluZyB0aGlzIGluIHRoZSBjaGFuZ2Vfc3RhdGUgZnVuY3Rpb24KCSAgY2FuIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMTQtMDQtMDQgMDk6MTk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGNoZWNrIGZvciBpT1MgZm9yIHRoZSBPcGVuR0wgc3VwcG9ydAoJICBUaGVyZSBpcyBhbHNvIGFuIGkzODYgdmVyc2lvbiBvZiBpT1MsIHdoaWNoIGlzIGZvciB0aGUgc2ltdWxhdG9yLgoJICBCZXR0ZXIgdXNlIG91ciBhbHJlYWR5IGV4aXN0aW5nIEhBVkVfSU9TIGNoZWNrIGluc3RlYWQgb2YgcmVseWluZwoJICBvbiB0aGUgaG9zdCB0cmlwbGV0LgoKMjAxNC0wNC0wMyAxMTo1NDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBwb3NzaWJsZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxNC0wNC0wMyAxMTo0ODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IG9ubHkgYWRkIGxvY2F0aW9uIHdoZW4gbm9kZSBleGlzdGVkCgkgIEFjdHVhbGx5IHJldHVybiBGQUxTRSB3aGVuIHRoZSBsb2NhdGlvbiBub2RlIHdhcyBub24tZXhpc3RpbmcKCSAgT25seSBhZGQgdGhlIGxvY2F0aW9uIG5vZGUgd2hlbiBpdCBleGlzdGVkCgoyMDE0LTA0LTAyIDIzOjQ5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZXF1aXJlIHBhcnNlZC9mcmFtZWQgaW5wdXQgZm9yIG1vc3Qgb2YgdGhlIHN1cHBvcnRlZCBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1MTkKCjIwMTQtMDQtMDIgMjM6MDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IHBhc3MgYSBkZXN0IHJlY3RhbmdsZSBpZiBzZXQsIG90aGVyd2lzZSBwYXNzIE5VTEwKCSAgQ2FsbCB3aXRoIGFuIHVuaW5pdGlhbGl6ZWQgcmVjdGFuZ2xlIHdpbGwgY2F1c2UgZXJyb3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0OTk4CgoyMDE0LTA0LTAyIDEzOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiBmaXggZ2wgdW5pdCB0ZXN0cyBmb3IgcmVjZW50IEFQSSBjaGFuZ2VzCgoyMDE0LTA0LTAyIDIzOjA1OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2w6IHBhc3MgdmlkZW8gaW5mbydzIGJ5IHJlZmVyZW5jZQoKMjAxNC0wNC0wMiAyMzowNToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogZml4IGFycmF5IGluaXRpYWxpemF0aW9uCgoyMDE0LTA0LTAyIDIyOjU0OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJICBnbGJ1bXBlcjogcmVtb3ZlIHJlZHVuZGFudCBjaGVjawoKMjAxNC0wNC0wMiAyMjo1MzoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2wvZ2x4OiB1c2UgdGhlIGNvbnRleHQncyBkaXNwbGF5IHJhdGhlciB0aGFuIGFza2luZyBmb3IgdGhlIHdpbmRvdydzCgoyMDE0LTA0LTAyIDIyOjQzOjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBmaXggYXNzaWdubWVudCBvZiB0ZW1wb3JhcnkgdmFyaWFibGVzCgoyMDE0LTA0LTAyIDIyOjQyOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IGF2b2lkIGFkZGluZyBhIE5VTEwgcG9vbCB0byBwcm9wb3NlIGFsbG9jYXRpb24KCjIwMTQtMDQtMDIgMTI6Mzg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogYWN0dWFsbHkgYnVpbGQgdGhlIGdsIHBsdWdpbnMgb24gd2luMzIKCSAgUmVncmVzc2lvbiBmcm9tIGM4ZmYyMTViMDJlZTE3ODUxM2UwNzZlMmRmYmQxNGU5Y2U3N2VjNDkKCjIwMTQtMDQtMDIgMDk6Mjk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogZml4IGRldGVjdGlvbiBvZiBHTC93Z2xleHQuaAoJICBXYXMgcmVzdWx0aW5nIGluICdwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQnIGVycm9ycwoKMjAxNC0wNC0wMSAyMTo0ODoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggZGV0ZWN0aW9uIG9mIGV4dGVuc2lvbnMgd2l0aCBHTCB2ZXJzaW9ucyA8IDMKCSAgTWVzYSwgZm9yIGV4YW1wbGUgcmV0dXJucyB2YWxpZCBwb2ludGVycyBmb3IgZ2xHZXRJbnRlZ2VydiBhbmQKCSAgZ2xHZXRTdHJpbmdpIGV2ZW4gaWYgdGhlIGdsIHZlcnNpb24gaXMgbGVzcyB0aGFuIHRoYXQgcmVxdWlyZWQgZm9yCgkgIGJvdGggdGhvc2UgZnVuY3Rpb25zIHRvIHN1cHBvc2VkbHkgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjQKCjIwMTQtMDMtMzAgMjE6MDI6NDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggZG9jcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM1NgoKMjAxNC0wMy0zMCAyMTowMjoxMCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkgIG1wZWd0czogYWRkIGR2Yi10MiBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM1NgoKMjAxNC0wMy0yNCAxNzo0NDo0NyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGJ1Z2ZpeCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcnMKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY5NzkKCjIwMTQtMDMtMjcgMjE6MjI6MzIgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiB1c2UgR1NUX1JFQURfVUlOVDMyX0JFCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDIxOjIxOjIzICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGFkZCBwYXJzaW5nIGRhdGEgYnJvYWRjYXN0IGRlc2NyaXB0b3IKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMjE6MTg6MzYgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYWRkIHBhcnNpbmcgc3RyZWFtIGlkZW50aWZpZXIKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMTM6NTY6MjYgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiB1c2UgZ2xpYiBhbGxvYyBhbmQgZnJlZQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE1OQoKMjAxNC0wMy0yOSAxNzoyNjowMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBjb3JyZWN0IHByaW50IGZvcm1hdCBmb3IgZ2ludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczODUKCjIwMTQtMDMtMzAgMTg6NTI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBIYW5kbGUgZXJyb3JzIHdoZW4gc3dpdGNoaW5nIHBsYXlsaXN0cyBwcm9wZXJseQoKMjAxNC0wMy0zMCAxODoxMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEdvIEVPUyBpZiB0aGUgZW5kIG9mIHRoZSBzZWdtZW50IGlzIHJlYWNoZWQKCjIwMTQtMDMtMzAgMTg6MDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9yZSBidWZmZXIgZW5kIHBvc2l0aW9uIGluIHNlZ21lbnQucG9zaXRpb24KCjIwMTQtMDMtMjkgMTA6MTk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggdHlwbyBpbiBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDMtMjggMTg6Mjc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IENvcHkgb3ZlciBESVNDT05UIGZsYWcgZnJvbSBpbnB1dCBidWZmZXJzCgoyMDE0LTAzLTI4IDE4OjExOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBuZXh0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnQgd2l0aCB0aGUgRElTQ09OVCBmbGFnCgoyMDE0LTAzLTI4IDE3OjMyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRHJhaW4gcmVtYWluaW5nIGRhdGEgb24gZGlzY29udHMKCjIwMTQtMDMtMjggMTc6MjU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBpZiB3ZSByZWNlaXZlIGEgZGlzY29udCBidWZmZXIKCjIwMTQtMDMtMjggMTc6MjQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIGZsdXNoZWQgYmVmb3JlIGEgcHJvZ3JhbSB3YXMgc2VsZWN0ZWQKCjIwMTQtMDMtMjcgMTk6NDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFbnN1cmUgdGhhdCBhbGwgcGVuZGluZyBkYXRhIGlzIHB1c2hlZCBldmVuIGlmIHRoZSBzdHJlYW0gd2FzIG5vdCBhY3RpdmF0ZWQgYmVmb3JlCgkgIGdzdF90c19kZW11eF9wdXNoX3BlbmRpbmdfZGF0YSgpIHdpbGwgY2hlY2sgaWYgaXQgbm93IGNhbiBhY3RpdmF0ZSB0aGUKCSAgc3RyZWFtIGFuZCBhZGQgdGhlIHBhZCwgd2UgZG9uJ3QgaGF2ZSB0byBjaGVjayB0aGF0IG91cnNlbHZlcy4KCSAgRml4ZXMgcGxheWJhY2sgb2YgdmVyeSBzaG9ydCBNUEVHIFRTIGZpbGVzLgoKMjAxNC0wMy0yNyAxOToyMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpeCBwdWxsIG1vZGUgc2Nhbm5pbmcgZm9yIFBDUiBvbiBzbWFsbCBmaWxlcwoJICBJZiBhIGZpbGUgZG9lcyBub3QgY29udGFpbiA1IFBDUnMgdW50aWwgaXQgaXMgRU9TLCBvciBkb2VzIG5vdAoJICBjb250YWluIG1vcmUgdGhhbiA2NTUzNjAgYnl0ZXMgdGhlIFBDUiBzY2FubmluZyBhbGdvcml0aG0ganVzdAoJICBhYm9ydGVkLgoKMjAxNC0wMy0yNiAyMjoyNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCB0aGUgc2VnbWVudCBvZmZzZXQKCSAgSXQncyBjYXVzaW5nIHdyb25nIHJ1bm5pbmcgdGltZXMgYWZ0ZXIgc2Vla3Mgb3IgYml0cmF0ZQoJICBzd2l0Y2hlcy4KCjIwMTQtMDMtMjYgMDc6MzI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgRElTQ09OVCBmbGFnIG9uIGFsbCBidWZmZXJzIGluIHJldmVyc2UgcGxheWJhY2sgbW9kZQoKMjAxNC0wMy0yNiAwNzoyNToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGZvcndhcmRzIGFuZCBiYWNrd2FyZHMgc2VhcmNoaW5nIGluIHRoZSBmaWxlcyBsaXN0CgoyMDE0LTAzLTI2IDA3OjI0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVW5zZXQgRFRTIG9mIGFsbCBidWZmZXJzCgkgIFdlIHdvbid0IGdldCBhIHZhbGlkIERUUyBmcm9tIHRoZSBzb3VyY2UuCgoyMDE0LTAzLTI2IDA3OjIyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBmbHVzaCBzdGFydCBldmVudCBiZWZvcmUgd2FpdGluZyBmb3IgdGhlIHRhc2tzIHRvIGZpbmlzaAoJICBPdGhlcndpc2Ugd2UnbGwgd2FpdCB1bnRpbCBidWZmZXJzIGFyZSBjb21wbGV0ZWx5IHByb2Nlc3NlZCBkb3duc3RyZWFtLAoJICB3aGljaCBtaWdodCB0YWtlIHF1aXRlIHNvbWUgdGltZS4KCjIwMTQtMDMtMDkgMTk6MzE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCB0cmljayBtb2RlcyB2aWEgSS1mcmFtZSB2YXJpYW50IGxpc3RzCgoyMDE0LTAzLTA5IDE4OjI0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHBhcnNpbmcgb2YgI0VYVC1YLUktRlJBTUUtU1RSRUFNLUlORgoJICBUaGVzZSBhcmUgSS1mcmFtZS1vbmx5IHZhcmlhbnQgbGlzdHMgdGhhdCBjYW4gYmUgdXNlZAoJICBmb3IgdHJpY2sgbW9kZSBwbGF5YmFjay4KCjIwMTQtMDMtMjggMjA6MjI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogZWdsOiBmaXggZGlzdGNoZWNrIGFuZCBvdXQgb2Ygc291cmNlIGJ1aWxkCgoyMDE0LTAzLTI4IDIwOjQ3OjM2ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEZpeCBtYWtlIGRpc3QKCjIwMTQtMDMtMjggMTk6NDY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBMREFERCBvcmRlciBmb3IgaW5zZXJ0YmluIHRlc3QKCjIwMTQtMDMtMjggMTk6NDE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IGxpbmsgY29kZWNwYXJzZXIgdGVzdHMgdHdpY2UgdG8gdGhlIGxpYgoKMjAxNC0wMy0yOCAxOTozMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGdsIHVuaXQgdGVzdHMgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgUHV0IGxvY2FsIC5sYSBmaWxlcyBmaXJzdCwgYW5kIGFkZCBsaW5rIHRvIGxpYmdzdHZpZGVvCgkgIGZvciB0ZXN0cyB0aGF0IHVzZSB0aGUgbGliZ3N0dmlkZW8gQVBJIGRpcmVjdGx5LgoKMjAxNC0wMy0yNyAyMjo0MTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBhbGxvdyBub3QgYnVpbGRpbmcgdGhlIGdsIHBsdWdpbnMKCSAgRml4ZXMgYnVpbGQgb24gd2luZG93cyBpZiA8R0wvd2dsZXh0Lmg+IGhlYWRlcnMgYXJlIG5vdCBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTI1CgoyMDE0LTAzLTI4IDExOjU0OjQ1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiB1bnJlZiBsYXN0IGJ1ZmZlciBvbiBEUkFJTgoJICBTaW1pbGFyIHRvIDA5MzU3NDA1M2ZhZTI0M2VjNWZjZmQ2YWRhZTgxODUwNTNiMWU4OTYKCSAgaW4gZ3N0YmFzZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjEwNwoKMjAxNC0wMy0yNyAxODo1MTo1OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggd3JvbmcgZG9jIGJsb2NrIGZvciBjcmVhdGVfd2luZG93CgkgIFdyb25nIHNpbmNlIDFhZDI1M2I5IHdoZW4gcHJvcCBuYW1lIHdhcyBjaGFuZ2VkIGZyb20KCSAgY2FuX2NyZWF0ZV93aW5kb3cgdG8gY3JlYXRlX3dpbmRvdy4KCjIwMTQtMDMtMjcgMjI6MDI6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG9uJ3QgZmFpbCBjb25maWd1cmUgaWYgd2UgZG8gbm90IHVuZGVyc3RhbmQgdGhlIHBsYXRmb3JtCgoyMDE0LTAzLTI1IDE1OjQwOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJICBnbDogZml4IG91dC1vZi1zb3VyY2UgYnVpbGRzIHB0MgoJICAyMWI4OTdkZTJmNzYyYmVlNTA0Y2JjMDA3ZmQxMDgxNDhlZTVhZTI0IGRpZCB0aGlzIGZvciB4MTEgYW5kIHdheWxhbmQuCgkgIERvIGl0IGZvciB0aGUgb3RoZXIgYmFja2VuZHMgYXMgd2VsbC4KCjIwMTQtMDMtMjYgMjM6MTM6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogb25seSBzZXQgQ0FQU19GRUFUVVJFX01FTU9SWV9FR0xfSU1BR0Ugb24gZWdsIHBsYXRmb3JtCgoyMDE0LTAzLTI2IDE3OjE0OjQwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBPU1ggaG9zdCBjaGVjawoJICBNYWtlcyB0aGUgY2hlY2sgd29ya3Mgd2l0aCAoaTM4Nnx4ODZfNjQpLWFwcGxlLWRhcndpbiogaG9zdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxMDQKCjIwMTQtMDMtMjYgMTk6MTc6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGxldCB0aGUgdXNlciBpbmNsdWRlcyBpdHNlbGYgb3VyIGVnbCBoZWFkZXJzIGlmIG5lZWRlZAoJICBGb3Jnb3QgdG8gYWRkcmVzcyB0aGlzIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yMiAyMjowMTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJICBnbDogYWRkIEVHTEltYWdlIHN1cHBvcnQKCSAgKiBwaWNrZWQgZnJvbSBvbGQgbGliZ3N0ZWdsOgoJICAtIEdzdEVHTEltYWdlTWVtb3J5CgkgIC0gR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgLSBsYXN0X2J1ZmZlciBtYW5hZ2VtZW50IGZyb20gcmVtb3ZlZCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wKCSAgKiBhZGQtb25zOgoJICAtIEdzdEVHTEltYWdlTWVtb3J5IG5vdyBvbGQgYSByZWZlcmVuY2Ugb24gR3N0R0xDb250ZXh0CgkgIHNvIHRoYXQgaXQgY2FuIGRlbGV0ZSB0aGUgRUdMSW1hZ2UgYW5kIGl0cyBnbHRleHR1cmUgc291cmNlCgkgIHdoaWxlIGhhdmluZyB0aGUgYXNzb2NpYXRlZCBnbCBjb250ZXh0IGJlaW5nIGN1cnJlbnQuCgkgIC0gYWRkIEVHTEltYWdlIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSB3aGljaAoJICBtYWlubHkgY2FsbCBFR0xJbWFnZVRhcmdldFRleHR1cmUyRAoJICAtIEdzdEdMQnVmZmVyUG9vbCBub3cgc3VwcG9ydHMgR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgLSBnbGltYWdlc2luayAvIGdsZmlsdGVycyAvIGV0Yy4uIG5vdyBwcm9wb3NlIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIHRvIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MTI6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBkZXBsb3kgZWdsIGhlYWRlcnMgaW4gZ3N0L2dsL2VnbCBpbnN0ZWFkIG9mIGdzdC9nbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjEwOjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiByZW1vdmUgY29tbWVudGVkIGFuZCB1bnN1ZWQgY29kZSBpbiB4MTEgTWFrZWZpbGUuYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yMyAyMTo1NTozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgcGtnY29uZmlnOiBhZGQgZ3N0cmVhbWVyLWdsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MDQ6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IGNyYXNoIGlmIF9idWlsZF9leHRlbnNpb25fc3RyaW5nIGlzIG5vdCBjYWxsZWQKCSAgT24gR0xFUzIgdGhlbiAoZ2wtPkdldEludGVnZXJ2ICYmIGdsLT5HZXRTdHJpbmdpKSBpcyBmYWxzZQoJICByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2M2ZGYyMDRlMmY1OGZmZmRhNWNiZTkwZjM0NTBhZWJhOTU4ODljNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI2IDEwOjE0OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogT25seSBlbmFibGVkIGNvY29hIGJhY2tlbmQgb24gb3N4IChhbmQgbm90IGlvcykKCSAgaW9zIHJlcXVpcmVzIHVzaW5nIEVBR0wKCjIwMTQtMDMtMjYgMDk6MDU6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IFJlbW92ZSBVUkwgY2hlY2sgZm9yIHZhbGlkIHBsYXlwYXRoLgoJICBUaGUgcGxheXBhdGggaXMgYW4gb3B0aW9uYWwgY29tcG9uZW50IG9mIHRoZSBVUkwgLSBkb24ndCByZXF1aXJlIGl0LgoKMjAxNC0wMy0yNSAxNzozOToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IHVubG9jayBvYmplY3QgbG9jayBiZWZvcmUgcG9zdGluZyBlcnJvcgoJICBQb3N0aW5nIGFuIGVycm9yIHdpdGggdGhlIG9iamVjdCBsb2NrIHdpbGwgZGVhZGxvY2suIFJld29yayB0aGUgY29kZQoJICBhIGJpdCB0byBtYWtlIHRoaW5ncyBtb3JlIHNpbXBsZS4KCjIwMTQtMDMtMjUgMTU6MDQ6MTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGNvc21ldGljczogZHJvcCBUQUIgY2hhcmFjdGVycy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IENsYXJpZnkgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2UKCSAgVGhlIG1lc3NhZ2UgaXMgZGVzY3JpYmluZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlbWFpbmluZyBmb3IKCSAgcGFyc2luZywgbm90ICdtaXNzaW5nJy4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IG1wZWd0c19wYWNrZXRpemVyX3NldF9jdXJyZW50X3Bjcl9vZmZzZXQoKQoJICBXaGVuIGFkanVzdGluZyB0aGUgUENSIG9mZnNldCBvZiBncm91cHMsIGFkanVzdCB0aGUgY29ycmVjdCBncm91cAoJICBlbnRyeSBmcm9tIHRoZSBsaXN0IC0gbm90IHRoZSBjdXJyZW50IGdyb3VwIHJlcGVhdGVkbHkuCgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIHdhcm5pbmcgZm9yIDItYml0IGFuZCA4LWJpdCBzdWJwaWN0dXJlcwoJICBCb3RoIDItYml0IGFuZCA4LWJpdCBtb2RlIG5vdyBzZWVtIGZpbmUsIHNvIHJlbW92ZSB0aGUgd2FybmluZwoJICBtZXNzYWdlcyBhYm91dCB0aGVtCgoyMDE0LTAzLTI1IDIxOjQwOjEwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IDgtYml0IHN1YnBpY3R1cmUgcmVuZGVyaW5nLgoJICBGaXggMiBzbWFsbCBmbGF3cyBoYW5kbGluZyA4LWJpdCBzdWJwaWN0dXJlcyB0aGF0IG1ha2VzCgkgIG15IG9uZSB0ZXN0IGZpbGUgd29yay4KCjIwMTMtMDMtMDggMDk6NTc6MjIgKzA4MDAgIExpIFhpYW93ZWkgPHhpYW93ZWkuYS5saUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2xpY2VfaGVhZGVyKCkgcGFyc2luZyBmb3IgTVZDLgoJICBUaGUgaWRyX3BpY19pZCBzeW50YXggZWxlbWVudCBkZXBlbmRzIG9uIElkclBpY0ZsYWcsIHdoaWNoIGlzIGEgY2FsY3VsYXRlZAoJICB2YWx1ZSB0aGF0IGRvZXMgbm90IG9ubHkgZGVwZW5kIG9uIE5BTCB1bml0IHR5cGUgKElEUiksIGJ1dCBwb3NzaWJseSBhbHNvCgkgIG9uIE1WQyBub25faWRyX2ZsYWcgc3ludGF4IGVsZW1lbnQuCgkgIFRoZSBjb21wdXRlZCBpZHJfcGljX2ZsYWcgaXMgYWxyZWFkeSBzdG9yZWQgaW4gR3N0SDI2NE5hbFVuaXQgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzcyCgkgIFNpZ25lZC1vZmYtYnk6IExpIFhpYW93ZWkgPHhpYW93ZWkuYS5saUBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMDk6NDg6MDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBnc3RfaDI2NF9wYXJzZV9uYWx1X2hlYWRlcigpIGhlbHBlci4KCSAgQWRkIGhlbHBlciB0byBwYXJzZSB0aGUgTkFMVSBoZWFkZXIuIE1vdmUgYm91bmRzIGNoZWNraW5nIHRvIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMDk6Mzc6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBnc3RfaDI2NF9wYXJzZV9zcHNfZGF0YSgpIGhlbHBlci4KCSAgU3BsaXQgc2VxX3BhcmFtZXRlcl9zZXRfZGF0YSgpIHBhcnNpbmcgb2ZmIGdzdF9oMjY0X3BhcnNlX3NwcygpIHNvCgkgIHRoYXQgaXQgY291bGQgYmUgcmUtdXNlZCBsYXRlciBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTI2IDE4OjQ2OjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjb21wbGV0ZSBzZXQgb2YgTkFMIHVuaXQgdHlwZXMuCgkgIEFkZCBtaXNzaW5nIE5BTCB1bml0IHR5cGVzLiBUaGV5IGFyZSBtb3N0bHkgcmVsYXRlZCB0byBhbHBoYSBibGVuZGluZywKCSAgc2NhbGFibGUgdmlkZW8gY29kaW5nIGV4dGVuc2lvbnMgKFNWQywgQW5uZXguRyksIGFuZCBtdWx0aXZpZXcgdmlkZW8KCSAgY29kaW5nIGV4dGVuc2lvbnMgKE1WQywgQW5uZXguSCkuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjQgMTk6Mjc6NDQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsZWFuLXVwIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWlfbWVzc2FnZSgpLgoJICBGaXggYnVpbGQgd2hlbiBHU1RfRElTQUJMRV9HU1RfREVCVUcgaXMgbm90IGRlZmluZWQuIFVzZSBhIHN3aXRjaAoJICBzdGF0ZW1lbnQgdG8gZGlzcGF0Y2ggdG8gdGhlIHZhcmlvdXMgU0VJIHBheWxvYWQgaGFuZGxlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjEgMTc6MDc6MTkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2tpcHBpbmcgb2YgdW5zdXBwb3J0ZWQgU0VJIG1lc3NhZ2VzLgoJICBUaGUgcGF5bG9hZFNpemUgZG9lcyBub3QgYWNjb3VudCBmb3IgZW11bGF0aW9uIHByZXZlbnRpb24gYnl0ZXMuIFNvLAoJICBqdXN0IHVzZSBuYWxfcmVhZGVyX3NraXAoKSBmb3Igc2tpcHBpbmcgcGF5bG9hZF9zaXplIGJpdHMuIEl0IHNob3VsZAoJICBiZSBwb3NzaWJsZSB0byBmdXJ0aGVyIG9wdGltaXplIHRoaXMgY29kZSBzaW5jZSB0aGUgTkFMIHJlYWRlciBzaGFsbAoJICBiZSBhbGlnbmVkIHRvIGJ5dGUgYm91bmRhcnkgYWxyZWFkeS4KCSAgS2lsbCB0aGUgbm93IHVudXNlZCBuYWxfcmVhZGVyX3NraXBfdG9fbmV4dF9ieXRlKCkgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MjkKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yMSAxNzowMzozNiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFNFSSBidWZmZXJpbmdfcGVyaW9kKCkgcGFyc2luZy4KCSAgRml4IHBhcnNpbmcgb2YgYnVmZmVyaW5nX3BlcmlvZCgpIFNFSSBtZXNzYWdlcy4gVGhlIG51bWJlciBvZiBiaXRzCgkgIHVzZWQgdG8gZXhwcmVzcyB7bmFsLHZjbH1faW5pdGlhbF9jcGJfcmVtb3ZhbF9kZWxheXssX29mZnNldH0gc3ludGF4CgkgIGVsZW1lbnRzIGlzIG5vdCA1IGJ1dCAxICsgaW5pdGlhbF9jcGJfcmVtb3ZhbF9kZWxheV9sZW5ndGhfbWludXMxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODI4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMTAgMTY6MTk6NDkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmJzcF9tb3JlX2RhdGEoKSBpbXBsZW1lbnRhdGlvbi4KCSAgQWNjb3VudCBmb3IgdHJhaWxpbmcgemVybyBiaXRzIHdoZW4gY2hlY2tpbmcgZm9yIHJic3BfbW9yZV9kYXRhKCkuCgkgIEluIHBhcnRpY3VsYXIsIGZpeCBhbiBoeXBvdGhldGljYWwgc3RyZWFtIHdoZXJlYnkgcmJzcF9tb3JlX2RhdGEoKQoJICBpcyBjYWxsZWQgaW4gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGZvciBQUFMgaGVhZGVyOiBOYWxSZWFkZXIKCSAgcmVhY2hlZCBwb3NpdGlvbiAyMCwgMTIgYml0cyBhcmUgcmVtYWluaW5nIGFuZCB0cmFpbGluZyBkYXRhIGF0CgkgIGN1cnJlbnQgYnl0ZSBwb3NpdGlvbiBpcyBjOCAwMC4KCSAgcmJzcF9tb3JlX2RhdGEoKSB1c2VkIHRvIHJldHVybiBUUlVFIHdoZXJlYXMgaXQgc2hvdWxkIG9idmlvdXNseQoJICByZXR1cm4gRkFMU0UgYmVjYXVzZSB4OCAwMCByZXByZXNlbnRzIGEgdmFsaWQgcmJzcF90cmFpbGluZ19iaXRzKCkKCSAgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODkwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjQgMTc6MzM6MDAgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IGZpeCBvdXQtb2Ytc291cmNlIGJ1aWxkcy4KCSAgQWx3YXlzIHVzZSB0aGUgbG9jYWxseSBnZW5lcmF0ZWQgPGdzdC9nbC9nc3RnbGNvbmZpZy5oPiBmaWxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI1IDAwOjUwOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsL2Rvd25sb2FkOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGJ0NzA5IGNvbG9yIG1hdHJpeAoKMjAxNC0wMy0yNSAwMDozNDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGJ0NzA5IGNvbG9yIG1hdHJpeAoKMjAxNC0wMy0yNCAyMzowOToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbW92ZSBleHBsaWNpdCByZWZlcmVuY2UgdG8gWF9DRkxBR1MKCSAgVGhleSBhcmUgaW4gR0xfQ0ZMQUdTIGlmIHJlcXVpcmVkCgoyMDE0LTAzLTIzIDIzOjQzOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHJlbW92ZSB0aGUgbGVnYWN5IEdMIDEueCB1cGxvYWQgcGF0aAoJICB1cGxvYWRpbmcgcmVxdWlyZXMgc2hhZGVycyBhbmQgZmJvcyBhdmFpbGFibGUgaW4gR0wyLgoKMjAxNC0wMy0yMyAxMTowMjowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmYWxsYmFjayB0byBnbEdldFN0cmluZyBpZiBHTF9OVU1fRVhURU5TSU9OUyBmYWlscwoJICBOZWVkIGl0IG9uIE1hY09TWCAxMC43LjUKCjIwMTQtMDMtMjMgMDE6MDI6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkgIGdsOiBhbmQgdXBkYXRlIHRoZSBNYWtlZmlsZQoKMjAxNC0wMy0yMyAwMDozODoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmxlbmRpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9lZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Ziby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2ZpeGVkZnVuY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMV9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMl9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3NoYWRlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiByZW9yZ2FuaXplIHRoZSBleHRlbnNpb24gaGVhZGVycyBieSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcGkKCjIwMTQtMDMtMjEgMjA6Mjk6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2wvd2luMzI6IHVzZSB0aGUgY29ycmVjdCBpbmNsdWRlIGFuZCBnc3QtaW5kZW50CgoyMDE0LTAzLTIxIDE1OjU2OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIGNoZWNrOiBmaXggbWFrZSBjaGVjawoJICBUaGUgbXBlZyBwYXJzZXIgbm93IGZsYWdzIHRoZSBzdHJlYW0gYXMgbXBlZzIgaWYgdGhlcmUgaXMgYSBwaWN0dXJlCgkgIGV4dGVuc2lvbiBoZWFkZXIsIHNvIHJlbW92ZSBpdCBmb3IgbXBlZzEgZGF0YS4KCjIwMTQtMDMtMTggMDk6MTY6MjUgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbDogdXNlIHdnbENyZWF0ZUNvbnRleHRBdHRyaWJzQVJCIHRvIGNyZWF0ZSBzaGFyZSBjb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0OTQKCjIwMTQtMDMtMTcgMjA6NDM6MzUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvbWl4ZXI6IGZpeCBkb3dubG9hZCBjaGVjayBmb3IgZmFpbHVyZQoKMjAxNC0wMy0xNyAyMDo0MDo1MSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogc2lsZW5jZSBhIGNyaXRpY2FsIGlmIHVwc3RyZWFtIGRvZXMgbm90IHByb3ZpZGUgdXMgd2l0aCBtZXRhIHBhcmFtcwoKMjAxNC0wMy0xOSAxMzo0ODoxMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCSAgU2ltaWxhciB0aGFuIDExOTBhNzliMTk5NTg0Y2ZjNGRkNjJjNDc0NTMxYzMyY2ZiYmE0MjUKCjIwMTQtMDMtMTkgMTM6NDU6MzUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkgIGdsOiBrZWVwIG9ubHkgb25lIG9jY3VyZW5jZSBvZiAnI2luY2x1ZGUgPEVHTC9lZ2wuaD4nCgkgIFRvIHNpbXBseSBtYWludGFpbmFuY2UgaWYgd2UgbmVlZCB0byBwdXQgc3BlY2lmaWMgaW5jbHVkZXMgYXJvdW5kIGl0LgoKMjAxNC0wMy0xNiAwMToyNToxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IGZvcndhcmQgdGV4dCBnYXAgZXZlbnRzIGRvd25zdHJlYW0KCSAgVGhhdCBnYXAgaXMgb25seSBmb3IgdGhlIHN1YnRpdGxlIHN0cmVhbSBhbmQgbm90IGZvciB0aGUgdmlkZW8gc3RyZWFtLgoKMjAxNC0wMy0xOCAwMDoxMTowOSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkb24ndCBkZWZhdWx0IHRvIEdTVF9HTF9IQVZFX1dJTkRPV19ESVNQTUFOWD0xCgkgIE1pc3Rha2UgaW50cm9kdWNlZCBieSAyYTBmMDM5OWFlMjI2MDg5YzJiYTA3YjFiOTA0NzQxYjg1NmYzN2FmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTggMDA6MDg6NTAgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgZ2w6IGZpeCB0aGUgdXNlIG9mIGFsd2F5cy1kZWZpbmVkIG1hY3JvcwoJICBBZnRlciAyYTBmMDM5OWFlMjI2MDg5YzJiYTA3YjFiOTA0NzQxYjg1NmYzN2FmIEdTVF9HTF8qIG1hY3JvcyBhcmUgYWx3YXlzCgkgIGRlZmluZWQgdG8gMCBvciAxLiBEb24ndCB1c2UgI2lmZGVmIC4uLiBvciAjaWYgZGVmaW5lZCgpIG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTggMDA6MDc6NDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogY2hlY2sgZm9yIFggdW5jb25kaXRpb25hbGx5CgkgIFdpdGhvdXQgdGhpcyB0aGUgSEFWRV9YIG1hY3JvIGlzIGVtcHR5LCBub3QgIm5vIiBvciAieWVzIiwgd2hpY2ggaXMgbm90CgkgIHdoYXQgdGhlIGxhdGVyIGNvZGUgaXMgY291bnRpbmcgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTcgMTc6MzU6MjIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogc2V0IGRlZmF1bHQgdmFsdWUgdG8gMCBmb3IgYWxsIGRlZmluaXRpb25zIHRoYXQgZ28gdG8gZ3N0Z2xjb25maWcuaAoJICBUbyBhdm9pZCB3YXJuaW5ncyBsaWtlICJHU1RfR0xfSEFWRV9PUEVOR0wgaXMgbm90IGRlZmluZWQiLgoJICBBcyB3ZSBhcmUgdXNpbmcgI2lmIGluc3RlYWQgb2YgI2lmZGVmCgoyMDE0LTAzLTE3IDE1OjQ5OjM3ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFsbG93IG5vdCBidWlsZGluZyB0aGUgZ2wgbGlicmFyeSBwbHVnaW5zCgoyMDE0LTAzLTE3IDE1OjE2OjEzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBHTW9kdWxlIGxpYnMgZm9yIHdpbjMyCgoyMDE0LTAzLTE3IDE1OjA2OjI1ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IG9ubHkgbGluayBhZ2FpbnN0IGdzdGVnbCBpZiB3ZSBhcmUgdXNpbmcgZWdsCgkgIEFzc3VtaW5nIGlmIHdlIGFyZSBidWlsZGluZyBlZ2wgdGhhdCB0aGUgZWdsIGxpYnJhcnkgaXMgYnVpbHQKCjIwMTQtMDMtMTcgMTU6MDU6MjQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYWRkIHRoZSBvcHRpb24gb2YgZGlzYWJsaW5nIGNvY29hIG9uIE9TIFggdXNpbmcgLS1kaXNhYmxlLWNvY29hCgoyMDE0LTAzLTE3IDE0OjM3OjEzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBwYXRoIG9mIHRoZSBnc3RlZ2wgbGlicmFyeQoJICBUZW1wb3JhcnkgdW50aWwgd2UgbWVyZ2UgdGhlIHR3byBsaWJyYXJpZXMKCjIwMTQtMDMtMTcgMTQ6MjY6MzEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBSZXZlcnQgImdsOiBhZGQgZGVwIG9uIGdzdGVnbCIKCSAgSXQgd2FzIGFscmVhZHkgaW4gX0xJQkFERAoJICBUaGlzIHJldmVydHMgY29tbWl0IGIxMGEzNTMwODA0MzM1ZmMzYjk0OTQ2MDNlZjc4Y2U5NDE3YzNiYzguCgoyMDE0LTAzLTE3IDE0OjExOjE0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBkZXAgb24gZ3N0ZWdsCgkgIFRlbXBvcmFyeSB1bnRpbCB3ZSBtZXJnZSB0aGUgdHdvIGxpYnJhcmllcwoKMjAxNC0wMy0xNyAxNDowNjoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggZGVidWcgc3RhdGVtZW50cyBhbmQgcGxhdGZvcm0KCjIwMTQtMDMtMTcgMTI6MzI6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogc2V0IEhBVkVfRUdMX1JQSSB0byB5ZXMgaWYgSEFWRV9HTCBhbmQgUlBJCgkgIFdoaWNoIGZpeGVzIGJ1aWxkIG9uIFJhc3BiZXJyeSBQaSBzaW5jZSAtZ2wgaGFzIGJlZW4gbW92ZWQgdG8gLWJhZAoKMjAxNC0wMy0xNyAxMjowNDo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2w6IEZpeCBzdGF0aWMgYnVpbGQgd2l0aCBvYmplY3RpdmUtQwoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMy0xNyAxMjowMDowOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBtYWtlOiB3aGl0ZXNwYWNlIGNsZWFudXBzCgoyMDE0LTAzLTE3IDEwOjU2OjM5ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsOiBBZGQgRUdMRGlzcGxheSBkaXNwbGF5IHN1YmNsYXNzCgoyMDE0LTAzLTE3IDEwOjQ0OjMyICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC93aW5kb3c6IGFkZCBhIGR1bW15IHdpbmRvdyBjbGFzcwoJICBFZmZlY3RpdmUgZm9yIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgYSBwbGF0Zm9ybSB0aGF0IGRvZXMgbm90CgkgIHJlcXVpcmUgYSBuYXRpdmUgd2luZG93LiAgV2UgcmVxdWlyZSBhIG1haW5sb29wIHRvIHJ1biB0aGUgR0wKCSAgY29tbWFuZHMgd2hpY2ggaXMgY3VycmVudGx5IG9wZXJhdGVkIGJ5IEdzdEdMV2luZG93LgoKMjAxNC0wMy0xNyAwODoxMDo1MCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZml4IHVuZGVjbGFyZWQgc3ltYm9sIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBHU1RfREVCVUcKCjIwMTQtMDMtMTYgMTg6NTU6MDMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGZpeCBhIGRvdWJsZSB1bnJlZiBvZiB0aGUgcXVlcnkgd2hlbiBidWlsZGluZyB3aXRob3V0IFgKCjIwMTQtMDMtMTYgMTY6MzY6MDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGhhbmRsZSB2aWRlby94LXJhdyhBTlkpIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ2MwoKMjAxNC0wMy0xNiAxNzoyMTozOCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogc2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbWlzc2luZyBwcm90b3R5cGVzCgoyMDE0LTAzLTE0IDE5OjAzOjM2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsL3V0aWxzOiBhZGQgeDExIEdzdENvbnRleHQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjM2MAoKMjAxNC0wMy0xNiAxNTozNDoxMSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBkZWZpbmUgR0xfTlVNX0VYVEVOU0lPTlMgaWYgbm90IGRlZmluZWQKCjIwMTQtMDMtMTYgMTU6MDg6MjMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIE1vdmUgZ3N0LXBsdWdpbnMtZ2wgdG8gYmFkCgoyMDE0LTAzLTE2IDE1OjA2OjM3ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IHNpbGVuY2UgYWxsIHRoZSBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wMy0xNiAxMToyMzoxNiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvQlVHUzoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgbW92ZSBnbCBlbGVtZW50cyB0byBleHQgc3ViZGlyZWN0b3J5CgoyMDE0LTAzLTE1IDE1OjU1OjQ2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbOTA2LzkwNl0gZmlsdGVyOiB3YXJuIGFib3V0IHRyeWluZyB0byBzaGFyZSB3aXRoIG11bHRpcGxlIGNvbnRleHRzIGF0IG9uY2UKCjIwMTQtMDMtMTUgMTQ6MDY6NDAgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs5MDUvOTA2XSBBZGQgR0wgY29udGV4dCBzaGFyaW5nIHN1cHBvcnQgZm9yIG5vbi1nc3RnbCBlbGVtZW50cwoKMjAxNC0wMy0xNSAxMzo1NTozOSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbOTA0LzkwNl0gbWl4ZXI6IGFzayBmb3IgZGlzcGxheSBoYW5kbGVzIG9uIHBhZCBhY3RpdmF0aW9uCgoyMDE0LTAzLTE1IDEzOjUxOjQ0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzkwMy85MDZdIGFwaTogYWRkIEdzdEdMUGxhdGZvcm0gdG8vZnJvbSBzdHJpbmcKCjIwMTQtMDMtMTUgMTE6MjU6NDMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbOTAyLzkwNl0gY29udGV4dDogaW1wbGVtZW50IGdsR2V0U3RyaW5naSBoYW5kbGluZyBmb3IgR0wgY29yZSBjb250ZXh0cy9HTEVTMwoKMjAxNC0wMy0xMiAyMzo0Njo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzkwMS85MDZdIGdseDogdXNlIHRoZSBkaXNwbGF5IGhhbmRsZSBmcm9tIHRoZSBnbG9iYWwgZGlzcGxheQoJICBJbnRlbCBkcml2ZXJzIHJlcXVpcmUgdGhlIGRpc3BsYXkgaGFuZGxlcyBiZSB0aGUgc2FtZSBmb3IgY29udGV4dAoJICBzaGFyaW5nIHRvIG9jY3VyLiAgQWxzbyBzb2x2ZXMgc29tZSBjYXNlcyBvZiB1c2UgYWZ0ZXIgZnJlZSBvZiB0aGUKCSAgZGlzcGxheSB3aGVuIGludGVncmF0aW5nIHdpdGggZ3N0cmVhbWVyLXZhYXBpLgoJICBTZWUgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MzYgZm9yIHRoZSBpbnRlbCBidWcuCgoyMDE0LTAzLTEyIDIzOjQ0OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs5MDAvOTA2XSB0ZXN0cy9nc3RnbGNvbnRleHQ6IHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZyYW1lcyBkaXNwbGF5ZWQKCSAgV2FzIGNhdXNpbmcgdGltZW91dHMgb24gaW50ZWwgaGFyZHdhcmUgZHVlIHRvIHZzeW5jIGhhbmRsaW5nLgoKMjAxNC0wMy0xMiAyMzo0MzoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzg5OS85MDZdIGVnbDogd2FybiBpZiB3ZSByZXNvcnQgdG8gZGlzcGxheSBoYW5kbGVzIGZyb20gdGhlIHdpbmRvdwoKMjAxNC0wMy0wNiAxODoxMToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs4OTgvOTA2XSBnbGltYWdlc2luazogYWRkIGFuIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCSAgQWxsb3dzIGFwcGxpY2F0aW9ucyB0byBwcm92aWRlIHVzIHdpdGggYW4gT3BlbkdMIGNvbnRleHQgd2l0aCB3aGljaAoJICB0byBzaGFyZSB3aXRoLgoKMjAxNC0wMy0wNCAyMzoyODowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgWzg5Ny85MDZdIGFwaTogcGx1Z2luIGEgc21hbGwgbWVtb3J5IGxlYWsKCSAgRm91bmQgYnkgYWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tCgoyMDE0LTAzLTAyIDExOjQ4OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs4OTYvOTA2XSB1dGlsczogdXNlIHRoZSB2dGFibGUgZm9yIGRlbGV0aW5nIHRoZSB0ZXh0dXJlCgoyMDE0LTAyLTI4IDE3OjQyOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg5NS85MDZdIGNvbnRleHQ6IGNhbGwgd2luZG93X2NsYXNzLT5jbG9zZSBsYXN0CgkgIFdlIHNob3VsZCBkZXN0cm95IHJlc291cmNlcyBiZWZvcmUgY2xvc2luZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwNDgKCjIwMTQtMDItMjUgMDk6Mjc6MjYgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs4OTQvOTA2XSBnbDogYWRkIG1pc3NpbmcgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTExCgoyMDE0LTAyLTI0IDIzOjU1OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4OTMvOTA2XSB4MTE6IGNsb3NlIGJvdGggb2YgdGhlIGRpc3BsYXkncyB3ZSB1c2UKCSAgKHRoZSBjb21tZW50IGRvZXNuJ3Qgc2VlbSB0byBhcHBseSBhbnltb3JlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDQ4CgoyMDE0LTAyLTIzIDExOjQ0OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg5Mi85MDZdIHNpbGVuY2UgYSBjb21waWxlciB3YXJuaW5nIG9uIG9sZGVyIGdjYyB2ZXJzaW9ucyAoNC42KQoKMjAxNC0wMi0xMSAwODo1NzoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTEvOTA2XSBjb250ZXh0OiBhZGQgc3VwcG9ydCBmb3Igd3JhcHBpbmcgZXh0ZXJuYWwgY29udGV4dHMKCjIwMTMtMTEtMjcgMTc6NTI6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSAgWzg5MC85MDZdIHgxMTogYWRkIGRpc3BsYXkgc3ViY2xhc3MKCSAgR3N0R0xEaXNwbGF5WDExIGhvbGRzIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24gYW5kIG5hbWUuICBFYWNoIHRocmVhZCByZXF1aXJlcwoJICBpdCdzIG93biBYMTEgRGlzcGxheSBjb25uZWN0aW9uIChpbml0aWFsaXNlZCBmcm9tIG5hbWUpIGR1ZSB0byB0aGUgZmFjdCB0aGF0CgkgIHdlIGRvIG5vdCB3YW50IHRvIGNhbGwgWEluaXRUaHJlYWRzKCkuICBEb2luZyBzbyB3b3VsZCByZXN1bHQgaW4gc2VnZmF1bHRzCgkgIHdoZW4gaW50ZWdyYXRpbmcgd2l0aCBHVUkgdG9vbGtpdHMgR3RrLCBRdCwgZXRjLgoJICBUaGUgRGlzcGxheSBjb25uZWN0aW9uIGlzIGZvciBPcGVuR0wgcGxhdGZvcm1zIHdoZXJlIGEgY29uc3RhbnQgZGlzcGxheSBpcwoJICByZXF1aXJlZCBpbiBvcmRlciB0byBzaGFyZSBjb250ZXh0cyAoZWdsKS4gIEluIHRoZSBjYXNlIG9mIGEgd3JhcHBlZCBjb250ZXh0CgkgIChhZGRlZCBsYXRlciksIHdlIGRvIG5vdCBoYXZlIEdzdEdMV2luZG93IHRvIHJldHJlaXZlIHRoZSBkaXNwbGF5IGZyb20gc28gYQoJICAnbWFzdGVyJyBjb25uZWN0aW9uIGlzIHVzZWQgaW5zdGVhZC4KCjIwMTQtMDEtMTUgMTA6MjE6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs4ODkvOTA2XSBkaXNwbGF5OiBhZGQgZGlzcGxheSB0eXBlIGVudW0KCjIwMTQtMDItMjMgMTE6Mjc6MjMgKzExMDAgIEFkcmllbiBTQ0ggPGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs4ODgvOTA2XSBjb3JyZWN0IGVycm9yIGhhbmRsaW5nIGluIGdzdGdsZG93bmxvYWQuYwoKMjAxNC0wMi0yMyAxMDozNjo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODg3LzkwNl0gbWl4ZXI6IGZpeHVwIGEgbWVtb3J5IGxlYWsgb2YgdGhlIGNvbnRleHQgaW4gdGhlIEdMVGV4dHVyZVVwbG9hZE1ldGEgcGF0aAoJICBnc3Rfc3RydWN0dXJlX2dldCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgYW5kIHdlIGFza2VkCgkgIGZvciBhbm90aGVyIHdpdGggZ3N0X29iamVjdF9yZXBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIzIDAxOjMyOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4ODYvOTA2XSBmaXh1cCBhIG1lbW9yeSBsZWFrIG9mIHRoZSBjb250ZXh0IGluIHRoZSBHTFRleHR1cmVVcGxvYWRNZXRhIHBhdGgKCSAgZ3N0X3N0cnVjdHVyZV9nZXQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGFuZCB3ZSBhc2tlZAoJICBmb3IgYW5vdGhlciB3aXRoIGdzdF9vYmplY3RfcmVwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMSAxNToyNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg4NS85MDZdIGZpbHRlcjogZnJlZSBvdXIgZGF0YQoJICBwbHVncyBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIxIDEzOjI4OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODg0LzkwNl0gZmlsdGVyOiByZXR1cm4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGluIHRyYW5zZm9ybV9jYXBzCgkgIFdlIGNhbiB0cmFuc2Zvcm0gZnJvbSBhbnkgaW5wdXQgaW4gb3VyIGNhcHMgdG8gYW55IG91dHB1dC4KCSAgV2l0aCB0aGUgZm9sbG93aW5nIHBpcGVsaW5lIHNuaXBwZXQ6CgkgIC4uLiAhIHZhYXBpZGVjb2RlICEgZ2xjb2xvcnNjYWxlICEgeHZpbWFnZXNpbmsKCSAgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIHdhcyBiZWluZyB1c2VkIG9uIGJvdGggc3JjIGFuZCBzaW5rCgkgIHBhZHMgY2F1c2luZyBsaW5raW5nIHRvIGZhaWwuICBUaGlzIGFsbG93cyB0aGUgdXNhZ2Ugb2YgdGhlIG1ldGEKCSAgb24gZWl0aGVyIHBhZCB3aXRob3V0IGFmZmVjdGluZyB3aGV0aGVyIHRoZSBtZXRhIGlzIGNob3NlbiBvbiB0aGUKCSAgb3RoZXIgcGFkLgoKMjAxNC0wMi0xMSAwODoyMzozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg4My85MDZdIGFwaTogcHJvdmlkZSBmcm9tX3N0cmluZygpCgkgIEFsc28gcy9nc3RfZ2xfYXBpX3N0cmluZy9nc3RfZ2xfYXBpX3RvX3N0cmluZy9nCgoyMDE0LTAyLTExIDA3OjI0OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4ODIvOTA2XSBwb3J0IGdsY29sb3JzY2FsZSB0byBHTEVTMgoKMjAxNC0wMi0wNiAyMTo0Mzo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg4MS85MDZdIHVwbG9hZDogcmVzdG9yZSBkZWZhdWx0IHZhbHVlcyBmb3IgdW5wYWNrX2xlbmd0aAoJICBmaXhlcyBlbGVtZW50cyB0aGF0IHVwbG9hZCBhIHN1cHBsZW1lbnRhcnkgdGV4dHVyZSAoZ2xidW1iZXIsCgkgIGdsZGlmZmVyZW5jZW1hdHRlLCBldGMpCgoyMDE0LTAyLTA1IDAwOjQ0OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzg4MC85MDZdIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHN0b3JlZF9idWZmZXIgZmllbGQKCSAgSXQgaGFzIHRoZSBwb3RlbnRpYWwgdG8gY2F1c2UgZGVhZGxvY2tzLgoKMjAxNC0wMi0yMCAyMjo0MDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzg3OS85MDZdIGJ1aWxkOiBkb24ndCBhZGQgWF9DRkxBR1MgdG8gQ0ZMQUdTCgkgIEl0IHNob3VsZCBhbHJlYWR5IGJlIGluY2x1ZGVkIGlmIG5lZWRlZCBpbnNpZGUgR0xfQ0ZMQUdTCgoyMDE0LTAyLTA1IDAxOjUzOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBbODc4LzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgZ2xtZW0gYXBpIGNoYW5nZQoKMjAxNC0wMi0wNCAxMzo0OTozNSArMDEwMCAgQ2hyaXMgUGF1bHNvbi1FbGxpcyA8Y2hyaXNAZWRlc2l4LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4NzcvOTA2XSB4MTE6IFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50cHRyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MzcKCjIwMTQtMDItMDEgMDM6MTQ6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODc2LzkwNl0gZ2xtZW06IHVzZSBHc3RWaWRlb0luZm8gZm9yIGZvcm1hdCBjb25maWd1cmF0aW9uCgkgIEFsbG93cyB1c2Ugb2Ygc3RyaWRlcwoKMjAxNC0wMS0zMSAwNjo1Mzo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3NS85MDZdIHVwbG9hZDogc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHN0cmlkZXMKCSAgVXNpbmcgR0xfVU5QQUNLX0FMSUdOTUVOVCBmb3IgR0xFUzIgYW5kIEdMX1VOUEFDS19ST1dfTEVOR1RIIGZvciBldmVyeXRoaW5nIGVsc2UKCjIwMTQtMDEtMzAgMDc6NDk6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbODc0LzkwNl0gZmlsdGVyOiBpbXBsZW1lbnQgZHJhd190ZXh0dXJlIGZvciBHTEVTMgoJICAodGFrZW4gZnJvbSBnbGVmZmVjdHMpCgoyMDE0LTAxLTI5IDE5OjE0OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzg3My85MDZdIHVwbG9hZDogdXNlIEdzdFZpZGVvSW5mbyBmb3IgY2hvb3NpbmcgdGhlIGZvcm1hdAoKMjAxNC0wMS0yOSAwNjo0Mjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3Mi85MDZdIHVwbG9hZDogY29uc29saWRhdGUgZGF0YSBfZmlsbAoKMjAxNC0wMS0yOSAwMjo1MToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3MS85MDZdIHVwbG9hZDogZml4IHRleHR1cmUgc2NhbGluZyBmb3IgWVVZMi9VWVZZIHdpdGggR0xFUzIKCSAgQW5vdGhlciBhcnRpZmFjdCBmcm9tIHRoZSB0cmFuc2l0aW9uIHRvIEdMX1RFWFRVUkVfMkQKCjIwMTQtMDEtMjkgMDE6MDI6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzAvOTA2XSB1cGxvYWQ6IHJlbW92ZSBzdXBlcmZsb3VzIGdfbXV0ZXhfaW5pdAoKMjAxNC0wMS0zMCAwODoyODo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBbODY5LzkwNl0gdGVzdHM6IGFkZCBzb21lIHVwbG9hZCB0ZXN0cwoKMjAxNC0wMS0yOCAwNzo1MDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg2OC85MDZdIHVwbG9hZDogZml4IGNvbXBpbGF0aW9uIGZvciBHTEVTMgoKMjAxNC0wMS0xNyAwODo0NjowMiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzg2Ny85MDZdIGdsdXBsb2FkOiBBZGQgR1JBWTgvR1JBWTE2TEUvQkUgdXBsb2FkIHN1cHBvcnQgdG8gZ2xpbWFnZXNpbmsKCSAgdGhlIDE2Yml0IGRhdGEgaXMgdXBsb2FkZWQgYXMgTFVNSU5BTkNFX0FMUEhBLCB0aGVuIGV4cGFuZGVkLCBjb21wb3NlZAoJICBpbiBzaGFkZXIuIHZhbHVlIHdlaWdodCBpcyBhIGxpdHRsZSBjb21wbGljYXRlLCBoaWdoIGJ5dGUgd2VpZ2h0IGlzCgkgIDI1NSoyNTYvNjU1MzUgKGRlbm9ybWFsaXplIHRvIFswfjI1NV0gLHNoaWZ0IHRvIGhpZ2ggYnl0ZSx0aGVuIG5vcm1hbGl6ZQoJICB0byBbMH4xXSksIGxvdyBieXRlIHdlaWdodCBpcyAyNTUvNjU1MzUoc2ltaWxhcikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY3MAoKMjAxMy0xMS0yMyAyMjo1NzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs4NjYvOTA2XSB1cGxvYWQ6IHVwZGF0ZSBzb21lIGRvY3MKCjIwMTMtMTEtMjMgMjI6MTk6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs4NjUvOTA2XSBnbG1lbTogcmVwb3J0IHN1Y2Nlc3NmdWwgY29weSB0byB0aGUgY2FsbGVyCgoyMDEzLTEyLTI5IDE3OjI5OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs4NjQvOTA2XSBleGFtcGxlczogdXBkYXRlIHRvIGd0azMKCjIwMTMtMTEtMjYgMDk6MzI6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbODYzLzkwNl0gd2luZG93OiBob2xkIGEgcmVmIHRvIG91ciBHc3RHTERpc3BsYXkKCjIwMTMtMTEtMjUgMjA6MzQ6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg2Mi85MDZdIHdpbmRvdzogcmVtb3ZlIHNldF9uZWVkX2xvY2sKCSAgTm8tb25lIGlzIHVzaW5nIGl0LiAgVGhlIG9ubHkgY29kZSB0aGF0IGRpZCB3YXMgdGhlIHgxMSBvbmUgd2hpY2gKCSAgZG9lc24ndCBuZWVkIGl0IGFueW1vcmUuCgoyMDE0LTAxLTEwIDAyOjUwOjE0ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgWzg2MS85MDZdIGdscHJvdG90eXBlczogQWRkIG1pc3NpbmcgZ2xTY2FsZWYgZGVjbGFyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxOTAzCgoyMDEzLTExLTIzIDIyOjU4OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs4NjAvOTA2XSBkb2NzOiBtaXNjIHVwZGF0ZXMKCjIwMTMtMTEtMjMgMjI6NTc6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbODU5LzkwNl0gd2luZG93OiBwcm92aWRlIHNvbWUgZG9jdW1ldGF0aW9uCgoyMDEzLTExLTIzIDIyOjU2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzg1OC85MDZdIGdsbWVtOiB1cGRhdGUgdGhlIGRvY3MKCjIwMTMtMTEtMjMgMjI6NTQ6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs4NTcvOTA2XSBkaXNwbGF5OiBkb2N1bWVudCB0aGUgbmV3IEdzdENvbnRleHQgYXBpCgoyMDEzLTExLTIzIDIyOjUzOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBbODU2LzkwNl0gY29udGV4dDogZG9jdW1lbnQgaXQKCjIwMTMtMTEtMTQgMTU6Mjc6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzg1NS85MDZdIHVwbG9hZDogYWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxMy0xMS0xMyAwMDo0MTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg1NC85MDZdIHVzZSB0aGUgYWxsb2NhdGlvbiBxdWVyeSB0byBwcm9wb2dhdGUgR3N0R0xDb250ZXh0CgkgIHVzZXMgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBhcGkgdHlwZSBmb3IgdGhlIHF1ZXJ5CgoyMDEzLTEwLTI0IDIyOjMwOjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4NTMvOTA2XSBkaXNwbGF5OiByZW1vdmUgX3tzZXQsZ2V0fV9jb250ZXh0CgkgIEEgR3N0R0xEaXNwbGF5IGRvZXNuJ3QgbmVlZCBhIEdzdEdMQ29udGV4dCBhbmQgaXRzIHVzZQoJICB3YXMgY2F1c2UgYSByZWZlcmVuY2UgY3ljbGUKCjIwMTMtMTEtMTMgMTA6NDM6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4NTIvOTA2XSB1c2UgR3N0Q29udGV4dCBmb3IgR3N0R0xEaXNwbGF5IHByb3BvZ2F0aW9uCgkgIGltcGxlbWVudHMgdGhlIGhvb2tzIHJlcXVpcmVkIGluIEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0IGFuZCB0aGUgY29udGV4dCBxdWVyeQoKMjAxMy0xMi0yMCAxNToxODozOCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs4NTEvOTA2XSBkZWludGVybGFjZTogZml4IHRleHR1cmUgY29vcmRpbmF0ZXMgY29tcHV0YXRpb24KCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgZmZmZGNiZGQzZGRlNDM3ZTEwY2Y2ZTFiNWU0MGM2OTU4ZDQxZTZjMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwODI2CgoyMDEzLTExLTE1IDE4OjI4OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODUwLzkwNl0gZ2x1cGxvYWQ6IFJlbW92ZSB0ZXh0dXJlIHNjYWxpbmcgYXJ0aWZhY3RzIGZyb20gdGhlIFRFWFRVUkVfUkVDVEFOR0xFIC0+IFRFWFRVUkVfMkQgdHJhbnNpdGlvbgoJICBmaXhlcyB0aGUgZnVua3kgY29sb3VycyBpbiBzb21lIG9mIHRoZSB5dXYgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMTU1CgoyMDEzLTEwLTI2IDAyOjIwOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSAgWzg0OS85MDZdIHRlc3RzcmM6IHVzZSBfY29udGV4dF9nZXRfZ2xfYXBpCgoyMDEzLTEwLTI0IDIyOjI4OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODQ4LzkwNl0gZmlsdGVyOiBhIGxpdHRsZSBjb2RlIGNsZWFudXAKCjIwMTMtMTEtMTMgMTU6NTc6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg0Ny85MDZdIG1peGVyOiB1bm1hcCB0aGUgdmlkZW8gZnJhbWVzIHdlIG1hcAoJICBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDEzLTExLTE1IDIwOjUwOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4NDYvOTA2XSBtaXhlcjogaGFuZGxlIDAvMSBmcmFtZXJhdGUgYmV0dGVyIGluIGNhcHMKCjIwMTMtMTEtMTUgMjA6NDk6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4NDUvOTA2XSBmaWx0ZXI6IGhhbmRsZSBjYXBzZmVhdHVyZXMgcHJvcGVybHkKCjIwMTMtMTEtMTQgMTU6MDg6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgWzg0NC85MDZdIG1peGVyOiBnaXZlIGFjY2VzcyB0byB0aGUgcGFkcyBhdCByZW5kZXIgdGltZQoJICBhbGxvd3MgdXMgdG8gbW92ZSB0aGUgdmlkZW8gZnJhbWUgbWFwcGluZyBzb21ld2hlcmUgZWxzZQoKMjAxMy0xMS0xMyAyMzoyNDowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs4NDMvOTA2XSBtZW1vcnk6IHByb3ZpZGUgY29weV9pbnRvX3RleHR1cmUKCjIwMTMtMTItMjUgMjM6MzU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs4NDIvOTA2XSBGaXggZ3N0Z2xjb25maWcuaC1yZWxhdGVkICdtYWtlIGRpc3RjaGVjaycgaXNzdWVzCgkgIEZpeCBzcmNkaXIgdnMuIGJ1aWxkZGlyIGlzc3VlIGluIGRvY3MgYW5kICdmaWxlcyBsZWZ0IGFmdGVyCgkgIGRpc2NsZWFuJyBpc3N1ZSBmb3IgZ3N0Z2xjb25maWcuaAoKMjAxMy0xMS0zMCAwOTo1MTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODQxLzkwNl0gb3N4OiBhbGxvdyB4MTEvZ2x4IGJhY2tlbmQgYW5kIHNldCBkZWZhdWx0IHJ1bnRpbWUgdG8gY29jb2EvbnNnbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzU3CgoyMDEzLTEyLTE0IDE5OjEyOjA5ICswMTAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBbODQwLzkwNl0gZ2x2aWRlb21peGVyOiBVc2UgY29ycmVjdCBjb29yZGluYXRlcyBhZnRlciB0aGUgc3dpdGNoIGZyb20gR0xfVEVYVFVSRV9SRUNUQU5HTEUgdG8gR0xfVEVYVFVSRV8yRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMTc3CgoyMDEzLTExLTMwIDE2OjM4OjEzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbODM5LzkwNl0gY29jb2E6IGFsbG93IHRvIGNhbGwgc2V0X3dpbmRvd19oYW5kbGUgYmVmb3JlIHRvIGNyZWF0ZSBnbGNvbnRleHQKCSAgU28gdGhhdCBpdCBhY3R1YWxseSBtYWtlIGNvY29hIHZpZGVvb3ZlcmxheSBleGFtcGxlIHdvcmsgYWdhaW4uCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzU4CgoyMDEzLTExLTE1IDE4OjI4OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbODM4LzkwNl0gZ2w6IFVzZSBHTF9URVhUVVJFXzJEIGluc3RlYWQgb2YgR0xfVEVYVFVSRV9SRUNUQU5HTEUKCSAgV2UgY3JlYXRlIG91ciB0ZXh0dXJlcyAoaW4gRGVza3RvcCBHTCkgd2l0aCBHTF9URVhUVVJFX1JFQ1RBTkdMRSwKCSAgdmFhcGkgYXR0ZW1wdHMgdG8gYmluZCBvdXIgdGV4dHVyZSB0byBHTF9URVhUVVJFXzJEIHdoaWNoIHRocm93cyBhCgkgIEdMX0lOVkFMSURfT1BFUkFUSU9OIGVycm9yIGFuZCBhcyB0aHVzLCBubyB2aWRlby4KCSAgQWxzbywgYnkgbW92aW5nIGV4Y2x1c2l2ZWx5IHRvIEdMX1RFWFRVUkVfMkQgYW5kIHRoZSBucG90IGV4dGVuc2lvbgoJICB3ZSBhbHNvIHJlbW92ZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgRGVza3RvcCBHTCBhbmQgR0xFUzIgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjI4NwoKMjAxMy0xMS0wOCAxMjoxMjoyNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbODM3LzkwNl0gY29jb2E6IHJlc2l6ZSBPcGVuR0wgdmlldyBzaXplIGVhY2ggdGltZSB0aGUgd2luZG93IGlzIHJlc2l6ZWQKCSAgRml4ZXMgZ2xpdGNoZXMgdGhhdCBjYW4gYXBwZWFyIHdoZW4gdGhlIE9wZW5HTCB2aWV3IGhhcyBub3QgYmVlbiByZXNpemVkCgkgIGFmdGVyIGEgd2luZG93IHJlc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY3MgoKMjAxMy0xMS0wMSAxNjozNTo0NiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgWzgzNi85MDZdIGNvY29hOiBvbmx5IHVzZSBHU1JlZ2lzdGVyQ3VycmVudFRocmVhZCB3aXRoIEdOVVN0ZXAgZW52aXJvbm1lbnQKCjIwMTMtMTEtMDYgMjI6MTY6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MzUvOTA2XSBnc3RnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBmaWVsZHMKCjIwMTMtMTEtMDYgMjI6MTM6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MzQvOTA2XSBnc3RnbHdpbmRvdzogY2xlYXIgbXV0ZXgKCjIwMTMtMTEtMDYgMjI6MTI6MDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODMzLzkwNl0gZ3N0Z2xjb250ZXh0OiBpbml0aWFsaXplIHdpbmRvdyB0byBOVUxMCgoyMDEzLTExLTA2IDIxOjU5OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MzIvOTA2XSB4MTE6IGlnbm9yZSBFeHBvc2UgZXZlbnRzIG5vdCBpbml0aWF0ZWQgYnkgZ3N0X2dsX3dpbmRvd19kcmF3CgoyMDEzLTExLTA2IDIxOjU1OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MzEvOTA2XSBnbGltYWdlc2luazogYXZvaWQgdG8gb3ZlcmxvYWQgdGhlIGRyYXdlciBpZiBhbHJlYWR5IGRyYXdpbmcKCSAgRXNwZWNpYWxseSBpZiB0aGUgYXBwbGljYXRpb24gY2FsbHMgZ3N0X3ZpZGVvX292ZXJsYXlfZXhwb3NlIGEgbG90CgoyMDEzLTEwLTIzIDIxOjQ2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzgzMC85MDZdIGdsdmlkZW9taXhlcjogQWRkIGEgbmV3IHNpbXBsZSBnbHZpZGVvbWl4ZXIgZWxlbWVudAoJICB0aGF0IHNpbXBseSB1c2VzIGdsQmxlbmRGdW5jIHRvIGJsZW5kIGVhY2ggaW1wdXQgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDcxNAoKMjAxMy0xMC0yMyAyMDozODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODI5LzkwNl0gbWl4ZXI6IGVycm9yIG91dCBwcm9wZXJseSBvbiBmbHVzaGluZwoKMjAxMy0xMC0yMiAyMTo0ODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MjgvOTA2XSBjb250ZXh0OiByZWZjb3VudCB0aGUgZGlzcGxheQoKMjAxMy0xMC0yNiAwMjoyMDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODI3LzkwNl0gbWl4ZXI6IGRvbid0IHVucmVmIHRoZSBxdWVyeSBpbiB0aGUgZGVmYXVsdCBjYXNlCgkgIFRoZSBlbGVtZW50L2FwcGxpY2F0aW9uIHBlcmZvcm1pbmcgdGhlIHF1ZXJ5IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUKCSAgZGUvYWxsb2NhdGlvbgoKMjAxMy0xMC0yNCAyMToyNDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzgyNi85MDZdIHVwbG9hZDogZnJlZSBvdXIgbXV0ZXgKCjIwMTMtMTAtMTEgMTY6MDA6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgyNS85MDZdIGdsd2luZG93X3gxMTogY2hlY2sgaWYgdGhlIGxvb3AgZXhpc3RzCgkgIEl0IGhhcHBlbnMgd2hlbiBjYWxsaW5nIHNldF93aW5kb3dfaGFuZGxlIGJlZm9yZSB0byByZWFjaCBHU1RfU1RBVEVfUkVBRFkuCgkgIEluIHRoaXMgY2FzZSB0aGUgcGFyZW50IGlzIHNldCB3aGVuIGNyZWF0aW5nIHRoZSBpbnRlcm5hbCB3aW5kb3cuCgoyMDEzLTEwLTAxIDIzOjQ3OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs4MjQvOTA2XSBhbmRyb2lkOiBCdWlsZCBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Nzg2CgoyMDEzLTEwLTAxIDExOjQ2OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs4MjMvOTA2XSB3YXlsYW5kX2VnbDogbWFrZSB0aGUgd2F5bGFuZCBiYWNrZW5kIGFjdHVhbGx5IHdvcmsgb24gUmFzcGJlcnJ5IFBpCgkgIEZpeCByZXNpemluZyBhbmQgY2FuIG5vdyBtb3ZlIHRoZSB3aW5kb3cKCjIwMTMtMTAtMDEgMTE6NDQ6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4MjIvOTA2XSBnc3RnbGNvbnRleHRfZWdsOiBhdm9pZCBub24gd29ya2luZyBFR0wgY29uZnMgb24gcnBpL3dheWxhbmQKCjIwMTMtMTAtMDEgMTE6NDI6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgyMS85MDZdIHRlc3RzOiBmaXggdGVzdF9zaGFyZSBvbiBHTEVTdjIKCjIwMTMtMTAtMDEgMTE6Mjc6MDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MjAvOTA2XSBnc3RnbHdpbmRvdzogaWYgYXZhaWxhYmxlIHVzZSB3YXlsYW5kIGluc3RlYWQgZGlzcG1hbnggb24gcnBpCgoyMDEzLTA5LTI3IDAxOjE1OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbODE5LzkwNl0gbWFrZSBnZW5fdGV4dHVyZS9kZWxfdGV4dHVyZSB0aHJlYWRzYWZlCgkgIFVzZSBzdGFjayBhbGxvY2F0ZWQgaW5zdGVhZCBvZiBzdGF0aWMgdmFyaWFibGVzCgkgIENvbmZsaWN0czoKCSAgZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYwoKMjAxMy0wOS0yNSAxMjoyNjo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgxOC85MDZdIHdpbmRvdzogYWRkIHNlbmRfbWVzc2FnZV9hc3luYyB2bWV0aG9kCgkgIC0gcHJvdmlkZSBhIGRlZmF1bHQgc3luY2hyb25vdXMgc2VuZF9tZXNzYWdlCgkgIC0gbWFrZSBjb250ZXh0IGNyZWF0aW9uIHRocmVhZHNhZmUgYWdhaW4KCjIwMTMtMDktMjQgMTY6Mzc6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzgxNy85MDZdIG1ha2UgdGhlIHN0YXRlIGNoYW5nZSB0ZXN0IHBhc3MKCjIwMTMtMDktMjQgMTQ6MDc6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgxNi85MDZdIHgxMTogZml4IG1ha2UgY2hlY2sgc2VnZmF1bHQKCjIwMTMtMDktMjAgMTE6NTU6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgxNS85MDZdIGZpeCBzb21lIHJlZmNvdW50IGVycm9ycwoKMjAxMy0wOS0yMCAxMTo1NDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODE0LzkwNl0gbWl4ZXI6IHRpbWVzdGFtcCBidWZmZXJzCgoyMDEzLTA5LTE2IDE5OjA3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODEzLzkwNl0gdW5yZWYgdGhlIHBvb2wgb24gc2h1dGRvd24KCjIwMTMtMDktMTUgMTQ6MjM6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4MTIvOTA2XSBtb3ZlIHRoZSBHTCB2dGFibGUgZnJvbSBHc3RHTERpc3BsYXkgdG8gR3N0R0xDb250ZXh0CgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYwoKMjAxMy0wOC0yMiAxNTo1NTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4MTEvOTA2XSB0ZXN0czogdXBkYXRlIGZvciBHc3RHTENvbnRleHQgYWRkaXRpb24KCjIwMTMtMDktMjYgMTQ6NDY6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzgxMC85MDZdIGdzdGdsdXRpbHM6IHVzZSBnbF92dGFibGUgZm9yIGdsRGVsZXRlVGV4dHVyZXMKCjIwMTMtMDktMjYgMTQ6NDM6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgwOS85MDZdIHRlc3RzOiBwb3J0IHRlc3Rfc2hhcmUgdG8gR0xFUzIKCSAgQWxzbyBhZGQgYSBkZWluaXQgZnVuY3Rpb24gdG8gcmVsZWFzZSBmYm8sIHRleCBhbmQgc2hhZGVyLgoKMjAxMy0wOS0wMyAyMjowMzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODA4LzkwNl0geDExOiByZW1vdmUgZGVhZCBjb2RlCgoyMDEzLTA5LTAzIDIxOjQ5OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs4MDcvOTA2XSBjb250ZXh0OiBNb3ZlIHNvbWUgd2luZG93IGVycm9yIGVudW1zIHRvIGNvbnRleHQKCjIwMTMtMDgtMzAgMDA6Mjg6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4MDYvOTA2XSBlZ2w6IGRvZXNuJ3QgcmVxdWlyZSB0aGUgRUdMQ29uZmlnIGZyb20gdGhlIG90aGVyIGNvbnRleHQKCSAgbGliRUdMIHNob3VsZCBnaXZlIHVzIHRoZSBzYW1lIG9yIHNpbWlsYXIgRUdMQ29uZmlnIGZyb20gdGhlCgkgIEVHTERpc3BsYXkgd2UgaGF2ZS4KCjIwMTMtMDgtMzAgMDA6MjI6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbODA1LzkwNl0gZ2xmaWx0ZXI6IHJlbmFtZSBleHRlcm5hbC1vcGVuZ2wtY29udGV4dCBwcm9wIHRvIG90aGVyLWNvbnRleHQKCSAgSXQgbm93IHJlcXVpcmVzIGEgR3N0R0xDb250ZXh0IGluc3RlYWQgb2YgYSBoYW5kbGUKCjIwMTMtMDgtMzAgMTU6NTM6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4MDQvOTA2XSBycGk6IGNhbGwgYmNtX2hvc3RfaW5pdCBpbiBwbHVnaW5faW5pdAoKMjAxMy0wOC0zMCAxNDoxMjozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODAzLzkwNl0gcmFzcGJlcnJ5cGk6IGFkZCBzdXBwb3J0IGZvciBkaXNwbWFueAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MgoKMjAxMy0wOC0yOSAyMDoxMjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODAyLzkwNl0gYWRkIEdzdEdMQ29udGV4dCB0ZXN0IHRoYXQgdGVzdHMgY29udGV4dCBzaGFyaW5nCgoyMDEzLTA4LTI5IDIwOjEwOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzgwMS85MDZdIGNvbnRleHQ6IFJlaW1wbGVtZW50IEdMIGNvbnRleHQgc2hhcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0ODA2CgoyMDEzLTA4LTI4IDEwOjMyOjI5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODAwLzkwNl0gZ2xpbWFnZXNpbms6IGF2b2lkIHRvIGRyYXcgdGV4dHVyZSB3aGlsZSByZWxlYXNpbmcgc3RvcmVkIGJ1ZmZlcgoJICBTcG90ZWQgYnkgZ2VuZXJpYy9jdWJlIGV4YW1wbGUgd2l0aCBDbGllbnREcmF3Q2FsbGJhY2sgc2V0IHRvCgkgIHJldHVybmluZyBUUlVFIChpdCBtZWFucyBkcmF3aW5nIGFzIGZhc3QgYXMgcG9zc2libGUpCgoyMDEzLTA4LTI4IDEwOjA3OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc5OS85MDZdIGdsaW1hZ2VzaW5rOiBmaXggYXN5bmNocm9uZSBkcmF3aW5nCgkgIFNpbXBsaWZ5IGdzdF9nbGltYWdlX3NpbmtfcmVkaXNwbGF5IHdoaWNoIGlzIHRoZXJlCgkgIG9ubHkgdG8gYXNrIHRoZSB3aW5kb3cgZm9yIGEgcmVkcmF3LgoJICBQdXQgYSBsb2NrIHRvIG1ha2Ugc3VyZSB3ZSBhcmUgbm90IHJlYWxlYXNpbmcKCSAgdGhlIHN0b3JlZCBidWZmZXIgd2hpbGUgc3RpbGwgZHJhd2luZyB0aGUgY29ycmVzcG9uZGluZwoJICB0ZXh0dXJlCgoyMDEzLTA4LTIyIDAwOjI5OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkgIFs3OTgvOTA2XSBidWlsZDogaW5zdGFsbCBuZWVkZWQgaGVhZGVyCgoyMDEzLTA4LTIxIDE1OjQwOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3OTcvOTA2XSB4MTE6IGZpeCBidWlsZCBmb3IgY2xhbmcKCjIwMTMtMDgtMjEgMTQ6MDU6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBbNzk2LzkwNl0gbW92ZSBlZ2wgaW50byBpdHMgb3duIGRpcmVjdG9yeQoKMjAxMy0wOC0yMSAxMzo1Nzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBbNzk1LzkwNl0gYW5kcm9pZDogcG9ydCB0byBHc3RHTENvbnRleHQKCSAgbm90IHRlc3RlZAoKMjAxMy0wOC0xNSAxNzowOTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs3OTQvOTA2XSBjb250ZXh0OiBhZGQgc3ViY2xhc3NlcyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMgKGVnbCwgZ2x4LCB3Z2wsIGV0YykKCSAgLSBtb3N0IGNvZGUgdGFrZW4gZnJvbSB0aGUgV2luZG93IHN1YmNsYXNzZXMKCSAgLSB0ZXN0ZWQgY29tYmluYXRpb25zOiB4RUdMLCBHTFgsIFdheWxhbmQrRUdMLCBDb2NvYSAodW5kZXIgR05VU3RlcCksIFdHTCAoV2luZSkKCjIwMTMtMDgtMTQgMTA6NDQ6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc5My85MDZdIGFkZCBhIEdzdEdMQ29udGV4dCBvYmplY3QgdGhhdCB3aWxsIGJlIHRoZSBiYXNpcyBvZiBPcGVuR0wgY29udGV4dHMKCSAgQXQgdGhlIG1vbWVudCBpdCBqdXN0IHNpdHMgaW4gYmV0d2VlbiBHc3RHTERpc3BsYXkgYW5kIEdzdEdMV2luZG93CgkgIHBlcmZvcm1pbmcgc29tZSBvZiB0aGUgc3R1ZmYgdGhhdCBHc3RHTFdpbmRvdyB1c2VkIHRvIGRvLgoKMjAxMy0wOC0xMyAyMDoxMDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs3OTIvOTA2XSBidWlsZDogdXNlIG91ciBvd24gaW4gdHJlZSBoZWFkZXJzIGJlZm9yZSBzeXN0ZW0gb25lcwoJICBhbGxvd3MgdXMgdG8gZGV2ZWxvcCBhZ2FpbnN0IHRoZSB0cmVlIHJhdGhlciB0aGFuIHdoYXQgbWF5IGJlIGluc3RhbGxlZAoKMjAxMy0wOC0xNiAxNjoyOToxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSAgWzc5MS85MDZdIGdsd2luZG93L3gxMTogcmVtb3ZlIFgxMUV2ZW50U291cmNlIGFzIHNvb24gYXMgdGhlIHdpbmRvdyBpcyBkZWxldGVkCgkgIGdzdF9nbF93aW5kb3dfeDExX3NlbmRfbWVzc2FnZSBkbyBub3QgdXNlIFhTZW5kRXZlbnQgYW55bW9yZQoKMjAxMy0wOC0xNiAxNToyNjoyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc5MC85MDZdIGdsaW1hZ2VzaW5rOiByZXRyaWV2ZSB3aW5kb3cgb25seSB3aGVuIGNsaWVudERyYXdDYWxsYmFjayByZXR1cm4gdHJ1ZQoKMjAxMy0wOC0wNyAxNzoxMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3ODkvOTA2XSBlZ2w6IENyZWF0ZSBhIHdpbmRvdyBzdXJmYWNlIGlmIG5lY2Vzc2FyeQoKMjAxMy0wOC0wNyAxMTo0Njo0OSArMDIwMCAgVG9udSBKYWFuc29vIDxjaGFpbkBic2QuZWU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzc4OC85MDZdIG9zeDogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTA4LTA3IDExOjQyOjQ2ICswMjAwICBUb251IEphYW5zb28gPGNoYWluQGJzZC5lZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc4Ny85MDZdIGdsOiBUaGUgR0xTTCByZWN0YW5nbGUgcmVzYW1wbGVyIGRvZXMgbm90IGFsd2F5cyB3b3JrIHdpdGggaW50IHRleCBjb29yZHMKCSAgVXNlIGZsb2F0cyBpbnN0ZWFkLgoKMjAxMy0wNy0yNCAxMzozNToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJICBbNzg2LzkwNl0gZ2xwcm90b3R5cGVzOiBBZGQgc3VwcG9ydCBmb3IgTlYgZXh0ZW5zaW9ucyBmb3IgRHJhd0J1ZmZlcnMgYW5kIFJlYWRCdWZmZXIKCjIwMTMtMDctMjQgMTM6MzQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzg1LzkwNl0gZWdsOiBVc2UgRUdMX0tIUl9zdXJmYWNlbGVzc19jb250ZXh0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSB1c2VsZXNzIHN1cmZhY2UgaWYgYXZhaWxhYmxlCgoyMDEzLTA3LTIyIDE5OjAwOjQyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzc4NC85MDZdIGdsb3ZlcmxheTogYWRkIEdfQkVHSU4vRU5EIGRlY2xhcmF0aW9uCgoyMDEzLTA3LTE5IDE2OjI4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc4My85MDZdIGdsaW1hZ2VzaW5rOiBGaXggZm9ybWF0IHN0cmluZyB3YXJuaW5nCgoyMDEzLTA3LTE5IDEwOjA3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzgyLzkwNl0gZ2xkb3dubG9hZDogVXNlIHN0cmxlbigpIGluc3RlYWQgb2Ygc2l6ZW9mKGNoYXIqKQoJICBnc3RnbGRvd25sb2FkLmM6ODQ2OjIyOiBlcnJvcjogYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbWNweScgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBzb3VyY2U7IGRpZCB5b3UgbWVhbiB0byBwcm92aWRlIGFuIGV4cGxpY2l0IGxlbmd0aD8gWy1XZXJyb3I9c2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzXQoKMjAxMy0wNy0xOSAxNjo0ODowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzgxLzkwNl0gZG93bmxvYWQ6IHByb3BvZ2F0ZSBlcnJvcnMgZnJvbSB0aGUgR0wgdGhyZWFkCgoyMDEzLTA3LTE4IDIwOjIxOjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc4MC85MDZdIHVwL2Rvd25sb2FkOiBjaGVjayByZXR1cm4gdmFsdWVzCgkgIFNvIHdlIGZhaWwgcHJvcGVybHkKCjIwMTMtMDctMTggMTk6Mzc6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzc3OS85MDZdIGRvd25sb2FkOiByZW1vdmUgX3RocmVhZCB2YXJpYW50cyBvZiB0aGUgQVBJCgoyMDEzLTA3LTE4IDE5OjM2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc3OC85MDZdIHVwbG9hZDogcmVtb3ZlIF90aHJlYWQgdmFyaWFudHMgb2YgdGhlIEFQSQoKMjAxMy0wNy0xOCAxOToxNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NzcvOTA2XSB1cGxvYWQ6IG92ZXJoYXVsIGFuZCBhZGRpdGlvbiBvZiBuZXcgdmlkZW8gZm9ybWF0cwoJICB1c2UgdGhlIHNoYWRlcnMgZnJvbSBlZ2xnbGVzc2luayAoYWRhcHRlZCBmb3IgRGVza3RvcCBHTCkKCSAgZXJyb3Igb3V0IHByb3Blcmx5CgoyMDEzLTA3LTE3IDIxOjE3OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NzYvOTA2XSBkb3dubG9hZDogZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbWlzc2luZyBzdHJpbmcgZm9ybWF0CgoyMDEzLTA3LTE5IDA5OjIwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzc3NS85MDZdIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdMZWdsSW1hZ2VPRVMgYW5kIG90aGVycyBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDk4CgoyMDEzLTA3LTE4IDIwOjI2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzc3NC85MDZdIHdpbjMyOiBGaXggc29tZSBjb21waWxlciBlcnJvcnMvd2FybmluZ3MKCjIwMTMtMDctMTggMDE6NDI6MzEgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNzczLzkwNl0gZ2xmaWx0ZXJzOiBNYXJrIHdyaXRhYmxlLW9ubHkgcHJvcGVydGllcyBhcyByZWFkYWJsZSBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0MjkKCjIwMTMtMDctMTggMDE6NDE6MDUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs3NzIvOTA2XSBnbGZpbHRlcnM6IE1hcmsgdGhlbSBhcyBWaWRlbyBmaWx0ZXJzIGluIHRoZWlyIGNsYXNzaWZpY2F0aW9uCgkgIEl0IG1ha2VzIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBwaXRpdmkgdG8KCSAgdXNlIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0MjkKCjIwMTMtMDctMTcgMTE6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs3NzEvOTA2XSBnbDogU29tZSBsZXNzIGxvbmcvdWxvbmcvZ3Vsb25nIHVzYWdlCgoyMDEzLTA3LTE2IDE4OjI4OjMzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNzcwLzkwNl0gdGVzdHMvZXhhbXBsZXM6IHBvcnQgc29tZSBvZiB0aGUgZXhhbXBsZXMuCgkgIFRoaXMgY29tbWl0IGlzIGEgZmlyc3Qgc3RlcCwgcmVtb3ZlcyBnbHVwbG9hZCwgc3dpdGNoIG5ldy1kZWNvZGVkLXBhZAoJICB0byBwYWQtYWRkZWQsIGJ1dCB0aGVzZSBleGFtcGxlcyBzdGlsbCBmYWlsIGZvciB2YXJpb3VzIHJlYXNvbnMuCgoyMDEzLTA3LTE2IDE4OjI3OjA3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3NjkvOTA2XSB0ZXN0cy9leGFtcGxlczogZml4IGFuZCBwb3J0IHNvbWUgb2YgdGhlIGV4YW1wbGVzLgoJICBSZWFsaXplIHdpZGdldHMsIHJlbW92ZSBnbHVwbG9hZCBlbGVtZW50LgoKMjAxMy0wNy0xNiAxNjoxNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzY4LzkwNl0gZ2x0ZXN0c3JjOiBGaXggdXNhZ2Ugb2YgRkJPIEFQSQoKMjAxMy0wNy0xNiAxNDoyMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzY3LzkwNl0gZ2xpbWFnZXNpbms6IFJlbW92ZSBHVmFsdWUgdXNhZ2UgZm9yIGZyYWN0aW9uIGhhbmRsaW5nCgoyMDEzLTA3LTA0IDEwOjAxOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs3NjYvOTA2XSB1dGlsczogZ2VuZXJhdGUgYSBSR0JBIHRleHR1cmUgaW4gYWxsIGNhc2VzCgoyMDEzLTA3LTAzIDIxOjAxOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3NjUvOTA2XSB3YXlsYW5kOiByZW1vdmUgZnVsbHNjcmVlbgoKMjAxMy0wNy0wMyAxNDozNzoxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzc2NC85MDZdIGZpbHRlcjogZml4IHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIHVwbG9hZCBpcyBmb3IgdGhlIHNpbmsgdGVtcGxhdGUKCSAgZG93bmxvYWQgaXMgZm9ybSB0aGUgc3JjIHRlbXBsYXRlCgoyMDEzLTA3LTAzIDE0OjEzOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNzYzLzkwNl0gbWVtb3J5OiBjb3B5IHByb3Blcmx5IGRlcGVuZGluZyBvbiB3aGVyZSB0aGUgbW9zdCByZWNlbnQgZGF0YSBpcwoKMjAxMy0wNy0xNiAxNDoxMTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzYyLzkwNl0gZ2xpbWFnZXNpbms6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyBhbmQgcHJvcGVybHkgc2V0IHVwIHRoZSBidWZmZXIgcG9vbAoKMjAxMy0wNy0xNiAxMzoyODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzc2MS85MDZdIHgxMTogUHJvdGVjdCBldmVudCBkaXNwbGF5IGNvbm5lY3Rpb24gd2l0aCBhIG11dGV4CgkgIFdlIHVzZSBpdCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGFuZCBuZWVkIHRvIHNlcmlhbGl6ZSB0aGUKCSAgYWNjZXNzZXMgdG8gaXQuCgoyMDEzLTA3LTE2IDEzOjIzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzYwLzkwNl0geDExOiBBbHdheXMgdXNlIHRoZSBzYW1lIGRpc3BsYXkgY29ubmVjdGlvbiBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgVGhlIG90aGVyIGRpc3BsYXkgY29ubmVjdGlvbiBtaWdodCBiZSB1c2VkIGJ5IGFzeW5jIGNhbGxzIGZyb20gZWxzZXdoZXJlCgkgIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDcKCjIwMTMtMDctMTUgMjE6NDQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTkvOTA2XSBnbGRvd25sb2FkOiAjaWZkZWYgc29tZSBHTEVTMiBzcGVjaWZpYyBjb2RlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAxMy0wNy0xNSAxODowNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgWzc1OC85MDZdIGFuZHJvaWQ6IERvbid0IHJlcXVpcmUgYSB3aW5kb3cgdG8gYmUgc2V0CgkgIFRoaXMgYWxsb3dzIHRoZSBmaWx0ZXJzIHRvIGJlIHVzYWJsZSB3aXRob3V0IGEgR0wgc2luayBkb3duc3RyZWFtLgoKMjAxMy0wNy0xNSAxODowMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3NTcvOTA2XSBlZ2w6IENyZWF0ZSBhbiBvZmZzY3JlZW4gc3VyZmFjZSBpZiBubyB3aW5kb3cgd2FzIHByb3ZpZGVkCgoyMDEzLTA3LTE1IDE3OjIwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU2LzkwNl0gZ2xkb3dubG9hZDogUmVzZXQgdGhlIHZpZXdwb3J0IGFmdGVyIGRvd25sb2FkIFJHQiB2aWEgR0xFUzIKCjIwMTMtMDctMTUgMTc6MTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTUvOTA2XSBnbGRvd25sb2FkOiBVbmJpbmQgZnJhbWVidWZmZXIgYWZ0ZXIgZG93bmxvYWRpbmcgUkdCIHdpdGggR0xFUzIKCjIwMTMtMDctMTUgMTc6MDg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs3NTQvOTA2XSBnbGRvd25sb2FkOiBBZGQgc3VwcG9ydCBmb3IgUkdCIHJlb3JkZXJpbmcgd2hlbiB1c2luZyBHTEVTMgoKMjAxMy0wNy0xNSAxNzowODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNzUzLzkwNl0gZ2xkaXNwbGF5OiBTZW5kaW5nIGEgbWVzc2FnZSBpcyBzeW5jaHJvbm91cywgd2UgY2FuIGFsbG9jYXRlIHRoZSBtZW1vcnkgb24gdGhlIHN0YWNrCgoyMDEzLTA3LTE1IDE1OjU4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3NTIvOTA2XSBnbHdpbmRvdzogQWRkIGRlc3Ryb3kgbm90aWZpZXMgZm9yIHRoZSBkYXRhIG9mIHRoZSBjYWxsYmFja3MKCSAgQW5kIGFjdHVhbGx5IGNhbGwgdGhlIGNsb3NlIGNhbGxiYWNrIHdoZW4gdGhlIHdpbmRvdyBpcyBjbG9zZWQuCgoyMDEzLTA3LTE1IDE1OjI1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs3NTEvOTA2XSBnbGRpc3BsYXk6IERvbid0IGhvbGQgbG9jayB3aGlsZSBzZW5kaW5nIGEgbWVzc2FnZSB0byB0aGUgR0wgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDcKCjIwMTMtMDctMTUgMTQ6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NTAvOTA2XSBnbHVwbG9hZDogQWRkIHN1cHBvcnQgZm9yIFJHQiByZW9yZGVyaW5nIHdoZW4gdXNpbmcgR0xFUzIKCjIwMTMtMDctMTUgMDc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNzQ5LzkwNl0gZ2xzaGFkZXI6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEzLTA3LTEyIDE0OjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzQ4LzkwNl0gZ2x1cGxvYWQ6IEdMX1NURU5DSUxfQVRUQUNITUVOVCBpcyBuZWVkZWQgZm9yIGRlc2t0b3AgR0wsIG5vdCBHTEVTCgoyMDEzLTA3LTEyIDE0OjI2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzc0Ny85MDZdIGdsOiBDb25zdGlmeSBZVVYgY29udmVyc2lvbiBzaGFkZXJzCgoyMDEzLTA3LTEyIDE0OjIwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBbNzQ2LzkwNl0gYW5kcm9pZDogQWRkIGNvbW1lbnQgdG8gY2xhcmlmeSB0aGUgdHlwZSBvZiBhIHZhcmlhYmxlCgoyMDEzLTA3LTEyIDE0OjIwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzc0NS85MDZdIGdsOiBTaW1wbGlmeSBhbmQgb3B0aW1pemUgWVVWIGNvbnZlcnNpb24gc2hhZGVycyBhIGJpdAoKMjAxMy0wNy0xMiAxMTozNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIFs3NDQvOTA2XSBnbDogVXNlIF9fR1NUX0dMX0hfXyBpbnN0ZWFkIG9mIF9fR0xfSF9fIGFzIGEgbXVsdGktaW5jbHVkZSBndWFyZAoJICBHTC9nbC5oIG1pZ2h0IHVzZSB0aGUgbGF0dGVyIGFscmVhZHkuCgoyMDEzLTA3LTExIDIxOjMwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkgIFs3NDMvOTA2XSB3aW4zMjogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMToyMjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3NDIvOTA2XSBjb2NvYTogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMToxNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzc0MS85MDZdIHdheWxhbmQ6IERvbid0IGxlYWsgbWFpbiBjb250ZXh0IGFuZCBsb29wCgoyMDEzLTA3LTExIDIxOjE1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzQwLzkwNl0geDExOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIwOjU4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzM5LzkwNl0geDExOiBEb24ndCBsZWFrIG1haW4gY29udGV4dCBhbmQgbWFpbiBsb29wCgoyMDEzLTA3LTExIDIwOjUxOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzczOC85MDZdIGdsOiBJbmNsdWRlIGdsdS5oIGFmdGVyIGdsLmgKCjIwMTMtMDctMTEgMTY6MjE6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzM3LzkwNl0gZ2xpbWFnZXNpbms6IFJlcXVlc3QgYW5kIHNldCB0aGUgd2luZG93IGhhbmRsZSBtdWNoIGVhcmxpZXIKCjIwMTMtMDctMTEgMTY6MDU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzczNi85MDZdIGdsaW1hZ2VzaW5rOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gYmUgYWJsZSB0byBhdXRvcGx1ZyBpdCBpZiBub3RoaW5nIGVsc2UgaXMgYXZhaWxhYmxlCgoyMDEzLTA3LTEwIDExOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MzUvOTA2XSBnbDogQWRkIHN1cHBvcnQgZm9yIEFuZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MAoKMjAxMy0wNy0xMSAxMTozNzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJICBbNzM0LzkwNl0gd2luMzI6IE1ha2UgYXV0b21ha2UgaGFwcHkgYnkgdXNpbmcgbm9pbnN0X0hFQURFUlMKCjIwMTMtMDctMTEgMTE6MDM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNzMzLzkwNl0gZ2w6IE1ham9yIGhlYWRlciBhbmQgaW5jbHVkZSBjbGVhbnVwCgoyMDEzLTA3LTEwIDE2OjAzOjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzczMi85MDZdIGJ1aWxkOiBmaXggcmVwZWF0ZWQgdHlwZWRlZnMKCSAgV3JpdGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgaW4gYW5vdGhlciB3YXkgdG8gYXZvaWQKCSAgcmVwZWF0ZWQgdHlwZWRlZnMgImVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiIuCgkgIFJhaXNlZCB3aGVuIHVzaW5nIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgIEl0IHNlZW1zIHRoYXQgQyBhcHBsZSBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0CgkgIEMxMSBmZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzODg1CgoyMDEzLTA3LTEwIDE1OjQ3OjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzMxLzkwNl0gY29jb2E6IGZpeCBidWlsZCB3aGVuIEdOVVNURVAgaXMgbm90IGRlZmluZWQKCjIwMTMtMDctMTAgMTE6MzA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIFs3MzAvOTA2XSBnbGNvbXBhdDogUHJvcGVybHkgY2hlY2sgZm9yIEdMY2hhciBhbmQgb3RoZXIgdHlwZXMKCSAgT24gQW5kcm9pZCBmb3IgZXhhbXBsZSB0aGVzZSBhcmUgbm8gI2RlZmluZXMgYnV0IHR5cGVkZWZzCgoyMDEzLTA3LTEwIDExOjI0OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3MjkvOTA2XSBnbDogSW5jbHVkZSBjb25maWcuaCBldmVyeXdoZXJlCgoyMDEzLTA3LTAzIDE0OjEzOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzI4LzkwNl0gZ2xpbWFnZXNpbms6IGZpeCBmb3IgZ2xlczIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUwOAoKMjAxMy0wNy0wMyAwOToxMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSAgWzcyNy85MDZdIGVnbDogUmVmYWN0b3IgRUdMIGxvZ2ljIGludG8gYSBoZWxwZXIgb2JqZWN0CgoyMDEzLTA3LTAyIDIyOjQ1OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzcyNi85MDZdIHdpbmRvdzogZG9uJ3QgY2FsbCBhIE5VTEwgZGVzdHJveSBmdW5jdGlvbgoKMjAxMy0wNy0wMiAyMjowNjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmg6CgkgIFs3MjUvOTA2XSB4MTE6IHVzZSBHTWFpbkNvbnRleHQvR01haW5Mb29wCgkgIGFsbG93cyB1cyB0byBiZSByZWVudHJhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ0NQoKMjAxMy0wNy0wMiAxODozMzo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzI0LzkwNl0gd2F5bGFuZDogbWFrZSByZWVudHJhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ0NQoKMjAxMy0wNy0wMSAxNDo0MzoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcyMy85MDZdIGdzdGdsd2luZG93OiBjbG9zZSBoYXMgdG8gYmUgY2FsbGVkIGluIHRoZSBnbHRocmVhZC4KCSAgSW5kZWVkICdnbFhNYWtlQ3VycmVudCAod2luZG93X3gxMS0+ZGV2aWNlLCBOb25lLCBOVUxMKTsnCgkgIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIHRocmVhZCB3aGVyZSB0aGUgZ2xjb250ZXh0IGlzIGFjdHVhbGx5CgkgIGN1cnJlbnQuCgkgIE90aGVyd2lzZSBnbFhEZXN0cm95Q29udGV4dCBtYXkgY3Jhc2guCgoyMDEzLTA3LTAxIDAxOjM2OjM1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzIyLzkwNl0gZ2w6IEZpeCBidWlsZCBvbiBXaW4zMgoJICAxKSBOZWVkIHRvIGluY2x1ZGUgR0wvZ2xleHQuaCBvbiBXMzIgdG8gcHJvdmlkZSBuZWNlc3NhcnkgbWFjcm9zCgkgIDIpIFczMiBtYWNyb3MgdGhhdCBwcmUtcHJvY2Vzc29yIGhhcyBieSBkZWZhdWx0IGFyZSBkaWZmZXJlbnQgZm9yIGRpZmZlcmVudAoJICB0b29sY2hhaW5zLiBCb3JsYW5kIHVzZXMgX19XSU4zMl9fLCBldmVyeW9uZSBlbHNlIGhhcyBfV0lOMzIsIHNvIGNoZWNrIGJvdGguCgkgIFNpZGUtbm90ZTogZ2xleHQuaCBpcyBub3Qgc3VwcGxpZWQgYnkgbWluZ3ctdzY0IGF0IHRoZSBtb21lbnQsIGJ1dCBjYW4gYmUKCSAgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM2NAoKMjAxMy0wNi0yOCAxMToxMDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs3MjEvOTA2XSBnbGZpbHRlcjogVXNlIHVpbnQ2NCBmb3IgdGhlIE9wZW5HTCBjb250ZXh0IHByb3BlcnR5CgkgIHVsb25nL2xvbmcgcHJvcGVydGllcyBhcmUgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUKCSAgZm9yIHBvcnRhYmlsaXR5IHJlYXNvbnMuCgoyMDEzLTA2LTI4IDExOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzcyMC85MDZdIGV4YW1wbGVzOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEzLTA2LTI4IDExOjAwOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzcxOS85MDZdIGdsOiBGaXggY29tcGlsYXRpb24gd2l0aCBHTEVTMgoKMjAxMy0wNi0yOCAwMDozNDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNzE4LzkwNl0gc2hhZGVyOiBtYWtlIGl0IHBvc3NpYmxlIHRvIHVucmVmIGluIHRoZSBub24tR0wgdGhyZWFkCgoyMDEzLTA2LTI4IDAwOjMxOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNzE3LzkwNl0gcmVtb3ZlIG91dGRhdGVkIGNtYWtlIGJ1aWxkIGZpbGVzCgoyMDEzLTA2LTE3IDE5OjQ1OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNzE2LzkwNl0gd2F5bGFuZDogcHJvcGVybHkgY2hvb3NlIEVHTF9SRU5ERVJBQkxFX1RZUEUKCSAgYmFzZWQgb24gdGhlIGdsIGFwaSB3ZSBjaG9zZQoKMjAxMy0wNi0xNiAyMDo0NzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs3MTUvOTA2XSBkaXNwbGF5OiBpbmhlcml0IGZyb20gdGhlIHJpZ2h0IG9iamVjdCBjbGFzcwoKMjAxMy0wNi0xNiAyMDo0NDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MTQvOTA2XSBBZGQgR3N0R0xGcmFtZWJ1ZmZlciB0byByZXBsYWNlIF9kaXNwbGF5X2dlbl9mYm8gYW5kIGZyaWVuZHMKCSAgVGhpcyB2ZXJzaW9uIGlzIHNpbXBseSBBUEkgY29tcGF0aWJsZSB3aXRoIF9kaXNwbGF5X2dlbl9mYm8uCgkgIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBsaWtlbHkgcmV2YW1wIHRoZSBBUEkKCjIwMTMtMDYtMTYgMjA6NDE6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs3MTMvOTA2XSBzaGFkZXI6IG1ha2UgaXQgcG9zc2libGUgdG8gY3JlYXRlIHRoZSBvYmplY3QgaW4gYSBub24tR0wgdGhyZWFkCgoyMDEzLTA2LTE2IDIwOjM4OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3MTIvOTA2XSB3YXlsYW5kOiBzaHV0ZG93biBwcm9wZXJseQoJICBXZSBjYW5ub3QgdXNlIF9maW5hbGl6ZSBhcyB0aGlzIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSBHc3RHTFdpbmRvdydzCgkgIF9maW5hbGl6ZS4gIFRoaXMgY2F1c2VzIHVzIHRvIHRyeSBhbmQgcGVyZm9ybSBvcGVyYXRpb25zIHdpdGggdGhlCgkgIHdheWxhbmQgc2VydmVyIHdoZW4gdGhlIGNvbm5lY3Rpb24gaGFzIGJlZW4gc2V2ZXJlZC4KCjIwMTMtMDYtMTYgMjA6Mzc6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs3MTEvOTA2XSB3YXlsYW5kOiBzdXBwb3J0IGNob29zaW5nIERlc2t0b3AgR0wgYXMgdGhlIGFwaQoKMjAxMy0wNi0xNiAyMDozNDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcxMC85MDZdIHdpbmRvdzogZmFpbCBpZiB0aGUgdXNlciBzcGVjaWZpZXMgYW4gR0wgYXBpIHRoYXQgd2UgY2Fubm90IHdvcmsgd2l0aAoJICBJdCB3b3VsZCd2ZSBiZWVuIGNhdWdodCBsYXRlciBpbiBhbiBnX2Fzc2VydCBhbnl3YXkuCgoyMDEzLTA2LTEzIDE4OjMzOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNzA5LzkwNl0gZGlzcGxheTogc29tZSBtb3JlIGNsZWFudXBzCgoyMDEzLTA2LTEzIDE3OjU3OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcwOC85MDZdIGRpc3BsYXk6IGEgY2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBvbGQgY29kZQoKMjAxMy0wNi0xMyAxNjo1NTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzA3LzkwNl0gZGlzcGxheTogbW92ZSBlcnJvcl9tZXNzYWdlIHRvIHV0aWxzCgoyMDEzLTA2LTEzIDE2OjMxOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzA2LzkwNl0gZGlzcGxheTogbW92ZSBhY3RpdmF0ZV9jb250ZXh0IGludG8gdXRpbHMKCjIwMTMtMDYtMTMgMTY6MDQ6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzA1LzkwNl0geDExOiBkb24ndCBzaHV0ZG93biBpbiBfZmluYWxpemUKCSAgVGhlIHdpbmRvdydzIGxvb3AgY291bGQgYmUgc3RpbGwgcnVubmluZyB3aGVuIF9maW5hbGl6ZSBpcyBjYWxsZWQKCSAgYW5kIGlmIHdlIGRlc3Ryb3kgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiBpdCB3aWxsIG5ldmVyIGJlIGNsb3NlZC4KCSAgQWRkIF9vcGVuIGFuZCBfY2xvc2UgdmZ1bmNzIHRvIEdzdEdMV2luZG93IHNvIHRoYXQgc3ViY2xhc3NlcyBjYW4KCSAgc3RhcnQgdXAgYW5kIHNodXRkb3duIGF0IHRoZSByaWdodCB0aW1lLgoKMjAxMy0wNi0xMyAxNDozNjo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzcwNC85MDZdIFVzZSBnc3Rfb2JqZWN0X1t1bl1yZWYgc28gd2UgY2FuIGdldCByZWZjb3VudHMgaW4gdGhlIGxvZwoKMjAxMy0wNi0xMyAxNDoxODoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwMy85MDZdIHgxMTogZG9uJ3Qgc2VnZmF1bHQgaWYgZGVzdHJveV9jYiBpcyBOVUxMCgoyMDEzLTA2LTEyIDIzOjIxOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDIvOTA2XSB4MTE6IGZpeCBzZWdmYXVsdCBpZiB0aGUgeDExIGJhY2tlbmQgaXMgaW5zdGFudGlhdGVkIGJ1dCBub3QgdXNlZAoKMjAxMy0wNi0xMiAyMzoxNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzAxLzkwNl0gZGlzcGxheTogbW92ZSBjb250ZXh0IGNyZWF0aW9uIGludG8gd2luZG93CgoyMDEzLTA2LTEyIDAxOjA0OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzAwLzkwNl0gZGlzcGxheTogbW92ZSBtb3N0IG9mIHRoZSBjb2RlIGludG8gdXRpbHMgZm9yIHNvcnRpbmcgbGF0ZXIKCSAgVGhpcyBjb250YWlucyBhIGhhY2sgdGhhdCBlc3NlbnRpYWxseSByZXF1aXJlcyBvbmUgR3N0R0xEaXNwbGF5CgkgIHBlciBwcm9jZXNzLgoKMjAxMy0wNi0xMSAxODo1MDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs2OTkvOTA2XSBkaXNwbGF5OiByZW1vdmUgbGlzdCBvZiB1cGxvYWQgYW5kIGRvd25sb2FkIG9iamVjdHMKCSAgYW5kIG9ubHkgY3JlYXRlIGFuIHVwL2Rvd25sb2FkIG9iamVjdCB3aGVuIG5lZWRlZC4KCjIwMTMtMDYtMTEgMTI6MjY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzY5OC85MDZdIG1vdmUgc2luay1zcGVjaWZpYyBzdHVmZiBmcm9tIEdzdEdMRGlzcGxheSBpbnRvIGdsaW1hZ2VzaW5rCgoyMDEzLTA2LTExIDExOjI3OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY5Ny85MDZdIGRpc3BsYXk6IGFsbG93IHRoZSB1c2VyIHRvIHRyeSBhbmQgY2hvb3NlIHRoZSBHTCBhcGkgd2UgdXNlIHZpYSBlbnYgdmFyaWFibGUKCSAgR1NUX0dMX0FQST1vcGVuZ2wsb3BlbmdsMyxnbGVzMixnbGVzMwoKMjAxMy0wNi0xMSAxMToyNjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgWzY5Ni85MDZdIGdsYXBpOiBmaXggbWVtb3J5IGxlYWsgZnJvbSBub3QgZnJlZWluZyBhIHN0cmluZwoKMjAxMy0wNi0wNCAyMjoxODo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIFs2OTUvOTA2XSBidWlsZDogcmVtb3ZlIGxpYnRvb2wgd2FybmluZyBhYm91dCAtdmVyc2lvbi1pbmZvIG5vdCB1c2VkIGluIGNvbnZlbmllbmNlIGxpYnJhcmllcwoKMjAxMy0wNi0wNCAyMjoxNzo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2OTQvOTA2XSBidWlsZDogYWRkIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA2LTA0IDIyOjE2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjkzLzkwNl0geDExX2dseDogYXNrIGZvciBhIDMuMCBHTCBDb250ZXh0CgkgIChmYWxsaW5nIGJhY2sgaWYgbmVlZGVkKQoKMjAxMy0wNi0wMyAxODoxNTo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbNjkyLzkwNl0gd2luZG93X3gxMTogYWRkIFhFcnJvciB0cmFwcGluZwoJICBzb21lIGZ1bmN0aW9ucyBpbiBHTFggY2FuIGZhaWwgaWYgdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHN1cHBvcnQKCSAgY2VydGFpbiBmZWF0dXJlcyB3ZSBhc2sgZm9yIChpLmUuIEdMIDMpIGJyaW5naW5nIGRvd24gdGhlIGVudGlyZQoJICBhcHBsaWNhdGlvbgoKMjAxMy0wNi0wMyAxODoxMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2OTEvOTA2XSBmZWF0dXJlOiBtYWtlIGdzdF9nbF9jaGVja19leHRlbnNpb24gcHVibGljCgkgIHByZXZlbnRzIGR1cGxpY2F0aW9uIG9mIGNvZGUgb2YgZXh0ZW5zaW9uIHN0cmluZyBwYXJzaW5nIGluIEdzdEdMV2luZG93J3MKCjIwMTMtMDYtMDIgMjE6NDc6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjkwLzkwNl0gd2luZG93eDExZ2x4OiB1c2UgZmJjb25maWdzIGlmIHN1cHBvcnRlZAoKMjAxMy0wNC0yNSAxMjowNDoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY4OS85MDZdIGJ1bXBlcjogbmljZXIgZXJyb3IgZm9yIG5vIGJ1bXBtYXAgZmlsZSBwcm92ZWRlZAoKMjAxMy0wNC0yNCAxNDoyNToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2ODgvOTA2XSBkaXNwbGF5OiBwcm9wZXJseSBzaHV0ZG93biBpZiB3ZSBlcnJvciBhZnRlciBjb250ZXh0IGNyZWF0aW9uCgkgIFRoZSBfZmluYWxpemUoKSBjb2RlIGNoZWNrcyB0byBzZWUgaWYgdGhlIGNvbnRleHQgd2FzIGNyZWF0ZWQgYmVmb3JlCgkgIGF0dGVtcHRpbmcgdG8gZGVzdHJveSBpdC4gIFdlIG5ldmVyIGRpZCBzYXkgdGhhdCB3ZSBoYWQgY3JlYXRlZCB0aGUgY29udGV4dC4KCjIwMTMtMDQtMjQgMTQ6MjQ6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2ODcvOTA2XSBidW1wZXI6IGVycm9yIG91dCBwcm9wZXJseSBpZiB3ZSBjYW5ub3QgbG9hZCB0aGUgcG5nIGZpbGUKCjIwMTMtMDQtMjQgMTQ6MjM6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2ODYvOTA2XSBmaWx0ZXJzaGFkZXI6IGZpeCBzdHJpbmcgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTA0LTI0IDE0OjIyOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNjg1LzkwNl0gZmlsdGVyOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nCgoyMDEzLTA0LTI0IDEyOjE4OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY4NC85MDZdIGRpc3BsYXk6IGxhY2sgb2YgZm9ybWF0LXN0cmluZyBjYXVzaW5nIGEgY29tcGlsZXIgd2FybmluZwoKMjAxMy0wNC0yNCAxMjoxNzozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkgIFs2ODMvOTA2XSBmZWF0dXJlOiByZW1vdmUgZG91YmxlIGZyZWUKCjIwMTMtMDMtMTEgMTU6NTE6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNjgyLzkwNl0gb3ZlcmxheTogZml4IHZpZGVvLXRvcCBwcm9wZXJ0eQoKMjAxMy0wNi0wMiAwNzo1MjozMCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2ODEvOTA2XSB3aW4zMjogZml4IGdsIGFwaSBjYWxscyBvbiAzMi1iaXQKCSAgd2luIGhhcyB0aGUgYnJpZ2h0IGlkZWEgb2YgaGF2aW5nIDUgZGlmZmVyZW50IGNhbGxpbmcgY29udmVudGlvbnMuCgkgIHdlIHNob3VsZCBwcm9iYWJseSB1c2UgdGhlIHJpZ2h0IG9uZSBzbyB3ZSBkb24ndCBjcmFzaCBmcm9tIHN0YWNrCgkgIGNvcnJ1cHRpb24uCgoyMDEzLTAzLTEwIDEzOjM3OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzY4MC85MDZdIG92ZXJsYXk6IHRlbnRhdGl2ZSBwb3J0IHRvIG5ldyBHc3RHTEZ1bmNzIEFQSQoKMjAxMy0wMy0xMCAxMzozNDoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs2NzkvOTA2XSBvcGVuZ2w6IGZpeCBwbHVnaW5zIG5vdCBiZWluZyByZWdpc3RlcmVkIHdoZW4gdGhleSBzaG91bGQgYmUKCjIwMTMtMDMtMDkgMjM6MzY6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJICBbNjc4LzkwNl0gd2luZG93X3dpbjMyX3dnbDogaW1wbGVtZW50IHdnbEdldFByb2NBZGRyZXNzIGZvciBleHRlbnNpb24gZnVuY3Rpb25zCgoyMDEzLTAzLTA5IDIyOjUzOjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNjc3LzkwNl0gbWVtb3J5OiBmaXggR1NJWkUgcHJpbnRmIGZvcm1hdCBvbiB3aW4zMgoKMjAxMy0wMy0wOSAyMjo1MzowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSAgWzY3Ni85MDZdIHdpbmR3b193aW4zMjogcG9ydCB0byBuZXcgQVBJCgoyMDEzLTAzLTA5IDIyOjQ3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjc1LzkwNl0gdXBsb2FkOiBwcm92aWRlIG5pY2VyIGRlYnVnZ2luZwoKMjAxMy0wMy0wOSAyMjo0NToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkgIFs2NzQvOTA2XSBmZWF0dXJlOiB0cnkgYW5kIGNhdGNoIG1vcmUgR0wgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoJICBpZiB3ZSBkb24ndCBmaW5kIHRoZSBleHRlbnNpb24gaW4gY29yZSBHTCwgdHJ5IHRoZSBleHRlbnNpb24gdmVyc2lvbiBhbnl3YXkKCjIwMTMtMDMtMDkgMjI6Mzc6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjczLzkwNl0gZmVhdHVyZTogYWRkIGdzdHJlYW1lciBsaWNlbnNlCgoyMDEzLTAzLTA5IDIyOjA1OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY3Mi85MDZdIGRpc3BsYXk6IGNvbnN0aWZ5IEdzdEdMRnVuY3MgKmdsCgoyMDEzLTAzLTA5IDIxOjU5OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNjcxLzkwNl0gd2luMzI6ICNpbmNsdWRlIEdML2dsZXh0Lmggb24gd2luZG93cwoJICBhbHNvIGFkZCBzb21lIEdMIGRlZmF1bHQgdmFyaWFibGVzIGlmIHNvbWUgR0wgdHlwZXMgYXJlIG5vdCBkZWZpbmVkCgoyMDEzLTAyLTE4IDIxOjQwOjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNjcwLzkwNl0gZGlzcGxheTogcmVwbGFjZSBnbGliIGRlcHJlY2F0ZWQgYXBpCgoyMDEzLTAyLTEyIDIzOjQ4OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2NjkvOTA2XSB3aW5kb3c6IHNlcGVyYXRlIG9iamVjdCBjcmVhdGlvbiBhbmQgY29udGV4dCBjcmVhdGlvbgoKMjAxMy0wMi0wNCAyMTozMDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzY2OC85MDZdIHNoYWRlcjogZml4IGdsZXMyIHNlZ2ZhdWx0CgoyMDEzLTAyLTA0IDIxOjI5OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzY2Ny85MDZdIGZpbHRlcmN1YmU6IGZpeCBmb3IgZ2xlczIgY29tcGlsYXRpb24KCjIwMTMtMDItMDEgMTg6MjA6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzY2Ni85MDZdIHNvYmVsOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMi0wMSAwMDowODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzY2NS85MDZdIG1vc2FpYzogZml4IGEgY291cGxlIG9mIGFzc2VydGlvbnMKCjIwMTMtMDItMDEgMDA6MDY6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2NjQvOTA2XSBmaWx0ZXJzaGFkZXI6IGltcHJvdmUgZXJyb3IgY2hlY2tpbmcKCjIwMTMtMDEtMzEgMjM6NTE6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2NjMvOTA2XSBmaWx0ZXJzaGFkZXI6IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6NDY6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs2NjIvOTA2XSBsYXBsYWNpYW46IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6NDM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSAgWzY2MS85MDZdIGdsYXNzOiBwb3J0IHRvIG5vbi1nbGV3ICsgc2hhZGVyIG1hdHJpY2VzCgoyMDEzLTAxLTMxIDIzOjM5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzY2MC85MDZdIGN1YmU6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjM0OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzY1OS85MDZdIGJsdXI6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjMyOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs2NTgvOTA2XSBtaXhlcjogZml4IGVvcyB0aW1lc3RhbXAgY2hlY2sKCjIwMTMtMDEtMzEgMjM6MzE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFs2NTcvOTA2XSBmaWx0ZXJhcHA6IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6Mjk6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2NTYvOTA2XSBidW1wZXI6IHVzZSBEcmF3RWxlbWVudHMgZm9yIHNlbWktY29tcGF0YWJpbGl0eSB3aXRoIEVTCgkgIGFsc28gR0xfUVVBRFMgaXNuJ3QgYXZhaWxhYmxlIHdpdGggRVMgY29udGV4dHMKCjIwMTMtMDEtMTcgMjM6NDU6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzY1NS85MDZdIGRvd25sb2FkOiByZW1vdmUgZXJyb25vdXMgUmVhZEJ1ZmZlciBjYWxsCgkgIC0gaXQgd2FzIGNhdXNpbmcgc2VnZmF1bHRzIGluIG1lc2EKCSAgLSB3ZSBkaWRuJ3Qgc2V0IHRoZSByZWFkYnVmZmVyIHNvIHdlIHNob3VsZG4ndCByZXNldCBpdAoKMjAxMy0wMS0xNyAyMzoxNzoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzY1NC85MDZdIGRpZmZlcmVuY2VtYXR0ZTogcG9ydCB0byBub24tR0xFVwoKMjAxMy0wMS0xNyAyMzoxNjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbNjUzLzkwNl0gZGVpbnRlcmxhY2U6IHBvcnQgdG8gbm9uLUdMRVcgKyBhcnJheXMKCjIwMTMtMDEtMTcgMjM6MTQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2NTIvOTA2XSBidW1wZXI6IHBvcnQgdG8gbm9uLUdMRVcgKyBhcnJheXMKCjIwMTMtMDEtMTcgMjM6MTI6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2NTEvOTA2XSB1cC9kb3dubG9hZDogZml4IHNvbWUgdHlwb3Mgd2hlbiByZW1vdmluZyBHTEVXCgoyMDEzLTAxLTE2IDIyOjQxOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNjUwLzkwNl0gZmlsdGVyOiBmaXggX2RyYXdfdGV4dHVyZSgpJ3Mgd3JvbmcgdmVydGljZXMKCjIwMTMtMDEtMTYgMjI6Mjc6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkgIFs2NDkvOTA2XSBlZmZlY3RzOiBmaXhlcyBmb3IgbWlycm9yKDEpIGFuZCBzcXVlZXplKDIpIHByb2R1Y2luZyBibGFjawoKMjAxMy0wMS0xNiAxNToyMzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNjQ4LzkwNl0gdGVzdHMvZXhhbXBsZXM6IHJlbW92ZSBkZXBlbmRlbmN5IG9uIGdsZXcKCjIwMTMtMDEtMTYgMTU6MjE6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNjQ3LzkwNl0gcmVtb3ZlIGRlcGVuZGVjeSBvbiBnbGV3CgoyMDEzLTAxLTEzIDAwOjA5OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBbNjQ2LzkwNl0gc29tZSBnbCBoZWFkZXIgZml4ZXMvYWRkaXRpb25zCgoyMDEzLTAxLTEwIDEzOjMyOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY0NS85MDZdIGZpeCBnbGVzMiBjb21waWxhdGlvbgoKMjAxMy0wMS0xMCAxMDo1NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvLmdpdGlnbm9yZToKCSAgWzY0NC85MDZdIHVwZGF0ZSAuZ2l0aWdub3JlIGZvciBzb21lIG5ldyBmaWxlcwoKMjAxMy0wMS0xMCAwMTo0NDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzY0My85MDZdIGRpc3BsYXk6IHByaXZhdGlzZSBtb3N0IG9mIHRoZSBzdHJ1Y3QKCjIwMTMtMDEtMTAgMDE6MTM6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNjQyLzkwNl0gYWRkIGdzdGdsY29uZmlnLmggZm9yIGFwcHMgdG8gZmluZCBvdXQgd2hhdCBvdXIgY2FwYWJpbGl0ZXMgYXJlCgkgIGllIGxpYmdzdGdsIGNhbiBiZSBjb21waWxlZCB3aXRoIGFueSBjb21iaW5hdGlvbiBvZiBvcGVuZ2wvZ2xlczIKCjIwMTMtMDEtMTAgMDA6MzA6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjQxLzkwNl0gZGlzcGxheTogZmVhdHVyZSBjaGVjayBmb3IgR0wgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoKMjAxMy0wMS0xMCAwMDoyNTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2NDAvOTA2XSBidWlsZDogYWRkIG1pc3NpbmcgZmlsZSB0byBidWlsdCBzb3VyY2VzCgoyMDEzLTAxLTEwIDAwOjIzOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzYzOS85MDZdIGFkZCBnZXRfcHJvY19hZGRyZXNzIGltcGxlbWVudGF0aW9ucyBmb3IgZWdsIGFuZCBnbHgKCjIwMTMtMDEtMDggMTc6NDA6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbNjM4LzkwNl0gd2luZG93OiBhZGQgZ2V0X3Byb2NfYWRkcmVzcyArIHN0dWIgZm9yIHJldHJpZXZpbmcgZ2wgZnVuY3Rpb25zCgoyMDEzLTAxLTA4IDE3OjM4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSAgWzYzNy85MDZdIHgxMV9lZ2w6IGFkZCBwcmVsaW0gc3VwcG9ydCBmb3IgY2hvb3Npbmcgb3BlbmdsIG9yIGdsZXMKCjIwMTMtMDEtMDggMTc6MzY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYzNi85MDZdIHdpbmRvd194MTE6IGNvbXBhY3QgZGVidWcgaW5mbwoKMjAxMy0wMS0wNyAxNDowODozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MzUvOTA2XSBmaXh1cCBjb21waWxlIGVycm9ycwoKMjAxMi0xMi0xOSAxNDo1NDoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNjM0LzkwNl0gd2F5bGFuZCBlZ2w6IGRlYWN0aXZhdGUgY29udGV4dCBiZWZvcmUgd2UgZGVzdHJveSBpdAoJICBhdm9pZHMgYSBzZWdmYXVsdCB3aXRoIGRyaSBkcml2ZXJzCgoyMDEyLTEyLTE5IDE0OjMyOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzYzMy85MDZdIGRpc3BsYXk6IGZhaWwgcHJvcGVybHkgaW4gY29udGV4dCBjcmVhdGlvbiBpbiBvcmRlciB0byBtaW5pbWl6ZSBhIHJhY2UgY29uZGl0aW9uCgkgIHByZXZpb3VzbHksIG9uIGNvbnRleHQgY3JlYXRpb24sIHdoZW4gd2UgZmFpbGVkIHRvIGdldCBhIHZhbGlkIGNvbnRleHQKCSAgd2Ugd291bGQgc3RpbGwgYXRlbXB0IHRvIHJ1biB0aGUgd2luZG93IG1haW5sb29wIGFzIHdlbGwgYXMgc2V0dGluZyBhbiBlcnJvcgoJICBvbiB0aGUgZGlzcGxheS4gVGhpcyB3b3VsZCBjYXVzZSB0aGUgY2FsbGluZyBlbGVtZW50IHRvIGZpbmFsaXplIHRoZSBkaXNwbGF5CgkgIGFuZCB0aGVyZWZvcmUgYXR0ZW1wdCB0byBxdWl0IHRoZSB3aW5kb3cgbWFpbmxvb3AuICBIb3dldmVyIHRoZSBtYWlubG9vcAoJICBtYXkgbm90IGhhdmUgc3RhcnRlZCBydW5uaW5nLiAgVGh1cyB3aGVuIHRoZSB3aW5kb3cgbWFpbmxvb3AgcmFuIGl0IHdvdWxkCgkgIG5ldmVyIGEgZ2V0IGEgcXVpdCBtZXNzYWdlIGFuZCBuZXZlciBlbmQuCgoyMDEyLTEyLTE4IDE4OjMxOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzYzMi85MDZdIHJlbW92ZSBzdHJheSApCgkgIFRoZSByZXN0IGlzIGluZGVudCBzdHVmZiBmcm9tIHRoZSBzdHJheSApCgoyMDEyLTEyLTE4IDE4OjI5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBbNjMxLzkwNl0gcmVtb3ZlIHJlZGVmaW5pdGlvbiB3YXJuaW5ncyBpbiBjb21waWxpbmcgdGVzdHMKCjIwMTItMTItMDkgMDk6MzI6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MzAvOTA2XSBkaXNwbGF5OiBhZGQgZ2wgYXBpIGNoZWNraW5nCgkgIGkuZS4gY2hlY2sgZm9yIGNhc2VzIHdoZXJlIHRoZSB3aW5kb3cgd2FudHMgYSBkaWZmZXJlbnQgQVBJIHRoYW4KCSAgd2hhdCB0aGUgbGlicmFyeSB3YXMgY29tcGlsZWQgd2l0aAoKMjAxMi0xMi0wOSAwOTozMDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyOS85MDZdIHdpbmRvdzogYWRkIEdFcnJvciBmb3IgZXJyb3IgaGFuZGxpbmcgb2YgY29udGV4dCBjcmVhdGlvbgoKMjAxMi0xMi0wOSAwOTowNDozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzYyOC85MDZdIHNoYWRlciBmaWx0ZXI6IGRvbid0IGRvIGFueXRoaW5nIGlmIHdlIGRvbid0IGhhdmUgYSBzaGFkZXIgZmlsZQoKMjAxMi0xMi0wNyAxMzozMjoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzYyNy85MDZdIHNoYWRlcjogY2hlY2sgZm9yIGludmFsaWQgb2JqZWN0cwoKMjAxMi0xMi0wNyAwMDoyMDo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs2MjYvOTA2XSBmaXggYnVpbGQgZmFpbHVyZSBmcm9tIHVuZGVmaW5lZCBtYWNybwoKMjAxMi0xMi0wNyAwMDoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL1JFQURNRToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMV9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMl9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjI1LzkwNl0gYWRkIHZ0YWJsZSBmb3Igb3BlbmdsIGZ1bmN0aW9ucwoJICBUaGUgdnRhYmxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciBvbmUgdG8gY29tcGlsZSAoYnV0IG5vdCBsaW5rKQoJICBhZ2FpbnN0IGJvdGggT3BlbkdMIGFuZCBHTHxFUyBhbmQgc3RhcnRzIHRoZSBtb3ZlIGF3YXkgZnJvbSBHTEVXCgoyMDEyLTEyLTA2IDE4OjQwOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzYyNC85MDZdIE9QRU5HTF9FUzIgPT4gSEFWRV9HTEVTMiBhbmQgYWRkIEhBVkVfT1BFTkdMCgkgIHVzZSBHc3RHTEFQSSB0byBkZXRlcm1pbmUgd2hpY2ggY29kZSBwYXRocyB0byBleGVjdXRlLgoJICBwZXJmb3JtIHNvbWUgY2xlYW51cHMKCjIwMTItMTItMDYgMTc6NDA6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyMy85MDZdIG1vdmUgR0wgaW5jbHVkZXMgaW50byBhIHNpbmdsZSBmaWxlCgoyMDEyLTEyLTA1IDE3OjIzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNjIyLzkwNl0gYWRkIG1pc3NpbmcgR0xfU1RFTkNJTF9BVFRBQ0hNRU5UIGZvciBnbGVzMiBjb21wYXRhYmlsaXR5CgoyMDEyLTEyLTAzIDE1OjA0OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjIxLzkwNl0gR3N0R0xSZW5kZXJlckFQSSA9PiBHc3RHTEFQSSBhbmQgZ2V0IEdzdEdMQVBJIGZyb20gYSB3aW5kb3cKCjIwMTItMTEtMzAgMTc6MDk6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgWzYyMC85MDZdIHdheWxhbmRfZWdsOiBhdHRlbXB0IGF0IHJlc2l6aW5nIHRoZSB2aWRlbwoKMjAxMi0xMS0yOSAxMzowNjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJICBbNjE5LzkwNl0gZml4IHR5cG8gZm9yIHdpbjMyIGRlYnVnIHZhcmlhYmxlcwoKMjAxMi0xMS0yOSAwMTowMTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSAgWzYxOC85MDZdIGFkZCB3YXlsYW5kLWVnbCB3aW5kb3cgYmFja2VuZAoKMjAxMi0xMS0yMCAwMDoxNTowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjE3LzkwNl0gZml4ICdzZXQgYnV0IG5vdCB1c2VkJyBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMS0xOSAyMjo1NDoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYxNi85MDZdIG1vdmUgd2luZG93LXNwZWNpZmljIGNvZGUgaW50byBzZXBlcmF0ZSBzdWJmb2xkZXJzCgoyMDEyLTExLTE5IDIxOjUyOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgWzYxNS85MDZdIHByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIFdpbjMyIEVHTAoKMjAxMi0xMS0xOCAwMToyMzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MTQvOTA2XSB0cnkgR0xYIGZpcnN0IHdoZW4gdXNpbmcgQU5ZIHwgT1BFTkdMIHwgT1BFTkdMMwoKMjAxMi0xMS0xOCAwMToxNjo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzYxMy85MDZdIHdpbmRvd19jb2NvYTogZml4IHNlZ2ZhdWx0IHdpdGggZ3N0LWxhdW5jaC0xLjAgLWUgLi4uIGFuZCBzZW5kaW5nIFNJR0lOVCAoQ3RybC1DKQoJICBHTlVzdGVwIGhhcyBhIHNpZ25hbCBoYW5kbGVyIGZvciBTSUdJTlQgd2hpY2ggcnVucyBpbiB0aGUgbWFpbiB0aHJlYWQuCgkgIEhvd2V2ZXIgdGhhdCB0aHJlYWQgaGFzIG5ldmVyIGJlZW4gJ3JlZ2lzdGVyZWQnIHdpdGggR05Vc3RlcCBzbwoJICB0aGUgYXV0b3JlbGVhc2UgbWFnaWMgb2Ygb2JqZWN0aXZlLWMgY2F1c2VzIGEgc2VnZmF1bHQgZnJvbSBhY2Nlc3NpbmcKCSAgYSBudWxsIE5TVGhyZWFkIG9iamVjdCBzb21ld2hlcmUgZGVlcCBpbiBHTlVzdGVwLgoKMjAxMi0xMS0xNiAxODowMTowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs2MTIvOTA2XSByZW1vdmUgR05Vc3RlcCBtYWtlZmlsZXMKCjIwMTItMTEtMTYgMTc6MTM6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNjExLzkwNl0gY29jb2EgcG9ydCBvZiBkZXRlcm1pbmluZyBnbCBwbGF0Zm9ybSBhdCBydW50aW1lCgoyMDEyLTExLTE1IDIxOjQ2OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs2MTAvOTA2XSBXaW5kb3dYMTFFR0w6IHJlbW92ZSBnZXRfcGxhdGZvcm0gY2FsbAoKMjAxMi0xMS0xNSAxMzoxNzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJICBbNjA5LzkwNl0gd2luMzIgcG9ydCBvZiBkZXRlcm1pbmluZyBHTCBwbGF0Zm9ybSBhdCBydW50aW1lCgkgIC0gYWRkIEdzdEdMV2luZG93V2luMzIgYW5kIEdzdEdMV2luZG93V2luMzJXR0wgYWxvbmcgdGhlIHNhbWUgbGluZXMgYXMgdGhlCgkgIFgxMSB2YXJpYW50cwoKMjAxMi0xMS0xNCAyMDozOTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSAgWzYwOC85MDZdIGFkZCBHU1RfR0xfUExBVEZPUk1fQU5ZIGZvciBjaG9vc2luZyBhbnkgcGxhdGZvcm0KCjIwMTItMTEtMTQgMjA6MzY6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzYwNy85MDZdIHJlbW92ZSBnZXRfcGxhdGZvcm0gYW5kIGdldF93aW5kb3dfaGFuZGxlIHZmdW5jcwoJICAtIHJlbmFtZSBjaG9vc2VfdmlzdWFsKCkgdG8gY2hvb3NlX2Zvcm1hdCgpIGZvciBsYXRlciBpbmNvcnBvcmF0aW5nCgkgIHdpbjMyIGNoYW5nZXMgYW5kIG5ldyBHc3RHTFBsYXRmb3JtIGZvciBXR0wsIEVHTCwgR0xYLCBldGMuCgoyMDEyLTExLTEzIDIyOjEyOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzYwNi85MDZdIGRldGVybWluZSB0aGUgR0wgcGxhdGZvcm0gdG8gdXNlIGF0IHJ1bnRpbWUKCSAgLSBNYWtlIEdzdEdMV2luZG93IHN1YmNsYXNzYWJsZXJhdGhlciB0aGFuIHNwZWNpZmllZCBhdCBjb21waWxlIHRpbWUuCgkgIC0gQWRkIEdzdEdMV2luZG93WDExIGZvciB4MTEgd2luZG93cyBhbmQgdHdvIHN1YmNsYXNzZXMsIEdzdEdMV2luZG93WDExR0xYCgkgIGFuZCBHc3RHTFdpbmR3WDExRUdMIGZvciBHTFggYW5kIEVHTCByZXBlY3RpdmVseS4gKHdpbjMyIGFuZCBjb2NvYQoJICBwb3J0cyB0byBjb21lKQoJICAtIEFsc28gY2xlYW51cCBHTCBsaWJyYXJ5IGRldGVjdGlvbiBpbiBjb25maWd1cmUuYWMKCjIwMTItMTItMDIgMTQ6NTg6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2MDUvOTA2XSBzaGFkZXI6IG1vdmUgdG8gZ3N0IGRlYnVnZ2luZwoKMjAxMi0xMS0yMSAxMzozNDoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs2MDQvOTA2XSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEoKQoKMjAxMi0xMS0wOCAyMjo1Mzo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzYwMy85MDZdIHVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMi0xMS0wNCAxOToxNTowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNjAyLzkwNl0gaGlkZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB3aXRoIG5ld2VyIGNsdXR0ZXIgdmVyc2lvbnMKCjIwMTItMTAtMTEgMDA6MjQ6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2MDEvOTA2XSBmaXggdHlwbyBjYXVzaW5nIHNoYWRlciBjb21waWxhdGlvbiBmYWlsdXJlIGZvciB1cGxvYWRpbmcgSTQyMAoKMjAxMi0wOS0yNyAxNTo1Mzo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNjAwLzkwNl0gZG9jczogYWRkIGRvY3MgZm9yIG5ldyBvYmplY3RzIGFuZCBleHBhbmQgb24gc29tZSBleGlzdGluZyBvbmVzCgoyMDEyLTA5LTI2IDA3OjE4OjUzICswMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNTk5LzkwNl0gR0x8RVMyOiBmaXggdHlwb3MgZnJvbSByZWNlbnQgY2hhbmdlcyBhbmQgbWFrZSBkb3dubG9hZGluZyBSR0IgZm9ybWF0cyB3b3JrIGFnYWluCgoyMDEyLTA5LTI1IDE5OjI2OjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs1OTgvOTA2XSBleGFtcGxlczogZml4IGNvbXBpbGF0aW9uIG9mIGNsdXR0ZXJzaGFyZQoKMjAxMi0wOS0yNSAxODoxMzo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNTk3LzkwNl0gdGVzdHM6IGFkZCBzb21lIHNpbXBsZSBwaXBlbGluZSB0ZXN0cyB0byBjaGVjawoKMjAxMi0wOS0yNSAxODowNzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU5Ni85MDZdIGNvbG9yc2NhbGU6IHBvcnQgb3ZlciB0byBmaWx0ZXIgYmFzZSBjbGFzcwoKMjAxMi0wOS0yNSAxODowNjoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTk1LzkwNl0gdXBkYXRlIGZvciBmaWx0ZXIgQVBJIGNoYW5nZQoJICBnbGVmZmVjdHMgbmVlZGVkIGEgc2ltaWxhciBjaGFuZ2UKCjIwMTItMDktMjUgMTc6NTk6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTk0LzkwNl0gZmlsdGVyOiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzIGFuZCBzY2FsaW5nIGZpeGVzCgoyMDEyLTA5LTI1IDE2OjAzOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs1OTMvOTA2XSB0ZXN0c3JjL2ltYWdlc2luazogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcwoKMjAxMi0wOS0yNSAxNjowMTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU5Mi85MDZdIG1lbW9yeTogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcwoKMjAxMi0wOS0yNSAxNjowMDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTkxLzkwNl0gbWl4ZXI6IHNhdmUgdGhlIHVwbG9hZCBvYmplY3QgaW5zdGVhZCBvZiBxdWVyeWluZyBmb3IgaXQgZXZlcnkgZnJhbWUKCjIwMTItMDktMjUgMTU6MjA6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU5MC85MDZdIHVwL2Rvd25sb2FkOiBmaXggc2NhbGluZyBvbiB0cmFuc2ZlcgoJICBpLmUuIHVwbG9hZGluZyBmcm9tIGEgMTB4MTAgdmlkZW8gZnJhbWUgdG8gYSAyMHgyMCB0ZXh0dXJlIGludG8gYW5vdGhlciAzMHgzMCB2aWRlb2ZyYW1lCgoyMDEyLTA5LTIwIDIzOjQ1OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTg5LzkwNl0gUmV2ZXJ0ICJHTENvbG9yc2NhbGU6IGNvbnZlcnQgdG8gYSBiaW4gb2YgZ2x1cGxvYWQgISBnbGRvd25sb2FkIgoJICBUaGUgZWxlbWVudHMgbm8gbG9uZ2VyIGV4aXN0IHNvIHdlIGhhdmUgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudAoKMjAxMi0wOS0yMCAyMzo0MTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFs1ODgvOTA2XSBtb3NhaWM6IHVwZGF0ZSBmb3IgbWl4ZXIgY2hhbmdlcyBhbmQgY29udmVuaWVuY2UgQVBJCgoyMDEyLTA5LTIwIDIzOjI3OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1ODcvOTA2XSBtaXhlcjogbWlycm9yIHRoZSBjaGFuZ2VzIGRvbmUgZm9yIGZpbHRlcgoKMjAxMi0wOS0yMCAyMzoyMToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTg2LzkwNl0gZml4IHVwIHNvbWUgZGVidWcgc3RhdGVtZW50cyB0byBnZXQgdGhlbSBpbnRvIHRoZSByaWdodCBjYXRlZ29yaWVzCgoyMDEyLTA5LTIwIDIzOjIwOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTg1LzkwNl0gZ2x0ZXN0c3JjOiB1cGRhdGUgZm9yIG5ldyBHTERvd25sb2FkIGluIGxpYnMKCjIwMTItMDktMjAgMjM6MTY6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTg0LzkwNl0gZ2xpbWFnZXNpbms6IHVwZGF0ZSBmb3IgbmV3IEdMVXBsb2FkIG9iamVjdCBpbiBsaWJzCgoyMDEyLTA5LTIwIDIzOjA2OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzU4My85MDZdIGRlaW50ZXJsYWNlOiBjaGFuZ2UgZm9yIG5ldyBBUEkKCSAgYWxzbyBhbGxvdyBlbGVtZW50cyB0byBjYWxsIHRoZSBfZmlsdGVyX3RleHR1cmUgdmZ1bmMgaWYgdGhleSB3YW50CgoyMDEyLTA5LTIwIDIzOjAzOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU4Mi85MDZdIGZpbHRlcnM6IGNoYW5nZXMgZm9yIG5ldyBBUEkKCjIwMTItMDktMTkgMDA6MzI6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTgxLzkwNl0gZmlsdGVyOiBhZGQgc2VwZXJhdGUgZmlsdGVyIGZ1bmN0aW9uIGZvciBvcGVyYXRpbmcgb24gdGV4dHVyZXMgaW5zdGVhZCBvZiBidWZmZXJzCgoyMDEyLTA5LTE5IDAwOjI5OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBbNTgwLzkwNl0gYnVmZmVycG9vbDogcmVtb3ZlIG9ic2VsZXRlIGdsIG1ldGEgYnVmZmVyIHBvb2wgb3B0aW9ucwoKMjAxMi0wOS0xOCAyMTo0MjoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTc5LzkwNl0gZG93bmxvYWQ6IGZpeCBZVjEyIGZvcm1hdAoJICBzYW1lIGFzIEk0MjAgYnV0IHBsYW5lIDErMiBzd2FwcGVkCgoyMDEyLTA5LTE4IDIxOjM5OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3OC85MDZdIHt1cCxkb3dufWxvYWQ6IGFkZCB2YXJpYW50cyB0aGF0IGNhbiBiZSBjYWxsZWQgaW4gdGhlIGdsIHRocmVhZAoKMjAxMi0wOS0xNyAxMDozNzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs1NzcvOTA2XSByZW1vdmUgdXBsb2FkIGFuZCBkb3dubG9hZCBlbGVtZW50cyBmcm9tIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTItMDktMTcgMTA6MzA6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3Ni85MDZdIHJlbW92ZSB1bmVlZGVkIEdzdEdMTWV0YSAodXNlIEdzdFZpZGVvTWV0YSkKCjIwMTItMDktMTYgMjE6NDI6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTc1LzkwNl0gZmlsdGVyOiBwb3J0IHRvIG5ldyB1cGxvYWQvZG93bmxvYWQKCjIwMTItMDktMTYgMjE6MzY6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbNTc0LzkwNl0gbWVtb3J5OiBpbXBsZW1lbnQgdHJhbnNwZXJlbnQgdXBsb2FkL2Rvd25sb2FkIGZvciBkYXRhCgkgIChub3QgYXN5bmMgeWV0KQoKMjAxMi0wOS0xNiAyMToyMzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTczLzkwNl0gYWRkIHVwbG9hZCBhbmQgZG93bmxvYWQgbGlicmFyeSBvYmplY3RzCgkgIGFsbG93cyBtdWx0aXBsZSB1cGxvYWQgcGlwZWxpbmVzIHRoYXQgcHJldmlvdXNseSB3YXNuJ3QgcG9zc2libGUKCSAgKGkuZS4gdXBsb2FkIFJHQiBhbmQgSTQyMCBhbmQgLi4uIG9uIHRoZSBzYW1lIEdzdEdMRGlzcGxheSkKCjIwMTItMDktMTYgMjE6MTE6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs1NzIvOTA2XSByZW1vdmUgdXBsb2FkIGFuZCBkb3dubG9hZCBlbGVtZW50cwoJICB0byBiZSByZXBsYWNlZCBieSB1cGxvYWQgYW5kIGRvd25sb2FkIGluIG1lbW9yeQoKMjAxMi0wOS0wNSAxNDo1ODozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTcxLzkwNl0gbWl4ZXI6IGZpeCBkZWFkbG9jayBvbiBzaHV0ZG93bgoJICBkaWRuJ3QgcmVpdGVyYXRlIG92ZXIgdGhlIHNpbmtwYWQncyBkaXNwbGF5cyBhbmQgcmVhY3RpdmF0ZSB0aGVtIGNhdXNpbmcgYSBkZWFkbG9jawoKMjAxMi0wOS0wNCAyMjo1MDowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NzAvOTA2XSByZW1vdmUgdGhlIHJlcXVpcmVtZW50IGZvciBWaWRlb01ldGEgdG8gYmUgcHJlc2VudCBvbiBub24tR0wgYnVmZmVycwoKMjAxMi0wOC0yMCAxNjo1NTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzU2OS85MDZdIGRpZmZlcmVuY2VtYXR0ZTogcHJldmVudCBkb3VibGUgdW5yZWYgb2Ygc2hhZGVyIGFuZCBtaWR0ZXh0dXJlCgoyMDEyLTA4LTI3IDE0OjA4OjE2ICswMDAwICBNYXR0aGV3IDxtYXR0QG1hdHQtYnVudC1sYXB0Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNTY4LzkwNl0gd2luZG93OiBmaXggcHVibGljIGRlZmluaXRpb25zCgoyMDEyLTA4LTI3IDE0OjA3OjMxICswMDAwICBNYXR0aGV3IDxtYXR0QG1hdHQtYnVudC1sYXB0Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNTY3LzkwNl0gZml4IE9wZW5HTHxFUzIgaWZkZWYnZWQgY29kZQoKMjAxMi0wOC0yMCAxMzoyNzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs1NjYvOTA2XSBlZmZlY3RzOiBhdm9pZCB1c2luZyB0YW5oIGluIHNpbl9mcmFnbWVudAoJICBJdCBwcm9kdWNlcyB3ZWlyZCByZXN1bHRzIG9uIG5vdXZlYXUuCgkgIFByb3ZpZGUgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gd2l0aCAoMS1zaW5oKSpjb3NoCgoyMDEyLTA4LTIwIDEzOjA2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzU2NS85MDZdIGVmZmVjdHM6IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gd2l0aCBtZXNhIGRyaXZlcnMKCjIwMTItMDgtMTUgMjE6Mzc6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs1NjQvOTA2XSBnbG1lbW9yeTogcmVtb3ZlIHVudXNlZCB0eXBlZGVmCgoyMDEyLTA4LTE1IDE2OjUyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU2My85MDZdIHJlYWRkIHN1cHBvcnQgZm9yIGhhbmdpbmcgR0wgcGlwZWxpbmVzIGUuZy4gLi4uICEgZ2xlZmZlY3RzICEgZmFrZXNpbmsKCjIwMTItMDgtMTUgMTU6MzU6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTYyLzkwNl0gZ2xkaXNwbGF5OiBmaXggZG93bmxvYWQgb2YgWVVWIGZvcm1hdHMKCjIwMTItMDgtMTQgMjM6NTU6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTYxLzkwNl0gZ2xkaXNwbGF5OiBmaXggZW5kaWFuZXNzIGlzc3VlcyBvbiBSR0IgZG93bmxvYWQKCjIwMTItMDgtMTQgMTQ6NDE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs1NjAvOTA2XSBleGFtcGxlczogdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMgYW5kIGdsaW1hZ2VzaW5rIGNoYW5nZXMKCjIwMTItMDgtMTQgMDI6MDU6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzU1OS85MDZdIGdsbWl4ZXI6IHBhc3MgdGhlIG1peHBhZCdzIGRpc3BsYXkgdG8gdGhlIHF1ZXJ5aW5nIGVsZW1lbnQKCjIwMTItMDgtMTIgMTk6MDM6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNTU4LzkwNl0gYWRkIG1pc3NpbmcgaW5jbHVkZXMgZm9yIF9wb3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlIGluIGdsY29sb3JzcGFjZQoKMjAxMi0wOC0xMCAxNjo0MToxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs1NTcvOTA2XSBGaXggcGx1Z2luIGRlZmluZSBhbmQgcmVtb3ZlIHdhcm5pbmcKCjIwMTItMDgtMTAgMTU6NTU6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1NTYvOTA2XSBHTENvbG9yc2NhbGU6IGNvbnZlcnQgdG8gYSBiaW4gb2YgZ2x1cGxvYWQgISBnbGRvd25sb2FkCgoyMDEyLTA4LTEwIDE1OjMxOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU1NS85MDZdIE1ha2UgdGhlIHF1ZXJ5IGZvciBhIEdzdEdMRGlzcGxheSBhIHBhZCBwZWVyIHF1ZXJ5CgkgIEFsbG93cyB0aGUgcXVlcnkgdG8gcGFzcyB0aHJvdWdoIGJpbiBib3VuZGFyaWVzIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IKCSAgYXJiaXRyYXJ5IGdsIGVsZW1lbnRzIHRvIGJlIHBsYWNlZCBpbiBiaW5zLgoKMjAxMi0wOC0wOCAxNjowODo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU1NC85MDZdIEdzdEdMTWVtb3J5OiB1cGRhdGUgZm9yIEdzdEFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0xNiAyMzozMTozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzU1My85MDZdIEdzdEdMRmlsdGVyU2hhZGVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAyMzoyMjo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzU1Mi85MDZdIEdzdEdMRmlsdGVyQXBwOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAyMjo0MDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NTEvOTA2XSBHc3RHTE92ZXJsYXk6IGZpeCBsb2FkaW5nIG9mIG5vbi1zcXVhcmUgb3ZlcmxheXMKCSAgbGlianBlZyBjb21wbGFpbnMgYWJvdXQgIkFwcGxpY2F0aW9uIHJlYWQgdG9vIHttYW55LGZld30gc2NhbiBsaW5lcyIgaW4gbm9uLXNxdWFyZSBpbWFnZXMKCjIwMTItMDctMTYgMjE6NDA6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTUwLzkwNl0gR3N0R0xPdmVybGF5OiBmaXggbGliUE5HIGNvbXBsYWluaW5nIGFib3V0IHVuc2lnbmVkIGludGVnZXIgYmVpbmcgb3V0IG9mIHJhbmdlCgoyMDEyLTA3LTE2IDIxOjM1OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU0OS85MDZdIEdzdEdMT3ZlcmxheTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMTU6MDY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs1NDgvOTA2XSBHc3RHTERpZmZlcmVuY2VNYXR0ZTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMDA6MzY6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs1NDcvOTA2XSBHc3RHTEJ1bXBlcjogZml4IGxpYlBORyBjb21wbGFpbmluZyBhYm91dCBpbnZhbGlkIHBuZyBmaWxlcwoJICBXZSBmYWlsZWQgdG8gaW5mb3JtIGxpYlBORyB0aGF0IHdlIGhhZCBhbHJlYWR5IHJlYWQgdGhlIGhlYWRlcgoKMjAxMi0wNy0xNiAwMDowMzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNTQ2LzkwNl0gR3N0R0xGaWx0ZXJTb2JlbDogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTMgMDE6MDc6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs1NDUvOTA2XSBHc3RHTEJ1bXBlcjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTMgMDE6MDQ6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NDQvOTA2XSBmaXggbWVtb3J5IGxlYWtzIGZyb20gbm90IGdfZnJlZSgpaW5nIHN0cmluZyByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9nZXRfbmFtZQoKMjAxMi0wNy0xMiAxODoyMjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NDMvOTA2XSBHc3RHTERpc3BsYXk6IGZpeCBzZWdmYXVsdCBmcm9tIEdTVF9QVFJfRk9STUFUIHRyeWluZyB0byBleHBhbmQgdGhlIG9iamVjdAoKMjAxMi0wNy0xMiAxODoxOTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBbNTQyLzkwNl0gR3N0R0xNaXhlcjogYWRkIGFsbG9jYXRpb24gYW5kIGJ1ZmZlcnBvb2wgbWV0aG9kcwoJICBiYXNlZCBvZmYgR3N0QmFzZVRyYW5zZm9ybQoKMjAxMi0wNy0xMiAxODoxMToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs1NDEvOTA2XSBHc3RHTFRlc3RTcmM6IGdlbmVyYXRlIGEgR0xCdWZmZXJQb29sIGluc3RlYWQgb2YgYSBWaWRlb0J1ZmZlclBvb2wgaW4gZGVjaWRlX2FsbG9jYXRpb24KCjIwMTItMDctMTIgMTg6MDk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbNTQwLzkwNl0gR3N0R0xNb3NhaWM6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEyIDE4OjA3OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUzOS85MDZdIEdzdEdMSW1hZ2VTaW5rOiBmb2xkIG11bHRpcGxlIGZpZWxkcyBpbnRvIG9uZSBhbmQgdXNlIFZJREVPX1NJTktfKiBmb3Igd2luZG93IHdpZHRoL2hlaWdodAoJICByZXBsYWNlIHRoZSBjYXBzIGluZm9ybWF0aW9uIHdpdGggYSBHc3RWaWRlb0luZm8KCSAgcGxhY2UgdGhlIHdpbmRvdyB3aWR0aC9oZWlnaHQgaW5mb3JtYXRpb24gd2lkdGggVklERU9fU0lOSwoKMjAxMi0wNy0xMSAxNDoyMDoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbNTM4LzkwNl0gR3N0R0xEZWludGVybGFjZTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6NTU6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs1MzcvOTA2XSBHc3RHTEZpbHRlclJlZmxlY3RlZFNjcmVlbjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6Mzc6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzUzNi85MDZdIEdzdEdMRmlsdGVyR2xhc3M6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjExOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNTM1LzkwNl0gR3N0R0xGaWx0ZXJMYXBsYWNpYW46IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDAxOjI1OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzUzNC85MDZdIEdzdEdMRmlsdGVyQ3ViZTogVXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMDE6MTA6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNTMzLzkwNl0gR3N0R0xGaWx0ZXJCbHVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0wOSAyMjoyNzo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1MzIvOTA2XSBHc3RHTEZpbHRlcjogaW1wbGVtZW50IGFsbG9jYXRpb24gdmZ1bmNzCgoyMDEyLTA3LTA5IDIyOjI2OjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzUzMS85MDZdIEdzdEdMRWZmZWN0czogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMDkgMTY6MTc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MzAvOTA2XSBHc3RHTFVwbG9hZDogZml4IHZpZGVvIHNjYWxpbmcgYW5kIHVzZSBHTF9VUExPQURfQ0FQUwoKMjAxMi0wNy0wOSAxNjoxNToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTI5LzkwNl0gR3N0R0xEb3dubG9hZDogZml4IHZpZGVvIHNjYWxpbmcgYW5kIHVzZSBHTF9ET1dOTE9BRF9DQVBTCgoyMDEyLTA3LTA5IDE2OjEzOjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSAgWzUyOC85MDZdIEdzdEdMTWV0YTogc2VwZXJhdGUgdXBsb2FkL2Rvd25sb2FkL25vcm1hbCBHTCBjYXBzIHZpZGVvIGZvcm1hdHMKCSAgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHVwbG9hZCwgZG93bmxvYWQgYW5kIEdMIGNhcHMKCjIwMTItMDctMDkgMTY6MTI6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTI3LzkwNl0gR3N0R0xEaXNwbGF5OiBhZGQgc29tZSB0cmFjZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDggMTM6MTE6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1MjYvOTA2XSBHc3RHTFRlc3RTcmM6IHVwZGF0ZSBmb3IgMS4wCgkgIGltcGxlbWVudCBkZWNpZGVfYWxsb2NhdGlvbgoJICByZW5hbWUgcHVzaF9zcmNfY3JlYXRlIHRvIF9maWxsCgkgIHVzZSBHc3RWaWRlb0luZm8gdG8gY29udmVydCB0aW1lcwoJICBtYWtlIHVzZSBvZiBHc3RHTE1ldGEgYW5kIGZyaWVuZHMKCjIwMTItMDctMDggMDE6NTA6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzUyNS85MDZdIEdzdEdMRG93bmxvYWQ6IGFkZCBhbGxvY2F0aW9uIG1ldGhvZHMgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSBHc3RHTERvd25sb2FkIHdvcmsgd2l0aCB0aGUgbmV3IEdzdEdMTWV0YSBhbmQgZnJpZW5kcwoKMjAxMi0wNy0wOCAwMTo0OTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzUyNC85MDZdIEdzdEdMRGlzcGxheTogcmV3b3JrIHRoZSBkb3dubG9hZCBjb2RlCgkgIGRhdGEgcGFyYW1hdGVycyBub3cgdGFrZSBHc3RWaWRlb0ZyYW1lCgkgIHJlbW92ZSByZWR1bmRhbnQgcGFyYW1ldGVycwoKMjAxMi0wNy0wOCAwMToxMTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MjMvOTA2XSB1cGRhdGUgZm9yIG1ldGEgQVBJIGNoYW5nZXMKCjIwMTItMDctMDggMDE6MTA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTIyLzkwNl0gR3N0R0xEaXNwbGF5OiBhZGQgZm9yZ290dGVuIGZ1bmN0aW9uIGRlZmluaXRpb24KCjIwMTItMDctMDggMDE6MDk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1MjEvOTA2XSBHc3RHTE1lbW9yeTogdXBkYXRlIGZvciBHc3RBbGxvY2F0b3IgY2hhbmdlcwoKMjAxMi0wNy0wNyAyMjo1NjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTIwLzkwNl0gR3N0R0xNaXhlcjogZml4IGZvciBHc3RDaGlsZFByb3h5IGNoYW5nZXMKCjIwMTItMDctMDYgMTk6MTA6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTE5LzkwNl0gR3N0R0xVcGxvYWQ6IGltcGxlbWVudCB0aGUgYWxsb2NhdGlvbiBmdW5jcyBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIHVzZSBvZiB0aGUgbmV3IEdzdEdMTWV0YSwgR3N0R0xNZW1vcnkgYW5kIEdzdEdMQnVmZmVyUG9vbCBvYmplY3RzCgoyMDEyLTA3LTA2IDE5OjA3OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUxOC85MDZdIEdzdEdMSW1hZ2VTaW5rOiBhZGQgcHJvcG9zZV9hbGxvY2F0aW9uIGltcGwgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSB1c2Ugb2YgR3N0R0xNZXRhIGFuZCBHc3RHTE1lbW9yeQoKMjAxMi0wNy0wNiAxOTowNTowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBbNTE3LzkwNl0gYWRkIEdzdEdMQnVmZmVyUG9vbAoJICB3aGljaCBhZGRzIEdzdEdMTWV0YSB0byBidWZmZXJzCgoyMDEyLTA3LTA2IDE4OjU3OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkgIFs1MTYvOTA2XSBhZGQgc2tlbGV0b24gR3N0R0xNZXRhCgkgIHRoZSBHc3RWaWRlb01ldGEgX21hcC91bm1hcCBmdW5jdGlvbnMgc3RpbGwgbmVlZCBpbXBsZW1lbnRpbmcKCjIwMTItMDctMDYgMTg6NTE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs1MTUvOTA2XSBHc3RHTERpc3BsYXk6IHJld29yayBnZW5fdGV4dHVyZSBhbmQgdXBsb2FkCgkgIHJlbmFtZSBmdW5jdGlvbnMgc28gdGhhdCBvdGhlciBjb2RlIGNhbiBjcmVhdGUgdGV4dHVyZXMgaW4gdGhlIEdMIHRocmVhZAoJICBjaGFuZ2UgdXBsb2FkIGZ1bmN0aW9ucyB0byB0YWtlIGEgR3N0VmlkZW9GcmFtZQoJICBkZWZhdWx0IHRvIEdMU0wgZm9yIHVwbG9hZCBjb252ZXJzaW9uCgoyMDEyLTA3LTA2IDE4OjIyOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs1MTQvOTA2XSBhZGQgR3N0R0xNZW1vcnkgYW5kIGFsbG9jYXRvcgoJICBpbXBsZW1lbnQgY3VzdG9tIEdzdE1lbW9yeSBmb3IgR0wgdGV4dHVyZXMKCSAgY3VycmVudGx5IG1hcC91bm1hcCByZXR1cm5zIE5VTEwgYWx0aG91Z2ggaXQgbWlnaHQgYmUgZmF2b3VyYWJsZSB0byB1cGxvYWQvZG93bmxvYWQvY2FjaGUgdGhlIGltYWdlIGRhdGEKCjIwMTItMDYtMTkgMTg6NDA6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1MTMvOTA2XSBSZW1vdmUgR3N0R0xCdWZmZXIgKHRvIGJlIHJlcGxhY2VkIGJ5IEdzdEdMTWV0YSkKCjIwMTItMDYtMTkgMTU6NTQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzUxMi85MDZdIEdzdEdMTWl4ZXI6IHVwZGF0ZSBmb3IgMS4wIGJhc2VkIG9uIHRoZSB2aWRlb21peGVyMiBlbGVtZW50IGluIC1nb29kCgoyMDEyLTA2LTA3IDAwOjUxOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNTExLzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDIyOjU5OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUxMC85MDZdIEdzdEdMSW1hZ2VTaW5rOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxOToxMDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNTA5LzkwNl0gR3N0R0xEaXNwbGF5OiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxODo1MzozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTA4LzkwNl0gR3N0R0xEb3dubG9hZDogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTU6NDA6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTA3LzkwNl0gR3N0R0xUZXN0U3JjOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxMzo1Njo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUwNi85MDZdIEdzdEdMVXBsb2FkOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNCAxODo0NDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIFs1MDUvOTA2XSBHc3RHTENvbG9yc2NhbGU6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTAzIDIwOjQwOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzUwNC85MDZdIEdzdEdMRmlsdGVyOiB1cGRhdGUgZm9yIDEuMAoJICAtZml4IHVwIGZ1bmN0aW9uIGRlZmluaXRpb25zCgkgIC1yZW1vdmUgX3ByZXBhcmVfb3V0cHV0X2J1ZmZlciAoZnVuY3Rpb25hbGl0eSB0YWtlbiBvdmVyIGJ5IEdzdEJ1ZmZlclBvb2wpLgoKMjAxMi0wNS0zMCAxMzo0NjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTAzLzkwNl0gUmVuYW1lIEdTVF9CT0lMRVJQTEFURV8qIHRvIEdfREVGSU5FX1RZUEVfKiBhbmQgbW92ZSBfYmFzZV9pbml0IGludG8gX2NsYXNzX2luaXQKCjIwMTItMDUtMjkgMTc6NTU6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIFs1MDIvOTA2XSBVcGRhdGUgdmVyc2lvbmluZyBmb3IgZ3N0cmVhbWVyIDEuMAoJICBSZW5hbWVzIEdTVF9NQUpPUk1JTk9SIHRvIEdTVF9BUElfVkVSU0lPTiBpbiBidWlsZCBmaWxlcwoJICByZW1vdmVzIC1sZ3N0aW50ZXJmYWNlcyBmcm9tIF9MREFERCBmbGFncwoKMjAxMi0wNS0yMCAxODo0NTowNiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs1MDEvOTA2XSBGaXggYnVpbGRpbmcgb24gNjQgYml0IG1pbmd3LXc2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NDI4CgoyMDEyLTA0LTIwIDEyOjMzOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUwMC85MDZdIGdsZGlzcGxheTogZG8gbm90IGNhbGwgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzIGlmIDAgaXMgYm91bmQKCSAgSW5kZWVkIGl0IG1heSByZXR1cm4gR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVEIGlmIHRoZXJlIGlzIG5vCgkgIGRlZmF1bHQgZnJhbWVidWZmZXIuCgkgIEl0IHNlZW1zIHRvIGJlIHRoZSBjYXNlIG9uIE1hY09TWAoKMjAxMi0wNC0yMCAxMToxOTozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs0OTkvOTA2XSBleGFtcGxlczogZml4IGJ1aWxkIG9uIE1hY09TWAoKMjAxMi0wNC0yMCAxMDo0MTo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ5OC85MDZdIGdsZGlzcGxheTogZG9uJ3QgcGFzcyBub24tY29uc3RhbnQgc3RyaW5ncyBhcyBwcmludGYgZm9ybWF0IHN0cmluZ3MKCSAgRml4ZXMgJ2Zvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cycgb24gZGFyd2luCgoyMDEyLTA0LTIwIDEwOjMyOjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNDk3LzkwNl0gZmlsdGVyc2hhZGVyOiBmaXggZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTA0LTIwIDEwOjI2OjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzQ5Ni85MDZdIGNtYWtlIGJ1aWxkOiBhZGQgcGF0aCB0byBjb25maWcuaCBvbiBBUFBMRQoKMjAxMi0wNC0xOCAxNTo0NDowNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzQ5NS85MDZdIGdsRVMyLjA6IHByb3Blcmx5IHVzZSBnbERlbGV0ZVNoYWRlcgoKMjAxMi0wNC0xNyAxODoyNTo1NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzQ5NC85MDZdIGNtYWtlIGJ1aWxkOiB1c2UgY29uZmlnLmggZnJvbSB3aW4zMi9jb21tb24gYW5kIGFkZCBzb21lIGd1aWRlbGluZXMKCjIwMTMtMDYtMjggMDA6MDQ6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzQ5My85MDZdIGdsZmlsdGVyc2hhZGVyOiBmaXggY3Jhc2ggd2hlbiBsb2FkaW5nIHNoYWRlciBmaWxlCgkgIEp1c3QgdXNlIGdfZmlsZV9nZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIGhvbWUtbWFkZSBmaWxlIGxvYWRpbmcuCgkgIEZpeGVzIHR3byBpc3N1ZXMgLSBvbmUgaXMgdGhhdCB3ZSBzaG91bGQgcGFzcyAiciIgdG8gZm9wZW4gYW5kCgkgIG5vdCBPX1JET05MWSwgdGhlIG90aGVyIGlzIHRoYXQgYW4gaW5jb3JyZWN0IHZhcmlhYmxlIHdhcyB1c2VkCgkgIHRvIHJlYWQgdGhlIGZpbGUgbGVuZ3RoLCBsZWFkaW5nIHRvIGFuIGVtcHR5IHNoYWRlciBmaWxlLgoJICBTcG90dGVkIGJ5OiBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NDUKCSAgQ29uZmxpY3RzOgoJICBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYwoKMjAxMi0wNC0xMyAxNTowODowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNDkyLzkwNl0gZ2x3aW5kb3c6IHByb3Blcmx5IGZhaWxzIGlmIHJlc291cmNlIG5vdCBmb3VuZAoKMjAxMi0wNC0xMyAxMjozODoxMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ5MS85MDZdIGdsRVMyLjA6IHByb3Blcmx5IGZhaWxzIGlmIGRyaXZlci9rZXJuZWwgaW5jb25zaXN0ZW5jeQoKMjAxMi0wNC0xMSAxMDo0NDoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzQ5MC85MDZdIGdsZGlzcGxheTogZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQKCjIwMTItMDQtMTAgMTY6MTI6MTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0ODkvOTA2XSBnbGltYWdlc2luazogcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG5vdyByZXR1cm5zICIxLzEiIGJ5IGRlZmF1bHQKCSAgUHJldmlvdXNseSBpdCB3YXMgbm90IHNldAoJICBGaXggYnVnICM2NzE3MzQgKGNvbXBhdGliaWxpdHkgd2l0aCBUb3RlbSkKCjIwMTItMDQtMDQgMTY6MjI6NDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0ODgvOTA2XSBsaWJ2aXN1YWwtZ2w6IGZ1bGwgY29tcGF0aWJpbGl0eSB3aXRoIHByb2plY3RNLWxpYnZpc3VhbCBpZiBsaWJwcm9qZWN0TSA+PSAyLjAuMQoJICBGaXggYnVnICMzMTA3NzUKCjIwMTItMDMtMDYgMTQ6MzE6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzQ4Ny85MDZdIGdsOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgJ2lmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keScsIHdoaWNoIHdlcmUgcmVhbCBidWdzIGFuZAoJICAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UnLCB3aGljaCB3YXMKCSAgb25seSBhbiB1bm5lZWRlZCBjb21wYXJpc29uLgoKMjAxMS0xMi0yMiAxNTozMDozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0ODYvOTA2XSBsaWJ2aXN1YWwtZ2w6IGFkZCBtaW5pbWFsIHN1cHBvcnQgdG8gbGlidmlzdWFsIHBsdWdpbnMgdGhhdCB1c2VzIEZyYW1lYnVmZmVyIG9iamVjdHMKCSAgRml4IGJ1ZyAjMzEwNzc1CgkgIGdzdC1sYXVuY2ggYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX3Byb2plY3RNICEgZ2xpbWFnZXNpbmsgaXMgd29ya2luZwoJICBidXQgZm9yIG5vdyB5b3UgY2Fubm90IGFwcGVuZCBhbnkgb3RoZXIgb3BlbmdsIGZpbHRlcnMgYmV0d2VlbgoJICBsaWJ2aXN1YWxfZ2xfcHJvamVjdE0gYW5kIGdsaW1hZ2VzaW5rIGJlY2F1c2Ugb3VyIEZCTyBpcyB0dXJuZWQgT0ZGLgoJICBJdCB3b3VsZCByZXF1aXJlIHRoYXQgbGlidmlzdWFsIGFsbG93cyB0byBzcGxpdCByZW5kZXJpbmcgYmV0d2VlbgoJICBwYXNzMSwyLDMuLi4gYW5kIGZpbmFsIHJlbmRlcmluZy4gSW4gb3JkZXIgdG8gdW5iaW5kIG91ciBGQk8gYmVmb3JlCgkgIHRoZSBwYXNzTiwgYW5kIHRoZW4gcmViaW5kIGl0IGp1c3QgYmVmb3JlIHRoZSBmaW5hbCBsaWJ2aXN1YWwgcmVuZGVyaW5nLgoKMjAxMS0xMi0xNSAxODoxMzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0ODUvOTA2XSBnc3RnbGRpc3BsYXk6IHR1cm4gb2ZmIHRleHR1cmUgYmluZGluZyBhbmQgcmVhZCBidWZmZXIgd2hlbiBkb3dubG9hZGluZyByZ2IgaXMgZG9uZQoJICBJdCBmaXhlczogKGJsYWNrIGltYWdlIGJlZm9yZSkKCSAgZ3N0LWxhdW5jaC0wLjEwIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9sdl9nbHRlc3QgISBnbGRvd25sb2FkICEgeGltYWdlc2luawoJICBhbmQKCSAgZ3N0LWxhdW5jaC0wLjEwICBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfbHZfZ2x0ZXN0ICEgZ2xkb3dubG9hZCAhIGdsaW1hZ2VzaW5rCgoyMDExLTEyLTE1IDE4OjA4OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkgIFs0ODQvOTA2XSBsaWJ2aXN1YWxfZ2w6IGNvcnJlY3RseSBzZXR1cCBkZXB0aCBhbmQgYmxlbmQgZnVuY3Rpb25zCgoyMDExLTEyLTE1IDE2OjE4OjM2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDgzLzkwNl0gZ2xlbGVtZW50czogZG8gbm90IGxlYWsgcGFyZW50IHdoZW4gdXNpbmcgZ3N0X3BhZF9nZXRfcGFyZW50CgoyMDExLTExLTI1IDE2OjUxOjU5ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9DTWFrZUxpc3RzLnR4dDoKCSogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSAgWzQ4Mi85MDZdIGV4dDogQWRkIGEgbGlidmlzdWFsIHBsdWdpbiB3cmFwcGluZyBvcGVuZ2wgbGlidmlzdWFsCgkgIEZpeCBidWcgIzIwMjA2OQoKMjAxMS0xMS0yNCAxNjowMjozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0ODEvOTA2XSBmZWF0dXJlIGNoZWNraW5nOiBlcnJvciBvdXQgaW5zdGVhZCBvZiBkb2luZyBub3RoaW5nIGlmIGFuIE9wZW5HTCBmZWF0dXJlIGlzIG5vdCBwcmVzZW50CgkgIEZpeCBidWcgIzU3Mjc2NwoKMjAxMS0xMS0yMSAxNjo0Njo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQ4MC85MDZdIHdpbjMyIGJ1aWxkczogYWRkIGdsc2hhZGVyIGZpbHRlciBzb3VyY2VzIHRvIHZzOSBhbmQgY29kZWJsb2NrcwoJICBBbHNvIGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkgYW5kIG1pbmd3LTMuNC41CgoyMDExLTExLTIxIDE1OjA0OjE2ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNDc5LzkwNl0gZ3N0Z2xzaGFkZXJ2YXJpYWJsZXM6IHN0cnRva19yIGlzIG5vdCBtdWx0aXBsYXRmb3JtCgkgIEZpeCBidWcgIzY2NDM2NwoKMjAxMS0xMS0xOCAxNzozMjowNSArMDEwMCAgV2VpIEZlbmcgPHdlaS5mZW5nLndheW5lQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNDc4LzkwNl0gT3BlbkdMIEVTIDIuMDogaW5jbHVkZSBnbGliLmggdG8gdXNlIEdfQkVHSU5fREVDTFMgaW4gZ3N0Z2xlczIuaAoJICBGaXggYnVnICM2MzEwMTkKCjIwMTEtMTEtMTggMTc6Mjc6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgWzQ3Ny85MDZdIE9wZW5HTCBFUyAyLjA6IGZpeCBidWlsZCBzaW5jZSBnbGZpbHRlcnNoYWRlciBjaGFuZ2VzCgoyMDExLTExLTE4IDE3OjI2OjM1ICswMTAwICBBbnRvbmkgU2lsdmVzdHJlIDxhbnRvbmkuc2lsdmVzdHJlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzQ3Ni85MDZdIE9wZW5HTCBFUyAyLjA6IGZpeCBidWlsZCBhbmQgZGlzYWJsZSBzb21lIGV4YW1wbGVzCgkgIEZpeCBidWcgIzYzMTAxOQoKMjAxMS0xMS0xOCAxMjoxNjoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzQ3NS85MDZdIGRvY3M6IGFkZCBnbG1vc2FpYyBhbmQgZ2xzaGFkZXIgdG8gZG9jcwoKMjAxMS0xMS0xOCAxMTo1MjoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3NC85MDZdIGJ1aWxkOiBtYWtlIGxpYmpwZWcgdXNlIGNvbmRpdGlvbmFsCgkgIERpc2FibGUgZ2xvdmVybGF5IGVsZW1lbnQgaWYgd2UgZG8gbm90IGh2ZSBsaWJqcGVnCgoyMDExLTExLTE4IDEwOjEwOjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzQ3My85MDZdIGNtYWtlIGJ1aWxkOiAyLjggaXMgbm93IHJlcXVpcmVkIGFuZCBhZGQganBlZwoJICBqcGVnIGFuZCBwbmcgc2hvdWxkIGJlIG9wdGlvbmFsIGJ1dCBvdXIgY21ha2UgYnVpbGQgaXMgc3RpbGwgaW4gcHJlLWFscGhhCgoyMDExLTExLTE4IDA4OjA4OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzIvOTA2XSBsaW5wbmc6IG1ha2UgbGlicG5nIHVzZSBjb25kaXRpb25hbAoJICBEaXNhYmxlIDMgZWxlbWVudHMgaWYgd2UgZG9uJ3QgaGF2ZSBsaWJwbmcuCgoyMDExLTExLTE3IDE3OjM2OjQ0ICswMTAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXhAZnJlZXN1cmYuY2g+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3MS85MDZdIGdsc2hhZGVyOiBhZGQgZHluYW1pYyBmcmFnbWVudCBzaGFkZXIgZmlsdGVyCgkgIEFsc28gYWRkIGZyYWdtZW50IHNoYWRlciBwYXJzZXIKCSAgRml4IGJ1ZyAjNjAwMTk1CgoyMDExLTExLTE3IDE1OjIyOjA2ICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDcwLzkwNl0gZ2xvdmVybGF5OiBhZGQganBlZyBzdXBwb3J0CgkgIEZpeCBidWcgIzYzNjA3MAoKMjAxMS0xMS0xNyAxMTozOTo1MCArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0NjkvOTA2XSBnbG92ZXJsYXk6IG1hbmFnZSByYXRpbyB0ZXh0dXJlCgkgIEZpeCBidWcgIzYzMDUyNQoKMjAxMS0xMS0xNyAxMTozNDoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJICBbNDY4LzkwNl0gdGVzdHM6IGZpeCBjb21tZW50YXJ5IGluIGNsdXR0ZXJhY3RvciBleGFtcGxlCgoyMDExLTExLTE2IDE2OjUzOjI1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNDY3LzkwNl0gdGVzdHM6IHZhcmlvdXMgYnVpbGQgZml4ZXMKCSAgLSBjbWFrZSBjb3VsZCBub3QgZmluZCBnbGliCgkgIC0gcHV0IGd0ayB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyB0byBhdm9pZCBHTCBjb25mbGljdHMKCSAgLSB1cGRhdGUgZXhhbXBsZXMgdG8gY2x1dHRlci0xLjgKCSAgLSB1c2UgY29uc3QgaW5zdGVhZCBvZiBkZXByZWNhdGVkIEdfQ09OU1RfUkVUVVJOCgkgIC0gc2V0IG1heCBwZW5kaW5nIGV2ZW50cyB0byAwIHRvIG1ha2UgY3ViZSBleGFtcGxlIHdvcmtzIGFnYWluCgoyMDExLTA4LTAzIDA5OjA4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFs0NjYvOTA2XSB0ZXN0czogRml4IHZhcmlhYmxlIHVudXNlZCBidXQgc2V0IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDgtMDMgMDk6MDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs0NjUvOTA2XSBnbDogRml4IHZhcmlhYmxlIHVudXNlZCBidXQgc2V0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA1LTI1IDExOjIxOjE5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ2NC85MDZdIGdsaW1hZ2VzaW5rOiBJbnRlcmZhY2UgcXVlcnkgc2hvdWxkIHJldHVybiBGQUxTRSBpZiB0aGUgc3VwcGxpZWQgaW50ZXJmYWNlIGlzIG5vdCBHU1RfVFlQRV9YX09WRVJMQVkKCjIwMTAtMTItMTQgMjM6NTY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs0NjMvOTA2XSBBZGQgc29tZSBtb3JlIEdfe0JFR0lOLEVORH1fREVDTFMgdG8gcHVibGljIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzI2MAoKMjAxMC0xMC0xOSAxODowMDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NjIvOTA2XSB2YXJpb3VzOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuIEluY2x1ZGVzIHNvbWUgZ3N0LWluZGVudCBjaGFuZ2VzIGFzIHdlbGwgOi8KCjIwMTAtMDktMTYgMTU6MDA6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs0NjEvOTA2XSB4b3ZlcmxheTogcmVxdWlyZSBiYXNlIGZyb20gZ2l0IGFuZCB1cGRhdGUgdG8gbmV3IEFQSQoKMjAxMC0wOS0wOCAyMDozODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQ2MC85MDZdIGdzdGdsZWZmZWN0czogRml4IHVwcGVyIGJvdW5kIG9mIGFuIGFycmF5IGl0ZXJhdGlvbgoJICAxMCBpcyBhYm92ZSBORUVERURfVEVYVFVSRVMgKGN1cnJlbnRseSA1KSBhbmQgbWFrZXMgdGhlIGNvZGUgY29uc2lzdGVudAoJICB3aXRoIHRoZSByZXN0IG9mIHRoZSB1c2FnZSBpbiB0aGUgZmlsZS4KCjIwMTAtMDgtMTEgMDA6NDc6NDIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzQ1OS85MDZdIEZpeCBkaXN0Y2hlY2suCgoyMDEwLTA3LTIzIDIyOjEyOjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDU4LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkKCjIwMTAtMDctMTIgMTg6Mzg6NTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0NTcvOTA2XSBndGsgZXhhbXBsZXM6IGFkYXB0IGNvZGUgc2luY2UgdGhlIG5hdGl2ZS13aW5kb3cgY2hhbmdlcyBmcm9tIGd0awoJICBGaXhlcyBidWcgIzU5OTg4NQoKMjAxMC0wNS0wNSAxMToyMTozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1Ni85MDZdIGdsZmlsdGVyL2dsbWl4ZXIvZ2x0ZXN0c3JjL2dsdXBsb2FkOiB0aHJvdyBhbiBlbGVtZW50IGVycm9yIGlmIG5vIHBhcmVudCBiaW4KCSAgRml4ZXMgYnVnICM2MDIxNTMKCjIwMTAtMDUtMDQgMTE6Mzc6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzQ1NS85MDZdIGdsaW1hZ2VzaW5rOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvCgoyMDEwLTA1LTAxIDExOjE5OjU1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ1NC85MDZdIGJsdXI6IGZpeCBnYXVzc2lhbiBrZXJuZWwgY29tcHV0YXRpb24KCjIwMTAtMDQtMjkgMjA6NDk6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSAgWzQ1My85MDZdIGJsdXI6IGdpdmUgdXAgc29tZSBhY2N1cmFjeSBmb3Igc3BlZWQKCSAgU2V0dGxlIHdpdGggN3g3IGdhdXNzaWFuIGNvbnZvbHV0aW9uIGtlcm5lbHMsIG1heWJlIHNsaWdodGx5IGxlc3MKCSAgYWNjdXJhdGUgdGhhbiBwcmV2aW91cyA5eDkgYnV0IGZhc3QgZW5vdWdoIHRvIGJlIGFibGUgdG8gdXNlIGl0IG9uIGk5MTUuCgkgIEFib3V0IGEgMjAlIHBlcmNlbnQgc3BlZWQgZ2FpbiAoYWdhaW4sIHJvdWdobHkgbWVhc3VyZWQgd2l0aAoJICB2aWRlb3Rlc3RzcmMgYW5kIGdsaW1hZ2VzaW5rIHN5bmM9ZmFsc2UpLiBObyBub3RpY2VhYmxlIHJlbmRlcmluZwoJICBkaWZmZXJlbmNlIHdpdGggY3VycmVudCBlZmZlY3RzLgoKMjAxMC0wNC0yOCAxNzowODo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NTIvOTA2XSBzaW46IGdldCByaWQgb2YgaGxzIGNvbnZlcnNpb24gY29kZQoJICBHZXQgcmlkIG9mIGJ1Z2d5IGFuZCBjb21wbGljYXRlZCBobHMgY29udmVyc2lvbiBjb2RlIGZvciB0aGUgc2luIGVmZmVjdC4KCSAgVGhlIG9ubHkgdGhpbmcgbmVlZGVkIHdhcyBodWUgYW55d2F5IGFuZCBpdCBpcyBlYXNpbHkgY2FsY3VsYXRlZCB1c2luZwoJICBQcmV1Y2lsIGZvcm11bGEgZm9yIHJnYiB0byBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uLgoJICBOb3cgd29ya3Mgb24gaTkxNSAocmVtb3ZlZCBhbGwgdGhlIElGIGJsb2NrcykuIFN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLAoJICBJIHdvbmRlciBpZiBpdCB3aWxsIGV2ZXIgd29yayBwcm9wZXJseS4KCjIwMTAtMDQtMzAgMTE6NDQ6MjYgKzAyMDAgIFJvbGFuZCBQZWZmZXIgPFJvbGFuZC5QZWZmZXJAY2xpeHh1bi5kZT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDUxLzkwNl0gZ2x1cGxvYWQ6IHBhciBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gZml4YXRlX2NhcHMgZnVuY3Rpb24KCSAgRml4ZXMgYnVnICM1OTMxNjUKCjIwMTAtMDQtMzAgMTE6NDI6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTAvOTA2XSBpbmRlbnQ6IGdzdGdsdXBsb2FkLmMKCjIwMTAtMDQtMjkgMTQ6MjE6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFs0NDkvOTA2XSBzb2JlbDogZHJvcCB1bnVzZWQgc2luZ2xlIHBhc3Mgc29iZWwgc2hhZGVyCgkgIERyb3AgdW51c2VkIHNvYmVsIHNoYWRlciwgaWYgYW55b25lIHN0aWxsIG5lZWRzIGl0LCBnaXQgbG9nIGlzIHlvdXIKCSAgZnJpZW5kLgoKMjAxMC0wNC0yOSAxNDoyMDo1NiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgWzQ0OC85MDZdIHhyYXk6IGluY3JlYXNlIGVkZ2VzIHZpc2liaWxpdHkKCSAgU29tZSBsaXR0bGUgZmluZSB0dW5pbmcsIHN0aWxsIG5vdCBjb21wbGV0ZWx5IHNhdGlzZmllZCB5ZXQuCgoyMDEwLTA0LTI5IDEyOjU5OjQyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFs0NDcvOTA2XSB4cmF5OiBwb3J0IHRvIHRoZSBuZXcgc2VwYXJhYmxlIHNvYmVsIGNvbnZvbHV0aW9uCgkgIFBvcnQgeHJheSBlZmZlY3QgdG8gdXNlIHRoZSBzYW1lIHNvYmVsIGNvbnZvbHV0aW9uIGp1c3QgdXNlZCBpbgoJICBnbGZpbHRlcnNvYmVsLiBOb3cgeHJheSB0b28gd29ya3Mgb24gaTkxNSAoYSBiaXQgc2xvdykuCgoyMDEwLTA0LTI5IDEwOjU3OjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQ0Ni85MDZdIGJsdXI6IGZvcmdvdCB0byBhZGQgYWxsIHRoZSBjaGFuZ2VzIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMC0wNC0yOSAwOToxNToyMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0NDUvOTA2XSBibHVyOiB1c2UgZHJhd190ZXh0dXJlIGZyb20gZ2xmaWx0ZXIKCjIwMTAtMDQtMjkgMDk6MDI6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0NDQvOTA2XSBsYXBsYWNpYW46IHByZWNhbGN1bGF0ZSBjb29yZGluYXRlcwoJICBQcmVjYWxjdWxhdGUgY29vcmRpbmF0ZXMgdG8gYXZvaWQgdW5uZWVkZWQgdGV4dHVyZSBpbmRpcmVjdGlvbnMuCgkgIE5vdyBsYXBsYWNpYW4gd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjkgMDg6Mjc6MjkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNDQzLzkwNl0gc29iZWw6IG1vdmUgc29tZSBoaWdobHkgZHVwbGljYXRlZCBjb2RlIGludG8gZ2xmaWx0ZXIKCSAgQWRkIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uIGluIEdzdEdMRmlsdGVyIHRoYXQganVzdCBkcmF3cyBhbiBpbnB1dAoJICB0ZXh0dXJlIHRvIGEgdGFyZ2V0IHRleHR1cmUgdXNpbmcgYSBzaW1wbGUgc2hhZGVyIHdpdGgganVzdCBhICJ0ZXgiCgkgIHVuaWZvcm0gc2FtcGxlci4KCSAgTW92ZSBkcmF3X3RleHR1cmUgZnJvbSBnbGZpbHRlcnNvYmVsIHRvIGdsZmlsdGVyLiBTdGlsbCBuZWVkIHRvIHVwZGF0ZQoJICBvdGhlciBwbHVnaW5zIHRvIHRoaXMuCgoyMDEwLTA0LTI3IDIxOjU2OjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ0Mi85MDZdIGJsdXI6IG9wdGltaXplIGNvb3JkaW5hdGVzIGNhbGN1bGF0aW9ucwoJICBTYXZlIDI4IGluc3RydWN0aW9ucyBvbiBpOTE1IChtYWlubHkgcmVkdW5kYW50IE1PVnMpIGFuZCBnYWluIGEgMjUlCgkgIChyb3VnaGx5IG1lYXN1cmVkIHdpdGggdmlkZW90ZXN0c3JjIGFuZCBnbGltYWdlc2luayBzeW5jPWZhbHNlKSBzcGVlZAoJICBidW1wCgoyMDEwLTA0LTI3IDE5OjM4OjMzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJICBbNDQxLzkwNl0gc29iZWw6IGNvbnZvbHZlIG9ubHkgbHVtYQoJICBSZXdvcmsgU29iZWwgYSBsaXR0bGUgYml0IGFnYWluIG1ha2luZyBpdCB3b3JrIGFzIHRoZSBvbGQgb25lOgoJICAxLiBkZXNhdHVyYXRlIGlucHV0IHRleHR1cmUKCSAgMi4gY2FsY3VsYXRlIGhvcml6b250YWwgY29udm9sdXRpb24gZm9yIHggZ3JhZGllbnQgYW5kIHZlcnRpY2FsCgkgIGNvbnZvbHV0aW9uIGZvciB5IGdyYWRpZW50IGF0IHRoZSBzYW1lIHRpbWUgKGhhbHZlcyB0aGUgbnVtYmVyIG9mCgkgIG5lZWRlZCB0ZXh0dXJlIGxvb2t1cHMpCgkgIDMuIHN0b3JlIHJlc3VsdHMgaW4gYSBzaW5nbGUgdGV4dHVyZSAocmVkIGFuZCBncmVlbiBjaGFubmVsKQoJICA0LiBjYWxjdWxhdGUgcmVtYWluaW5nIGNvbnZvbHV0aW9uIChzYW1lIGFzIGFib3ZlIHN3aXRjaGluZyB2ZXJ0aWNhbCBhbmQKCSAgaG9yaXpvbnRhbCkKCSAgNS4gY2FsY3VsYXRlIGxlbmd0aCBvZiBncmFkaWVudCB1c2luZyByZWQgYW5kIGdyZWVuIGFzIHggYW5kIHkKCSAgY29tcG9uZW50cy4KCSAgT3B0aW1pemUgd2hlcmV2ZXIgcG9zc2libGUsIHN0b3JlIGtlcm5lbHMgYXMgY29uc3RhbnRzIGluIHRoZSBzaGFkZXJzLAoJICByZW1vdmUgdW5uZWVkZWQgdW5pZm9ybXMuIFJlc3RvcmUgaW52ZXJ0IHByb3BlcnR5IGNhcmVmdWxseSBhdm9pZGluZwoJICB1c2luZyBJRi4KCSAgU3RpbGwgbm90IHN1cmUgaWYgImZ1bGwgY29sb3IiIGNvbnZvbHV0aW9uIHdpbGwgYmUgbmVlZGVkLCBnbGZpbHRlcnNvYmVsCgkgIGlzIHRvIGJlIGludGVuZGVkIGFzIGEgZGVtbyBmaWx0ZXIgYW5kIHhyYXksIHRoZSBvbmx5IGVmZmVjdCB3aGljaCB1c2VzCgkgIHNvYmVsIG9ubHkgbmVlZHMgZWRnZSBpbnRlbnNpdHkuIERyb3BwaW5nIGl0IGZvciBub3cuCgoyMDEwLTA0LTI3IDA5OjA4OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJICBbNDQwLzkwNl0gc29iZWw6IGltcGxlbWVudCBzb2JlbCBmaWx0ZXIgdXNpbmcgc2VwYXJhYmxlIGtlcm5lbHMKCSAgUmVpbXBsZW1lbnQgc29iZWwgaW4gYSBtdWx0aXBhc3MgZnVsbHkgc2VwYXJhdGVkIGNvbnZvbHV0aW9uOgoJICAtIGNhbGN1bGF0ZSB4IGdyYWRpZW50IG1hcCBjb252b2x2aW5nIGZpcnN0IGhvcml6b250YWxseSB3aXRoIGJsdXJyaW5nCgkgIGtlcm5lbCBhbmQgdGhlbiB2ZXJ0aWNhbGx5IHdpdGggZGlmZmVyZW50aWF0aW5nIGtlcm5lbAoJICAtIGNhbGN1bGF0ZSB5IGdyYWRpZW50IG1hcCBjb252b2x2aW5nIGZpcnN0IHZlcnRpY2FsbHkgd2l0aCBibHVycmluZwoJICBrZXJuZWwgYW5kIHRoZW4gaG9yaXpvbmFsbHkgd2l0aCBkaWZmZXJlbnRpYXRpbmcga2VybmVsCgkgIC0gY2FsY3VsYXRlIGxlbmd0aCBvZiB0aGUgZ3JhZGllbnQgdmVjdG9yCgkgIFBhcnRpY3VsYXIgY2FyZSB3YXMgbmVlZGVkIHdpdGggbm9ybWFsaXphdGlvbiBvZiB0aGUgYmx1cnJpbmcga2VybmVsIGFuZAoJICB3aXRoIGdyZXkgbGV2ZWwgb2Zmc2V0IG9mIHRoZSBkaWZmZXJlbnRpYXRpbmcgb25lIHRvIHByZXZlbnQgb3ZlcmZsb3cgb2YKCSAgcmdiIHZhbHVlcyBmcm9tIHRoZSBbMC4wLDEuMF0gcmFuZ2UgaW4gaW50ZXJtZWRpYXRlIHBhc3Nlcy4KCSAgTm93IHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI2IDEzOjIwOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQzOS85MDZdIHNvYmVsOiBnZXQgcmlkIG9mICN2ZXJzaW9uIDEyMCBkZXBlbmRlbnQgYXJyYXkgY29uc3RydWN0b3JzCgoyMDEwLTA0LTI3IDExOjA3OjA0ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkgIFs0MzgvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogaW1wcm92ZSBiZWhhdmlvciBhbmQgYWRkIHNvbWUgcHJvcGVydGllcwoJICBGaXhlcyBidWcgIzYxMjE2MwoKMjAxMC0wNC0yNiAyMzo0ODoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQzNy85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiByZW1vdmUgdW51c2VkIGNvZGUgKGNvcGllZC9wYXN0ZWQgZnJvbSBnbGZpbHRlcmdsYXNzKQoKMjAxMC0wNC0yNiAyMzo0MjozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDM2LzkwNl0gZ2xlZmZlY3Rzc291cmNlczogZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOQoKMjAxMC0wNC0yNiAyMzozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzQzNS85MDZdIEdOVVN0ZXAgYnVpbGQ6IGFkZCBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbiBzb3VyY2VzCgoyMDEwLTA0LTI2IDE0OjQxOjE3ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkgIFs0MzQvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogZm9yZ290IHRvIGFkZCBzb3VyY2VzCgoyMDEwLTA0LTI2IDE0OjMyOjI4ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDMzLzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGFkZCBuZXcgT3BlbkdMIFJlZmxlY3RlZCBTY3JlZW4gZmlsdGVyCgkgIEZpeGVzIGJ1ZyAjNjEyMTYzCgoyMDEwLTA0LTI2IDE0OjExOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQzMi85MDZdIEdzdEdMRGlzcGxheTogdGhpcyBpcyBHTF9ERVBUSDI0X1NURU5DSUw4X0VYVCwgbm90IEdMX0RFUFRIMjRfU1RFTkNJTDhfRVhUCgoyMDEwLTA0LTI2IDEzOjU3OjAwICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MzEvOTA2XSBHc3RHTERpc3BsYXk6IGVuYWJsZSBzdGVuY2lsIGJ1ZmZlciB3aGVuIHVzaW5nIGZyYW1lYnVmZmVyIG9iamVjdHMuCgkgIEZpeGVzIEJ1ZyAjNjEyMTU5CgoyMDEwLTA0LTI2IDEyOjQ1OjU3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQzMC85MDZdIGNvbnZvbHV0aW9uOiBzYXZlIHNvbWUgaW5kaXJlY3Rpb24gZ3JvdXBpbmcgbWF0aCBhbmQgc2FtcGxpbmcKCSAgVGhhbmtzIHRvIEVyaWMgQW5ob2x0IEkndmUgZmluYWxseSB1bmRlcnN0b29kIChhdCBsZWFzdCBJIGhvcGUpIGhvdyB0bwoJICBjb3VudCB0ZXh0dXJlIGluZGlyZWN0aW9ucyBhbmQgc2F2ZSB1cCBzb21lLiAgVGV4dHVyZSBzYW1wbGluZyBkZXBlbmRlbnQKCSAgb24gdGhlIHJlc3VsdCBvZiBzb21lIG1hdGggY291bnRzIGFzIGFuIGluZGlyZWN0aW9uIHBoYXNlLiBHcm91cGVkCgkgIHRleHR1cmUgbG9va3VwcyB3aXRoIG5vIG1hdGggaW52b2x2ZWQgY291bnQgYXMgYSBzaW5nbGUgaW5kaXJlY3Rpb24uCgkgIE1hdGggb24gdGhlIGNvb3JkaW5hdGVzIGNvdW50IGFzIGluZGlyZWN0aW9uLgoJICBTbyB0aGUgYmVzdCB0aGluZyBpcyB0byBncm91cCBhbGwgdGhlIG1hdGggaW52b2x2aW5nIGNvb3JkaW5hdGVzIGFuZAoJICB0aGVuIGRvIGFsbCB0aGUgbG9va3Vwcy4KCSAgVGhpcyBzYXZlcyBlbm91Z2ggaW5kaXJlY3Rpb25zIHRvIG1ha2UgZ2xmaWx0ZXJibHVyIGFuZCBnbG93IGVmZmVjdAoJICB3b3JrLCBhbGJlaXQgYSBiaXQgc2xvd2x5LCBvbiBpOTE1LgoKMjAxMC0wNC0yNSAxMDo1NTo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQyOS85MDZdIGxhcGxhY2lhbjogcmVtb3ZlIHVudXNlZCBub3JtX2NvbnN0IGFuZCBub3JtX29mZnNldCB1bmlmb3JtcwoJICBSZW1vdmUgdW51c2VkIHVuaWZvcm1zIGZyb20gdGhlIGxhcGxhY2lhbiBmaWx0ZXIuIEFsc28gcmVtb3ZlIGlmCgkgIGtlcm5lbFtpXSAhPSAwIGNoZWNrcyBzbyB0aGF0IGl0IGNvbXBpbGVzIHdoZXJlIElGIGlzIG5vdCBhdmFpbGFibGUuCgkgIEFnYWluLCBiaWcgdGhhbmtzIHRvIEVyaWMgQW5ob2x0IGZvciB0aGUgaGludHMuCgoyMDEwLTA0LTEzIDE2OjIwOjAyIC0wNzAwICBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0MjgvOTA2XSBsYXBsYWNpYW46IEF2b2lkIHVzaW5nIEdMU0wgMS4yMCBmZWF0dXJlcyBpbiBhIG5vbi0jdmVyc2lvbmVkIHNoYWRlci4KCSAgRml4ZXMgY29tcGlsZSBvbiBNZXNhLgoKMjAxMC0wNC0yNSAxMDozMTowMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjcvOTA2XSByZ2JfdG9fY3VydmU6IHNhdmUgdXAgYSB0ZXh0dXJlIGluZGlyZWN0aW9uCgkgIEFwcGFyZW50bHkgYXNzaWduaW5nIGdsX1RleENvb3JkIHRvIGEgdGVtcCBjb3VudCBhcyBhbiBpbmRpcmVjdGlvbi4KCSAgVXNpbmcgaXQgZGlyZWN0bHkgYXZvaWRzIGl0IGFuZCBsaW1pdHMgaW5kaXJlY3Rpb25zIHRvIGZvdXIgbm90CgkgIGV4Y2VlZGluZyBpOTE1IGxpbWl0LiBOb3cgeHBybyBlZmZlY3Qgd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjUgMTA6MDQ6MjggKzAyMDAgIFZpbnNvbiBMZWUgPHZsZWVAdm13YXJlLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNi85MDZdIG11bHRpcGx5OiBmaXggYSBjb21waWxhdGlvbiBlcnJvciB3aXRoIEFwcGxlIGNvbXBpbGVyCgkgIEZpeCBtdWx0aXBseV9mcmFnbWVudF9zb3VyY2UgdG8gY29tcGlsZSB3aXRoIEFwcGxlIEdMU0wgY29tcGlsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY3NDgKCjIwMTAtMDQtMjQgMjE6MTE6MzUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI1LzkwNl0gdHdpcmw6IGdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbgoJICBHZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGluIHRoZSB0d2lybCBlZmZlY3QuIFRoZSBzYW1lIGNhbiBiZSBkb25lCgkgIHVzaW5nIGEgcm90YXRpb24gbWF0cml4LCBzYXZpbmcgYWx1IGluc3RydWN0aW9ucyBhbmQsIG1vc3Qgb2YgYWxsLAoJICBhdm9pZGluZyB0aGUgdXNlIG9mIHRoZSBldmlsIGF0YW4oKSBmdW5jdGlvbiAod2hpY2ggdXNlcyBJRiBvcGVyYXRvcnMpLgoJICBDYWxjdWxhdGUgcm90YXRpb24gYW5nbGUgaW4gYSBzYW5lciwgdW5kZXJzdGFuZGFibGUgd2F5LgoJICBXb3JrcyBvbiBpOTE1ISAoSG9wZSBpdCBzdGlsbCB3b3JrcyBlbHNld2hlcmUgdG9vIGFzIEknbSBub3QgYWJsZSB0bwoJICB0ZXN0IGF0IHRoZSBtb21lbnQpCgoyMDEwLTA0LTI0IDIwOjQzOjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNC85MDZdIHR1bm5lbDogZ2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uCgkgIEdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgaW4gdGhlIHR1bm5lbCBlZmZlY3QgYXMgdGhlIHNhbWUgY2FuIGVhc2lseQoJICBiZSBkb25lIGp1c3QgY2xhbXBpbmcgdGhlIHJhZGl1cyBhbmQgbXVsdGlwbHlpbmcuCgkgIFJlbW92ZSB0aGUgZXZpbCBhdGFuKCkgY2FsbCB0aGF0IHVzZXMgYnJhbmNoaW5nIGFuZCBhIGxvdCBvZiB1bm5lZWRlZCBhbHUKCSAgaW5zdHJ1Y3Rpb25zLiBOb3cgd29ya3Mgb24gaTkxNSEKCjIwMTAtMDQtMjMgMjA6MDY6NDggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSAgWzQyMy85MDZdIGNvbnZvbHV0aW9uOiBnZW5lcmF0ZSBnYXVzc2lhbiBrZXJuZWwgb24gdGhlIGZseQoJICBHZW5lcmF0ZSBhIG5vcm1hbGl6ZWQgZ2F1c3NpYW4ga2VybmVsIHdpdGggZ2l2ZW4gc2l6ZSBhbmQgc3RhbmRhcmQKCSAgZGV2aWF0aW9uIG9uIHRoZSBmbHkuCgkgIFJlbW92ZSAibm9ybV9jb25zdCIgdW5pZm9ybSBmcm9tIGNvbnZvbHV0aW9uIHNoYWRlcnMgYW5kIHByb3ZpZGUgYQoJICBub3JtYWxpemVkIGtlcm5lbCBpbnN0ZWFkLiBSZW1vdmUgbm9ybV9vZmZzZXQgdW5pZm9ybSBhcyBpdCB3YXMgYWx3YXlzCgkgIHplcm8sIHdpbGwgcmVpbnRyb2R1Y2UgaXQgaWYgcmVhbGx5IG5lZWRlZCBpbiB0aGUgZnV0dXJlLiBUaGFua3MgdG8gRXJpYwoJICBBbmhvbHQgZm9yIHN1Z2dlc3RpbmcgaXQuCgkgIFNhdmUgc29tZSBBTFUgaW5zdHJ1Y3Rpb24gY2FsY3VsYXRpbmcgZGlyZWN0bHkgdGhlIGNvb3JkaW5hdGUgZm9yCgkgIHRleHR1cmUgbG9va3VwIGluc3RlYWQgb2Ygc3VtbWluZyBhbiBvZmZzZXQuCgkgIFN0aWxsIGV4Y2VlZCBtYXhpbXVtIGluZGlyZWN0IHRleHR1cmUgbG9va3VwcyBvbiBpOTE1LCB0aGUgb25seSBzb2x1dGlvbgoJICBJIHNlZSBpcyB1c2luZyBhIDN4MyBrZXJuZWwuCgoyMDEwLTA0LTIzIDE3OjQ5OjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyMi85MDZdIGNvbnZvbHV0aW9uOiByZWR1Y2UgdGhlIG51bWJlciBvZiByZWdpc3RlciB1c2VkCgkgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVyIGNhbGN1bGF0aW5nIHRleHR1cmUgbG9va3VwIG9mZnNldCBvbiB0aGUKCSAgZmx5LiBJdCB3YXMganVzdCBhIHNpbXBsZSBzZXF1ZW5jZSwgbm8gbmVlZCB0byBzdG9yZSBpdCBpbiBhIGFycmF5LgoJICBGaXhlcyBtYXhpbXVtIG51bWJlciBvZiByZWdpc3RlcnMgZXhjZWVkZWQgZXJyb3Igd2l0aCBpOTE1LiBTdGlsbAoJICBleGNlZWQgbWF4aW11bSBpbmRpcmVjdCB0ZXh0dXJlIGxvb2t1cHMgYW5kIG1heGltdW0gQUxVIGluc3RydWN0aW9ucy4KCSAgTWF5YmUgd2Ugc2hvdWxkIGdhdmUgdXAgc29tZSBibHVyIGdvb2RuZXNzIGFuZCB1c2UgbGlnaHRseSBtb3JlIGxpdHRsZQoJICBrZXJuZWxzLgoKMjAxMC0wNC0yMyAxNzozNzoyMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjEvOTA2XSBjb252b2x1dGlvbjogZG9uJ3QgY2hlY2sga2VybmVsW2ldIHRvIGJlIG5vbiB6ZXJvCgkgIEFwcGFyZW50bHkgc2F2aW5nIHVwIHNvbWUgdGV4dHVyZSBsb29rdXAgZm9yIHplcm8ga2VybmVsIGVsZW1lbnRzIGlzCgkgIGRlZmluaXRlbHkgbm90IHdvcnRoIHRoZSB1c2Ugb2YgYnJhbmNoaW5nLiBUaGlzIHdheSBjb252b2x1dGlvbgoJICBmcmFnbWVudCBwcm9ncmFtcyBhbHNvIHdvcmsgd2hlcmUgSUYgb3BlcmF0b3IgaXMgbm90IHN1cHBvcnRlZCAodGVzdGVkCgkgIG9uIGk5MTUgYW5kIG5vdXZlYXUpLiBTZWUgYWxzbyBkaXNjdXNzaW9uIG9uIGJ1ZyAjNjE1Njk2LgoJICBUaGFua3MgdG8gRXJpYyBBbmhvbHQgZm9yIHNwb3R0aW5nIHRoaXMuCgoyMDEwLTA0LTIzIDE3OjMwOjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQyMC85MDZdIGJsdXI6IHVzZSBjb21tb24gc2hhZGVyIHNvdXJjZXMKCSAgUG9ydCBibHVyIGZpbHRlciB0byB1c2UgdGhlIGNvbW1vbiBjb252b2x1dGlvbiBzaGFkZXJzIGluCgkgIGdzdGdsZWZmZWN0c3NvdXJjZXMuYy4gVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gYW5kLCBpbmNpZGVudGFsbHksCgkgIHRoZSBzaGFkZXJzIGluIHRoZSBjb21tb24gZmlsZSB3ZXJlIGFscmVhZHkgdXBkYXRlZCB0byBub3QgdXNlIGFycmF5CgkgIGNvbnN0cnVjdG9yIGFuZCB0byBub3QgZGVwZW5kIG9uICN2ZXJzaW9uIDEyMC4KCSAgRmlyc3Qgc3RlcCB0b3dhcmRzIGJ1ZyAjNjE1Njk2IGZpeGluZy4KCjIwMTAtMDQtMjMgMTc6MTk6NTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDE5LzkwNl0gYmx1cjogcmVtb3ZlIGhvcml6b250YWwgZmxpcAoJICBBcHBhcmVudGx5IHRoZXJlIHdhcyBzb21lIHN0YWxlIGhvcml6b250YWwgZmxpcCBmdW5jdGlvbiBzdGlsbCB0aGVyZQoJICBmcm9tIG15IHN1bW1lciBvZiBjb2RlIGV4cGVyaW1lbnRzLiBSZW1vdmUgaXQuCgoyMDEwLTA0LTIzIDE3OjE0OjU5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQxOC85MDZdIGVmZmVjdHM6IGRpc2FibGUgZ3N0LWluZGVudCBpbiB0aGUgc291cmNlcwoJICBGaXggc29tZSBjcmF6eSBmb3JtYXR0aW5nIGNhdXNlZCBieSBnc3QtaW5kZW50IHByZXZpb3VzIHJ1bnMgYW5kIGRpc2FibGUKCSAgdGhlIHNjcmlwdCBmb3IgdGhpcyBmaWxlLiBUaGUgYmVzdCB3b3VsZCBiZSB0byBtb3ZlIHNoYWRlcnMgaW50bwoJICBzZXBhcmF0ZSBmaWxlcyBhbmQgbG9hZCB0aGVtIGF0IHJ1bnRpbWUgb3IgaGFyZGNvZGUgdGhlbSBhdCBjb21waWxlCgkgIHRpbWUuCgoyMDEwLTAzLTMxIDEyOjQwOjEyICswMjAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNDE3LzkwNl0gZ2xidW1wZXI6IFVzZSBwbmdfc2lnX2NtcCgpIGluc3RlYWQgb2YgcG5nX2NoZWNrX3NpZygpCgkgIEZpeGVzIGJ1ZyAjNjEzMTg2CgoyMDEwLTAzLTI0IDExOjEwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDE2LzkwNl0gZ2w6IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKQoJICBGaXhlcyAjNjEzMzcxLgoKMjAxMC0wMy0wOSAwMTozNTo0MiArMDEwMCAgTmljaG9sYXMgUGFuYXlpcyA8bmlja0Btb3ZlbmN5LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNDE1LzkwNl0gZ3N0Z2x3aW5kb3dfd2luMzI6IHNoYXJlIG9wZW5nbCBjb250ZXh0IGluIGNvcnJlY3Qgb3JkZXIKCSAgQWxsb3cgdG8gdXNlIHRoZSBvcGVuZ2wgY29udGV4dCBzaGFyaW5nIGZlYXR1cmUgaWYgdGhlIG9yaWdpbmFsCgkgIGNvbnRleHQgaGFzIGJlZW4gdXNlZCBhbHJlYWR5LgoJICBUaGlzIGlzIG9ubHkgcG9zc2libGUgb24gd2luMzIgd2l0aCB3Z2xTaGFyZUxpc3RzIGJlY2F1c2Ugb24gb3RoZXIKCSAgYmFja2VuZHMsIHRoZSBzaGFyaW5nIGlzIG1hZGUgd2hlbiBhIGNvbnRleHQgaXMgY3JlYXRlZC4KCSAgVGhpcyBuZXcgZmVhdHVyZSBpcyBvbmx5IHVzZWZ1bGwgd2hlbiB1c2luZyBleHRlcm5hbCBjb250ZXh0CgkgIGJlY2F1c2UgZ3N0LWdsIGludGVybmFsbHkgbWFrZXMgc3VyZSB0aGF0IHRoZSBvcmdpbmFsIGNvbnRleHQgaXMgbm90CgkgIGFscmVhZHkgdXNlZCB3aGVuIHNoYXJpbmcgaXQuCgkgIEZpeCBidWcgIzYxMTA2NwoKMjAxMC0wMy0wOSAwMToyNDowNiArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQxNC85MDZdIGdsYnVtcGVyL2dsZGlmZmVyZW5jZW1hdHRlL2dsb3ZlcmxheTogbGlicG5nIDEuNC54IGNvbXBhdGlibGUKCSAgRml4IGJ1ZyAjNjA4NjQzCgoyMDEwLTAxLTEyIDE4OjMyOjM5ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNDEzLzkwNl0gRml4IFdpbmRvd3MgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0L2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jCgoyMDEwLTAxLTA2IDAwOjEzOjQ2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs0MTIvOTA2XSBDb2NvYSBiYWNrZW5kOiBpbXByb3ZlIHN1cHBvcnQgb24gR05VU3RlcAoKMjAwOS0xMi0xOCAwMDozNDoxMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDExLzkwNl0gZ3N0Z2xtaXhlcjogY29weS9wYXN0IHJlY2VudCBjaGFuZ2VzIGZyb20gZ3N0dmlkZW9taXhlcgoKMjAwOS0xMi0xNiAwMTozMzozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDEwLzkwNl0gZ3N0Z2xtaXhlcjogaW5hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dCBiZWZvcmUgdG8gcmVsZWFzZSBvdXJzCgkgIEZpcnN0LCBpbmFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0cyBrbm93biBieSBlYWNoIHNpbmsgcGFkLgoJICBUaGVuLCBkZXN0cm95IHRoZSBnbCBjb250ZXh0IGtub3duIGJ5IHRoZSBnbG1peGVyLgoJICBGaW5hbGx5LCByZS1hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dHMuCgkgIFRoaXMgaXMgdG8gc2F0aXNmeSB0aGUgZmFjdCB0aGF0IG5vIHNoYXJlZCBnbCBjb250ZXh0IG11c3QgYmUgY3VycmVudAoJICB3aGVuIGFuIG9wZW5nbCBjb250ZXh0IGlzIGRlc3Ryb3llZC4KCSAgTW9yZW92ZXIgdGhlIGFwcGxpY2F0aW9uIG1heSBoYW5nIG9yIGNyYXNoIHdpdGhvdXQgdGhvc2Ugc3RlcHMuCgoyMDA5LTExLTI1IDEwOjI0OjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQwOS85MDZdIGdsZWZmZWN0czogaW5kZW50IGFuZCBmaXggc29tZSB3YXJuaW5ncyBpbiBFUyAyLjAgbW9kZQoKMjAwOS0xMS0yMSAyMTo0MDoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDA4LzkwNl0gZ2xlZmZlY3RzOiBzdGFydCB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aCBPcGVuR0wgRVMgMi4wCgkgIEZvciBub3cgb25seSBpZGVudGl0eSwgbWlycm9yIGFuZCBzcXVlZXplIGVmZmVjdHMgYXJlIGF2YWlsYWJsZS4KCSAgTWF5YmUgc29tZSBmYWN0b3JpemF0aW9uIGlzIG5lZWRlZCBhYm91dCBjb21waWxhdGlvbiBzaGFkZXIKCSAgYmVmb3JlIHRvIHB1dCB0aGUgb3RoZXIgZWZmZWN0cyBzaW5jZSBvbmx5IGEgY29weS9wYXN0IGlzIG5lZWRlZCwKCSAgYXQgbGVhc3QgdW50aWwgZWZmZWN0IG51bWJlciA5OiBoZWF0LgoJICBUaGUgZWZmZWN0cyBmcm9tIDEwOnNlcGlhIHRvIDE1Omdsb3cgcmVxdWlyZSBtb3JlIHdvcmsuCgoyMDA5LTExLTIxIDEzOjMyOjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJICBbNDA3LzkwNl0gd2luQ0UgYmFja2VuZDogZml4IGJ1aWxkCgoyMDA5LTExLTIxIDEzOjIxOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzQwNi85MDZdIGdsaW1hZ2VzaW5rOiBhZGQgYSBjbGllbnQtZGF0YSBwcm9wZXJ0eQoJICBBbHNvIGFkZCBpdCB0byBnbGZpbHRlcmFwcC4KCSAgRml4ZXMgIzU1OTEzMQoKMjAwOS0xMS0xNyAyMzo0NzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNDA1LzkwNl0gZ2xmaWx0ZXI6IGFkZCBleHRlcm5hbC1vcGVuZ2wtY29udGV4dCBwcm9wZXJ0eQoJICBJdCByZXBhaXJzIHRoZSBjbHV0dGVyc2hhcmUgYW5kIHNkbHNoYXJlIGV4YW1wbGUKCjIwMDktMTEtMTcgMjI6NTQ6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0MDQvOTA2XSBnbHVwbG9hZDogcmVwYWlyIGV4dGVybmFsX29wZW5nbF9jb250ZXh0IHByb3BlcnR5CgkgIHFnbHd0ZXh0dXJlc2hhcmUgbm93IHdvcmtzIGFnYWluLiBJbiB0aGlzIGV4YW1wbGUsCgkgIHRoZSBwaXBlbGluZSBpcyBzcmMgISBnbHVwbG9hZCAhIGZha2VzaW5rLgoJICBTbyBpbiB0aGlzIGNhc2UgdGhlIGdsdXBsb2FkIGVsZW1lbnQgaXMgYSBzaW5rIGluCgkgIHRlcm1zIG9mIGdsIGNoYWluLgoJICBCdXQgdGhlIHByb2JsZW0gaXMgc3RpbGwgdGhlcmUgaWYgdGhlIHBpcGVsaW5lIGlzCgkgIHNyYyAhIGdsdXBsb2FkICEgZ2xmaWx0ZXIgISBmYWtlc2luawoJICAoaXQncyB0aGUgY2FzZSBpbiBzZGxzaGFyZSBhbmQgY2x1dHRlcnNoYXJlIGV4YW1wbGVzKQoJICBiZWNhdXNlIHNpbmNlIHJlY2VudCBjaGFuZ2VzIGFib3V0IGhvdyB0aGUgZ3N0Z2xkaXNwbGF5CgkgIGlzIHRyYW5zbWl0dGVkIHRvIHRoZSBnbCBlbGVtZW50LCB0aGUgY29udGV4dCBpcyB1c3VhbGx5CgkgIGNyZWF0ZWQgYnkgdGhlIHNpbmsgaW4gdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEEgc29sdXRpb24gd291bGQgYmUgdG8gYWxzbyBpbnN0YWxsIHRoaXMgcHJvcGVydHkgb24gZ2xmaWx0ZXIuCgoyMDA5LTExLTE3IDAyOjE2OjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDAzLzkwNl0gZ3N0Z2xtaXhlcjogSW5pdGlhbGlzZSB0aGUgZGVidWcgY2F0ZWdvcnkKCSAgSW5pdGlhbGlzZSB0aGUgZ3N0Z2xtaXhlciBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQuCgoyMDA5LTExLTE3IDAxOjA4OjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQwMi85MDZdIGdsb3ZlcmxheTogZml4IHNvbWUgd2FybmluZ3MKCjIwMDktMTEtMTYgMTQ6MzI6MTYgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDAxLzkwNl0gZ2xvdmVybGF5OiBBZGRlZCByb3RhdGUgdGV4dHVyZQoJICBmaXggIzYwMTI3NwoKMjAwOS0xMS0wNSAxNDo1MzozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MDAvOTA2XSBnc3RnbGRpc3BsYXk6IG5vIG5lZWQgdGhlIEk0MjAgd29yayBhcm91bmQgaWYgQVRJIE1vYmlsaXR5CgkgIGZpeCAjNTg4NjUzCgoyMDA5LTExLTA0IDIzOjQ0OjQ2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFszOTkvOTA2XSBnbG1peGVyOiBmaXggd2hlbiBubyBtb3JlIGdsIGVsZW1lbnRzIGFmdGVyIGl0CgkgIEZvciBleGFtcGxlOgoJICB2aWRlb3Rlc3RzcmMgISBnbHVwbG9hZCAhIC4uLiAhIGdsZml0ZXIgISAuLi4gISBnbG1vc2FpYyAhIGZha2VzaW5rCgkgIFVzZWZ1bGwgd2hlbiB1c2luZyBnbG1peGVyIGluc2lkZSBjbHV0dGVyc2hhcmUgb3Igc2Rsc2hhcmUgY2FzZXMuCgoyMDA5LTExLTA0IDIzOjEyOjQyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFszOTgvOTA2XSBnbGRvd25sb2FkOiBkbyBub3QgZm9yZ290IHRvIGNyZWF0ZSB0aGUgZ2wgY29udGV4dAoJICBmaXggIzYwMDYzMAoKMjAwOS0xMS0wNCAyMzoxMTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzM5Ny85MDZdIGdsbW9zYWljOiBmaXggYSBjb21wYXJpc29uIHdhcm5pbmcKCjIwMDktMTEtMDQgMjM6MTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFszOTYvOTA2XSBnbGRpZmZlcmVuY2VtYXR0ZTogZml4IHNvbWUgd2FybmluZ3MgZnJvbSB2YzkKCjIwMDktMTAtMjggMTA6NDE6NTMgKzAxMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkgIFszOTUvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IGZpeCByZWdyZXNzaW9ucyBmcm9tIGdka3BpeGJ1ZiB0byBsaWJwbmcgbWlncmF0aW9uCgkgIFRoZSBiYWNrZ3JvdW5kIGltYWdlIG5lZWRzIHRvIGJlIHNjYWxlZCB0byBmaXQgY3VycmVudCB0ZXh0dXJlIHNpemUuCgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgZG9uZSBieSBnZGtfcGl4YnVmX3NjYWxlX3NpbXBsZSBidXQgdGhhdCdzIGJlZW4KCSAgcmVtb3ZlZC4KCSAgQ3JlYXRlIGEgdGV4dHVyZSBmcm9tIHRoZSBiYWNrZ3JvdW5kIHBpeGJ1ZiB3aXRoIGNvcnJlY3QgZGltZW5zaW9ucyBhbmQKCSAgdXNlIGludGVycG9sYXRpb24gc2hhZGVyIHRvIHNjYWxlIGl0IHRvIHRoZSByaWdodCBzaXplLiBJbnRlcnBvbGF0aW9uCgkgIGZyYWdtZW50IHNoYWRlciBkb2Vzbid0IGhhdmUgdG9vIG11Y2ggc2Vuc2UgaWYgYWxsIHRoZSB0ZXh0dXJlcyBkb24ndAoJICBoYXZlIHRoZSBzYW1lIHNpemUgc28gdGhpcyBzZWVtZWQgdGhlIG1vc3QgbmF0dXJhbCBwbGFjZSB0byBkbyB0aGUKCSAgc2NhbGluZy4gSXQgY291bGQgcHJvYmFibHkgYmUgZG9uZSB3aXRoIHNvbWUgY3VzdG9tIHRleHR1cmUgbWFwcGluZwoJICBvdXRzaWRlIHRoZSBzaGFkZXIgYnV0IGl0IGludm9sdmVkIG1vcmUgY29kZS4KCSAgRml4ZXMgYnVnICM1OTk4ODMuCgoyMDA5LTEwLTI3IDE3OjAyOjIzICswMTAwICBQcmF0aGVlc2ggR2FuZ2FkaGFyIDxwcmF0aGVlc2guZ2FuZ2FkaGFyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM5NC85MDZdIGdzdGdsZGlzcGxheTogdXNlIG9mIEdMX0RFUFRIX0NPTVBPTkVOVDE2IGlmIE9wZW5HTCBFUyAyLjAKCSAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlIGRvZXMgbm90IGFjY2VwdCBHTF9ERVBUSF9DT01QT05FTlQgaW4KCSAgT3BlbkdMIEVTIDIuMC4KCSAgRml4IGJ1ZyAjNTkzNzg2CgoyMDA5LTEwLTI3IDE1OjI3OjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzM5My85MDZdIGdsbW9zYWljOiBmb3Igbm93IGl0J3MgYSBjdWJlIG1vc2FpYwoJICBBbHNvIHVzZSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkgaW4gZ2xtaXhlci4KCSAgQW5kIGFkZCBhIHBpcGVsaW5lIHRvIHRlc3RzL3BpZXBsaW5lcwoKMjAwOS0xMC0yNyAxMToxNDozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzM5Mi85MDZdIGdsbW9zYWljOiBkZXNhY3RpdmF0ZSBzaGFkZXIgd2hlbiBkb25lCgoyMDA5LTEwLTI2IDExOjQ0OjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzkxLzkwNl0gQ29jb2E6IGZpeCBiYWNrZW5kIHNpbmNlIHJlY2VudCBjaGFuZ2VzCgkgIEJlZm9yZSwgdGhlIHdpbmRvdyBzaXplIHdhcyBnaXZlbiBhdCBpdHMgY3JlYXRpb24uIE5vdywgaXQncyBkb25lIGF0CgkgIHRoZSBkcmF3aW5nIHN0ZXAgYmVjYXVzZSBpdCdzIG9ubHkgcmVsZXZhbnQgd2hlbiB0aGVyZSBpcyBhIGdsaW1hZ2VzaW5rCgkgIGVsZW1lbnQgaW4gdGhlIHBpcGVsaW5lLgoKMjAwOS0xMC0yMyAyMDo1MzozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszOTAvOTA2XSByZW1vdmUgd2FybmluZ3MgZnJvbSB2czkKCjIwMDktMTAtMjMgMjA6NTI6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszODkvOTA2XSBmaXggY29kZWJsb2NrcyBidWlsZCBvbiB3aW4zMgoKMjAwOS0xMC0yMyAxMDo1MjozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbMzg4LzkwNl0ganVzdCBmaXggYnVpbGRzIGFuZCBpbmRlbnQKCjIwMDktMTAtMjMgMDE6MTE6MjcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzg3LzkwNl0gZ2xtaXhlcjogYWRkIGEgZ2xtaXhlciBiYXNlIGVsZW1lbnQKCSAgZ2xtaXhlciBjYW4gYmUgc2VlbiBhcyBhIGdsZmlsdGVyIGV4Y2VwdCBpdCBoYW5kbGVzIE4gcmVxdWVzdGVkCgkgIHNpbmsgcGFkcy4KCSAgRWFjaCBzaW5rIHBhZCBhbmQgdGhlIHNyYyBwYWQgYXJlIHZpZGVvL3gtcmF3LWdsLgoJICBnbG1peGVyIGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBkaWZmZXJlbnQgZnJhbWVyYXRlcyBmcm9tIGlucHV0cy4KCSAgSXQgdXNlcyBPcGVuR0wgY29udGV4dCBzaGFyaW5nLiBJdCBtZWFucyB0aGF0IGVhY2ggaW5wdXQgaXMgaW4gaXRzCgkgIG93biBPcGVuR0wgY29udGV4dCBzaGFyZWQgdG9nZXRoZXIgYW5kIHNoYXJlZCB3aXRoIHRoZSBPcGVuR0wgY29udGV4dAoJICBvZiB0aGUgb3VwdXQgZ2wgY2hhaW4uCgkgIEFsc28gYWRkIGEgZ2xtb3NhaWMgd2hpY2ggaXMgYW4gZXhhbXBsZSBvZiBpbXBsZW1lbnRhdGlvbiBvZiBnbG1peGVyLgoJICBGb3Igbm93IGdsbW9zYWljIGlzIGEgY3ViZSBidXQgaXQgd2lsbCBiZSBmaXhlZCBpbiB0aGUgbmV4dCBjb21taXRzLgoJICBGb3Igbm93IHRoZSBnbG1peGVyIGhhcyBzb21lIHdlaXJkIGJlaGF2aW91cnMgaW4gc29tZSBjb25maWd1cmF0aW9ucwoJICBidXQgaXQgd2lsbCBiZSBpbXByb3ZlZCBpbiB0aGUgbmV4dCBjb21taXRzLgoJICBUaGUgYXV0b3Rvb2xzIGJ1aWxkcyBpcyB0ZW1wb3Jhcmx5IGJyb2tlbiBzaW5jZSB0aG9zZSBjaGFuZ2VzCgkgIGhhdmUgYmVlbiBtYWRlIG9uIHdpbjMyLgoKMjAwOS0xMC0yMyAwMTowNzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzM4Ni85MDZdIHBpeGJ1ZmRyb3A6IGZpeCBleGFtcGxlIG9uIHdpbjMyCgoyMDA5LTEwLTA0IDAyOjIzOjQ1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzM4NS85MDZdIHJld3JpdGUgdGhlIHdheSBhIGdzdGdsZGlzcGxheSBpcyB0cmFuc21pdGVkIHRvIHRoZSBnbCBlbGVtZW50cwoJICBCZWZvcmUsIGEgZ3N0Z2xkaXNwbGF5IHdhcyBpbnN0YW5jaWVkIGJ5IHRoZSBnbCBzcmMgaW4gdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEFuZCB0aGVuIHRoZSBuZXh0IGVsZW1lbnQgZ290IGl0IHRocm91Z2ggdGhlIGZpcnN0IGdzdGdsYnVmZmVyLgoJICBOb3csIHRoaXMgaXMgZG9uZSB0aG91Z2ggcXVlcmllcy4KCSAgQWxsIGdsZWxlbWVudHMgZ2V0IHRoZWlyIHJlZiBvbiBhIGdzdGdsZGlzcGxheSBpbiBSRUFEWSBzdGF0ZS4KCSAgVGhpcyByZXdyaXRlIGlzIG1haW5seSBhIGZpcnN0IHN0ZXAgdG8gYmUgYWJsZSB0byBzaGFyZSBPcGVuR0wgY29udGV4dCBob2xkCgkgIGJ5IHRoZSBnc3RnbGRpc3BsYXkgdXNpbmcgbW9yZSBjb21wbGV4IGdsZWxlbWVudHMuCgkgIEZvciBleGFtcGxlLCB3aXRoIGEgZ2x2aWRlb21peGVyLiBUaGUgYXNzb2NpYXRlZCBnc3RnbGRpc3BsYXkgb2YgZWFjaCBnbCBjaGFpbgoJICBvZiB0aGUgc2luayBwYWRzIHdpbGwgc2hhcmUgdGhlaXIgT3BlbkdMIGNvbnRleHQuCgoyMDA5LTEwLTE2IDE4OjA4OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszODQvOTA2XSBidWlsZDogdXNlIDxzdGRpby5oPiAvICJzdGRpby5oIgoKMjAwOS0xMC0xNiAxNzoyOTowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzgzLzkwNl0gYnVpbGQ6IGluY2x1ZGUgPHN0ZGlvLmg+IHdoZW4gdXNpbmcgcHJpbnRmICYgY28uCgoyMDA5LTEwLTE1IDE1OjQwOjExICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzM4Mi85MDZdIEVTMi4wOiByZW1vdmUgd2FybmluZ3MKCSAgUGFydGlhbGx5IGZpeCAjNTkzNzg2CgoyMDA5LTEwLTE1IDE0OjU5OjA4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzgxLzkwNl0gRUdMIGFuZCBHTFg6OiBzZXQgYSBtaW5pbXVtIGRlcHRoIHNpemUKCjIwMDktMDktMjEgMTU6MDA6MDIgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzgwLzkwNl0gZ2xvdmVybGF5OiBjYW4gcHV0IHZpZGVvIG92ZXIgcG5nIGltYWdlcwoJICBGaXggYnVnICM1OTUzMDMKCjIwMDktMDktMjEgMTA6NTE6NDcgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzM3OS85MDZdIGdsb3ZlcmxheTogYWRkIHN1cHBvcnQgdG8gdXNlIFJHQiBwbmcgaW1hZ2VzCgkgIFByZXZpb3VzbHkgcmVzdHJpY3RlZCB0byBSR0JBLCBub3cgZ2xvdmVybGF5IGNhbiBhbHNvIGhhbmRsZSBhIFJHQiBpbWFnZS4KCjIwMDktMDktMTkgMTQ6MzE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFszNzgvOTA2XSBnbGRpc3BsYXk6IGF2b2lkIHRvIHJlcXVlc3QgZ2wgdGhyZWFkIHdoZW4gZGVsZXRpbmcgYSB0ZXh0dXJlCgkgIEEgdGV4dHVyZSBpcyBub3QgZGVzdHJveWVkIHdoZW4gd2hlbiB3ZSBhcmUgZG9uZSB3aXRoIGl0LgoJICBUaGlzIHRleHR1cmUgaXMganVzdCBhZGRlZCB0byB0aGUgdGV4dHVyZSBwb29sIGluIG9yZGVyIHRvIGJlCgkgIHJlLXVzZWQuIEluIHRoaXMgY2FzZSBubyBPcGVuR0wgY29kZSBpcyBleGVjdXRlZCBzbyB3ZSBkbyBub3QgbmVlZCB0bwoJICByZXF1ZXN0IGdsIHRocmVhZC4KCjIwMDktMDktMTkgMTQ6MTY6MjUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzc3LzkwNl0gZ2xkaXNwbGF5OiBhdm9pZCB0byByZXF1ZXN0IGdsIHRocmVhZCB3aGVuIGdlbmVyYXRpbmcgYSB0ZXh0dXJlCgkgIFRoYW5rcyB0byB0aGUgdGV4dHVyZSBwb29sIHRoZSBnbCB0ZXh0dXJlcyBhcmUgcmUtdXNlZC4KCSAgV2hlbiByZS11c2luZyBvbmUsIG5vIG9wZW5nbCBjb2RlIGlzIGV4ZWN1dGVkIHNvIGRvIG5vdCBuZWVkCgkgIHRvIHJlcXVlc3QgZ2wgdGhyZWFkLgoKMjAwOS0wOS0wMSAxNToyMTozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNzYvOTA2XSBidWlsZDogc3VwcG9ydCBvcGVuR0xFUyBvbiBsaW51eCB2aWEgYXV0b2Zvby4gUGFydGlhbHkgZml4ZXMgIzU5Mzc4NgoJICBBZGQgYSBwa2ctY29uZmlnIGNoZWNrIGZvciBvcGVuZ2wgYW5kIGlmIG5vdCBmb3VuZCBhc3N1bWUgb3BlbmdsLWVzLiBJZiB1c2VyIGhhcwoJICBub25lIG9mIGJvdGggb25lIHN0aWxsIGdldCBidWlsZCBlcnJvciBsYXRlciBvbiAodGhlcmUgaXMgbm8gcGtnLWNvbmZpZyBmb3IKCSAgb3BlbmdsLWVzKS4KCSAgQWRkIG1vcmUgZmlsZXMgdG8gRVhUUkEgZGlzdCBhbmQgYnVpbGQgdGhlIG9wZW5nbGVzIHZhcmlhbnQgaWYgc2VsZWN0ZWQuCgkgIFNpbW1pbGFyIGNoYW5nZXMgY291bGQgYmUgZG9uZSBmb3IgdGhlIHdpbkNFIGJhY2tlbmQuCgoyMDA5LTA5LTAyIDEwOjA2OjM2ICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM3NS85MDZdIGdsb3ZlcmxheTogY2FuIGNvbnRyb2wgaW1hZ2Ugc2l6ZSBhbmQgcG9zaXRpb24KCSAgRml4IGJ1ZyAjNTkxNTkxCgoyMDA5LTA5LTAxIDE5OjQ2OjEwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzc0LzkwNl0gc2Rsc2hhcmUgZXhhbXBsZTogZml4IGJ1aWxkIG9uIHdpbjMyCgoyMDA5LTA4LTMxIDE3OjI2OjM0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzczLzkwNl0gc2Rsc2hhcmUgZXhhbXBsZTogcmV2aWV3IGluY2x1ZGVzIG9yZGVyIGFuZCBmaXggY2xvc3VyZQoKMjAwOS0wOC0zMSAxNzoxODowMSArMDIwMCAgTWlxdWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3Mi85MDZdIG1ha2Ugc2Rsc2hhcmUgZXhhbXBsZSB3b3JrIG9uIGxpbnV4LiBGaXggYnVnICM1OTM0ODYKCjIwMDktMDgtMjYgMjM6NDM6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzEvOTA2XSB0ZXN0czogYWRkIHNkbHNoYXJlIGV4YW1wbGUKCSAgSXQgc2hvd3MgaG93IHRvIHVzZSBnbCB0ZXh0dXJlcyB0aGF0IGNvbWUKCSAgZnJvbSBnc3QgZ2wgZWxlbWVudHMgaW5zaWRlIGEgU0RMIE9wZW5HTCBzY2VuZQoKMjAwOS0wOC0xNyAxNTo0ODowOSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzcwLzkwNl0gQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUgdG8gTWFrZWZpbGUuYW0gYW5kIHVwZGF0ZSBzcGVjIGZpbGUgdG8gYWN0dWFsbHkgYmUgZm9yIHRoaXMgcGFja2FnZQoKMjAwOS0wOC0wMyAxNzo1MjozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNjkvOTA2XSBkZWZpbmUgbWlzc2luZyBnbGV3IG1hY3JvIG9uIG9sZGVyIHZlcnNpb25zCgoyMDA5LTA4LTAzIDEwOjEzOjAyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzY4LzkwNl0gQ29jb2EgYmFja2VuZDogZml4IGNyYXNoIHdoZW4gcmVzaXppbmcKCSAgRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBOU09wZW5nbFZpZXc6OnVwZGF0ZSBpcyBub3Qgc2FmZSBiZWNhdXNlIGl0CgkgIGp1c3QgY2FsbHMgdXBkYXRlIG9uIHRoZSBvcGVuZ2wgY29udGV4dCB3aGVyZWFzIHdlIGFyZSBub3QgaW4gdGhlIGdsIHRocmVhZC4KCSAgQWxzbyBmaXggdGhlIHdoaXRlIGZsaWNrZXJpbmcgd2hlbiByZXNpemluZywgYmVjYXVzZSBub3cgd2UgbmVlZCB0byBjYWxsCgkgIHRoZSBkcmF3IGNhbGxiYWNrIG1hbnVhbGx5IHdoZW4gcmVzaXppbmcuCgoyMDA5LTA3LTMxIDE4OjE3OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzM2Ny85MDZdIGRvY3M6IGZpeCBHc3RYdkltYWdlU0luayAtPiBHc3RHTEltYWdlU2luayBhbmQgcmVpbmRlbnQKCjIwMDktMDctMzAgMDA6MzY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM2Ni85MDZdIGRvY3M6IG1ha2UgcmVtYWluaW5nIGVsZW1lbnRzIHNob3cgdXAgaW4gZG9jcwoJICBTcGxpdCBvdXQgZGVjbGFyYXRpb25zIGludG8gaGVhZGVyIGZpbGVzIGFuZCBob29rIGV2ZXJ5dGhpbmcgdXAgc28KCSAgdGhhdCBmaXZlIG1vcmUgZWxlbWVudHMgc2hvdyB1cCBpbiB0aGUgcGx1Z2luIGRvY3MuIEZpeGVzICM1NTkxMzUuCgoyMDA5LTA3LTI3IDA5OjU4OjIwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzY1LzkwNl0gQ29jb2EgYmFja2VuZDogbWFrZSBzdXJlIHRoYXQgbnNhcHAgaXMgaW5pdGlhbGl6ZWQKCSAgZ3N0LWxhdW5jaC0wLjEwIHZpZGVvdGVzdHNyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaW1hZ2VzaW5rIHQuICEgcXVldWUgISBnbGltYWdlc2luawoJICBub3cgd29ya3MgcHJvcGVybHkgb24gTWFjT1NYCgoyMDA5LTA3LTI0IDEwOjMzOjQ3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzY0LzkwNl0gbWFrZSB0aGUgY21ha2UgYnVpbGQgd29yayBvbiBNYWNPU1gKCSAgV2UgY2FuIG5vdyBnZW5lcmF0ZSBhIFhjb2RlIHByb2plY3QgKG9yIFVuaXggTWFrZmlsZXMpLAoJICBzZWUgSU5TVEFMTCBmaWxlCgoyMDA5LTA3LTI0IDEwOjEyOjA3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzYzLzkwNl0gQ29jb2EgYmFja2VuZDogZml4IGNyYXNoIHdoZW4gY2xvc2luZwoJICAtIEFsbCBnc3RnbHdpbmRvdyBtZW1iZXJzIGFyZSBub3cgbW9kaWZpZWQgb25seSBpbiB0aGUgZ2wgdGhyZWFkCgkgIHRvIGF2b2lkIHRocmVhZCBjb25jdXJyZW5jeQoJICAtIE9wZW5HTCBjb250ZXh0IGlzIG5vdyBwcm9wZXJseSBjbGVhbgoJICAtIGZpeCBhIGNvdXBsZSBvZiB0aGluZ3MgaW4gaW1wbGVtZW50YXRpb24gb2YgeG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA5LTA3LTE3IDE2OjQ3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzYyLzkwNl0gbWFrZSBjb2NvYSBiYWNrZW5kIHdvcmsgb24gTWFjT1NYCgkgIEl0IHdvcmtzIHdpdGggYm90aCBnc3QtbGF1bmNoIGFuZCBhIGNvY29hIGFwcCAobm9uLWVtYmVkZGVkIGFuZCBlbWJlZGRlZCkKCSAgQnV0IHRoZXJlIGlzIHN0aWxsIHNvbWUgcHJvYmxlbXM6CgkgIC0gc29tZXRpbWVzIGNyYXNoIHdoZW4gY2xvc2luZwoJICAtIGZsaWNrZXJpbmcgd2hlbiByZXNpemluZwoJICAtIGVtYmVkZGVkIG1vZGUgbm90IHBlcmZlY3QKCSAgSSB3aWxsIGZpcnN0IG1ha2UgdGhlIENNYWtlIGJ1aWxkIHdvcmsgd2l0aCBjb2NvYSBiYWNrZW5kCgkgIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgWENvZGUgcHJvamVjdC4KCSAgVGhlbiBpdCBzaG91bGQgYmUgZWFzaWVyIHRvIGZpeCB0aG9zZSBpc3N1ZXMuCgoyMDA5LTA3LTE0IDIwOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzM2MS85MDZdIGdzdGd0azogYWRkIG1pc3NpbmcgbGljZW5zZSBhbmQgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTA3LTE0IDIwOjI1OjI4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzYwLzkwNl0gZXhhbXBsZXM6IGFkZCBtaXNzaW5nIGNvcHlyaWdodC9saWNlbnNlIHRvIG15IGV4YW1wbGVzCgoyMDA5LTA3LTEzIDE2OjMyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM1OS85MDZdIGdsOiBMaW5rIHdpdGggLWxtIGFuZCBmaXggaW5kZW50aW9uCgoyMDA5LTA3LTEzIDEyOjUzOjE3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNTgvOTA2XSBnc3RnbGRpc3BsYXk6IENsb3NlIGEgc21hbGwgcmFjZSBzdGFydGluZyB0aGUgZGlzcGxheSB0aHJlYWQKCSAgVGFrZSB0aGUgZGlzcGxheSBsb2NrIGJlZm9yZSBzaWduYWxsaW5nIHRoZSBjcmVhdGUtY29udGV4dCBjb25kCgkgIHRvIGVuc3VyZSB0aGUgY2FsbGVyIGhhcyBkcm9wcGVkIHRoZSBsb2NrIGFuZCBpcyB0aGVyZWZvcmUgbGlzdGVuaW5nCgkgIGZvciB0aGUgc2lnbmFsLgoKMjAwOS0wNy0xMyAxMjo1MjozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMzU3LzkwNl0geDExOiBEb24ndCBjcmFzaCB3aGVuIHRoZSBYMTEgZGlzcGxheSBpcyBub3QgYXZhaWxhYmxlLgoJICBFcnJvciBvdXQgY2xlYW5seSBpbnN0ZWFkIG9mIGNyYXNoaW5nIHdoZW4gdGhlIFgxMSBkaXNwbGF5IGNhbid0CgkgIGJlIGNvbnRhY3RlZC4KCjIwMDktMDctMTMgMTI6MDg6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM1Ni85MDZdIGJ1aWxkOiBGaXggdHlwbzogZ3N0Z2xidW1iZXIuaCAtPiBnc3RnbGJ1bXBlci5oCgoyMDA5LTA2LTI1IDIxOjMyOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFszNTUvOTA2XSBzYW1lIG1vdGlvbiBjb21wZW5zYXRpb24KCjIwMDktMDYtMjUgMDE6MzA6NDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzM1NC85MDZdIGZpeCBhbmQgYWRkIGdsZGVpbnRlcmxhY2UgZmlsdGVyIHRvIHRoZSBidWlsZHMKCjIwMDktMDYtMjQgMTc6NTg6MzUgKzAyMDAgIGp1bGllbiA8anVsaWVuQEtKSVMuKG5vbmUpPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzM1My85MDZdIGFkZCBhIGdsZGVpbnRlcmxhY2UgZmlsdGVyCgkgIEdyZWVkeWggb3BlcmF0aW9uIGltcGxlbWVudGVkIHVzaW5nIE9wZW5HTCBTaGFkaW5nIExhbmd1YWdlLgoJICBXZSBjb3VsZCBhZGQgb3RoZXIgb3BlcmF0aW9ucyBsYXRlci4KCSAgRG9lcyBzb21lIGdvb2QgcmVzdWx0cyBidXQgc3RpbGwgbm90IGFzIGV4cGVjdGVkLgoJICBUaGF0J3Mgd2h5IEkgZG8gbm90IGFkZCBpdCB5ZXQgdG8gdGhlIGJ1aWxkLgoKMjAwOS0wNi0xMiAxMTozMzowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMzUyLzkwNl0gZml4IHR5cG8KCSAgQ2hhbmdlIEdTVF9HTF9ESVNQTEFZX1BST0pFQ1RJT05fUEVSU1BFQ0lWRSB0bwoJICBHU1RfR0xfRElTUExBWV9QUk9KRUNUSU9OX1BFUlNQRUNUSVZFLgoJICBSZS1pbmRlbnQgYSBjb3VwbGUgb2YgZmlsZXMgdGhhdCBuZWVkZWQgaXQuCgoyMDA5LTA2LTA5IDIwOjM1OjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMzUxLzkwNl0gYWxsb3cgdG8gc3dpdGNoIHhvdmVybGF5IHdoaWxlIGJlaW5nIGluIHBhdXNlZCBzdGF0ZQoKMjAwOS0wNi0wNyAyMDoxOTowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzM1MC85MDZdIGZpeCB3aW5kb3cgcG9zaXRpb24gd2hlbiB1c2luZyB4b3ZlcmxheQoJICB4LCB5IGFyZSB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIHBvc2l0aW9uIGluc2lkZQoJICB0aGUgbmV3IHBhcmVudCB3aW5kb3cuCgkgIEZpeGVzICM1ODQ4NzcKCjIwMDktMDYtMDYgMTQ6MzQ6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFszNDkvOTA2XSBjYW4gc3dpdGNoIHhvdmVybGF5cyB3aGlsZSBwbGF5aW5nCgkgIEZpeGVzIGJ1ZyAjNTg0ODc3CgkgIEJlZm9yZSB0aGlzIGNvbW1pdCBjYWxsaW5nICJnc3RfeF9vdmVybGF5X3NldF94d2luZG93X2lkIiBtb3JlCgkgIHRoYW4gb25lIHRpbWUsIGhhZCBubyBlZmZlY3QuCgkgIEl0IG1haW5seSBhZmZlY3RzIHRoZSBnbGltYWdlc2luayBpbXBsZW1lbnRhdGlvbi4KCSAgQnV0IG9uIHdpbjMyIChhbmQgQ0UpLCBzb21lIHN0dWZmIGhhcyB0byBiZSBkb25lIHRvCgkgIHJlbGVhc2UgdGhlIG9sZCBwYXJlbnQuCgkgIEFuZCBhZGQgYSBzd2l0Y2h4b3ZlcmxheSBleGFtcGxlIHdoZXJlIHRoZSB1c2VyCgkgIGNhbiBjbGljayBvbiBsZWZ0L3JpZ2h0IHBhcnQgb2YgdGhlIG1haW4gd2luZG93IHRvCgkgIHN3aXRjaCB0aGUgeG92ZXJsYXkuCgoyMDA5LTA2LTA0IDA5OjUwOjUyICswMjAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzQ4LzkwNl0gQWRkIGdzdHZpZGVvIHRvIGdsaW1hZ2VzaW5rIExJQkFERC4gRml4ZXMgYnVnICM1ODQ2ODAKCjIwMDktMDYtMDQgMDA6Mjc6NDQgKzAyMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzM0Ny85MDZdIGZpeCBtaXNjYXN0IG9mIGEgcG9pbnRlciBpbiBTZXRXaW5kb3dMb25nUHRyCgkgIEdDQyA0LjQuMCBjb21wbGFpbnMgZXJyb3I6IGNhc3QgZnJvbSBwb2ludGVyIHRvIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUKCSAgRml4ZXMgIzU4NDY3OC4KCjIwMDktMDUtMTIgMTE6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzQ2LzkwNl0gRml4IGxpbmtpbmcgYnkgcHJvdmlkaW5nIGxpYnRvb2wgdGhlIGNvcnJlY3QgLS10YWcgcGFyYW1ldGVyCgoyMDA5LTA1LTExIDE4OjA2OjE4ICswMjAwICBqdWxpZW4gPGp1bGllbkBLSklTLihub25lKT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDUvOTA2XSBjaGFuZ2Ugcm90YXRpb24gY2VudGVyIGluIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA5IDIxOjMwOjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDQvOTA2XSBVc2UgYSBtb3JlIGNvbXBsZXggZ3N0IGdsIHBpcGVsaW5lIGluIHRoZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOSAyMToyNjo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQzLzkwNl0gQWRkIGEgc2lnbmFsIHdhdGNoIGJ1cyBjYWxsYmFjayB0byBjaGVjayBnc3QgbWVzc2FnZXMKCjIwMDktMDUtMDkgMjA6NTE6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0Mi85MDZdIEZpeCB0ZXh0dXJlIGFjdG9yIHVwZGF0ZSBkdWUgdG8gYSB0b28gc3Ryb25nIHRocmVhZCBsb2NraW5nLgoJICBPbiBsaW51eCwgdGhlIEdTb3VyY2UgZnVuYyBhdHRhY2hlZCB0byB0aGUgY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlCgkgIHdhcyBub3QgZ2V0dGluZyB0aGUgY3B1IHJlc3NvdXJjZSBwZXJpb2RpY2FsbHkuCgkgIEJlY2F1c2UgdGhlIHVzZSBvZiBjbHV0dGVyX3RocmVhZHNfZW50ZXIvbGVhdmUgaW5zaWRlIHRoZSBmYWtlc2luawoJICBjYWxsYmFjayBzZWVtcyB0byBiZSB0b28gc3Ryb25nLgoJICBTbyByZW1vdmUgdGhlIHVzZSBpZiBjbHV0dGVyX3RocmVhZHNfZW50ZXIvbGVhdmUgaW4gdGhlIGZha2VzaW5rIGNhbGxiYWNrLgoJICBUaGVuIHJlcGxhY2UgR1F1ZXVlIGJ5IEdBc3luY1F1ZXVlIHRvIGtlZXAgdGhyZWFkIHNhZmUgYWNjZXNzIHRvIHRoZQoJICBjb21tdW5pY2F0aW9uIHF1ZXVlcyBiZXR3ZWVuIGNsdXR0ZXIgYW5kIGdzdC1nbC4KCSAgQ2FsbCBjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUgd2l0aCBoaWdoIHByaW9yaXR5LgoKMjAwOS0wNS0wOSAxNTo0NDowOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQxLzkwNl0gUHJvcGVybHkgY2xlYW4gdXAgcGVuZGluZyBnc3QgZ2wgYnVmZmVycyBpbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOCAyMTo0Mzo1NiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQwLzkwNl0gRml4IGNsdXR0ZXJzaGFyZSBleGFtcGxlLgoJICBJdCByZXF1aXJlcyBhdCBsZWFzdCBjbHV0dGVyIDAuOC42IHNpbmNlIGxvd2VyIGNsdXR0ZXIgdmVyc2lvbnMgYXJlCgkgIG5vdCBjb21wYXRpYmxlIHdpdGggR0xfVEVYVFVSRV9SRUNUQU5HTEVfQVJCLgoJICBSZW1vdmUgdXNlIG9mIENsdXR0ZXJFZmZlY3RUZW1wbGFjZSBzaW5jZSBpdCBkb2VzIG5vdCBleGlzdCBpbgoJICBjbHV0dGVyIDAuOS4KCjIwMDktMDUtMDQgMTE6MjQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzOS85MDZdIENhc3QgdG8gYSBHc3RCdWZmZXIqIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9idWZmZXJfdW5yZWYgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDUtMDIgMTQ6Mjc6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzOC85MDZdIFVzZSBHUXVldWUgaW4gdGhlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA0LTMwIDIzOjQwOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM3LzkwNl0gSW1wcm92ZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoJICBVc2UgY2x1dHRlcl90aHJlYWRzX0FQSS4KCSAgV2hlbiBqdXN0IHVzaW5nIGdsdXBsb2FkIGZyb20gcmdiLCB3ZSBoYXZlIHRvIGJlIHN1cmUgdGhhdAoJICB0aGUgdXBsb2FkIHRleHR1cmUgaXMgbm90IGluIHVzZSBpbiBvdXIgZ3N0IGdsIGNvbnRleHQuCgoyMDA5LTA0LTIwIDE4OjE3OjU0IC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzM2LzkwNl0gW3gxMS94MTFFU10gZml4IHNvbWUgcG9pbnRlciBjYXN0IHdhcm5pbmdzCgoyMDA5LTA0LTIwIDIzOjU1OjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzM1LzkwNl0gW2NvY29hXSB1cGRhdGUgc2luY2UgaW50ZXJmYWNlIGNoYW5nZWQKCjIwMDktMDQtMjAgMjM6NDg6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzNC85MDZdIFt3aW4zMi93aW5DRV0gZml4IHNvbWUgcG9pbnRlciBjYXN0IHdhcm5pbmdzIHdpdGggbWluZ3cKCSAgQW5kIHR1cm4gb2ZmIGRlcHJlY2F0ZWQgV3A2NCBtc3ZjIGNvbXBpbGVyIG9wdGlvbi4KCjIwMDktMDQtMjAgMDA6NTI6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzMzMy85MDZdIGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gc3VwcG9ydAoKMjAwOS0wNC0xOCAxNjowODoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzMyLzkwNl0ganVzdCBnc3QtaW5kZW50IGFuZCBDOTAgb24gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDQtMTggMDg6NDA6NTEgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMzMxLzkwNl0gaW5kZW50IGFuZCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wNC0xOCAxMzo1Nzo0NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzMC85MDZdIENhbiBub3cgc2hhcmUgdGV4dHVyZXMgd2l0aCBhbiBleHRlcm5hbCBnbCBjb250ZXh0CgkgIFRoZSBleHRlcm5hbCBvcGVuZ2wgY29udGV4dCBtdXN0IGJlIHNwZWNpZnkgd2hlbiBjcmVhdGluZwoJICBvdXIgT3BlbkdMIGNvbnRleHQgKGdseCkgb3IganVzdCBhZnRlciAod2dsKS4KCSAgV2hlbiBjYWxsaW5nIGdsWENyZWF0ZUNvbnRleHQgb3Igd2dsU2hhcmVMaXN0cywgdGhlCgkgIGV4dGVybmFsIG9wZW5nbCBjb250ZXh0IG11c3Qgbm90IGJlIGN1cnJlbnQuCgkgIFRoZW4gb3VyIGdsIGNvbnRleHQgY2FuIGJlIGN1cnJlbnQgaW4gdGhlIGdsIHRocmVhZCB3aGlsZQoJICB0aGUgZXh0ZXJuYWwgZ2wgY29udGV4dCBpcyBjdXJyZW50IGluIGFuIG90aGVyIHRocmVhZC4KCSAgU2VlIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmMKCjIwMDktMDQtMTIgMjI6MjQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMyOS85MDZdIEJ1aWxkIGZvciBDb2NvYSBvbiBkYXJ3aW4sIHdpdGggdmFyaW91cyBmaXhlcwoKMjAwOS0wNC0xMiAyMDowMzozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFszMjgvOTA2XSBDb252ZXJ0IGd0ayBleGFtcGxlcyB0byB1c2UgaGVscGVyIGxpYnJhcnkKCSAgSGVscGVyIGxpYiBpbXBsZW1lbnRzIGdzdC1ndGsgZ2x1ZSBvbiBhbGwgcGxhdGZvcm1zCgoyMDA5LTA0LTEwIDIwOjQyOjU5ICswMjAwICBKdWxpZW4gPGp1bGllbkBKdWxpZW4tS3VidW50dS4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszMjcvOTA2XSBmaXggaW5pdCBGQk8ncyB0ZXh0dXJlIGF0dGFjaG1lbnQgb24gRVMgMi4wCgoyMDA5LTA0LTEwIDIwOjMwOjQ2ICswMjAwICBKdWxpZW4gPGp1bGllbkBKdWxpZW4tS3VidW50dS4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzI2LzkwNl0gYWRkIFggYmFja2VuZCBmb3IgT3BlbkdMIEVTIDIuMAoKMjAwOS0wMy0yOSAxNTo0MDoxNiArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzI1LzkwNl0gUmVzdG9yZSBnbGltYWdlc2luayBpbnN0ZWFkIG9mIHhpbWFnZXNpbmsKCSAgUGFydGlhbGx5IHJldmVydCBwcmV2aW91cyBjb21taXQuIEl0J3Mgbm90IGFuIGlzc3VlIHdpdGggZ2xpbWFnZXNpbmsKCSAgWG92ZXJsYXkgaW50ZXJmYWNlLiBJdCdzIGFsd2F5cyB0aGUgc2FtZSBpbnRlbCBidWcgd2l0aCBkaXJlY3QKCSAgcmVuZGVyaW5nIHJlZGlyZWN0aW9uICh0aGUgb25lIHRoYXQgYWZmZWN0cyBlYWNoIG9wZW5nbCBhcHBsaWNhdGlvbgoJICB3aXRoIGNvbXBvc2l0aW5nIG1hbmFnZXJzKS4gSXQgd29ya3MgZmluZSB3aXRoIERSSTIgYW5kIFVYQQoJICBhY2NlbGVyYXRpb24uIFN0aWxsIGxlYXZpbmcgZWZmZWN0cyBkaXNhYmxlZCBiZWNhdXNlIEknbSB0ZXN0aW5nIGludGVsCgkgIGhhcmR3YXJlIHRoYXQgZG9lc24ndCBzdXBwb3J0IEZCT3MuCgoyMDA5LTAzLTI5IDA5OjAxOjU1ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjQvOTA2XSBUZW1wb3JhcnkgZGlzYWJsZSBnbGltYWdlc2luayBpbiBjbHV0dGVyYWN0b3J0ZWUKCSAgR0xpbWFnZXNpbmsgWE92ZXJsYXkgaW50ZXJmYWNlIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggY29tcG9zaXRlCgkgIHJlZGlyZWN0aW9uIG9uIGludGVsIChhbmQgSSBiZWxpZXZlIGF0aSB0b28pLiBXaW5kb3dzIGFyZW4ndAoJICByZWRpcmVjdGVkIG9mZnNjcmVlbiBhdCBhbGwuICBUaGlzIGNvbW1pdCBqdXN0IHNob3dzIHRoYXQgdGhlIGV4YW1wbGUKCSAgY29ycmVjdHkgd29ya3Mgd2l0aCB4aW1hZ2VzaW5rLiBUaGUgbW9zdCBldmlkZW50IGRpZmZlcmVuY2UgSSBzZWUgaXMKCSAgdGhhdCBnbGltYWdlc2luayByZXBhcmVudHMgdGhlIHhvdmVybGF5IHdpbmRvdyBpbnRvIGl0cyBvd24gd2hpbGUgYm90aAoJICB4IGFuZCB4dmltYWdlc2luayBkZXN0cm95IHRoZWlyIHdpbmRvdyBhbmQgcmVuZGVyIGRpcmVjdGx5IHRvIHRoZQoJICB4b3ZlcmxheSBvbmUuCgoyMDA5LTAzLTI5IDA4OjUxOjE2ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjMvOTA2XSBSZW1vdmUgcmVkdW5kYW50IFhNb3ZlV2luZG93IGNhbGwKCSAgUmV2ZXJ0IHRoZSAibW92ZSB3aW5kb3dzIiB0aGluZyBmcm9tIGNvbW1pdAoJICAxNzVmN2E3MDdiYzkyMmYzZmFjYzYzZTdkOWI2ZDAxZjliYjZiMWIwCgkgIFdpbmRvd3MgYXJlIG9mZnNjcmVlbiB3aG8gY2FyZXMgYWJvdXQgdGhlaXIgcG9zaXRpb24/IElmIHlvdSBzZWUgdGhlCgkgIHdpbmRvd3Mgc29tZXRoaW5nIGlzIGdvaW5nIHdyb25nIHdpdGggY29tcG9zaXRlIHJlZGlyZWN0aW9uLgoKMjAwOS0wMy0xOCAyMjo0Njo1NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszMjIvOTA2XSBbZG93bmxvYWQgWVVZMi9VWVZZXSBmaXggYSByZWdyZXNzaW9uCgkgIFRoZSBjYWxsIHRvIGdsTG9hZElkZW50aXR5IHdhcyByZW1vdmVkIGJ5IG1pc3Rha2UgZHVyaW5nCgkgIE9wZW5HTCBFUyAyLjAgaW50ZWdyYXRpb24uCgoyMDA5LTAzLTE1IDE0OjQ4OjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMyMS85MDZdIGFkZCBPcGVuR0wgRVMgMi54IHN1cHBvcnQuCgkgIEluIE9wZW5HTCAyLnggZm9yIEVtYmVkZGVkIFN5c3RlbSwgYSBsb3Qgb2YgYmFzaWMgc2NlbmUvZHJhdyBmdW5jdGlvbnMKCSAgaGF2ZSBiZWVuIHJlbW92ZWQuIEl0IG1lYW5zIHRoYXQgZXZlcnl0aGluZyBpcyBtYWRlIHVzaW5nIHZlcnRleCBhbmQKCSAgZnJhZ21lbnQgc2hhZGVycy4KCSAgSSBoYXZlIGFsc28gYWRkZWQgYSBnc3RnbHdpbmRvdyBiYWNrZW5kIGZvciB3aW5DRSB0aGF0IHVzZXMgRUdMCgkgIChOYXRpdmUgUGxhdGZvcm0gR3JhcGhpY3MgSW50ZXJjYWNlKSAod2hpY2ggaXMgYSBmdWxsIHBhcnQgb2YKCSAgT3BlbkdMIEVTIHNwZWNpZmljYXRpb24pLiBJdCByZW1vdmUgdGhlIHVzZSBvZiB3Z2wvZ2x4IGZ1bmN0aW9ucy4KCjIwMDktMDMtMDcgMDM6MTM6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMjAvOTA2XSBmaXggcG9zaXRpb24gYW5kIGNvbnRlbnQgcmVjdAoKMjAwOS0wMy0wNiAyMjo0Mzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzMxOS85MDZdIFt3aW4zMiBiYWNrZW5kXSBmaXggdHJhbnNtaXRpb24gbWVzc2FnZSB0byB0aGUgcGFyZW50LgoJICBUaGUgUXQgbW91dmV4b3ZlcmxheSBleGFtcGxlIHNob3dzIGhvdyB0byByb3RhdGUgdGhlIGN1YmUKCSAgYnkgbW92aW5nICgrY2xpY2spIHRoZSBtb3V2ZSBvdmVyIGEgcXdpZGdldCB1c2luZyB4b3ZlcmxheQoJICBpbnRlcmZhY2UuCgoyMDA5LTAyLTI2IDE3OjQ1OjIxIC0wNTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbMzE4LzkwNl0gcmVuYW1lIEdOVW1ha2VmaWxlKHMpIHRvIEdOVW1ha2VmaWxlKHMpLmdudXN0ZXAKCjIwMDktMDItMjYgMDE6MDY6NTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC9nbC9HTlVtYWtlZmlsZToKCSAgWzMxNy85MDZdIGltcGxlbWVudCBnc3RnbHdpbmRvdyBmb3IgQ29jb2EgKE1hY09TIGFuZCBHTlVzdGVwKQoKMjAwOS0wMi0yNSAwMDozOTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMTYvOTA2XSByZW1vdmUgc29tZSB1bnVzZWQgSEFWRV9MSUJQTkc6IGxpYnBuZyBpcyBhIHJlcXVpcmVkIHBhY2thZ2UKCjIwMDktMDItMjUgMDA6MTI6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGU6CgkgIFszMTUvOTA2XSBhZGQgR05Vc3RlcCBidWlsZAoKMjAwOS0wMi0yMyAxMTowNzoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJICBbMzE0LzkwNl0gQWRkIHNyY2RpciB0byBpbmNsdWRlcyBmb3Igb3V0LW9mLXNvdXJjZSBidWlsZHMKCSAgV2hlbiB5b3UgdXNlIGdzdHJlYW1lciB1bmluc3RhbGxlZCBhbmQgYnVpbGQgb3V0c2lkZQoJICB0aGUgc291cmNlIHRyZWUsIHRoZSBpbmNsdWRlcyBuZWVkIHRvIGJlIHNwZWNpZmllZCBmb3IKCSAgYm90aCB0aGUgc291cmNlIHRyZWUgYW5kIHRoZSBidWlsZCB0cmVlLgoKMjAwOS0wMi0yMyAxMzozOToyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMzEzLzkwNl0gaW5kZW50OiBkb24ndCB1c2UgdGFicyBpbnNpZGUgcHJvcGVydHkgZGVzY3JpcHRpb25zCgoyMDA5LTAyLTIzIDEzOjM1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzMxMi85MDZdIGJ1aWxkOiBpbmNsdWRlIHN0ZGxpYi5oIHdoZW4gdXNpbmcgZnJlZSgpLgoKMjAwOS0wMi0yMiAxOTozNjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFszMTEvOTA2XSBDYXN0IEdzdEJ1ZmZlciBzdWJjbGFzc2VzIHRvIEdzdEJ1ZmZlciAqIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9idWZmZXJfdW5yZWYoKQoKMjAwOS0wMi0xMCAyMjozOToxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMTAvOTA2XSBHbG9iYWwgcmVpbmRlbnQKCSAgSW5kZW50IHBhcmFtZXRlcnM6CgkgIElOREVOVF9QQVJBTUVURVJTPSItLWJyYWNlcy1vbi1pZi1saW5lIFwKCSAgLS1jYXNlLWJyYWNlLWluZGVudGF0aW9uMCBcCgkgIC0tY2FzZS1pbmRlbnRhdGlvbjIgXAoJICAtLWJyYWNlcy1hZnRlci1zdHJ1Y3QtZGVjbC1saW5lIFwKCSAgLS1saW5lLWxlbmd0aDgwIFwKCSAgLS1uby10YWJzIFwKCSAgLS1jdWRkbGUtZWxzZSBcCgkgIC0tZG9udC1saW5lLXVwLXBhcmVudGhlc2VzIFwKCSAgLS1ob25vdXItbmV3bGluZXMgXAoJICAtLWNvbnRpbnVhdGlvbi1pbmRlbnRhdGlvbjQgXAoJICAtLXRhYi1zaXplOCBcCgkgIC0taW5kZW50LWxldmVsMiIKCjIwMDktMDItMDMgMTg6NTg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMzA5LzkwNl0gUmVwbGF5OiBGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMKCSAgQWx0aG91Z2h0IHRoZSBYRXZlbnQncyB4Y2xpZW50LmRhdGEubCBhcnJheSBpcyBhbiBhcnJheSBvZgoJICBsb25ncyB0aGV5IHdpbGwgYmUgY29uc3RyYWluZWQgdG8gMzIgYml0IGJ5IHRoZSBYMTEgcHJvdG9jb2wuCgkgIE9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIHVzZSB0d28gZWxlbWVudHMgb2YgdGhlIGFycmF5IHRvIHN0b3JlCgkgIG9uZSBwb2ludGVyLgoJICBUaGlzIGZpeGVzIHNlZ2ZhdWx0cyB0aGF0IGhhcHBlbiBhdCBsZWFzdCBmb3IgZXZlcnkgZXhhbXBsZQoJICBvbiBzdGFydHVwLgoKMjAwOS0wMi0wNSAxMzoxMzo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMDgvOTA2XSBSZW5hbWUgZ2xwaXhidWZvdmVybGF5IHRvIGdsb3ZlcmxheQoKMjAwOS0wMi0wNCAxNjo1NzoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzA3LzkwNl0gUmVtb3ZlIGNvbmRpdGlvbmFscyBvbiBnZGtwaXhidWYKCjIwMDktMDItMDggMDE6NTA6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMDYvOTA2XSBmaXggQ01ha2UgYnVpbGQgYW5kIGZyb3plbiBDb2RlQmxvY2tzIGJ1aWxkCgoyMDA5LTAyLTA3IDIxOjE5OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMwNS85MDZdIENNYWtlIGJ1aWxkIG5vdyBjaGVja3MgZm9yIGxpYnBuZwoKMjAwOS0wMi0wNSAxOTo1OToyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzA0LzkwNl0gb25seSBsb2FkIFJHQkEgZmlsZXMucG5nCgoyMDA5LTAyLTA0IDE2OjE4OjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzMwMy85MDZdIEFkZCBsaWJwbmcgZGVwZW5kZW5jeQoKMjAwOS0wMS0yNiAxNjozMDoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMzAyLzkwNl0gRml4IHNvbWUgd2FybmluZ3MKCjIwMDktMDEtMjMgMDI6MDQ6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwMS85MDZdIGRlcGVuZHMgb24gbGlicG5nIGluc3RlYWQgb2YgZ2RrX3BpeGJ1ZgoKMjAwOS0wMS0yMiAwMjoxOTozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDAvOTA2XSB1c2UgbGlicG5nIGluIGdscGl4YnVmb3ZlcmxheSBmaWx0ZXIuCgoyMDA5LTAxLTIyIDAxOjE2OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSAgWzI5OS85MDZdIHVzZSBsaWJwbmcgdG8gbG9hZCB0aGUgbm9ybWFsIG1hcCBpbnN0ZWFkIG9mIHVzaW5nIGdka3BpeGJ1ZgoKMjAwOS0wMi0xMCAyMTo1NzozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsyOTgvOTA2XSBSZXZlcnQgIkZpeCBpbmRlbnRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTZlNGFiMThjMmNmOTg3NmY2YzAzMWI5YWJhNjI4MmQwYmQ0NWE5My4KCSAgWW91IHNob3VsZCBoYXZlIGFza2VkIGZpcnN0LiAgQW5kIHlvdSB3b3VsZCBoYXZlIGJlZW4gdG9sZCAibm8iLAoJICBiZWNhdXNlIGl0IGNhdXNlcyBwZW9wbGUgb24gZGV2ZWxvcG1lbnQgYnJhbmNoZXMgdG8gZG8gYSBodWdlCgkgIGFtb3VudCBvZiBleHRyYSB3b3JrLgoKMjAwOS0wMi0xMCAyMTo1NzowOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTcvOTA2XSBSZXZlcnQgIkZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyODA3NzFkMDliNTg2MTdiMjcyMDEwMjdkZTBlMTE5NGRhMzc2ZTcyLgoKMjAwOS0wMi0wMyAxODo1ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTYvOTA2XSBGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMKCSAgQWx0aG91Z2h0IHRoZSBYRXZlbnQncyB4Y2xpZW50LmRhdGEubCBhcnJheSBpcyBhbiBhcnJheSBvZgoJICBsb25ncyB0aGV5IHdpbGwgYmUgY29uc3RyYWluZWQgdG8gMzIgYml0IGJ5IHRoZSBYMTEgcHJvdG9jb2wuCgkgIE9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIHVzZSB0d28gZWxlbWVudHMgb2YgdGhlIGFycmF5IHRvIHN0b3JlCgkgIG9uZSBwb2ludGVyLgoJICBUaGlzIGZpeGVzIHNlZ2ZhdWx0cyB0aGF0IGhhcHBlbiBhdCBsZWFzdCBmb3IgZXZlcnkgZXhhbXBsZQoJICBvbiBzdGFydHVwLgoKMjAwOS0wMi0wMyAxODozMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsyOTUvOTA2XSBGaXggaW5kZW50aW9uCgoyMDA5LTAyLTAzIDExOjIzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5NC85MDZdIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIGJ5IHVzaW5nIEdfR1VJTlQ2NF9GT1JNQVQKCjIwMDktMDEtMTUgMTg6Mzk6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzI5My85MDZdIG1pbmltYWwgZ3RrIGRvYwoKMjAwOS0wMS0wOSAxNzo0NjowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzI5Mi85MDZdIEFkZCAnZXh0ZXJuJyBmb3IgZGF0YSBzeW1ib2xzIGluIGhlYWRlcnMKCjIwMDktMDEtMDkgMTc6MjA6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjkxLzkwNl0gQWRkIGNoZWNrIGZvciBHTEVXX0VYVF9mcmFtZWJ1ZmZlcl9vYmplY3QKCjIwMDktMDEtMDggMTk6MTg6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjkwLzkwNl0gU2V0IEdMX0xJQlMgY29ycmVjdGx5IGluIGNvbmZpZ3VyZS5hYwoJICBUaGlzIGRvZXNuJ3QgZGV0ZWN0IHRoZSBleGlzdGVuY2Ugb2YgbGlicmFyaWVzLCB3aGljaCBuZWVkcyB0bwoJICBiZSBmaXhlZC4KCjIwMDktMDEtMDcgMTk6MTE6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyODkvOTA2XSBidWlsZCBmaXhlcyBmb3IgV2luZG93cyBsaWJyYXJpZXMKCjIwMDgtMTItMTQgMTI6MDY6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjg4LzkwNl0gYWRkIG1vcmUgZGVidWcgb3VwdXRzIGFib3V0IEdMU0wgYW5kIG1lc2EKCjIwMDgtMTItMTMgMTk6MzY6MzIgLTA1MDAgIGp1bGllbiA8anVsaWVuQGp1bGllbi1kZXNrdG9wLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4Ny85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gYWJvdXQgZ2xYQ2hvb3NlVmlzdWFsIHdoaWNoIGZhaWxlZCB3aGVuIHVzaW5nIG1lc2EsIHNvIGF0dHJpYnV0ZXMgbXVzdCBiZSBsZXNzIHJlc3RyaWN0aXZlcy4KCjIwMDgtMTItMTMgMDA6NTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyODYvOTA2XSBbd2luMzJdIFJlZ2lzdGVyIHdpbmRvdyBjbGFzcyBpbiBnc3RfZ2xfd2luZG93X2NsYXNzX2luaXQKCjIwMDgtMTItMDcgMDM6MjU6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzI4NS85MDZdIGZpeCBnbCBmcmFtZXJhdGUgaW4gZ3N0IGNhcHMuIENvbnNpZGVyIHBvc2l0aW9uIGluIHhvdmVybGF5LiBGaXggaW52ZXJzaW9uIGJldHR3ZWVuIENPTFMgYW5kIFJPV1MsIGFuZCBtb3ZlIHdpbmRvd3MuCgoyMDA4LTExLTI5IDIyOjE2OjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjg0LzkwNl0gd29ya2Fyb3VuZCBhYm91dCB0aGUgQVRJIHNoYWRlciBjb21waWxlciBvbiBsaW51eCAoc2V0bG9jYWxlKQoKMjAwOC0xMS0yNSAwMTowMTowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODMvOTA2XSBiZXR0ZXIgcmVzdWx0IGluIGN1YmUgYW5kIGRvdWJsZWN1YmUgZXhhbXBsZS4gQW5kIHNvbWUgY2xlYW4gdXAgZGVidWcgYW5kIGNvbW1lbnRzCgoyMDA4LTExLTIzIDE2OjE0OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI4Mi85MDZdIHVwZGF0ZSBDTWFrZSBidWlsZAoKMjAwOC0xMS0yMyAxNjowNDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjgxLzkwNl0gTWFrZSBjdWJlIGV4YW1wbGUgd29yayBvbiB4MTEuIEZpbmlzaCBUT0RPIHRhc2sgOS4KCjIwMDgtMTEtMjIgMTY6NDM6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI4MC85MDZdIFJlbW92ZSBzZXRfdmlzaWJsZSwgYmVjYXVzZSBpdCdzIG5vdyBhdXRvbWF0aWNhbGx5IGRvbmUgd2hlbiB0aGUgZmlyc3QgcG9zdCByZWRpc3BsYXkgY29tZXMuCgoyMDA4LTExLTIyIDAwOjUxOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3OS85MDZdIGZpbmlzaCBzZXRfeHdpbmRvd19pZCAoZ3N0X2dsX3dpbmRvd19zZXRfZXh0ZXJuYWxfd2luX2lkKTogY2hpbGQgaXMgcmVzaXplZCBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSBwYXJlbnQgaXMuCgoyMDA4LTExLTIxIDIwOjUxOjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3OC85MDZdIEltcGxlbWVudCBzZXRfeHdpbmRvd19pZCAoZ3N0X2dsX3dpbmRvd19zZXRfZXh0ZXJuYWxfd2luZG93X2lkKS4KCjIwMDgtMTEtMjEgMTk6Mzc6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc3LzkwNl0gb3BlbiB4IGNsaWVudCBjb25uZWN0aW9uIGZvciBzZW5kZXIgb25seSBhdCBzdGFydCB1cAoKMjAwOC0xMS0yMSAxOToxMToxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzYvOTA2XSBiZXR0ZXIgZGVhbCB3aXRoIGxhc3QgcGVuZGluZyBjdXN0b20gY2IgYW5kIGRlc3Ryb3lfY29udGV4dF9jYgoKMjAwOC0xMS0yMSAwMTozMToxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc1LzkwNl0gTWFrZSBzdXJlIHRoZSBnbCByZXNzb3VyZXMgYXJlIGRlc3Ryb3llZCBiZWZvcmUgdG8gZGVzdHJveSBnbCB3aW5kb3cKCjIwMDgtMTEtMjAgMDE6MjQ6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzQvOTA2XSBhZGQgc29tZSBvdGhlciBkZWJ1ZyBvdXRwdXRzIGFuZCBjaGVja3MKCjIwMDgtMTEtMTkgMDA6MDc6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI3My85MDZdIGFkZCBzb21lIGRlYnVnIG91dHB1dHMgYWJvdXQgVmlzdWFsIGFuZCBYVmlzdWFsSW5mbwoKMjAwOC0xMS0xNyAwMTowNDozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzIvOTA2XSBhZGQgYSB2aXNpYmxlIG1lbWJlciB0byBkZWFsIGJldHRlciB3aXRoIHRoZSBmaXJzdCBleHBvc2UgZXZlbnRzCgoyMDA4LTExLTE2IDE2OjU3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3MS85MDZdIHJldmVydCBsYXN0IGNvbW1pdCBiZWNhdXNlIHRoZSBjcmFzaCBjb21lcyBmcm9tIGxpYnNlbGludXgKCjIwMDgtMTEtMTUgMjM6MzI6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcwLzkwNl0gZml4IHVzZSBvZiBkaWZmZXJlbnQgRGlzcGxheSBzdHJ1Y3R1cmVzIHdoaWNoIHBvaW50IG9uIHRoZSBzYW1lIGRpc3BsYXkgbmFtZQoKMjAwOC0xMS0xNSAxODo1MTo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjkvOTA2XSBCZXR0ZXIgZGVhbCB3aXRoIFhOZXh0RXZlbnQgYW5kIFhTZW5kRXZlbnQKCjIwMDgtMTEtMTUgMDI6MjQ6MDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY4LzkwNl0gQmV0dGVyIGRlYWwgd2l0aCBBdG9tcwoKMjAwOC0xMS0xNCAwMTowMDozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjcvOTA2XSBHZXQgcmlkZSBvZiBjYWxsaW5nIHNsZWVwIGluIGdsIHRocmVhZCBYIGxvb3AKCjIwMDgtMTEtMTMgMDI6MDU6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjY2LzkwNl0gc2VjdXJlIGNsb3NlIHdoZW4gY2xpY2tpbmcgb24gdGhlIGNyb3NzCgoyMDA4LTExLTEzIDAxOjI5OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIFsyNjUvOTA2XSBDUkxGIC0+IExGCgoyMDA4LTExLTEzIDAxOjIzOjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyNjQvOTA2XSBSZXdyaXRlIGdzdGdsd2luZG93X3gxMS5jIGJlY2F1c2UgWCBBUEkgaXMgbm90IHRocmVhZCBzYWZlLgoKMjAwOC0xMS0xMSAwMzoxOTo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjMvOTA2XSBkaXNjYXJkIHggY3VzdG9tIG1lc3NhZ2VzIHdoaWNoIGFyZSBvZiBkYXRlCgoyMDA4LTExLTA5IDIzOjIzOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyNjIvOTA2XSBXb3JrcyBvbiBsaW51eCBidXQgc3RpbGwgc29tZSBidWdzLiBGaXggYXV0b3Rvb2xzICBidWlsZC4KCjIwMDgtMTEtMDkgMjI6MTQ6MjkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYxLzkwNl0gaW1wbGVtZW50IHF1aXQgeCBtZXNzYWdlIGxvb3AKCjIwMDgtMTEtMDkgMDI6NDQ6MjUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjAvOTA2XSB0cnkgdG8gbWFrZSBYU2VuZEV2ZW50IGJsb2NrZXIgKGFzIHdpbjMyIFNlbmRNZXNzYWdlIGlzKQoKMjAwOC0xMS0wNiAyMzo0MToxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI1OS85MDZdIGNvbnRpbnVlIHggaW1wbGVtZW50YXRpb24gKGJ1dCBzdGlsbCBub3QgdGVzdGVkKQoKMjAwOC0xMS0wNiAwMToyODoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNTgvOTA2XSBzZXR1cCB4IG1lc3NhZ2UgbG9vcAoKMjAwOC0xMS0wNSAwMjowNjozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTcvOTA2XSBiZWdpbiBnc3RnbHdpbmRvd194MTEuYyBpbXBsZW1lbnRhdGlvbgoKMjAwOC0xMC0yOSAyMzo1MzoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyNTYvOTA2XSBmaXggQ01ha2UgYW4gQ29kZUJsb2NrcyBidWlsZHMKCjIwMDgtMTAtMjggMjE6NDQ6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1NS85MDZdIGZpeCB3aW5kb3cgY2xvc3VyZSB3aGVuIHVzaW5nIGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDgtMTAtMjggMDE6Mzg6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjU0LzkwNl0gQmV0dGVyIGhhbmRsZSB3aGVuIHRoZSBwYXJlbnQgd2luZG93IGlzIHJlc2l6aW5nLCBhbmQgY2xlYW51cCBzb21lIGNvZGUKCjIwMDgtMTAtMjggMDA6MjI6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1My85MDZdIHdpbjMyOiByZS1pbXBsZW1lbnQgc3VwcG9ydHMgZm9yIGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UsIG9uIHRoaXMgYnJhbmNoCgoyMDA4LTEwLTI1IDE2OjE4OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1Mi85MDZdIGF2b2lkIGEgZGVhZCBsb2NrIG9uIHdpbmRvdyBjbG9zdXJlCgoyMDA4LTEwLTI1IDAyOjAzOjE2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1MS85MDZdIFByb3Blcmx5IGNsZWFuIE9wZW5HTCBjb250ZXh0cwoKMjAwOC0xMC0yNCAwMTozOTowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjUwLzkwNl0gd2luMzI6IGJhc2ljIHN0dWZmcyBhcmUgd29ya2luZyBub3cgb24gdGhpcyBicmFuY2ggd2l0aCB0aGlzIG5ldyBkZWVwIGRlc2lnbiAoZ3N0Z2x3aW5kb3cpCgoyMDA4LTEwLTIzIDAxOjQwOjUyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI0OS85MDZdIGJlZ2luIEdzdEdMV2luZG93IGluIG9yZGVyIHRvIHRvdGFsbHkgcmVtb3ZlIGdzdGZyZWVnbHV0CgoyMDA4LTEwLTE2IDIzOjQ3OjAxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIFsyNDgvOTA2XSBmaXggbXN2YyB3YXJuaW5ncyBhbmQgdXBkYXRlIENNYWtlIGJ1aWxkLCB3aW4zMiBDb2RlQmxvY2tzIGJ1aWxkIGFuZCB2czggYnVpbGQKCjIwMDgtMTAtMTUgMTY6MTg6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMjQ3LzkwNl0gSW1wb3J0IHhyYXkgZWZmZWN0CgkgIEFkZCB4cmF5IGVmZmVjdC4gTWFwcyBsdW1hIHRvIGEgbmVnYXRpdmUsIHNsaWdodGx5IGN5YW4gdGludGVkLCBjdXJ2ZSwKCSAgYXBwbGllcyBzb21lIGxpZ2h0IGdhdXNzaWFuIGJsdXIgYW5kIG11bHRpcGxpZXMgaXQgd2l0aCBpdHMgc29iZWwgZWRnZXMuIE5vdAoJICBzdXJlIGFib3V0IHRoZSBuYW1lLCBsaWtlbHkgdG8gY2hhbmdlLiBQcm9iYWJseSBzdGlsbCBuZWVkcyBzb21lIHR1bmluZy4KCjIwMDgtMTAtMTUgMTY6MTQ6NTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsyNDYvOTA2XSBBZGQgbXVsdGlwbHkgZnJhZ21lbnQgc2hhZGVyCgkgIEFkZCBhIGZyYWdtZW50IHNoYWRlciB0byBibGVuZCB0d28gdGV4dHVyZXMgd2l0aCBtdWx0aXBseSBibGVuZCBtb2RlCgoyMDA4LTEwLTE1IDE1OjQ5OjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzI0NS85MDZdIEFkZCBpbnZlcnQgcHJvcGVydHkgdG8gc29iZWwgZmlsdGVyCgkgIEFkZCBhbiBpbnZlcnQgcHJvcGVydHkgdG8gc29iZWxfZnJhZ21lbnRfc291cmNlIGFuZCBTb2JlbCBmaWx0ZXIuIFVzZWZ1bAoJICB0byBoYXZlIGRhcmsgZWRnZXMgd2l0aCB3aGl0ZSBiYWNrZ3JvdW5kLgoKMjAwOC0xMC0xNSAxMjo1MDowNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSAgWzI0NC85MDZdIE1ha2UgbHVtYV90b19jdXJ2ZSBub24tc3RhdGljCgkgIE1ha2UgbHVtYV90b19jdXJ2ZSBwdWJsaWMgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIHN0ZXAgZm9yIG1vcmUKCSAgY29tcGxleCBlZmZlY3RzLgoKMjAwOC0xMC0xNSAxMjo0MjoyOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyNDMvOTA2XSBTdXBwb3J0IGZvciBtaXNzaW5nIHZpZGVvZm9ybWF0cyBpbiBnbHVwbG9hZAoJICBBZGQgc3VwcG9ydCBmb3IgbWlzc2luZyBhbHBoYSBjaGFubmVsZWQgdmlkZW9mb3JtYXRzIChSR0JBLCBCR1JBLAoJICBBUkdCLCBBQkdSKSBpbiBnc3RfZ2xfZGlzcGxheV9kb191cGxvYWRfZmlsbC4KCjIwMDgtMTAtMTMgMjM6MTQ6MjcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFsyNDIvOTA2XSBGaXggY3Jhc2ggaW4gZmlsdGVycyB3aGVuIGdvaW5nIHRvIE5VTEwgd2l0aCBubyBkaXNwbGF5CgoyMDA4LTEwLTExIDExOjQ1OjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI0MS85MDZdIGZpeCBDTWFrZSBidWlsZAoKMjAwOC0xMC0wNCAyMjozNDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMjQwLzkwNl0gQnVpbGQgZ3RrLWRvY3MgZm9yIHBsdWdpbnMuCgkgIEFkZCBpbmNsdWRlIHRvIG90aGVyd2lzZSBlbXB0eSAudHlwZXMgZmlsZSB0byBmaXggdGhlIHNjYW5uZXIgYnVpbGQuCgkgIEVkaXQgTWFrZWZpbGUuYW0sIC5zZWN0aW9ucywgLWRvY3Muc2dtbCB0byBzY2FuIGFsbCBwbHVnaW5zIGFuZCBpbmNsdWRlCgkgIHRoZW0gaW4gdGhlIG1hc3RlciBmaWxlLiBGaXggeG1sIGVycm9ycyBpbiB0d28gc291cmNlcyAobWlzc2luZyBjbG9zaW5nCgkgIHRhZykuCgoyMDA4LTA5LTI5IDIzOjQ1OjEwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzOS85MDZdIHN0YXJ0IHRvIHdyaXRlIHRoZSBndGsgZG9jCgoyMDA4LTA5LTI1IDIyOjI1OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzIzOC85MDZdIGZpeCBnbGZpbHRlcmdsYXNzIChyZWFzb246IHZpZGVvdGVzdHNyYyByZ2IgaXMgYnkgZGVmYXVsdCBicHA9MzIsIGRlcHRoPTI0LCBzbyBhbHBoYSBjaGFubmVsIGlzIDApCgoyMDA4LTA5LTI0IDE5OjMyOjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzIzNy85MDZdIHVwZGF0ZSBjbWFrZSBidWlsZCBhbmQgdGhlIDIgZnJvemVuIHdpbjMyIGJ1aWxkcyAoQ29kZUJsb2NrcywgdnM4KQoKMjAwOC0wOS0yMyAxMDozNzo1OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzNi85MDZdIGltcG9ydCBzb2JlbCBlZGdlIGRldGVjdG9yIGZyb20gY3ZzIGJyYW5jaAoKMjAwOC0wOS0yNCAwMjowNzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMjM1LzkwNl0gY2FuIHVzZSBzZXZlcmFsIEdfTE9HX0RPTUFJTnMgYW5kIEdTVF9DQVRlZ29yaWVzLCB3aXRoIG1zdmM4CgoyMDA4LTA5LTIyIDA5OjQ3OjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIzNC85MDZdIHVzZSByaWdodCBibGVuZGluZyBmdW5jdGlvbiB3aXRoIHBpeGJ1ZiBvdmVybGF5CgoyMDA4LTA5LTIxIDEwOjU4OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIzMy85MDZdIG5vIG5lZWQgdG8gZXhwbGljaXQgc2V0IHRoZSBkZWJ1ZyBjYXRlZ29yeSBpZiBkZWZhdWx0IG9uZSBpcyB1c2VkCgoyMDA4LTA5LTIxIDEwOjA0OjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkgIFsyMzIvOTA2XSB1c2UgdGV4dHVyZTEgZm9yIGN1cnZlIHRleHR1cmVzCgoyMDA4LTA5LTIxIDE5OjI2OjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzEvOTA2XSBBZGQgYSBnbGZpbHRlcmdsYXNzIGluc3BpcmVkIGZyb20gaHR0cDovL3d3dy5tZGsub3JnLnBsLzIwMDcvMTEvMTcvZ2wtY29sb3JzcGFjZS1jb252ZXJzaW9ucwoKMjAwOC0wOS0yMSAxNjo0MDozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzIzMC85MDZdIGV4cGxpY2l0IGNoZWNrIGdfZ2V0ZW52IHJldHVybiB2YWx1ZSB0byBiZSBub3QgTlVMTAoKMjAwOC0wOS0yMCAxNTo0NDoyNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjI5LzkwNl0gdXBkYXRlIGF1dGhvcnMgZnJvbSB0aGUgQ1ZTIHJlcG9zaXRvcnkKCjIwMDgtMDktMjAgMTQ6MTI6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFsyMjgvOTA2XSBvdXRwdXQgc2hhZGVycyBpbmZvIGxvZyBvbmx5IGlmIEdTVF9HTF9TSEFERVJfREVCVUcgZW52IHZhcmlhYmxlIGlzIHNldC4gU2hvdWxkIGZpeCBUT0RPIHRhc2sgMTgKCjIwMDgtMDktMTkgMTI6NDc6MDYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSAgWzIyNy85MDZdIGV4cGxpY2l0bHkgYmluZCB0aGUgbWFpbiB0ZXh0dXJlIGFuZCB0aGUgY3VydmUgb25lIHRvIHNlcGFyYXRlIHVuaXRzIGluIHJnYiBhbmQgbHVtYSB0byBjdXJ2ZSBlZmZlY3RzLiBUaGlzIHNob3VsZCBzb2x2ZSB0aGUgaXNzdWUgcG9pbnRlZCBpbiBUT0RPIGl0ZW0gMjEuCgoyMDA4LTA5LTE4IDIyOjUwOjA1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNi85MDZdIGNoZWNrIG9uIHdpbjMyIHRoYXQgZXZlcnkgdGVzdHMvcGlwZWxpbmVzIGFuZCB0ZXN0cy9leGFtcGxlcyAoZ2VuZXJpYywgZ3RrLCBxdCkgc3RpbGwgd29yawoKMjAwOC0wOS0xOCAyMToxMzozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjUvOTA2XSBmaXggYSByZWdyZXNzaW9uIHRoYXQgbWFkZSB0aGUgZ2x0ZXN0c3JjIGVsZW1lbnQgbm90IHdvcmtpbmcKCjIwMDgtMDktMTYgMDI6MTA6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI0LzkwNl0gZml4IGEgcmVncmVzc2lvbiBhYm91dCBNRVNBIFlDYkNyIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAwOC0wOS0xNCAyMzoyMjo1OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjMvOTA2XSBmaXggYSByZWdyZXNzaW9uIChzb21ldGltZXMgYSBGQk8gaXMgbmVlZGVkIGV2ZW4gaWYgdGhlIHZpZGVvIHNvdXJjZSBpcyByZ2IpCgoyMDA4LTA5LTE0IDE5OjU2OjUwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMjIyLzkwNl0gRmluaXNoIFRPRE8gdGFzayAxNwoKMjAwOC0wOS0xMyAxOTo0Nzo0NCArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIxLzkwNl0gZml4IGdfaW50X2hhc2ggLT4gZ19kaXJlY3RfaGFzaAoKMjAwOC0wOS0xMyAxODoxNzo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjAvOTA2XSBVc2UgYSBiZXR0ZXIga2V5IGZvciB0aGUgcG9vbCBvZiB0ZXh0dXJlcwoKMjAwOC0wOS0xMyAwMzozMjowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyMTkvOTA2XSBVc2UgYSBnc3QgZGVidWcgY2F0ZWdvcnkgZm9yIEdzdEdMRGlzcGxheSBpbnN0ZWFkIG9mIGdfcHJpbnQsIGdzdC1sYXVuY2gtMC4xMCAtLWdzdC1kZWJ1Zz1nbGRpc3BsYXk6MyB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoKMjAwOC0wOS0xMiAwMToxMzo1MCArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyMTgvOTA2XSBUaGUgQ01ha2UgYnVpbGQgbm93IHdvcmtzIG9uIG15IEt1YnVudHUtS0RFNC4xLjEKCjIwMDgtMDktMTEgMDI6MDc6MTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyMTcvOTA2XSBBZGQgY21ha2UgYnVpbGQgaHR0cDovL3d3dy5jbWFrZS5vcmcuIFNlZSBDTWFrZSBpbnN0YWxsIGluc3RydWN0aW9ucyBpbiB0aGUgSU5TVEFMTCBmaWxlLiAoSSBoYXZlIG5vdCBjb3JyZWN0bHkgY29uZmlndXJlZCB5ZXQgdGhlIENNYWtlIGJ1aWxkIGZvciB1bml4LCBCRSBwYXRpZW50KQoKMjAwOC0wOS0wNyAxNzo0NDo0MiArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjE2LzkwNl0gZml4IGdsYnVtcGVyIHJlbGF0ZWQgZ3RrIGRlcGVuZGVuY2llcwoKMjAwOC0wOS0wNyAxNDoxNzo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxNS85MDZdIGdsYnVtcGVyIGlzIGNvbXBpbGVkIG9ubHkgd2hlbiBoYXZpbmcgR2RrUGl4QnVmLiBBbmQgdXBkYXRlIHdpbjMyIGNvZGVibG9ja3MgYnVpbGQKCjIwMDgtMDktMDcgMDE6Mzg6MTAgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzIxNC85MDZdIHVwZGF0ZSBjb2RlYmxvY2tzIGJ1aWxkIG9uIGxpbnV4IGFuZCBmaXggYSB3YXJuaW5nCgoyMDA4LTA5LTA3IDAxOjIzOjE5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSAgWzIxMy85MDZdIGZvcmdvdCB0byBhZGQgdGhlIGJ1bXBlciBmaWxlcwoKMjAwOC0wOS0wNyAwMDo0NTozNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjEyLzkwNl0gYWRkIGEgZ2xidW1wZXIgKGJ1bXAgbWFwcGluZyBmaWx0ZXIgdGhyb3VnaCBHTFNMKSB0aGF0IGV4cG9zZXMgaG93IHRvIHVzZSBib3RoIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycwoKMjAwOC0wOC0yNSAxMDozNDo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMTEvOTA2XSBGaXggdXBsb2FkIEFZVVYgYW5kIFlWMTIgKGEgcmVncmVzc2lvbiBpbiBsYXN0IGNvbW1pdHMpCgoyMDA4LTA4LTI0IDE2OjMzOjI2ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjEwLzkwNl0gZ2V0IHJpZGUgb2YgYSB3cm9uZyBjb2xvciBvbiBudmlkaWEvbGludXggd2hlbiBjb252ZXJ0aW5nIHl2MTIgdG8gcmdiIHRocm91Z2ggR0xTTAoKMjAwOC0wOC0yNCAxNTozOToxNCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwOS85MDZdIGZpeCB3YXJuaW5ncwoKMjAwOC0wOC0yNCAwNDoyNDoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDgvOTA2XSBmaXggdXBsb2FkIEFZVVYsIHJlZ3Jlc3Npb24gZHVyaW5nIHRoZSAyIGxhc3QgY29tbWl0cwoKMjAwOC0wOC0yNCAwMzozODo0MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDcvOTA2XSBvdXBzLCBmaXggbXkgbWlzdGFrZSBvbiBsYXN0IGNvbW1pdAoKMjAwOC0wOC0yNCAwMzoxMjoxMiArMDIwMCAgdW5rbm93biA8THVjQC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzIwNi85MDZdIERvIG5vdCB1c2UgZnJhbWUgYnVmZmVyIG9iamVjdCB3aGVuICJpbnB1dCB2aWRlbyBpcyBSR0IiIG9yIHdoZW4gIkdMU0wgaXMgbm90IGF2YWlsYWJsZSBhbmQgWUNiQ3IgaXMgYXZhaWxhYmxlIi4gU28gZnJhbWUgYnVmZmVyIG9iamVjdCBpcyBub3QgYSBwbHVnaW4gcmVxdWlyZW1lbnQgYW55bW9yZS4gU28gSSBkZWNyZWFzZWQgdGhlIE9wZW5nR0wgdmVyc2lvbiBmcm9tIDEuNCB0byAxLjIgKG1heWJlIGxlc3M/KQoKMjAwOC0wOC0yMSAxMToxMjo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzIwNS85MDZdIHVzZSBhIEdIYXNoICB0YWJsZSBpbnN0ZWFkIG9mIGEgR0RhdGEgZm9yIHRoZSB0ZXh0dXJlIHBvb2wKCjIwMDgtMDgtMjAgMTU6NDc6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA0LzkwNl0gZ2V0IHJpZGUgb2YgYSBidWcgb24gQVRJIHJlbGF0ZWQgdG8gWVYxMiB0byByZ2IgY29udmVyc2lvbiB0aHJvdWdoIEdMU0wgYW5kIGFkZCBhbiBleGFtcGxlCgoyMDA4LTA4LTIwIDEwOjAyOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIwMy85MDZdIHVzZSBvcGVuZ2wgZm9yIHBpeGJ1ZiByZXNpemluZyBpbiBnbHBpeGJ1Zm92ZXJsYXksIHN0YXJ0IHRvIHdvcmsgb24gcHJvcGVydGllcwoKMjAwOC0wOC0yMCAwOToyNjo0NiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMDIvOTA2XSB1c2UgZml4ZWQgb3BlbmdsIHBpcGVsaW5lIGZvciBnbHBpeGJ1Zm92ZXJsYXkgKGFueSBkcmF3YmFjaz8pCgoyMDA4LTA4LTIwIDA5OjI0OjUzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwMS85MDZdIGZpeCBhIHNpZ25lZG5lc3Mgd2FybmluZwoKMjAwOC0wOC0yMCAwMDoxMTozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDAvOTA2XSBnZXQgcmlkZSBvZiBhIEFUSSBidWcgcmVsYXRlZCB0byBHTFNMIGNvbG9yc3BhY2UgY29udmVyc2lvbiBmb3IgSTQyMCBhbmQgWVYxMiB0byByZ2IKCjIwMDgtMDgtMTkgMjI6MTU6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTkvOTA2XSBhZGQgcGl4YnVmZHJvcCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAyMTowNDoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTgvOTA2XSBhZGQgZnh0ZXN0IHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDExOjA3OjE4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE5Ny85MDZdIFNoYWRlcnMgd2hpY2ggYXJlIGluIHRoZSBzaGFkZXJzdGFibGUgYXJlIG5vdyByZWxlYXNlZAoKMjAwOC0wOC0xOSAwOTo0ODoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5Ni85MDZdIGZpeCBhIGRpZmZlcmVuY2VtYXR0ZSBtZW1vcnkgaXNzdWUKCjIwMDgtMDgtMTkgMDg6NTA6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTUvOTA2XSBmaXggZ3N0Z2xkaWZmZXJlbmNlbWF0dGUgYW5kIGFkZCBhbiBleGFtcGxlIGFwcCB0byB0ZXN0IGl0IGRyYWdnaW5nIGFuIGltYWdlIG92ZXIgdGhlIHZpZGVvICh3b3JrcyB3aXRoIHBpeGJ1Zm92ZXJsYXkgdG9vLCBzZWUgcGl4YnVmZHJvcCAtLWhlbHApCgoyMDA4LTA4LTE4IDIxOjUwOjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTQvOTA2XSBhbm90aGVyIHR5cG8sIHJlc3RvcmUgb2xkIHR3aXJsIGZyYWdtZW50IHNvdXJjZQoKMjAwOC0wOC0xOCAyMTo0MzowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTkzLzkwNl0gZml4IHR5cG9zCgoyMDA4LTA4LTE4IDIxOjQwOjI2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5Mi85MDZdIGNvbXBsZXRlIGRpZmZlcmVuY2VtYXR0ZSBmaWx0ZXIuLiBJIGRpZCBpdCBxdWlja2x5LCBwcm9iYWJseSBzdGlsbCBuZWVkcyBzb21lIHdvcmsKCjIwMDgtMDgtMTggMjA6MjU6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTkxLzkwNl0gbGl0dGxlIGNsZWFudXAuIGFkZCBmaXJzdCBkcmFmdCBvZiBnc3RnbGRpZmZlcmVuY2VtYXR0ZS4gc3RpbGwgZG9lc24ndCB3b3JrCgoyMDA4LTA4LTE4IDE4OjUzOjEzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTkwLzkwNl0gZm9yY2UgY2FsbGluZyBnbGltYWdlc2luay0+c3RvcCgpIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkKCjIwMDgtMDgtMTggMTc6MTk6MDYgKzAyMDAgIHVua25vd24gPEFkbWluaXN0cmF0ZXVyQC4obm9uZSk+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsxODkvOTA2XSB1cGRhdGUgdnM4IGJ1aWxkIGFuZCBmaXggc29tZSB3YXJuaW5ncyB0aGF0IGNvbWVzIGZyb20gdmM4CgoyMDA4LTA4LTE4IDE2OjE2OjU4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxODgvOTA2XSBhZGQgZmlyc3QgZHJhZnQgb2YgYSBwaXhidWYgb3ZlcmxheSBlbGVtZW50LiBhZGQgbWFjcm9zIHRvIG9wdGlvbmFsbHkgYnVpbGQgdGhlIGxhdHRlciBpZiBnZGstcGl4YnVmIGlzIGZvdW5kCgoyMDA4LTA4LTE4IDExOjQ4OjQ3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODcvOTA2XSByZW1vdmUgZXhwb3NlIGV2ZW50IGhhbmRsaW5nLCBpdCdzIG1hcC11bm1hcCB0aGF0IGlzIG5vdCBiZWhhdmluZyBjb3JyZWN0bHksIGFueSBpZGVhPwoKMjAwOC0wOC0xOCAxMTowODowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg2LzkwNl0gYWRkIGV4cG9zZSBldmVudCBoYW5kbGluZyB0byBjbHV0dGVyYWN0b3J0ZWUKCjIwMDgtMDgtMTggMTA6NTA6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4NS85MDZdIGFkZCBjbHV0dGVyYWN0b3J0ZWUgZXhhbXBsZSwgYSBuaWNlIGV4YW1wbGUgYWJvdXQgaG93IGNsdXR0ZXIgY291bGQgYmUgdXNlZCB0byBjcmVhdGUgYSBsaXZlIHByZXZpZXcgd2lkZ2V0IGZvciBnbGVmZmVjdHMuIEl0IHVzZXMgdGV4dHVyZSBmcm9tIHBpeG1hcCwgc3RpbGwgbmVlZHMgc29tZSB3b3JrIHJlZ2FyZGluZyBjbGVhbiBleGl0IGFuZCBleHBvc2UgZXZlbnQgbWFuYWdlbWVudC4KCjIwMDgtMDgtMTggMDk6MDY6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTg0LzkwNl0gYWRkIGEgY291cGxlIG9mIG1hY3JvcyB0byBhdXRvdG9vbHMgdG8gY29tcGlsZSB3aXRoIHVpbnRyZXBpZCBhdXRvbWFrZS4gcmVtb3ZlIGFycmF5IGNvbnN0cnVjdG9yIHNvIHdlIGRvbid0IGhhdmUgdG8gZGVwZW5kIG9uIGdsc2wgI3ZlcnNpb24gMTIwLgoKMjAwOC0wOC0xNyAxNzo0NTo1MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJICBbMTgzLzkwNl0gYWRkIGFuIGV4YW1wbGUgdG8gdXNlIHRleHR1cmUgZnJvbSBwaXhtYXAgdG8gZG8gc29tZSBraW5kIG9mIHhfb3ZlcmxheSBvbiBhIGNsdXR0ZXJhY3Rvci4gQSBiZXR0ZXIgd2F5IHdvdWxkIGJlIHRvIGRpcmVjdGx5IHNoYXJlIGdsIGhhbmRsZXMgYmV0d2VlbiBjbHV0dGVyIGFuZCBnc3RnbCBidXQgc3RpbGwgSSBjYW5ub3QgZmluZCBhIHdheSB0byBkbyBpdC4KCjIwMDgtMDgtMTcgMTI6MjE6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxODIvOTA2XSBhZGQgYSBiZXR0ZXIgc2VwaWEgdG9uaW5nIGN1cnZlCgoyMDA4LTA4LTE3IDA5OjI0OjI0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzE4MS85MDZdIGFkZCBhIHRyYW5zbGF0YWJsZSBzdHJpbmcgdG8gdGVzdHNyYyB0byBnZXQgcmlkIG9mIHBvIGRpciBlcnJvcnMgYWZ0ZXIgZGlzdGNsZWFuIGFuZCBnaXQgY2xlYW4KCjIwMDgtMDgtMTYgMTc6MzY6MTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE4MC85MDZdIG1pbm9yIGNsZWFudXAgaW4gZnh0ZXN0CgoyMDA4LTA4LTE2IDEyOjM3OjM2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2Rpc3RvcnRpb24uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkgIFsxNzkvOTA2XSBkaXN0b3J0aW9uIGVmZmVjdCBjbGVhbnVwCgoyMDA4LTA4LTE2IDEwOjE1OjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzgvOTA2XSBpbXByb3ZlIGZ4dGVzdCBjb21tYW5kIGxpbmUgb3B0aW9uIGhhbmRsaW5nLCBkZWZhdWx0IHRvIHZpZGVvdGVzdHNyYyBpZiBubyBzb3VyY2UgYmluIGRlc2NyaXB0aW9uIGlzIGdpdmVuCgoyMDA4LTA4LTE2IDA5OjQwOjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE3Ny85MDZdIGZpeCBnbGVmZmVjdHMgbWVtb3J5IGlzc3VlIChpbml0IHJlc291cmNlcyBvbiBzdGFydCBhbmQgcmVzZXQgdGhlbSBvbiBzdG9wKQoKMjAwOC0wOC0xNiAwOToxNzoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxNzYvOTA2XSBmaXggYSB0eXBvCgoyMDA4LTA4LTE2IDA5OjEzOjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc1LzkwNl0gYWRkIHNpbiBlZmZlY3QgKGRlc2F0dXJhdGUgZXZlcnl0aGluZyBidXQgcmVkIHNoYWRlcykuIHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0wOC0xNCAyMjoyODoxOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE3NC85MDZdIGFkZCBhIHByb3BlcnR5IHRvIGdsZWZmZWN0cyB0byBzd2l0Y2ggdmlkZW8gbGVmdCB0byByaWdodCwgdXNlZnVsIHdpdGggd2ViY2FtcyB0byByZXNlbWJsZSBhIG1pcnJvcgoKMjAwOC0wOC0xNCAyMToyOTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3My85MDZdIGFkZCBsdW1heHBybyAoZGVzYXR1cmF0ZSArIGNyb3NzIHByb2Nlc3MpIGVmZmVjdC4gbm90aGluZyB0b28gaW1wcmVzc2l2ZSBidXQgSSBsaWtlIGl0LgoKMjAwOC0wOC0xNCAyMDo1NDo1NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTcyLzkwNl0gYWRkIHN1cHBvcnQgZm9yIGNvbW1hbmQgbGluZSBwYXJzaW5nIHRvIGZ4dGVzdCAodHJ5IGZ4dGVzdCB2aWRlb3Rlc3RzcmMgISBkZXNpcmVkIGNhcHMgISBpZGVudGl0eSkuIHJlcG9ydCBhIG5ldyBpc3N1ZSBvbiBCVUdTLgoKMjAwOC0wOC0xNCAyMDowMjowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzEvOTA2XSBpbXBvcnQgZnh0ZXN0IChsaXR0bGUgZ3RrIGFwcCB0byBlYXNpbHkgdGVzdCBlZmZlY3RzKSBmcm9tIGN2cyBicmFuY2gsIGZpeGVkIHJnYnRvY3VydmUuCgoyMDA4LTA4LTE0IDE3OjAzOjIxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE3MC85MDZdIHVwZGF0ZSBjb2RlYmxvY2tzIGJ1aWxkCgoyMDA4LTA4LTE0IDE0OjA4OjIzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzZGlzdG9ydGlvbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2OS85MDZdIGltcG9ydCByZW1haW5pbmcgZGlzdG9ydGlvbiBlZmZlY3RzIGZyb20gY3ZzIGJyYW5jaCAoZmlzaGV5ZSwgdHdpcmwsIGJ1bGdlLCB0dW5uZWwsIHNxdWFyZSkKCjIwMDgtMDgtMTQgMTI6Mzk6MDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxNjgvOTA2XSBjbGVhbnVwIGN1cnZlcyBoZWFkZXIKCjIwMDgtMDgtMTQgMTI6MjY6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxNjcvOTA2XSBiZXR0ZXIgY3Jvc3MgcHJvY2Vzc2luZyBjdXJ2ZQoKMjAwOC0wOC0xNCAxMjowOTozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY2LzkwNl0gYWRkIHJnYl90b19sdW1hX2ZyYWdtZW50IHNvdXJjZSBhbmQgY29ycmVzcG9uZGVudCBlZmZlY3QuIHVzZSB0aGUgbGF0dGVyIGZvciBhIGNyb3NzIHByb2Nlc3NpbmcgZWZmZWN0LgoKMjAwOC0wOC0xNCAxMTozMTowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2NS85MDZdIGltcG9ydCBsdW1hX3RvX2N1cnZlIGVmZmVjdHMgKFNlcGlhLCBIZWF0KSBmcm9tIGN2cyBicmFuY2ggd2l0aCBiZXR0ZXIgdGV4dHVyZSBtZW1vcnkgaGFuZGxpbmcgKHRleGltYWdlIGN1cnZlcyBvbmx5IG9uY2UpLiBTZXBpYSBjdXJ2ZSBzdGlsbCBuZWVkcyBzb21lIGxvdmUuCgoyMDA4LTA4LTE0IDA5OjM5OjU1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzE2NC85MDZdIHJlbmFtZSBibGVuZF9mcmFnbWVudF9zb3VyY2UgdG8gc3VtX2ZyYWdtZW50X3NvdXJjZSBhbmQgYWRkIHVuaWZvcm0gYmxlbmRpbmcgcGFyYW1ldGVycwoKMjAwOC0wOC0xNCAwOToyNjoyMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTYzLzkwNl0gaW1wb3J0IGdsb3cgZWZmZWN0IChtYXliZSB0aGUgbW9zdCB0cmlja3kpIGZyb20gY3ZzIGJyYW5jaAoKMjAwOC0wOC0xNCAwODowMzo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE2Mi85MDZdIGltcG9ydCBzdHJldGNoIGVmZmVjdCBmcm9tIGN2cwoKMjAwOC0wOC0xNCAwMDowNzoyMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE2MS85MDZdIGltcG9ydCBzcXVlZXplIGVmZmVjdCBmcm9tIGN2cwoKMjAwOC0wOC0xMyAyMjo0Mjo0OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxNjAvOTA2XSBmb3Jnb3QgdG8gYWRkIGEgZmlsZQoKMjAwOC0wOC0xMyAyMjozNjoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU5LzkwNl0gc3RpbGwgc29tZSBzb3VyY2UgdHJlZSByZW9yZ2FuaXplLCBmaXhlZCBzb21lIGlzc3VlIHdpdGggaGVhZGVycyBhbmQgaWZkZWZzLCBtb3ZlZCBpZGVudGl0eSBpbnRvIGVmZmVjdHMgZGlyCgoyMDA4LTA4LTEzIDIwOjU4OjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU4LzkwNl0gc3RpbGwgd29ya2luZyBvbiBtZXJnaW4gZ3N0Z2xlZmZlY3RzLCBhZGQgbWlycm9yIGVmZmVjdC4gcmVvcmdhbml6ZSBzb3VyY2UgdHJlZS4KCjIwMDgtMDgtMTMgMTc6NTk6MDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTU3LzkwNl0gbW92ZSB0aHJlYWRfZG9fdXBsb2FkX21ha2UgZnJvbSB0aHJlYWRfZG9fdXBsb2FkIHRvIHRocmVhZF9pbml0X3VwbG9hZAoKMjAwOC0wOC0xMyAxNzoxNjoxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9CVUdTOgoJICBbMTU2LzkwNl0gZml4IGEgY3Jhc2ggdGhhdCBjb3VsZCBoYXBwZW5zIHdoZW4gdXNpbmcgYXQgbGVhc3QgMiBnbCBjb250ZXh0IGFuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgb24gbGludXgKCjIwMDgtMDgtMTMgMTY6MDE6MjEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU1LzkwNl0gZml4IHNvbWUgZXJyb3JzIGFuZCBjaGVjayBhbGwgdGhlIHBpcGVsaW5lcyBsaXN0ZWQgaW4gdGVzdHMvcGlwZWxpbmVzCgoyMDA4LTA4LTEyIDExOjA5OjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNTQvOTA2XSBhZGRlZCBmaXJzdCBza2VsZXRvbiBvZiBnc3RnbGVmZmVjdHMsIGltcG9ydGVkIGJhc2ljIHN0dWZmIGZyb20gY3ZzIGJyYW5jaC4KCjIwMDgtMDgtMTEgMjA6MTI6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNTMvOTA2XSBUcnkgdG8gZ2VuZXJlYXRlIHRleHR1cmVzIHdpdGhpbiBnc3RnbGZpbHRlcmJsdXIgdG8gc2VlIGlmIHRoZSBuZXcgdGhyZWFkX3VzZV9mYm8gd29ya3MgYm90aCB3aXRoIHRleHR1cmVzIGZyb20gdGhlIHBvb2wgYW5kIGN1c3RvbSBvbmVzCgoyMDA4LTA4LTExIDIwOjAxOjQxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE1Mi85MDZdIHJlbW92ZSBhbiB1bm5lZWRlZCAocmVhbGx5PykgZ2xUZXhJbWFnZQoKMjAwOC0wOC0xMSAxOTowODoyMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzE1MS85MDZdIElTTyBDOTAKCjIwMDgtMDgtMTEgMTk6MDE6MzMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNTAvOTA2XSBnbFRleEltYWdlMkQodywgaCwgTlVMTCkgaXMgbm93IGNhbGxlZCBvbmx5IG9uZSB0aW1lIChtZW0gYWxsb2MpCgoyMDA4LTA4LTExIDE3OjIxOjMwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0OS85MDZdIHNhbWUgYXMgcHJldmlvdXMgY29tbWl0CgoyMDA4LTA4LTExIDE3OjE3OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0OC85MDZdIEZpeCByZ2IgaXNzdWUuIEN1cnJlbnQgcHJvZ3JhbSBzaG91bGQgYWx3YXlzIGJlIHNldCB0byAwIHdoZW4gYSBuZXcgdGV4dHVyZSBpcyBhdHRhY2hlZCB0byBhIGZiby4KCjIwMDgtMDgtMTEgMTU6NTM6MTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTQ3LzkwNl0gb3VwcyBmb3Jnb3QgdG8gYWRkIDIgZmlsZXMgdG8gdGhlIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wOC0xMSAxNTo0MDozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTQ2LzkwNl0gcmVtb3ZlIGZpbHRlcmVkZ2UKCjIwMDgtMDgtMTEgMTU6MzA6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQ1LzkwNl0gZ2VuL2RlbCB0aGUgbWlkZGxlIHRleHR1cmUgb25seSBvbmUgdGltZSBpbiB0aGUgZ3N0Z2xmaWx0ZXJibHVyCgoyMDA4LTA4LTExIDExOjI2OjMyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNDQvOTA2XSByZW1vdmUgZ3N0Z2xmaWx0ZXJibHVyLmgsIGl0J3MgZWFzaWVyIHRvIGhhdmUgZXZlcnl0aGluZyBpbiB0aGUgc2FtZSBmaWxlCgoyMDA4LTA4LTExIDA5OjUyOjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0My85MDZdIEFkZCBpbml0IGFuZCByZXNldCBjYWxsYmFja3MgaW4gR3N0R0xGaWx0ZXIgdG8gcnVuIGFyYml0cmFyeSBnbCBjb2RlIGF0IHN0YXJ0IGFuZCBzdG9wLiBVc2VmdWwgdG8gaW5pdCBhbmQgY2xlYW51cCBjdXN0b20gZ2wgcmVzb3VyY2VzLgoKMjAwOC0wOC0xMSAwOTowMDo0MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQyLzkwNl0gQWRkIGEgZ2VuZXJpYyBhY3Rpb24gdG8gYmUgYWJsZSB0byBleGVjdXRlIGFyYml0cmFyeSBnbCBjb2RlIHdpdGhpbiB0aGUgZ2wgdGhyZWFkIHdpdGggbGVzcyBwYWluCgoyMDA4LTA4LTEwIDExOjIyOjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDEvOTA2XSBzb21lIHN0ZXBzIHRvd2FyZHMgc2ltcGxpZmljYXRpb24uIGFkZGVkIGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdG8gZ3N0Z2xmaWx0ZXIgYW5kIHNvbWUgY29tbWVudCBoZXJlIGFuZCB0aGVyZQoKMjAwOC0wOC0wNSAxMDoxNTowNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDAvOTA2XSBGaXggR0xfU1RBQ0tfT1ZFUkZMT1cKCjIwMDgtMDgtMDQgMTI6MTM6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxMzkvOTA2XSBmaXggd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgdXBsb2FkL2Rvd25sb2FkIHNoYWRlcnMKCjIwMDgtMDgtMDQgMDk6NTY6NTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzgvOTA2XSBpcyB0aGF0IHZpZGVvZm9ybWF0IHBvaW50ZXIgcmVhbGx5IG5lZWRlZD8KCjIwMDgtMDgtMDQgMDk6NDY6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzcvOTA2XSBEb24ndCByZWFsbG9jYXRlIHRleHR1cmUgbWVtb3J5IGV2ZXJ5IHRpbWUgaW4gdXBsb2FkXyogZnVuY3Rpb25zLgoKMjAwOC0wOC0wMSAxMTowMDo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzNi85MDZdIHJlaW5kZW50IGdzdGdsZGlzcGxheSB3aXRoIGdzdHJlYW1lci1jLW1vZGUKCjIwMDgtMDctMzEgMTc6NDg6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEzNS85MDZdIGFkZCBhbmQgbWFrZSB0aGUgRmlsaXBwbydzIGdzdGdsZmlsdGVyYmx1ciB3b3JrcyBvbiB0aGUgbWFzdGVyIGJyYW5jaCAoZXhhbXBsZSBvZiBtdWx0aXBsZSBzdGVwIHJlbmRlcmluZykKCjIwMDgtMDctMjUgMDE6NDM6MjggKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzEzNC85MDZdIGZpeCBtYWtlZmlsZXMgbGlzdCBmcm9tIGNvbmZpZ3VyZS5hYyAodGVzdHMgaGF2ZSBjaGFuZ2VzKSBhbmQgZml4IGEgd2FybmluZwoKMjAwOC0wNy0yMSAwMDoyNDo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMzMvOTA2XSBmaW5pc2ggdG9kbyB0YXNrIDQKCjIwMDgtMDctMjAgMTY6Mzg6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTMyLzkwNl0gbWFrZSB0aGUgcGx1Z2luIHByb3Blcmx5IHNodXRkb3duIHdoZW4gb25lIG9mIHRoZSBjaGVjayByZXF1aXJlbWVudHMgZmFpbGVkCgoyMDA4LTA3LTE5IDA4OjMyOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTMxLzkwNl0gZml4IHdhcm5pbmdzICh1bnVzZWQgdmFycykKCjIwMDgtMDctMTkgMDM6MDA6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkgIFsxMzAvOTA2XSB1c2UgR3N0R0xTaGFkZXIgaW4gdGhlIEdMU0wgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDA4LTA3LTE4IDIyOjMzOjQ0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbMTI5LzkwNl0gZml4ZWQgd2FybmluZyBmb3IgdW51c2VkIHZhcmlhYmxlIChmYXRhbCB3aXRoIC1XZXJyb3IpCgoyMDA4LTA3LTE4IDIxOjU1OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFsxMjgvOTA2XSBhZGQgR3N0R0xTaGFkZXIgc3R1ZmZzIGluIHRoZSB2czggcHJvamVjdCwgZml4IGxhcGxhY2lhbiBmcmFnbWVudCBjb2RlIHRvIG1ha2UgaXQgY29tcGlsZSBvbiBBVEksIGFuZCBmaXggY2hlY2sgZnVuY3Rpb24gYWJvdXQgT3BlbmdsIGFuZCBHbGV3IHZlcnNpb24KCjIwMDgtMDctMTggMTA6NDk6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMjcvOTA2XSBJbXBvcnRlZCBHc3RHTFNoYWRlciBmcm9tIGN2cyBicmFuY2guIEFkZGVkIGEgZGVtbyBsYXBsYWNpYW4gY29udm9sdXRpb24gZmlsdGVyIHRvIGRlbW9uc3RyYXRlIGhvdyB0aGlzIGNhbiBiZSBpbnRlZ3JhdGVkIHdpdGggbWluaW11bSBlZmZvcnQuCgoyMDA4LTA3LTE2IDE1OjIzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbMTI2LzkwNl0gQ2hhbmdlIHNvbWUgZ3VpbnRzIHRvIEdMdWludHMgYmVjYXVzZSBvZiB3YXJuaW5ncyBvbiBPUy9YLgoKMjAwOC0wNy0xNiAxNToyMjozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsxMjUvOTA2XSBBZGQgbGlicmFyaWVzIGFzIGFwcHJvcHJpYXRlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAwOC0wNy0xNSAxNDozNjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBbMTI0LzkwNl0gR2xvYmFsIHJlcGxhY2Ugb2YgQ1JMRiBsaW5lIGVuZGluZ3MgdG8gTEYKCjIwMDgtMDctMTIgMTQ6MTg6NDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIzLzkwNl0gWCBTcGVjaWZpYzogYmV0dGVyIGltcGxlbWVudGF0aW9uIG9mIHRoZSBnc3RfZ2xfc2V0X3dpbmRvd19pZAoKMjAwOC0wNy0xMiAxMzoyNDozMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjIvOTA2XSBiZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgZ3N0X2dsX2Rpc3BsYXlfc2V0X3dpbmRvd19pZCBmb3Igd2luMzIuIChjaGFuZ2UgdGhlIHdpbmRvdyBvZiB0aGUgY3VycmVudCB3Z2xjb250ZXh0IGluc3RlYWQgb2YgcmVpbml0IGV2ZXJ5dGhpbmcsIGFuZCBzbyBhdm9pZCBzb21lIHByb2JsZW1zIGFib3V0IG9wZW5nbCBvYmplY3RzIHRoYXQgY291bGQgYmUgaW5pdCBpbiB0aGUgcHJldmlvdXMgd2dsY29udGV4dCBhbmQgc28gbm8gdXNhYmxlIGluIHRoZSBuZXdlciB3Z2xjb250ZXh0LCBpdCB3aGF0IHRoZSBjYXNlIGZvciB0aGUgZmlyc3QgdGV4dHVyZSkgVGhpcyBuZXdlciBpbXBsZW1lbnRhdGlvbiBoYXMgbm90IGJlZW4gbWFkZSB5ZXQgb24gbGludXgKCjIwMDgtMDctMTIgMDE6MTM6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIxLzkwNl0gYXZvaWQgdXNlIG9mIEdMU0wgZnVuY3Rpb25zIHdoZW4gZnJhZ21lbnRfc2hhZGVyIGlzIG5vdCBhdmFpbGFibGUKCjIwMDgtMDctMTEgMDY6MjQ6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIwLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1ODAgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTEwIDIzOjUzOjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTkvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU3OSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMDcgMjA6NTk6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExOC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTczIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0wNiAxNjo1MDoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExNy85MDZdIHVwIGd0ayBleGFtcGxlCgoyMDA4LTA3LTA1IDIyOjU2OjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFsxMTYvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU2MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMzAgMDA6Mzg6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTE1LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTYgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI5IDE3OjI3OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExNC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU1IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOCAyMzoyODoxMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMTEzLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTQgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI4IDE1OjM4OjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExMi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTUyIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yNCAyMjoyODowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMTEvOTA2XSB1cAoKMjAwOC0wNi0yMyAyMzoxMjozNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFsxMTAvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0NCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjMgMTg6NTY6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMDkvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjEgMjE6Mzg6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzEwOC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQwIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0xOSAyMzozODozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMDcvOTA2XSBmaXggb3BlbmdsIHZlcnNpb24gY2hlY2tlcgoKMjAwOC0wNi0xNiAyMzoxMjo0OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMDYvOTA2XSB1cCBzb2JlbCBhbGdvCgoyMDA4LTA2LTE1IDE4OjMxOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTA1LzkwNl0gdXAgU29iZWwgZmlsdGVyIGFuZCBnbC9nbGV3IHZlcnNpb24gY2hlY2tlcgoKMjAwOC0wNi0xMyAwMDowMToyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEwNC85MDZdIHN0YXJ0IHRvIGFkZCBhIGdsZmlsdGVyZWRnZSB0aGF0IHByb2NlZWRzIGVkZ2UgZGV0ZWN0aW9uIHVzaW5nIEdMU0wKCjIwMDgtMDYtMTIgMjE6NDA6MTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEwMy85MDZdIHJlbmFtZSBnbGdyYXBoaWNtYWtlciAtPiBnbHVwbG9hZCBhbmQgZ2x2aWRlb21ha2VyIC0+IGdsZG93bmxvYWQKCjIwMDgtMDYtMTEgMjM6NDM6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBbMTAyLzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6NDI6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFsxMDEvOTA2XSBpZGVtCgoyMDA4LTA2LTExIDIzOjQwOjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbMTAwLzkwNl0gZml4IHdhcm5pbmdzIGxpbnV4LXNwZWNpZmljCgoyMDA4LTA2LTExIDIzOjQwOjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzA5OS85MDZdIHVwIChzd2l0Y2hpbmcgbGludXggYW5kIHdpbjMyKSAuLi4gbm90IGZ1biBlZGl0b3IgLi4uCgoyMDA4LTA2LTExIDIzOjM4OjMzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA5OC85MDZdIHVwLi4uCgoyMDA4LTA2LTExIDIzOjM2OjI1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJICBbMDk3LzkwNl0gZml4IHdhcm5pbmdzCgoyMDA4LTA2LTExIDIzOjMxOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkgIFswOTYvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoyNjoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSAgWzA5NS85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjIzOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMDk0LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MTI6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDkzLzkwNl0gcmVtb3ZlIDIgd2FybmluZ3MKCjIwMDgtMDYtMTEgMjM6MDQ6NTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzA5Mi85MDZdIEZpbmlzaCB0byByZXZpdmUgdGhlIGdsdGVzdHNyYy4gTmV4dCBzdGVwIGlzIHRvIGRvIHNvbWUgcmVmYWN0b3JpbmcuCgoyMDA4LTA2LTExIDE4OjMzOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswOTEvOTA2XSBzdGFydCB0byByZXZpdmUgdGhlIGdsdGVzdHNyYwoKMjAwOC0wNi0xMCAyMzowMDozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswOTAvOTA2XSB1cAoKMjAwOC0wNi0xMCAyMjo1OTo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODkvOTA2XSBhZGQgYSAiZ2xjb2xvcnNjYWxlIiBlbGVtZW50IGVxdWl2YWxlbnQgdG8gImZmbWVwZ2NvbG9yc3BhY2UgISB2aWRlb3NjYWxlICEgZmZtcGVnY29sb3JzcGFjZSIKCjIwMDgtMDYtMTAgMjI6MDg6MTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4OC85MDZdIGZpeCBzb21lIGNhcHMgbmVnb2NpYXRpb25zIHRob3NlIHBpcGVsaW5lcyB3b3JrcyBmaW5lIDogZ3N0LWxhdW5jaC0wLjEwIC12IHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1diwgd2lkdGg9MzIwLCBoZWlnaHQ9MjQwICEgZ2xncmFwaGljbWFrZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9NzIwICwgaGVpZ2h0PTU3NiAhIGdsZmlsdGVyY3ViZSAhIGdsaW1hZ2VzaW5rIGFuZCBnc3QtbGF1bmNoLTAuMTAgLXYgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LCB3aWR0aD0zMjAsIGhlaWdodD0yNDAgISBnbGdyYXBoaWNtYWtlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD03MjAgLCBoZWlnaHQ9NTc2ICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDYtMTAgMTk6MDc6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDg3LzkwNl0gZ2xmaWx0ZXIgY2FuIGFjY2VwdCB0byBoYXZlIGFuIGlucHV0IHNpemUgZGlmZmVyZW50IHRoYW4gdGhlIG91dCBwdXQgc2l6ZSA6IHZpZGVvL3gtcmF3LWdsLCB3aWR0aD13MSwgaGVpZ2h0PXcxICEgZ2xmaWx0ZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9dzIsIGhlaWdodD13MiAhIChmaXggZXZlcnkgZXhhbXBsZXMpCgoyMDA4LTA2LTA4IDIyOjExOjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA4Ni85MDZdIHVwCgoyMDA4LTA2LTA4IDEzOjE1OjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDg1LzkwNl0gZml4IHJlZ3Jlc3Npb25zIGFib3V0IGdsdmlkZW9tYWtlci4KCjIwMDgtMDYtMDggMDI6MTk6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODQvOTA2XSBhZGQgYSBnbGZpbHRlcmFwcCB3aGljaCBob2xkcyB0aGUgY2xpZW50IGRyYXcgYW5kIHJlc2hhcGUgY2FsbGJhY2tzIChzb21lICJ3YW50ZWQiIHJlZ3Jlc3Npb25zIGFib3V0IHRoZSBnbHZpZGVvbWFrZXIsIGhhdmUgYmVlbiBkb25lIHdpdGggdGhpcyB2ZXJzaW9uLiBXaWxsIGJlIGZpeCBpbiBuZXh0IGNvbW1pdHMpCgoyMDA4LTA2LTA3IDIxOjU2OjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4My85MDZdIGZpbmlzaCB0byBpbXBsZW1lbnQgdGhlIGdsZmlsdGVyOiBleGFtcGxlIDogZ3N0LWxhdW5jaC0wLjEwIHZpZGVvdGVzdHNyYyBudW1fYnVmZmVycyA9IDEwMCAhIGdsZ3JhcGhpY21ha2VyICEgZ2xmaWx0ZXJjdWJlICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDYtMDcgMTU6Mjc6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4Mi85MDZdIGdsZmlsdGVyIGNhbiByZXF1ZXN0LCB1c2UgYW5kIHJlamVjdCBhIEZCTyAoc3RlcCAxKQoKMjAwOC0wNi0wNyAwMDowMToxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDgxLzkwNl0gc3RhcnQgdG8gYWRkIGEgZ2xmaWx0ZXIKCjIwMDgtMDUtMjQgMTI6MzU6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDgwLzkwNl0gZml4IGdzdGZyZWVnbHV0IGxpbnV4IGltcGxlbWVudGF0aW9uIHRvIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdzdHhvdmVybGF5IGludGVyZmFjZQoKMjAwOC0wNS0yMiAyMDoxMDozMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzkvOTA2XSB1cAoKMjAwOC0wNS0yMSAyMjo0OToyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswNzgvOTA2XSB1cCBmcm9tIGt1YnVudHUKCjIwMDgtMDUtMjEgMjE6MTc6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc3LzkwNl0gdXAKCjIwMDgtMDUtMjEgMjE6MTU6NDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc2LzkwNl0gY2hlY2sgT3BlbkdMIGFuZCBHbGV3IHZlcnNpb25zCgoyMDA4LTA1LTIwIDE3OjQwOjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA3NS85MDZdIGluZGVudAoKMjAwOC0wNS0xOSAyMzowNjowNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzQvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMzowMzoyMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzMvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMTozNjo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzIvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMToyODoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzEvOTA2XSByZW1vdmUgYWxsIHdhcm5pbmdzCgoyMDA4LTA1LTE5IDE4OjQ1OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA3MC85MDZdIGltcGxlbWVudCBhbmQgZml4IG9uQ2xvc2U6IHdoZW4gYSB1c2VyIGNsaWNrIG9uIHRoZSBjcm9zcyBvZiBhbiBpbnRlcm5hbCB3aW5kb3cgKHRoZXJlIGlzIG5vdCB0aGlzIGlzc3VlIHdoZW4gdXNpbmcgdGhlIGdzdHhvdmVybGF5IGludGVyZmFjZSkKCjIwMDgtMDUtMTkgMTY6NTc6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjkvOTA2XSBhZGQgZ3N0cmVhbWVyIGxpY2Vuc2UKCjIwMDgtMDUtMTggMjA6MDU6MTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDY4LzkwNl0gdXAKCjIwMDgtMDUtMTggMTk6NTg6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDY3LzkwNl0gdXAKCjIwMDgtMDUtMTggMTk6MTg6MDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNjYvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNzo1NTo1NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzA2NS85MDZdIHVwCgoyMDA4LTA1LTE4IDE2OjA0OjU2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2NC85MDZdIHVwCgoyMDA4LTA1LTE4IDE0OjQ3OjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzA2My85MDZdIHVwCgoyMDA4LTA1LTE4IDExOjEyOjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNjIvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDQyMSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMTUgMTQ6MTY6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvLmN2c2lnbm9yZToKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2NvbG9yX21hdHJpeC5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjEvOTA2XSBGaXJzdCBTVk4gY29tbWl0LiAgVGhpcyBjb21taXQgaXMgYSBoYWNrIHRvIG1ha2UgZ2l0LXJlYmFzZSB3b3JrCgoyMDA4LTAyLTIzIDE1OjEwOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNjAvOTA2XSAJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzogKGdzdF9nbF9idWZmZXJfZm9ybWF0X2Zyb21fdmlkZW9fZm9ybWF0KTogCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgaWYgdGhlcmUgYXJlIHZpZGVvIGZvcm1hdCAJICBlbnVtcyBnc3RnbGJ1ZmZlciBkb2Vzbid0IGtub3cgYWJvdXQgeWV0LiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzogKGdzdF9nbF9kaXNwbGF5X3VwbG9hZF90ZXh0dXJlX3JlY3RhbmdsZSksIChnc3RfZ2xfZGlzcGxheV9kcmF3X3RleHR1cmUpOiAJICBGaXggcHJpbnRmIGZvcm1hdCBmb3IgNjQtYml0IGludGVnZXJzLgoKMjAwOC0wMS0zMSAyMzo0MDoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbMDU5LzkwNl0gKiBjb25maWd1cmUuYWM6ICogcGtnY29uZmlnL01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiBSZW5hbWUgcGtnY29uZmlnIGZpbGVzLiAgQW5kIGluc3RhbGwgdGhlbS4gKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEFkZCBzb21lIHRlc3RzIGNvcGllZCBmcm9tIC1nb29kLgoKMjAwOC0wMS0zMSAyMTozNTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1OC85MDZdIAkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogCSAgVGhlIGxpYnJhcnkgbmVlZHMgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHZpZGVvLTAuMTAuIAkqIGdzdC9nbC9NYWtlZmlsZS5hbTogCSAgVGhlIHBsdWdpbiBkb2VzIG5vdCAoSSB0aGluaykgbmVlZCB0byBsaW5rIGFnYWluc3QgR0wgb3IgbGliZ3N0dmlkZW8sIAkgIHNpbmNlIG91ciBuZXcgZ3N0cmVhbWVyIEdMIGxpYnJhcnkgYWxyZWFkeSBkb2VzIHRoYXQsIGJ1dCBpdCBkb2VzIAkgIG5lZWQgdG8gbGluayBhZ2FpbnN0IG91ciBicmFuZC1uZXcgbGliZ3N0Z2wtMC4xMC4KCjIwMDgtMDEtMzEgMjA6MzE6MTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsLy5jdnNpZ25vcmU6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1Ny85MDZdICogZ3N0L2dsLy5jdnNpZ25vcmU6IGluZ29yZSBzb21lIGZpbGVzICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiBkaXN0Y2hlY2sgZml4ZXMgKiBnc3QvZ2wvTWFrZWZpbGUuYW06IGRpc3RjaGVjayBmaXhlcyAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogLWdvb2QgaGFzIHRoaXMgaW4gQ1ZTLCBzbyB3ZSB3aWxsIHRvby4KCjIwMDgtMDEtMzEgMjA6MjE6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA1Ni85MDZdICogY29uZmlndXJlLmFjOiBSZWFkZCBwcmUtcGtnY29uZmlnIE9wZW5HTCBkZXRlY3Rpb24sIHNpbmNlIHBrZ2NvbmZpZyByZXF1aXJlcyBNZXNhIGZyb20gZ2l0IG1hc3Rlci4gKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzogKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6IE1vdmUgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24gdG8gZWxlbWVudC4gKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6ICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6ICogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6ICogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6IE1vdmUgZ2xmaWx0ZXIgdG8gbGlicmFyeS4gKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46IEFkZCBnc3RyZWFtZXItYmFzZS0wLjEwIGFzIGEgcmVxdWlyZW1lbnQuICogcG8vZW4ucG86IFVwZGF0ZS4KCjIwMDgtMDEtMTggMTU6MTM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTUvOTA2XSAJKiBjb25maWd1cmUuYWM6IAkqIGRvY3MvTWFrZWZpbGUuYW06IAkqIGdzdC1saWJzL01ha2VmaWxlLmFtOiAJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06IAkqIGdzdC9nbC9NYWtlZmlsZS5hbTogKiB0ZXN0cy9NYWtlZmlsZS5hbTogCSAgRml4IGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwIGFuZCBzb21lICAgZGlzdGNoZWNrLXkgYml0cyAobm90IGFsbCB0aG91Z2gpLgoKMjAwOC0wMS0xNyAyMzoyMzozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMDU0LzkwNl0gRml4ZXMgdG8gbWFrZSBwcm9qZWN0IGNvbXBpbGUuICBQcm9iYWJseSBzdGlsbCBkb2Vzbid0IHdvcmsuICogY29uZmlndXJlLmFjOiAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6ICogcG8vTElOR1VBUzogKiB3aW4zMi9NQU5JRkVTVDoKCjIwMDgtMDEtMTcgMTk6NDA6MzYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDUzLzkwNl0gQWRkIHByb2plY3QgaW5mcmFzdHJ1Y3R1cmUuICBOb3QgY29tcGxldGUsIGRvZXNuJ3Qgd29yay4gKiAuY3ZzaWdub3JlOiAqIEFVVEhPUlM6ICogQ09QWUlORzogKiBDT1BZSU5HLkxJQjogKiBJTlNUQUxMOiAqIE1ha2VmaWxlLmFtOiAqIE5FV1M6ICogUkVBRE1FOiAqIFJFTEVBU0U6ICogUkVRVUlSRU1FTlRTOiAqIGF1dG9nZW4uc2g6ICogY29uZmlndXJlLmFjOiAqIGRvY3MvLmN2c2lnbm9yZTogKiBkb2NzL01ha2VmaWxlLmFtOiAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbTogKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06ICogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOiAqIGV4dC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC1wbHVnaW5zLWdsLmRvYXA6ICogZ3N0LXBsdWdpbnMtZ2wuc3BlYy5pbjogKiBnc3QvTWFrZWZpbGUuYW06ICogbTQvLmN2c2lnbm9yZTogKiBtNC9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvLmN2c2lnbm9yZTogKiBwa2djb25maWcvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogKiBzeXMvTWFrZWZpbGUuYW06ICogdGVzdHMvTWFrZWZpbGUuYW06ICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06ICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06ICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06ICogdG9vbHMvTWFrZWZpbGUuYW06ICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoKMjAwOC0wMS0wNiAwMzowMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNTIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1bGxzY3JlZW5pbmcgYmVpbmcgYW4gZXhlY3B0aW9uKS4gIERvZXNuJ3QgaGFuZGxlIGV4cG9zZSBldmVudHMgZGlyZWN0bHkgdG8gdGhlIEdMIHdpbmRvdy4KCjIwMDgtMDEtMDYgMDE6MTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA1MS85MDZdICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZSB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwNy0xMi0zMSAwNzo1NToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTAvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZSByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcgYSBjaGVjayBmb3IgcHJlLXBrZ2NvbmZpZyB2ZXJzaW9ucy4KCjIwMDctMTItMjkgMDA6Mzc6NDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0OS85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uIEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIG1vc3RseSBjb3JyZWN0bHkuICBSZWVuYWJsZSBpbiBidWlsZC4KCjIwMDctMTItMjcgMDU6MjY6MDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ4LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYmUgZml4ZWQgc29vbi4KCjIwMDctMTItMjcgMDQ6MTU6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDcvOTA2XSAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZSB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMgdG8gZG93bmxvYWRpbmcuICBGaXggYSBmZXcgcGxhY2VzIHdoZXJlIHdlIGxlYWsgR0wgc3RhdGUgdG8gb3RoZXIgZWxlbWVudHMgKGJhZCwgYnV0IGhhcmQgdG8gcHJldmVudCkuCgoyMDA3LTEyLTI3IDAwOjUyOjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvY29sb3JfbWF0cml4LmM6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0Ni85MDZdICogc3lzL2dsc2luay9CVUdTOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEgR3N0R0xCdWZmZXJGb3JtYXQgdHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGhvdyB0byB1c2UgdGhlIHRleHR1cmUsIG5vdCB0aGUgb3JpZ2luYWwgdmlkZW8gZm9ybWF0LiAgQ29udmVydCBnc3RmbGZpbHRlci5jIGludG8gYSBiYXNlIGNsYXNzLCBhZGQgZ2xmaWx0ZXJleGFtcGxlIGFuZCBnbGNvbnZlcnQgZWxlbWVudHMuICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzogTWlub3IgcmFtYmxpbmdzIGFib3V0IGNvbG9yIGNvbnZlcnNpb24gbWF0cmljZXMuCgoyMDA3LTEyLTI1IDAwOjM0OjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDUvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzIEdMIHJlbmRlcmluZyB0byBjcmVhdGUgaW1hZ2VzLiAgTW9yZSBjbGVhbnVwLgoKMjAwNy0xMi0yNCAyMToyNjozOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFswNDQvOTA2XSAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6IENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgoyMDA3LTEyLTI0IDIxOjA0OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswNDMvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoKMjAwNy0xMi0yNCAyMDo1Mzo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwgZmlsdGVyaW5nIGFsbCB3b3JrLgoKMjAwNy0xMi0yMiAwNTowMTo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguIENoZWNrcG9pbnQgYmVjYXVzZSBJJ20gYWJvdXQgdG8gcmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUuCgoyMDA3LTEyLTIxIDAwOjAzOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0MC85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLCBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW92ZSBHTERyYXdhYmxlLCBzaW5jZSBHc3RHTERpc3BsYXkgbm93IGhhcyBhIGRlZmF1bHQgZHJhd2FibGUgYW5kIGNvbnRleHQuCgoyMDA3LTEyLTE4IDAxOjI1OjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzOS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidWYuICBVbnRlc3RlZC4gIFdpbGwgbGlrZWx5IGNyYXNoIHlvdXIgbW90b3JjeWNsZSBpZiB5b3UgdHJ5IGl0LiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogUmVtb3ZlLgoKMjAwNy0xMi0xNiAyMjo1NzoyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswMzgvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6IFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgoyMDA3LTEyLTE2IDAwOjE2OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkgIFswMzcvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15IGRyaXZlci4gOigKCjIwMDctMTItMTUgMTk6MzE6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzYvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgoyMDA3LTEyLTE1IDA2OjMzOjM2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM1LzkwNl0gKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4gVGhpcyBzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIC1iYXNlLiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBVc2UgdGhlIG5ldyB2aWRlby1jb21tb24uaCBzdHVmZi4gIFJlYWRkIHN1cHBvcnQgZm9yIFJHQiB2aWRlby4KCjIwMDctMTItMTQgMTY6MjM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAzNC85MDZdIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNy0xMi0xMiAwMjozMzoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJICBbMDMzLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXNpb25hbGx5IGR1ZSB0byBkaWZmZXJlbnQgdGhyZWFkcyB0b3VjaGluZyBiaXRzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDA3LTA2LTA2IDE1OjU4OjMxICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX3N0b3ApLCAoZ3N0X2dsaW1hZ2Vfc2lua19jcmVhdGVfd2luZG93KSwgKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbiBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaW5nbGUgZ2xpbWFnZXNpbmsuCgoyMDA3LTA1LTE4IDEyOjM5OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6IFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydCBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyBmb3JtYXRzLCBub3QganVzdCB0aGUgdGVtcGxhdGUgY2Fwcy4gRml4ZXM6ICM0Mzk0MDUKCjIwMDctMDQtMDMgMjI6MzY6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzAvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoKMjAwNi0wOS0yMyAwMDoyODozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyOS85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4gKGZpeGVzICMzNTcyMTIpCgoyMDA2LTA5LTIyIDE1OjU5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI4LzkwNl0gKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChwbHVnaW5faW5pdCk6IExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4ndCB0cnVtcCBwbHVnaW5zIGluIC1iYXNlLCAtZ29vZCBvciAtdWdseSAoaW4gdGhpcyBjYXNlIHhpbWFnZXNpbmspLiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKHBsdWdpbl9pbml0KTogU2V0IHJhbmsgdG8gTk9ORSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgdW50aWwgZXJyb3JzIGFyZSBoYW5kbGVkIHByb3Blcmx5IChzZWUgIzM1NzIxMikuCgoyMDA2LTA4LTE1IDE5OjI5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI3LzkwNl0gKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19nZXRfcHJvcGVydHkpOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfZ2V0X3Byb3BlcnR5KTogRml4IGxlYWtzICgjMzUxNTAyKS4KCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjYvOTA2XSAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6ICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6ICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjUvOTA2XSAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6ICogZXh0L2FydHMvZ3N0X2FydHMuYzogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6ICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6ICogZXh0L2J6Mi9nc3RiejJlbmMuYzogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6ICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6ICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KTogKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOiAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6ICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6ICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOiAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6ICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOiAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6ICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6ICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6ICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KTogKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6ICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOiAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6ICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOiAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6ICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzogKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzogKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6ICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6ICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6ICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6ICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6ICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOiAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KTogKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6ICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOiAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6ICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6ICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KTogKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjQvOTA2XSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDItMjUgMjE6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkgIFswMjMvOTA2XSAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoKMjAwNi0wMi0yMiAxNDozNzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDIyLzkwNl0gICAgICAgICAqIGNvbmZpZ3VyZS5hYzogICAgICAgICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICAgICAgIE1lcmdlIHBhdGNoIGZyb20gIzMxNzA0OCBmb3IgYnVpbGRpbmcgb24gQ3lnd2luLiBQYXRjaCBieSBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4gICAgICAgICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogICAgICAgICBNb3ZlIG5vcm1hbCBkZWJ1ZyBvdXRwdXQgdG8gTE9HIGxldmVsIG5vdCBFUlJPUi4KCjIwMDYtMDItMTQgMTE6MzY6MzAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFswMjEvOTA2XSAyMDA2LTAyLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbgoJICBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCjIwMDYtMDEtMzAgMTU6NDc6NDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAyMC85MDZdIDIwMDYtMDEtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfQ0ZMQUdTKTogQWRkIFBMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMuCgoyMDA2LTAxLTI4IDEyOjQ1OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAxOS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoKMjAwNi0wMS0yOCAwNDozOToxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzAxOC85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6IHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNy85MDZdICAgICAgICAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6ICAgICAgICAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKTogICAgICAgICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6ICAgICAgICAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiAgICAgICAgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6ICAgICAgICAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOiAgICAgICAgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAgICAgICAgICgjMzIyMDI3KQoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTYvOTA2XSAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLCAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLCAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6ICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6ICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6ICogZXh0L2phY2svZ3N0amFjay5oOiAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOiAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvbmFzL25hc3NpbmsuaDogKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDogKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KTogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6ICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6ICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOiAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKTogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6ICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KTogKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLCAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLCAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDogKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDogKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLCAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLCAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKTogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6ICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6ICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKTogKiBzeXMvdmNkL3ZjZHNyYy5oOiByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0wOS0wNSAxNzoyMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNS85MDZdICAgICAgICAgICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNC0xMS0wMSAxNDo0MzozOCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNC85MDZdICogZXh0L2Fsc2EvZ3N0YWxzYS5jOiAoZ3N0X2Fsc2FfY2xhc3NfaW5pdCksIChnc3RfYWxzYV9kaXNwb3NlKSwgICAgICAgICAoZ3N0X2Fsc2FfZmluYWxpemUpOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfY2RhdWRpb19maW5hbGl6ZSk6ICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYS5jOiAoY2RwYXJhbm9pYV9jbGFzc19pbml0KSwgKGNkcGFyYW5vaWFfZmluYWxpemUpOiAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2Rpc3Bvc2UpOiAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKGdzdF9kaXZ4ZW5jX2Rpc3Bvc2UpOiAqIGV4dC9kdmRyZWFkL2R2ZHJlYWRzcmMuYzogKGR2ZHJlYWRzcmNfY2xhc3NfaW5pdCksICAgICAgICAgKGR2ZHJlYWRzcmNfZmluYWxpemUpOiAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNkZWNfZmluYWxpemUpOiAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX2NsYXNzX2luaXQpLCAgICAgIChnc3RfZmxhY2VuY19maW5hbGl6ZSk6ICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21ldmZzc2lua19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2dub21ldmZzc2lua19maW5hbGl6ZSk6ICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWV2ZnNzcmNfY2xhc3NfaW5pdCksIChnc3RfZ25vbWV2ZnNzcmNfZmluYWxpemUpOiAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfZmFtZWVuY19maW5hbGl6ZSk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X25hc3NpbmtfZmluYWxpemUpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvbWl4ZXIvbWl4ZXJ0cmFjay5jOiAoZ3N0X21peGVyX3RyYWNrX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC90dW5lci90dW5lcmNoYW5uZWwuYzogKGdzdF90dW5lcl9jaGFubmVsX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC90dW5lci90dW5lcm5vcm0uYzogKGdzdF90dW5lcl9ub3JtX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC94d2luZG93bGlzdGVuZXIveHdpbmRvd2xpc3RlbmVyLmM6IChnc3RfeF93aW5kb3dfbGlzdGVuZXJfZGlzcG9zZSk6ICogZ3N0L2F1ZGlvc2NhbGUvZ3N0YXVkaW9zY2FsZS5jOiAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KSwgKHBsYXlfb25fZGVtYW5kX2ZpbmFsaXplKTogKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6IChnc3RfdmlkZW9iYWxhbmNlX2Rpc3Bvc2UpOiAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb3NjYWxlX2NoYWluKTogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpLCAgICAgKGNkcGxheWVyX2ZpbmFsaXplKTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZmluYWxpemUpLCAgICAgICAgIChnc3RfZ2xpbWFnZXNpbmtfY2xhc3NfaW5pdCk6ICogc3lzL29zcy9nc3Rvc3NlbGVtZW50LmM6IChnc3Rfb3NzZWxlbWVudF9jbGFzc19pbml0KSwgKGdzdF9vc3NlbGVtZW50X2ZpbmFsaXplKTogKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3NzaW5rX2Rpc3Bvc2UpOiAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3Nzc3JjX2Rpc3Bvc2UpOiAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfZGlzcG9zZSk6ICAgICAgICAgICBGaXhlcyBhIGJ1bmNoIG9mIHByb2JsZW1zIHdpdGggZmluYWxpemUgYW5kIGRpc3Bvc2UgZnVuY3Rpb25zLCAgICAgICAgICAgZWl0aGVyIGFzc3VtcHRpb25zIHRoYXQgZGlzcG9zZSBpcyBvbmx5IGNhbGxlZCBvbmNlLCBvciBub3QgY2FsbGluZyAgICAgICAgICAgdGhlIHBhcmVudCBjbGFzcyBkaXNwb3NlL2ZpbmFsaXplIGZ1bmN0aW9uCgoyMDA0LTA4LTI3IDE5OjE4OjI0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDEzLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfeGltYWdlX3B1dCksIChnc3RfZ2xpbWFnZXNpbmtfeHdpbmRvd19uZXcpLCAoZ3N0X2dsaW1hZ2VzaW5rX3hjb250ZXh0X2dldCksIChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKTogIE1vdmUgbG9jYWwgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIG1ha2UgZ2NjLTIuOTUgaGFwcHkuCgoyMDA0LTA4LTA5IDIwOjE2OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMTIvOTA2XSAqIHN5cy9nbHNpbmsvQVJCX211bHRpdGV4dHVyZS5oOiAgUmVtb3ZlIG9sZCBmaWxlcy4gKiBzeXMvZ2xzaW5rL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6ICogc3lzL2dsc2luay9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsX252aW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsX3BkcmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbF9yZ2JpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmM6ICogc3lzL2dsc2luay9nc3RnbHNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdseHdpbmRvdy5jOiAqIHN5cy9nbHNpbmsvcmVnY29tYl95dXZyZ2IuYzoKCjIwMDQtMDgtMDkgMjA6MTQ6NTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkgIFswMTEvOTA2XSBQYXRjaCBmcm9tIEdlcm5vdCBaaWVnbGVyIDxnekBseXNhdG9yLmxpdS5zZT4gcmV3cml0aW5nIHRoZSBHTCBzaW5rIHBsdWdpbi4gIChCdWcgIzE0NzMwMikgKiBjb25maWd1cmUuYWM6IFRlc3QgZm9yIE9wZW5HTCAqIHN5cy9NYWtlZmlsZS5hbTogVXNlIHRlc3QgZm9yIE9wZW5HTCAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiByZXdyaXRlICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiByZXdyaXRlCgoyMDA0LTAzLTE1IDE5OjMyOjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAxMC85MDZdIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJICBbMDA5LzkwNl0gICAgICAgICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwOC85MDZdIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDQ6MTU6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNy85MDZdICogZXh0L2ZmbXBlZy9nc3RmZm1wZWcuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2VuYy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmM6ICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOiAgKiBleHQvanBlZy9nc3RqcGVnLmM6ICAqIGV4dC9saWJwbmcvZ3N0cG5nLmM6ICAqIGV4dC9tcGVnMmRlYy9wZXJmdGVzdC5jOiAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogICogZ3N0LWxpYnMvZ3N0L3Jlc2FtcGxlL2R0b3MuYzogICogZ3N0L2ludGZsb2F0L2dzdGludGZsb2F0Y29udmVydC5jOiAgKiBnc3Qvb25ldG9uL2dzdG9uZXRvbi5jOiAgKiBnc3QvcnRqcGVnL1JUanBlZy5jOiAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAgKiBzeXMvZHhyMy9keHIzaW5pdC5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsX252aW1hZ2UuYzogICogc3lzL2dsc2luay9nc3RnbF9wZHJpbWFnZS5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5jOiAgKiB0ZXN0c3VpdGUvZ3N0LWxpbnQ6ICBNYWtlIHN1cmUgZXZlcnlib2R5IHdyYXBzICNpbmNsdWRlICJjb25maWcuaCIgaW4gI2lmZGVmIEhBVkVfQ09ORklHX0gKCjIwMDMtMTItMjIgMDE6NDc6MDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA2LzkwNl0gTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMDQgMTA6Mzc6MzYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNS85MDZdIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTA3IDEyOjQ2OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwNC85MDZdIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDYgMDA6Mjc6MDMgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDAzLzkwNl0gdXBkYXRlcyB0byBnbHNpbmsKCjIwMDMtMTAtMzEgMTY6NDA6MjAgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwMi85MDZdIGdsc2luayB3aXRoIGNvcnJlY3QgdGhyZWFkaW5nIHN1cHBvcnQKCjIwMDMtMTAtMjggMTg6NTQ6MjAgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDAxLzkwNl0gd2VsY29tZSB0byBnbHNpbmsgZm9yIDAuNy54IDopCgoyMDE0LTAzLTE0IDE4OjIzOjUxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDQxCgoyMDE0LTAzLTE1IDE1OjE3OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhCgkgIFRoaXMgZWxlbWVudCBvbmx5IG5lZWQgc3RyaWRlIHN1cHBvcnQsIGJ1dCBjaGVja3MgZm9yIENST1BfTUVUQSwgd2hpY2gKCSAgaXMgYSBiaXQgdG9vIG11Y2gsIGV2ZW4gdGhvdWdoIHRoaXMgd29ya3MgYXMgQ1JPUCBpbXBseSBoYXZpbmcgVklERU8KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjI1NQoKMjAxNC0wMy0wNCAxMzoxOTo1NSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogbXBlZ3RzOiBjaGFuZ2UgYmFuZHdpZHRoIHRvIERWQnY1IHZhbHVlcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ2MwoKMjAxMy0xMC0zMSAxNDoyNzoxMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBBZGQgdGFibGVfaWRfbmFtZSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjgyCgoyMDEzLTExLTE5IDExOjM2OjE0ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IEFkZCBEVkIgdGVsZXRleHQvc3VidGl0bGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjgyCgoyMDE0LTAzLTAzIDEzOjA3OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU3VwcG9ydCBCbHVyYXkgRFRTL0RUUy1IRCBhbmQgQUMzKy9UcnVlSEQgc3RyZWFtcwoJICBBcGFydCBmcm9tIGp1c3QgYWRkaW5nIGRldGVjdGlvbiBvZiB0aGUgcHJvcGVyIHN0cmVhbSB0eXBlLCB3ZSBhbHNvIG5lZWQgdG8gb25seQoJICBvdXRwdXQgdGhlIGZpcnN0IHN1YnN0cmVhbSAoMHg3MSkgd2hpY2ggY29udGFpbnMgdGhlIGNvcmUgc3Vic3RyZWFtLgoJICBXaGlsZSB0aGlzIGRvZXMgbm90IHByb3ZpZGUgKmZ1bGwqIERUUy1IRCBzdXBwb3J0IChzaW5jZSBpdCB3aWxsIG1pc3MgdGhlIGNvbXBsZW1lbnRhcnkKCSAgc3Vic3RyZWFtcyksIGl0IHdpbGwgc3RpbGwgd29yayBpbiB0aGUgd2F5IGxlZ2FjeSAobm9uLURUUy1IRCkgYmx1cmF5IHBsYXllcnMgd291bGQgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTU2MwoKMjAxNC0wMy0xMyAxNDo0MTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHN0cmluZyBvcmRlciBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTQtMDMtMDkgMTg6NDE6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgZG93bmxvYWQgcmF0ZQoJICBBbHNvIHRha2UgaW50byBhY2NvdW50IHRoZSBsYXN0IGRvd25sb2FkIHJhdGUgd2hlbgoJICBjYWxjdWxhdGluZyBpdC4KCjIwMTQtMDMtMTEgMTA6MzI6NDYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmNlbmM6IEFsbG93IHVzZXIgdG8gc2V0IGNoYW5uZWwtbW9kZQoJICBEb24ndCByZXR1cm4gZXJyb3Igd2hlbiBjaGFubmVsLW1vZGUgaXMgYWxyZWFkeSBzZXQsIGp1c3QgY2hlY2sgdGhhdCBpdAoJICBpcyBjb2hlcmVudCB3aXRoIG51bWJlciBvZiBjaGFubmVscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjA5OAoKMjAxNC0wMy0xMCAxMToxOTo0NiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRGlmZmVyZW50aWF0ZSB0aGUgbXBlZy0yIHN0cmVhbSBmcm9tIG1wZWctMSBiYXNlZCBvbiBwaWNfZXh0CgkgIFByZXNlbmNlIG9mIHBpY3R1cmUgZXh0ZW5zaW9uIGhlYWRlciBpZGVudGlmaWVzIHRoZSBzdHJlYW0gYXMgbXBlZzIuCgkgIFdlIGFyZSBzdXBwb3NlZCB0byBzZXQgdGhlIG1wZWd2ZXJzaW9uIHRvIDIgaWYgdGhlcmUgaXMgYSBwaWNleHRlbnNpb24KCSAgaW5zdGVhZCBvZiBibGluZGx5IHNldHRpbmcgdGhlIHZlcnNpb24gdG8gMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDI4CgoyMDE0LTAzLTExIDIyOjM2OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBzZXQgYSBncm91cC1pZCBvbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIFNldCBhIGRlZmF1bHQgZ3JvdXAtaWQgdG8gZml4IGEgd2FybmluZyBwcmludGVkIGJ5IHRoZSBzaW5rLgoKMjAxNC0wMy0xMCAyMjo0ODowNCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHJmaWx0ZXI6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiBvbiBzaW5rIGNhcHMgY2hhbmdlcy4KCSAgV2hlbiB0aGUgaW5wdXQgc2l6ZSBjaGFuZ2VkLCB0aGUgZnJlaTByIGZpbHRlcnMgZGlkbid0IHRha2UKCSAgaXQgaW50byBhY2NvdW50IGFuZCBlbmRlZCB1cCBjb3JydXB0aW5nIG1lbW9yeS4KCSAgRml4ZXMgIzcyNjA2OQoKMjAxNC0wMy0xMSAxNTozMDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNC0wMy0xMSAxNDo0NzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBJbXBsZW1lbnQgZHJhaW5pbmcgcHJvcGVybHkKCjIwMTQtMDMtMTEgMTQ6Mzc6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogRmlyc3QgZGVxdWV1ZSBhIGJ1ZmZlciBiZWZvcmUgZW5xdWV1ZWluZyBhbnl0aGluZyBmcm9tIHRoZSBxdWV1ZQoJICBSZXF1aXJlZCBmb3Igb2ZmbGluZSByZW5kZXJpbmcgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLiB3dGYuCgoyMDE0LTAzLTExIDE0OjMyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgSXQncyByZXF1aXJlZCB0byBzZXQgYSB2YWxpZCBzYW1wbGUgdGltZSBmb3IgZGVjb2Rpbmcgb24gaU9TLgoKMjAxNC0wMy0xMSAxNDoyNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBBbHdheXMgdHJ5IHRvIHB1bGwgb25lIGRlY29kZWQgZnJhbWUgb3V0IG9mIHRoZSBxdWV1ZQoJICAuLi4gaW5zdGVhZCBvZiBkb2luZyBtYWdpYyBjYWxjdWxhdGlvbnMgd2l0aCB0aGUgYnVmZmVyIGR1cmF0aW9uLgoKMjAxNC0wMy0xMSAxNDoyMjo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBIYW5kbGUgZXJyb3JzIGluIGhhbmRsZV9mcmFtZSgpIHByb3Blcmx5CgoyMDE0LTAzLTExIDE0OjE0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IENhbGwgQXVkaW9RdWV1ZVJlc2V0KCkgZm9yIGZsdXNoaW5nCgkgIEF1ZGlvUXVldWVGbHVzaCgpIGlzIGZvciBkcmFpbmluZyBhbGwgcmVtYWluaW5nIGRhdGEuCgoyMDE0LTAzLTExIDExOjE4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJICBhdGRlYzogU2V0IGNvcnJlY3QgbnVtYmVyIG9mIGZyYW1lcyBmb3IgTVAzCgoyMDE0LTAzLTExIDExOjE4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEluaXRpYWxpemUgdGhlIGF1ZGlvIGRlc2NyaXB0aW9uIHdpdGggemVyb2VzCgoyMDE0LTAzLTExIDExOjE0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IFNldCB0aGUgY29ycmVjdCBsYXllciBkZXBlbmRpbmcgb24gdGhlIE1QMyBjYXBzCgoyMDE0LTAzLTExIDEwOjI2OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB2aWRlb3NpZ25hbCB3YXMgcG9ydGVkIGFsbW9zdCBhIHllYXIgYWdvCgoyMDE0LTAzLTA5IDE5OjM4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggY29tcGFyaXNvbiBpbiBiaXRyYXRlIHNlbGVjdGlvbgoKMjAxNC0wMy0wNyAxMjoxMTo1OSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogc2V0IHByb3h5IGFsbG9jYXRpb24gZmxhZyBvbiB0aGUgdmlkZW8gc2luayBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg5MwoKMjAxNC0wMy0wNyAxNjoyMjo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBtM3U4OiBGaXggb2ZmLWJ5LW9uZSBpbiB0aGUgZG93bmxvYWQgcmFuZ2UgZW5kCgoyMDE0LTAzLTA3IDE2OjIyOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZDogSGFuZGxlIG5vIGJ1ZmZlcnMgYmVmb3JlIEVPUyBhcyBlcnJvciBpbnN0ZWFkIG9mIGNyYXNoaW5nCgoyMDE0LTAzLTA2IDIzOjE0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcHJvcGVyIHNlZ21lbnQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg0NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjY4CgoyMDE0LTAzLTA1IDEwOjQ3OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YgYnl0ZSByYW5nZXMKCjIwMTQtMDItMjcgMTA6NTQ6MTAgKzAxMDAgIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggc2Vla2luZyBmdXJ0aGVyIHRoYW4gdHJhY2sgZHVyYXRpb24KCSAgRG9uJ3QgZmFpbCB0aGUgc2VlayBidXQgaW5zdGVhZCBzZW5kIGFuIEVPUyBldmVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNC0wMy0wNSAxNjowMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN3aXRjaCBwbGF5bGlzdHMgYWZ0ZXIgcHVzaGluZyB0aGUgZnJhZ21lbnQKCSAgTWFrZXMgc3VyZSB3ZSBwcm9wZXJseSBzZXQgdGhlIGRpc2NvbnQgZmxhZyBmb3IgdGhlIG5leHQgYnVmZmVyLAoJICBub3QgdGhlIGN1cnJlbnQgb25lLgoKMjAxNC0wMS0xMCAxNzozODowOSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogaGFuZGxlIHZpZGVvL3gtcmF3KEFOWSkgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxOTUwCgoyMDE0LTAzLTA0IDE3OjI1OjIzICswMjAwICBBbmRyZXMgR29tZXogPGFnb21lekBpZ2FsaWEuY29tPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0OiAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IGRlZmF1bHRzIHRvIFRSVUUKCSAgQXMgcGVyIGRpc2N1c3NlZCBpbiBidWcgIzcyNTM4MywgaXQgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgdG8gZGVmYXVsdAoJICB0byBGQUxTRSBpbiB0aGUgImlyYWRpby1tb2RlIiBwcm9wZXJ0eS4gQmV0dGVyLCBsZXQncyBzZW50IHRoZSBoZWFkZXIKCSAgYnkgZGVmYXVsdCBhbmQganVzdCBpZ25vcmUgaGVhZGVycyB0aGF0IGFyZSBub3QgdW5kZXJzdG9vZCwgaWYgc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2NTkKCjIwMTQtMDMtMDUgMDA6NTE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICB0ZXN0czogZml4IG1wZzEyM2F1ZGlvZGVjIHRlc3QgZm9yIGJpZy1lbmRpYW4gYXJjaGl0ZWN0dXJlcwoKMjAxNC0wMy0wNSAxMToyMDoyNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBpbmNyZWFzZSBmcmFtZXJhdGUgdG8gbWF4aW50CgoyMDE0LTAzLTA1IDEwOjU0OjQ3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGluY3JlYXNlIG1heGltdW0gZnJhbWVyYXRlCgoyMDE0LTAzLTAyIDA1OjI1OjQ4ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZ2NvdiBpbnRlcm1lZGlhdGUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ4MQoKMjAxNC0wMy0wMSAxNzoxMzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcHJvcGVyIGhhbmRsaW5nIG9mIGRpc2NvbnRpbnVpdGllcwoJICBJdCdzIG5vdCByZWFsbHkgY29ycmVjdCB5ZXQgZm9yIHNlZWtzIGJ1dCBiZXR0ZXIgdGhhbiB3aGF0CgkgIHdlIGhhZCBiZWZvcmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODQ2CgoyMDE0LTAyLTI4IDExOjE2OjI3IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogdW5yZWYgY2FwcyBhZnRlciBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MTIKCjIwMTQtMDItMjUgMTE6NDU6NDYgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2VnZmF1bHRzIGlmIHBsYXlsaXN0IGhhcyBubyBtZWRpYSBmaWxlcwoJICBobHNkZW11eCBjYXVzZXMgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgaWYgdGhlIG1lZGlhIHBsYXlsaXN0CgkgIGRvZXMgbm90IGNvbnRhaW4gYW55IG1lZGlhIGZpbGVzLiBUaGUgZ3N0X20zdThfY2xpZW50X2dldF9kdXJhdGlvbgoJICBmdW5jdGlvbiBhc3N1bWVzIHRoYXQgZGVtdXgtPmNsaWVudC0+Y3VycmVudC0+ZmlsZXMgaXMgdmFsaWQgd2hlbgoJICBjb21wdXRpbmcgZHVyYXRpb24uCgkgIGdzdF9tM3U4X2NsaWVudF91cGRhdGUgbmVlZGVkIHRvIGJlIG1vZGlmaWVkIHRvIGNoZWNrIGZvciB0aGUKCSAgY2FzZSBvZiBkb3dubG9hZGluZyBhbiBNM1U4IGZpbGUgdGhhdCBkb2Vzbid0IGNvbnRhaW4gYW55IG1lZGlhCgkgIGZpbGVzLCBhbmQgcmV0dXJuaW5nIGFuIGVycm9yIHRvIGdzdGhsc2RlbXV4LmMKCSAgVGhpcyBidWcgY2FuIGJlIHJlcHJvZHVjZWQgYnkgY3JlYXRpbmcgYSBtYXN0ZXIgbTN1OCBmaWxlIHRoYXQKCSAgY29udGFpbnMgb25lIG1lZGlhIHBsYXlsaXN0IHRoYXQgcG9pbnRzIGJhY2sgdG8gdGhlIG1hc3RlciBtM3U4CgkgIGZpbGUuICBGb3IgZXhhbXBsZSBjcmVhdGUgYSBmaWxlIGNhbGxlZCBidWc3MjUxMzQubTN1ODoKCSAgI0VYVE0zVQoJICAjRVhULVgtVkVSU0lPTjo0CgkgICNFWFQtWC1TVFJFQU0tSU5GOlBST0dSQU0tSUQ9MSwgQkFORFdJRFRIPTEyNTExMzUsIENPREVDUz0iYXZjMS40MjAwMWYgbXA0YS40MC4yIiwgUkVTT0xVVElPTj02NDB4MzUyCgkgIGJ1ZzcyNTEzNC5tM3U4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMzQKCjIwMTQtMDItMjggMDk6MzQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlMTY3MmUgdG8gYmNiMTUxOAoKMjAxNC0wMi0yNyAyMjoyODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRG9uJ3Qgd3JpdGUgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgcHNtIGFycmF5IHdoZW4gaW5pdGlhbGlzaW5nIGl0CgoyMDE0LTAyLTI3IDIxOjQ1OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSAgb3BlbmFsc3JjOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI3IDIxOjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI3IDE1OjQ5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5pdCBhbmQgY2xlYXIgYSBtdXRleAoJICBHTGliIGluaXRpYWxpc2VzIGF1dG9tYXRpY2FsbHkgZm9yIHVzIGZvciBzb21lIHJlYXNvbi4uLiBidXQgb2YgY291cnNlCgkgIGRvZXMgbm90IGNsZWFyIHRoZSBtdXRleCBvbmNlIHRoZSBkZW11eGVyIGlzIGRlc3Ryb3llZC4KCjIwMTQtMDItMjcgMTU6NDE6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVbnJlZiBzZWVrIGV2ZW50cyBiZWZvcmUgcmV0dXJuaW5nIGZyb20gdGhlIHNlZWsgaGFuZGxlcgoJICBPdGhlcndpc2Ugd2UgbGVhayB0aGVtIGFsbC4KCjIwMTQtMDItMjcgMTI6MDI6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBkZWJ1ZyBvdXRwdXQgdG8gZGVzY3JpYmUgdGhlIG5ldyByZWFsaXR5CgoyMDE0LTAyLTI3IDExOjUzOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBXYXJuaW5nIG1lc3NhZ2VzIGFyZSBub3QgZmF0YWwKCSAgQWxzbyB0aGV5IG5lZWQgdG8gYmUgcGFyc2VkIHdpdGggZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZygpLAoJICBnc3RfbWVzc2FnZV9wYXJzZV9lcnJvcigpIGRvZXMgbm90IHdvcmsgb24gdGhlbS4KCjIwMTQtMDItMjYgMjI6MjY6NDggKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgZG9jczogbXBlZ3RzOiBhZGQgbWlzc2VkIGRvY3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNzgKCjIwMTQtMDItMjYgMjE6MDg6MjMgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IGR2YnNyYzogYWRkIG1pc3NlZCBhcmdzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjc4CgoyMDE0LTAyLTI2IDIyOjEyOjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxYTA3ZGE5IHRvIGZlMTY3MmUKCjIwMTQtMDItMjYgMTk6MTg6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgc3RyYXkgKCBpbiBNYWtlZmlsZS5hbQoKMjAxNC0wMi0yNCAyMjo1MzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZvcndhcmQgdGFncyB0aGF0IGhhdmUgZ2xvYmFsIHNjb3BlCgkgIEluc3RlYWQgb2YgZHJvcHBpbmcgYWxsIHRhZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxNC0wMi0yNCAyMjo0Mzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBzdG9yZSBnbG9iYWwgdGFncyB0byBwdXNoIGxhdGVyCgkgIEtlZXAgYSBsaXN0IG9mIGN1cnJlbnQgZ2xvYmFsIHRhZ3MgYXJvdW5kIGFuZCBwdXNoIHRoZW0KCSAgd2hlbmV2ZXIgYSBuZXcgc3RyZWFtIGlzIHN0YXJ0ZWQuIEFsc28gY29udmVydCBhbGwgc3RyZWFtCgkgIHNwZWNpZmljIHRhZ3MgdG8gZ2xvYmFsIGFzIHRoZXkgYXJlIHN0cmVhbSBzcGVjaWZpYyBmb3IKCSAgdGhlIGNvbnRhaW5lciwgc28gdGhleSBhcmUgZ2xvYmFsIGZvciB0aGUgc3RyZWFtcyBmcm9tCgkgIHdpdGhpbiB0aGF0IGNvbnRhaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxNC0wMi0yNiAxMTozMjowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGluc3RhbGwgcHJlYnVpbHQgcGx1Z2luIGRvY3MgaWYgZ3RrLWRvYyBpcyBkaXNhYmxlZAoJICBTeW5jIHRvIHRoZSBNYWtlZmlsZS5hbSBmcm9tIGdzdC1wbHVnaW4tYmFzZSB3aGVyZSBpdCBpcyBkb25lIHJpZ2h0LgoJICBGaXhlcyAjNzI1MDM0CgoyMDE0LTAyLTIxIDA5OjM2OjUxICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBwYXJzaW5nIG9mIENPREVDUyBhbmQgUkVTT0xVVElPTgoJICBobHNkZW11eCBkb2VzIG5vdCBjaGVjayBmb3IgdGhlICciJyBjaGFyYWN0ZXIgaW4gI0VYVC1YLVNUUkVBTS1JTkYKCSAgYXR0cmlidXRlcy4gVGhlIENPREVDUyBwYXJhbWV0ZXIgaXMgYW4gZXhhbXBsZSBvZiBhbiBhdHRyaWJ1dGUKCSAgdGhhdCBtaWdodCB1c2UgdGhlICciJyBzeW1ib2wgYW5kIG1pZ2h0IGNvbnRhaW4gYSAnLCcgY2hhcmFjdGVyCgkgIGluc2lkZSB0aGlzIHF1b3RlZCBzdHJpbmcuCgkgIEZvciBleGFtcGxlOiBDT0RFQ1M9ImF2YzEuNzcuMzAsIG1wNGEuNDAuMiIKCSAgaGxzZGVtdXggZG9lcyBub3QgY29ycmVjdGx5IHBhcnNlIHRoZSBSRVNPTFVUSU9OIGF0dHJpYnV0ZSwgaXQKCSAgYXNzdW1lcyB0aGF0IGFuICc9JyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBkZWxpbmVhdGUgdGhlIHdpZHRoCgkgIGFuZCBoZWlnaHQgdmFsdWVzLCBidXQgdGhlIEhMUyBSRkMgc3RhdGVzIHRoYXQgYSAneCcgY2hhcmFjdGVyCgkgIG11c3QgYmUgdXNlZCBhcyB0aGUgZGVsaW1pdGVyIGJldHdlZW4gd2lkdGggYW5kIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE0MAoKMjAxNC0wMi0yMSAwOTozMDo0OSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggZm9yIFVSTHMgdGhhdCBjb250YWluIGEgJy8nIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIKCSAgSWYgdGhlIFVSTCBmb3IgdGhlIG1hc3RlciBtYW5pZmVzdCBmaWxlcyBjb250YWlucyBhICcvJyBjaGFyYWN0ZXIKCSAgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlciAoZm9yIGV4YW1wbGUKCSAgaHR0cDovL2V4YW1wbGUubmV0LzEwNTQ1NTlfaDI2NF8xNTAway5tcDQvbWFzdGVyLm0zdTg/YWNsPS8qMTA1NDU1OV9oMjY0XzE1MDBrLm1wNCksCgkgIGhsc2RlbXV4IGlzIGluY29ycmVjdGx5IGNvbnZlcnRpbmcgdGhlIHJlbGF0aXZlIFVSTHMgb2YgdGhlIG1lZGlhCgkgIHBsYXlsaXN0cyBpbiB0byBhYnNvbHV0ZSBVUkxzLiBJdCBpcyBpbmNvcnJlY3RseSB1c2luZyB0aGUgbGFzdCAnLycgaXQKCSAgZmluZHMgaW4gdGhlIFVSTC4gQWNjb3JkaW5nIHRvIFJGQzM5ODYgdGhlICcvJyBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBpbgoJICB0aGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTM3CgoyMDEzLTEyLTAyIDEwOjAxOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbGdsZXNzaW5rOiBtb3ZlIEdzdEVHTEltYWdlQnVmZmVyUG9vbCB0byBnc3RlZ2wgbGliCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwNTQKCjIwMTQtMDItMjUgMTI6MTc6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0OiBtcGVndHM6IEFkZCBjaGVjayBmb3IgU0RUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDY6MzEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBjb25zdHJ1Y3RvciBmb3IgZHZiIHNlcnZpY2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTI1IDEwOjI4OjM4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbXBlZ3RzOiBBZGQgbmV3IFNEVCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0Nzo1NyArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW9uIG9mIFNEVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQxOjIyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgdHJhbnNwb3J0X3N0cmVhbV9pZCB0byBHc3RNcGVnVHNTRFQKCSAgVGhlIHRyYW5zcG9ydF9zdHJlYW1faWQgaXMgY29udGFpbmVkIGluIHRoZSBzdWJ0YWJsZSBleHRlbnNpb24uCgkgIEludHJvZHVjZSBhIHZhcmlhYmxlIGZvciByZWFkYWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yNSAxMToyOTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBJbml0aWFsaXplIFBTTSBmdWxseQoJICBTb21lIGdhcHMgd2VyZSBtaXNzZWQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24uIEluc3RlYWQganVzdCBpbml0aWFsaXplCgkgIHRoZSB3aG9sZSB0YWJsZSB0byAtMSBmaXJzdCBhbmQgdGhlbiBmaWxsIHdoYXQgbmVlZHMgdG8gYmUgc3BlY2lmaWVkLgoKMjAxNC0wMi0yNCAxNTo1Mjo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGRlc2NyaXB0b3IgY2hlY2tzCgkgIE9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIG9uIHByb3ZpZGVkIGRpcmVjdCBhcmd1bWVudHMuIFRoZSBvdGhlcnMgZ2V0CgkgIGNoZWNrZWQgYWxsIHRoZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDY0CgoyMDE0LTAyLTI0IDE0OjU2OjAzIC0wNTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBjaXRhLnV0b3JvbnRvLmNhPgoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJICBkZWJ1Z3V0aWxzYmFkLmMgZmFpbHMgZ3N0LWluZGVudCBjaGVjawoJICB0aGlzIHBhdGNoIGlzICJnc3QtaW5kZW50IGRlYnVndXRpbHNiYWQuYyIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA5MAoKMjAxNC0wMi0yMiAxODoyMjoyNiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogbmV0d29ya19uYW1lOiBDaGVjayBjb252ZXJ0ZWQgbGVuZ3RoCgkgIENoZWNrIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgYXJndW1lbnQgYWZ0ZXIgaXQgaGFzIGJlZW4gY29udmVydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzOTUzCgoyMDE0LTAyLTA4IDIyOjQ3OjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBtcGVndHMgbGlicmFyeQoJICBUZXN0cyBmb3IgUEFULCBQTVQsIGFuZCBOSVQKCSAgQ3JlYXRlcyBhIG5ldyB0YWJsZSwgYW5kIHBvcHVsYXRlcyBpdCB3aXRoIGRlc2NyaXB0b3JzLgoJICBQYXJzZXMgdGhlIG5ld2x5IGNyZWF0ZWQgdGFibGVzLCBhbmQgY2hlY2tzIHRoZSBkYXRhLgoJICBDcmVhdGVzIGEgR3N0TXBlZ1RzU2VjdGlvbiBmcm9tIHRoZSB0YWJsZXMsIGFuZCBwYWNrZXRpemUgdGhlIHNlY3Rpb25zLgoJICBUaGUgcGFja2V0aXplZCBzZWN0aW9uIGRhdGEgaXMgYnl0ZS13aXNlIGNvbXBhcmVkIHRvIGEgc3RhdGljIGJ5dGUgYXJyYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzk1MwoKMjAxNC0wMi0yNCAxMTowNjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmFiaW4yLXRlc3Q6IG5ldyAxLnggcmF3IGNhcHMgZm9ybWF0CgkgIFJlbW92ZSAteXV2IGFuZCAtcmdiIGZyb20gdmlkZW8veC1yYXcgYXMgdGhvc2UgYXJlIGZyb20gdGhlCgkgIG9sZCAwLjEwIHZlcnNpb24KCjIwMTQtMDItMjMgMTU6MTg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEtlZXAgdHJhY2sgb2YgdGltZXN0YW1wcyBieSBhZGRpbmcgdGhlbSB1cCBkdXJpbmcgcGxheWJhY2sKCSAgLi4uaW5zdGVhZCBvZiBhZGRpbmcgdGhlbSBmcm9tIHRoZSBzdGFydCBvZiBwbGF5bGlzdCBldmVyeSB0aW1lLiBUaGlzCgkgIGFtb25nIG90aGVyIHRoaW5ncyBmaXhlcyB0aW1lc3RhbXBzIGZvciBsaXZlIHN0cmVhbXMsIHdoZXJlIHRoZSBwbGF5bGlzdAoJICBpcyBzb21lIGtpbmQgb2YgcmluZ2J1ZmZlciBvZiBmcmFnbWVudHMgYW5kIHRodXMgYWRkaW5nIGZyb20gdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgcGxheWxpc3Qgd2lsbCBtaXNzIHRoZSBwYXN0IGZyYWdtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MwoKMjAxNC0wMi0yMyAxMTowMTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERlcHJlY2F0ZSBmcmFnbWVudHMtY2FjaGUgcHJvcGVydHkKCSAgVGhlIGJ1ZmZlcmluZy9jYWNoaW5nIGlzIGhhbmRsaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50IG5vdyBhbmQKCSAgb3V0c2lkZSBvZiBobHNkZW11eC4KCjIwMTQtMDItMTggMTk6MTY6MzUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGVkZWM6IE1lcmdlIG5ldyB0YWdzIHdpdGggZXhpc3RpbmcgdGFncyB0byBwcmV2ZW50IG92ZXJ3cml0aW5nIGRlbXV4ZXIgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0Njk5CgoyMDE0LTAyLTIwIDE1OjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBleHQ6IFVzZSBDb2RlYy9EZW11eGVyL0FkYXB0aXZlIGZvciB0aGUgYWRhcHRpdmUgc3RyZWFtaW5nIGRlbXV4ZXJzCgoyMDE0LTAyLTE3IDA5OjE5OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlZmFjdG9yIHRocmVhZGluZyBhbmQgZG93bmxvYWRpbmcKCSAgV2Ugbm93IGRvd25sb2FkIGZyYWdtZW50cyBhcyBmYXN0IGFzIHBvc3NpYmxlIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbQoJICB3aGlsZSBhbm90aGVyIHRocmVhZCBpcyBqdXN0IHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyBsaXZlIHBsYXlsaXN0cwoJICBldmVyeSBub3cgYW5kIHRoZW4uCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdCBhbmQgdG9nZXRoZXIgd2l0aCB0aGUgbmV3IGJ1ZmZlcmluZwoJICBtb2RlIGZvciBhZGFwdGl2ZSBzdHJlYW1zIGluIG11bHRpcXVldWUgbWFrZXMgc3RyZWFtcyBzdGFydCBtdWNoIGZhc3Rlci4KCSAgQWxzbyBzaW1wbGlmeSB0aHJlYWRpbmcgYSBiaXQgYW5kIGhvcGVmdWxseSBtYWtlIHRoZSBHc3RUYXNrIHVzYWdlIHNhZmVyLgoKMjAxNC0wMi0xOSAwOTozNTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc3dpdGNoIHBhZHMgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nCgoyMDE0LTAyLTIxIDEyOjMzOjQyICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBlbnN1cmUgc2VnbWVudHMgYXJlbid0IGZldGNoZWQgYmVmb3JlIHRoZXkncmUgYXZhaWxhYmxlCgkgIEluY29ycmVjdCB0aW1lIHNjYWxpbmcgaW4gZ3N0X2Rhc2hfZGVtdXhfd2FpdF9mb3JfZnJhZ21lbnRfdG9fYmVfYXZhaWxhYmxlKCkKCSAgbWVhbnMgdGhhdCBtZWRpYSBzZWdtZW50cyBhcmUgZmV0Y2hlZCBiZWZvcmUgdGhlaXIgYXZhaWxhYmxpdHkgdGltZS4gVGhpcwoJICBwYXRjaCBmaXhlcyB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODc1CgoyMDE0LTAyLTIxIDE0OjA2OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFVuY29tbWVudCBQQVQgY2xlYXJ1cCBpbiBfcmVzZXQKCSAgVGhlIFBBVCBpcyByZWxhdGVkIHRvIHRoZSBzdHJlYW0sIHdlIHRoZXJlZm9yZSB3YW50IGl0IGNsZWFyZWQgYWxvbmcKCSAgd2l0aCBhbnl0aGluZyBzdHJlYW0gcmVsYXRlZC4KCSAgVGhpcyBjb21tZW50ZWQgc2VjdGlvbiB3YXMgZnJvbSB0aGUgKG9sZCkgbXBlZ3RzcGFyc2UgYW5kICptaWdodCogaGF2ZQoJICBiZWVuIHJlbGF0ZWQgdG8gc3BlZWRpbmcgdXAgRFZCIHN0YXJ0LXVwLiBCdXQgd2UgaGF2ZSBhbm90aGVyIHBsYW4gZm9yIHRoYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTYKCjIwMTQtMDItMTggMTA6MTk6NTIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGluaXRpYWxpc2UgZGVtdXgtPmxhc3RfbWFuaWZlc3RfdXBkYXRlCgkgIGRlbXV4LT5sYXN0X21hbmlmZXN0X3VwZGF0ZSBpcyBub3QgaW5pdGlhbGlzZWQgYXQgc3RhcnR1cCwgd2l0aCB0aGUKCSAgZWZmZWN0IHRoYXQgbGl2ZSBtYW5pZmVzdHMgYXJlIHJlbG9hZGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkb3dubG9hZAoJICBsb29wIGJlZ2lucy4gVGhpcyBwYXRjaCBmaXhlcyB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzkwCgoyMDEzLTEyLTI5IDE2OjAwOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB0c190b19vZmZzZXQgYmV5b25kIGxhc3Qgb2JzZXJ2ZWQgUENSCgkgIFRoZSByZXF1ZXN0ZWQgVFMgbWlnaHQgYmUgYmV5b25kIHRoZSBsYXN0IG9ic2VydmVkIFBDUi4gSW4gb3JkZXIgdG8gY2FsY3VsYXRlCgkgIGEgY29oZXJlbnQgb2Zmc2V0LCB3ZSBuZWVkIHRvIHVzZSB0aGUgbGFzdCBhbmQgcHJldmlvdXMtdG8tbGFzdCBncm91cHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMzUKCjIwMTQtMDItMTIgMTg6MTU6NDQgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGdzdF9tcGVndHNfc2VjdGlvbl9nZXRfZGF0YSwgdG8gYWxsb3cgdXMgdG8gZ2V0IHRoZSBvcmlnaW5hbCBiaW5hcnkgc2VjdGlvbiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MjU1CgoyMDE0LTAyLTIwIDE5OjA4OjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHNpemUgZ3VhcmRzIGZvciBkZXNjcmlwdG9ycyB3aGVyZSBuZWVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0NjQKCjIwMTQtMDItMjAgMTg6MTQ6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZy10czogUmVuYW1lIHByaXZhdGUgZnVuY3Rpb24KCSAgQ2FsbGluZyBpdCBfZGVzY19jaGVja3Mgd2hlbiBpdCB3YXMgaW4gZmFjdCB1c2VkIGZvciBzZWN0aW9ucyB3YXMgYQoJICB0YWQgY29uZnVzaW5nIC4uLgoKMjAxNC0wMi0xNiAxMDo0NToyMSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjb250ZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xNiAxMDo0NDo1NSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTE2IDEwOjQzOjUyICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGV2ZW50IGRlc3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTEwIDIxOjUyOjI4ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIERWQiB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDY5CgoyMDE0LTAyLTE2IDEwOjA5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBSZW5hbWUgYWxsIHZhcmlhYmxlcyByZWxhdGVkIHRvIHRoZSB3aW5rcyBwbHVnaW4KCSAgSXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjYWxsIHRoZW0gYWZ0ZXIgZGlyZWN0c2hvdyBpZiB0aGV5CgkgIGFyZSBmb3IgdGhlIHdpbmtzIHBsdWdpbiBvbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTAwCgoyMDEzLTA0LTA4IDE0OjA0OjEwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHVwZGF0ZSBpbnRlcnZhbCB3aXRoIHJlc3BlY3Qgb2YgdGhlIHNwZWMKCjIwMTQtMDItMTQgMTI6Mzk6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IENhbGN1bGF0ZSBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUgZm9yIE1QMyBhbmQgdXNlIHRoYXQKCSAgU29tZSBhdWRpbyBkZWNvZGVycyAoYXQgbGVhc3QgdGhlIE1QMyBkZWNvZGVyIG9uIE1USyBiYXNlZCBkZXZpY2VzKSBvdXRwdXRzCgkgIHJhdyBhdWRpbyBpbiBiYXRjaGVzIG9mIG11bHRpcGxlIGF1ZGlvIGZyYW1lcy4gV2UgbmVlZCB0byBoYW5kbGUgdGhhdAoJICBwcm9wZXJseSwgb3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzIHdpbGwgYmUga2luZCBvZiB1bmhhcHB5LgoKMjAxNC0wMi0xNCAxMjozMzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IEVycm9yIG91dCBpZiB3ZSBnZXQgYW4gaW52YWxpZCByYXcgYXVkaW8gYnVmZmVyIHNpemUKCjIwMTQtMDItMTQgMTI6MzI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBTdG9yZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2NhcHNfbWVyZ2Vfc3RydWN0dXJlKCkKCSAgVGhlIGlucHV0cyBhcmUgYm90aCBpbnZhbGlkIGFmdGVyd2FyZHMuCgoyMDE0LTAyLTE0IDEyOjMxOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogUmVsZWFzZSBidWZmZXIgdG8gQW5kcm9pZCBpZiBhbGxvY2F0aW5nIG91dHB1dCBmYWlsZWQKCjIwMTQtMDItMTQgMTI6Mjg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBSZWxlYXNlIGJ1ZmZlciBiYWNrIHRvIEFuZHJvaWQgaWYgYWxsb2NhdGluZyBvdXRwdXQgZmFpbHMKCjIwMTQtMDItMTMgMTA6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEtlZXAgYWxpdmUgY29ubmVjdGlvbnMgaWYgdGhlIHNvdXJjZSBzdXBwb3J0cyB0aGF0CgoyMDE0LTAyLTEzIDEwOjA2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBSZS11c2Ugb2xkIHNvdXJjZSBlbGVtZW50IGlmIHBvc3NpYmxlCgkgIEFsbG93cyB0byBpbXBsZW1lbnQga2VlcC1hbGl2ZSBoYW5kbGluZyBpbiB0aGUgc291cmNlIGVsZW1lbnQuCgoyMDE0LTAyLTEyIDE4OjQ5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJZ25vcmUgZW1wdHkgbGluZXMgaW4gdGhlIHBsYXlsaXN0CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQW5kb25pIE1vcmFsZXMuCgoyMDE0LTAyLTEyIDE4OjQ3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHN1cmUgdG8gaWdub3JlIFxyIGluIGxpbmUgZW5kaW5ncyBpbiBldmVyeSBjYXNlCgoyMDE0LTAyLTEyIDE4OjI3OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBHaXZlIGEgcHJvcGVyIG5hbWUgdG8gdGhlIHNyY3BhZHMgYW5kIHJlbW92ZSBpdCB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudAoKMjAxNC0wMi0xMiAxODowNjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHBvdGVudGlhbCBkZWFkbG9jawoJICBUaGUgc3RyZWFtaW5nIHRocmVhZCBtaWdodCB1c2Ugb3VyIGxvY2ssIHNvIHNodXR0aW5nCgkgIGRvd24gdGhlIGVsZW1lbnQgd2hpbGUgaG9sZGluZyB0aGF0IGxvY2sgY2FsbHMgZm9yIHByb2JsZW1zLgoKMjAxNC0wMi0xMiAxNzo1OTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2h1dGRvd24gdGhlIHNvdXJjZSBlbGVtZW50IGJlZm9yZSB1bmxpbmtpbmcgaXQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCB3YXJuaW5ncyBhYm91dCBwdXNoaW5nIHRvIHVubGlua2VkIHBhZHMuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQW5kb25pIE1vcmFsZXMuCgoyMDE0LTAyLTEyIDE2OjQ2OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcCBsZWFraW5nIEdFcnJvcnMgaW4gc29tZSBlcnJvciBwYXRocwoKMjAxMi0wNS0xMSAxMzo1ODoyOCArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBwYXVzZSB0YXNrIHdoZW4gaXQgaXMgc3RvcHBlZAoJICBUaGlzIGZpeGVzIGEgcG90ZW50aWFsIGRlYWQtbG9jayBzaXR1YXRpb24gZnJvbSBHc3RUYXNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU4NjkKCjIwMTQtMDItMTIgMTY6MDE6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXYWl0IGZvciB0aGUgdXBkYXRlIHRhc2sgdG8gZmluaXNoIHdoZW4gc2h1dHRpbmcgZG93bgoKMjAxNC0wMi0xMiAxNTozMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByZXZlbnQgcm91bmRpbmcgZXJyb3JzIGR1ZSB0byBkaXZpc2lvbiBieSB1c2luZyBnc3RfdXRpbF91aW50NjRfc2NhbGUoKQoKMjAxMy0wNy0yNSAxOTozNjo0OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHNjaGVkdWxlIG5leHQgdXBkYXRlIGJhc2VkIG9uIHRoZSBmcmFnbWVudCBkdXJhdGlvbgoKMjAxNC0wMi0xMiAxNToxNjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IGVycm9yIG91dCBpZiBjYXBzIGNhbid0IGJlIHR5cGVmaW5kIGluc3RlYWQgb2YgdXNpbmcgTlVMTCBjYXBzCgoyMDEzLTA3LTI5IDE4OjAwOjMxICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvZyBmcmFnbWVudCB0aW1lc3RhbXAKCjIwMTQtMDItMTIgMTQ6MTA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFVzZSBnX2FzY2lpX3hkaWdpdF92YWx1ZSgpIGluc3RlYWQgb2Ygb3VyIG93biB2ZXJzaW9uIG9mIGl0CgoyMDE0LTAyLTEyIDEzOjQwOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRXJyb3Igb3V0IGlmIHRoZSBrZXkgaXMgbm90IDE2IGJ5dGVzIGxhcmdlCgoyMDE0LTAyLTEyIDEzOjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG93bmxvYWQgcGxheWxpc3RzIHdpdGggY29tcHJlc3Npb24sIGtleXMgYW5kIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjExOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG93bmxvYWQgdGhlIG1hbmlmZXN0IHdpdGggY29tcHJlc3Npb24sIHRoZSBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzoxMDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvd25sb2FkIE1QRCB3aXRoIGNvbXByZXNzaW9uLCB0aGUgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MDg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgZG93bmxvYWRzCgkgIFZlcnkgdXNlZnVsIGZvciBwbGF5bGlzdHMsIGxlc3MgdXNlZnVsIGZvciBtZWRpYSBmaWxlcy4KCjIwMTQtMDItMTIgMTE6MjY6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgdGhlIGVsZW1lbnQgcHJpdmF0ZSBkYXRhIG9uIHRoZSBzcmNwYWRzCgkgIEl0J3Mgbm90IHVzZWQgYW55d2F5LgoKMjAxNC0wMi0xMiAxMToyNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gdGhlIHNyY3BhZHMKCjIwMTQtMDItMTIgMTA6NTk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IENhY2hlIHRoZSBrZXkgZnJhZ21lbnQgaW5zdGVhZCBvZiBkb3dubG9hZGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluCgoyMDE0LTAyLTEyIDEwOjU4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGNsZWFudXAgd2hlbiBkZWNyeXB0aW9uIGZhaWxzCgkgIEZpcnN0IHVubWFwIGJ1ZmZlcnMsIHRoZW4gdW5yZWYgdGhlbS4gQW5kIGFsc28gdW5yZWYgdGhlCgkgIGtleSBmcmFnbWVudC4KCjIwMTQtMDItMTEgMTU6MjA6NTggKzAxMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogSW5jbHVkZSB0aW1lem9uZSBpbmZvcm1hdGlvbiBpbiBtYWlsIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTI1CgoyMDE0LTAyLTExIDE4OjE1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCB0cnkgZGVjcnlwdGlvbiBpZiBhbiB1bnN1cHBvcnRlZCBtZXRob2QgaXMgZm91bmQKCjIwMTQtMDItMTEgMTg6MTU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IHBhcnNlIElWIGZyb20gdGhlIHBsYXlsaXN0CgkgIFdpdGhvdXQgdGhpcyBldmVyeSBmcmFnbWVudCdzIGZpcnN0IDE2IGJ5dGVzIHdpbGwgYmUgY29ycnVwdGVkCgkgIGlmIG5vdCB0aGUgZmFsbGJhY2sgSVYgaXMgdXNlZCBieSB0aGUgcGxheWxpc3QuCgoyMDE0LTAyLTExIDE1OjI2OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBSZXNldCBjYW5jZWxsZWQgc3RhdGUgYWZ0ZXIgZmV0Y2hpbmcgYW4gVVJJCgkgIE90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGV2ZXIgYmUgYWJsZSB0byBmZXRjaCBhbnl0aGluZyBhZnRlciBhbgoJICBlcnJvciB1bnRpbCB0aGUgdXNlciByZXNldHMgaXQgbWFudWFsbHkuCgoyMDE0LTAyLTExIDE0OjU3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvcGFnYXRlIGRvd25sb2FkIGVycm9ycyBwcm9wZXJseSBhbmQgcG9zdCBlcnJvciBtZXNzYWdlcyBpZiB0aGV5J3JlIGZhdGFsCgoyMDE0LTAyLTExIDE0OjE4OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0VXJpRG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wMi0xMSAxNDoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBQcm92aWRlIHNvbWUgbW9yZSBkZXRhaWxzIGFib3V0IGVycm9ycyBpZiBkb3dubG9hZGluZyBmYWlscwoKMjAxNC0wMi0xMSAwOToyMDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgd2lua3MgcGx1Z2luIGlzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTAwCgoyMDE0LTAyLTEwIDE1OjM4OjA4IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IGNhbGwgY2xvc2UoKSBhZnRlciBzaHV0ZG93bigpCgkgIHNodXRkb3duKCkgZG9lc24ndCBjbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIHNvIHdlIGxlYWsgc29ja2V0cyBpZiB3ZQoJICBkb24ndCBjYWxsIGNsb3NlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNzcKCjIwMTQtMDItMTAgMTQ6MzM6NDkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogdXNlIHNodXRkb3duKCkgaW5zdGVhZCBvZiBjbG9zZSgpCgkgIHdlIG1ha2Ugc3VyZSBib3RoIGVuZHMgZ2V0IG5vdGlmaWVkIHdoZW4gdGhlIHNvY2tldCBpcyBjbG9zZWQgYnkgdXNpbmcKCSAgc2h1dGRvd24oKSBpbnN0ZWFkIG9mIGNsb3NlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNzcKCjIwMTQtMDItMTAgMTg6Mjk6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdGFydCBkb3dubG9hZGluZyB0aGUgbmV4dCBmcmFnbWVudCBpbW1lZGlhdGVseSBhZnRlciBjYWNoaW5nIHRoZSBpbml0aWFsIGZyYWdtZW50cwoJICBBbmQgb25seSBhZnRlcndhcmRzIHdhaXQgdW50aWwgYSBmcmFnbWVudCB3YXMgcGxheWVkLiBPdGhlcndpc2Ugd2UncmUga2VlcGluZwoJICBvdXIgY2FjaGUgbW9zdCBvZiB0aGUgdGltZSBhdCAiZnJhZ21lbnRzLWNhY2hlIiBmcmFnbWVudHMgbWludXMgb25lLgoJICBBbHNvIGFsbG93IHNldHRpbmcgImZyYWdtZW50cy1jYWNoZSIgdG8gMSBub3cgdG8gc3RhcnQgcGxheWJhY2sgZXZlbiBmYXN0ZXIuCgoyMDE0LTAyLTEwIDE4OjI3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RhcnQgZmV0Y2hpbmcgbmV3IGZyYWdtZW50cyB3aGVuZXZlciB3ZSBoYXZlIGxlc3MgZnJhZ21lbnRzIGNhY2hlZCB0aGFuIGdpdmVuIGJ5IHRoZSBmcmFnbWVudHMtY2FjaGUgcHJvcGVydHkKCSAgV2FpdGluZyB1bnRpbCBvdXIgY2FjaGUgaXMgZW1wdHkgYmVmb3JlIHN0YXJ0aW5nIHRvIGZldGNoIHRoZSBuZXh0IGZyYWdtZW50CgkgIGtpbmQgb2YgZGVmZWF0cyB0aGUgcHVycG9zZSBvZiBjYWNoaW5nIG11bHRpcGxlIGZyYWdtZW50cy4KCjIwMTQtMDItMTAgMTg6MjE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBnX2dldF9tb25vdG9uaWNfdGltZSgpIHJldHVybnMgbWljcm9zZWNvbmRzLCBub3QgbmFub3NlY29uZHMuCgoyMDE0LTAyLTEwIDE3OjI2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBBY3R1YWxseSBzdG9yZSBkb3VibGVzIGFzIHN1Y2ggYW5kIGRvbid0IHRydW5jYXRlIHRoZW0gdG8gaW50cwoJICBGaXhlcyBicm9rZW4gZHVyYXRpb24gcmVwb3J0aW5nLgoKMjAxNC0wMi0xMCAxNzoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogVXNlIGxvY2FsZS1pbmRlcGVuZGVudCBpbnQvZmxvYXQgcGFyc2luZyBmdW5jdGlvbnMgZnJvbSBHTGliCgoyMDE0LTAyLTEwIDE0OjM0OjQwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBhZGQgbW9yZSBzb3VuZGZvbnQgc2VhcmNoIHBhdGhzCgkgIEZlZG9yYSBpbnN0YWxscyB0aGUgc291bmRmb250cyBpbiAvdXNyL3NoYXJlL3NvdW5kZm9udHMvIHNvIG1ha2Ugc3VyZSB3ZQoJICBsb29rIHRoZXJlIGFzIHdlbGwuCgoyMDE0LTAyLTEwIDA4OjE5OjUyICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIENoYW5nZSBzb3VuZGZvbnQgZmlsZSBzZWFyY2ggcGF0aCBmb3IgZmx1aWRkZWMKCSAgVXNlIGdsaWIgdG8gZ2V0IGEgbGlzdCBvZiBzeXN0ZW0gInNoYXJlIiBkaXJlY3RvcmllcywgdGhlbiBnbyB0aHJvdWdoIHRoYXQKCSAgbGlzdCwgYXBwZW5kaW5nICdzb3VuZHMvc2YyLycgdG8gZWFjaCBkaXJlY3RvcnkgdG8gZ2V0IGEgc291bmRmb250IGRpcmVjdG9yeSwKCSAgYW5kIGxvb2tpbmcgZm9yIC5zZjIgZmlsZXMgdGhlcmUuCgkgIFRoaXMgd2F5IGZsdWlkZGVjIGlzIGFibGUgdG8gbG9hZCBzZjIgZmlsZXMgb24gVzMyLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUKCSAgcGF0aCAnL3Vzci9zaGFyZS9zb3VuZHMvc2YyJyBtYWtlcyBubyBzZW5zZSB0aGVyZS4KCSAgRml4ZXMgIzcyNDAxMwoKMjAxNC0wMi0xMCAwODoyMTowNCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEZpeCB3aW5rcyBjb25maWd1cmUgdGVzdAoJICBGaXhlcyAjNzIzOTk1CgoyMDE0LTAyLTEwIDA4OjIyOjA1ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2lua3M6IE1ha2UgaGVhZGVycyBrbm93biB0byBhdXRvbWFrZQoJICBGaXhlcyAjNzI0MDAzCgoyMDE0LTAyLTA5IDE4OjQ5OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcmVmZXIgdG8gdXNlIG5ldHRsZSBmb3IgZGVjcnlwdGlvbiBidXQgZmFsbC1iYWNrIHRvIGxpYmdjcnlwdAoJICBuZXR0bGUgaXMgdXNlZCBieSBuZXdlciB2ZXJzaW9ucyBvZiBnbnV0bHMsIHdoaWxlIG9sZGVyIHZlcnNpb25zIG9mIGdudXRscwoJICB1c2VkIGxpYmdjcnlwdC4gU3VwcG9ydCBib3RoIGZvciBub3cgYXMgbm90IGV2ZXJ5IGRpc3RybyBoYXMgbmV0dGxlIHlldC4KCSAgbmV0dGxlIGlzIHByZWZlcnJlZCBhcyBpdCBpcyBtb3JlIGVmZmljaWVudCB0byB1c2UgYW5kIG11Y2ggc21hbGxlci4KCjIwMTQtMDItMDkgMTg6MTk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogVXBkYXRlIHRvIG5vbi1kZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxNC0wMi0wOSAxODowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBtNC9saWJnY3J5cHQubTQ6CgkgIGhsc2RlbXV4OiBVc2UgbGliZ2NyeXB0IGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBnbnV0bHMKCSAgZ251dGxzIGlzIGFsc28ganVzdCB3cmFwcGluZyBnY3J5cHQsIGJ1dCB3ZSBkb24ndCBuZWVkIGFueSBvZgoJICB0aGUgVExTIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eS4gV2UganVzdCBuZWVkIHRvIGJlIGFibGUgdG8gZGVjcnlwdAoJICBBRVMxMjgtQ0JDLgoKMjAxNC0wMi0wOCAyMDowODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBmcm9tIHVuaXQgdGVzdAoKMjAxNC0wMi0wOCAyMDowNzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBmcm9tIHVuaXQgdGVzdAoKMjAxNC0wMi0wOCAyMDowNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIHRlc3QKCSAgZXJyb3I6IHN1Z2dlc3QgYnJhY2VzIGFyb3VuZCBpbml0aWFsaXphdGlvbiBvZiBzdWJvYmplY3QgWy1XZXJyb3IsLVdtaXNzaW5nLWJyYWNlc10KCjIwMTQtMDItMDggMTk6NTk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEZpeCBjb21wYXJpc29uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uIG9mIHR5cGUKCSAgJ0dzdFNydHBDaXBoZXJUeXBlJyBpcyBhbHdheXMgZmFsc2UKCjIwMTQtMDItMDggMTk6Mjk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBSZW1vdmUgdW51c2VkIHByaXZhdGUgZmllbGRzCgoyMDE0LTAyLTA4IDE5OjI4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBzZWdtZW50YXRpb246IEZpeCBpbnRlZ2VyIHVuZGVyZmxvdyBjaGVjawoJICBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcwoJICBhbHdheXMgZmFsc2UgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCjIwMTQtMDItMDggMTg6NTg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMDggMTg6NTc6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICBiejI6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkcwoKMjAxNC0wMi0wOCAxODo1NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSAgdmRwYXU6IEZpeCBjb21wYXJpc29uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uCgkgIG9mIHR5cGUgJ2NvbnN0IEdzdFZpZGVvRm9ybWF0JyBpcyBhbHdheXMgZmFsc2UKCjIwMTQtMDItMDggMTg6NTQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDItMDggMTg6NDg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IHZhcmlhYmxlICdpbWFnZV90eXBlJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIKCSAgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTg6NDU6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDItMDggMTg6MjA6MjIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBwbXQ6IERldGVjdCBkZXNjcmlwdG9yIGxlbmd0aCBjb3JyZWN0CgoyMDE0LTAyLTA4IDE3OjQzOjAzICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQ29ycmVjdGx5IGNoZWNrIGZvciBQQVQsUE1ULENBVCxUU0RUCgoyMDE0LTAyLTA4IDEzOjA4OjAyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IHNvbWUgcGFja2V0aXppbmcgYnVncwoJICAtIExlbmd0aCBvZiBOSVQgc3RyZWFtIGRlc2NyaXB0b3JzIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdAoJICAtIFJlc2VydmVkIGJpdHMgd2FzIG5vdCBzZXQgYWNjb3JkaW5nIHRvIEVOIDMwMCA0NjgsIElTTy9JRUMgMTM4MTgtMQoJICAtIEFsc28gc2V0IG91dHB1dCBkYXRhIHNpemUgaWYgdGhlIHNlY3Rpb24gd2FzIHByZXZpb3VzbHkgcGFja2V0aXplZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODkyCgoyMDE0LTAyLTA3IDExOjU0OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIG9yIG1vdmUgdmFyaWFibGUgYXNzaWdubWVudHMKCSAgVG8gd2hlcmUgdGhleSdyZSBuZWVkZWQKCjIwMTQtMDItMDcgMTE6NTM6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogUmVtb3ZlIHVubmVlZGVkIGluY3JlbWVudAoKMjAxNC0wMi0wNyAxMTo0Mjo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBGaXggY29tcGFyaXNpb24KCSAgd2Ugd2FudCB0byBzdG9wIGlmIG9uZSBPUiB0aGUgb3RoZXIgaXMgTlVMTC4KCjIwMTQtMDItMDYgMTM6NTM6NDkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVwZGF0ZWQgZG9jcyB3aXRoIG5ldyBBUEkKCjIwMTMtMTEtMTkgMTI6MjE6MzEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogVXNlIG1wZWctdHMgbGliIGZvciBQQVQvUE1UIHNlY3Rpb25zCgkgIFJld3JpdGUgb2YgdGhlIFBBVC9QTVQgc2VjdGlvbiBoYW5kbGluZyB0byB1c2UgdGhlIG1wZWctdHMgbGlicmFyeQoKMjAxMy0xMS0yMCAxMToxNDo0NiArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFNJIHRhYmxlcwoJICBUaGUgbXV4ZXIgaXMgbm93IGFibGUgdG8gaW5jbHVkZSBEVkIgc2VjdGlvbnMgaW4gdGhlIHRyYW5zcG9ydCBzdHJlYW0uCgkgIFRoZSBzaS1pbnRlcnZhbCBwcm9wZXJ0eSB3aWxsIGRldGVybWluZSBob3cgb2Z0ZW4gdGhlIFNJIHRhYmxlcyBhcmUKCSAgbXV4ZWQgaW50byB0aGUgc3RyZWFtLgoJICBUaGUgc2VjdGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSBtcGVnLXRzIGxpYnJhcnkuIEJlbG93IGlzIGEgc21hbGwgZXhhbXBsZQoJICB0aGF0IHdpbGwgaW5jbHVkZSBhIE5ldG9yayBJbmZvcm1hdGlvbiBUYWJsZSB3aXRoIGEgTmV0d29yayBOYW1lCgkgIGRlc2NyaXB0b3IgaW4gdGhlIHN0cmVhbS4KCSAgR3N0TXBlZ1RzTklUICpuaXQ7CgkgIEdzdE1wZWdUc0Rlc2NyaXB0b3IgKmRlc2NyaXB0b3I7CgkgIEdzdE1wZWdUc1NlY3Rpb24gKnNlY3Rpb247CgkgIEdzdEVsZW1lbnQgKm1wZWd0c211eDsKCSAgZ3N0X21wZWd0c19pbml0aWFsaXplICgpOwoJICBuaXQgPSBnc3RfbXBlZ3RzX3NlY3Rpb25fbml0X25ldyAoKTsKCSAgbml0LT5hY3R1YWxfbmV0d29yayA9IFRSVUU7CgkgIGRlc2NyaXB0b3IgPSBnc3RfbXBlZ3RzX2Rlc2NyaXB0b3JfZnJvbV9kdmJfbmV0d29ya19uYW1lICgiTmV0d29yayBuYW1lIik7CgkgIGdfcHRyX2FycmF5X2FkZCAobml0LT5kZXNjcmlwdG9ycywgZGVzY3JpcHRvcik7CgkgIHNlY3Rpb24gPSBnc3RfbXBlZ3RzX3NlY3Rpb25fZnJvbV9uaXQgKG5pdCk7CgkgIC8vIG1wZWd0c211eCBzaG91bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIHBpcGVsaW5lCgkgIGdzdF9tcGVndHNfc2VjdGlvbl9zZW5kX2V2ZW50IChzZWN0aW9uLCBtcGVndHNtdXgpOwoJICBnc3RfbXBlZ3RzX3NlY3Rpb25fdW5yZWYgKHNlY3Rpb24pOwoKMjAxMy0xMS0xOSAxMTozMDozMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IFN1cHBvcnQgcmVnaXN0cmF0aW9uIGFuZCBjdXN0b20gZGVzY3JpcHRvcgoJICBTdXBwb3J0IGZvciByZWdpc3RyYXRpb24gZGVzY3JpcHRvciAoMHgwNSkKCSAgQWRkIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGRlc2NyaXB0b3Igd2l0aCBjdXN0b20gdGFnIGFuZCBkYXRhCgoyMDEzLTExLTE5IDExOjE1OjUyICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBjcmVhdGlvbiBvZiBEVkIgU3VidGl0bGluZyBkZXNjcmlwdG9yCgkgIERlc2NyaXB0b3IgdGFnIGlzIDB4NTkKCjIwMTMtMTEtMTkgMTA6NTA6MzAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogU3VwcG9ydCBwYXJzaW5nIG9mIERWQiBUZWxldGV4dCBkZXNjcmlwdG9yCgkgIERlc2NyaXB0b3IgdGFnIGlzIDB4NTYKCjIwMTMtMTEtMjAgMTE6MDY6MDMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpbmcgUEFUL1BNVAoKMjAxMy0xMS0yMCAxMTowNDo1OCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBwcm9ncmFtX251bWJlciB0byBHc3RNcGVnVHNQTVQKCjIwMTMtMTAtMjggMTQ6NDk6MDggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yIGNvbnN0cnVjdGlvbgoJICBBZGQgZnVuY3Rpb24gdG8gY3JlYXRlIGEgTmV0d29yayBOYW1lIERWQiBkZXNjcmlwdG9yLgoKMjAxMy0xMC0yOCAxNDo0ODoxMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpbmcgYSBOSVQgc2VjdGlvbgoJICBGdW5jdGlvbnMgdGhhdCB3aWxsIGVuYWJsZSB1c2VyIHRvIGNyZWF0ZSBOZXR3b3JrIEluZm9ybWF0aW9uIFRhYmxlcy4KCjIwMTMtMTAtMjggMTQ6MjY6MzkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIG5ldHdvcmtfaWQgdG8gR3N0TXBlZ1RzTklUCgkgIFRoZSBuZXR3b3JrX2lkIGlzIHN0b3JlZCBpbiB0aGUgc3VidGFibGUgZXh0ZW5zaW9uLiBNYWtlIGEgZmllbGQKCSAgaW4gdGhlIEdzdE1wZWdUc05JVCBmb3IgYmV0dGVyIGNvZGUgcmVhZGFiaWxpdHkKCjIwMTMtMTAtMzEgMTM6NDc6MjMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb25zIHRvIHNlbmQgc2VjdGlvbnMgYXMgZXZlbnRzCgkgIEFkZGVkIGZ1bmN0aW9uIHRoYXQgZW5hYmxlcyB0aGUgdXNlciB0byBzZW5kIGEgR3N0TXBlZ1RzU2VjdGlvbiBhcwoJICBhbiBldmVudCB0byBhIEdzdEVsZW1lbnQuIChpLmUuIG1wZWd0c211eCkKCjIwMTMtMTAtMjggMTQ6NDQ6MTMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb25zIHRvIHBhY2tldGl6ZSBzZWN0aW9uCgkgIFNlY3Rpb25zIG5lZWRzIHRvIGJlIHBhY2tldGl6ZWQgZm9yIHVzZSBpbiBpLmUuIG1wZWd0c211eC4KCSAgVGhlc2UgZnVuY3Rpb25zIGhhbmRsZXMgdGhlIGdlbmVyaWMgY29tbW9uIHBhcnRzIG9mIGEgR3N0TXBlZ1RzU2VjdGlvbgoKMjAxMy0xMC0yOCAxNDozOTo0OSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEFkZCBpbml0IGZ1bmN0aW9ucyBmb3IgZGVzY3JpcHRvci9zZWN0aW9uCgoyMDEzLTEwLTMwIDEwOjQzOjIxICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbiB0byBlbmNvZGUgVVRGOCBzdHJpbmdzCgkgIFRoaXMgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGRlc2NyaXB0b3JzIHdpdGggYXBwcm9wcmlhdGUgY2hhcmFjdGVyIG1hcHMKCjIwMTMtMTAtMzAgMTA6NDI6MDcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVzZSBiaWcgZW5kaWFuIFVDUy0yIGNvZGluZwoJICBQYXJzaW5nIG9mIGNvbnRyb2wgY29kZXMgcmVxdWlyZXMgYSBiaWcgZW5kaWFuIGNoYXJhY3RlciBtYXAKCjIwMTMtMTAtMzAgMTA6MzM6MTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciB0d28td2F5IGljb252IGNvbnZlcnNpb25zCgkgIFRvIHVzZSBpbiBjb252ZXJzaW9ucyBmcm9tIFVURi04IHRvIGFub3RoZXIgY2hhcmFjdGVyIG1hcAoKMjAxNC0wMi0wNiAxNjoxNzozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBGaXggbGlidG9vbCB1c2FnZQoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMi0wNiAxNDoyMTo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXBkYXRlIHBsdWdpbiBsaWNlbnNlIGZpZWxkCgkgIFRoZSBvcmlnaW5hbCBjb2RlIChvbGQgbXBlZ3RzcGFyc2UpIGZyb20gd2hpY2ggdGhpcyBwbHVnaW4gd2FzIGJhc2VkIG9uCgkgIHdhcyBkdWFsLWxpY2Vuc2VkLiBUaGlzIGFsbG93ZWQgdXNhZ2Ugb2YgdGhlIGNvZGUgdW5kZXIgYW55IG9mIHRoZQoJICBsaWNlbnNlcyAod2hpY2ggaW5jbHVkaW5nIExHUEwpOgoJICAiIiIKCSAgKiBBbHRlcm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZgoJICAqIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAyIG9yIGxhdGVyICh0aGUgIkxHUEwiKSwKCSAgKiBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBMR1BMIGFyZSBhcHBsaWNhYmxlIGluc3RlYWQKCSAgKiBvZiB0aG9zZSBhYm92ZS4gSWYgeW91IHdpc2ggdG8gYWxsb3cgdXNlIG9mIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgb25seQoJICAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTEdQTCwgYW5kIG5vdCB0byBhbGxvdyBvdGhlcnMgdG8KCSAgKiB1c2UgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1QTCwgaW5kaWNhdGUgeW91cgoJICAqIGRlY2lzaW9uIGJ5IGRlbGV0aW5nIHRoZSBwcm92aXNpb25zIGFib3ZlIGFuZCByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbm90aWNlCgkgICogYW5kIG90aGVyIHByb3Zpc2lvbnMgcmVxdWlyZWQgYnkgdGhlIExHUEwuIElmIHlvdSBkbyBub3QgZGVsZXRlCgkgICogdGhlIHByb3Zpc2lvbnMgYWJvdmUsIGEgcmVjaXBpZW50IG1heSB1c2UgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRlcgoJICAqIHRoZSB0ZXJtcyBvZiB0aGUgTVBMIG9yIHRoZSBMR1BMLgoJICAiIiIKCSAgV2hlbiByZWZhY3RvcmVkIChsZWFkaW5nIHRvIHRoZSBjcmVhdGlvbiBvZiB0aGlzIG5ldyBwbHVnaW4pLCBJIGNob3NlIGFsbAoJICBuZXcgY29kZSB0byBiZSBMR1BMLW9ubHkgKHdoaWNoIHdhcyBhbGxvd2VkIGZvciBwcmUtZXhpc3RpbmcgY29kZSkgYnkgcmVtb3ZpbmcKCSAgdGhlIE1QTCBzZWN0aW9ucy4KCSAgVGhlIGhlYWRlcnMgd2VyZSBhbGwgdXBkYXRlZCwgYnV0IG5vdCB0aGUgcGx1Z2luIGxpY2Vuc2UgZmllbGQuIFRoaXMgY29tbWl0CgkgIGZpeGVzIHRoaXMuCgoyMDE0LTAyLTA0IDE0OjE1OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIHRlc3RzOiBpbnNlcnRiaW46IHVwZGF0ZSB0ZXN0cyB0byAxLnggc2NlbmFyaW8KCSAgVGhlIHRocmVhZCB0aGF0IGNhbGxzIHRoZSBzdWNjZXNzL2ZhaWx1cmUgY2FsbGJhY2sgY2FuIGJlIHRoZQoJICBzYW1lIHRoYXQgaXMgYWRkaW5nL3JlbW92aW5nIHRoZSBlbGVtZW50IGFzIHRoZSBJRExFIHByb2JlIGNhbgoJICBoYXBwZW4gaW5zdGFudGx5IGlmIHRoZSBwYWQgaXMgbm90ICdidXN5Jy4KCSAgVGhpcyByZXF1aXJlZCBtb3Zpbmcgc29tZSBjaGVja3MgZm9yIHRoZSBjYWxsYmFjayBjb3VudGVyIGFyb3VuZAoJICBhcyB3ZWxsIGFzIHJlbW92aW5nIHNvbWUgcGFkIHB1c2hlcyBmcm9tIHRoZSBtYWluIHRlc3QgdGhyZWFkIGFzCgkgIHRoZXkgd2VyZSBtYWRlIHVzZWxlc3MgYWZ0ZXIgdGhlIElETEUgcGFkIHByb2JlIHdhcyBmaXhlZCBpbiBjb3JlCgkgIGJ5IGNvbW1pdCAwMzI0MzU4ZWJjODEyMmE0MWFiNDk5YTNlZjc5NzNiNjFjM2U2MjFiCgoyMDE0LTAyLTAzIDIzOjM5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhdm9pZCB3YXJuaW5nIGlmIHRlc3QgaXMgZmFpbGluZwoJICBJbiBjYXNlIHRoZSB0ZXN0IGZhaWxzIHRoZSBtZXNzYWdlIHdvbid0IGJlIHJldHVybmVkIGFuZCBpdAoJICB3aWxsIGxlYWQgdG8gYW4gYXNzZXJ0aW9uIHRoYXQgbWlnaHQgYmUgbWlzbGVhZGluZyB0byB0aG9zZQoJICBkZWJ1Z2dpbmcgdGhlIGlzc3VlLgoKMjAxNC0wMi0wMyAyMzoxMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHN0b3Agc291cmNlIHRvIGRvIGludGVybmFsIHJlY29uZmlndXJhdGlvbiBzYWZlbHkKCSAgSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBjaGFuZ2UgdGhlIGNhcHMgb24gbXVsdGlwbGUgY2Fwc2ZpbHRlcnMgdGhlCgkgIHNvdXJjZSBlbGVtZW50IG5lZWRzIHRvIGJlIHN0b3BwZWQsIG90aGVyd2lzZSBpdCB3aWxsIGdldCBhIGZldwoJICByZWNvbmZpZ3VyZSBldmVudHMgYW5kIG1pZ2h0IHRyeSB0byByZW5lZ290aWF0ZSB3aGlsZSB0aGUgYmluCgkgIGlzIHN0aWxsIHRyYW5zaXRpb25pbmcgaXRzIGNhcHMsIGxlYWRpbmcgdG8gYSBub3QtbmVnb3RpYXRlZCBmYWlsdXJlCgkgIGFuZCB0aGUgaW1hZ2UgY2FwdHVyZSB3b24ndCBoYXBwZW4gYmVjYXVzZSB0aGUgc291cmNlIHdpbGwgYmUKCSAgdW51c2FibGUuCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSBzb3VyY2UgaW4gcGF1c2VkIHdoaWxlIHRoZSBjYXBzIGFyZSBiZWluZwoJICBjaGFuZ2VkIGluIHRoZSBiaW4sIGFuZCB0aGVuIGJyaW5nIHRoZSBlbGVtZW50IGJhY2sgdG8gcGxheWluZyBvbmNlCgkgIGl0IGlzIGRvbmUuIFVuZm9ydHVuYXRlbHkgdGhpcyBpbmNyZWFzZXMgdGhlIGltYWdlIGNhcHR1cmUgbGF0ZW5jeSwKCSAgYnV0IGl0IHNob3VsZCBhbHdheXMgd29yay4KCSAgQSBwb3NzaWJsZSBpbXByb3ZlbWVudCB0byByZWR1Y2UgdGhlIGxhdGVuY3kgaXMgdG8gYWRkIGFub3RoZXIgc2lnbmFsCgkgIHRvIGJlIGNhbGxlZCBiZWZvcmUgJ3N0YXJ0LWNhcHR1cmUnOiAncHJlcGFyZS1jYXB0dXJlJy4gQXQgdGhpcyBzdGVwCgkgIHRoZSBjYW1lcmEgc291cmNlIHNob3VsZCBzZXQgYWxsIGNhcHMgaXQgbmVlZHMgYW5kIGdldCB0aGUgc291cmNlCgkgIHJlYWR5IGZvciBkb2luZyB0aGUgY2FwdHVyZSBhcyBzb29uIGFzICdzdGFydC1jYXB0dXJlJyBpcyBjYWxsZWQuCgkgIFRoaXMgY2FuIGJlIGRvbmUgb24gYSBmdXR1cmUgY29tbWl0CgoyMDE0LTAyLTAzIDIzOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFByb2JhYmx5IGEgbGVmdCBvdmVyIGZyb20gMC4xMCAtPiAxLnggcG9ydGluZwoKMjAxNC0wMi0wNCAxNzoyMjoyNyArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGltcHJvdmVkIGVycm9yIHJlcG9ydCBhbmQgY2hlY2tzCgkgIFNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCjIwMTQtMDItMDQgMTI6NTI6MjUgKzAxMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIEVPUyBoYW5kbGluZyBhbmQgZG93bmxvYWRpbmcgYSByYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTM0CgoyMDE0LTAyLTA0IDA1OjQ2OjE2IC0wNTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBhZGFwdGl2ZSBidWZmZXIgc2l6ZQoJICBDb3BpZWQgZnJvbSB3YXZwYXJzZSwgaGVscHMgd2l0aCBDUFUgdXNhZ2Ugb24gaGlnaCBiaXRyYXRlCgkgIGZpbGVzLgoKMjAxNC0wMi0wMiAxODoxNzowNiAtMDgwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgU2luY2UgYjFhNzU2ZmQsIGFwcGxlbWVkaWEgZmFpbHMgdG8gYnVpbGQgb24gb3N4IDEwLjcsIHdoaWNoIGxhY2tzIFZpZGVvVG9vbGJveC5oLi4uIHNvIGRpc2FibGUgaXQgb24gT1NYIGlmIHRoYXQgaGVhZGVyIGlzIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MDgKCjIwMTQtMDItMDIgMTM6NTA6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGRhdGEgc3RhcnQgb2Zmc2V0IGNhbGN1bGF0aW9uIG5vdCBjb3VudGluZyBDT01NIHNpemUKCSAgSW4gcGFydGljdWxhciwgdGhpcyBmaXhlcyBzZWVraW5nIGJhY2sgdG8gdGhlIHN0YXJ0IHJlYWRpbmcgZGF0YQoJICBvdXQgb2Ygc3luYyB3aXRoIHNhbXBsZSBzdGFydCBncmFudWxhcml0eSwgeWllbGRpbmcgc3dhcHBlZCBjaGFubmVscy4KCjIwMTQtMDEtMzEgMjM6NDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgdGVzdHM6IGdkcGRlcGF5OiB1cGRhdGUgdG8gMS54IGV2ZW50cwoJICBUZXN0cyBuZWVkZWQgc3RyZWFtIHN0YXJ0IGF0IGJlZ2lubmluZyBhbmQgc2VnbWVudCBhZnRlciB0aGUKCSAgY2FwcyBldmVudAoKMjAxNC0wMS0zMSAxODozODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBhZGQgRFRTIHRvIGhlYWRlcnMKCjIwMTQtMDEtMzEgMTI6MTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcHBheTogdXBkYXRlIHRvIDEueCByZWFsaXR5CgkgICogc3RyZWFtLXN0YXJ0LWlkIGlzIG1hbmRhdG9yeSBhdCB0aGUgYmVnaW5uaW5nLCBzbyBhZGQgdGhhdCB0byB0aGUKCSAgZ2RwIGhlYWRlcnMKCSAgKiBjYXBzIG11c3QgYmUgc2VudCBiZWZvcmUgbmV3IHNlZ21lbnQsIGludmVydCB0aGUgb3JkZXIgZnJvbSBsZWdhY3kKCSAgMC4xMCBjb2RlCgkgIEFuZCBmaXggdGhlIHRlc3RzIGFzIGEgcmVmIGlzIG5vdyBrZXB0IGZvciB0aG9zZSBidWZmZXJzIHRoYXQgY29tcG9zZQoJICB0aGUgaGVhZGVyCgoyMDE0LTAxLTMxIDE2OjU4OjE2IC0wNTAwICBDb2xpbiBNYWNkb25hbGQgPGNibUBtLmZzZi5vcmc+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSAgZmlzaGV5ZTogRml4IGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM5OAoKMjAxNC0wMS0yOSAxNjozMjozMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEZWZhdWx0IGZyYW1lcmF0ZSB0byAwLzEgd2hlbiBubyBpbmZvcm1hdGlvbnMgZm91bmQKCSAgSXQgaXMgbm90IHBlcmZlY3QgYnV0IGl0IGFsbG93cyB1cyB0byBiZSBzdXJlIHRoYXQgdGhlIG1hbmRhdG9yeSAnZnJhbWVyYXRlJwoJICBmaWVsZCBpcyBwcmVzZW50IGluIHRoZSBjYXBzLgoJICBBcyBzb29uIGFzIHNvbWUgaW5mb3JtYXRpb24gaXMgZm91bmQgaW4gdGhlIHN0cmVhbSwgdGhhdCB3aWxsIGJlCgkgIHVwZGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNDMKCjIwMTQtMDEtMzAgMTk6NDU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IHJlZmFjdG9yIGFuZCBhZGQgbWlzc2luZyBiaXRzCgkgIE1vc3Qgb2YgdGhlIHRlc3RzIHdlcmVuJ3QgdXBkYXRlZCBhZnRlciB0aGUgc3RpY2t5IGV2ZW50cyBvcmRlcgoJICBhbmQgc3RyZWFtIHN0YXJ0LiBGaXggdGhhdCBhbmQgcmVmYWN0b3IgdGhvc2UgdGVzdHMgY2hlY2sgdGhhdAoJICBhcmUgdGhlIHNhbWUgdG8gc29tZSBjb21tb24gZnVuY3Rpb25zLgoJICBUaG9zZSBmdW5jdGlvbnMgc3RpbGwgZG9uJ3QgYWN0dWFsbHkgdGVzdCB0aGUgY29udGVudCBidXQgYXQKCSAgbGVhc3Qgbm93IHRoZXkgYXJlIGluIGEgc2luZ2xlIHBsYWNlIGFuZCBjYW4gYmUgaW1wcm92ZWQKCSAgd2l0aG91dCByZXBsaWNhdGlvbgoKMjAxNC0wMS0zMCAxODoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogRG8gbm90IGZvcmdldCB0byBzZW5kIHN0cmVhbS1zdGFydCBldmVudCBvbiB0ZXN0CgkgIEV2ZW4gaWYgd2UgZG9uJ3Qgd2FudCB0byBwdXNoIHRoZSBjYXBzIGV2ZW50LCBhIHN0cmVhbS1zdGFydCBtdXN0CgkgIGJlIHByZXNlbnQgYmVmb3JlIGFueSBkYXRhIGluIDEueAoKMjAxNC0wMS0zMCAxODowOToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHB1c2ggdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBpbnN0ZWFkIG9mIGp1c3Qgc3dhbGxvd2luZyB1cHN0cmVhbSdzIHN0cmVhbS1zdGFydCBpbnRvIGl0cwoJICBwYXlsb2FkLCBwdXNoIGl0IGFzIGVsZW1lbnRzIGV4cGVjdCBhIHN0cmVhbS1zdGFydCBiZWZvcmUgZGF0YQoKMjAxNC0wMS0zMCAyMDoyODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFdlIGRvIG5vdCBzdXBwb3J0IHRoZSBTS0lQIHNlZWsgZmxhZyBidXQgdGhhdCBpcyBub3QgYSBwcm9ibGVtCgoyMDE0LTAxLTMwIDEwOjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNDhiZWQzIHRvIDFhMDdkYTkKCjIwMTQtMDEtMzAgMDM6Mjg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGltcHJvdmUgcHJldmlldyBoYW5kbGluZyBpbiB0ZXN0cwoJICBBbHdheXMgZXJhc2UgdGhlIHByZXZpZXcgaW1hZ2UgZGF0YSB0byBhbGxvdyB0aGUgbmV4dCBjaGVjayBmb3IKCSAgaXQgdG8gb3BlcmF0ZSBwcm9wZXJseQoKMjAxNC0wMS0yOSAyMDozODo1NyArMDEwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogQWx3YXlzIHJlbGVhc2UgdGhlIG9iamVjdCBsb2NrIGluIGdzdF91cmlfZG93bmxvYWRlcl9mZXRjaF91cmlfd2l0aF9yYW5nZSgpCgkgIGV2ZW4gaWYgZG93bmxvYWRlci0+cHJpdi0+dXJpc3JjIGlzIG5vdCBzZXQuIFRoaXMgYXZvaWRzIGRlYWRsb2NrIHVuZGVyIHNvbWUKCSAgc29tZSBjb25kaXRpb25zIG9uIGNhbmNlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEyNwoKMjAxNC0wMS0yOSAxMzoyNTozNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogVGhlIHBsdWdpbiB3b3JrcyB3aXRoIDIuNC44IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjMwCgoyMDE0LTAxLTI5IDEwOjUwOjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IERvbid0IHVzZSBnc3RfIGFzIHByZWZpeCBmb3IgcHJpdmF0ZSBzeW1ib2xzCgkgIE90aGVyd2lzZSB0aGV5IGdldCBleHBvc2VkL2FjY2Vzc2libGUgaW4gdGhlIHJlc3VsdGluZyAuc28KCSAgQW5kIG1ha2UgY2hlY2stZXhwb3J0cyB3aWxsIGNvbXBsYWluCgoyMDE0LTAxLTI3IDIzOjU1OjU3IC0wMzAwICBBbWF1cnkgTWVkZWlyb3MgPGFtYXVyeW1lZGVpcm9zQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBGaXggZmxhZ3MgY29tcGFyaXNvbiBvcGVyYXRvciBwcmVjZWRlbmNlCgkgIEZpeCBvcGVyYXRvciBwcmVjZWRlbmNlLCBzbyB0aGUgd2hvbGUgb3BlcmF0aW9uIGlzCgkgIG5lZ2F0ZWQgaW5zdGVhZCBvZiBvbmx5IGZsYWdzIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDk2CgoyMDE0LTAxLTI2IDE0OjQyOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJICBtcGVndHM6IGluc3RhbGwgYnV0IG5vZGlzdCBmb3IgZ2VuZXJhdGVkIGhlYWRlcgoKMjAxNC0wMS0yNSAxNzo0MDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGhhbmRsZSBGTFVTSElORyBvciBOT1RfTElOS0VEIGFzIGVycm9yCgkgIEFuZCBhbHNvIGp1c3Qgc3RvcCB0aGUgdGFzayBmb3IgRkxVU0hJTkcuCgoyMDE0LTAxLTI0IDIxOjQxOjI1ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBnbyBpbnRvIHB1bGwgbW9kZSB3aGVuIHRoZSBzZXF1ZW50aWFsIGZsYWcgaXMgc2V0CgkgIFdoZW4gdGhlIHNjaGVkdWxpbmcgcXVlcnkgcmVzdWx0cyBoYXMgR1NUX1NDSEVEVUxJTkdfRkxBR19TRVFVRU5USUFMIHNldAoJICBpbiBpdHMgZmxhZ3MgZG9uJ3QgZ28gaW50byBwdWxsIG1vZGUgdG8gcHJldmVudCBvdmVyLWVhZ2VyIHNlZWtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI5MzQKCjIwMTQtMDEtMjQgMTI6MzY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGZpeCB0ZXN0cyBhZnRlciBsZWFkaW5nIDB4MDAgcmVtb3ZhbAoJICBDb21taXQgNmFmMzg3Y2Q1YWIyYzk0NjAyNWU1NDk5OTAzZTc1ZWU4N2IwNjNhOSBtYWRlIGgyNjRwYXJzZQoJICBzdHJpcCBhIGxlYWRpbmcgMHgwMCBieXRlIGZyb20gc29tZSBvdXRwdXQgc2NlbmFyaW9zLiBUaGlzIGJyb2tlCgkgIHRlc3RzIGFzIGJzX3RvX25hbCB0ZXN0IGV4cGVjdHMgb25lIG1vcmUgYnl0ZSBvbiB0aGUgb3V0cHV0LgoJICBGaXggdGhpcyBieSBjb21wYXJpbmcgdGhlIG91dHB1dCB3aXRoIHRoZSBleHBlY3RlZCBzdHJpcHBlZCB2ZXJzaW9uLAoJICB0b28uCgoyMDE0LTAxLTI0IDAxOjA3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogcmVmYWN0b3IgY29tbW9uIG5hbCBwYXJzaW5nIHRvIG5hbHV0aWxzCgkgIE1vdmVzIGNvbW1vbiBjb2RlIGZyb20gaDI2NCBhbmQgaDI2NSB0byBhIHNlcGFyYXRlIGZpbGUKCjIwMTQtMDEtMDMgMDk6NDQ6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IG11bHRpcGxlIFNFSSBtZXNzYWdlcyBpbiBvbmUgU0VJIFJCU1AgcGFyc2luZy4KCSAgQW4gU0VJIFJCU1AgY291bGQgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBTRUkgbWVzc2FnZSBhcyBzcGVjaWZpZWQgaW4KCSAgNy40LjIuMy4xLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2UgdGhlIHBhcnNlciBBUEk6IHRoZSBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpKCkKCSAgZnVuY3Rpb24gbm93IGNyZWF0ZSBhbmQgZmlsbCBhIEdBcnJheSBjb250YWluaW5nIEdzdEgyNjRTRUlNZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzE1CgoyMDE0LTAxLTIyIDEwOjI2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiByZW1vdmUgdHJhaWxsaW5nIDB4MDAgYnl0ZXMgYXMgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGVtCgkgIEp1c3QgbGlrZSBoMjY0LCB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZSBsYXN0IGJ5dGVzIG9mIGEgTkFMIHRvIGJlIDB4MDAuCgkgIFNvIHJlbW92ZSBpdCBhcyBpdCBpcyBwcm9iYWJseSBqdXN0IHBhZGRpbmcuCgkgIFRoaXMgaXMgcmVsYXRlZCB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzg0CgoyMDE0LTAxLTIwIDE3OjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiByZW1vdmUgdHJhaWxsaW5nIDB4MDAgYnl0ZXMgYXMgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGVtCgkgIFRoZSBzcGVjIHN0YXRlcyB0aGF0IHRoZSBsYXN0IGJ5dGUgb2YgYSBOQUwgJ3NoYWxsIG5vdCcgYmUgMHgwMAoJICBhbmQgaXQgaXMgYWxsb3dlZCBmb3IgYnl0ZS1zdHJlYW0gZm9ybWF0IHRvIGFkZCBwYWRkaW5nIDB4MDAgZm9yCgkgIGFsaWdubWVudC4KCSAgU28gb3VyIHBhcnNlciBzaG91bGQgc3RyaXAgYW55IHRyYWlsbGluZyAweDAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzg0CgoyMDE0LTAxLTIxIDIzOjQyOjU4ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBsZWFrIHBhZCBuYW1lIHdoZW4gdHJlYXRpbmcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2OTkKCjIwMTQtMDEtMjEgMTA6Mjc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiB1cGRhdGUgbGFzdF90cyB0byBtdXggY29ycmVjdGx5CgkgIFdlIHVzZSBsYXN0X3RzIHRvIGRlY2lkZSB3aGF0IGJ1ZmZlciB0byBtdXggbmV4dCBzbyBtYWtlIHN1cmUgdGhhdCBpdAoJICBhbHdheXMgY29udGFpbnMgdGhlIGxhc3Qga25vd24gdmFsaWQgdGltZXN0YW1wLgoKMjAxNC0wMS0yMSAxMDo1ODozNSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBJbml0aWFsaXplIHBvaW50ZXIgY29ycmVjdGx5IHRoYXQgaXMgbmV2ZXIgYXNzaWduZWQgYnV0IGZyZWVkIGluIGVycm9yIGNhc2VzCgkgIEZpeGVzIGNyYXNoIG9uIGJyb2tlbiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjY5CgoyMDE0LTAxLTIxIDA5OjQ0OjAwICswMTAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEZpcnN0IGRlc3Ryb3kgdGhlIHdpbmRvdywgdGhlbiB1bnJlZ2lzdGVyIHRoZSBjbGFzcwoJICBJdCdzIGltcG9zc2libGUgdG8gY3JlYXRlIGFub3RoZXIgcGlwZWxpbmUgd2l0aCBkM2R2aWRlb3NpbmsgYWZ0ZXIgZGlzcG9zaW5nCgkgIHRoZSBwcmV2aW91cyBvbmUgZHVlIHRvIHNvbWUgcHJvYmxlbSBpbiBkM2R2aWRlb3NpbmsuIFRoZSBtZXNzYWdlIGlzOiAiVW5hYmxlCgkgIHRvIHJlZ2lzdGVyIERpcmVjdDNEIGhpZGRlbiB3aW5kb3cgY2xhc3MiLgoJICBJJ3ZlIGV2YWx1YXRlZCB0aGUgcHJvYmxlbSBhbmQgaXQncyB0aGF0IFVucmVnaXN0ZXJDbGFzcygpIGluIHdvcmtpbmcgdGhyZWFkIGlzCgkgIGNhbGxlZCBiZWZvcmUgRGVzdHJveVdpbmRvdygpIGFuZCBVbnJlZ2lzdGVyQ2xhc3MoKSBkb2VzIG5vdGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2MjIKCjIwMTQtMDEtMjAgMTY6MjU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBmaXggdGltZXN0YW1wIGhhbmRsaW5nCgkgIElmIHRoZSBmaXJzdCBidWZmZXIgdGhhdCB3ZSBoYW5kbGUgZm9yIGEgc3RyZWFtIGhhcyBubyB0aW1lc3RhbXAsIHdlCgkgIHdvdWxkIG5ldmVyIGNvbnNpZGVyIHRoaXMgcGFkIGFnYWluIGZvciBtdXhpbmcgd2hpY2ggY2F1c2VzIHF1ZXVlcyB0bwoJICBmaWxsIHVwIGFuZCBwaXBlbGluZXMgdG8gc3RhbGwuIEluc3RlYWQsIHRyeSB0byBtdXggcGFkcyB3aXRoIC0xCgkgIHRpbWVzdGFtcHMgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMzMAoKMjAxNC0wMS0yMCAxNjoyMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IHJldHVybiBHU1RfRkxPV19FT1Mgd2hlbiB3ZSBwdXNoZWQgRU9TCgkgIFJldHVybiBHU1RfRkxPV19FT1MgZnJvbSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uIHdoZW4gd2UgcHVzaGVkIEVPUyBvcgoJICBlbHNlIGl0IHNpbXBseSBrZWVwcyBvbiBjYWxsaW5nIG91ciBjb2xsZWN0ZWQgZnVuY3Rpb24uCgoyMDE0LTAxLTIwIDEwOjM4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IEFjdHVhbGx5IHRoZSBlbmMvZGVjYmlucyBhcmUgbm90IHVzZWQgYW55d2hlcmUgY3VycmVudGx5CgkgIENvZGUgaXMgY29tbWVudGVkIG91dC4KCjIwMTQtMDEtMjAgMTA6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IEZpeCBidWlsZCBvbiBpT1MgYW5kIHByb2JhYmx5IGFsc28gb24gT1NYCgkgIFRoZSB2aWRlbyB0b29sYm94IGlzIG5vdCBhdmFpbGFibGUgb24gaU9TLCBhbmQgYWxzbyBvbiBPU1gKCSAgd2Ugc2hvdWxkIHByb2JhYmx5IGJ1aWxkIGFsbCBzb3VyY2UgZmlsZXMgdGhhdCBhcmUgdXNlZCBmb3IKCSAgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1OTAKCjIwMTQtMDEtMjAgMTU6MjE6NDIgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IFVwZGF0ZSBjYXBzIHdoZW4gcmVjZWl2ZSBWUFMvU1BTL1BQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMjQwCgoyMDE0LTAxLTIwIDE3OjAzOjA5ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEZpeCBzZWdmYXVsdCB3aGVuIHBhcnNpbmcgSFJEIHBhcmFtZXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMjQwCgoyMDE0LTAxLTE4IDEzOjU2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IERvbid0IHN0YXJ0IHNjYW5uaW5nIGZvciB0aGUgaGVhZGVyIGZyb20gdGhlIHN0YXJ0IGFnYWluIGVhY2ggdGltZQoJICBUaGlzIHdpbGwgYmUgaW5jcmVkaWJsZSBzbG93IGlmIHRoZSB1cHN0cmVhbSBibG9jayBzaXplIGlzIHZlcnkgc21hbGwuIEluc3RlYWQKCSAgY29udGludWUgc2Nhbm5pbmcgZm9yIHRoZSBoZWFkZXIgd2hlcmUgd2UgcHJldmlvdXNseSBzdG9wcGVkLgoJICBGb3IgdGhlIHN0YW5kYXJkIGZpbGVzcmMgYmxvY2stc2l6ZSB0aGlzIG1hZGUgZGVjb2RpbmcgYSBmaWxlIGFib3V0CgkgIDMgdGltZXMgZmFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODkwCgoyMDE0LTAxLTE4IDEzOjA2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IFRoaXMgaXMgYSBkZWNvZGVyLCBub3QgYSBkZW11eGVyCgkgIERvbid0IGNvbmZ1c2UgYXV0b3BsdWdnZXJzIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzE2CgoyMDE0LTAxLTE4IDAxOjE5OjM2ICswMjAwICBBbmRyZXkgVXRraW4gPGFuZHJleS5rcmllZ2VyLnV0a2luQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBsZWFrIG9mIFBDUk9mZnNldEdyb3VwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0NjIKCjIwMTQtMDEtMTYgMTI6MTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSBzb21lIHVzZWxlc3MgYXNzaWdubWVudHMgYW5kIHNraXAgdGhlIGN1cnJlbnQgcGFydCBvZiB0aGUgYnVmZmVyIGlmIHRoZSBwYWQgaXMgbXV0ZWQKCjIwMTQtMDEtMTYgMjA6MTY6NDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSAgcmVzaW5kdmQ6IE1lcmdlIGNoYW5nZXMgYWNyb3NzIGZyb20gbWFzdGVyIG1wZWdkZW11eAoJICBNZXJnZSB2YXJpb3VzIGNoYW5nZXMgYW5kIGZpeGVzIGZyb20gdGhlIG1hc3RlciBtcGVnZGVtdXgKCSAgUGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgZnJvbSB0aGUgd2F5IHN0cmVhbXMgYXJlIG9yZ2FuaXNlZCwKCSAgcmV0dXJuIGZsb3cgY29tYmluaW5nLCBsYW5ndWFnZSB0YWcgZXZlbnQgZ2VuZXJhdGlvbiwKCSAgYWRqdXN0bWVudHMgYW5kIGZpeGVzIGluIGRlYnVnIG91dHB1dCwgYW5kIHRoaW5ncyBsaWtlIHRoYXQuCgoyMDE0LTAxLTE2IDIwOjE0OjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogTWVyZ2Ugc29tZSBjaGFuZ2VzIGZyb20gdGhlIHJlc2luZHZkIGNvcHkKCSAgT25lIGJ1ZyBmaXgsIHNvbWUgZGVidWcgY2hhbmdlcyBhbmQgb3RoZXIgaW5jb25zZXF1ZW50aWFsIGNoYW5nZXMKCSAganVzdCB0byByZWR1Y2UgdGhlIGRpZmYgYmV0d2VlbiB0aGUgMiBjb3BpZXMgYSBiaXQuCgoyMDE0LTAxLTE1IDIzOjMwOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggYW5kIHNpbXBsaWZ5IG92ZXJsYXAgY2FsY3VsYXRpb24KCjIwMTQtMDEtMTQgMjM6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGZpeCBtaW5vciBtZW1vcnkgbGVhayB3aGVuIGNyZWF0aW5nIHRpdGxlIGluZm8gbWVzc2FnZQoKMjAxMy0xMC0wOSAxNzo0OTowNiArMDIwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEFkZCB0aGUgZGl2eCB2YXJpYW50IGZvciBtcGVnNCB2aWRlbwoJICBMb29rcyBsaWtlIGFsbCB0aGUgbXBlZzQgdmlkZW8gZGVjb2RlcnMgYWxzbyBhY2NlcHQgdGhlIGRpdngKCSAgdmFyaWFudHMuIFNvIHdlIGJldHRlciBhZGQgdGhvc2UgY2FwcyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE2MwoKMjAxNC0wMS0xNCAxNzowODozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IChhZ2FpbikgY2hlY2sgZm9yIERCIEFQSTogNS40IGlzIE5vdCBSZWNlbnQgRW5vdWdoCgkgIE1heWJlIHRlc3RpbmcgdGhlIHZlcnNpb24gaXMgY2xlYXJlciwgYnV0IHRlc3RpbmcgZm9yIDwgNSBpcyBub3QKCSAgZW5vdWdoLCBteSB2ZXJzaW9uIGlzIDUuNCBhbmQgZG9lcyBub3QgeWV0IGhhdmUgdGhvc2UgbmV3IGVudW1zLgoJICBJZiB5b3UgZ2l0IGJsYW1lIHRvIHRoaXMgYW5kIGhhdmUgYSB2ZXJzaW9uID4gNS40IHRoYXQgZG9lcyBub3QKCSAgZWl0aGVyLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGpvaW4gYWxvbmcgYW5kIGJ1bXAgdGhlIHZlcnNpb24uCgoyMDE0LTAxLTE0IDIzOjIxOjI1ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBoMjY1cGFyc2VyOiBGaXggc2VnZmF1bHQgd2hlbiBwYXJzaW5nIFZQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDgxCgoyMDE0LTAxLTE0IDEwOjM4OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogc2V0IG1heGltdW0gZmVhdHVyZSBzaXplIHRvIDB4MAoJICBQcmV2aW91c2x5IGZhY2VzIHdvdWxkIG9ubHkgYmUgZGV0ZWN0ZWQgaWYgdGhleSB3ZXJlIGF0IGxlYXN0IDMweDMwIHBpeGVscwoJICBsYXJnZSBhbmQgYXQgbW9zdCAzMngzMiBwaXhlbHMuIFdlIGtlZXAgdGhlIG1pbmltdW0gc2V0dGluZyAobWF5YmUgbmVlZHMKCSAgYSBwcm9wZXJ0eSBhcyBpbiBmYWNlZGV0ZWN0KSBidXQgZGlzYWJsZSB0aGUgbWF4aW11bSBmZWF0dXJlIHNpemUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU4CgoyMDE0LTAxLTE0IDAxOjA2OjAyIC0wNTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBjaXRhLnV0b3JvbnRvLmNhPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IHNldCBtYXhpbXVtIGZlYXR1cmUgc2l6ZSB0byAweDAKCSAgVGhpcyBkaXNhYmxlcyB0aGUgIm1heCBmZWF0dXJlIHNpemUiIGZlYXR1cmUuIFRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24KCSAgaXMgdG90YWxseSBidXN0ZWQ6IFRoZSBtYXggZmVhdHVyZSBzaXplIGlzIGhhcmQtY29kZWQgdG8gMiBwaXhlbHMgbW9yZQoJICB0aGFuIHRoZSB1c2VyLXN1cHBsaWVkIG1pbiBmZWF0dXJlIHNpemUgd2hpY2ggcHJldHR5IG11Y2ggbWVhbnMgeW91IG5lZWQKCSAgdG8gZ3Vlc3MgdGhlIHNpemUgb2YgdGhlIHBlcnNvbidzIGZhY2UgdG8gd2l0aGluIGEgZmV3IHBpeGVscyB0byBnZXQgdGhlCgkgIGNvZGUgdG8gZmluZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OAoKMjAxNC0wMS0xNCAwMjoxOToxMiArMDIwMCAgQW5kcmV5IFV0a2luIDxhbmRyZXkua3JpZWdlci51dGtpbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggbWVtbGVhayBvZiBQQ1JPZmZzZXRDdXJyZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNDUKCjIwMTQtMDEtMTMgMjE6NTA6MTYgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogcHJldmVudCB0byBvdmVycnVuIGNocm9tYV93ZWlnaHRfbDBfZmxhZwoJICBUaGUgaW5kZXggb2YgZWxlbWVudHMgY2Fubm90IGV4Y2VlZCBvciBlcXVhbCB0byB0aGUgc2l6ZSBvZiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEwMQoKMjAxNC0wMS0xMyAxMDowMTo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgYnVmZmVyIG9mZnNldCB0byBidWZmZXIgdGltZXN0YW1wCgkgIG9nZ211eCBleHBlY3RzIHRoaXMgdG8gb3JkZXIgaW5jb21pbmcgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDc4CgoyMDE0LTAxLTEwIDA4OjU4OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkdmI6IFVzZSBEVkJfQVBJX1ZFUlNJT04gdG8ga25vdyBpZiB3ZSBoYXZlIHJlY2VudCBlbm91Z2ggdmVyc2lvbgoJICBXZSBlbmQgdXAgd2l0aCB0aGUgc2FtZSBlbmQtcmVzdWx0IGJ1dCBpdCdzIG1vcmUgY29tcHJlaGVuc2libGUKCjIwMTQtMDEtMDkgMTY6Mzg6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIGdvb2QgZW5vdWdoIGR2YiBrZXJuZWwgaGVhZGVycwoJICBSZWNlbnQgY2hhbmdlcyBhcmUgdXNpbmcgbmV3IGR2YiBhcGkuIERvbid0IGJ1aWx0IHRoZSBwbHVnaW4sIGlmIHdlIGNhbid0LgoJICBGaXhlcyAjNzIxODY5CgoyMDE0LTAxLTA5IDA4OjE4OjA3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogbWlzYyBjb2RlIGNsZWFudXBzCgkgIEZpeCB0aGUgbGF1bmNoIGV4YW1wbGVzIGZvciAxLjAuIFR1cm4gbW9yZSBsb2dnaW5nIGludG8gX09CSkVDVCB2YXJpYW50cy4KCjIwMTQtMDEtMDkgMDk6MTM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlCgkgIEluc3RlYWQgb2YgdXNpbmcgMiBpbmRleGVzIHRoYXQgd2VyZSBhY3R1YWxseSB0aGUgc2FtZSwgdXNlIG9ubHkKCSAgb25lLiBTYXZlcyBhIHZhcmlhYmxlLgoKMjAxNC0wMS0wOSAwOToxMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IHNlZWtpbmcgd2hlbiB0aGUgbXBkIHVzZXMgYSBzZWdtZW50IHRlbXBsYXRlCgkgIFJlbW92ZSB0aGUgZGFzaGRlbXV4IHNlZWtpbmcgZnVuY3Rpb24gdG8gdXNlIHRoZSBvbmUgaW1wbGVtZW50ZWQKCSAgaW4gbXBkcGFyc2VyIGFzIGl0IGlzIG1vcmUgY29tcGxldGUuIFRoaXMgYWxzbyBtYWtlcyBkYXNoZGVtdXggbm90CgkgIGNyYXNoIHdoZW4gc2Vla2luZyBvbiBzdHJlYW1zIHRoYXQgdXNlIHNlZ21lbnQgdGVtcGxhdGVzLgoKMjAxNC0wMS0wOCAxNjozMzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvIG5vdCBsb3NlIERJU0NPTlQgZmxhZyBpZiBidWZmZXIgaXNuJ3QgcHVzaGVkCgkgIG1wZWc0dmlkZW9wYXJzZSBtaWdodCBub3QgcHVzaCBidWZmZXJzIHdoaWxlIHBhcnNpbmcuIElmIHRob3NlIGJ1ZmZlcnMKCSAgY29udGFpbiB0aGUgRElTQ09OVCBmbGFnLCBpdCBnZXRzIGxvc3QgYW5kIGRvd25zdHJlYW0gd29uJ3QgZ2V0IGFueQoJICBidWZmZXIgd2l0aCB0aGUgZmxhZy4KCSAgRml4IGl0IGJ5IGFkZGluZyB0aGUgRElTQ09OVCB0byB0aGUgbmV4dCBwdXNoZWQgYnVmZmVyLgoJICBUaGlzIG1ha2VzIGJhY2t3YXJkcyBwbGF5YmFjayB3b3JrLgoKMjAxNC0wMS0wNiAyMjoxNToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBza2lwICdcMCcgc3RyaW5ncyBmb3IgbWV0YWRhdGEKCSAgbGlic25kZmlsZSBkb2VzIG5vdCBmaWx0ZXIgZW1wdHkgc3RyaW5ncy4gV2UgZ2V0IGEgd2FybmluZyBmcm9tIGdzdHJlYW1lciB3aGVuCgkgIHNldHRpbmcgdGhpcyBhcyBhIHRhZy4KCjIwMTQtMDEtMDYgMTU6MTU6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYnJlYWsgbG9uZyBtZXRob2QKCSAgRXh0cmFjdCB0YWdsaXN0IGNyZWF0aW9uIGludG8gc2VwYXJhdGUgZnVudGlvbi4KCjIwMTQtMDEtMDYgMTU6MDE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IG1ha2UgaGVhZGVycyB1c2FibGUgd2l0aCBjKysgY29tcGlsZXIKCSAgQWRkIEdfQkVHSU5fREVDTFMgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEzNgoKMjAxNC0wMS0wNiAxNTowMjozMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiByZW1vdmUgbGVmdCBvdmVyIHByb3BlcnR5LWlkIGVudW0KCjIwMTQtMDEtMDYgMTQ6NTI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEFsbG93cyBodmMxIHZlcnNpb24gMCBhbmQgZml4IHJlYWRpbmcgb2YgTkFMIGNvdW50IGluIGNvZGVjX2RhdGEKCjIwMTQtMDEtMDYgMTQ6NDg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgkgIEFuZCBkb24ndCBhY2Nlc3MgaW52YWxpZCBtZW1vcnkKCjIwMTQtMDEtMDYgMTQ6NDc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogRml4IGRlYnVnIG91dHB1dAoKMjAxNC0wMS0wNiAxMzo1MTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDUgMjM6NDQ6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiB0eXBvIGZpeCBpbiBjb21tZW50CgoyMDE0LTAxLTA1IDIzOjQzOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHRoZSByZWFkIGZ1bmN0aW9ucyBhbHJlYWR5IHJldHVybiBmcmFtZXNfcmVhZAoJICBGaXhlcyBjaG9wcHkgb3V0cHV0LgoKMjAxNC0wMS0wNSAyMzo0MToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgIHNuZGZpbGU6IGVuYWJsZSByZjY0IGZvcm1hdAoKMjAxNC0wMS0wMiAyMTowMjoyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBhZGQgZGF0ZSB0byB0YWdsaXN0CgoyMDE0LTAxLTAzIDExOjE4OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IERvY3VtZW50IHRoYXQgc29ja2V0LXBhdGggbWF5IGNoYW5nZQoKMjAxNC0wMS0wMyAxMToxNjo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBDaGFuZ2UgZGVmYXVsdCBzaG0gc2l6ZSB0byA2NCBNaUIKCSAgVGhlIG9yaWdpbmFsIHNpemUgb2YgMjU2ayB3YXMgdG9vIHNtYWxsIGZvciBhbnl0aGluZyB3aGVyZQoJICBvbmUgd291bGQgd2FudCB0byB1c2Ugc2htLiBJZiB0aGUgYnVmZmVyJ3Mgc2l6ZSBuZWVkcyB0byBiZSBsaW1pdCwgaXQgaXMKCSAgYmV0dGVyIHRvIHVzZSBidWZmZXItdGltZSBpbiBtb3N0IGNhc2VzIGFueXdheS4KCjIwMTMtMTAtMTAgMTg6MjU6NDYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQWRkIGR2Yi1zMiwgZHZiLXQyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxMy0xMC0xMCAxODoyMzoyMCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBDaGFuZ2UgZnJvbSBkZXByZWNhdGVkIGZyb250ZW5kIHR5cGUgZmllbGQgdG8gRFRWX0VOVU1fREVMU1lTCgkgIC1hZGQgZGVsc3lzIHByb3BlcnR5CgkgIC1hZGQgZGVsaXZlcnkgc3lzdGVtIGNhcGFiaWxpdHkgdG8gdGhlIGdzdHJlYW1lciBhZGFwdGVyIHN0cnVjdHVyZQoJICAtcmVhZHkgZm9yIGFkZCBuZXcgZGVsaXZlcnkgc3lzdGVtcwoJICBBcHBsaWNhdGlvbiBtdXN0IGFzayB0aGUgYWRhcHRlciBzdHJ1Y3R1cmUgdG8ga25vdyB3aGljaCBkZWxpdmVyeSBzeXN0ZW1zIGFyZSBhdmFpYmxlLgoJICBUaGUgcHJvcGVydHkgZGVsc3lzIG11c3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDE0LTAxLTAzIDA5OjU5OjM0ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRml4IEdzdENhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4MgoKMjAxMy0xMi0zMSAyMjozODowMyArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjkzCgoyMDEzLTEyLTMxIDIzOjE4OjU0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBuZXcgY29sb3IgZm9ybWF0LCBhbmQgZW5oYW5jZSBkZWJ1ZyBvdXRwdXQKCSAgQWRkIGEgbmV3IGNvbG9yIGZvcm1hdCBzZWVuIG9uIG15IEdhbGF4eSBTMwoJICAoT01YX1NFQ19DT0xPUl9Gb3JtYXROVjEyVGlsZWQgPSAweDdmYzAwMDAyKSB0byB0aGUgdGFibGUsCgkgIGJ1dCBkb24ndCBhY3R1YWxseSBpbXBsZW1lbnQgaXQgLSB0aGUgZGVjb2RlciBkb2Vzbid0IGNob29zZSBpdC4KCSAgUmVtb3ZlIGFuIGFzc2VydCB0aGF0IG1ha2VzIHRoZSBwbHVnaW4gZmFpbCBub2lzaWx5IGFuZCB0YWtlIHRoZSBhcHAgZG93bgoJICBpZiBpdCBzZWVzIGEgY29sb3IgZm9ybWF0IGl0IGRvZXNuJ3QgcmVjb2duaXNlIChqdXN0IHNraXAgdGhlIGNvZGVjIGluc3RlYWQpCgkgIE1vZGlmeSB0aGUgZGVidWcgb3V0cHV0IHdoZW4gcGx1Z2luIHNjYW5uaW5nIHRvIHByaW50IGNvbG9yIGZvcm1hdCBpbmZvIHRvCgkgIG1ha2UgdGhpcyBzb3J0IG9mIHRoaW5nIGVhc2llciBpbiB0aGUgZnV0dXJlLgoKMjAxMy0xMi0xOSAyMzowMDoxMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IERvbid0IGRpc3J1cHQgYnVmZmVyIHN0YXRlIGluIHRoZSBjbGlwIGZ1bmN0aW9uCgkgIENvbGxlY3RwYWRzIGFzc3VtZXMgdGhhdCBpdCBjYW4gcGFzcyBhbnkgYnVmZmVyIHRvIHRoZSBjbGlwIGZ1bmN0aW9uCgkgIGZvciBhZGp1c3RtZW50LCBzb21lIG9mIHdoaWNoIGFyZSBhcnRpZmljaWFsbHkgaW5qZWN0ZWQgLSBzbyBkb24ndAoJICBhZGp1c3QgZ2xvYmFsIHRpbWVzdGFtcCB0cmFja2luZyB0aGVyZS4gSW5zdGVhZCwgb25seSBhZGp1c3QgdGhlCgkgIGJ1ZmZlciB0aW1lc3RhbXBzIGFuZCB1c2UgdGhlbSBkaXJlY3RseSBpbiB0aGUgY29sbGVjdGlvbiBmdW5jdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODc0OAoKMjAxMy0xMi0zMCAxNTo0OTo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNuZGZpbGU6IGVtaXQgbWlkaS1iYXNlLW5vdGUgdGFnCgkgIFF1ZXJ5IGluc3RydW1lbnQgZGF0YS4gVXNlIGJvdGggJ2xvb3BfaW5mbycgYW5kICdpbnN0cnVtZW50JyB0byBpbmZvcm0gYWJvdXQgdGhlCgkgIGJhc2Vub3RlLgoKMjAxMy0xMi0zMCAxMzoyODo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IFJlbW92ZSB1bm5lZWRlZCBjYWxsCgkgICdwYXJzZScgaXMgYWxyZWFkeSBwcm92aWRlZCBieSB0aGUgcGFyZW50IHZhcmlhYmxlCgoyMDEzLTEyLTI5IDEzOjMxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFRoZSBwbHVnaW4gd29ya3Mgd2l0aCAyLjQuNyB0b28KCSAgUmVwb3J0ZWQgYnkga3dtIG9uIElSQy4KCjIwMTMtMTItMjggMTI6Mzk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBEb24ndCBzZW5kIGNhcHMgaW4gR3N0QmFzZVBhcnNlOjpzdGFydCgpCgkgIFRoaXMgaXMgdG9vIGVhcmx5IGFuZCB3aWxsIGNvbmZ1c2UgdGhlIGV2ZW50IG9yZGVyLiBUaGUgb3RoZXIKCSAgY29kZSB0aGF0IHNldHMgdGhlIGNhcHMgaXMgYXQgdGhlIHJpZ2h0IHBvc2l0aW9uIGFuZCBkb2VzIGl0CgkgIHByb3Blcmx5IGFscmVhZHkuCgoyMDEzLTEyLTI0IDIzOjE1OjI4ICswMDAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBmaXggaW5wdXQgZGVxdWV1ZSBmb3Igb2Ryb2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMjcKCjIwMTMtMTItMjcgMTQ6Mjk6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBpbmNyZWFzZSBtYXggcGF5bG9hZCBzaXplIHRvIDQwMDAgYnl0ZXMKCSAgMTI3NSBpcyB0aGUgbWF4aW11bSBzaXplIG9mIGEgZnJhbWUsIGJ1dCB0aGUgZW5jb2RlciBtYXkgcmV0dXJuCgkgIHVwIHRvIDMgZnJhbWVzLCBhbmQgd2UgbmVlZCBhIGZldyBleHRyYSBieXRlcyBmb3IgVE9DLCBldGMuIFdlCgkgIHVzZSA0MDAwLCB3aGljaCBpcyBhIGJpdCBtb3JlLCBhbmQgc3VnZ2VzdGVkIGluIHRoZSBsaWJvcHVzIGRvY3MuCgoyMDEzLTEyLTI3IDEwOjI1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBmaXggZy1pIGFubm90YXRpb25zIGFuZCBndGstZG9jIG1hcmt1cAoKMjAxMy0xMi0yMCAxMDowNToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHN0cmVhbSBsb29wIHRocmVhZAoJICBEb3dubG9hZCBhbmQgcHVzaCBmcm9tIHRoZSBzYW1lIHRhc2ssIG1ha2VzIGNvZGUgYSBsb3Qgc2ltcGxlcgoJICB0byBtYWludGFpbi4gQWxzbyBwdXNoaW5nIGZyb20gc2VwYXJhdGUgdGhyZWFkcyBhdm9pZHMgZGVhZGxvY2tpbmcKCSAgd2hlbiBnc3RfcGFkX3B1c2ggYmxvY2tzIGR1ZSB0byBkb3duc3RyZWFtIHF1ZXVlcyBiZWluZyBmdWxsLgoKMjAxMy0xMi0yMCAxOTo0Mjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGZpeCBkZWFkbG9jayBuZWFyIEVPUwoJICBBIGRlYWRsb2NrIGNhbiBoYXBwZW4gd2hlbiB0aGUgc291cmNlIHNlbmRzIEVPUyB3aGVuCgkgIGJlaW5nIHB1dCB0byBOVUxMIGFzIHRoZSBvYmplY3QgbG9jayBpcyBiZWluZyBoZWxkIGJ5IHRoZQoJICB0aHJlYWQgdGhhdCBzZXRzIHRoZSBlbGVtZW50IHRvIE5VTEwgYW5kIGlzIG5lZWRlZCBieQoJICB0aGUgZXZlbnQgaGFuZGxlci4KCjIwMTMtMTItMjAgMTk6Mzk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRldGVjdCBFT1Mgd2hlbiBzZWdtZW50cyBhcmUgZ2VuZXJhdGVkIGJ5IHRlbXBsYXRlCgkgIFVzZSB0aGUgUGVyaW9kIGR1cmF0aW9uIGRvIGtub3cgd2hlbiB0byBlbmQgdGhlIHN0cmVhbQoKMjAxMy0xMi0xMyAxNzoyNjoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgdHJ5IHRvIGFjY2VzcyBidWZmZXIgYWZ0ZXIgbG9zaW5nIHRoZSByZWYKCSAgRm9yIG9idmlvdXMgcmVhc29ucwoKMjAxMy0xMi0xMyAxNzoyNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdXNlIGEgc2VwYXJhdGUgR3N0VXJpRG93bmxvYWRlciBwZXIgc3RyZWFtCgkgIEF2b2lkcyBvbmUgZG93bmxvYWQgaGF2aW5nIHRvIHdhaXQgZm9yIGFub3RoZXIgdG8gZmluaXNoCgkgIGJlZm9yZSBzdGFydGluZwoKMjAxMy0xMi0wOSAxMzo1NToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc3RvcmUgR3N0QWN0aXZlU3RyZWFtIHRvIGF2b2lkIGdldHRpbmcgaXQgZXZlcnkgdGltZQoJICBHc3RBY3RpdmVTdHJlYW0gaXMgdXNlZCBldmVyeXdoZXJlIHRvIG9wZXJhdGUgb24gdGhlIE1QRCBjbGllbnQsCgkgIGJldHRlciBzdG9yZSBpdCBpbiB0aGUgR3N0RGFzaERlbXV4U3RyZWFtIHRvIGF2b2lkIGdldHRpbmcgaXQKCSAgZXZlcnl0aW1lCgoyMDEzLTEyLTA5IDEzOjMzOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzaW1wbGlmeSBsb2NraW5nIGZvciBzdHJlYW1zCgkgIFVzZSBhIHNpbmdsZSBsb2NrIGZvciBhbGwgc3RyZWFtcyBpbnN0ZWFkIG9mIGhhdmluZyBzZXBhcmF0ZSBsb2Nrcy4KCSAgVGhpcyBtYWtlcyBtYWludGVuYW5jZSBlYXNpZXIgYW5kIGF0IG1vc3QgcG9pbnRzIHdlIHdvdWxkIG5lZWQKCSAgYSBzaW5nbGUgbG9jayBiZWZvcmUgaXRlcmF0aW5nIG9uIGFsbCBzdHJlYW1zIGRhdGEuIFNvIG5vdCBtdWNoCgkgIGlzIGdhaW5lZCBmcm9tIGluZGl2aWR1YWwgbG9ja3MuCgoyMDEzLTEyLTA5IDExOjI4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtdWx0aXBsZSBwZXJpb2QgbXBkIHBsYXliYWNrCgkgIE1ha2UgZGFzaCBwbGF5bGlzdHMgd2l0aCBtdWx0aXBsZSBwZXJpb2RzIHdvcmsgYWdhaW4gYnkgd2FpdGluZwoJICB0byBzd2l0Y2ggdGhlIHBlcmlvZHMgd2hlbiBhbGwgc3RyZWFtcyBoYXZlIHJlYWNoZWQgdGhlIGVuZCBvZgoJICB0aGUgY3VycmVudCBwZXJpb2QuIFRoZSBzdHJlYW1fbG9vcCBpcyByZXNwb25zaWJsZSBmb3IgYWR2YW5jaW5nCgkgIHRoZSBwZXJpb2QsIGJ1dCB0aGUgZG93bmxvYWQgbG9vcHMgd2lsbCBhbHJlYWR5IHN0YXJ0IGRvd25sb2FkaW5nCgkgIGRhdGEgZm9yIHRoZSBuZXh0IHBlcmlvZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoKMjAxMy0xMi0wNSAwMjo1MzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhZGQgY29tYmluZSBmbG93cyBmdW5jdGlvbgoJICBVc2UgYSBmbG93IGNvbWJpbmF0aW9uIGZ1bmN0aW9uIHRvIGRlY2lkZSB0aGUgcmVzdWx0IGZyb20gdGhlCgkgIHN0cmVhbV9sb29wCgoyMDEzLTEyLTA0IDExOjMwOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgbXVsdGlwbGUgbGFuZ3VhZ2VzCgkgIEhhbmRsZSBtdWx0aXBsZSBsYW5ndWFnZXMgYnkgdXNpbmcgdGhlIG5vdC1saW5rZWQgcmV0dXJuIHRvIHN0b3AKCSAgdGhlIGRvd25sb2FkIHRhc2sgZm9yIHRoYXQgc3RyZWFtLiBJdCBjYW4gYmUgcmVhY3RpdmF0ZWQgd2hlbgoJICBhIHJlY29uZmlndXJlIGV2ZW50IGlzIHJlY2VpdmVkLiBTdG9wcGluZyB0aGUgdW51c2VkIHN0cmVhbXMgaXMKCSAgcmVsZXZhbnQgdG8gc2F2ZSBuZXR3b3JrIGJhbmR3aWR0aAoKMjAxMy0xMi0wMyAxNjoxNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogVXNlIDEgZG93bmxvYWQgdGFzayBwZXIgc3RyZWFtCgkgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIGRvd25sb2FkIHRhc2sgZm9yIGFsbCBzdHJlYW1zLCB0aGlzCgkgIGNvbW1pdCBtYWtlcyBlYWNoIHN0cmVhbSBoYXZlIGl0cyBvd24gZG93bmxvYWQgbG9vcCwgYWxsb3dpbmcKCSAgcGFyYWxsZWwgZG93bmxvYWQgb2YgZnJhZ21lbnRzLgoKMjAxMy0xMi0wMyAwMDoxMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3IgZnJhZ21lbnQgZmV0Y2hpbmcgaW50byBzbWFsbGVyIGZ1bmN0aW9ucwoJICBNYWtlcyBpdCBlYXNpZXIgdG8gbWFpbnRhaW4gYW5kIGV4dGVuZC4gVGhpcyBpcyBhIGZpcnN0IHN0ZXAgaW50bwoJICBhZGRpbmcgbXVsdGkgbGFuZ3VhZ2Ugc3VwcG9ydCB0byBkYXNoZGVtdXgKCjIwMTMtMTItMDIgMTc6NDE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJ1biBnc3QtaW5kZW50CgkgIExvdHMgb2YgaW5kZW50YXRpb24gaXNzdWVzIG1ha2luZyBpdCB2ZXJ5IGFubm95aW5nIHRvIGNvbW1pdAoJICBiZWNhdXNlIG9mIHRoZSBpbmRlbnQgaG9vay4gRml4IHRoaXMgZm9yIG9uY2UuCgoyMDEzLTEyLTAyIDE3OjMxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZXhwb3NlIGFsbCBzdHJlYW1zCgkgIGFsd2F5cyBleHBvc2UgYWxsIHN0cmVhbXMgaW5zdGVhZCBvZiBvbmx5IGV4cG9zaW5nIG9uZSBvZiBlYWNoIHR5cGUuCgkgIFRoaXMgaXMgbW9yZSBhbGlnbmVkIHdpdGggZ3N0cmVhbWVyJ3Mgd2F5IG9mIHdvcmtpbmcuIEFsbG93cyB0aGUgdXNlcgoJICB0byBzZWxlY3QgdGhlIHN0cmVhbSB0aGF0IGl0IHdhbnRzIHRvIHVzZSBieSBsaW5raW5nIGl0cyBwYWQgYW5kIGxlYXZpbmcKCSAgdGhlIHVudXNlZCBvbmVzIGFzIHVubGlua2VkLgoKMjAxMy0xMi0yNCAxMTo1MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgY2xlYW4gdXAgcmVuZGVyYnVmZmVycyBhbmQgRUFHTCBjb250ZXh0CgoyMDEzLTEyLTIzIDE1OjMzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBQcm9wZXJseSBzZXQgb3V0cHV0IGZvcm1hdAoJICBPdGhlcndpc2UgdGhpcyB3aWxsIGp1c3QgZXJyb3Igb3V0IGlmIHdlIG9ubHkgc2V0IGNhcHMgb24gdGhlIHNyY3BhZC4KCjIwMTMtMTItMjIgMjI6MzM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRiZWRhYTAgdG8gZDQ4YmVkMwoKMjAxMy0xMi0yMiAyMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogc2V0IGdldHRleHQgZG9tYWluIGluIE1ha2V2YXJzIHNvIHdlIGRvbid0IGhhdmUgdG8gcGF0Y2ggdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDU1CgoyMDEzLTEyLTIyIDE3OjQ2OjQwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHRoZSBjb3JyZWN0IHN0cmlkZSBpbiB0aGUgdmlkZW8gbWV0YQoKMjAxMy0xMi0yMiAxNzo0NDowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZml4IGFhYyBkZWNvZGluZyBvbiBNYXZlcmlja3MKCjIwMTMtMTItMjAgMTg6MTI6NTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBzbWFsbCBzZWVraW5nIGNvZGUgcmVzaHVmZmxlCgkgIFB1dCB0aGUgY29kZSB0aGF0IGNoZWNrcyBzdG9wIHZhbHVlcyB0b2dldGhlci4gRG9uJ3QgY2xhbXAgYSBjdXIgdmFsdWUgb2YgLTEgdG8gMCAoc2hvdWxkIG5vdCBoYXBwZW4gcmlnaHQgbm93KS4KCjIwMTMtMTItMjAgMTg6MTA6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogbWFrZSBfc3RvcCgpIG5vbiBmYXRhbCB3aGVuIHdlIGhhdmUgYW4gZXJyb3IgYWxyZWFkeQoJICBIYXZpbmcgbm8gb3BlbiBmaWxlIGluIF9zdG9wKCkgaXMgb2theS4gSnVzdCByZXNldCBzdGF0ZS4KCjIwMTMtMTItMjAgMTg6MDg6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzZmRlYzogYWRkIGV2ZW50IGZ1bmN0aW9uIGFuZCBzZWVraW5nIHN1cHBvcnQKCjIwMTMtMTItMTggMDg6MTI6MDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYWRkIHRhZ2xpc3Qgc3VwcG9ydAoJICBNYXAgdGhlIG1ldGFkYXRhIHN0cmluZ3MgYW5kIGEgYnVuY2ggb2YgaW5mby1maWVsZHMgdG8gR1N0cmVhbWVyIHRhZ3MuCgoyMDEzLTEyLTE3IDIyOjI1OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc2ZkZWM6IGFkZCBxdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgcG9zaXRpb24gYW5kIGR1cmF0aW9uCgoyMDEzLTEyLTE3IDE3OjU2OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc25kZmlsZTogcmV3cml0ZSBzbmRmaWxlIGZvciAxLjAKCSAgQWRkIGEgc2ZkZWMgZm9yIGEgc3RhcnQuIEluc3RlYWQgb2YgYSBzb3VyY2UgcGx1Z2luLCB0aGlzIGlzIGEgZGVtdXhlci9kZWNvZGVyIGNvbWJpbmF0aW9uLiBUaGlzIG1ha2VzIGl0IHdvcmsgd2l0aCBhdXRvLXBsdWdnaW5nLgoKMjAxMy0xMi0yMCAwMDozOTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1cGRhdGluZyBkb2NzIGV4cGxhaW5pbmcgaG93IGl0IHdvcmtzCgkgIG1zc2RlbXV4IGNoYW5nZWQgYSBsb3QgYW5kIHRoZSBkb2NzIHdlcmUgbm90IGNvcnJlY3QgYW55bW9yZS4KCSAgQWxzbyBhZGRzIHRoZSAnQWRhcHRpdmUnIGNhdGVnb3J5IHRvIGl0cyBkZXRhaWxzCgoyMDEzLTEyLTE5IDE0OjMwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBwdXNoIGV2ZW50IGhvbGRpbmcgb2JqZWN0IGxvY2sKCSAgQ2FuIGxlYWQgdG8gZGVhZGxvY2tzIGFzIHRoZSBwdXNoIG1pZ2h0IGJsb2NrIGRvd25zdHJlYW0gaW4KCSAgc2VyaWFsaXplZCBldmVudCBjYXNlcy4KCjIwMTMtMTItMTkgMTQ6Mjk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbG9jayBhcm91bmQgJ2NhbmNlbGxlZCcgZmxhZwoJICBQcmV2ZW50cyByYWNlIGNvbmRpdGlvbnMgd2hlbiBwaXBlbGluZSBpcyBzZWVraW5nIG5lYXIgZW9zCgoyMDEzLTEyLTE5IDIxOjU5OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBbHNvIHJlc3luYyB0aW1lc3RhbXBzIG9uIHRoZSBSRVNZTkMgZmxhZwoKMjAxMy0xMi0xOSAyMTozNjo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogRG9uJ3Qgc2V0IHRoZSBFQUdMQ29udGV4dCBvZiB0aGUgbWFpbiB0aHJlYWQgYW5kIGRvbid0IHJldXNlIGl0IGVpdGhlcgoJICAuLi4gaW5zdGVhZCBjcmVhdGUgYSBuZXcgY29udGV4dCBmb3IgZXZlcnkgc2luayBpbnN0YW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDQyMQoKMjAxMy0xMi0xOSAwODo1Nzo0MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBmaXggZm9yIHBsYW5hciBmb3JtYXRzCgoyMDEzLTEyLTE5IDA3OjU0OjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgc2lsbHkgc3RyaWRlIHJlcXVpcmVtZW50CgkgIFRoaXMgaXMgbGVnYWN5IGZyb20gdGhlIDAuMTAgdGltZXMsIGFuZCBpdCBpc24ndCBjbGVhciBob3cgaXQgd2FzIHVzZWZ1bCBiYWNrCgkgIHRoZW4gYWxzby4nCgoyMDEzLTEyLTE5IDExOjExOjI4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSAgZGlyZWN0ZmI6IEFkZCBoYWNrIHRvIGZpeCBjb21waWxlIHdpdGggYnJva2VuIERpcmVjdEZCIGRlZmluZQoJICBDb21waWxhdGlvbiBicmVha3MgYmVjYXVzZSBzb21lIHZlcnNpb25zIG9mIERpcmVjdEZCIHJlZGVmaW5lCgkgIF9fbm9faW5zdHJ1bWVudF9mdW5jdGlvbl9fLCB3aGljaCBpcyB1c2VkIGluIHRoZSBHX0dOVUNfTk9fSU5TVFJVTUVOVAoJICBtYWNyby4KCjIwMTMtMTItMTcgMTc6NTU6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNlZ2ZhdWx0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyBjb2RlY19kYXRhCgkgIENoZWNrIGlmIGNvZGVjX2RhdGEgd2FzIG9idGFpbmVkIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0IHRvCgkgIHByZXZlbnQgYSBzZWdmYXVsdAoKMjAxMy0xMi0xNyAxNzo1NDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGdlbmVyYXRlIGNhcHMgZnJvbSBhdWRpb3RhZyBhdHRyaWJ1dGUKCSAgU29tZSBhdWRpbyB3aWxsIGhhdmUgaXRzIGF1ZGlvIGZvcm1hdCBkZWZpbmVkIGJ5IHRoZSBBdWRpb1RhZwoJICBpbnN0ZWFkIG9mIHRoZSBGb3VyY2MuIEZhbGxiYWNrIHRvIHVzaW5nIEF1ZGlvVGFnIGlmIEZvdXJjYwoJICBpc24ndCBhdmFpbGFibGUKCjIwMTMtMTItMTcgMTY6MzE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbWFrZSBzdXJlIHN0cmVhbXMgc3RvcCBwcm9wZXJseSBvbiBjYW5jZWxsZWQKCSAgc3BlY2lhbGx5IHdoZW4gdGhlIGdzdF90YXNrX2pvaW4gaXMgd2FpdGluZyBmb3IgdGhlIHRhc2sKCSAgdG8gZ28gc3RvcCBhbmQgdGhlIHRhc2sgaXRzZWxmIHNldHMgaXRzIGJhY2sgdG8gcGF1c2VkLCBjYXVzaW5nCgkgIGEgZGVhZGxvY2sgb24gZXhpdC4KCjIwMTMtMTItMTcgMTM6MTY6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB0cmFjayBzZWdtZW50cyBwZXIgc3RyZWFtCgkgIEFzIHN0cmVhbXMgbm93IGZsb3cgaW5kZXBlbmRlbnRseSwgdGhlIEdzdFNlZ21lbnQgbmVlZHMgdG8gYmUgcHV0CgkgIG9uIGVhY2ggc3RyZWFtIHNvIHRoZXkgY2FuIHRyYWNrIHRoZSBwb3NpdGlvbiBvZiBlYWNoIG9uZSBjb3JyZWN0bHkKCSAgaW5zdGVhZCBvZiBiZWluZyBtaXhlZCBpbiBhIHNpbmdsZSBzZWdtZW50CgoyMDEzLTExLTE0IDE1OjIzOjQyICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHB1c2ggbGFuZ3VhZ2UgY29kZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM1OAoKMjAxMy0xMS0xNCAxNToxNDoxOCArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzbWFuaWZlc3Q6IHN0b3JlIHRoZSBsYW5ndWFnZSBvZiB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzNTgKCjIwMTMtMTItMTYgMTY6MTQ6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgdGhlIHN0cmVhbSBsb29wIHRhc2sKCSAgRG93bmxvYWQgYW5kIHB1c2ggZnJvbSB0aGUgc2FtZSB0YXNrLCBtYWtlcyBjb2RlIGEgbG90IHNpbXBsZXIKCSAgdG8gbWFpbnRhaW4uIEFsc28gcHVzaGluZyBmcm9tIHNlcGFyYXRlIHRocmVhZHMgYXZvaWRzIGRlYWRsb2NraW5nCgkgIHdoZW4gZ3N0X3BhZF9wdXNoIGJsb2NrcyBkdWUgdG8gZG93bnN0cmVhbSBxdWV1ZXMgYmVpbmcgZnVsbAoKMjAxMy0xMi0xMyAxNzozMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBJbXByb3ZlIGxvZ2dpbmcKCSAgU2hvdyB0aGUgc3RyZWFtJ3MgcGFkIG9uIGxvZyBtZXNzYWdlcyB0byBtYWtlIGVhc2llciB0byBkZWJ1ZwoJICBpc3N1ZXMgaW4gdGhlIG11bHRpcGxlIHRocmVhZHMKCjIwMTMtMTItMTAgMTg6MDg6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBIYW5kbGUgZGlmZmVyZW50IGZsb3cgcmV0dXJucyBib3RoIGZyb20gdGhlIHN0cmVhbWluZyBhbmQgdGhlCgkgIGRvd25sb2FkaW5nIGxvb3BzCgoyMDEzLTEyLTEwIDE1OjQxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHN0cmVhbSBsb2NrcwoJICBTaW1wbGlmeSB0aGUgbG9ja2luZyBieSB1c2luZyBhIHNpbmdsZSBsb2NrIGluc3RlYWQgb2YgaGF2aW5nIG9uZQoJICBsb2NrIHBlciBzdHJlYW0uIFRoaXMgc3RpbGwgd29ya3MgYW5kIGlzIHNpbXBsZXIgdG8gbWFpbnRhaW4uCgoyMDEzLTExLTEyIDA5OjU4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYXZvaWQgZG93bmxvYWRpbmcgbm90LWxpbmtlZCBzdHJlYW1zCgkgIFdoZW4gYSBzdHJlYW0gZ2V0cyBhIG5vdC1saW5rZWQgcmV0dXJuLCBpdCB3aWxsIGJlIG1hcmtlZCBhcyBzbyBhbmQKCSAgd29uJ3QgZG93bmxvYWQgYW55IG1vcmUgbmV3IGZyYWdtZW50cyB1bnRpbCBhIHJlY29uZmlndXJlIGV2ZW50CgkgIGlzIHJlY2VpdmVkLiBUaGlzIHdpbGwgbWFrZSBtc3NkZW11eCBleHBvc2UgYWxsIHBhZHMsIGJ1dCBvbmx5IGRvd25sb2FkCgkgIGZyYWdtZW50cyBmb3IgdGhlIHN0cmVhbXMgdGhhdCBhcmUgYWN0dWFsbHkgYmVpbmcgdXNlZC4KCSAgUmVseWluZyBvbiB0aGUgcGFkcyBiZWluZyBsaW5rZWQvdW5saW5rZWQgaXNuJ3QgZW5vdWdoIGluIHRoaXMgc2NlbmFyaW8KCSAgYXMgdGhlcmUgbWlnaHQgYmUgYW4gaW5wdXQtc2VsZWN0b3IgZG93bnN0cmVhbSB0aGF0IGlzIGFjdHVhbGx5IGRpc2NhcmRpbmcKCSAgYnVmZmVycyBmb3IgYSBnaXZlbiBsaW5rZWQgcGFkLgoJICBXaGVuIHN0cmVhbXMgYXJlIHN3aXRjaGluZywgdGhlIG9sZCBhY3RpdmUgc3RyZWFtIGNhbiBiZSBibG9ja2VkIGJlY2F1c2UKCSAgaW5wdXQtc2VsZWN0b3Igd2lsbCBibG9jayBub3QtbGlua2VkIHN0cmVhbXMuIEluIGNhc2UgdGhlIG1zc2RlbXV4J3MKCSAgc3RyZWFtIGxvb3AgaXMgYmxvY2tlZCBwdXNoaW5nIGEgYnVmZmVyIHRvIGEgZnVsbCBxdWV1ZSBkb3duc3RyZWFtIGl0IHdpbGwKCSAgbmV2ZXIgdW5ibG9jayBhcyB0aGUgcXVldWUgd2lsbCBub3QgZHJhaW4gKGlucHV0LXNlbGVjdG9yIGlzIGJsb2NraW5nKS4KCSAgSW4gdGhpcyBzY2VuYXJpbywgc3RyZWFtIHN3aXRjaGluZyB3aWxsIGRlYWRsb2NrIGFzIGlucHV0LXNlbGVjdG9yIGlzCgkgIHdhaXRpbmcgZm9yIHRoZSBuZXdseSBhY3RpdmUgc3RyZWFtIGRhdGEgYW5kIHRoZSBzdHJlYW1fbG9vcCB0aGF0IHdvdWxkCgkgIHB1c2ggdGhpcyBkYXRhIGlzIGJsb2NrZWQgd2FpdGluZyBmb3IgaW5wdXQtc2VsZWN0b3IuCgkgIFRvIHNvbHZlIHRoaXMgaXNzdWUsIHdoZW5ldmVyIGFuIHN0cmVhbSBpcyByZWFjdGl2YXRlZCBvbiBhIHJlY29uZmlndXJlCgkgIGl0IHdpbGwgZW50ZXIgaW50byB0aGUgJ2NhdGNoIHVwIG1vZGUnLCBpbiB0aGlzIG1vZGUgaXQgY2FuIHB1c2ggYnVmZmVycwoJICBmcm9tIGl0cyBkb3dubG9hZCB0aHJlYWQgdW50aWwgaXQgcmVhY2hlcyB0aGUgY3VycnJlbnQgR3N0U2VnbWVudCdzIHBvc2l0aW9uLgoJICBUaGlzIHdvcmtzIGJlY2F1c2UgdGhpcyB0aW1lc3RhbXAgd2lsbCBhbHdheXMgYmUgYmVoaW5kIG9yIGVxdWFsIHRvIHRoZSBtYXhpbXVtCgkgIHRpbWVzdGFtcCBwdXNoZWQgZm9yIGFsbCBzdHJlYW1zLCBhZnRlciBwdXNoaW5nIGRhdGEgZm9yIHRoaXMgdGltZXN0YW1wLAoJICB0aGUgc3RyZWFtIHdpbGwgZ28gYmFjayB0byBkZWZhdWx0IGFuZCBiZSBwdXNoZWQgc2VxdWVudGlhbGx5IGZyb20gdGhlIG1haW4KCSAgc3RyZWFtaW5nIHRocmVhZC4gQnkgdGhpcyB0aW1lLCB0aGUgaW5wdXQtc2VsZWN0b3Igc2hvdWxkIGhhdmUgYWxyZWFkeQoJICByZWxlYXNlZCB0aGUgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ5CgoyMDEzLTEyLTE4IDE2OjI2OjE3IC0wNTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBkb2N1bWVudGF0aW9uIG9mIEdzdE1wZWdWaWRlb1NlcXVlbmNlU2NhbGFibGVNb2RlCgoyMDEzLTEyLTE4IDEzOjQ4OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBEb24ndCBpbmNsdWRlIGxpYnJhcmllcyBpbiB0aGUgZ2VuZXJpYyBnc3QtcGx1Z2lucy1iYWQgcGMgZmlsZQoKMjAxMy0xMi0xOCAxMzo0NToyMiArMDEwMCAgTWFyaXVzeiBCdXJhcyA8bWFyaXVzei5idXJhc0B5b3V2aWV3LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIG1wZWd0czogSW5zdGFsbCBnZW5lcmF0ZWQgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjczCgoyMDEzLTEyLTE3IDEwOjAxOjQyICswMTAwICBEYXZpZGUgQmVydG9sYSA8ZGFkZUBkYWRlYi5pdD4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBFbmFibGUgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZGVjb2Rpbmcgb24gMTAuOQoKMjAxMy0xMi0xNyAxMjoxNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsOiBGaXggaW5kZW50aW9uCgoyMDEzLTEyLTE3IDEyOjA2OjEzICswMTAwICBIYXJpZGFzcyBTZWx2YXJhaiA8aGFyaWRhc2pAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJICBjdXJsZnRwc2luazogT3B0aW9uYWxseSBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSBkdXJpbmcgRlRQIHRyYW5zZmVyL3VwbG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjIwCgoyMDEzLTEyLTE3IDEwOjIzOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogR2l2ZSBwcmVmZXJlbmNlIHRvIHRoZSBvcmRlciBvZiB0aGUgZmlsdGVyIGNhcHMgd2hlbiBxdWVyeWluZyBjYXBzCgoyMDEzLTEyLTE3IDEwOjIxOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogT25seSBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaWYgdGhlcmUgYWN0dWFsbHkgaXMgYSBmaWx0ZXIKCjIwMTMtMTItMTUgMjE6MDU6MzEgLTA4MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogU29tZSBjb21waWxlciB3YXJuaW5nIGZpeGVzIHRvIHNhdGlzZnkgWENvZGUgY29tcGlsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMwoKMjAxMy0xMi0xNiAxNjowNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogUmVhZCBpbWFnZS1kZXNjcmlwdGlvbiBmcm9tIHRoZSBpbmZvIHN0cnVjdHVyZSwgbm90IHRoZSBjYXBzCgoyMDEzLTEyLTE2IDExOjE0OjI5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCB0eXBvIGluIGJ6MiBjaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTMyCgoyMDEzLTEyLTE2IDExOjUxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBXcml0ZSBpbWFnZS10eXBlIGludG8gdGhlIEFQSUMgdGFnCgoyMDEzLTEyLTE2IDEwOjI1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoyNDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBwbmdwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MjI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVc2UgcGJ1dGlscyBBUEkgdG8gY3JlYXRlIHRoZSBWSURFT19DT0RFQyB0YWcgc3RyaW5nCgoyMDEzLTEyLTE2IDEwOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkgIGgyNjVwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE2OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSAgZGlyYWNwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTQgMTg6MTI6NTMgLTA1MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IFByb2Nlc3MgRU9TIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gaW5jb21pbmcgdmlkZW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTEyLTE0IDE1OjU1OjQyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBoYW5kbGUgbGV2ZWwgMyBpbiBnZXRfZHBiX21heF9tYl9zX2Zyb21fbGV2ZWwuIG9vcHMuCgoyMDEzLTEyLTE0IDE1OjU1OjIyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBmaXggbXAzIGNhcHMKCjIwMTMtMTItMTQgMTg6NDI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogU2V0IEdTVF9FTEVNRU5UX0ZMQUdfU09VUkNFIG9uIHRoZSBzb3VyY2UKCSAgQXMgaXQgZG9lcyBub3QgaW5oZXJpdCBmcm9tIGJhc2VzcmMsIHRoaXMgZmxhZyBpcyBub3QgYXV0b21hdGljYWxseSBzZXQKCSAgYW5kIGUuZy4gZ3N0X2Jpbl9pdGVyYXRlX3NvdXJjZXMoKSBhbmQgb3RoZXIgY29kZSBkb2VzIG5vdCBjb25zaWRlciB0aGlzCgkgIGVsZW1lbnQgYSBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMTItMTQgMTM6MzI6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGFkZCBtaXNzaW5nIEFNX0NPTkRJVElPTkFMIGZvciBPUEVORVhSIGFuZCBTQkMKCSAgTWFrZXMgbXkgYXV0b21ha2UgKDEuMTQpIGhhcHBpZXIuCgoyMDEzLTEyLTE0IDEzOjMwOjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhbHdheXMgaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggbmV3ZXN0IHhjb2RlLgoKMjAxMy0xMi0xMiAxNzo0OToyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBub3QgYWxsIHN0YXJ0Y29kZXMgc2hvdWxkIGhhdmUgMy1ieXRlIDAgcHJlZml4CgkgIFRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0IGV2ZXJ5IHRpbWUgdGhlcmUgaXMgYSAwIGJlZm9yZSB0aGUgc3RhcnRjb2RlLAoJICBpdCBpcyBwYXJ0IG9mIHRoZSBzdGFydGNvZGUuIEJ1dCB0aGF0J3Mgbm90IHRydWUuCgkgIEZyb20gdGhlIHNwZWNpZmljYXRpb24KCSAgQnl0ZSBzdHJlYW0gTkFMIHVuaXQgc3ludGF4CgkgIHplcm9fYnl0ZSBpcyBhIHNpbmdsZSBieXRlIGVxdWFsIHRvIDB4MDAuCgkgIFdoZW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgZnVsZmlsbGVkLCB0aGUgemVyb19ieXRlIHN5bnRheAoJICBlbGVtZW50IHNoYWxsIGJlIHByZXNlbnQuCgkgIOKAkyB0aGUgbmFsX3VuaXRfdHlwZSB3aXRoaW4gdGhlIG5hbF91bml0KCApIGlzIGVxdWFsIHRvIDcgKHNlcXVlbmNlIHBhcmFtZXRlcgoJICBzZXQpIG9yIDggKHBpY3R1cmUgcGFyYW1ldGVyIHNldCkKCSAg4oCTIHRoZSBieXRlIHN0cmVhbSBOQUwgdW5pdCBzeW50YXggc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBmaXJzdCBOQUwgdW5pdCBvZiBhbgoJICBhY2Nlc3MgdW5pdCBpbiBkZWNvZGluZyBvcmRlciwgYXMgc3BlY2lmaWVkIGJ5IHN1YmNsYXVzZSA3LjQuMS4yLjMuCgkgIFRoZSBwcm9ibGVtIHdpdGggZG9pbmcgdGhpcyBmb3IgYWxsIHN0YXJ0Y29kZXMgaXMgdGhhdCBhIHRyYWlsaW5nIHplcm8gY2FuIG1lc3MKCSAgdXAgdGltZXN0YW1wcy4gVGhlIHRyYWlsaW5nIHplcm8gZ2V0cyBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0Y29kZSwgd2hpY2ggd2lsbAoJICBjYXJyeSB0aGUgUFRTIGFuZCBEVFMgb2YgcHJldmlvdXMgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NDQzCgoyMDEzLTEyLTEwIDExOjI3OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZwYXJzZTogYWRkIHRpbWVzdGFtcHMgdG8gcGFja2V0cwoJICByZS1lbmFibGUgdGhlIGNvZGUgdGhhdCBhZGRzIHRpbWVzdGFtcHMgdG8gcGFja2V0cyBhZnRlciBiYXNlcGFyc2UncwoJICBwb3J0CgoyMDEzLTEyLTEwIDEwOjM0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkgIGFzZnBhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoJICBhc2ZwYXJzZSB3YXMgbm90IHJlYWxseSBmdW5jdGlvbmFsIGFmdGVyIHRoZSBwb3J0IHRvIDEuMAoJICBOb3cgcG9ydGluZyBpdCB0byBiYXNlcGFyc2UgdG8gZ2V0IGl0IHdvcmtpbmcgYWdhaW4KCjIwMTMtMTItMTMgMTE6NDk6NTIgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggcmVhZGluZyBvZiBkaXNwbGF5IHdpbmRvdyBpbiBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudAoJICBGcm9tIEVUU0kgRU4gMzAwIDc0MyBWMS4zLjEgKDIwMDYtMTEpIDcuMi4xIERpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHNwZWNpZmljdGF0aW9ucwoJICB0aGUgcGFyYW1ldGVycyBvZiBkaXNwbGF5IHdpbmRvdyBhcmUgaW4gdGhpcyBvcmRlcjogWG1pbiwgWG1heCwgWW1pbiwgWW1heC4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIFNpZ25lZC1vZmYtYnk6IFBpZXJyZS1ZdmVzIE1vcmRyZXQgPHBpZXJyZS15dmVzLm1vcmRyZXRAc3QuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzgyCgoyMDEzLTEyLTEzIDE0OjE2OjQ5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHNydHA6IGFkZCAyNTYtYml0IGtleSBzdXBwb3J0CgkgICogZXh0L3NydHAvZ3N0c3J0cC5bY2hdOiBhZGRlZCBHU1RfU1JUUF9DSVBIRVJfQUVTXzI1Nl9JQ00gdG8KCSAgR3N0U3J0cENpcGhlclR5cGUgYW5kIG5ldyBmdW5jdGlvbiBjaXBoZXJfa2V5X3NpemUuCgkgICogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOiBtYXhpbXVtIGtleSBzaXplIGlzIG5vdyA0NiBjaGFyYWN0ZXJzICgxNCBmb3IKCSAgdGhlIHNhbHQgcGx1cyB0aGUga2V5KS4gSWYgZGlmZmVyZW50IGNpcGhlcnMgYXJlIGNob3NlbiBmb3IgUlRQIGFuZAoJICBSVENQIHRoZSBtYXhpbXVtIG5lZWRlZCBrZXkgc2l6ZSBpcyBleHBlY3RlZC4KCSAgKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6IG1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDQzNAoKMjAxMy0xMi0xMiAxMzoyMToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogcHJvY2VzcyBhbGwgYXZhaWxhYmxlIGlucHV0IGZyYW1lcyBpbiBvbmUgZ28KCSAgSW5zdGVhZCBvZiBwYXJzaW5nLCBkZWNvZGluZyBhbmQgc2VuZGluZyBvdXQKCSAgbG90cyBvcyBsaXR0bGUgMjBtcyBhdWRpbyBidWZmZXJzIG9uZSBieSBvbmUuCgoyMDEzLTEyLTExIDE4OjUyOjUzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggY29tcGlsZXIgd2FybmluZyAodW5pbml0aWFsaXplZCB2YXJpYWJsZSkKCjIwMTMtMTItMTEgMDg6MTE6NTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbmFtZSByZW9yZGVyX3F1ZXVlX2ZyYW1lX2RlbGF5IHRvIHJlb3JkZXJfcXVldWVfbGVuZ3RoCgoyMDEzLTEyLTExIDA4OjEwOjE5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZXBvcnQgbGF0ZW5jeQoKMjAxMy0xMi0xMSAwNzo1ODoyMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHJlb3JkZXIgcXVldWUgbGVuZ3RoIHRvIHRoZSBtYXggRFBCIGxlbmd0aAoJICBTZXQgcmVvcmRlcl9xdWV1ZV9mcmFtZV9kZWxheSBmcm9tIHRoZSBEUEIgc2l6ZSAoaW4gZnJhbWVzKS4gU3RpbGwgbm90IG9wdGltYWwsCgkgIGFzIHRoZSBEUEIgc2l6ZSBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4IGJmcmFtZSBmb3J3YXJkIHByZWRpY3Rpb24gbGVuZ3RoLCBidXQgSQoJICBkb24ndCBrbm93IGhvdyB0byBjb21wdXRlIHRoZSBsYXR0ZXIgd2l0aG91dCBwYXJzaW5nIGV2ZXJ5IGdyb3VwIG9mIHBpY3R1cmVzLgoKMjAxMy0xMi0xMCAyMzowNjo1MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIHNvdW5kdG91Y2g6IENhbGwgZGVmYXVsdCBldmVudCBoYW5kbGVyIGZvciBiYXNldHJhbnNmb3JtCgkgIE1ha2UgcGlwZWxpbmUgZW5kIHByb3Blcmx5IGF0IEVPUyBhbmQgbm90IGxlYWsgYnkgcGFzc2luZyBldmVudHMKCSAgdG8gdGhlIGRlZmF1bHQgZXZlbnQgaGFuZGxlci4KCjIwMTMtMTItMDYgMDA6NDU6NTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcmFjeSBnbGliIHdhcm5pbmcuCgkgIFNvbWV0aW1lcywgdGhlIHBhZCBwcm9iZXMgY2FuIGJlIGNhbGxlZCB0d2ljZSAtIGZvciBPT0IgZXZlbnRzCgkgIHRyYXZlbGxpbmcgZG93bnN0cmVhbS4gQ2xlYXIgb3V0IHRoZSBwYWQgYmxvY2sgaWQsIHNvIGl0IG9ubHkKCSAgZ2V0cyByZW1vdmVkIG9uY2UuCgoyMDEzLTEyLTA2IDAwOjIyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBmaXggZGVjb2Rpbmcgb2YgYXVkaW8vbXMtZ3NtIHZhcmlhbnQKCSAgQWx0ZXJuYXRlcyBiZXR3ZWVuIDMzIGFuZCAzMiBieXRlIGZyYW1lcywgYnV0IG11c3Qgc3RhcnQKCSAgd2l0aCBhIDMzIGJ5dGUgZnJhbWUuIFRoaXMgaGFzIGJlZW4gYnJva2VuIGZvciBhZ2VzIHNpbmNlCgkgIHRoZSBlbGVtZW50IHdhcyBwb3J0ZWQgdG8gdGhlIGF1ZGlvIGRlY29kZXIgYmFzZSBjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNgoKMjAxMy0xMi0xMCAxMToxMDo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCB0aGUgY29ycmVjdCB2aWRlbyBmb3JtYXQgaW4gdGhlIHZpZGVvIG1ldGEKCSAgRml4ZXMgYWxsIGtpbmRzIG9mIHdlaXJkIGJ1Z3Mgd2hlbiB2aWRlb2NvbnZlcnQgaXMgdXNlZCB3aXRoIHRoZSBkZWNvZGVyLgoKMjAxMy0wNC0xNyAxMDo0NDo0OCArMDgwMCAgQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBpY3R1cmUgbGV2ZWwgc2NhbGluZyBsaXN0cyBkZXJpdmF0aW9uIChydWxlIEIpLgoJICBGaXggcGljdHVyZSBsZXZlbCBzY2FsaW5nIGxpc3RzIGRlcml2YXRpb24gZnJvbSBmYWxsLWJhY2sgcnVsZSBzZXQgQiwKCSAgYXMgc3BlY2lmaWVkIGluIDcuNC4yLjIuIE1vcmUgcHJlY2lzZWx5LCB0aGUgc2VxdWVuY2UgbGV2ZWwgc2NhbGluZwoJICBsaXN0cyBuZWVkIHRvIGJlIHVzZWQgYnV0IGludHJhIGFuZCBpbnRlciBsaXN0cyBhcmd1bWVudHMgd2VyZSBzd2FwcGVkLgoJICBUaGlzIGZpeGVzIEZSRXh0L2ZyZWg1LjI2NCBmcm9tIGNvbmZvcm1hbmNlIHRlc3RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAwOTkKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0xMi0wOCAxNjo0Njo1OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBzZXQgdGhlIGNvcnJlY3Qgc3RyaWRlIGZvciBwYWNrZWQgZm9ybWF0cwoKMjAxMy0xMi0wOCAxNTozMTowOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IG1wZWcyIHZpZGVvIHN1cHBvcnQKCjIwMTMtMTItMDggMTU6MjU6MjcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IG1ha2UganBlZyBkZWNvZGluZyBhY3R1YWxseSB3b3JrCgoyMDEzLTEyLTA4IDE1OjI0OjU4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmYWlsIGdyYWNlZnVsbHkgd2hlbiBub3QgbmVnb3RpYXRlZAoKMjAxMy0xMi0wNyAyMzo1NToxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJld3JpdGUgVmlkZW9Ub29sYm94IGRlY29kZXIgYmFzZWQgb24gR3N0VmlkZW9EZWNvZGVyCgoyMDEzLTEyLTA2IDIxOjExOjMyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5oOgoJICB2bWNuZGVjOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZQoJICBGb3Jnb3QgdG8gYWRkIGhlYWRlciBmaWxlIHRvIHByZXZpb3UgY29tbWl0CgoyMDEzLTEyLTA2IDIwOjU4OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA2IDE3OjU4OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBzdGVyZW86IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDYgMTc6MTA6MzkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA1IDE2OjUwOjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBVc2UgR3N0UlRQQmFzZVBheWxvYWQgbWV0aG9kIHRvIHB1c2ggYnVmZmVyCgkgIFRoaXMgd2F5IHRoZSBldmVudCBpcyBhbHNvIHB1c2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMi0wNSAxMjowNTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiY2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBzaXJlbmRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTE6NDk6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDk6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmNkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0OToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkgIGRhYWxhZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDQgMTc6MzE6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IEFsc28gaW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBpbiBwYXJzZV9zZXF1ZW5jZV9oZWFkZXIKCSAgQWxzbyByZW1vdmUgdGhlIHVzZWxlc3MgaW5pdGlhbGl6ZWQgZmxhZywgdGhpcyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIG1hY3JvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2NTcKCjIwMTMtMTItMDQgMjI6Mzg6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogSW5zdGVhZCBvZiB0cnlpbmcgdG8gcGFyc2UgdGhlIGJpdHN0cmVhbSwganVzdCBsb29rIGZvciB0aGUgbmV4dCBoZWFkZXIKCSAgVGhpcyBzaG91bGQgYmUgbW9yZSByb2J1c3QgYW5kIGFsbG93cyB1cyB0byBoYW5kbGUgbmV3IHZlcnNpb25zIG9mIHRoZQoJICBmaWxlIGZvcm1hdCBpZiB0aGUgbGlicmFyeSBzdXBwb3J0cyBpdC4KCjIwMTMtMTItMDQgMDk6MTM6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBBQ0NFUFRfSU5URVJTRUNUCgkgIFdlIGNhbiBhbHNvIGFjY2VwdCBjYXBzIHdpdGggbWlzc2luZyBmaWVsZHMuCgoyMDEzLTEyLTA0IDA5OjAzOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiByZW1vdmUgZmllbGRzIGZyb20gZmlsdGVyCgkgIERvbid0IGZpbHRlciBvdXQgdGhlIGNhcHMgcHJvcGVydGllcyB3ZSBjYW4gY29udmVydCBiZXR3ZWVuIHdoZW4KCSAgcHJveHlpbmcgdGhlIGdldGNhcHMgcXVlcnkgdG8gdGhlIGRvd25zdHJlYW0gcGVlciBwYWQuCgoyMDEzLTEyLTA0IDA5OjAwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiByZWZhY3RvciByZW1vdmVfZmllbGRzIGluIGdldGNhcHMKCjIwMTMtMTItMDMgMTQ6NTM6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2hlY2sgY29sb3IgZm9ybWF0CgoyMDEzLTEyLTAzIDE0OjQ3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgdmlkZW8gbWV0YQoKMjAxMy0xMi0wMyAxNDo0NjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IFVzZSBHc3RWaWRlb0ZyYW1lIEFQSSBmb3IgYmV0dGVyIGhhbmRsaW5nIG9mIHN0cmlkZXMKCSAgQW5kIGRvIHByb3BlciBzdHJpZGUgY29udmVyc2lvbi4KCjIwMTMtMTItMDMgMTQ6MzU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IGJ1ZmZlciBoYW5kbGluZyB0byBhY3R1YWxseSB3b3JrIGFuZCBwcm9wZXJseSB0aW1lc3RhbXAgYnVmZmVycwoKMjAxMy0xMi0wMyAxNDozNTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBEb24ndCBzaHV0IGRvd24gbGlicmFyeSB3aGVuIGZpbmFsaXppbmcgYW4gZWxlbWVudCBpbnN0YW5jZQoKMjAxMy0xMi0wMyAxNDozNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggbmVnb3RpYXRpb24gYW5kIGNyZWF0aW9uIG9mIGEgdmlkZW8gYnVmZmVyIHBvb2wKCjIwMTMtMTItMDMgMTQ6MzQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogVXNlIGRlYnVnIGNhdGVnb3J5IHByb3Blcmx5CgoyMDEzLTEyLTAyIDE3OjAzOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENsYXNzaWZpY2F0aW9uIG9mIHRoZSBlbGVtZW50IHNob3VsZCBiZSBTb3VyY2UvVmlkZW8KCjIwMTMtMTItMDIgMTc6MDE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogVXNlIEdzdFZpZGVvSW5mbyB0byBjcmVhdGUgY2FwcyBhbmQgZG9uJ3QgbGVhayB0aGVtCgoyMDEzLTEyLTAyIDE2OjU5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIG1pbm9yIGZpeGVzCgoyMDEzLTEyLTAyIDExOjE3OjAyICswMTAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm5pMi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMi5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTogQWRkIE9wZW5OTkkyIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4OTE0CgoyMDEzLTEyLTAyIDEwOjI4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogR19ERUZJTkVfVFlQRSgpIGFscmVhZHkgY2FsbHMgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KCkgZm9yIHVzCgoyMDEzLTEyLTAyIDEwOjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW1vdmUgZW1wdHkgR09iamVjdDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbnMKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEzLTEwLTIwIDIyOjA0OjM4ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkIGEgMkQgcGVyc3BlY3RpdmUgdHJhbnNmb3JtIHBsdWdpbgoJICBUaGUgcGVyc3BlY3RpdmUgcGx1Z2luIGFwcGxpZXMgYSAyRCBwZXJzcGVjdGl2ZSAoYWxzbyBjYWxsZWQgcHJvamVjdGl2ZSkKCSAgdHJhbnNmb3JtIHRvIHRoZSBmcmFtZSBidWZmZXIuCgkgIEEgcGVyc3BlY3RpdmUgdHJhbnNmb3JtIGNhbiBiZSB1c2VkIGZvciBpbnN0YW5jZSB0byBwZXJmb3JtIGtleXN0b25lCgkgIGNvcnJlY3Rpb24gd2hlbiBwbGF5aW5nIHRoZSBjb250ZW50IHdpdGggYSB2aWRlbyBwcm9qZWN0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4MTAKCjIwMTMtMTItMDEgMjM6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBhdm9pZCBsaXN0IGZvciBvbmUgc2luZ2xlIHZhbHVlIGluIHRlbXBsYXRlIGNhcHMKCjIwMTMtMTItMDEgMjI6MzI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBnc3RfYnVmZmVyX2dldF9zaXplKCkgY2FsbHMKCjIwMTMtMTEtMjkgMTM6MjM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IGluaXQgcnRwIGJ1ZmZlciBmaXhpbmcgcnRwIHBhY2tldCBjcmVhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTExLTI5IDEzOjIyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBkb24ndCB1c2UgYnVmZmVyIGFmdGVyIGdpdmluZyBhd2F5IG93bmVyc2hpcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTExLTI5IDEwOjE0OjQzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMy0xMS0yNSAxNjo1NzowMCArMDAwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogRG9uJ3QgdHJ5IHRvIHNldCBmcmFtZXJhdGUgaWYgbm90IGZyb20gdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTE2NgoKMjAxMy0xMS0yOCAxNToxMDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHNwbGl0dGluZyBvZiBtdWx0aXBsZSBOQUxVIHBlciBidWZmZXIKCSAgQ29udmVyc2lvbiB0byBieXRlLXN0cmVhbS9uYWwgY3Jhc2hlcyB3aXRob3V0IHRoYXQgYmVjYXVzZSB0aGUKCSAgYmFzZXBhcnNlIGZyYW1lIG9mIGFsbCBOQUxVcyBpcyBmaW5pc2hlZCBmb3IgdGhlIGZpcnN0IE5BTFUsIHRoZW4KCSAgdXNlZCBhZ2FpbiBmb3IgcGFyc2luZyB0aGUgc2Vjb25kIE5BTFUuIEp1c3QgdGhhdCBub3cgdGhlIGJ1ZmZlcgoJICBvZiB0aGUgZnJhbWUgaXMgYWxyZWFkeSBnb25lLiBJbnN0ZWFkIHdlIGNyZWF0ZSB0ZW1wb3JhcnkgZnJhbWVzCgkgIGZvciBldmVyeSBOQUxVLgoKMjAxMy0xMC0zMSAxNzoxNjoxNCArMDEwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzZXR0aW5nIGNvZGVjX2RhdGEgd2hlbiB1c2luZyBXYXZlRm9ybWF0RXgKCSAgV2hlbiB1c2luZyBXYXZlRm9ybWF0RXggdGhlIGFjdHVhbCBjb2RlYyBwcml2YXRlIGRhdGEgaXMgYXQgdGhlIGVuZCBvZgoJICB0aGUgd2F2IGhlYWRlciBzdHJ1Y3R1cmUsIGFmdGVyIHRoZSBjYlNpemUgZmllbGQsIHNlZSBmb3IgZXhhbXBsZSB0aGUKCSAgbm90ZXMgYXQgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9V0FWRUZPUk1BVEVYCgkgIFRoZSBwcmV2aW91cyBjb2RlIHdhcyBlcnJvbmVvdXNseSBwYXNzaW5nIHRoZSB3aG9sZSBXQVZFRk9STUFURVgKCSAgc3RydWN0dXJlIGFzIGNvZGVjX2RhdGEuCgkgIFRoZSBzbW9vdGhzdHJlYW1pbmcgc3BlY2lmaWNhdGlvbnNbMSwyLDNdIGFsd2F5cyBtZW50aW9uIFdBVkVGT1JNQVRFWAoJICBhbmQgbmV2ZXIgc21hbGxlciBzdHJ1Y3R1cmVzIGxpa2UgV0FWRUZPUk1BVCBvciBQQ01XQVZFRk9STUFULCBzbyB0aGUKCSAgYnVmZmVyIGNhbiBhc3N1bWVkIHRvIGJlIGF0IGxlYXN0IDE4IGJ5dGVzIGFuZCBhbHdheXMgY29uc3VtaW5nIHRoZSB3YXYKCSAgaGVhZGVyIGdpdmVzIHRoZSAocG9zc2libHkgZW1wdHkpIGNvZGVjIHByaXZhdGUgZGF0YS4KCSAgWzFdIGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTIwOTA3MDA0NzQyL2h0dHA6Ly93d3cuaWlzLm5ldC9jb21tdW5pdHkvZmlsZXMvbWVkaWEvc21vb3Roc3BlY3MvJTVCTVMtU01USCU1RC5wZGYKCSAgWzJdIGh0dHA6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkL0IvMC9CL0IwQjE5OURCLTQxRTYtNDAwRi05MENELUMzNTBEMEMxNEE1My8lNUJNUy1TU1RSJTVELnBkZgoJICBbM10gaHR0cDovL2Rvd25sb2FkLm1pY3Jvc29mdC5jb20vZG93bmxvYWQvOS81L0UvOTVFRjY2QUYtOTAyNi00QkIwLUE0MUQtQTRGODE4MDJEOTJDLyU1Qk1TLVNTVFIlNUQucGRmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMTAtMzEgMTU6NTg6MjcgKzAxMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiB1c2UgbXNzZGVtdXhfZGVidWcgZGVidWcgY2F0ZWdvcnkgZm9yIGdzdG1zc21hbmlmZXN0LmMgdG9vCgoyMDEzLTEwLTE2IDE2OjIyOjM2ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGNvZGluZyBzdHlsZQoKMjAxMy0xMS0yNSAxNToxNzozMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBEb24ndCB1bm1hcCBhbiB1bnJlZmZlZCBidWZmZXIKCSAgZ3N0X2R2ZF9zcHVfZmluaXNoX3NwdV9idWYgZHJvcHMgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudAoJICBidWZmZXIsIHNvIG1ha2Ugc3VyZSB0byBjYWxsIGdzdF9idWZmZXJfdW5tYXAgYmVmb3JlIGl0LgoKMjAxMy0xMS0yMyAxOToxMTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBDb25zaWRlciB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHN0b3JlZCBpbiB0aGUgZmlsZQoKMjAxMy0xMS0yMyAxODozNzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmg6CgkgIG9wZW5leHI6IEFkZCBPcGVuRVhSIGRlY29kZXIgZWxlbWVudAoJICBUaGlzIGN1cnJlbnRseSBjb252ZXJ0cyBmcm9tIEFSR0I2NF9GMTYgKDE2IGJpdCBmbG9hdCBwZXIgY29tcG9uZW50KQoJICB0byBBUkdCNjQgYnkgY2xpcHBpbmcuIFdlIHNob3VsZCBhZGQgc3VwcG9ydCBmb3IgdGhlIEYxNiBmb3JtYXQgYW5kCgkgIGltcGxlbWVudCBhIGNvbnZlcnNpb24gZmlsdGVyIGVsZW1lbnQgdGhhdCBjYW4gYXBwbHkgZ2FtbWEgY3VydmVzLAoJICBjaGFuZ2UgZXhwb3N1cmUsIGV0Yy4KCjIwMTMtMTEtMjMgMTE6Mjk6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5oOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5oOgoJICBvcGVuZXhyOiBBZGQgT3BlbkVYUiBwbHVnaW4KCSAgU2VlIGh0dHA6Ly93d3cub3BlbmV4ci5jb20KCjIwMTMtMTEtMjMgMTE6MzU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBGaXggbmFtZXMgb2YgZGVidWcgY2F0ZWdvcmllcwoKMjAxMy0xMS0yMyAxNDozNTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogcG9wIG5ldyBwYWNrZXQgd2hlbiBpbnZhbGlkIG5leHQgY29tbWFuZCBibG9jawoJICAuLi4gdG8gcHJldmVudCBzdGF5aW5nIHN0dWNrIG9uIGN1cnJlbnQgY29tbWFuZCBibG9jayBhbmQgYnVzeSBsb29waW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjE5CgoyMDEzLTExLTIzIDExOjIzOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFjY2VwdCBWaWRlb09iamVjdExheWVyIGFzIHN0YXJ0IG9mIGZyYW1lIGFuZCBjb25maWcKCSAgLi4uIHdoaWNoIGl0IGRlc2VydmVzIGFzIG11Y2ggYXMgVmlkZW9PYmplY3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc1NjQKCjIwMTMtMTEtMjEgMTU6NTQ6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQKCSAgSnVzdCB1c2UgcGxhaW4gbWVtbW92ZSgpLCBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkIGluCgkgIHJlY2VudCBHTGliIHZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODExCgoyMDEzLTExLTIwIDEyOjQ2OjIzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogSGFuZGxlIHZvYnN1YiBwYWNrZXRzIHNtYWxsZXIgdGhhbiA0IGJ5dGVzCgkgIEluIHBhcnRpY3VsYXIsIGhhbmRsZSB0aGUgY2FzZSBvZiBhbiBlbXB0eSBwYWNrZXQgd2l0aCBzaXplIDAgYnl0ZXMuCgkgIFBhcnRpYWxseSBmaXhlczogIzcxMjY0MwoKMjAxMy0xMS0xOSAyMDoxODo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogU2V0IHRoZSBmaXJzdCBzZXNzaW9uIGZsYWcgdG8gZmFsc2Ugb25jZSBvbmUgaXMgY3JlYXRlCgkgIE90aGVyd2lzZSBpdCBhbHdheXMgdGhpbmtzIGl0J3MgdGhlIGZpcnN0IHNlc3Npb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0OTUKCjIwMTMtMTEtMTkgMjA6MTI6NTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogTWFrZSBzdXJlIHRoYXQgc3RyZWFtLWlkL2NhcHMvc2VnbWVudCBhcmUgc2VudCBiZWZvcmUgYnVmZmVycwoJICBJdCBtYXkgYmUgcG9zc2libGUgdGhhdCBvbmx5IG9uZSBvZiB0aGUgdHdvIHNpbmsgcGFkcyBpcyBsaW5rZWQgaW4gdGhhdCBjYXNlLAoJICB0aGUgZXZlbnRzIG5lZWQgdG8gYmUgY3JlYXRlZCBmcm9tIHRoZSBvdGhlciBwYWQuCgoyMDEzLTExLTE5IDE5OjEwOjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBQYXNzIGlzX3J0Y3AgdG8gc2V0Y2FwcyBmdW5jdGlvbgoKMjAxMy0wNC0wNCAxNzo1OTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cDogSW1wbGVtZW50IFNSVENQIGRlbXVsdGlwbGV4aW5nCgkgIFNlcGFyYXRlIG11bHRpcGxleGVkIFJUUCBhbmQgUlRDUCBpZiB0aGV5IGFycml2ZQoJICBvbiB0aGUgcnRwX3NpbmsgcGFkLgoKMjAxMy0xMS0xOSAwMDozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGE6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0xMS0xMyAyMjoyNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdHJ5IHRvIGRlaW5pdCB0aGUgZG93bmxvYWRyYXRlIHdoaWxlIGl0IGlzIHVzZWQKCSAgVGhpcyBjYW4gY2F1c2UgYW4gYXNzZXJ0aW9uIG9yIGRlYWRsb2Nrcy4KCjIwMTMtMTEtMTEgMTY6MzU6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWxzbyBjb25zaWRlciAvbWFuaWZlc3QKCSAgVGhlIHNwZWMgc2F5cyAvTWFuaWZlc3QsIGJ1dCAvbWFuaWZlc3QgaXMgZWFzaWx5IGZvdW5kIG9uIHNvbWUKCSAgc2VydmljZXMsIHNvIGhhbmRsZSB0aGF0LCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAyMjMKCjIwMTMtMTEtMTQgMDk6MDI6MzUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IGNvbXBpbGF0aW9uIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCjIwMTMtMTEtMTMgMTg6NTk6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IEFkZCAtbG0gbmVlZGVkIGJ5IEguMjY1IHBhcnNlcgoKMjAxMy0xMS0xMyAxNzoxNjowNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogUHJveHkgdXBzdHJlYW0gZnJhbWVyYXRlIG9uIHNyY3BhZCBpZiBhdmFsYWlibGUKCSAgSWYgdGhlIHVzZXIgc2V0cyBpdCBoaW1zZWxmIHdpdGggY2Fwc2ZpbHRlciwgdGhlIGluZm9ybWF0aW9uIHNob3VsZCBiZQoJICBrZXB0IGFuZCB0cmFuc21pdHRlZCBkb3duc3RyZWFtLgoKMjAxMy0xMS0xMiAxODozNjowNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFByb3Blcmx5IGFkZCBzdWJ0aXRsZSBkZXNjcmlwdG9yIGZvciBEVmIgc3VicGljdHVyZSBzdWJ0aXRsZXMKCSAgV2Ugd2VyZSBhZGRpbmcgYW4gZW1wdHkgZGVzY3JpcHRvciBmb3IgdGhlbSBhbmQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwoJICBhY3R1YWxseSB1c2UgdGhlbSBvbiBtdXhlZCBzdHJlYW1zLgoKMjAxMy0xMS0xMyAxNDoyODozMCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggbm9uLWVnbCBkaXNwbGF5IGNvbnRleHQgcXVlcnkKCjIwMTMtMTEtMTEgMTY6MTU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGxvb2sgYmV5b25kIHN0YXJ0IGNvZGUgYmVmb3JlIGxlYXBpbmcKCSAgSW4gY2FzZSBtb3JlIGRhdGEgdGhhbiBhIHN0YXJ0IGNvZGUgYWxvbmUgaXMgbmVlZGVkIHRvIGRlY2lkZSB3aGV0aGVyCgkgIGl0IGVuZHMgYSBmcmFtZSwgYXJyYW5nZSBmb3IgbW9yZSBpbnB1dCBkYXRhIGFuZCBkZWNpZGUgd2hlbiBhdmFpbGFibGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMTEgMTM6MjQ6MDggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZGVjbGFyZSBtaXNzaW5nIGluc3RhbmNlIHZhcmlhYmxlcwoJICBGaXhlcyBidWlsZCBvbiAzMi1iaXQgc3lzdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ0CgoyMDEzLTExLTEwIDEyOjE3OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiB0d2VhayBleHRlbnNpb24gaGFuZGxpbmcKCjIwMTMtMTEtMTAgMTI6MTU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZ2VnZGVtdXg6IGRvIG5vdCB1c2UgcHVzaGVkIGJ1ZmZlciBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEzLTExLTA5IDEzOjMyOjIxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hlY2sgZm9yIHNhbWUgVFNOIG9ubHkgZm9yIGludGVybGFjZWQgc3RyZWFtcyAoZml4ZXMgdW5pdCB0ZXN0KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzIxCgoyMDEzLTExLTA5IDEyOjE4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IGZvciB0aGUgT1JDIGNvZGUKCjIwMTMtMTEtMDkgMDk6NDM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3ZwYXJzZTogRml4IGxhc3Qgc3RhcnQgY29kZSBwb3NpdGlvbiB3aGVuIGlucHV0IGJ1ZmZlciBpcyBlbXB0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3YzIzYTZmMjNjMTg1MzMwZDc0YWU0Y2NjZTc5YzM2NDFhMmZhYmFjLgoJICBUaGUgZml4IHdhcyBub3QgY29tcGxldGUsIHNlZSBkaXNjdXNzaW9uIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMDggMjA6MjM6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzb21lIG1vcmUgZWxlbWVudC10eXBlIGFubm90YXRpb25zIGZvciBnLWkKCjIwMTMtMTEtMDcgMjE6Mzc6MjkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBrZWVwIGFuIGV4dHJhIHJlZiB0byB0aGUgaW1hZ2UgYW5kIGRhdGEgYnVmZmVyCgoyMDEzLTExLTA3IDEwOjU3OjIyIC0wNzAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2cGFyc2U6IEZpeCBsYXN0IHN0YXJ0IGNvZGUgcG9zaXRpb24gd2hlbiBpbnB1dCBidWZmZXIgaXMgZW1wdHkKCSAgV2hlbiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5IGFuZCB3ZSBuZWVkIG1vcmUgZGF0YSB0byBkZXRlcm1pbmUKCSAgd2hldGhlciBvciBub3QgdG8gdGVybWluYXRlIHRoZSBwcmV2aW91cyBmcmFtZSwgdGhlIGxhc3Qgc3RhcnQgY29kZQoJICBsb2NhdGlvbiBuZWVkcyB0byBiZSBzZXQgdG8gNCBieXRlcyBiZWZvcmUgdGhlIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIChzaXplIG9mIHN0YXJ0X2NvZGUgaXMgMzItYml0cykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0wNyAxNDozOToyNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEZpeCBiYWQgY29uZGl0aW9uIGluIGgyNjQgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTUKCjIwMTMtMTEtMDcgMTI6Mjk6NDggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZW1lZGlhYnVmZmVyOiB1c2UgY29ycmVjdCByZXRhaW4vcmVsZWFzZSBmdW5jdGlvbnMgb24gQ01TYW1wbGVCdWZmZXJSZWYgYnVmZmVyCgkgIEZpeGVzIGEgY3Jhc2ggd2hpbGUgcmVsZWFzaW5nIHRoZSBzYW1wbGUgYnVmZmVyIGFmdGVyIHRoZSBpbWFnZQoJICBidWZmZXIgaXQgY29udGFpbnMuCgkgIEFsc28gZml4ZXMgYSBtaW5vciBjb2Rpbmcgc3R5bGUgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MDYKCjIwMTMtMTEtMDcgMTQ6MjY6MjIgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgcXRraXR2aWRlb3NyYzogbG93ZXIgcmFuayB0byBHU1RfUkFOS19TRUNPTkRBUlkKCSAgTWFrZXMgYXZmdmlkZW9zcmMgYmUgcHJlZmVyZWQgb3ZlciBxdGtpdHZpZGVvc3JjIHNpbmNlIGl0IGlzIGRlcHJlY2F0ZWQKCSAgd2l0aCBPUyBYIDEwLjkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTQKCjIwMTMtMTEtMDcgMTM6MzM6MzYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXZmdmlkZW9zcmM6IHNldCByYW5rIHRvIEdTVF9SQU5LX1BSSU1BUlkKCSAgTWFrZXMgYXZmdmlkZW9zcmMgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZXRlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTQKCjIwMTMtMTEtMDcgMTI6NDc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvIG5vdCBsb3NlIHJlZiB0byB0aGUgbXVsdGlmaWxlc2luawoJICBJdCBpcyBuZWVkZWQgdG8gdXBkYXRlIGxvY2F0aW9uIHByb3BlcnRpZXMgYW5kIGl0IHdhcyBiZWluZyBsb3N0IG9uCgkgIHN0YXRlIGNoYW5nZXMsIGNhdXNpbmcgaXNzdWVzIGlmIHRoZSBwaXBlbGluZSB3YXMgdG8gYmUgcmV1c2VkCgoyMDEzLTExLTA3IDEyOjM1OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBtYWtlIHN1cmUgaXQgaXMgaGFuZGxlZCBhcyBhIHNpbmsKCSAgSXQgb25seSBnZXRzIHRoZSBzaW5rIGZsYWcgc2V0IHdoZW4gaXQgYWRkcyB0aGUgbXVsdGlmaWxlc2luaywgdGhhdAoJICBoYXBwZW5zIGluIG51bGwtPnJlYWR5IGFuZCBpdCBtaWdodCBiZSB0b28gbGF0ZS4gU2V0IHRoZSBmbGFnCgkgIGV4cGxpY2l0bHkgb24gdGhlIGNvbnN0cnVjdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg2CgoyMDEzLTExLTA3IDEzOjA1OjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXZmdmlkZW9zcmM6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGlPUwoKMjAxMy0xMS0wNyAxMjoyOTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgaW4gaU9TIHdpdGggaXNFcXVhbFRvIGRvZXNuJ3QgZXhpc3RzCgoyMDEzLTExLTA3IDEyOjIwOjMxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCB3aXRoIG9sZGVyIFNESyBub3Qgc3VwcG9ydGluZyBBVkRldmljZUZvcm1hdAoJICBBVkRldmljZUZvcm1hdCBhbmQgQVZGcmFtZVJhdGVSYW5nZSBhcmUgYXZhaWxhYmxlIGluIGlPUyBzaW5jZSA3LjAKCSAgc28gd2UgbmVlZCBhIG1vcmUgZHluYW1pYyBhcHByb2FjaCB0byBzdXBwb3J0IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIKCSAgU0RLJ3MuIFdlIHVzZSBhIE5TT2JqZWN0IHRvIGF2b2lkIHJlZmVyZW5jaW5nIHRob3NlIHR5cGVzIGFuZCBrZXktdmFsdWUKCSAgY29kaW5nIG9yIHByZWZvcm1TZWxlY3RvciB0byBhY2Nlc3MgcHJvcGVydGllcy4KCjIwMTMtMTEtMDcgMDE6Mzg6MjAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGNoZWNrcyBmb3IgSEFWRV9JT1MKCjIwMTMtMTEtMDcgMDE6Mzc6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW5jbHVkZSBjb25maWcuaAoKMjAxMy0xMS0wNiAxODo1MzoyNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0xMS0wNiAxODo1MDo0NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MKCSAgVGhlIHN5bnRoZXNpemUgYmxvY2sgbmVlZHMgdG8gYmUgbW92ZWQgdG8gZml4IGEgY29tcGlsZXIgZXJyb3IKCjIwMTMtMTEtMDYgMTg6NDk6MzUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc29ydCBjYXBzIHdpdGggdGhlIGhpZ2hlc3QgcmVzb2x1dGlvbiBmaXJzdAoJICBXaGVuIHN0YXJ0ZWQgd2l0aG91dCBhbnkgY2FwcyBmaWx0ZXIgd2UgcHJlZmVyIHRoZSBoaWdoZXN0CgkgIHN1cHBvcnRlZCByZXNvbHV0aW9uLgoKMjAxMy0xMS0wNCAxMToxNDozNSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzdXBwb3J0IHNjcmVlbiBjYXB0dXJlIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDMyCgoyMDEzLTEwLTMxIDEzOjA1OjQwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG1pbm9yIGNvc21ldGljCgoyMDEzLTEwLTMxIDEzOjAzOjU4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVzZSBpbnB1dCBkZXZpY2UgZm9ybWF0cyB0byBzZXQvZ2V0IGNhcHMgaWYgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMTEKCjIwMTMtMTAtMjkgMTU6Mzc6MTYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXBkYXRlIGNhcHMgaWYgZnJhbWUgc2l6ZSBoYXMgY2hhbmdlZAoJICBPbiBPU1gsIHNldHRpbmcgdGhlIHBpeGVsIGZvcm1hdCBvbiB0aGUgb3V0cHV0IHJlc2V0IHRoZSBjYXB0dXJlIGRldmljZQoJICB0byBpdHMgbmF0aXZlIHJlc29sdXRpb24sIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBjYXBzIGlmIHRoZSBvdXRwdXQKCSAgZnJhbWUgc2l6ZSBoYXMgY2hhbmdlZCBiZWZvcmUgYSBwcm9wZXIgc29sdXRpb24gaXMgZm91bmQuCgoyMDEzLTEwLTI5IDE1OjM2OjA2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGlmIGxvdyBwcmVzZXQgaXMgYXZhaWxhYmxlCgoyMDEzLTEwLTI4IDE4OjIyOjEzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVzZSBhIGRlZGljYXRlZCBxdWV1ZSBmb3IgQVZGb3VuZGF0aW9uIGNhbGxzCgkgIFJlcGxhY2UgdGhlIG1haW4gcXVldWUgd2l0aCBhIGRlZGljYXRlZCBxdWV1ZSBmb3IgQVZGb3VuZGF0aW9uIGNhbGxzCgkgIHNvIHRoZSBleGVjdXRpb24gb24gdGhpcyBxdWV1ZSB3b24ndCBibG9jayBpZiB0aGUgbWFpbiBxdWV1ZQoJICBpcyBub3QgcnVubmluZy4KCjIwMTMtMTAtMjkgMTc6MzM6MTEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogcmVtb3ZlIHRyYWlsaW5nIHNwYWNlCgoyMDEzLTEwLTMwIDE0OjUxOjUwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRpc3BhdGNoIEFWRm91bmRhdGlvbiBjYWxscyBzeW5jaHJvbm91c2x5IGluIHRoZSBtYWluIHF1ZXVlCgoyMDEzLTEwLTMwIDEyOjQwOjAxICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgYXZmdmlkZW9zcmMgaWYgQVZGb3VuZGF0aW9uIGlzIHByZXNlbnQKCjIwMTMtMTAtMzAgMTI6Mzk6MjQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogb25seSBlbmFibGUgMTkyMHgxMDgwIHByZXNldCBvbiBpT1MKCjIwMTMtMTAtMjggMTE6MjA6MjcgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZGV0ZWN0IHByZXNlbmNlIG9mIEFWRm91bmRhdGlvbgoKMjAxMy0xMC0yOCAxMTo1MzoyNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBwb3J0IGF2ZnZpZGVvc3JjIHRvIDEuMAoKMjAxMy0xMS0wNyAxNDoxMjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHVuaXQgdGVzdCBmb3IgaGFuZGxpbmcgdW5hbGlnbmVkIGJ1ZmZlcnMKCSAgVGhhdCBpcywgYnVmZmVycyB0aGF0IHN0YXJ0IG9yIGVuZCBpbiB0aGUgbWlkZGxlIG9mIGFuIG91dHB1dCBibG9jay4KCjIwMTMtMTEtMDcgMTQ6MTI6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBFT1MgaGFuZGxpbmcgaWYgd2UgaGF2ZSBzb21lIHBlbmRpbmcgZGF0YQoKMjAxMy0xMS0wNyAxMzo1NzozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgZm9yIHRoZSBkaXNjb250IGhhbmRsaW5nCgoyMDEzLTExLTA3IDEzOjU1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZWZhY3RvciBzeW5jIHRlc3QgdG8gYmUgbW9yZSByZXVzYWJsZQoKMjAxMy0xMS0wNyAxMzo0ODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHNvbWUgcmFjeS1uZXNzIGZyb20gdGhlIHVuaXQgdGVzdAoJICBXZSBtaWdodCBhbHJlYWR5IGJlIEVPUyB3aGVuIHdlIHN0YXJ0IHRoZSBtYWlubG9vcCwgc28gb25seQoJICBzZXQgdGhlIHBpcGVsaW5lIHRvIFBMQVlJTkcgZnJvbSB0aGUgbWFpbiBsb29wLgoKMjAxMy0xMS0wNyAwOTo1NDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBSZW1vdmUgc29tZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDEzLTExLTA2IDIyOjEzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBNYWtlIHN1cmUgdmlkZW8tZG9uZSBpcyBwb3N0IG9ubHkgd2hlbiBmaWxlIGlzIGNsb3NlZAoJICBGb3JjZSBmaWxlc2luayB0byBudWxsIGJlZm9yZSBwb3N0aW5nIHZpZGVvLWRvbmUgdG8gbWFrZSBzdXJlIHRoZQoJICBmaWxlIHdhcyBjbG9zZWQuCgkgIEhhZCB0byBkbyBpdCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIHRvIGF2b2lkIGNhbGxpbmcgc3RhdGVfY2hhbmdlIGZyb20KCSAgYSBzeW5jIG1lc3NhZ2UgaGFuZGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM3MwoKMjAxMy0xMS0wNiAyMzoxMToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogYWRkIG5ldyBjb2RlY3BhcnNlciBBUEkgdG8gLmRlZiBmaWxlCgoyMDEzLTEwLTA5IDEwOjU0OjE0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBILjI2NSBIRVZDIHZpZGVvIHBhcnNlciBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg0MzgKCjIwMTMtMTAtMDEgMTM6Mzk6NDEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgSC4yNjUgSEVWQyBiaXRzdHJlYW0gcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg0MzgKCjIwMTMtMTEtMDUgMTI6NDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMTMtMTEtMDYgMTU6NTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvbid0IHRha2UgY2hhbm5lbCBtYXNrIGluIGNvbnNpZGVyYXRpb24gaW4gbW9ubyBvciBzdGVyZW8KCSAgVGhpcyBjb3VsZCBjYXVzZSBuZWdvdGlhdGlvbiB0byBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjMzCgoyMDEzLTExLTA2IDE1OjMxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgdG8gdGhlIC5naXRpZ25vcmUgZmlsZQoKMjAxMy0xMS0wNiAxNToxODo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHNpbXBseSBzeW5jaHJvbml6YXRpb24gdGVzdAoKMjAxMy0xMS0wNiAxNToxODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0Lmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMub3JjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgbmV3IGVsZW1lbnQgYmFzZWQgb24gYWRkZXIgdGhhdCBkb2VzIHN5bmNocm9uaXplZCBhdWRpbyBtaXhpbmcKCjIwMTMtMTEtMDUgMTE6MTk6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2NWFhMjAgdG8gZGJlZGFhMAoKMjAxMy0xMS0wNCAxOTo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBRdWVyeSB1cHN0cmVhbSBmaXJzdCB0byBnZXQgYSBFR0xEaXNwbGF5CgoyMDEzLTExLTA0IDEwOjA0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogTGluayB3aXRoIGdtb2R1bGUgZm9yIGdfbW9kdWxlX29wZW4oKSBhbmQgb3RoZXJzCgoyMDEzLTExLTA0IDEwOjA0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IExpbmsgd2l0aCBnbW9kdWxlIGZvciBnX21vZHVsZV9vcGVuKCkgYW5kIG90aGVycwoKMjAxMy0xMS0wMSAyMjozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbHdheXMgZGVmaW5lIEFNX0NPTkRJVElPTkFMIFVTRV9FR0xHTEVTCgoyMDEzLTEwLTA0IDEyOjQ4OjEwICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJICBjdXJsOiBjdXJsc2Z0cHNpbmsgLSBuZXcgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQgZm9yIFNGVFAKCSAgTm90ZTogU0ZUUCA9IFNTSCBGaWxlIFRyYW5zZmVyIFByb3RvY29sCgkgIFRoZSBzaW5rIGFjdHMgYXMgYSBjbGllbnQgYW5kIHVwbG9hZHMgZGF0YSB0byB0aGUgU0ZUUCBzZXJ2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3OTUKCjIwMTMtMTAtMzEgMTM6MzY6MjUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgY2RhdWRpbzogUmVtb3ZlIGNkYXVkaW8gcGx1Z2luCgkgIFRoaXMgZWxlbWVudCBpcyBiZWluZyByZW1vdmVkIGR1ZSB0byBpdCBiZWVuCgkgIGNvbnNpZGVyZWQgb2Jzb2xldGUgYW5kIHRoZSBmdW5jdGlvbmFpbHkgaXQKCSAgcHJvdmlkZXMgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgRGV0YWlscyBvbiB0aGUgZGVjaXNpb24gY2FuIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMjMKCSAgRml4ZXM6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMzIKCjIwMTMtMTEtMDEgMTA6NDE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBjb21waWxlciB3YXJuaW5nIGNhdXNlZCBieSBzcGVjaWZ5aW5nIGNvbnN0IHR3aWNlCgkgIHlhZGlmLmM6NDk6MjQ6IHdhcm5pbmc6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciBbLVdkdXBsaWNhdGUtZGVjbC1zcGVjaWZpZXJdCgkgIERFQ0xBUkVfQVNNX0NPTlNUICgxNiwgY29uc3QgeG1tX3JlZywgcGJfMSkgPSB7CgkgIF4KCSAgeWFkaWYuYzozMzo1MDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnREVDTEFSRV9BU01fQ09OU1QnCgkgICNkZWZpbmUgREVDTEFSRV9BU01fQ09OU1Qobix0LHYpICAgIHN0YXRpYyBjb25zdCB0IF9fYXR0cmlidXRlX18oKHVzZWQpKSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAobikpKSB2CgkgIF4KCSAgeWFkaWYuYzo1MjoyNDogd2FybmluZzogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIFstV2R1cGxpY2F0ZS1kZWNsLXNwZWNpZmllcl0KCSAgREVDTEFSRV9BU01fQ09OU1QgKDE2LCBjb25zdCB4bW1fcmVnLCBwd18xKSA9IHsKCSAgXgoJICB5YWRpZi5jOjMzOjUwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdERUNMQVJFX0FTTV9DT05TVCcKCSAgI2RlZmluZSBERUNMQVJFX0FTTV9DT05TVChuLHQsdikgICAgc3RhdGljIGNvbnN0IHQgX19hdHRyaWJ1dGVfXygodXNlZCkpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChuKSkpCgoyMDEzLTExLTAxIDEwOjQwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggYnVpbGQgd2l0aCBYQ29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDUxCgoyMDEzLTEwLTI4IDE1OjA0OjE2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFJlbW92ZSB0aGUgZXhwbGljaXQgUEFSIGNhbGN1bGF0aW9uIGJhc2VkIG9uIFZVSSBoZWFkZXJzCgkgIFRoZSBQQVIgY2FsY3VsYXRpb24gYmFzZWQgb24gVlVJIGhlYWRlcnMgaXMgYWxyZWFkeSBkb2luZyBieSB0aGUKCSAgaDI2NCBjb2RlY3BhcnNlciBhbmQgd2UgZG9lcyd0IG5lZWQgdG8gZHVwbGljYXRlIHRob3NlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDA5CgoyMDEzLTEwLTE3IDEyOjA1OjQ0ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogRml4IGFuZ2xlIHByb3BlcnR5IGhlbHAgdGV4dAoJICBUaGUgaGVscCB0ZXh0IG9mIHRoZSBhbmdsZSBwcm9wZXJ0eSB3YXMgcHJvYmFibHkgY29waWVkIGZyb20gdGhlIGNpcmNsZQoJICBwbHVnaW4sIGZpeCBpdCB0byBtZW50aW9uIHRoZSByb3RhdGlvbiBkZXRlcm1pbmVkIGJ5IHRoZSBhbmdsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDM5MQoKMjAxMy0xMC0zMCAxODo0ODowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICBjZGF1ZGlvOiBwb3J0IHRvIDEuWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjIzCgoyMDEzLTEwLTMwIDE4OjI1OjUwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggcmFuayBmb3IgbW9yZSBzb2Z0d2FyZSBkZWNvZGVycwoJICBJbiBHYWxheHkgUzQgdGhlIGNvZGVjcyBsaXN0IGNvbnRhaW5zIHNvbWUgT01YLlNFQy5mb28uc3cuZGVjCgkgIGFzIHNvZnR3YXJlIGRlY29kZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMTQKCjIwMTMtMTAtMTcgMTI6NTM6MzEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEZpeCBzZXR0aW5nIGJsYWNrIGJhY2tncm91bmQgZm9yIEFZVVYgYnVmZmVycwoJICBXaGVuIHRoZSBmcmFtZSBidWZmZXIgaXMgQVlVViB3cml0aW5nIGFsbCB6ZXJvcyBkb2VzIG5vdCBzZXQgaXQgdG8KCSAgYmxhY2ssIGluIFlVViBjb2xvcnNwYWNlIDB4MTAgaXMgdGhlIGJsYWNrIGxldmVsIGZvciBsdW1pbmFuY2UgYW5kIDB4ODAKCSAgaXMgdGhlIGJsYWNrIGxldmVsIGZvciBjaHJvbWluYW5jZS4KCSAgRml4IHNldHRpbmcgdGhlIGJhY2tncm91bmQgdG8gYmxhY2sgd2hlbiB0aGUgb3V0X2ZyYW1lIGZvcm1hdCBpcyBBWVVWOwoJICBpbiBhbGwgdGhlIG90aGVyIHN1cHBvcnRlZCBmb3JtYXRzIHplcm9pbmcgdGhlIGRhdGEgd2l0aCBtZW1zZXQgaXMgc3RpbGwKCSAgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMzkyCgoyMDEzLTEwLTIzIDIzOjM0OjI3ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBmaXggcGx1Z2luIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTEzNQoKMjAxMy0xMC0yMyAxNzoyMjoxNiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHVzZSBwcm9wZXIgcmVsZWFzZSBjYWxsYmFjayB0eXBlIGluIENWUGl4ZWxCdWZmZXJDcmVhdGVXaXRoUGxhbmFyQnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE0MAoKMjAxMy0wOS0yMSAwMDoyMDozNiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggdHJ1bmNhdGVkIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDY1NwoKMjAxMy0xMC0zMCAxNjoyMDo1NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgaW4gdGhlIGVhZ2wgYmFja2VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTU5CgoyMDEzLTEwLTE4IDExOjU0OjEyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGFjY2VzcyB0byBpbnZhbGlkIGJ1ZmZlcnMgaW4gdGhlIGRlY29kaW5nIGxvb3AKCSAgRmx1c2hpbmcgdGhlIGRlY29kZXIgaW52YWxpZGF0ZXMgYWxsIGJ1ZmZlcnMsIHNvIGl0IHNob3VsZCBiZSBkb25lCgkgIGFmdGVyIHF1aXRpbmcgdGhlIGRlY29kaW5nIGxvb3AuIE90aGVyd2lzZSB3ZSBjYW4ganVtcCBpbnRvCgkgICJmYWlsZWRfcmVsZWFzZSIgYW5kIHN0b3AgZXZlcnl0aGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTU2CgoyMDEzLTEwLTI4IDA5OjMzOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVW5pZnkgdmFsdWUgc2V0dGluZwoJICB0aGUgaW5pdGlhbCBwYXJfbiA9IHBhcl9kID0gMDsgd2FzIGFsd2F5cyBvdmVyd3JpdHRlbiBzaW5jZSB0aGUgc3dpdGNoL2Nhc2UKCSAgaGFuZGxlcyBhbGwgdmFsdWVzCgkgIEFuZCByZW1vdmUgdGhlIDAgY2FzZSAoaXQncyB0aGUgc2FtZSBoYW5kbGluZyBhcyBkZWZhdWx0KQoKMjAxMy0xMC0yOCAwOTozMzoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEF2b2lkIGVuZGluZyB1cCB3aXRoIHVuZGVmaW5lZCB2YWx1ZXMKCSAgSWYgY2FwcyBhcmVuJ3QgZml4ZWQsIHdlJ2QgZW5kIHVwIHdpdGggdW5kZWZpbmVkIHZhbHVlcyBmb3IgZm9ybWF0CgkgIGFuZCBhbGlnbi4KCjIwMTMtMTAtMTEgMTE6MjM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRGVtb3RlIEdTVF9FUlJPUiB0byBHU1RfV0FSTklORwoJICBkaXNjb250aW51aXRpZXMgYXJlIG5vdCBlcnJvcnMgcGVyLXNlIGFuZCB3ZSBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuCgoyMDEzLTEwLTI1IDExOjExOjMwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudAoJICBUaGlzIHBhdGNoIGZpeGVzIHRocmVlIG1lbW9yeSBsZWFrcyBpbiBobHNkZW11eCwgb25lIHRoYXQgb2NjdXJzCgkgIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uIGFuZCB0d28gdGhhdCBvY2N1ciBkdXJpbmcgZXJyb3IgY29uZGl0aW9ucy4KCSAgVGhlIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQgZnVuY3Rpb24gY2FsbHMKCSAgZ3N0X2ZyYWdtZW50X2dldF9idWZmZXIgd2hpY2ggaW5jcmVtZW50cyB0aGUgcmVmZXJlbmNlIGNvdW50CgkgIG9uIHRoZSBidWZmZXIgYnV0IGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQgbmV2ZXIgY2FsbHMgdW5yZWYgb24KCSAgdGhlIGJ1ZmZlci4gVGhpcyBtZWFucyB0aGF0IHRoZSByZWZlcmVuY2UgY291bnQgZm9yIGVhY2ggZG93bmxvYWRlZAoJICBmcmFnbWVudCBuZXZlciBnZXRzIHRvIHplcm8gYW5kIHNvIGl0cyBtZW1vcnkgaXMgbmV2ZXIgcmVsZWFzZWQuCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIGNhbGwgdG8gZ3N0X2J1ZmZlcl91bnJlZiBhZnRlciB0aGUgZmxhZ3MgaGF2ZSBiZWVuCgkgIHVwZGF0ZWQgb24gdGhlIGJ1ZmZlci4KCSAgVGhlcmUgaXMgYSBsZWFrLW9uLWVycm9yIGluIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudCBpZiBpdCBmYWlscwoJICB0byBkb3dubG9hZCB0aGUga2V5IGZpbGUuIElmIHRoZSBrZXkgZmFpbHMgdG8gZG93bmxvYWQsIG51bGwgaXMKCSAgcmV0dXJuZWQgd2l0aG91dCBkb2luZyBhbiB1bnJlZiBvbiB0aGUgZW5jcnlwdGVkIGZyYWdtZW50LiBUaGUKCSAgc2VtYW50aWNzIG9mIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudCBpcyB0aGF0IGl0IHRha2VzIG93bmVyc2hpcAoJICBvZiB0aGUgZW5jcnlwdGVkIGZyYWdtZW50IGFuZCByZWxlYXNlcyBpdCBiZWZvcmUgcmV0dXJuaW5nLgoJICBUaGVyZSBpcyBhIGxlYWstb24tZXJyb3IgaW4gZ3N0X2hsc19zcmNfYnVmX3RvX3V0ZjhfcGxheWxpc3QgaW4gdGhlCgkgIHVubGlrZWx5IGV2ZW50IHRoYXQgdGhlIGdzdF9idWZmZXJfbWFwIGZhaWxzLiBJbiB0aGUgImhhcHB5IHBhdGgiCgkgIG9wZXJhdGlvbiBvZiBnc3RfaGxzX3NyY19idWZfdG9fdXRmOF9wbGF5bGlzdCB0aGUgYnVmZmVyIGdldHMgYW4gdW5yZWYKCSAgYmVmb3JlIHRoZSBmdW5jdGlvbiByZXR1cm5zLCB0aGVyZWZvcmUgdGhlIGVycm9yIGNvbmRpdGlvbiBtdXN0IGRvIHRoZQoJICBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODgxCgoyMDEzLTEwLTIzIDE3OjExOjIwICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkgIG1wZWd0c211eDogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzU5CgoyMDEzLTEwLTIzIDE2OjU4OjQ5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzU5CgoyMDEzLTEwLTE4IDEwOjEyOjU2ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogbWFrZSBnc3RfYW1jX2F2Y19wcm9maWxlX2Zyb21fc3RyaW5nIHJlY29nbml6ZSBhbHQgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDMzCgoyMDEzLTEwLTEyIDE2OjA0OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBGaXggaW52ZXJ0ZWQgY29uZGl0aW9uIGluIHNldGNhcHMKCjIwMTMtMTAtMTEgMTA6MzI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU2tpcCBwYWNrZXRzIHdpdGggY29ycnVwdGVkIGxlbmd0aAoJICBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBmb3IgcGFja2V0cyB3aXRoIHBheWxvYWQKCjIwMTMtMTAtMTEgMTA6Mjk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmYWN0b3IgbGFuZ3VhZ2UgdGFnIGV4dHJhY3Rpb24KCSAgc3VidGl0bGluZyBkZXNjcmlwdG9yIG5lZWRzIHRvIGJlIHVzZWQgd2l0aCBhIGRpZmZlcmVudCBtZXRob2QgdG8gZXh0cmFjdAoJICBsYW5ndWFnZSBjb2Rlcy4KCjIwMTMtMTAtMTEgMTA6MjE6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBEVkIgU3VidGl0bGluZyBkZXNjcmlwdG9yICgweDU5KQoJICBFc3NlbnRpYWxseSB3b3JrcyBpbiB0aGUgc2FtZSB2ZWluIGFzIHRoZSBpc282MzkgZGVzY3JpcHRvciBjb2RlCgoyMDEzLTEwLTEwIDIyOjQ2OjQ4ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGFzc2VydGlvbiBmYXVsdCBpbiBJU08gNjM5IHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wOSAxNzoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBGaXggc29tZSBieXRlcy1wZXItZnJhbWUgdnMuIGJ5dGVzLXBlci1zYW1wbGUgbWl4dXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNyYXNoIHdoZW4gaGFuZGxpbmcgbXVsdGlwbGUgY2hhbm5lbHMgYW5kCgkgIG1pc2NhbGN1bGF0ZSB0aW1lc3RhbXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzM0CgoyMDEzLTEwLTA4IDExOjEwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFrZSBzdXJlIHRvIHRyeSB3aW5kb3ctc3lzdGVtLWFnbm9zdGljIEVHTCBpZiBub3RoaW5nIHdhcyBhdXRvLWRldGVjdGVkCgoyMDEzLTEwLTA4IDA3OjU2OjExICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGxvZyB0aW1lIGZvcm1hdCBhcyBuYW1lIGluc3RlYWQgb2YgdGhlIG51bWJlcgoKMjAxMy0xMC0wNiAxNzozNzozOCArMDIwMCAgR2lsbGVzIERhcnRpZ3VlbG9uZ3VlIDxldmFAZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsOiBBbGxvdyBkaXNhYmxpbmcgZ3N0cmVhbWVyLWVnbCBsaWJyYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MzEKCjIwMTMtMTAtMDUgMTQ6NDU6MzMgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgbXBlZ3RzLWxpYiBmb3IgSVNPIDYzOSBsYW5ndWFnZSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMTQ6NDU6MzIgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXR1cm4gZGVzY3JpcHRvciBpbiBnZXRfZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDE0OjQ1OjMxICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBJU08gNjM5IHBhcnNpbmcgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMDA6MDA6NTIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGhhbmRsZSBzdGlja3kgZHZkIGV2ZW50cwoJICBwYWxldHRlLWNoYW5nZWQgZXZlbnRzIGFyZSBub3cgc3RpY2t5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDU0CgoyMDEzLTEwLTAzIDA3OjU3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNtYWxsIGltcHJvdmVtZW50IG9uIGFsd2F5cyB2YWxpZCBpZiBjb25kaXRpb24KCSAgTm8gbmVlZCB0byBjaGVjayBmb3IgIWNhbmNlbGxlZCBhcyB0aGUgYWJvdmUgaWYgZ3VhcmFudGVlcyBpdAoJICB0byBiZSB0cnVlCgoyMDEzLTEwLTAzIDA3OjU2OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBjYWxsIF9zdG9wIGhvbGRpbmcgdGhlIHVwZGF0ZXMgbG9jawoJICBJdCB3aWxsIGNhdXNlIGEgZGVhZGxvY2sgYW5kIHRoZSBjYWxlcnMgZm9yIF9nZXRfbmV4dF9mcmFnbWVudAoJICB3aWxsIGFscmVhZHkgY2FsbCBfc3RvcCBpZiByZXF1aXJlZCB3aGVuIF9nZXRfbmV4dF9mcmFnbWVudCBmYWlscy4KCSAgRml4ZXMgIzY5MDE0OAoKMjAxMy0wNi0xMiAxMDo1MDo1MSAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSW1wcm92ZSBpZiBjYXVzZSByZWFkYWJpbGl0eQoJICBGaXhlZCB1cCB0aGUgZXJyb3ItaGFuZGxpbmcgY29kZSB3aGVuIGRvd25sb2FkaW5nIGZyYWdtZW50cy4KCSAgTW9kaWZlZCB0aGUgZXJyb3ItaGFuZGxpbmcgY29kZSB0byB1c2UgcG9zaXRpdmUgbG9naWMgd2hlbgoJICB0ZXN0aW5nIGZvciBjYW5jZWxsYXRpb24gb2YgdGhlIGRvd25sb2FkIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMDktMjYgMTc6MDU6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWN0dWFsbHkgcmV0dXJuIHRydWUgb24gbGF0ZW5jeSBxdWVyeQoJICBEbyBub3QgZm9yZ2V0IHRvIHNldCB0aGUgcmV0dXJuIGZvciBsYXRlbmN5IHF1ZXJ5CgoyMDEzLTA5LTI2IDE2OjEzOjMzIC0wMzAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHN0b3AgZmV0Y2hpbmcgbGl2ZSBmcmFnbWVudHMgdGhhdCBkb24ndCB5ZXQgZXhpc3QKCSAgVGhlcmUgaXMgYW4gaXNzdWUgZm9yIGxpdmUgc3RyZWFtcyB3aGVyZSBkb3dubG9hZF9sb29wIHdpbGwga2VlcAoJICBkb3dubG9hZGluZyBzZWdtZW50cyB1bnRpbCBpdCBnZXRzIGEgNDA0IGVycm9yIGZvciBhIHNlZ21lbnQKCSAgdGhhdCBoYXMgbm90IHlldCBiZWVuIHB1Ymxpc2hlZC4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSB0aGlzCgkgIHJlcXVlc3QgZm9yIGEgc2VnbWVudCB0aGF0IGRvZXNuJ3QgZXhpc3Qgd2lsbCBwcm9wYWdhdGUgYWxsIHRoZQoJICB3YXkgYmFjayB0byB0aGUgb3JpZ2luIHNlcnZlcihzKS4gVGhpcyBtZWFucyB0aGF0IGRhc2hkZW11eCBjYXVzZXMKCSAgZXh0cmEgbG9hZCBvbiB0aGUgb3JpZ2luIHNlcnZlcihzKSBmb3Igc2VnbWVudHMgdGhhdCBhcmVuJ3QgeWV0CgkgIGF2YWlsYWJsZS4KCSAgVGhpcyBwYXRjaCB1c2VzIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSwgcGVyaW9kCgkgIGFuZCB0aGUgaG9zdCdzIGlkZWEgb2YgVVRDIHRvIGRlY2lkZSBpZiBhIGZyYWdtZW50IGlzIGF2YWlsYWJsZSB0bwoJICBiZSByZXF1ZXN0ZWQgZnJvbSBhbiBIVFRQIHNlcnZlciBhbmQgZmlsdGVyIG91dCByZXF1ZXN0cyBmb3IgZnJhZ21lbnRzCgkgIHRoYXQgYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTEwLTAzIDEzOjI2OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBjb252ZXJzaW9uIHRvIEFWQyBpZiBhIFNQUy9QUFMgbm90IGZyb20gdGhlIGZpcnN0IGluZGl6ZXMgaXMgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTc0CgoyMDEzLTEwLTAyIDEwOjU1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogUG9ydCBPcGVuSlBFRyBwbHVnaW4gdG8gdGhlIDIuMCBBUEkKCjIwMTMtMTAtMDIgMDU6NDk6NDMgKzAzMDAgIERvbWluaWsgUsO2dHRzY2hlcyA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEFkZCBzdXBwb3J0IGZvciBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNDEKCjIwMTMtMTAtMDIgMDU6NDk6MzQgKzAzMDAgIERvbWluaWsgUsO2dHRzY2hlcyA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFVzZSBjb3JyZWN0IHN0cmlkZXMsIGV0YyBmcm9tIHRoZSBHc3RWaWRlb0ZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyMTEKCjIwMTMtMDgtMjAgMTc6MDM6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHN0b3JlIHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbiB6aWctemFnIG9yZGVyCgkgIFF1YW50aXplciBtYXRyaWNlcyBhcmUgZW5jb2RlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciBpbiB0aGUgYml0c3RyZWFtLAoJICBzbyBhbHdheXMgcGFyc2UgaXQgYXMgaXQgaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMTAtMDIgMTE6NDA6MDUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIHdpdGggdGhlIG5ldyBmaWxlIGxpYmdzdGNvZGVjcGFyc2Vycy5kZWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0xMC0wMiAxMToyNDo1OCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZy16YWcgc2NhbgoJICBvcmRlciBpbnRvIHJhc3RlciBzY2FuIG9yZGVyIGFuZCB2aWNlLXZlcnNhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMDktMzAgMTU6MzI6NTUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgQWRkIGdzdHJlYW1lci1tcGVndHMgcGtnLWNvbmZpZyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTQ1CgoyMDEzLTA5LTI5IDIzOjQzOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJICBvcGVuY3Y6IGRvbid0IHVucmVmIE5VTEwgY2FwcyBpbiBmaW5hbGl6ZQoJICBGaXhlcyBnc3QtaW5zcGVjdC0xLjAgLWEgYW5kIGdlbmVyaWMgc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTMtMDktMjYgMTM6Mzc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJICBpb3Nhc3NldHNyYzogUG9ydCB0byAxLjAgYW5kIGZpeCBzb21lIGJ1Z3Mgb24gdGhlIHdheQoKMjAxMy0wOS0yNiAxMzoyMTo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXNzZXRzcmM6IEFkZCBuZXcgZWxlbWVudCBmcm9tIHRoZSBHU3RyZWFtZXIgU0RLIHByb2plY3QKCjIwMTMtMDktMjMgMTQ6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IGlPUyBwYXJ0IHRvIDEuMAoKMjAxMy0wOS0yMyAxMzoyMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBpT1MgY2hlY2sgZm9yIGVnbGdsZXNzaW5rCgoyMDEzLTA5LTIzIDExOjM1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjIGlzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoKMjAxMy0wOS0xOCAxNzo1MToyNiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJvdW5kIHdoZW4gY2FsY3VsYXRpb24gbGVuZ3RoIGZyb20gZHVyYXRpb24KCSAgbGl2ZWFkZGVyIHNvbWV0aW1lcyBjYWxjdWxhdGVzIHRoZSBvZmZzZXRzIGluY29ycmVjdGx5IGJlZm9yZSBhZGRpbmcuIFRoZQoJICByZXN1bHRpbmcgZXJyb3JzIGNhbiBlYXNpbHkgYmUgaGVhcmQgd2hlbiBtaXhpbmcgc2lsZW5jZSB3aXRoIGEgc2luZS4KCSAgSSdtIG5vdCBzdXJlIHdoYXQgdGhlIGV4YWN0IGNvbmRpdGlvbnMgYXJlIHRvIHRyaWdnZXIgdGhpcywgYnV0IGl0IGRlZmluaXRpdmVseQoJICBoYXBwZW5zIHdoZW4gdGhlIGJ1ZmZlcnMgb2YgdHdvIHN0cmVhbXMgaGF2ZSBhIGRpZmZlcmVudCBkdXJhdGlvbiBhbmQgYnVmZmVyCgkgIGxlbmd0aCBhbmQgZHVyYXRpb24gZG9uJ3QgbWF0Y2ggZXhhY3RseSBmb3Igb25lIHN0cmVhbSBiZWNhdXNlIG9mIHJvdW5kaW5nCgkgIGVycm9ycyAoZS5nLiAgZHVyYXRpb249MDowMDowMC4wMjEzMzMzMzMpCgkgIEkgaGF2ZSB0byBhZG1pdCwgSSBnb3QgbG9zdCBpbiB0aGUgbWF0aCBzb21ld2hlcmUgYnV0IGl0IHNlZW1zIHRoYXQgbm90CgkgIHJvdW5kaW5nIGluIGdzdF9saXZlX2FkZGVyX2xlbmd0aF9mcm9tX2R1cmF0aW9uKCkgY2F1c2VzIDEgc2FtcGxlIG92ZXJsYXBzIGluCgkgIGNvbnNlY3V0aXZlIGJ1ZmZlcnMgZnJvbSB0aGUgc2FtZSBzdHJlYW0uCgkgIFdoZW4gdXNpbmcgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZCgpIGluc3RlYWQgb2YganVzdCB0cnVuY2F0aW5nIHRoZQoJICBzaW5lIHNvdW5kIGNvcnJlY3RseSBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODM0NQoKMjAxMy0wOS0yNSAxNToyMjoxMiArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogVXNlIGZsb2F0cyBmb3IgdGhlIEVYVElORiBkdXJhdGlvbiB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg1MQoKMjAxMy0wOS0yNSAxNToxODozOSArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogV3JpdGUgRVhULVgtVkVSU0lPTiB0YWcgaW4gdGhlIHBsYXlsaXN0IGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg1MQoKMjAxMy0wOS0xOSAxNDo1Mzo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgY2hlY2s6IFVwZGF0ZSB1dmNoMjY0ZGVtdXggZm9yIGJlaGF2aW91ciBjaGFuZ2UKCSAgU2luY2UgMDA2ZTdhMzQyOGJkMDk3ZmM2ZTZjNjQ4MzMyYmZmNTgzZGQ0MzRmOSB3ZSBubyBsb25nZXIgZXJyb3Igb3V0IG9uCgkgIGluY29tcGxldGUgYXV4IHNlZ21lbnQuCgoyMDEzLTA5LTI3IDE0OjQ1OjAwICswMDAwICBTdGV2ZSBNYXluYXJkIDxzdGV2ZUBzZWNvbmRzdHJ5a2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0czogQWRkIFNDVEUvRUlTUyBzZWN0aW9ucyBhbmQgdGFibGUgdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODY4OAoKMjAxMy0wNy0yOSAwODoxMDowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBXYWl0IGZvciB2YWxpZCBQQ1Ivb2Zmc2V0IG9idmVydmF0aW9ucwoJICBJdCBpcyBxdWl0ZSBwb3NzaWJsZSB0aGF0IHdlIG1pZ2h0IGdldCBQVFMvRFRTIGJlZm9yZSB0aGUgZmlyc3QKCSAgUENSL09mZnNldCBvYnNlcnZhdGlvbi4KCSAgSW4gb3JkZXIgdG8gZW5kIHVwIHdpdGggdmFsaWQgdGltZXN0YW1wIHdlIHdhaXQgdW50aWwgYXQgbGVhc3Qgb25lCgkgIHN0cmVhbSB3YXMgYWJsZSB0byBnZXQgYSBwcm9wZXIgcnVubmluZy10aW1lIGZvciBhbnkgUFRTL0RUUy4KCSAgVW50aWwgdGhlbiwgd2UgcXVldWUgdXAgdGhlIHBlbmRpbmcgYnVmZmVycyB0byBwdXNoIG91dC4KCSAgT25jZSB3ZSBzZWUgYSBmaXJzdCB2YWxpZCB0aW1lc3RhbXAsIHdlIHJlLWV2YWx1YXRlIHRoZSBhbW91bnQgb2YKCSAgcnVubmluZy10aW1lIGVsYXBzZWQgKGJhc2VkIG9uIHJldHVybmVkIGluaXRhbCBydW5uaW5nLXRpbWUgYW5kIGFtb3VudAoJICBvZiBkYXRhL0RUUyBxdWV1ZWQgdXApIGZvciBhbnkgZ2l2ZW4gc3RyZWFtLgoJICBUYWtpbmcgdGhlIGJpZ2dlc3QgYW1vdW50IG9mIGVsYXBzZWQgdGltZSwgd2Ugc2V0IHRoYXQgb24gdGhlIHBhY2tldGl6ZXIKCSAgYXMgdGhlIGluaXRpYWwgb2Zmc2V0IGFuZCByZWNhbGN1bGF0ZSBhbGwgcGVuZGluZyBidWZmZXJzIHJ1bm5pbmctdGltZQoJICBQVFMvRFRTLgoJICBOb3RlOiBUaGUgYnVmZmVyIHF1ZXVlaW5nIHN5c3RlbSBjYW4gYWxzbyBiZSB1c2VkIGxhdGVyIG9uIGZvciB0aGUKCSAgZHZiIGZhc3Qgc3RhcnQgcHJvcG9zYWwgKHdoZXJlIHdlIHF1ZXVlIHVwIGFsbCBzdHJlYW0gcGFja2V0cyBiZWZvcmUKCSAgc2VlaW5nIFBBVC9QTVQgYW5kIHRoZW4gcHVzaCB0aGVtIG9uY2Ugd2Uga25vdyBpZiB0aGV5IGJlbG9uZyB0byB0aGUKCSAgY2hvc2VuIHByb2dyYW0pLgoKMjAxMy0wNy0wNyAxNTowNDoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgZGVzY3JpcHRvciBkdW1waW5nCgoyMDEzLTA3LTI2IDA3OjU0OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogTmV3IFBDUjw9Pk9mZnNldCBlc3RpbWF0aW9uIGNvZGUKCSAgVGhpcyBhbGxvd3M6CgkgICogQmV0dGVyIGR1cmF0aW9uIGVzdGltYXRpb24KCSAgKiBNb3JlIGFjY3VyYXRlIFBDUiBsb2NhdGlvbgoJICAqIE92ZXJhbGwgbW9yZSBhY2N1cmF0ZSBydW5uaW5nLXRpbWUgbG9jYXRpb24gYW5kIGNhbGN1bGF0aW9uCgkgIExvY2F0aW9uIGFuZCB2YWx1ZXMgb2YgUENSIGFyZSByZWNvcmRlZCBpbiBncm91cHMgKFBDUk9mZnNldEdyb3VwKQoJICB3aXRoIG5vdGFibGUgUENSL09mZnNldCBvYnNlcnZhdGlvbnMgaW4gdGhlbSAod2hlbiBiaXRyYXRlIGNoYW5nZWQKCSAgZm9yIGV4YW1wbGUpLiBQQ1IgYW5kIG9mZnNldCBhcmUgc3RvcmVkIGFzIDMyYml0IHZhbHVlcyB0bwoJICByZWR1Y2UgbWVtb3J5IHVzYWdlICh0aGV5IGFyZSBkaWZmZXJlbmNlcyBhZ2FpbnN0IHRoYXQgZ3JvdXAncwoJICBmaXJzdF97cGNyfG9mZnNldH0uCgkgIFRob3NlIGdyb3VwcyBlYWNoIGNvbnRhaW4gYSBnbG9iYWwgUENSIG9mZnNldCAocGNyX29mZnNldCkgd2hpY2gKCSAgaW5kaWNhdGVzIGhvdyBmYXIgaW4gdGhlIHN0cmVhbSB0aGF0IGdyb3VwIGlzLgoJICBXaGVuZXZlciBuZXcgUENSIHZhbHVlcyBhcmUgb2JzZXJ2ZWQsIHdlIHN0b3JlIHRoZW0gaW4gYSBzbGlkaW5nCgkgIHdpbmRvdyBlc3RpbWF0b3IgKFBDUk9mZnNldEdyb3VwQ3VycmVudCkuCgkgIFdoZW4gYSByZXNldC93cmFwb3Zlci9nYXAgaXMgZGV0ZWN0ZWQsIHdlIGNsb3NlIHRoZSBjdXJyZW50IGdyb3VwIHdpdGgKCSAgY3VycmVudCB2YWx1ZXMgYW5kIHN0YXJ0IGEgbmV3IG9uZSAodGhlIHBjcl9vZmZzZXQgb2YgdGhhdCBuZXcgZ3JvdXAKCSAgaXMgYWxzbyBjYWxjdWxhdGVkKS4KCSAgV2hlbiBhIG5vdGFibGUgY2hhbmdlIGluIGJpdHJhdGUgaXMgb2JzZXJ2ZWQgKCsvLSAxMCUpLCB3ZSByZWNvcmQKCSAgbmV3IHZhbHVlcyBpbiB0aGUgY3VycmVudCBncm91cC4gVGhpcyBpcyBhIGNvbXByb21pc2UgYmV0d2VlbgoJICBzdG9yaW5nIGFsbCBQQ1Ivb2Zmc2V0IG9ic2VydmF0aW9ucyBhbmQgbm9uZSwgd2hpbGUgYXQgdGhlIHNhbWUgdGltZQoJICBwcm92aWRpbmcgYmV0dGVyIGluZm9ybWF0aW9uIGZvciBydW5uaW5nLXRpbWU8PT5vZmZzZXQgY2FsY3VsYXRpb24KCSAgaW4gVkJSIHN0cmVhbXMuCgkgIFdoZW5ldmVyIGEgbmV3IG5vbi1jb250aWd1b3VzIGdyb3VwIGlzIHN0YXJ0IChkdWUgdG8gc2Vla2luZyBmb3IgZXhhbXBsZSkKCSAgd2UgcmUtZXZhbHVhdGUgdGhlIHBjcl9vZmZzZXQgb2YgZWFjaCBncm91cHMuIFRoaXMgYWxsb3dzIGRldGVjdGluZyBhcwoJICBxdWlja2x5IGFzIHBvc3NpYmxlIFBDUiB3cmFwb3Zlci9yZXNldC4KCSAgV2hlbiB3YW50aW5nIHRvIGZpbmQgdGhlIG9mZnNldCBvZiBhIGNlcnRhaW4gcnVubmluZy10aW1lLCBvbmUgY2FuCgkgIGl0ZXJhdGUgdGhlIGdyb3VwcyBieSBsb29raW5nIGF0IHRoZSBwY3Jfb2Zmc2V0ICh3aGljaCBpbiBlc3NlbmNlICppcyoKCSAgdGhlIHJ1bm5pbmctdGltZSBvZiB0aGF0IGdyb3VwIGluIHRoZSBvdmVyYWxsIHN0cmVhbSkuCgkgIE9uY2UgYSBncm91cCAob3IgbmVpZ2hib3VyaW5nIGdyb3VwcyBpZiB0aGUgcnVubmluZy10aW1lIGlzIGJldHdlZW4gdHdvCgkgIGdyb3VwcykgaXMgZm91bmQsIG9uY2UgY2FuIHVzZSB0aGUgcmVjb3JkZWQgdmFsdWVzIHRvIGZpbmQgdGhlIG1vc3QKCSAgYWNjdXJhdGUgb2Zmc2V0LgoJICBSaWdodCBub3cgdGhpcyBjb2RlIGlzIG9ubHkgdXNlZCBpbiBwdWxsLW1vZGUgLCBidXQgY291bGQgYWxzbwoJICBiZSBhY3RpdmF0ZWQgbGF0ZXIgb24gZm9yIGFueSBzZWVrYWJsZSBzdHJlYW0sIGxpa2UgbGl2ZSB0aW1lc2hpZnQKCSAgd2l0aCBxdWV1ZTIuCgkgIEZ1dHVyZSBpbXByb3ZlbWVudHM6CgkgICogc29tZSBoZXVyaXN0aWNzIHRvICJjb21wcmVzcyIgdGhlIHN0b3JlZCB2YWx1ZXMgaW4gZ3JvdXBzIHNvIGFzIHRvIGtlZXAKCSAgdGhlIG1lbW9yeSB1c2FnZSBkb3duIHdoaWxlIHN0aWxsIGtlZXBpbmcgYSBkZWNlbnQgYW1vdW50IG9mIG5vdGFibGUKCSAgcG9pbnRzLgoJICAqIEFmdGVyIGEgc2VlayBjb21wYXJlIGV4cGVjdGVkIGFuZCBvYnRhaW5lZCBQQ1IvT2Zmc2V0IGFuZCBpZiB0aGUKCSAgZGlmZmVyZW5jZSBpcyB0b28gYmlnLCByZS1jYWxjdWxhdGUgcG9zaXRpb24gd2l0aCBuZXdseSBvYnNlcnZlZAoJICB2YWx1ZXMgYW5kIHNlZWsgdG8gdGhhdCBtb3JlIGFjY3VyYXRlIHBvc2l0aW9uLgoJICBOb3RlIHRoYXQgdGhpcyBjb2RlIHdpbGwgKm5vdCogcHJvdmlkZSBrZXlmcmFtZS1hY2N1cmF0ZSBzZWVraW5nLCBidXQKCSAgd2lsbCBhbGxvdyBhIG11Y2ggbW9yZSBhY2N1cmF0ZSBQQ1IvcnVubmluZy10aW1lL29mZnNldCBsb2NhdGlvbiBvbgoJICBhbnkgcmFuZG9tIHN0cmVhbS4KCSAgRm9yIHBhc3QgKG9ic2VydmVkKSB2YWx1ZXMgaXQgd2lsbCBiZSBhcyBhY2N1cmF0ZSBhcyBjYW4gYmUuCgkgIEZvciBmdXR1cmUgdmFsdWVzIGl0IHdpbGwgYmUgYmV0dGVyIHRoYW4gdGhlIGN1cnJlbnQgc2l0dWF0aW9uLgoJICBGaW5hbGx5IHRoZSBtb3JlIHlvdSBzZWVrLCB0aGUgbW9yZSBhY2N1cmF0ZSB5b3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUuCgoyMDEzLTA3LTA1IDE3OjExOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE5vIGxvbmdlciB1c2UgYSBwcml2YXRlIHN0cnVjdAoJICBUaGVzZSBhcmUgbm90IHB1YmxpYyBoZWFkZXJzLCBpdCBqdXN0IGFkZHMgY29tcGxleGl0eSBmb3Igbm8gcmVhc29uCgoyMDEzLTA5LTI2IDE2OjUxOjI1ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggZGVyZWZlcmVuY2luZyBvZiBOVUxMIHBvaW50ZXIKCSAgT24gc29tZSBsaXZlIEhMUyBzdHJlYW1zLCBnc3RfaGxzX2RlbXV4X3N3aXRjaF9wbGF5bGlzdCBjYXVzZXMKCSAgYXNzZXJ0aW9uIGZhaWx1cmVzIGJlY2F1c2UgaXQgdHJpZWQgdG8gZGVyZWZlcmVuY2UgYSBOVUxMIGZyYWdtZW50LgoJICBUaGlzIGlzIGJlY2F1c2UgZ19xdWV1ZV9wZWVrX3RhaWwgc29tZXRpbWVzIHdhcyByZXR1cm5pbmcgTlVMTCBhbmQKCSAgdGhpcyBjYXNlIHdhcyBub3QgYmVpbmcgY2hlY2tlZC4KCSAgVGhpcyBwYXRjaCBkb2VzIHR3byB0aGluZ3M6CgkgICogbW92ZSB0aGUgZ19xdWV1ZV9wZWVrX3RhaWwgaW5zaWRlIHRoZSBzZW1hcGhvcmUgcHJvdGVjdGlvbgoJICAqIGNoZWNrIGlmIHFfcXVldWVfcGVla190YWlsIHJldHVybnMgTlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODQ5CgoyMDEzLTA5LTI3IDE2OjEwOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBRdWV1ZSBidWZmZXJzIHVudGlsIHdlIGhhdmUgZW5vdWdoIHRvIGtub3cgdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODIyMgoKMjAxMy0wOS0xNiAxMTo0NjoyNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiByZXdvcmsgVFMgcGFja2V0IHN5bmMgYW5kIGV4dHJhY3Rpb24KCSAgVGhlIHByZXZpb3VzIGNvZGUgY291bGQgZW50ZXIgYW4gaW5maW5pdGUgbG9vcCBiZWNhdXNlIHRoZSBhZGFwdGVyIHN0YXRlCgkgIGNvdWxkIGdldCBvdXQgb2Ygc3luYyB3aXRoIGl0cyBtYXBwZWQgZGF0YSBzdGF0ZSBhZnRlciBzeW5jIHdhcyBsb3N0LgoJICBUaGUgY29kZSB3YXMgcHJldHR5IGNvbmZ1c2luZyBzbyBpdCdzIGJlZW4gcmV3cml0dGVuIHRvIGJlIGNsZWFyZXIuCgkgIFRoZSBlYXNpZXN0IHdheSB0byByZXByb2R1Y2UgdGhlIGluZmluaXRlIGxvb3AgaXMgdG8gdXNlIHRoZSBicmVha215ZGF0YQoJICBlbGVtZW50IGJlZm9yZSB0c2RlbXV4IHRvIHRyaWdnZXIgYSByZXN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjEKCjIwMTMtMDktMTYgMTE6NDI6NDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGJ1ZmZlciBvdmVyZmxvdwoJICBUaGlzIGNhbiBoYXBwZW4gd2l0aCBhIGNvcnJ1cHQgVFMgZmlsZSwgZm91bmQgd2l0aCBicmVha215ZGF0YSBlbGVtZW50CgkgIHBsdWdnZWQgYmVmb3JlIHRzZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjEKCjIwMTMtMDktMjUgMjM6NTc6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIEFTX1NDUlVCX0lOQ0xVREUKCSAgU2hvdWxkbid0IGJlIG5lZWRlZCBhbnkgbW9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzY1OAoKMjAxMy0wOS0yNSAyMDoyNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogRml4IGNvbXBpbGF0aW9uIG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxMy0wOS0yNCAxODozMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YjAzYmE3IHRvIDg2NWFhMjAKCjIwMTMtMDktMjQgMTU6MDU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBY3R1YWxseSB1c2UgMS4zLjAuMSBhcyB2ZXJzaW9uIHRvIG1ha2UgY29uZmlndXJlIGhhcHB5CgoyMDEzLTA5LTI0IDE1OjAwOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMi4wID09PQoKMjAxMy0wOS0yNCAxNDozNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMi4wCgoyMDEzLTA5LTI0IDE0OjM3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0yMyAxNjoxODo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkgIHNkcGRlbXV4OiBDaGFuZ2UgcmFuayB0byBOT05FIHVudGlsIGl0IGNhbiBiZSBhdXRvcGx1Z2dlZCBwcm9wZXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDk1CgoyMDEzLTA5LTIwIDE2OjE3OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjYxMzY2MSB0byA2YjAzYmE3CgoyMDEzLTA5LTE5IDIwOjE3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2Z4YmFkLmM6CgkgIGF1ZGlvZnhiYWQ6IENoYW5nZSBwbHVnaW4gbmFtZSB0byBhdWRpb2Z4YmFkIGZyb20gYXVkaW9jaGFubmVsbWl4CgoyMDEzLTA5LTE5IDIwOjA5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIGRhc2gvc21vb3Roc3RyZWFtaW5nOiBSZW1vdmUgdW51c2VkIGRlYnVnIGNhdGVnb3J5IHdpdGggdGhlIHNhbWUgbmFtZQoJICBJdCBjYXVzZWQgc3RhdGljIGxpbmtpbmcgdG8gZmFpbC4KCjIwMTMtMDktMTkgMTg6NDM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc0YTY4NTcgdG8gYjYxMzY2MQoKMjAxMy0wOS0xOSAxNzozNjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byA3NGE2ODU3CgoyMDEzLTA5LTE5IDE2OjQ0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdGF0aWMgbGlua2luZyBmb3IgQW5kcm9pZCBieSBwYXNzaW5nIC0tdGFnPUNDIHRvIGxpYnRvb2wKCjIwMTMtMDktMTkgMTE6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjkwID09PQoKMjAxMy0wOS0xOSAxMDo1MDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS45MAoKMjAxMy0wOS0xOSAxMDo0NjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMTkgMDk6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2NzLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA5LTE4IDIyOjM2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgZm9yIG5ldyBHc3RDb250ZXh0IEFQSQoKMjAxMy0wOS0xOCAyMjoyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBVcGRhdGUgZm9yIG5ldyBHc3RDb250ZXh0IEFQSQoKMjAxMy0wOS0xNyAxNzo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IEdzdFVyaURvd25sb2FkZXIgY2FuY2VsbGF0aW9uIHdoZW4gcmVzdGFydGluZyB0byBwbGF5CgoyMDEzLTA5LTE1IDE3OjA5OjE2ICswNTMwICBTdWRpcCBKYWluIDxzdWRpcC5qYWluQHN0LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENvcnJlY3QgY29uZGl0aW9uIGNoZWNrIGZvciBjdXJyZW50IG5leHQgaW5kaWNhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxMDYKCjIwMTMtMDktMTIgMTI6MDM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBmaXggZXZlbnQgb3JkZXIKCSAgRGVsYXkgZm9yd2FyZGluZyB0aGUgc2VnbWVudCBldmVudCB1bnRpbCB3ZSBwdXNoZWQgY2Fwcy4KCSAgU2VuZCBTVFJFQU1fU1RBUlQgaW4gcHVsbCBtb2RlLgoKMjAxMy0wOS0xMiAxMzoyMTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRG9uJ3QgcHV0IHRoZSBsZXZlbCByZXN0cmljdGlvbnMgb24gdGhlIHNpbmtwYWQgY2FwcwoJICBUaGV5IHRlbmQgdG8gYmUgaW5hY2N1cmF0ZSBhbmQgaGF2aW5nIHRoZW0gaW4gdGhlIHNpbmtwYWQgY2FwcwoJICBwcmV2ZW50cyBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBwbGF5IGZpbmUuCgoyMDEzLTA5LTEwIDE4OjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiByZXNwZWN0IHNlcW51bXMgb24gc2Vla3MKCSAgUGFzcyB0aGUgc2VxbnVtIHRvIG90aGVyIGV2ZW50cyB0aGF0IGFyZSBjb25zZXF1ZW5jZSBvZiB0aGUKCSAgb3JpZ2luYWwgc2VlayBldmVudAoKMjAxMy0wOS0xMCAxMTozNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFdlIGFsc28gd29yayB3aXRoIE9wZW5DViAyLjQuNi4xCgoyMDEzLTA5LTEwIDA4OjQ4OjMyICswMDAwICBJYWluIExhbmUgPGlhaW4ubGFuZUBjYW5vbmljYWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogU3BlY2lmeSBkaXJlY3Rvcnkgd2hlbiBpbmNsdWRpbmcgc3RkYWZ4LmgKCSAgbW9kcGx1ZyBzdG9wcGVkIGV4cG9zaW5nIHRoZWlyIGRpcmVjdG9yeSBpbiB0aGVpciBwY2ZpbGUsIG1lYWluaW5nCgkgIGNvbnN1bWVycyBhY2Nlc3NpbmcgdGhlIGhlYWRlcnMgZGlyZWN0bHkgZmFpbCB0byBidWlsZC4KCSAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21vZHBsdWcteG1tcy9naXQvY2kvNzVlOWIxNjY5ODJlZDYzN2I1OWVmN2NiYzE4MzVhMDlmNzY4OTIzZS8KCjIwMTMtMDktMDkgMTM6MTQ6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggc21hbGwgbWVtIGxlYWsKCjIwMTMtMDktMDcgMjM6MDk6MzEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHVwZGF0ZSBzcmMgY2FwcyBpZiBvbmx5IGNvZGVjX2RhdGEgZGlmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzMzCgoyMDEzLTA5LTA1IDE5OjIzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogTGV0IHRoZSBjYXBzIGJlIE5VTEwgaWYgdGhlcmUgaXMgbm8gcGVlcgoKMjAxMy0wOS0wNSAxOToyMjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IE5vIG5lZWQgdG8gZHJvcCBzZWdtZW50IGV2ZW50cwoJICBJbiAxLjAsIHNlZ21lbnQgZXZlbnRzIGFyZSBzdGlja3kgYW5kIG5vdCBhZGRpdGl2ZSwgbm8gbmVlZCB0byBwcmV2ZW50CgkgIHRoZWlyIGFjY3VtdWxhdGlvbi4KCjIwMTMtMDktMDUgMTk6MTA6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogc2VuZCBjYXBzIGV2ZW50IGJlZm9yZSBzZWdtZW50CgoyMDEzLTA5LTA0IDEwOjU4OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBjaGFuZ2UgcG9vbC0+c2luay0+bGFzdF9idWZmZXIgdG8gcG9vbC0+bGFzdF9idWZmZXIKCSAgU28gdGhhdCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wgZG9lcyBub3QgZGVwZW5kIG9uIEdzdEVnbEdsZXNTaW5rCgkgIFRoZSBnb2FsIGlzIHN0aWxsIHRvIG1vdmUgaXQgaW50byBnc3RlZ2wgbGliCgoyMDEzLTA5LTA0IDEwOjU2OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBidWZmZXIgcG9vbCBkb2VzIG5vdCBuZWVkIHRvIG1haW50YWluIGEgcmVmIG9uIHRoZSBkaXNwbGF5CgkgIEJlY2F1c2UgaXQgZG9lcyBub3QgdXNlIGl0IGFuZCBhbHNvIGl0IG1heSBub3Qga25vdyBpdCB3aGVuCgkgIHdlIGNyZWF0ZSB0aGUgcG9vbAoKMjAxMy0wOS0wNCAxMDo1Mjo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogYWRkIEdzdEVHTEltYWdlQnVmZmVyUG9vbFNlbmRCbG9ja2luZ0FsbG9jYXRlIGNhbGxiYWNrCgkgIFRoZSBnb2FsIGhlcmUgaXMgdG8gcHJlcGFyZSBHc3RFR0xCdWZmZXJQb29sIHRvIGJlIG1vdmVkIGludG8KCSAgZ3N0ZWdsIGxpYi4gU28gaXQgaGFzIHRvIG5vdCBkZXBlbmQgb24gJ2dzdF9lZ2xnbGVzc2lua19xdWV1ZV9vYmplY3QnCgoyMDEzLTA5LTA0IDEwOjQ4OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHByZXBhcmUgZ3N0X2VnbF9hZGFwdGF0aW9uX2FsbG9jYXRlX2VnbGltYWdlIHRvIGJlIG1vdmVkCgkgIGludG8gZ3N0ZWdsIGxpYiBvciBzcGxpdGVkIGJldHdlZW4gZ3N0ZWdsIGxpYiBhbmQgZ3N0Z2wgbGliCgkgIGJlY2F1c2UgaXQgYm90aCBkZXBlbmRzIG9uIGVnbCBhbmQgZ2wKCSAgU28gaXQgaGFzIHRvIG5vdCBkZXBlbmQgb24gR3N0RWdsQWRhcHRhdGlvbkNvbnRleHQKCjIwMTMtMDgtMzAgMTM6NTQ6NDAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBzdHJlYW0tZm9ybWF0PWF2YzMKCSAgV2hlbiBvdXRwdXR0aW5nIGluIEFWQzMgc3RyZWFtIGZvcm1hdCwgdGhlIGNvZGVjX2RhdGEgc2hvdWxkIG5vdAoJICBjb250YWluIGFueSBTUFMgb3IgUFBTLCBiZWNhdXNlIHRoZXkgYXJlIGVtYmVkZGVkIGluc2lkZSB0aGUgc3RyZWFtLgoJICBJbiBjYXNlIG9mIGF2Yy0+Ynl0ZXN0cmVhbSBoMjY0cGFyc2Ugd2lsbCBwdXNoIHRoZSBTUFMgYW5kIFBQUyBmcm9tCgkgIGNvZGVjX2RhdGEgZG93bnN0cmVhbSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSwgYXQgaW50ZXJ2YWxzCgkgIGNvbnRyb2xsZWQgYnkgImNvbmZpZy1pbnRlcnZhbCIgYW5kIHdoZW4gdGhlcmUgaXMgYSBjb2RlY19kYXRhIGNoYW5nZS4KCSAgSW4gdGhlIGNhc2Ugb2YgYXZjMy0+Ynl0c3RyZWFtIGgyNjRwYXJzZSBkZXRlY3RzIHRoYXQgdGhlcmUgaXMKCSAgYWxyZWFkeSBTUFMvUFBTIGluIHRoZSBzdHJlYW0gYW5kIHNldHMgaDI2NHBhcnNlLT5wdXNoX2NvZGVjIHRvIEZBTFNFLgoJICBUaGVyZWZvcmUgYXZjMy0+Ynl0c3RyZWFtIHdhcyBhbHJlYWR5IHN1cHBvcnRlZCwgZXhjZXB0IGZvciB0aGUgc3RyZWFtCgkgIHR5cGUuCgkgIEluIHRoZSBjYXNlIG9mIGJ5c3RyZWFtLT5hdmMgaDI2NHBhcnNlIHdpbGwgZ2VuZXJhdGUgY29kZWNfZGF0YSBjYXBzCgkgIGZyb20gdGhlIHBhcnNlZCBTUFMvUFBTIGluIHRoZSBzdHJlYW0uIEhvd2V2ZXIgaXQgZG9lcyBub3QgcmVtb3ZlIHRoZXNlCgkgIFNQUy9QUFMgZnJvbSB0aGUgc3RyZWFtLiBieXRlc3RyZWFtLT5hdmMzIGlzIHRoZSBzYW1lIGFzIGJ5dGVzdHJlYW0tPmF2YwoJICBleGNlcHQgdGhhdCB0aGUgY29kZWNfZGF0YSBtdXN0IG5vdCBoYXZlIGFueSBTUFMvUFBTIGluIGl0LgoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8c3RyZWFtLWZvcm1hdCB8IFNQUyBpbi1iYW5kIHwgU1BTIGluIGNvZGVjX2RhdGEgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8IGF2YyAgICAgICAgICB8IG1heWJlICAgICAgIHwgYWx3YXlzICAgICAgICAgICAgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8IGF2YzMgICAgICAgICB8IGFsd2F5cyAgICAgIHwgbmV2ZXIgICAgICAgICAgICAgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICBBbWVuZG1lbnQgMiBvZiBJU08vSUVDIDE0NDk2LTE1IChBVkMgZmlsZSBmb3JtYXQpIGlzIGRlZmluaW5nIGEgbmV3CgkgIHN0cnVjdHVyZSBmb3IgZnJhZ21lbnRlZCBNUDQgY2FsbGVkICJhdmMzIi4gVGhlIHByaW5jaXBhbCBkaWZmZXJlbmNlCgkgIGJldHdlZW4gQVZDMSBhbmQgQVZDMyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIGNvZGVjIGluaXRpYWxpc2F0aW9uCgkgIGRhdGEgKGUuZy4gU1BTLCBQUFMpLiBJbiBBVkMxIHRoaXMgZGF0YSBpcyBwbGFjZWQgaW4gdGhlIGluaXRpYWwgTU9PViBib3gKCSAgKG1vb3YudHJhay5tZGlhLm1pbmYuc3RibC5zdHNkLmF2YzEpIGJ1dCBpbiBBVkMzIHRoaXMgZGF0YSBnb2VzIGluIHRoZQoJICBmaXJzdCBzYW1wbGUgb2YgZXZlcnkgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMDQKCjIwMTMtMDktMDMgMTc6MzY6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IEZpeCBjb21waWxhdGlvbiB3aXRoIHNvdW5kdG91Y2ggMS40LjAKCSAgSXQgdXNlZCBGTE9BVF9TQU1QTEVTL0lOVEVHRVJfU0FNUExFUyAjZGVmaW5lcyBpbnN0ZWFkIG9mIG9uZXMgcHJvcGVybHkKCSAgcHJlZml4ZWQgd2l0aCBhIG5hbWVzcGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM5MAoKMjAxMy0wOS0wMyAxMToxNDo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgd2luMzIgY29uZmlnLmgtbmV3CgoyMDEzLTA5LTAzIDExOjA1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBQb3J0IHRpbGVkIE5WMTIgY29udmVyc2lvbiB0byAxLjAKCjIwMTMtMDktMDMgMTA6NTY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEFkZCBGSVhNRSBjb21tZW50CgoyMDEzLTA4LTEyIDEwOjE2OjE2ICswMDAwICBKb3JnZSBMdWlzIFphcGF0YSA8anphcGF0YUBmbHVlbmRvLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYWRkIHN1cHBvcnQgZm9yIGEgbmV3IHF1YWxjb21tIGNvbG9yc3BhY2UKCjIwMTMtMDktMDIgMjM6Mjg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbWlub3IgY2xlYW4tdXAKCjIwMTMtMDktMDIgMjI6NTQ6MzIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlbmQgZXZlbnRzIG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZAoJICBTb21lb25lIG1pZ2h0IGJlIHdhaXRpbmcgZm9yIGNlcnRhaW4gZXZlbnRzIHdpdGggYSBwcm9iZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzMxNwoKMjAxMy0wOC0yOCAyMDowNzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRpc2FibGUgYnVmZmVyIHBvb2xzCgkgIE9uIGEgZGV2aWNlIGxvc3QsIGFsbCB0aGUgc3VyZmFjZXMgYWxsb2NhdGVkIGluIHRoZQoJICBkZXZpY2UgbmVlZCB0byBiZSByZWxlYXNlZCBiZWZvcmUgcmVzZXR0aW5nIHRoZSBkZXZpY2UsCgkgIHdoaWNoIGNhbid0IGJlIGRvbmUgZm9yIHRoZSBhbGxvY2F0ZWQgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjU2NgoKMjAxMy0wOS0wMiAxMzo0MDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIENoYW5nZSBob3cgd2luMzIvY29tbW9uL2NvbmZpZy5oIGlzIHVwZGF0ZWQKCSAgR2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oLW5ldyBkaXJlY3RseSBmcm9tIGNvbmZpZy5oLmluLAoJICB1c2luZyBzaGVsbCB2YXJpYWJsZXMgaW4gY29uZmlndXJlIGFuZCBzb21lIGhhcmQtY29kZWQgaW5mb3JtYXRpb24uCgkgIENoYW5nZSB0b3AtbGV2ZWwgbWFrZWZpbGUgc28gdGhhdCAnbWFrZSB3aW4zMi11cGRhdGUnIGNvcGllcyB0aGUKCSAgZ2VuZXJhdGVkIGZpbGUgdG8gd2luMzIvY29tbW9uL2NvbmZpZy5oLCB3aGljaCB3ZSBrZWVwIGluIHNvdXJjZQoJICBjb250cm9sLiAgSXQncyBrZXB0IGluIHNvdXJjZSBjb250cm9sIHNvIHRoYXQgdGhlIGdpdCB0cmVlIGlzCgkgIGJ1aWxkYWJsZSBmcm9tIFZTLgoJICBUaGlzIGNoYW5nZSBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgcmVjZW50bHkgYXBwbGllZCB0byBHU3RyZWFtZXIKCSAgYW5kIGdzdC1wbHVnaW5zLWdvb2QuICBUaGUgcHJldmlvdXMgY29uZmlnLmggZmlsZSBpbiAtYmFkIHdhcyBpbgoJICBwcmV0dHkgYmFkIHNoYXBlLCBzbyB1bmxpa2UgY29yZSBhbmQgYmFzZSwgSSBkaWRuJ3QgYXR0ZW1wdCB0bwoJICBsZWF2ZSBpdCBzdHJpY3RseSB0aGUgc2FtZSwgYnV0IGZpeGVkIGl0IGFzIG5lY2Vzc2FyeS4gIE5lZWRzCgkgIHRlc3RpbmcgSSBjYW5ub3QgZG8gbXlzZWxmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5MDE1CgoyMDEzLTA5LTAyIDEyOjE5OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgYWlmZnBhcnNlIHRlc3QgYmluYXJ5CgoyMDEzLTA5LTAyIDEwOjI5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgc291bmR0b3VjaDogQWxsb3cgY29tcGlsYXRpb24gYWdhaW5zdCBmbG9hdCBhbmQgaW50ZWdlciB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNzAKCjIwMTMtMDgtMzAgMjE6NTI6MzUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIGluIE9TIFggU25vdyBMZW9wYXJkCgkgIGdzdGRhc2hkZW11eC5jOjE3NTM6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JwoJICBnc3RkYXNoZGVtdXguYzoyMjI0OiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdndWludDY0JwoJICBnc3RkYXNoZGVtdXguYzoyMjI0OiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMCBoYXMgdHlwZSAnZ3VpbnQ2NCcKCjIwMTMtMDgtMzAgMjE6MzY6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBGaXggd2FybmluZ3Mgd2hlbiBidWlsZGluZyBpbiBPUyBYIFNub3cgTGVvcGFyZAoJICBnc3RtcGRwYXJzZXIuaDo1MzA6IHdhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlCgkgIGdzdG1wZHBhcnNlci5jOjQxNzc6IHdhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlCgoyMDEzLTA4LTMwIDA5OjA1OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIGNvZGVjcGFyc2VycyBtYWNyb3MKCSAgbm90ZTogSS9TSSBhbHNvIGNvdmVycyB0aGUgU19JL1NfU0kgdmFyaWFudHMKCjIwMTMtMDgtMjkgMTE6MDI6MzcgLTA3MDAgIEtlcnJpY2sgU3RhbGV5IDxrZXJyaWNrQGtlcnJpY2tzdGFsZXkuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkgIGV4YW1wbGVzOiBwb3J0IGRpcmVjdGZiIGV4YW1wbGUgdG8gMS4wCgkgIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwcyB3YXMgcmVtb3ZlZCBmcm9tIDEuMDsKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuIFNlZQoJICBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJlYW1lci90cmVlL2RvY3MvcmFuZG9tCgkgIC9wb3J0aW5nLXRvLTEuMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3NAoKMjAxMy0wOC0yOSAxNTo1NTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZSBjb25maWcuaAoKMjAxMy0wOC0yOSAxNTo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBtYWtlICJsYXllci1tb2RlIiBwcm9wZXJ0eSBhbiBlbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDgtMjkgMTQ6NDg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDYtMjYgMTE6MDc6MTQgKzA5MDAgIEthenVub3JpIEtvYmF5YXNoaSA8a2tvYmF5YXNAaWdlbC5jby5qcD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgIGRmYnZpZGVvc2luazogcG9ydCB0byAxLjAKCSAgaW5jbHVkaW5nIHRoZSBmb2xsb3dpbmcgc3VwcG9ydHMgYW5kIGZpeGVzOgoJICAqIENyZWF0ZSBEaXJlY3RGQiBzdXJmYWNlcyBmcm9tIEdzdEJ1ZmZlclBvb2wKCSAgKiBBZGQgTlYxMiBwaXhlbCBmb3JtYXQgc3VwcG9ydAoJICAqIERvbid0IHVzZSB0aGUgY3Vyc29yIGluIHRoZSBleGNsdXNpdmUgbW9kZQoJICAtIEVuYWJsZUN1c29yKCkgY2FuIGJlIG9ubHkgdXNlZCB3aGVuIHRoZSBhZG1pbmlzdHJhdGl2ZSBtb2RlIGlzIHNldAoJICBpbiBEaXJlY3RGQiAxLjYuMCBhbmQgbGF0ZXIuCgkgICogU3VwcG9ydCBtdWx0aXBsZSBwbGFuZSByZW5kZXJpbmcgZm9yIHBsYW5hciBjb2xvciBmb3JtYXRzCgkgIC0gVGhpcyBhY2NvbW1vZGF0ZXMgdGhlIGNocm9tYSBwbGFuZSBvZmZzZXRzIG9mIHRoZSBmcmFtZWJ1ZmZlcgoJICBpbiBwbGFuYXIgZm9ybWF0cy4KCSAgKiBJbnZva2UgU2V0Q29uZmlndXJhdGlvbiByZWdhcmRsZXNzIG9mIHZpZGVvIG1vZGUgc2V0dGluZyBpbiBzZXRjYXBzKCkKCSAgLSBTZXRDb25maWd1cmF0aW9uKCkgbWV0aG9kIHNob3VsZCBiZSBpbnZva2VkIHJlZ2FyZGxlc3Mgb2YKCSAgdGhlIHJlc3VsdCBvZiBnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKCksIHNpbmNlIHRoZSB0d28gYXJlCgkgIHVucmVsYXRlZC4KCSAgKiBEaXNhYmxlIERpcmVjdEZCIHNpZ25hbCBoYW5kbGVyCgkgIC0gIi0tZGZiOm5vLXNpZ2hhbmRsZXIiIG9wdGlvbiBpcyBwYXNzZWQgdG8gRGlyZWN0RkJJbml0KCkuCgkgIFRoaXMgcHJldmVudHMgRGlyZWN0RkIgZnJvbSB0cnlpbmcgdG8ga2lsbCB0aGUgcHJvY2VzcyBhbmQgYWxsb3dzCgkgIEdTdHJlYW1lcidzIHRlcm1pbmF0aW9uIHNlcXVlbmNlIHRvIHByb2NlZWQgbm9ybWFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDgtMjkgMTA6MjA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYXZkdHB1dGlsOiBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGxlYWsgZml4ZXMKCjIwMTMtMDgtMjggMTQ6MjY6MDQgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IHN1cHBvcnQgYWFjIGluIGF2ZHRwc3JjCgkgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoyMDEzLTA4LTI4IDEzOjI2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS40ID09PQoKMjAxMy0wOC0yOCAxMzowNzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuNAoKMjAxMy0wOC0yOCAxMzowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDgtMjggMTI6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL3B0X0JSLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOC0yOCAxMToxMzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogbWFyayBhcyB1bnN0YWJsZSBBUEkKCjIwMTMtMDgtMjcgMTc6MDU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHBvc3NpYmxlIHJlYWQgYmV5b25kIGVuZCBvZiBidWZmZXIgd2hlbiByZXN5bmNpbmcKCjIwMTMtMDgtMjcgMTE6Mjc6MDQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9ubHkgdXBkYXRlIHNyYyBDQVBTIHdoZW4gaXQncyBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1MgoKMjAxMy0wOC0yMCAxMTo1OTozNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHNldCBDQVBTIGFuZCBwYXNzdGhyb3VnaCBtb2RlIGlmIFNQUy9QUFMgaGF2ZSBub3QgYmVlbiBwYXJzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1MgoKMjAxMy0wOC0yNiAxMzo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERvbid0IHNldCBCWjJfTElCUyBpZiBiejIgaXMgbm90IGZvdW5kCgoyMDEzLTA4LTI2IDEwOjIyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IFNvbWUgY2xlYW51cCBhbmQgbWlub3IgZml4ZXMKCjIwMTMtMDgtMjQgMDA6NDY6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvZ3N0d2VicC5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuaDoKCSAgd2VicDogQWRkIFdlYlAgaW1hZ2UgZGVjb2RlciBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI4NQoKMjAxMi0wOS0wMSAyMDo0Njo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IG5ldyBwcm9wZXJ0eSB0byBjb250cm9sIGJ1cyBtZXNzYWdlcyB1cGRhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU2MjIKCjIwMTMtMDgtMjMgMTI6MDE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBvcGVuY3Y6IEZpeCBpbmRlbnRpb24KCjIwMTMtMDgtMjMgMTI6MDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSAgb3BlbmN2OiBQb3J0IHRvIG5vbi1kZXByZWNhdGVkIEdNdXRleC9HQ29uZCBBUEkKCjIwMTMtMDgtMjMgMTE6Mzg6MDQgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgb3BlbmN2OiBBZGQgZGlzcGFyaXR5LW1hcCBjYWxjdWxhdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ3NjAKCjIwMTMtMDgtMjIgMTc6MzI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMy0wOC0yMiAxNjowNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSBvcGVuY3YgZGVwZW5kZW5jeSwgMi40LjUgd29ya3MgdG9vLgoKMjAxMy0wOC0yMiAxMzo0NTo1OSArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGEgYXVkaW8gZGV2aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1NzQKCjIwMTMtMDgtMjIgMTQ6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggYnoyIGNvbmZpZ3VyZSBjaGVjayBmb3IgV2luZG93cwoJICBEdWUgdG8gZnVuY3Rpb24gZGVjb3JhdGlvbnMgb24gV2luZG93cyBBQ19DSEVDS19MSUIgY2FuJ3QgYmUgdXNlZCB0byBjaGVjayBmb3IgYnoyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1OTI0CgoyMDEzLTA4LTIxIDE0OjQ0OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZnVzZSBuZWdhdGl2ZSByYXRlcyB3aGljaCB3ZSBkb24ndCBzdXBwb3J0IHlldAoJICBBbmQgcmVtb3ZlIGEgY2hlY2sgd2hpY2ggd2FzIGRvbmUgYmVmb3JlCgoyMDEzLTAzLTEwIDE3OjAyOjE4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBTZXQgdGhlIHByb2dyYW0gbnVtYmVyIGZyb20gcHJvZy1tYXAKCSAgVGhlIHByb2ctbWFwIHByb3BlcnR5IG9mIG1wZWd0c211eCBvbmx5IGFsbG93cyB5b3UgdG8gZ3JvdXAgcGlkcyB0b2dldGhlciBpbiBhIHByb2dyYW0uCgkgIFRoZSBwcm9ncmFtIG51bWJlciBzZXQgaW4gdGhlIFBBVC9QTVQgdGFibGVzIGNhbm5vdCBiZSBzZXQgZXhwbGljaXRseS4KCSAgVGhpcyBwYXRjaCB3aWxsIHNldCB0aGUgcHJvZ3JhbSBudW1iZXIgYWNjb3JkaW5nIHRvIHRoZSBwcm9nLW1hcC4KCSAgSWYgYSBwcm9ncmFtIGlkIG9mIDAgaXMgZ2l2ZW4sIHRoZSBmaXJzdCB2YWNhbnQgcHJvZ3JhbSBudW1iZXIgc3RhcnRpbmcgZnJvbSAxIHdpbGwgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIzOQoKMjAxMy0wOC0yMSAwODo1ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEFkYXB0IGZvciBsYXRlc3QgbXBlZ3RzIGxpYiBjaGFuZ2VzCgoyMDEzLTA4LTIxIDA4OjU4OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IEFkYXB0IGZvciBsYXRlc3QgbXBlZ3RzIGxpYiBjaGFuZ2VzCgoyMDEzLTA4LTIxIDA4OjQwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogQUJJL0FQSSBicmVhazogVXNlIEdQdHJBcnJheSBpbnN0ZWFkIG9mIEdBcnJheQoJICBXaGlsZSBpdCB3YXMgYSBncmVhdCBpZGVhLCB2YXJpb3VzIGctaSBiYXNlZCBiaW5kaW5ncyBkb24ndCBzdXBwb3J0CgkgIEdBcnJheSB3aXRoIGVudHJpZXMgZ3JlYXRlciB0aGFuIHNpemVvZihncG9pbnRlcikgOigKCSAgU28gbGV0J3MganVzdCBtYWtlIGV2ZXJ5Ym9keSBoYXBweSBieSBqdXN0IHVzaW5nIEdQdHJBcnJheS4KCSAgQW5kIHNpbmNlIHdlJ3JlIGJyZWFraW5nIHRoZSBBUEksIGFsc28gcmVuYW1lIHRoZSB2YXJpb3VzIGRlc2NyaXB0b3IgZmllbGRzCgkgIHRvIG5vIGxvbmdlciBoYXZlIHRoZSBkZXNjcmlwdG9yXyBwcmVmaXguCgkgIEl0IGRvZXMgY29zdCBhIGJpdCBtb3JlIGluIHRlcm1zIG9mIG1lbW9yeS9jcHUgdXNhZ2UsIGJ1dCBtYWtlcyBpdCB1c2FibGUKCSAgZnJvbSBiaW5kaW5ncy4KCjIwMTMtMDgtMTkgMTU6MzE6NTEgLTA0MDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0c3JjOiBkb24ndCBlcnJvciBvdXQgb24gaW5jb21wbGV0ZSBhdXggZGF0YSBzZWdtZW50CgkgIEl0IGFwcGVhcnMgdGhhdCB0aGUgTG9naXRlY2ggQzkyMCBzb21ldGltZXMgZHJvcHMgdGhlIG5leHQKCSAgdG8gbGFzdCBzZWdtZW50IG9mIFJBVyBhdXggZGF0YSBjb250YWluZWQgd2l0aGluIHRoZSBNSlBFRwoJICBjb250YWluZXIuICBIMjY0IGRhdGEgdGhhdCBpcyBtdWx0aXBsZXhlZCB3aXRoIGluIHRoZSBzYW1lCgkgIGNvbnRhaW5lciBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYWZmZWN0ZWQuICBUaGlzIGFwcGVhcnMgdG8KCSAgYmUgYSBidWcgaW4gdGhlIExvZ2l0ZWNoIEM5MjAgZmlybXdhcmUgYW5kIHV2Y2gyNjRzcmMgc2hvdWxkCgkgIG5vdCBlcnJvciBvdXQgaW4gdGhpcyBjYXNlLgoJICBTb21ldGltZXMgaXQgY2FuIHRha2UgMjQgaG91cnMgb2YgY29udGludW91cyBzdHJlYW1pbmcgZm9yCgkgIHRoZSBwcm9ibGVtIHRvIG9jY3VyLCBidXQgc29tZXRpbWVzIGl0IHRha2VzIG9ubHkgYSBjb3VwbGUKCSAgb2YgaG91cnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyNzYKCjIwMTMtMDgtMjAgMTY6MDE6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBVc2UgaW5wdXQgZnJhbWVyYXRlIHdoZW4gcG9zc2libGUKCSAgaWYgaW5wdXQgaXMgMzAwMDAvMTAwMSAuLi4gdXNlIDI0MDAwLzEwMDEgYXMgdGhlIG91dHB1dCBmaXhhdGVkIGZyYW1lcmF0ZQoKMjAxMy0wOC0xNSAxMTo0NTozNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogaGFuZGxlIHB1Ymxpc2hlciwgaW50ZXJwcmV0ZWQtYnkgYW5kIG11c2ljYWwta2V5IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5OQoKMjAxMy0wOC0yMCAxMzoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IHN3aXRjaCBzdGF0ZW1lbnQgaW4gbGV2ZWwgZGV0ZWN0aW9uIGNvZGUKCSAgUHJvcGVybHkgZmFsbCB0aHJvdWdoIHRoZSBjYXNlcyB3aXRob3V0IHJlLWFzc2lnbmluZyB0aGUgbGV2ZWwgdG8KCSAgdGhlIHdyb25nIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MzY5CgoyMDEzLTA4LTE5IDE3OjIzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZvcndhcmQgc2VnbWVudCBldmVudCBhZnRlciBjYXBzCgkgIFN0b3JlIGl0IHVudGlsIHdlIGtub3cgd2hhdCBvdXIgY2FwcyBhcmUuCgoyMDEzLTA4LTIwIDAwOjI2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3Q6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGFpZmZwYXJzZSB0ZXN0IG9uIDMyLWJpdCB4ODYKCjIwMTMtMDgtMTkgMDk6MjU6MjAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggY29weXJpZ2h0CgoyMDEzLTA4LTE3IDAwOjIyOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBpbiBhaWZmcGFyc2UgdW5pdCB0ZXN0CgoyMDEzLTA4LTE3IDAwOjA5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3RzOiBmaXggc3RhdGUgY2hhbmdlIG9yZGVyIGluIGFpZmZwYXJzZSB0ZXN0CgkgIERvIHN0YXRlIGNoYW5nZXMgZnJvbSBzaW5rIHRvIHNyYy4gRml4ZXMgcmFjZSBjb25kaXRpb24gaW4KCSAgcHVsbCBtb2RlIHRlc3Qgd2hlcmUgdGhlIHNvdXJjZSB3aWxsIHN0YXJ0IHVwIGFuZCBwdXNoIGJ1ZmZlcnMKCSAgdG8gcXVldWUvaWRlbnRpdHkgb3IgYWlmZnBhcnNlIGJlZm9yZSB0aGUgbWFpbiB0aHJlYWQgaGFzCgkgIG1hbmFnZWQgdG8gc2V0IHRoZW0gdG8gcGxheWluZyB5ZXQuCgoyMDEzLTA4LTEyIDE4OjMzOjM5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvczE2YmUtaWQzdjIuYWlmZjoKCSAgYWlmZnBhcnNlOiBhZGQgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xNyAwMDoyMzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGRvbid0IGxlYWsgYWRhcHRlcgoKMjAxMy0wOC0xNSAxMzo1ODo0OCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHMvbmV3c2VnbWVudC9zZWdtZW50LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTEzIDE4OjQyOjU1ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHB1c2ggbW9kZQoJICBGaXggcHVzaCBtb2RlIGJ5IGhhbmRsaW5nIHNpbmsgZXZlbnRzIChDQVBTLCBTRUdNRU5UKSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xNiAxNTo0MTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogUmVwYXJzZSB0aGUgY29uZmlnIGlmIHRoZSBzaXplIGNoYW5nZWQKCSAgQWxzbyBvbmx5IHJlLWlzc3VlIHRoZSBjYXBzIHVwZGF0ZSBpZiB0aGUgcGFydCBvZiB0aGUgY29uZmlnIHRoYXQKCSAgY2hhbmdlZCBpcyBvbmUgd2UgY2FyZSBhYm91dC4KCjIwMTMtMDgtMTYgMTk6NDg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IGZpeCBidWZmZXJzIGJlaW5nIGRyb3BwZWQgZHVlIHRvIHNoYWRvd2VkIHZhcmlhYmxlCgkgIFNwb3R0ZWQgYnkgZ3N0Ymx1YkBnbWFpbC5jb20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOTEKCjIwMTMtMDgtMDggMTE6MTk6MDAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG9mZnNldCBzZWdtZW50IG51bWJlcnMgYnkgc3RhcnROdW1iZXIKCSAgRm9yIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50cyBjb250YWluaW5nIGEgc3RhcnROdW1iZXIgYXR0cmlidXRlLCB0aGUKCSAgYG51bWJlcicgbWVtYmVyIG9mIEdzdE1lZGlhU2VnbWVudHMgc2hvdWxkIGJlIG9mZnNldCBieSB0aGUgdmFsdWUgb2YKCSAgc3RhcnROdW1iZXI7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IGN1cnJlbnRseSB0aGUgY2FzZS4gQXMgYSByZXN1bHQsIHRoZQoJICBmaXJzdCBVUkkocykgcmVxdWVzdGVkIGJ5IHRoZSBkb3dubG9hZCBsb29wIHdpbGwgYmUgd3JvbmcuCgkgIFRoaXMgY29tbWl0IGVuc3VyZXMgdGhhdCBzZWdtZW50IG51bWJlcnMgd2lsbCBiZSBvZmZzZXQgYnkgc3RhcnROdW1iZXIKCSAgd2hlbiBvbmUgaXMgcHJlc2VudCBpbiBhIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjYxCgoyMDEzLTA4LTA4IDE1OjE5OjE1ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgaW5jb3JyZWN0IHRpbWVzdGFtcCBzY2FsaW5nLgoJICBXaGVuIHVzaW5nIGEgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnQsIHRoZSB0aW1lc3RhbXBzIG9mIHRoZSBidWZmZXJzCgkgIG91dHB1dCBieSBkYXNoZGVtdXggYXJlIGluY29ycmVjdCwgY2F1c2luZyBwcm9ibGVtcyBkb3duc3RyZWFtLgoJICBUaGUgcmVhc29uIGlzIHRoYXQgR3N0TWVkaWFTZWdtZW50IHN0YXJ0IHRpbWVzIGFyZSBjYWxjdWxhdGVkIChpbgoJICBnc3RfbXBkcGFyc2VyX2dldF9jaHVua19ieV9pbmRleCkgYnkgbXVsdGlwbHlpbmcgc2VnbWVudCBpbmRleCBieQoJICBzZWdtZW50IGR1cmF0aW9uIGFuZCB0aGVuIHNjYWxpbmcgdGhlIHJlc3VsdCBhY2NvcmRpbmcgdGhlIGB0aW1lYmFzZScKCSAgYXR0cmlidXRlIGZyb20gdGhlIE1QRC4gSG93ZXZlciwgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgYWxyZWFkeSBhCgkgIEdzdENsb2NrVGltZSAoaS5lLiwgaXQgaGFzIGFscmVhZHkgYmVlbiBzY2FsZWQgYWNjb3JkaW5nIHRvIHRoZSB0aW1lYmFzZQoJICBmcm9tIHRoZSBNUEQgYW5kIGNvbnZlcnRlZCB0byBhIG5hbm9zZWNvbmQgdmFsdWUpLCBzbyBtdWx0aXBseWluZyBpdCBieQoJICB0aGUgc2VnbWVudCBpbmRleCB3aWxsIGdpdmUgdGhlIGNvcnJlY3QgdGltZXN0YW1wIHdpdGhvdXQgdGhlIG5lZWQgZm9yCgkgIGFueSBmdXJ0aGVyIHNjYWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzkKCjIwMTMtMDgtMTUgMjA6MTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgYW5vdGhlciBvYnNvbGV0ZSBleGFtcGxlCgoyMDEzLTA4LTE1IDE1OjQ2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgZXh0OiBVc2UgbmV3IGZsdXNoIHZmdW5jIG9mIHZpZGVvIGNvZGVjIGJhc2UgY2xhc3NlcyBhbmQgcmVtb3ZlIHJlc2V0IGltcGxlbWVudGF0aW9ucwoKMjAxMy0wOC0xNCAxOToxMjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJICBleGFtcGxlczogcmVtb3ZlIHByZWhpc3RvcmljIGV4YW1wbGVzCgoyMDEzLTA4LTE0IDE4OjE3OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSAgaW50ZXJhdWRpb3NyYzogbWFrZSBzaWxlbmNlIG1lbW9yeSBhY3R1YWxseSBjb250YWluIHNpbGVuY2UKCSAgaW5zdGVhZCBvZiByYW5kb20gZGF0YS4gUmVwb3J0ZWQgYnkgTWFyY28gTWljaGVsZXR0aSBvbgoJICBnc3RyZWFtZXItZGV2ZWwuCgoyMDEzLTA4LTE0IDEzOjI3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBjcml0aWNhbHMgd2hlbiB0cnlpbmcgdG8gY2FzdCBhIEdzdFBhZCB0byBhIEdzdEVsZW1lbnQKCSAgbWVzc2FnZS0+c3JjIG1pZ2h0IGJlIGEgR3N0UGFkLiBPYnNlcnZlZCBkdXJpbmcgZ3N0LWluc3BlY3QtMS4wIC1hCgoyMDEzLTA4LTE0IDEzOjU5OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogVXBkYXRlIGZvciBuZXcgZmlsZXMgdG8gaWdub3JlCgoyMDEzLTA4LTE0IDEzOjQxOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgcGVzcGFyc2U6IFJlZmFjdG9yeSBzZWNvbmRhcnkgUEVTIGV4dGVuc2lvbiBoYW5kbGluZwoJICBTb21lIHN0cmVhbXMgaGFkIHdyb25nIHZhbHVlcyBmb3IgdGhlIHN0cmVhbV9pZF9leHRlbnNpb24sIG1ha2Ugc3VyZQoJICB3ZSBvbmx5IHJlbWVtYmVyIHRoZSB2YWxpZCBvbmVzLgoJICBGb3Igc3RyZWFtcyB3aXRoIFBFU19leHRlbnNpb25fZmllbGRfbGVuZ3RoID09IDAsIGFzc3VtZSB0aGVyZSdzIG5vdGhpbmcKCSAgZWxzZS4KCSAgRm9yIHN0cmVhbXMgdGhhdCBzdGF0ZSB0aGV5IGhhdmUgYSBUUkVGIGV4dGVuc2lvbiBidXQgZG9uJ3QgaGF2ZSBlbm91Z2gKCSAgZGF0YSB0byBzdG9yZSBpdCwganVzdCBhc3N1bWUgaXQgd2FzIHByb2R1Y2VkIGJ5IGEgbm9uLWNvbXBsaWFudCBtdXhlcgoJICBhbmQgc2tpcCB0aGUgcmVtYWluaW5nIGRhdGEuCgkgIE9ubHkgc3RvcmUgcmVtYWluaW5nIGRhdGEgaW4gc3RyZWFtX2lkX2V4dGVuc2lvbl9kYXRhIGluc3RlYWQgb2Ygc3RvcmluZwoJICBkYXRhIHdlIGFscmVhZHkgcGFyc2UuCgoyMDEzLTA4LTE0IDEwOjQ3OjMxICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBSZW1vdmUgdW5uZWVkZWQgdW5yZWYgYW5kIG9ubHkgc2V0IHBhZCBjYXBzIGlmIHdlIGhhdmUgY2FwcwoJICBGaXhlcyBjcmFzaGVzIGR1ZSB0byBpbnZhbGlkIHVucmVmcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk1NwoKMjAxMy0wOC0xNCAxMDozOTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IEZpeCBwZXMgZXh0ZW5zaW9uIGRhdGEgbGVuZ3RoIGNoZWNrCgkgIEFuZCByZW1vdmUgbGVuZ3RoL2RhdGEgdXBkYXRlcyAod2UgdXNlIHRoZSBoZWFkZXIgc2l6ZSBqdXN0IGJlbG93IHRvCgkgIHByb3Blcmx5IHNldCB0aGVtKS4KCSAgQmFzZWQgb24gZmVlZGJhY2sgZnJvbSBTdGFzIFNlcmdlZXYgPHN0c3BAbGlzdC5ydT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM0MwoKMjAxMy0wOC0xNCAxMDozMzoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHBlc3BhcnNlOiBSZW1vdmUgdW51c2VkIGFyZ3VtZW50CgkgIFdlIGFsd2F5cyBwcm92aWRlZCAwIGFzIHRoZSBvZmZzZXQgYW5kIG5ldmVyIHVzZWQgdGhlIHJldHVybmVkIHZhbHVlLgoJICBCYXNlZCBvbiBmZWVkYmFjayBmcm9tIFN0YXMgU2VyZ2VldiA8c3RzcEBsaXN0LnJ1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzQzCgoyMDEzLTA4LTEzIDE3OjQ3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZTogdHVybiBpbnRlcm5hbCBjb25zaXN0ZW5jeSBjaGVjayBpbnRvIGEgZ19hc3NlcnQoKQoJICBXZSBvbmx5IGNoZWNrIGlucHV0IGZyb20gdGhlIEFQSSB1c2VyIHdpdGggZ19yZXR1cm5fKl9pZl9mYWlsKCkuCgkgIEludGVybmFsIHNhbml0eSBjaGVja3Mgc2hvdWxkIHVzZSBnX2Fzc2VydCgpIGluc3RlYWQsIHdoaWNoIGlzCgkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIHJlbGVhc2VzLgoKMjAxMy0wOC0xMyAxNzo0NTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2VyOiBtaW5vciBkb2MgZml4ZXMKCjIwMTMtMDgtMTMgMTI6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVzZSBnc3RfZGF0YV9xdWV1ZV9wdXNoX2ZvcmNlIGZvciBhZGRpbmcgZXZlbnRzIHRvIHF1ZXVlCgkgIFRoaXMgcHJldmVudHMgbG9ja2luZyBvbiBzdGFydHVwIHdoZW4gYSBzdHJlYW0gb25seSBoYXMgYSBzaW5nbGUgYnVmZmVyCgkgIGZvciBvbmUgb2YgdGhlIHN0cmVhbXMgYW5kIG1zc2RlbXV4IGRlY2lkZXMgdG8gcHVzaCBhbiBFT1MgZXZlbnQgcmlnaHQKCSAgYWZ0ZXIgaXQuCgoyMDEzLTA4LTA4IDEzOjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgcHVzaF9mb3JjZSB3aGVuIGFkZGluZyBldmVudHMgdG8gdGhlIGRhdGFxdWV1ZQoJICBUaGlzIHByZXZlbnRzIGRlYWRsb2NrcyBvbiBzdGFydHVwIG9uIGZpbGVzIHRoYXQgaGF2ZSBvbmx5IGEgdmVyeQoJICBsYXJnZSBidWZmZXIgZm9yIGEgc3RyZWFtIGFuZCB0aGUgcXVldWUgaXMgZmlsbGVkIGFuZCB3aWxsIGxvY2sgb24KCSAgdGhlIGVvcyBldmVudCB0aGF0IGlzIHB1c2hlZCBhZnRlciB0aGUgYnVmZmVyLiBBcyBubyBidWZmZXJzIGhhdmUgeWV0CgkgIGJlZW4gcHVzaGVkIHRvIG90aGVyIHN0cmVhbXMsIHRoZSBwaXBlbGluZSBsb2NrcyBvbiBwcmVyb2xsCgoyMDEzLTA3LTMwIDE1OjE3OjIzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc3VwcG9ydCBmaWVsZCBlbmNvZGluZyBmb3IgaW50ZXJsYWNlZCB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQ0CgoyMDEzLTA4LTEyIDAxOjAyOjUxIC0wNDAwICBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG5lb25odHRwc3JjOiBhbGxvdyBidWlsZGluZyB3aXRoIG5lb24tMC4zMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1ODEyCgoyMDEzLTA4LTEyIDEyOjI3OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IExldCBwYWNrZXRzIHRocm91Z2ggd2l0aG91dCB0b3VjaGluZyB0aGVtIGlmIG5vIGNyeXB0byBvciBhdXRoIGlzIHNldAoKMjAxMy0wOC0xMiAxMjoyNzoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUmVmYWN0b3IgY29kZSBhIGJpdAoJICBTaW1wbGlmeSB0aGUgZXJyb3IgaGFuZGxpbmcgY2FzZSBhbmQgZ2V0IHRoZSBwYWNrZXQgcHVzaCBvdXQgb2YgdGhlIGlmKCkKCjIwMTMtMDgtMTIgMTE6NTY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IGVycm9yIG9uIGludmFsaWQgcGFja2V0LCBqdXN0IGRyb3AgaXQKCjIwMTMtMDgtMDcgMTU6MDE6MzMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCB0aGUgU2VxdWVuY2VMYXllciBoYW5kbGluZyBmb3IgYWR2YW5jZWQgcHJvZmlsZS4KCSAgVGhlIFNlcXVlbmNlIEhlYWRlciBEYXRhIFN0cnVjdHVyZSBTVFJVQ1RfQyBmb3IgQWR2YW5jZWQgUHJvZmlsZQoJICBoYXMgb25seSBhIG9uZSB2YWxpZCBmaWVsZCB3aGljaCBpcyB0aGUgcHJvZmlsZSBpbmRpY2F0b3IuIERvbid0CgkgIHVzZSB0aGUgcmVzZXJ2ZWQgZmllbGRzIGZvciBmcHMgdXBkYXRlIGxpa2UgU2ltcGxlL01haW4gcHJvZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2NwoKMjAxMy0wOC0wNyAxNDo1Mjo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IHNlcSBoZHIgU1RSVUNUX0EgaGFuZGxpbmcgZm9yIGFkdmFuY2VkIHByb2ZpbGUuCgkgIFRoZSBTZXF1ZW5jZSBIZWFkZXIgRGF0YSBTdHJ1Y3R1cmUgU1RSVUNUX0EgZm9yIGFkdmFuY2VkIHByb2ZpbGUKCSAgbWF5IGJlIGVpZ2h0IGNvbnNlY3V0aXZlIHplcm8gYnl0ZXMuRG9uJ3QgdHJ5IHRvIG92ZXJyaWRlIHRoZQoJICB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjcKCjIwMTMtMDgtMDcgMTA6MTQ6MjAgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggU1NORCBkYXRhIHNpemUKCSAgQUlGRiBjaHVuayBzaXplIGRvZXMgbm90IGluY2x1ZGUgdGhlIGNodW5rIGhlYWRlciBzaXplICg4IGJ5dGVzKSwgc28gdGhlCgkgIFNTTkQgZGF0YSBzaXplIGlzIGVxdWFsIHRvIHRoZSBjaHVuayBzaXplIG1pbnVzIHRoZSBTU05EIGhlYWRlciBzaXplICg4CgkgIGJ5dGVzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NQoKMjAxMy0wNy0xMyAwMjo1MDo1MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciByZWRpcmVjdGlvbnMKCjIwMTMtMDgtMDIgMjA6Mzc6MzAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZW5kIGNvZGVjIHRhZyBmb3IgZWFjaCBzdHJlYW0KCjIwMTMtMDgtMTAgMjE6MzQ6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdGVzdHM6IHV2Y2gyNjRkZW11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnRzIGFuZCBmaXggZXZlbnQgb3JkZXIKCjIwMTMtMDgtMTAgMjE6MzM6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0bWpwZ2RlbXV4OiBmaXggZXZlbnQgb3JkZXJpbmcKCjIwMTMtMDgtMTAgMjA6MDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogbXBsZXg6IGZpeCAnR290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50JyBmYWlsdXJlCgoyMDEzLTA4LTEwIDE5OjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSAgdGVzdHM6IG1wZWcyZW5jOiBmaXggJ0dvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCcgZmFpbHVyZQoKMjAxMy0wOC0xMCAxOTo0NDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBDQVBTIHF1ZXJ5CgkgIFdhcyBjYXVzaW5nIGNyaXRpY2FscyBpbiBkZWNvZGViaW4vcGxheWJpbiBiZWNhdXNlIHRoZSBjYXBzCgkgIHF1ZXJ5IGRvbmUgd2hlbiBleHBvc2luZyBwYWRzIHdvdWxkIHJldHVybiBBTlkgY2Fwcy4KCjIwMTMtMDgtMTAgMTk6NDM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcgoKMjAxMy0wOC0wNyAxOTowODozMyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHNldCBtaXNzaW5nIGxheW91dCBmaWVsZCBpbiBzcmNwYWQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTA3IDE3OjI4OjI5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogc2VuZCBzdGFydCBzdHJlYW0gZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wNiAxNjo1MzozNyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBidWZmZXJzIGluaXRpYWxpc2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDIgMTQ6MTE6MDEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGFkZCBzdWJkaXItb2JqZWN0cyB0byBBTV9JTklUX0FVVE9NQUtFCgkgIEZpeGVzIHdhcm5pbmdzIHdpdGggYXV0b21ha2UgMS4xNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wOSAyMDoxMjowOSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY3JlYXRlL3JlbW92ZSBvcmMgZGlyZWN0b3J5IGF0IHByb3BlciB0aW1lCgkgIEJlZm9yZSBhdXRvbWFrZSBjcmVhdGVzIC5kZXBzIGRpcmVjdG9yaWVzLCBhbmQgZHVyaW5nIGRpc3RjbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wOSAyMDoxMDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgYmFzZWF1ZGlvdmlzdWFsaXplciB0ZXN0IHdpdGggc3ViZGlyLW9iamVjdHMgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDcgMDk6MDQ6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBzbGljZSB0eXBlIHRvIGRldGVybWluZSBpZiBmcmFtZSBpcyBrZXlmcmFtZQoJICBUaGlzIGlzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyBwcmUtYmFzZXBhcnNlLXJlZmFjdG9yaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1OTgKCjIwMTMtMDgtMDMgMTQ6MjA6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEbyBub3QgdHJpZ2dlciBjYXBzIHVwZGF0ZSBpZiB3ZSBvbmx5IGhhdmUgUFBTIHVwZGF0ZXMKCSAgVXBkYXRpbmcgY2FwcyByZXN1bHRzIGluIGRvd25zdHJlYW0gZWxlbWVudHMgcG90ZW50aWFsbHkgcmVjb25maWd1cmluZyB0aGVtc2VsdmVzCgkgIChzdWNoIGFzIGRlY29kZXJzKS4gSWYgd2UgZG8gdGhpcyBpbiB0aGUgbWlkZGxlIG9mIGtleWZyYW1lcywgd2Ugd291bGQgcmVzdWx0CgkgIGluIHRob3NlIGVsZW1lbnRzIGJlaW5nIHJlY29uZmlndXJlZCBhbmQgaGFuZGxpbmcgZ2FyYmFnZSB1bnRpbCB0aGUgbmV4dCBrZXlmcmFtZS4KCSAgSW5zdGVhZCBvZiB0aGlzIG9ubHkgc2VuZCAocG90ZW50aWFsbHkpIG5ldyBjb2RlY19kYXRhIHdoZW4gd2UgaGF2ZSAqYm90aCogU1BTIGFuZAoJICBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMzMKCjIwMTMtMDctMzEgMTE6NTY6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBxdWlldCBGSVhNRSB3aGVuIGl0J3Mgbm90IHJlbGV2YW50CgoyMDEzLTA3LTMxIDExOjU0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogaW1wbGVtZW50IG5ldyBlZGdlLWRpcmVjdGVkIHVwc2FtcGxpbmcKCjIwMTMtMDgtMDMgMTg6MDc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlbW92ZSB1c2Ugb2YgX1hPUEVOX1NPVVJDRQoJICBXaGljaCBjYXVzZXMgcHJvYmxlbXMgd2hlbiB1c2VkIHdpdGggX0dOVV9TT1VSQ0UgYXBwYXJlbnRseSwgYW5kIGl0CgkgIHNlZW1zIGl0IHdhcyBvbmx5IHNldCBiZWNhdXNlIG9mIHVzbGVlcCgpLCB3aGljaCB3ZSBjYW4ganVzdCByZXBsYWNlCgkgIHdpdGggZ191c2xlZXAoKSB1bnRpbCB3ZSBnZXQgcmlkIG9mIHRob3NlIGVudGlyZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MjA4CgoyMDEzLTA4LTAyIDE1OjEyOjE3ICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiByZXR1cm4gR1NUX0ZMT1dfRU9TIGluIGF2ZHRwc3JjIGNyZWF0ZSB3aGVuIHN0cmVhbSBpcyBFT0YKCSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM0OQoKMjAxMy0wOC0wMSAxMTowMTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBMb29rIGhhcmRlciBmb3IgbmV4dCBzeW5jIHBvc2l0aW9uCgkgIElmIGV2ZXIgd2UgbG9zZSBzeW5jLCB3ZSB3ZXJlIGp1c3QgY2hlY2tpbmcgZm9yIHRoZSBuZXh0IDB4NDcgbWFya2VyIC4uLgoJICB3aGljaCBtaWdodCBhY3R1YWxseSBoYXBwZW4gd2l0aGluIGEgbXBlZy10cyBwYWNrZXQuCgkgIEluc3RlYWQgY2hlY2sgZm9yIDMgcmVwZWF0aW5nIDB4NDcgYXQgdGhlIGV4cGVjdGVkIHBhY2tldCBzaXplIGludGVydmFsLAoJICB3aGljaCB0aGUgc2FtZSBsb2dpYyB3ZSB1c2Ugd2hlbiB3ZSBpbml0aWFsbHkgbG9vayBmb3IgdGhlIHBhY2tldCBzaXplLgoKMjAxMy0wOC0wMSAxMDo1ODoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggUENSIExVVCB0YWJsZQoJICBXZSB3ZXJlIG9ubHkgcmVzZXR0aW5nIHRoZSBmaXJzdCA1MTIgdmFsdWVzIG9mIHRoZSBsb29rdXAgdGFibGUgaW5zdGVhZAoJICBvZiB0aGUgd2hvbGUgODE5Mi4KCSAgVGhpcyByZXN1bHRlZCBpbiBhbnkgUENSIFBJRCBvdmVyIDB4MDIwMCAuLi4gZW5kaW5nIHVwIHRha2luZyB0aGUgZmlyc3QgUENSCgkgIHRhYmxlIGFyb3VuZCA6KAoKMjAxMy0wNy0zMCAyMjowNjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvcGVybHkgZXJyb3Igb3V0IHdoZW4gbWFuaWZlc3QgaGFzIG5vIHN0cmVhbXMKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIG1hbmlmZXN0IGlzIHBhcnNlZCBhbmQgbm8gdmFsaWQgc3RyZWFtcwoJICBhcmUgZm91bmQgYmUgYWN0aXZhdGVkIGFuZCB1c2VkLgoJICBGaXhlcyAjNzA0MzA4CgoyMDEzLTA3LTMwIDE2OjA4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzOiBwcml2YXRlL3RlbGV0ZXh0IC0+IGFwcGxpY2F0aW9uL3gtdGVsZXRleHQKCjIwMTMtMDctMjkgMjE6MjU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUKCjIwMTMtMDctMjkgMjE6MjQ6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBleGFtcGxlIGJpbmFyaWVzCgoyMDEzLTA3LTI5IDIxOjIzOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdmkucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA3LTI5IDE0OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4zID09PQoKMjAxMy0wNy0yOSAxMzo1MjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMwoKMjAxMy0wNy0yOSAxMzo1MjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0yOSAxMjoxNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaTogRml4IGhhbmRsaW5nIG9mIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEyOjE0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIGdzdDogRG9uJ3Qgc3dhcCBzdGFydC9zdG9wIGZvciBuZWdhdGl2ZSByYXRlcyBpbiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDA5OjM1OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSAgYWxsOiBGaXggZm9yIEdTVF9ESVNBQkxFX0dTVF9ERUJVRwoJICBXaGVyZSBhcHBsaWNhYmxlLCByZW1vdmUgbWV0aG9kcyB0aGF0IGRvbid0IGRvIGFueXRoaW5nIGRpZmZlcmVudCB0aGFuCgkgIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoKMjAxMy0wNy0yOSAwODo0NjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZG9jcy9zcGVjOiBSZWFsbHkgcmVtb3ZlIGFsbCBtZW50aW9ucyBvZiBDRUxUIHBsdWdpbgoKMjAxMy0wNy0yOSAwODoyOTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNob3cgTkFMVSBzdHJpbmcgdHlwZSBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBJZiB5b3Uga25vdyB0aGUgTkFMVSB0eXBlIGJ5IGhlYXJ0IEkgdGlwIG15IGhhdCB0byB5b3UsIGZvciB0aGUgcmVzdCBvZgoJICB1cyBtZXJlIG1vcnRhbHMgdGhpcyBpcyBhIGJpdCBtb3JlIGhlbHBmdWwKCjIwMTMtMDctMjkgMDg6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVudXNlZCBtYWNyb3MKCjIwMTMtMDctMjkgMDg6MjM6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBtb3JlIEFDMyBkZXRlY3Rpb24gY2FzZXMKCSAgQVRTQyBhYzMgc3RyZWFtcyBhcmUgYWx3YXlzIGd1YXJhbnRlZWQgdG8gYmUgQUMzIGlmIEVBQzMgZGVzY3JpcHRvcgoJICBpcyBub3QgcHJlc2VudAoJICBJZiBzdHJlYW0gcmVnaXN0cmF0aW9uIGlkIGlzICdBQy0zJyB0aGVuIGl0J3MgYWxzbyBndWFyYW50ZWVkIHRvIGJlIEFDMy4KCSAgRmluYWxseSBpZiBBQzMgZGVzY3JpcHRvciBpcyBwcmVzZW50IGl0J3MgZ3VhcmFudGVlZCB0byBiZSBBQzMuCgkgIE9ubHkgc2lsZW5jZXMgYSB3YXJuaW5nLCBidXQgc3RpbGwuCgoyMDEzLTA3LTI5IDA4OjIwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZsdXNoIG91dCBwZW5kaW5nIGRhdGEgb24gRU9TCgkgIEVuc3VyZXMgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSBkZWNvZGVycykgcmVhbGx5IGdldCBhbGwgdGhlIGRhdGEKCjIwMTMtMDctMjkgMDg6MTg6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogTW9yZSBBRkMgZmxhZ3MKCSAgSSBzaG91bGQgaGF2ZSBwdXQgdGhvc2UgaW4gYSBwcmV2aW91cyBjb21taXQuIHNvcnJ5IDooCgoyMDEzLTA3LTI5IDA4OjE0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVmczogU2ltcGxpZnkgUENSL1BUUy9EVFMgPT4gR1NUIGNvbnZlcnNpb24gbWFjcm9zCgkgIFdlIGtub3cgd2Ugd2lsbCBub3Qgb3ZlcmZsb3cgNjQgYml0cywgdGhlcmVmb3JlIGp1c3QgdXNlIGRpcmVjdAoJICBtdWx0aXBsaWNhdGlvbi9kaXZpc2lvbiBpbnN0ZWFkIG9mIHRoZSBzY2FsZSBtZXRob2QgKHRyaW1zIHVzYWdlIGZyb20KCSAgNTAgaW5zdHJ1Y3Rpb24gY2FsbHMgdG8gMi8zKS4KCjIwMTMtMDctMjggMjA6MTQ6NTUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogYXJ0aWZhY3RzIHdoZW4gcmVuZGVyaW5nIGNsaXBwZWQgc3B1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMzkKCjIwMTMtMDctMjggMTg6Mjg6MzAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkbyBub3QgdXBkYXRlIGNhcHMgd2hlbiBiaXRyYXRlIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAzNQoKMjAxMy0wNy0yOCAxNDoyMjozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIEZpeCBVUklzIGluIFJFUVVJUkVNRU5UUwoKMjAxMy0wNy0yOCAxMzoxMjozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0OiByZW1vdmUsIHJlcGxhY2VkIGJ5IG9wdXMuCgoyMDEzLTA3LTI4IDE3OjI5OjMyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NF9tanBnZGVtdXg6IFJlbW92ZSBkdXBsaWNhdGVkIHZhcmlhYmxlcwoKMjAxMy0wNy0yOCAxNzoyNToxMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRfbWpwZ2RlbXV4OiBEb24ndCB1bm1hcC91bnJlZiBidWZmZXIgaWYgaXQncyBwdXNoZWQgb3V0IGFzLWlzCgoyMDEzLTA3LTI2IDE4OjMzOjAwICswMDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjdjRsMl9tanBlZ2RlbXV4OiBVbm1hcCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTUxNwoKMjAxMy0wNy0yOCAxNTo0NjozMyArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIGJlIGN1cnJlbnQKCjIwMTMtMDctMjcgMTI6MTc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhEViBvbmx5IGhhcyBtcGVnIDEgYXVkaW8gbGF5ZXIgMgoJICBTZXQgdGhhdCBhY2NvcmRpbmdseSBvbiB0aGUgY2FwcwoKMjAxMy0wNy0yNiAxNzozMToyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFZhcmlvdXMgZGVidWcgYXJndW1lbnQgZml4ZXMKCSAgbWFpbmx5IEdfR1VJTlQxNl9GT1JNQVQgdG8gLi4uIHRoZSByaWdodCB0eXBlIChndWludDMyIG9yIGd1aW50OCkKCjIwMTMtMDctMjYgMTc6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgaGFyZGVyID8gOikKCjIwMTMtMDctMjYgMTM6MjA6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBpbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGVhcmxpZXIKCSAgWW91IGtub3csIGJlZm9yZSBpdCdzIHVzZWQuCgoyMDEzLTA3LTI2IDA3OjUzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogQWRkIG1vcmUgZmxhZyBkZWJ1Z2dpbmcgZm9yIFBFUyBhbmQgVFMgcGFja2V0cwoJICBIZWxwcyB3aXRoIGRlYnVnZ2luZyBpc3N1ZXMuIEFuZCBhbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgKG9wY3IpCgkgIFRoaXMgd2lsbCBhbHNvIGFsbG93IHVzIGluIHRoZSBmdXR1cmUgdG8gcHJvcGVybHkgZGV0ZWN0OgoJICAqIHJhbmRvbS1hY2Nlc3MgbG9jYXRpb24gKHRvIGVuYWJsZSBrZXlmcmFtZSBvYnNlcnZhdGlvbiBhbmQKCSAgcG90ZW50aWFsbHkgc2Vla2luZwoJICAqIGRpc2NvbnQgbG9jYXRpb24gKHRvIHByb3Blcmx5IGhhbmRsZSByZXNldHMpCgkgICogc3BsaWNlIGxvY2F0aW9uICh0byBwcm9wZXJseSBoYW5kbGUgbmV3IHN0cmVhbSBjaGFuZ2VzKQoKMjAxMy0wNy0yNCAxNzo0OTo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogTWFrZSB3YXJuaW5ncyBtb3JlIG1lYW5pbmdmdWwKCSAgQnkgc3RhdGluZyB3aGV0aGVyIHdlIGRvbid0IGhhdmUgZW5vdWdoIGRhdGEgb3IgaXQncyBhIGNvcnJ1cHRlZAoJICBwYWNrZXQKCjIwMTMtMDctMjQgMTc6NDk6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBEZW1vdGUgYSBXYXJuaW5nCgkgIFdlIGFjdHVhbGx5IG5vdyBrbm93IHdoYXQgdG8gZG8gLi4uIGhhdmUgYSBsb2cgbWVzc2FnZSA6KQoKMjAxMy0wNy0yNSAxNTowNjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIHVzaW5nIGNsaXBwZWQgb3V0IGJ1ZmZlcnMKCSAgSWYgYSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgb3V0IChpZSwgaXQncyBvdXQgb2YgdGhlIHNlZ21lbnQKCSAgZW50aXJlbHkpLCB3ZSdsbCBlbmQgdXAgd2l0aCBhIE5VTEwgYnVmZmVyLCB3aGljaCB3ZSBkb24ndCB3YW50CgkgIHRvIHByb2Nlc3MvZGVyZWZlcmVuY2UuCgoyMDEzLTA3LTI0IDE1OjUwOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFJlbWVtYmVyIHJlcXVlc3RlZCBzZWVrIHJhdGUgYW5kIHVzZSBpdAoJICBUaGUgbmV3IHNlZWsgaGFuZGxpbmcgcmUtY3JlYXRlcyB0aGUgc2VnbWVudCB0aW1lIGluZm9ybWF0aW9uIG9uY2UgaXQKCSAgaGFzIGVub3VnaCBpbmZvcm1hdGlvbiBhZnRlciBhIHNlZWsuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IHdlJ2QgY29tcGxldGVseSBpZ25vcmUgdGhlIHJlcXVlc3RlZCByYXRlLiBTbyBzdG9yZQoJICB0aGF0IGFuZCB1c2UgaXQgaW4gdGhlIG5ld2x5IGNyZWF0ZWQgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM2OQoKMjAxMy0wNy0yNCAwOToxODo0MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZGVzdHJveSB0aGUgcXVldWUgaWYgc2V0X2Zvcm1hdCBmYWlscwoKMjAxMy0wNy0yNCAwOToxNTo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogcmVtb3ZlIGMrKyBzdHlsZSBjb21tZW50cwoKMjAxMy0wNy0yNCAwOToxMTo1OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogMXN0IHJvdW5kIG9mIGZpeGVzCgoyMDEzLTA3LTIzIDEwOjEwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBjb2RlY19kYXRhIGhhbmRsaW5nCgkgIFNldCB0byBzZXF1ZW5jZV9vZmZzZXQgc28gdGhhdCBfcHJvY2Vzc19jb25maWcgYWNjZXB0cyBpdC4KCSAgKGJ0dzogc2VxX29mZnNldCB1c2FnZSB0aHJvdWdob3V0IHRoaXMgcGx1Z2luIGlzIHJlYWxseSBkb2RneSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgwNgoKMjAxMy0wNi0xNCAwNzoyODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENyZWF0ZSBhbmQgc2VuZCBjb2RlYyB0YWcKCSAgSGVscHMgd2l0aCBhcHBsaWNhdGlvbnMgdGhhdCByZWx5IG9uIHByZXNlbmNlIG9mIHRoYXQgdGFnIGZvciB1c2VyLWZhY2luZwoJICBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIxNgoKMjAxMy0wNy0yMyAxMzoyOToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IHBrY3M3IHVucGFkZGluZwoJICBFdmVyeSBlbmNyeXB0ZWQgZnJhZ21lbnQgd2lsbCBiZSBhIG11bHRpcGxlIG9mIDEyOCBiaXRzLCB0aGUgbGFzdCBieXRlCgkgIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCB3ZXJlIGFkZGVkIGFzIHBhZGRpbmcgaW4gdGhlIGVuZAoJICBhbmQgc2hvdWxkIGJlIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE2NzMKCjIwMTMtMDctMjMgMTA6MzA6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgQXVkaW9Ub29sYm94IGJhc2VkIGF1ZGlvIGRlY29kZXIKCjIwMTMtMDctMjMgMTA6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDozMToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoyNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MjE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowOTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNzozMDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiBpZiBmaWx0ZXIgY2FwcyBhcmUgcGFzc2VkIHRvIHF1ZXJ5X2NhcHMKCSAgTWFrZSB2aWRlb3Rlc3RzcmMgISBpbnRlcmxhY2UgISAkYW55dGhpbmcgd29yayBhZ2Fpbi4gUHJvYmxlbQoJICB3YXMgdGhhdCB1cHN0cmVhbSBmaWx0ZXIgY2FwcyB3ZXJlIHBhc3NlZCB3aGljaCBjb250YWluZWQKCSAgaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUsIHdoaWNoIGRvZXNuJ3QgaW50ZXJzZWN0IHRvbyB3ZWxsCgkgIHdpdGggaW50ZXJsYWNlJ3Mgc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLCBsZWFkaW5nIHRvCgkgIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCjIwMTMtMDctMjIgMTQ6NTY6MzIgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IGFib3J0IG9uIGludmFsaWQgc3RyZWFtcwoJICBKdXN0IHJldHVybiBhbiBlcnJvcgoKMjAxMy0wNy0xOSAxNTozMDo0MiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50Lmg6CgkgIGhsczogZml4IGZvciBhc3NlcnQgZmFpbHVyZSB3aGVuIHVzaW5nIGVuY3J5cHRlZCBITFMgc3RyZWFtcwoJICBXaGVuIHVzaW5nIGFuIEhMUyBlbmNyeXB0ZWQgc3RyZWFtLCBhbiBhc3NlcnRpb24gZmFpbHVyZSBpcyB0aHJvd246CgkgIChnc3QtbGF1bmNoLTEuMDozMTAyOCk6IEdMaWItR09iamVjdC1XQVJOSU5HICoqOiBjYW5ub3QgcmVnaXN0ZXIKCSAgZXhpc3RpbmcgdHlwZSBgR3N0RnJhZ21lbnQnCgkgIChnc3QtbGF1bmNoLTEuMDozMTAyOCk6IEdMaWItQ1JJVElDQUwgKio6IGdfb25jZV9pbml0X2xlYXZlOiBhc3NlcnRpb24KCSAgYHJlc3VsdCAhPSAwJyBmYWlsZWQKCSAgRXZlbnR1YWxseSB0cmFja2VkIHRoaXMgZG93biB0byB0aGUgY2FsbCBnc3RfZnJhZ21lbnRfbmV3KCkKCSAgaW4gZnVuY3Rpb24gZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50LgoJICBUaGUgR3N0RnJhZ21lbnQgY2xhc3MgaXMgZGVmaW5lZCBpbiBleHQvaGxzL2dzdGZyYWdtZW50LmMgYW5kIGluCgkgIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmMuIEhhdmluZyB0d28gY2xhc3MgZGVmaW5pdGlvbnMKCSAgd2l0aCB0aGUgc2FtZSBuYW1lIGNhdXNlcyB0aGUgYXNzZXJ0IGZhaWx1cmUgd2hlbiB0cnlpbmcgdG8gYWxsb2NhdGUKCSAgR3N0RnJhZ21lbnQuIERlbGV0aW5nIHRoZSB2ZXJzaW9uIGZyb20gaGxzIGFuZCBlZGl0aW5nIHRoZQoJICBNYWtlZmlsZS5hbSBzb2x2ZXMgdGhpcyBhc3NlcnQgZmFpbHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU1NQoKMjAxMy0wNy0xOSAyMzo0MjoxMiArMDIwMCAgWW91cmkgV2VzdGVybWFuIDx0ZXRyYWNvbkBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogYWN0dWFsbHkgZW5hYmxlIGRlY2tsaW5rc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA1CgoyMDEzLTA3LTE5IDIwOjA5OjI4ICswMjAwICBZb3VyaSBXZXN0ZXJtYW4gPHRldHJhY29uQGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogYWRkICJkZXZpY2UtbnVtYmVyIiB0byBzZWxlY3QgZnJvbSBtdWx0aXBsZSBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDUKCjIwMTMtMDctMjIgMTA6NDY6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogT25seSBtYXAgaW5wdXQgYnVmZmVyIG9uY2UKCSAgSW5zdGVhZCBvZiBjb25zdGFudGx5IG1hcC91bm1hcHBpbmcgaXQgYSBiaXQgZXZlcnl3aGVyZSwgd2UgcGFzcyBhbG9uZwoJICB0byBhbGwgZnVuY3Rpb25zIHRoZSBHc3RNYXBJbmZvLgoJICBNYWtlcyBtcGVnIHZpZGVvIGZyYW1lIHBhcnNpbmcgNiUgZmFzdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIzMzAKCjIwMTMtMDMtMTAgMTI6MDc6NDAgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBkaXNlbnRhbmdsZSByZXF1ZXN0ZWQgcHJvZ3JhbSBudW1iZXIgZnJvbSBhY3RpdmUgcHJvZ3JhbSBudW1iZXIKCSAgVGhlIHByb2dyYW1fbnVtYmVyIGF0dHJpYnV0ZSB3YXMgb3ZlcmxvYWRlZCwgdHJ5aW5nIHRvIGluZGljYXRlIGJvdGgKCSAgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHByb2dyYW0sIGFuZCB0aGUgcHJvZ3JhbSByZXF1ZXN0ZWQgdmlhIHRoZQoJICAicHJvZ3JhbS1udW1iZXIiIHByb3BlcnR5LiAgVGhlIGVuZCByZXN1bHQgd2FzIHRoYXQgc2V0dGluZyB0aGUKCSAgcHJvcGVydHkgZGlkbid0IHdvcmsgKHNlZSAjNjkwOTM0KS4KCSAgSSBhZGRlZCBhIG5ldyByZXF1ZXN0ZWRfcHJvZ3JhbV9udW1iZXIgZmllbGQgcmF0aGVyIHRoYW4gcmV2aXZpbmcgdGhlCgkgIGN1cnJlbnRfcHJvZ3JhbV9udW1iZXIgZmllbGQgYmVjYXVzZSBpdCBzZWVtZWQgdGhpcyB3b3VsZCByZXN1bHQgaW4KCSAgZmV3ZXIgY2hhbmdlcyBvdmVyYWxsIGFuZCBiZSBsZXNzIGNvbmZ1c2luZy4gIEl0IGJyZWFrcyBzeW1tZXRyeSB3aXRoCgkgIHRoZSAicHJvZ3JhbS1udW1iZXIiIHByb3BlcnR5LCBidXQgaXQgcmV0YWlucyBwYXJhbGxlbHMgd2l0aCB0aGUgbGlrZXMKCSAgb2YgcHJvZ3JhbS0+cHJvZ3JhbV9udW1iZXIuCgkgIEJlY2F1c2UgZ3N0X3RzX2RlbXV4X3Jlc2V0IGlzIGNhbGxlZCBhZnRlciB0aGUgcHJvcGVydGllcyBoYXZlIGJlZW4KCSAgcGFyc2VkLCByZXF1ZXN0ZWRfcHJvZ3JhbV9udW1iZXIgaXMgaW5pdGlhbGlzZWQgaW4gZ3N0X3RzX2RlbXV4X2luaXQuCgkgIFdoZXRoZXIgdGhpcyBpcyBleGFjdGx5IHRoZSByaWdodCBwbGFjZSwgSSBkb24ndCBrbm93LgoKMjAxMy0wMy0wNiAxMjoxNTo0NyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHByb2dyYW0tbnVtYmVyIGZ1bmN0aW9uYWxpdHkKCSAgU2V0dGluZyB0aGUgcHJvZ3JhbS1udW1iZXIgcHJvcGVydHkgZG9lcyBub3QgYWZmZWN0IHdoaWNoIHByb2dyYW0KCSAgaXMgYWN0dWFsbHkgYmVpbmcgZGVtdXhlZC4KCSAgTW92aW5nIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcHJvZ3JhbV9udW1iZXIgZnJvbQoJICBnc3RfdHNfZGVtdXhfcmVzZXQgdG8gZ3N0X3RzX2RlbXV4X2luaXQgc2VlbXMgdG8gZml4IHRoaXMgaXNzdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA5MzQKCjIwMTMtMDctMjIgMDk6MTg6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlIG9uIHRoZSBtcGVnIGRlbXV4ZXIgc3JjcGFkcwoKMjAxMy0wNy0xNyAxNzoxMjo1OSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIEV4cGxpY2l0bHkgdW5zZXQgZGlzY29udCBmbGFnIHdoZW4gaXQgc2hvdWxkbid0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjExMAoKMjAxMy0wNy0xNyAxMToyODoyOCArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBncmFiY3V0OiBBZGQgR3JhYkN1dCBzZWdtZW50YXRpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzIyCgoyMDEzLTA3LTE1IDIzOjAxOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggaGVpZ2h0IGV4dHJhY3Rpb24gZm9yIEgyNjNwCgoyMDEzLTA3LTE1IDIyOjU3OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHVwc3RyZWFtIGRvZXNuJ3QgcHJvdmlkZSBvbmUKCjIwMTMtMDctMDkgMTI6NDk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB0eXBvIGluIGNoZWNrX3F1ZXVlX2Z1bGwgZnVuY3Rpb24KCSAgSXQgc2hvdWxkIHJldHVybiBUcnVlIHdoZW4gdGhlIHF1ZXVlIElTIGZ1bGwKCSAgRml4ZXMgIzcwNDIyNgoKMjAxMy0wNy0xNSAxMToxNToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVtZW1iZXIgc2VlayBzZXF1ZW5jZSBudW1iZXIKCSAgKiBBdm9pZHMgaGFuZGxpbmcgdHdpY2UgdGhlIHNhbWUgc2VlayAoY2FuIGhhcHBlbiB3aXRoIHBsYXliaW4gYW5kIGZpbGVzCgkgIHdpdGggc3VidGl0bGVzKQoJICAqIFNldCB0aGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzZWdtZW50IGV2ZW50IHRvIHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YKCSAgdGhlIHNlZWsgZXZlbnQgdGhhdCBnZW5lcmF0ZWQgaXQgKC0xIGZvciB0aGUgaW5pdGlhbCBvbmUpLgoKMjAxMy0wNS0yNCAxODoxODozNSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMTMtMDUtMjggMTY6MTQ6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVjYWxjdWxhdGUgbmV3IHNlZ21lbnQgYWZ0ZXIgYnl0ZSBzZWVrCgkgIFRoZSBzZWVraW5nIHN0YXJ0IHRpbWUgaXMgYXBwcm94aW1hdGVkIGZyb20gdGhlIHNlZWsgb2Zmc2V0IGluIGJ5dGVzCgkgIHVzaW5nIHRoZSBhY2N1bXVsYXRlZCBQQ1Igb2JzZXJ2YXRpb25zLCBzbyBvbiBhIFZCUiBzdHJlYW0gdGhlcmUgbWlnaHQKCSAgYmUgYSBiaWcgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBhY3R1YWwgUENSIGFuZCB0aGUgZXN0aW1hdGVkIG9uZSBhZnRlcgoJICB0aGUgc2Vlay4gVGhpcyBtaWdodCByZXN1bHQgaW4gYSBsb25nIHdhaXQgdG8gc2tpcCBhbGwgb3V0IG9mIHNlZ21lbnRzCgkgIHBhY2tldHMuCgkgIEluc3RlYWQgd2UganVzdCByZWNhbGN1bGF0ZSB0aGUgbmV3IHNlZ21lbnQgdG8gc3RhcnQgYXQgdGhlIGZpcnN0IFBUUwoJICBhZnRlciB0aGUgc2Vlaywgc28gdGhhdCBwbGF5YmFjayBzdGFydHMgaW1tZWRpYXRseS4KCjIwMTMtMDctMTMgMjM6NDk6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBkb2NzIGFuZCB3aW4zMiBjb25maWcuaCB0byBkZXZlbG9wbWVudCB2ZXJzaW9uCgoyMDEzLTA3LTEyIDE1OjU4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICBkb2NzOiBhZGQgbmV3bHktcG9ydGVkIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTMtMDctMTEgMTc6NDY6MzcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVzZSBzZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbiB2YWx1ZXMgdG8gdXBkYXRlIHRoZSBzcmMgY2FwcwoJICBUaGUgY2FwcyBzaG91bGQgYWx3YXlzIHJlcHJlc2VudCB3aGF0IHRoZSB1c2VyIGlzIHN1cHBvc2VkIHRvIHNlZS4KCSAgU28gaWYgdGhlcmUgaXMgYSBzZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlCgkgIHN0cmVhbSB0aGVuIHVzZSB0aGUgZGlzcGxheV9ob3Jpem9udGFsX3NpemUvZGlzcGxheV92ZXJ0aWNhbF9zaXplCgkgIHRvIHVwZGF0ZSB0aGUgc3JjIGNhcHMgKGlmIHRoZXkgYXJlIGxlc3MgdGhhbiB0aGUgdmFsdWVzIHByb3ZpZGVkCgkgIGJ5IHNlcXVlbmNlIGhlYWRlcikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwMDkKCjIwMTMtMDctMTIgMDk6NDU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMgoJICBPb3BzLi4uIHNob3VsZCd2ZSBiZWVuIHBhcnQgb2YgMS4xLjIgdGFnIGFscmVhZHkgOigKCjIwMTMtMDctMTEgMTY6NTc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjIgPT09CgoyMDEzLTA3LTExIDE2OjMxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTEwIDEyOjI4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnkgZGF0YQoKMjAxMy0wNy0wOCAwODo0NDo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgcGFyc2luZyBzZWN0aW9uIHdpdGhvdXQgZW5vdWdoIGRhdGEKCSAgVGhpcyBpcyBhY3R1YWxseSBhIHdvcmthcm91bmQgKHdlJ2xsIGJlIHNraXBwaW5nIHRoZSB1cGNvbWluZyBzZWN0aW9uKQoJICBUaGlzIHdpbGwgb25seSBoYXBwZW4gZm9yIHNlY3Rpb25zIHdoZXJlIHRoZSBiZWdpbm5pbmcgaXMgbG9jYXRlZCB3aXRoaW4KCSAgdGhlIGxhc3QgOCBieXRlcyBvZiBhIHBhY2tldCAod2hpY2ggaXMgdGhlIG1pbmltdW0gd2UgbmVlZCB0byBwcm9wZXJseQoJICBpZGVudGlmeSBhbnkgc2VjdGlvbiBiZWdpbm5pbmcpLgoJICBMYXRlciB3ZSBzaG91bGQgZmlndXJlIG91dCBhIHdheSB0byBzdG9yZSB0aG9zZSBieXRlcyBhbmQgbWFyayB0aGF0CgkgIHNvbWUgYW5hbHlzaXMgbmVlZHMgdG8gaGFwcGVuLiBUaGUgcHJvYmFiaWxpdHkgb2YgdGhpcyBoYXBwZW5pbmcgaXMKCSAgdG9vIGxvdyBmb3IgbWUgdG8gY2FyZSByaWdodCBub3cgYW5kIGRvIHRoYXQgZml4LiBUaGVyZSBpcyBhIGdvb2QgY2hhbmNlCgkgIHRoYXQgc2VjdGlvbiB3aWxsIGV2ZW50dWFsbHkgYmUgcmVwZWF0ZWQgYW5kIHdvbid0IGVuZCB1cCBvbiBzdWNoIGJvcmRlci4KCjIwMTMtMDctMDggMDg6NDM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIEJBVCBzdXBwb3J0IHRvIG1wZWd0cyBleGFtcGxlCgoyMDEzLTA3LTA4IDA4OjQyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogVW5pZnkgc2VjdGlvbiBjaGVja3MgYW5kIGFkZCBCQVQgcGFyc2luZwoJICAqIEF2b2lkIHJlcGVhdGluZyBjb2RlIGV2ZXJ5d2hlcmUsIGFuZCBpbnN0ZWFkIHByb3ZpZGUgYWxsIHBhcnNpbmcKCSAgaW5mb3JtYXRpb24gaW4gb25lIGdvLgoJICAqIEFkZCBCQVQgc3VwcG9ydAoJICAqIFJlZmluZSBCQVQvQ0FUIGlkZW50aWZpY2F0aW9uIChieSBhZGRpbmcgUElEIGNoZWNrcykKCjIwMTMtMDctMDcgMTE6NDI6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCB2bWV0aG9kIGNhbGxzCgkgIERlcGVuZGluZyBvbiB1c2FnZSwgdHNwYXJzZSBhbmQgdHNkZW11eCBtaWdodCBub3QgbmVlZCB0byBiZSBjYWxsZWQKCSAgd2hlbiBuZXcgc2VjdGlvbi9wZXMtZGF0YSBpcyBhdmFpbGFibGUuCgoyMDEzLTA3LTA3IDEwOjI1OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlcwoJICAqIHBhY2tldC5vcmlndHMgaXMgbm8gbG9uZ2VyIHVzZWQgc2luY2UgdGhlIFBDUiByZWZhY3RvcmluZyBkb25lIGFnZXMgYWdvCgkgICoga25vd25fcGFja2V0X3NpemUgaXMgYSBkdXBsaWNhdGUgb2YgcGFja2V0X3NpemUgIT0gMAoJICAqIGNhcHMgd2FzIG5ldmVyIHVzZWQgb3V0c2lkZSBvZiB0aGUgcGFja2V0aXplcgoKMjAxMy0wNy0wOSAxMTozOTo0NiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlcjogZml4IHNpemUgY2FwcyB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zLgoJICBSZXN0b3JlIHRoZSBvcmlnaW5hbCBoMjY0cGFyc2VyIGJlaGF2aW91ciB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zCgkgIGluIHNpemUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDA2OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA4IDE4OjQ0OjI0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIGNyb3BwaW5nIHJlY3RhbmdsZS4KCSAgRml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBjcm9wcGluZyByZWN0YW5nbGUsIGFuZCBtb3JlIHByZWNpc2VseQoJICB0aGUgYWN0dWFsIGNyb3BwZWQgaGVpZ2h0LiBUaGUgZnJhbWVfY3JvcF90b3Bfb2Zmc2V0IHN1YnRyYWN0aW9uCgkgIHdhcyBub3Qgc2NhbGVkIHVwIHdpdGggU3ViSGVpZ2h0Qy4KCSAgQWxzbyBjbGVhbi11cCB2YXJpYWJsZXMgdG8gYWxpZ24gbW9yZSB3aXRoICg3LTE4KSB0byAoNy0yMSkuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMTUgMTQ6MTg6NDkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogUGFyc2UgdGhlIGNyb3BwaW5nLXJlY3RhbmdsZSBzZXBhcmF0ZWx5LgoJICBBc3NpZ24gdGhlIHVuLWNyb3BwZWQgd2lkdGgvaGVpZ2h0IHRvIHNwcy0+d2lkdGgvc3BzLT5oZWlnaHQKCSAgZHVyaW5nIHNwcyBoZWFkZXIgcGFyc2luZy4gQWRkZWQgbmV3IGZpZWxkcyB0byBTUFMgaGVhZGVyIHN0cnVjdHVyZQoJICB0byBwcm92aWRlIHRoZSBjcm9wLXJlY3RhbmdsZSBkaW1lbnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDY4CgoyMDEzLTA3LTAzIDE2OjM4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgcXVldWUgZnVsbCBjaGVjayBmdW5jdGlvbgoJICBDaGVja3MgaWYgdGhlIHF1ZXVlIGlzIGZ1bGwgYWNjb3JkaW5nIHRvIG1heCBidWZmZXJpbmcgdGltZQoJICBzZXQgYnkgdGhlIHVzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0wNy0wOSAwMDo0NzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbWlub3IgcmVmYWN0b3IKCSAgU3BsaXQgb25lIHZlcnkgbGFyZ2UgZnVuY3Rpb24gaW50byAyIHNtYWxsZXIgYnV0IHN0aWxsIGxhcmdlIGZ1bmN0aW9ucy4KCSAgQWxzbyBjaGFuZ2UgdGhlIGlmIGNvbmRpdGlvbnMgdG8gcG9zaXRpdmUgY2hlY2tzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCgoyMDEzLTA3LTA4IDIzOjI0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgbGl2ZSBwbGF5YmFjayByZXN5bmMKCSAgRHVyaW5nIGEgbGl2ZSBzdHJlYW0gaXQgaXMgcG9zc2libGUgZm9yIGRhc2hkZW11eCB0byBsYWcgYmVoaW5kIG9uIGEKCSAgc2xvdyBjb25uZWN0aW9uIG9yIHRvIHJ1c2ggYWhlYWQgb2YgdGhlIGNvbm5lY3Rpb24gb3MgdG9vIGZhc3QuCgkgIEZvciB0aGUgZmlyc3QgY2FzZSBpdCBpcyBuZWNlc3NhcnkgdG8ganVtcCBzb21lIHNlZ21lbnRzIGFoZWFkIHRvIGJlIGFibGUgdG8KCSAgY29udGludWUgcGxheWJhY2sgYXMgb2xkIHNlZ21lbnRzIGFyZSB1c3VhbGx5IGRlbGV0ZWQgZnJvbSB0aGUgc2VydmVyLgoJICBGb3IgdGhlIGxhdGVyLCBkYXNoZGVtdXggc2hvdWxkIHdhaXQgYSBsaXR0bGUgYmVmb3JlIGF0dGVtcHRpbmcgYW5vdGhlcgoJICBkb3dubG9hZCBkbyBnaXZlIHRpbWUgdG8gdGhlIHNlcnZlciB0byBwcm9kdWNlIGEgbmV3IHNlZ21lbnQKCjIwMTMtMDctMDUgMTM6MjI6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggdGVtcGxhdGUgYmFzZWQgc2VnbWVudCBnZW5lcmF0aW9uCgkgIFdoZW4gdXNpbmcgYSB0ZW1wbGF0ZSBiYXNlZCBzZWdtZW50IGxpc3QsIGRvIG5vdCB0cnkgdG8KCSAgY29udHJ1Y3QgYSBmaW5pdGUgc2VnbWVudCBsaXN0IGZvciB0aGUgbGltaXRzIG9mIHRoZSBhdmFpbGFibGUgcGVyaW9kcy4KCSAgV2UgbWlnaHQgbm90IGtub3cgd2hlbiB0aGUgcGVyaW9kIGVuZHMgKGZvciBsaXZlIHN0cmVhbXMpIGFuZCB3ZSBjYW4KCSAgYWx3YXlzIGNyZWF0ZSB0aGUgc2VnbWVudCBvbiBkZW1hbmQgd2hlbiByZXF1ZXN0ZWQgYnkgZGFzaGRlbXV4LAoJICBhdm9pZGluZyB1c2Ugb2Ygc29tZSBtZW1vcnkgYW5kIGNwdSB3aGVuIHJlLWNyZWF0aW5nIHRoaXMgbGlzdC4KCjIwMTMtMDctMDQgMjM6NDI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdXNlIG1vcmUgYXBwcm9wcmlhdGUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBwYXJzaW5nCgkgIFJlcGxhY2VzIHRoZSAyIGxpa2VseSBsYXJnZXIgbGlzdHMgd2l0aCBtb3JlIGFwcHJvcHJpYXRlIHN0cnVjdHVyZXMKCSAgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KCSAgUmVwbGFjZXMgUyBub2RlcyBHTGlzdCBmb3IgYSBHUXVldWUsIHRoaXMgcmVkdWNlcyBsYXRlbmN5IHRvIHN0YXJ0dXAKCSAgYmVjYXVzZSBvZiB0cmF2ZXJzaW5nIHRoZSBsaXN0IGp1c3QgYXBwZW5kIGFuIGVsZW1lbnQuCgkgIFJlcGxhY2VzIHRoZSBwcm9jZXNzZWQgbWVkaWEgc2VnbWVudHMgR0xpc3QgZm9yIGEgR1B0ckFycmF5IGFzIGl0IGlzCgkgIGNvbnN0YW50bHkgYWNlc3NlZCBieSBpbmRleCBkdXJpbmcgcGxheWJhY2suCgoyMDEzLTA3LTA0IDE1OjE0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbnN3ZXIgdG8gbGF0ZW5jeSBxdWVyaWVzCgkgIFNldCBsaXZlIGlmIHN0cmVhbSBpcyBsaXZlIGFuZCBhbHNvIGFkZCB0byB0aGUgbWF4IGxhdGVuY3kgdGhlCgkgIG1heCBpbnRlcm5hbCBidWZmZXJpbmcKCjIwMTMtMDctMDggMjI6MDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZml4IGNyYXNoIHdoZW4gZG93bmxvYWQgaXMgbnVsbAoJICBEbyBubyB0cnkgdG8gdW5yZWYgYSBOVUxMIGRvd25sb2FkIGF0dHJpYnV0ZQoKMjAxMy0wNy0wOCAyMjowMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBkbyBub3Qgc2V0IGNhbmNlbGxlZCB1bmxlc3MgZXhwbGljaXRseSBjYWxsZWQgYnkgdXNlcgoJICBDYW5jZWxsZWQgaXMgYSAncGVybWFuZW50JyBzdGF0ZSBvZiB0aGUgdXJpZG93bmxvYWRlciBhbmQgaXMgb25seQoJICByZW1vdmVkIGJ5IGEgY2FsbCB0byBfcmVzZXQuIFdoZW4gYSBkb3dubG9hZCBmYWlscyB3ZSBqdXN0IHdhbnQgdG8KCSAgcmV0dXJuIE5VTEwgb24gdGhlIGZldGNoIGZ1bmN0aW9uIGFuZCBsZWF2ZSB0aGUgZG93bmxvYWRlciByZWFkeQoJICBmb3IgYW5vdGhlciBmZXRjaCwgb3RoZXJ3aXNlIHRoZSB1c2VyIGhhcyB0byBjYWxsIF9yZXNldCBhZnRlcgoJICBmYWlsZWQgZG93bmxvYWRlciwgZXZlbiB3aGVuIGl0IGRpZG4ndCBjYWxsIF9jYW5jZWwuCgoyMDEzLTA3LTA3IDA4OjM1OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEF2b2lkIGZhbHNlLXBvc2l0aXZlcyBpbiBzZWN0aW9uIHR5cGUgZGV0ZWN0aW9uCgkgIER1ZSB0byB0aGUgdmFyaWV0eSBvZiBzZWN0aW9uIHR5cGVzIG91dCB0aGVyZSwgd2UgbmVlZCB0byBhZGQKCSAgc29tZSBjaGVja3Mgd2hlbiBpZGVudGlmeWluZyBzZWN0aW9uIHR5cGVzLgoJICBXZSBjaGVjayBoZXJlIHRoYXQgdGhlIFBJRCBpcyBhbHNvIGNvbnNpc3RlbnQgd2l0aCB0aGUgdGFibGVfaWQuCgoyMDEzLTA3LTA3IDA4OjI5OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBGaXggbXVsdGlwbGUtU0kgZGV0ZWN0aW9uL3BhcnNpbmcKCSAgV2UgaGFkIHR3byBpc3N1ZXMgd2l0aCB0aGUgcHJldmlvdXMgY29kZToKCSAgMSkgV2Ugd2VyZSBiYWRseSBoYW5kbGluZyBQVVNJLWZsYWdnZWQgcGFja2V0cy4gV2Ugd2VyZSBkaXNjYXJkaW5nIHRoZQoJICBpbml0aWFsIGRhdGEgKGlmIHBvaW50ZXIgIT0gMCkgd2hlcmVhcyB3ZSBzaG91bGQgaGF2ZSBiZWVuIGFjY3VtdWxhdGluZwoJICBpdCB3aXRoIHRoZSBwcmV2aW91cyBkYXRhIChpZiB0aGVyZSB3YXMgYSBjb250aW51aXR5IG9mIGNvdXJzZSkuCgkgID0+IEZpcnN0IHNlcmllcyBvZiBpbmZvcm1hdGlvbiBsb3NzCgkgIDIpIFdlIHdlcmUgbm90IGNoZWNraW5nIHdoZXRoZXIgdGhlcmUgd2VyZSBtb3JlIHNlY3Rpb25zIGFmdGVyIHRoZSBlbmQKCSAgb2Ygb25lIChpLmUuIHdoZW4gdGhlIGZvbGxvd2luZyBieXRlIHdhcyBub3QgYSBzdHVmZiBieXRlKS4KCSAgVGhpcyBmaXhlcyB0aG9zZSB0d28gaXNzdWVzLgoJICBGaXhlcyAjNjc3NDQzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0NDMKCjIwMTMtMDctMDcgMDc6MjE6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBGaXggc3dpdGNoL2Nhc2UgdHlwbwoJICBFbmRlZCB1cCB0cnlpbmcgdG8gYW5hbHl6ZSBQTVQgLi4uIHdpdGggYSBQQVQgOigKCjIwMTMtMDctMDYgMTQ6NTA6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcwoJICBVbnRpbCBub3cgd2Ugc2ltcGx5IGlnbm9yZWQgdGhvc2Ugc3RyZWFtcyAoc2luY2Ugd2UgY291bGRuJ3QgZG8gYW55dGhpbmcKCSAgd2l0aCBpdCBhbnl3YXkpLiBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBtcGVndHMgbGlicmFyeSBhbmQgd2Ugb2ZmbG9hZCB0aGUKCSAgc2VjdGlvbiBoYW5kbGluZyB0byB0aGUgYXBwbGljYXRpb24gc2lkZSB3ZSBjYW4gcHJvcGVybHkgaWRlbnRpZnkgYW5kCgkgIGV4dHJhY3QgdGhlbS4KCSAgQnkgZGVmYXVsdCBpdCBpcyBkaXNhYmxlZCBmb3IgdHNwYXJzZSBhbmQgZW5hYmxlZCBmb3IgdHNkZW11eCwgYnV0IHRoZXJlIGlzCgkgIGEgcHJvcGVydHkgdG8gY2hhbmdlIHRoYXQuCgkgIFRoaXMgc2hvdWxkIG9wZW4gdGhlIHdheSB0byBwcm9wZXJseSBoYW5kbGUgYWxsIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zLAoJICBpbmNsdWRpbmc6CgkgICogRFNNLUNDCgkgICogTUhFRwoJICAqIENhcm91c2VsIGRhdGEKCSAgKiBNZXRhZGF0YSBzdHJlYW1zICh0aG91Z2ggSSBoYXZlbid0IHNlZW4gYW55IG9mIHRob3NlIGluIHRoZSB3aWxkKQoJICAqIC4uLiBBbmQgYWxsIG90aGVyIHNwZWNzL3Byb3RvY29scyBtYWtpbmcgdXNlIG9mIHRob3NlCgkgIFBhcnRpYWxseSBmaXhlcyAjNTYwNjMxCgoyMDEzLTA3LTA2IDEyOjM5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBQcm9wZXJseSBoYW5kbGUgVVRDIHRpbWUgaW4gc2VjdGlvbnMKCSAgKiBkb24ndCB1bnJlZiBpbmV4aXN0YW50IEdzdERhdGVUaW1lCgkgICogRmluZS10dW5lIGhvdXIvbWluL3NlYyBCQ0QgcmVhZGluZyBjb2RlCgkgICogVXBkYXRlIGV4YW1wbGUgY29kZSBhY2NvcmRpbmdseQoKMjAxMy0wNy0wNiAxMDo1OTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBSZWdpc3RyYXRpb24gZGVzY3JpcHRvciBzdXBwb3J0CgkgIEFuZCBvdXRwdXQgdGhlIGxlbmd0aCBvZiB0aGUgZGVzY3JpcHRvcnMKCjIwMTMtMDctMDYgMTA6Mzg6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggTklUIHBhcnNpbmcKCSAgVGhlIHNpemUgY2hlY2tzIHdlcmUgd3JvbmcuIFRoZSBzbWFsbGVzdCBzaXplIGZvciBhIE5JVCBpcyAxNiBieXRlcwoJICAoMTIgZm9yIHRoZSBzbWFsbGVzdCBjb250ZW50ICsgNCBmb3IgY3JjKSBhbmQgdGhlIHNtYWxsZXN0IHNpemUgZm9yCgkgIGEgaW5uZXIgc3RyZWFtIGxvb3AgaXMgNiBieXRlcyAod2l0aG91dCBhbnkgZGVzY3JpcHRvcnMpLgoJICBBbHNvIHJlbW92ZSBGSVhNRSB0aGF0IGhhcyBhbHJlYWR5IG1vdmVkIGVsc2V3aGVyZQoKMjAxMy0wNy0wNiAxMDozNjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSByZWdpc3RyYXRpb24gZGVzY3JpcHRvciBmb3IgcHJvZ3JhbXMgYW5kIHN0cmVhbXMKCSAgKiBBbGxvd3MgdXMgdG8gc2ltcGxpZnkgc29tZSBjb2RlIGFuZCBwcmVwYXJlIGZvciBmdXR1cmUgY2xlYW51cHMuCgkgICogUmVtb3ZlIHVzZWxlc3MgY2FzdHMKCSAgKiBBZGQgc29tZSBGSVhNRSByZWdhcmRpbmcgVkMxCgoyMDEzLTA3LTA1IDIxOjQ5OjQ4ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2ODMKCjIwMTMtMDctMDUgMTE6MjA6NDkgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJICB3ZWJ2dHRlbmM6IFNlcGFyYXRlIGN1ZXMgd2l0aCB0d28gbGluZSBicmVha3MgaW5zdGVhZCBvZiBvbmUuCgkgIFNlZSBodHRwOi8vZGV2LnczLm9yZy9odG1sNS93ZWJ2dHQvI3N5bnRheAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjczCgoyMDEzLTA3LTA1IDE4OjMzOjQyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBmaXggdmlkZW8gcGFja2V0IGhlYWRlciBzaXplIGNoZWNrcy4KCSAgRml4IHZpZGVvIHBhY2tldCBoZWFkZXIgc2l6ZSBjaGVja3MgZm9yOgoJICAtIFNlcXVlbmNlIEhlYWRlcjogNjQgYml0cyA7CgkgIC0gU2VxdWVuY2UgU2NhbGFibGUgRXh0ZW5zaW9uOiAxMCBiaXRzIDsKCSAgLSBTbGljZSBIZWFkZXI6IDYgYml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY2OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA1IDE0OjU4OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgbWlzc2luZyBndGstZG9jIGVudHJpZXMuCgkgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdlcmUgbWlzc2luZyBndGstZG9jIGVudHJpZXM6CgkgIC0gZ3N0X21wZWdfdmlkZW9fcGFyc2Vfc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24KCSAgLSBnc3RfbXBlZ192aWRlb19maW5hbGlzZV9tcGVnMl9zZXF1ZW5jZV9oZWFkZXIKCSAgLSBnc3RfbXBlZ192aWRlb19xdWFudF9tYXRyaXhfZ2V0X3Jhc3Rlcl9mcm9tX3ppZ3phZwoJICAtIGdzdF9tcGVnX3ZpZGVvX3F1YW50X21hdHJpeF9nZXRfemlnemFnX2Zyb21fcmFzdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NjcKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxMTo1Nzo1NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogdXBkYXRlIHRlc3QgcHJvZ3JhbSB3aXRoIG5ldyBHc3RNcGVnVmlkZW9QYWNrZXQgQVBJLgoJICBUaGlzIGlzIHRoZSBsb3N0IGh1bmsgZnJvbToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMwIDE2OjU2OjE1ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgc2xpY2UgaGVhZGVyIHBhcnNpbmcgQVBJLgoJICBBZGQgQVBJIHRvIHBhcnNlIHRoZSBTbGljZSBoZWFkZXIuIFRoaXMgYWxzbyBjYWxjdWxhdGVzIHRoZSBtYWNyb2Jsb2NrCgkgIHBvc2l0aW9uIGFzIHNwZWNpZmllZCBpbiA2LjMuMTYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNzQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTI1IDE1OjQ4OjU4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgc2VxdWVuY2Ugc2NhbGFibGUgZXh0ZW5zaW9uIHBhcnNpbmcgQVBJLgoJICBBZGQgQVBJIHRvIHBhcnNlIHRoZSBTZXF1ZW5jZSBTY2FsYWJsZSBFeHRlbnNpb24gaGVhZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0Mjc0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNCAxNDoyMjoxNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY29wZSB3aXRoIG5ldyBwYXJzZXIgQVBJLgoJICBNaWdyYXRlIHRoZSBjb2RlIHRvIHVzZSB0aGUgbmV3IHBhcnNlciBBUEkgYmFzZWQgb24gR3N0TXBlZ1ZpZGVvUGFja2V0LgoJICBBbHNvIHRyeSB0byBvcHRpbWl6ZSBnc3RfbXBlZ3ZfcGFyc2VfcHJvY2Vzc19jb25maWcoKSBieSB1c2luZyBtb3JlIG9mCgkgIEdzdE1wZWdWaWRlb1BhY2tldCBhbmQgZGV0ZXJtaW5pbmcgdGhlIGV4dGVuc2lvbl9zdGFydF9jb2RlX2lkZW50aWZpZXIKCSAgcHJpb3IgdG8gY2FsbGluZyB0aGUgcGFyc2VyIGZ1bmN0aW9uIGZvciB0aGF0IGV4dGVuc2lvbiBwYWNrZXQuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTE6NTc6NTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBuZXcgQVBJIHRoYXQgdGFrZXMgR3N0TXBlZ1ZpZGVvUGFja2V0IGFyZ3VtZW50cy4KCSAgQWRkIG5ldyBpbnRlcmZhY2UgdG8gTVBFRy0yIHZpZGVvIHBhcnNlciB0aGF0IHRha2VzIEdzdE1wZWdWaWRlb1BhY2tldAoJICBhcmd1bWVudHMgaW5zdGVhZCBvZiBkYXRhLCBzaXplLCBhbmQgb2Zmc2V0LiBOZXcgZnVuY3Rpb25zIGFyZSBjYWxsZWQKCSAgYWZ0ZXIgZ3N0X21wZWdfdmlkZW9fcGFja2V0XyooKSBhbmQgcHJvdmlkZSB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCSAgT2xkZXIgQVBJIGlzIG1vdmVkIHRvIHRoZSBkZXByZWNhdGVkIG5hbWVzcGFjZSBhbmQgdXNlcyB0aGUgbmV3IGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA1IDE2OjQ2OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSBuby1sb25nZXIgbmVlZGVkIGNvZGUKCSAgU2luY2Ugd2Ugbm93IHNlbmQgYWxsIHNlY3Rpb25zIHRvIHRoZSBwYWNrZXRpemVyLCB3ZSBubyBsb25nZXIgbmVlZCB0byBkbwoJICBhbnltb3JlIGluLWRlcHRoIGNoZWNrcyBmb3IgdGhlIHZhbGlkaXR5IG9mIGEgc2VjdGlvbi4KCSAgVGhlIGNob2ljZSBib2lscyBkb3duIHRvOgoJICAxKSBJcyBpdCBmcm9tIGEga25vd24gUEVTIHBpZCA/IElmIHNvIHBhc3MgaXQgb24gKHdoaWNoIG1pZ2h0IGJlIGp1c3QgcHVzaGluZwoJICBkb3duc3RyZWFtIGluIHRoZSBjYXNlIG9mIHRzcGFyc2UsIG9yIGFjY3VtdWxhdGluZyBQRVMgZGF0YSBmb3IgdHNkZW11eCkKCSAgMikgSXMgaXQgZnJvbSBhIGtub3duIFNJIHBpZCA/IElmIHNvIHBhc3MgaXQgdG8gdGhlIHNlY3Rpb24gcGFja2V0aXplcgoKMjAxMy0wNy0wNSAxMzo1MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBGaXggUE1UIGhhbmRsaW5nCgkgIFdhcyB1c2luZyBhbiBvbGRlciAodGVtcG9yYXJ5KSB2ZXJzaW9uIG9mIHRoZSBtcGVndHMgbGlicmFyeSBBUEkuCgoyMDEzLTA3LTA1IDEwOjU3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsaW5nCgkgIFdlIHByZXZpb3VzbHkgd2VyZW4ndCB1c2luZyB0aGF0IHZhcmlhYmxlIC4uLgoKMjAxMy0wNy0wNCAwODo0MzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICAqIEFkZCBhIGJhc2UgcGFnZSBmb3IgdGhlIGxpYnJhcnkKCSAgKiBBZGQgcGFnZXMgZm9yIHRoZSBiYXNlIE1QRUctVFMgc2VjdGlvbiBhbmQgZGVzY3JpcHRvcnMKCSAgKiBBZGQgcGFnZXMgZm9yIHRoZSBrbm93biB2YXJpYW50cwoJICAqIEFkZCBkb2N1bWVudGF0aW9uIG9uIG1vcmUgZmllbGRzL3NlY3Rpb25zL3R5cGVzCgkgICogUmVtb3ZlIHNvbWUgZml4bWVzIHRoYXQgd2VyZSAuLi4gZml4ZWQKCjIwMTMtMDctMDQgMDc6NDk6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gdXNpbmcgR3N0TXBlZ1RzU3RyZWFtVHlwZQoJICBXZSBzdGlsbCBoYXZlIHNvbWUgb3RoZXIgc3RyZWFtIHR5cGVzIHdoaWNoIGhhdmVuJ3QgYmVlbiBwb3J0ZWQsIGJ1dAoJICB3ZSB3aWxsIGRvIHNvIG9uY2Ugd2UgaGF2ZSBkZWZpbmVkIHRoZSBlbnVtcyBpbiB0aGUgbXBlZ3RzIGxpYnJhcnkuCgkgIEFsc28gYWRkIHNvbWUgRklYTUVzIHJlZ2FyZGluZyBpdGVtcyBkaXNjb3ZlcmVkIGR1cmluZyBhbmFseXNpcwoKMjAxMy0wNy0wNCAwNzo0ODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogRml4IGhhbmRsaW5nIG9mIHVua25vd24gc3RyZWFtIGVuY29kaW5ncwoJICBJZiB3ZSBjYW5ub3QgaWRlbnRpZnkgdGhlIGVuY29kaW5nIHVzZWQgZm9yIGEgc3RyaW5nLCByZXR1cm4gYSBOVUxMCgkgIHN0cmluZyBpbnN0ZWFkIG9mIGdhcmJhZ2UgYW5kIGFkZCBhIEZJWE1FIHNvIHdlIGNhbiBkZXRlY3QgYW5kIGxhdGVyCgkgIGZpeCBpdC4KCjIwMTMtMDctMDQgMDc6NDU6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEFkZCByZWdpc3RlcmVkIG1wZWctdHMgc3RyZWFtIHR5cGVzCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIG9mZmljaWFsbHkgcmVnaXN0ZXJlZCBpbiB0aGUgYmFzZSBzcGVjaWZpY2F0aW9uCgkgIChILjIyMi4wLzEzODE4LTEpLiBMYXRlciBvbiB3ZSBjYW4gYWRkIG90aGVyIGVudW1zIGZvciBvdGhlciB2YXJpYW50cwoJICBOb3RlIHRoYXQgdGhlIGVudW0gaXMgbm90IHVzZWQgaW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMgKHN1Y2ggYXMgYSBwbXQKCSAgc3RyZWFtIHN0cmVhbV90eXBlIGZpZWxkKSBzaW5jZSBpdCBjYW4gY29udGFpbiB2YWx1ZXMgZnJvbSBvdGhlcgoJICB2YXJpYW50cy4KCjIwMTMtMDctMDQgMDI6MTI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IGFkZCBtaXNzaW5nIGxpYiB0byBtYWtlZmlsZQoJICBGaXhlcyBpbml0aWFsaXphdGlvbiBvZiBzYW1wbGUgYXBwbGljYXRpb24KCjIwMTMtMDctMDMgMTk6MTE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gZHVyYXRpb24gaXMgdW5rbm93bgoJICBEdXJhdGlvbiBmcm9tIHNlZ21lbnQgYmVpbmcgdW5rbm93biBpcyBhIGlzc3VlIGZyb20gdGhlIE1QRCBhbmQgbm90CgkgIGEgcHJvZ3JhbW1pbmcgaXNzdWUsIHNvIHRoZSBhc3NlcnQgaXNuJ3QgdXNlZnVsIGhlcmUuIEluc3RlYWQgY2hlY2sKCSAgYW5kIHJldHVybiBhbiBlcnJvciBjb2RlIHNvIHRoZSBjYWxsZXIgY2FuIGZhbGxiYWNrIHRvIGFsdGVybmF0aXZlcwoKMjAxMy0wNy0wMyAxOToxMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGV2ZW50IGxlYWsgd2hlbiBwYXJzaW5nIG1hbmlmZXN0IGZhaWxzCgkgIEFsd2F5cyByZW1lbWJlciB0byB1bnJlZiB0aGUgZXZlbnQgYmVmb3JlIHByb2NlZWRpbmcsIGluIGJvdGggc3VjY2VzcwoJICBhbmQgZmFpbHVyZSBjYXNlcwoKMjAxMy0wNy0wMyAxMjozMDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB2YXJpb3VzIGNsZWFudXBzCgkgIFJlbW92aW5nIHVudXNlZCBmdW5jdGlvbiwgcmVwbGFjaW5nIC8vIGNvbW1lbnRzIHdpdGggLyogKi8gYW5kCgkgIHJlcGxhY2luZyBzb21lIEdTVF9XQVJOSU5HIHdpdGggR1NUX0lORk8vX0RFQlVHIGFzIHRoZXkgYXJlIG1lYW50CgkgIHRvIGJlCgoyMDEzLTA2LTExIDE0OjI4OjUzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IENoYW5nZSBmaXJzdCBmcmFnbWVudCBzZWxlY3Rpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBXaGVuIGRhc2hkZW11eCBzZWxlY3RzIGl0cyBmaXJzdCBmcmFnbWVudCwgaXQgYWx3YXlzIHNlbGVjdHMgdGhlCgkgIGZpcnN0IGZyYWdtZW50IGxpc3RlZCBpbiB0aGUgbWFuaWZlc3QuIEZvciBvbi1kZW1hbmQgY29udGVudCwKCSAgdGhpcyBpcyB0aGUgY29ycmVjdCBiZWhhdmlvdXIuIEhvd2V2ZXIgZm9yIGxpdmUgY29udGVudCwgdGhpcwoJICBiZWhhdmlvdXIgaXMgdW5kZXNpcmFibGUgYmVjYXVzZSB0aGUgZmlyc3QgZnJhZ21lbnQgbGlzdGVkIGluIHRoZQoJICBtYW5pZmVzdCBtaWdodCBiZSBzb21lIGNvbnNpZGVyYWJsZSB0aW1lIGJlaGluZCAibm93Ii4KCSAgVGhlIGNvbW1pdCB1c2VzIHRoZSBob3N0J3MgaWRlYSBvZiBVVEMgYW5kIHRyaWVzIHRvIGZpbmQgdGhlCgkgIG9sZGVzdCBmcmFnbWVudCB0aGF0IGNvbnRhaW5zIHNhbXBsZXMgZm9yIHRoaXMgdGltZSBvZiBkYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1MDkKCjIwMTMtMDctMDMgMTg6NTI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogc3BsaXQgZHZiIGRlc2NyaXB0b3JzL2VudW1zIGludG8gYSBzZXBhcmF0ZSBmaWxlCgkgIFdlIHdpbGwgZG8gdGhlIHNhbWUgb25jZSB3ZSBoYXZlIEFUU0MvSVNEQi8uLi4gZGVzY3JpcHRvciBwYXJzaW5nCgoyMDEzLTA3LTAzIDE4OjQ0OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBGaXggVE9UIHNlY3Rpb24gcGFyc2luZwoJICBBbmQgdXNlIGl0IGluIGV4YW1wbGUKCjIwMTMtMDctMDMgMTg6MDA6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogRml4IGEgbGVhawoKMjAxMy0wNy0wMyAxNzo1OTowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJICBtcGVndHM6IFNwbGl0IGZpbGVzIGFuZCBpbXBsZW1lbnQgZnJlZSBmdW5jdGlvbnMKCSAgKiBJbiBvcmRlciB0byBhdm9pZCBmdXR1cmUgY2xhc2hpbmcgYmV0d2VlbiB0YWJsZV9pZCBmb3IgdGhlIHZhcmlvdXMKCSAgbXBlZy10cyB2YXJpYW50cywgdXNlIGRpZmZlcmVudCBlbnVtcy4KCSAgKiBJbiBvcmRlciB0byBrZWVwIGV2ZXJ5dGhpbmcgY2xlYW4oaXNoKSBhbmQgYWxsb3cgZm9yIGNsZWFuZXIgZ3Jvd3RoLAoJICBzcGxpdCBpbnRvIGRpZmZlcmVudCBmaWxlcyAod2lsbCBuZWVkIHRoZSBzYW1lIGZvciBkZXNjcmlwdG9ycyBsYXRlcikKCSAgKiBBbHNvIC4uLiBpbXBsZW1lbnQgZnJlZSBmdW5jdGlvbnMgZm9yIGFsbCB0YWJsZSB0eXBlcyA6KQoKMjAxMy0wNy0wMyAxNTozMDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCjIwMTMtMDctMDMgMTA6MTY6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG9ubHkgZ2VuZXJhdGUgaW5kZXggc2VnbWVudCB1cmkgaWYgdGhlcmUgaXMgYSB0ZW1wbGF0ZQoJICBTaW1wbGUgZml4IHRvIGF2b2lkIGFuIGFzc2VydGlvbi4KCjIwMTMtMDYtMjEgMTc6MDk6MzAgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBpbmhlcml0YW5jZSBmb3IgY2VydGFpbiBNUEQgZWxlbWVudHMKCSAgQWNjb3JkaW5nIHRvIHRoZSBNUEVHLURBU0ggc3BlYywgY2VydGFpbiBlbGVtZW50cyAoaS5lLgoJICBTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlLCBhbmQgU2VnbWVudExpc3QpIHNob3VsZCBpbmhlcml0CgkgIGF0dHJpYnV0ZXMgZnJvbSB0aGUgc2FtZSBlbGVtZW50cyBpbiB0aGUgY29udGFpbmluZyBBZGFwdGF0aW9uU2V0CgkgIG9yIFBlcmlvZC4KCSAgVXBkYXRlZCB0aGUgU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSwgYW5kIFNlZ21lbnRMaXN0IHBhcnNlcnMKCSAgdG8gcHJvcGVybHkgaW5oZXJpdCBhdHRyaWJ1dGVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4KCSAgQWRhcHRhdGlvblNldCBhbmQvb3IgUGVyaW9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjc3CgoyMDEzLTA2LTIxIDE1OjUxOjQ2IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBkZXRlY3QgcHJlc2VuY2Ugb2YgeG1sIGF0dHJpYnV0ZXMKCSAgQ29udmVydCBhbGwgeG1sIGF0dHJpYnV0ZS9jb250ZW50IHBhcnNpbmcgZnVuY3Rpb25zIHRvIHJldHVybiBhCgkgIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgYXR0cmlidXRlL2NvbnRlbnQgd2FzCgkgIHByZXNlbnQuICBXZSBuZWVkIHRoaXMgZmluZXItZ3JhaW5lZCBjb250cm9sIGluIG9yZGVyIHRvIHByb3Blcmx5CgkgIGltcGxlbWVudCB0aGUgaW5oZXJpdGFuY2UgcG9saWNpZXMgZGVzY3JpYmVkIGluIHRoZSBzcGVjCgkgIEFsc28gZml4ZWQgc2V2ZXJhbCBtZW1vcnkgbGVhayBjb25kaXRpb25zIHdoZW4gaGFuZGxpbmcgZXJyb3JzIGluCgkgIHRoZSB4bWwgYXR0cmlidXRlL2NvbnRlbnQgcGFyc2luZyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2NzcKCjIwMTMtMDctMDIgMjE6MzE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNoYW5nZSBkZWJ1ZyBtZXNzYWdlIGZyb20gd2FybmluZyB0byBpbmZvCgkgIEl0IGlzbid0IGEgd2FybmluZy9pc3N1ZS4KCjIwMTMtMDctMDIgMjE6Mjg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgZnJvbSBhY2Nlc3MgdG8gZW1wdHkgbGlzdCBkYXRhCgkgIENoZWNrIGlmIHRoZSBsaXN0IGhhcyBlbGVtZW50cyBiZWZvcmUgdHJ5aW5nIHRvIGFjY2VzcyB0aGUgbGFzdCBvbmUKCSAgYW5kIGNhdXNpbmcgYSBzZWdmYXVsdAoKMjAxMy0wNy0wMiAyMzoxNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTaW1wbGlmeSBsb2NraW5nIHRvIGZpeCBkZWFkbG9ja3MKCSAgVXNlIG9iamVjdCBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGVzIGZyb20gY29uY3VycmVudCBhY2Nlc3MgYW5kCgkgIHVzZSBkb3dubG9hZF9sb2NrIHRvIG9ubHkgYWxsb3cgb25lIGRvd25sb2FkIHJ1bm5pbmcKCjIwMTMtMDctMDIgMTY6MDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgYWdhaW5zdCBmYWlsZWQgaGVhZGVyIGRvd25sb2FkcwoJICBBdm9pZHMgY3JpdGljYWxzIHdoZW4gZG93bmxvYWRlZCBmcmFnbWVudCBpcyBOVUxMCgoyMDEzLTA3LTAzIDEzOjU5OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTc6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1NzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTY6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbGlicy9tcGVndHM6IFJlbmFtZSBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgkgIFNvcnJ5IGZvciB0aGlzIDooIEJ1dCB0aGlzIG1ha2VzIGl0IG1vcmUgaW4gc3luYyB3aXRoIGV4cGVjdGVkIHR5cGUKCSAgbmFtaW5nIGluIGdvYmplY3QgKGkuZS4gQ2FtZWxDYXNlIGFuZCBub3QgQ2FtZWxNQVlCRUNhc2UpLgoJICBBbHNvIHNwbGl0IGRlc2NyaXB0b3IgdHlwZSBlbnVtcyBpbnRvIHRoZSBkaWZmZXJlbnQgdmFyaWFudHM6CgkgICogSVNPIEguMjIyLjAgLyAxMzgxOC0xIChpLmUuIHN0YW5kYXJkIG1wZWctdHMpCgkgICogRFZCCgkgICogQVRTQwoJICAqIElTREIKCSAgKiBtaXNjZWxsYW5lb3VzCgkgIFRoaXMgd2lsbCBhdm9pZCBmdXR1cmUgY2xhc2hlcyB3aGVuIHNwZWNzIHVzZSB0aGUgc2FtZSBkZXNjcmlwdG9yIHR5cGUKCjIwMTMtMDctMDEgMDg6MzU6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgYW4gZXhhbXBsZSBvZiBhIG1wZWctdHMgU0kgZXh0cmFjdG9yCgkgIFNlcnZlcyBhcyBhbiBleGFtcGxlIG9mIHVzYWdlIG9mIHRoZSBuZXcgbXBlZ3RzIGxpYnJhcnkgZnJvbSBhbgoJICBhcHBsaWNhdGlvbi4KCSAgV2lsbCBwYXJzZS9kdW1wIGFsbCBzZWN0aW9ucyByZWNlaXZlZCBvbiBhIGJ1cy4KCSAgVXNhZ2UgaXMgLi90c3BhcnNlIDxhbnkgZ3N0LWxhdW5jaCBsaW5lIHVzaW5nIHRzZGVtdXggb3IgdHNwYXJzZT4KCSAgRXhhbXBsZXM6CgkgIC4vdHNwYXJzZSBmaWxlOi8vL3NvbWUvbXBlZ3RzZmlsZSAhIHRzcGFyc2UgISBmYWtlc2luawoJICAuL3RzcGFyc2UgZHZiOi8vQ0hBTk5FTCAhIHRzcGFyc2UgISBmYWtlc2luawoJICAuL3RzcGFyc2UgcGxheWJpbiB1cmk9ZHZiOi8vQ0hBTk5FTAoJICAuL3RzcGFyc2UgcGxheWJpbiB1cmk9ZmlsZTovLy9zb21lL21wZWd0c2ZpbGUKCSAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDQ6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogU3dpdGNoIHRvIE1QRUctVFMgU0kgbGlicmFyeQoJICBBbHNvIHNlcnZlcyBhcyBhbiBleGFtcGxlIG9mIHVzaW5nIG1wZWd0cyBsaWJyYXJ5IGZyb20gYSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0MzoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byBNUEVHLVRTIFNJIGxpYnJhcnkKCSAgKiBPbmx5IG1wZWctdHMgc2VjdGlvbiBwYWNrZXRpemF0aW9uIHJlbWFpbnMuCgkgICogSW1wcm92ZSBjb2RlIHRvIGRldGVjdCBkdXBsaWNhdGVkIHNlY3Rpb25zIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgkgICogQWRkIEZJWE1FIGZvciB2YXJpb3VzIGlzc3VlcyB0aGF0IG5lZWQgZml4aW5nIChidXQgYXJlIG5vdCByZWdyZXNzaW9ucykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0MToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIGdzdC1saWJzOiBOZXcgTXBlZy1UUyBzdXBwb3J0IGxpYnJhcnkKCSAgRXhwb3NlcyB2YXJpb3VzIE1QRUctVFMgKElTTy9JRUMgMTM4MTgtMSkgYW5kIERWQiAoRU4gMzAwIDQ2OCkgU2VjdGlvbgoJICBJbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIGRlc2NyaXB0b3JzIGZvciB1c2FnZSBieSBwbHVnaW5zIGFuZCBhcHBsaWNhdGlvbnMuCgkgIFRoaXMgcmVwbGFjZXMgZW50aXJlbHkgdGhlIG9sZCBHc3RTdHJ1Y3R1cmUtYmFzZWQgc3lzdGVtIGZvciBjb252ZXlpbmcKCSAgbXBlZy10cyBpbmZvcm1hdGlvbiB0byBhcHBsaWNhdGlvbnMgYW5kIG90aGVyIHBsdWdpbnMuCgkgIFBhcnNpbmcgYW5kIHZhbGlkYXRpb24gaXMgZG9uZSBvbiBhICJ3aGVuLW5lZWRlZCIgYmFzaXMuIFRoaXMgZW5zdXJlcwoJICB0aGUgbWluaW1hbCBvdmVyaGVhZCBmb3IgZWxlbWVudHMgYW5kIGFwcGxpY2F0aW9ucyBjcmVhdGluZyBhbmQgdXNpbmcKCSAgc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzLgoJICBTaW5jZSBhbGwgaW5mb3JtYXRpb24gaXMgbWFkZSBhdmFpbGFibGUsIHRoaXMgYWxzbyBhbGxvd3MgYXBwbGljYXRpb25zCgkgIHRvIHBhcnNlIGN1c3RvbSBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMuCgkgIFJpZ2h0IG5vdyB0aGUgbGlicmFyeSBpcyB0YXJnZXRlZCB0b3dhcmRzIHBhcnNpbmcsIGJ1dCB0aGUgc3RydWN0dXJlcwoJICBjb3VsZCBiZSB1c2VkIGluIHRoZSBmdXR1cmUgdG8gYWxsb3cgYXBwbGljYXRpb25zIHRvIGNyZWF0ZSBhbmQgaW5qZWN0CgkgIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycyAoZm9yIHVzYWdlIGJ5IHZhcmlvdXMgbXBlZy10cyBlbGVtZW50cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMTAgMTg6MDE6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSGFuZGxlIGNhc2Ugd2l0aG91dCBhbiBpbml0aWFsaXphdGlvbiBzZWdtZW50CgkgIElmIG5vIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgaXMgZGVmaW5lZCwgdGhlbiBkb24ndCBwcmludCBhCgkgIGNyaXRpY2FsIG9yIGEgd2FybmluZywganVzdCBpZ25vcmUgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NjEKCjIwMTMtMDctMDEgMTg6MjI6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBzYXZlIDEgb3IgMiBzdHJpbmcgY29waWVzIHdoZW4gZ2V0dGluZyBmcmFnbWVudCB1cmlzCgkgIE9ubHkgY3JlYXRlIG5ldyBzdHJpbmcgaWYgcmVxdWlyZWQsIHNhdmluZyBtYXliZSAxIG9yIDIgc3RyIGNvcGllcyBwZXIKCSAgZnJhZ21lbnQuCgoyMDEzLTA3LTAxIDE4OjE1OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCB1cmlkb3dubG9hZGVyIGxpYiB0byBndGstZG9jIGxpYnMKCSAgZml4ZXMgcnVudGltZSBsaW5raW5nIGVycm9yIG9uIHdpbmRvd3MKCjIwMTMtMDctMDEgMTc6NTA6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZWFjaCBmcmFnbWVudCBjYW4gaGF2ZSBpdHMgb3duIGluZGV4CgkgIFJldHVybiBpbmRleCBVUkkvcmFuZ2UgdG8gZGFzaGRlbXV4IGZyb20gdGhlIG1wZHBhcnNlciB0byBiZSBhYmxlCgkgIHRvIGRvd25sb2FkIGFuZCBkZWxpdmVyIHRoZW0gZG93bnN0cmVhbSBmb3IgcGxheWJhY2suCgoyMDEzLTA3LTAxIDEzOjE5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSB0b3AtbGV2ZWwgaW5kZXggdXJscwoJICBQYXJzZSBhbmQgcHJvdmlkZSBhY2Nlc3MgdG8gdG9wLWxldmVsIGluZGV4IHNlZ21lbnRzIGlmIGF2YWlsYWJsZS4KCSAgZGFzaGRlbXV4IHNob3VsZCBwdXNoIHRob3NlIHdoZW5ldmVyIGEgaGVhZGVyIGlzIHB1c2hlZC4KCSAgRml4ZXMgIzcwMDQ4OQoKMjAxMy0wNS0wNiAxNzowODo1NCAtMDQwMCAgQXJ0aHVyIFNoaXBrb3dza2kgPGFydEB2aWRlb24tY2VudHJhbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggY3JpdGljYWwgZXJyb3Igb3V0cHV0IHdoZW4gSW5pdGlhbGl6YXRpb24gaGFzIG5vIFVSTAoJICBJc3N1ZSBldmluY2VkIGJ5CgkgIGh0dHA6Ly95dC1kYXNoLW1zZS10ZXN0LmNvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Nhci0yMDEyMDgyNy1tYW5pZmVzdC5tcGQKCSAgd2hpY2ggcHJvZHVjZXMgb3V0cHV0IGxpa2UgKiogKGdzdC1sYXVuY2gtMS4wOjgwNjApOiBDUklUSUNBTCAqKjoKCSAgZ3N0X21wZHBhcnNlcl9nZXRfaW5pdGlhbGl6YXRpb25VUkw6IGFzc2VydGlvbiBgSW5pdGlhbGl6YXRpb25VUkwtPnNvdXJjZVVSTAoJICAhPSBOVUxMJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQ4OQoKMjAxMy0wNy0wMSAxNDozNTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJldmVudCBjcmFzaCBieSBjaGVja2luZyBpZiB0aGUgc2VnbWVudCBub2RlIGlzIHByZXNlbnQKCSAgRG8gbm90IHRyeSB0byBhY2Nlc3MgcmFuZ2UgZGF0YSBpZiB0aGVyZSBpcyBubyBzZWdtZW50IG5vZGUKCjIwMTMtMDYtMjUgMTg6MzQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoX2RlYnVnLmg6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogdXNlIHNhbWUgZGVidWcgY2F0ZWdvcnkgZm9yIGRhc2hkZW11eCBhbmQgdGhlIG1wZCBwYXJzZXIKCSAgTWFrZXMgZGVidWdnaW5nIGVhc2llcgoKMjAxMy0wNi0yMCAwMzo1MjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYmFzZWQgc2VnbWVudHMKCSAgVXNlIHRoZSBtZWRpYVJhbmdlIGluZm9ybWF0aW9uIGFuZCBwYXNzIGl0IHRvIHRoZSB1cmlkb3dubG9hZGVyCgkgIHRvIGNvcnJlY3RseSBkb3dubG9hZCBvbmx5IHRoZSBzZWdtZW50IHJhbmdlcyBpbmRpY2F0ZWQgaW4gdGhlCgkgIE1QRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA2LTE5IDE4OjI4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogYWRkIHN1cHBvcnQgZm9yIHJhbmdlIGJhc2VkIGRvd25sb2FkcwoJICBBZGRzIGEgbmV3IEFQSSBnc3RfdXJpX2Rvd25sb2FkZXJfZmV0Y2hfdXJpX3dpdGhfcmFuZ2UgdGhhdCBhbGxvd3MKCSAgZG93bmxvYWRpbmcgb25seSBhIGJ5dGUgcmFuZ2UgZnJvbSBhbiBVUkkuIEl0IHVzZXMgYSBzZWVrIGV2ZW50CgkgIHNlbnQgdG8gdGhlIHNvdXJjZSB0byBzaWduYWwgdGhlIHJhbmdlIHRvIGJlIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDMtMDkgMDE6NDk6MjMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBGaXggdGhlIHJldHVybiB2YWx1ZSB0eXBlIGZvciB0aGUgU0VJIHBhbHlsb2FkIHBhcnNpbmcgbWV0aG9kcy4KCSAgVGhlIHJldHVybiB2YWx1ZSB0eXBlIG9mIFNFSSBwYXlsb2FkIHBhcnNpbmcgZnVuY3Rpb25zCgkgIGFyZSBHc3RIMjY0UGFyc2VyUmVzdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDc1CgoyMDEzLTA2LTI4IDIwOjE1OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IERvbid0IHJlcXVpcmUgYSBrZXkgaWYgYm90aCBhdXRoIGFuZCBjaXBoZXIgYXJlIG51bGwKCjIwMTMtMDYtMjggMjA6MzI6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBNb3ZlIHRoZSBlbnVtcyB0byB0aGUgY29tbW9uIGhlYWRlcgoJICBUaGUgdHlwZXMgYXJlIHVzZWQgaW4gYm90aCB0aGUgZW5jb2RlciBhbmQgZGVjb2RlcgoKMjAxMy0wNi0yOCAyMDoxMzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogUmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEzLTA2LTI4IDEyOjI1OjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBhZGQgdGhlIGJ1aWxkIHByZWZpeCBwYXRoIGluIHRoZSBzZWFyY2ggZGlycwoKMjAxMy0wNi0yNSAxMDoyNjoyNCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ2xlYW51cCBtZW1vcnkgYWxsb2NhdGlvbi9kZWFsbG9jYXRpb24KCSAgRW5zdXJlIHRoYXQgZ19mcmVlL3htbEZyZWUgaXMgdXNlZCBjb3JyZWN0bHkgYmFzZWQgb24gaG93IHRoZQoJICBtZW1vcnkgd2FzIGFsbG9jYXRlZC4KCSAgV2hlbiBkZWFsbG9jYXRpbmcgR0xpc3RzLCB0aGVyZSB3ZXJlIG1hbnkgcGxhY2VzIHRoYXQgd2VyZSB1c2luZwoJICBnX2xpc3RfZm9yZWFjaCBhbmQgZ19saXN0X2ZyZWUuICBDb252ZXJ0ZWQgdGhlc2Ugb2NjdXJyZW5jZXMgdG8KCSAgY2FsbCBnX2xpc3RfZnJlZV9mdWxsLgoJICBBZGQgTlVMTCBjaGVja3MgdG8gYWxsIHhtbEZyZWUgY2FsbHMgc2luY2UgdGhlIGRvY3VtZW50YXRpb24gZG9lcwoJICBub3QgZ3VhcmFudGVlIHRoYXQgcGFzc2luZyBOVUxMIGlzIHNhZmUKCSAgSW4gcGxhY2VzIHdoZXJlIHdlIGFyZSBzdHJkdXAnaW5nIG1lbW9yeSBhbGxvY2F0ZWQgYnkgbGlieG1sMiwKCSAgY2hhbmdlZCB0aG9zZSBjYWxscyB0byB1c2UgeG1sTWVtU3RyZHVwKCkuCgkgIFRoZXJlIHdlcmUgc2V2ZXJhbCBwbGFjZXMgd2hlcmUgd2Ugd2VyZSBtaXNzaW5nIGdfc2xpY2VfZnJlZSB3aGVuCgkgIGRlYWxsb2NhdGluZyBhIHRvcC1sZXZlbCBub2RlIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgzNwoKMjAxMy0wNi0yNCAxMzowMjo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEV4dGVuZCBsaXN0IG9mIGtub3duIGRlc2NyaXB0b3JzCgkgIEFkZCB0aGUgdmFyaW91cyBBVFNDIG9uZXMKCjIwMTMtMDYtMjQgMDg6MjQ6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogT25seSB3YXJuIGZvciBhZGRlZCBzdHJlYW1zIHdoZW4gbmVlZGVkCgkgIFdlIHVzZSBhZGRfc3RyZWFtKHN0cmVhbV90eXBlOi0xKSB0byBlbnN1cmUgYSBwcm9ncmFtcycgUENSIFN0cmVhbSBpcwoJICBhbHNvIHRha2VuIGludG8gYWNjb3VudC4gRm9yIG1vc3QgcHJvZ3JhbXMgdGhpcyB3aWxsIHJlLXVzZSBhbgoJICBleGlzdGluZyBFUyBzdHJlYW0uCgkgIFNvIG9ubHkgd2FybiB0aGF0IHdlIGFyZSByZS1hZGRpbmcgYSBzdHJlYW0gaWYgaXQgd2FzIGFscmVhZHkgcHJlc2VudAoJICBBTkQgaXQgaXMgbm90IHRvIGVuc3VyZSB0aGUgUENSIHN0cmVhbSBpcyB0YWtlbiBpbnRvIGFjY291bnQuCgoyMDEzLTA2LTIzIDE1OjEyOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIHNlY3Rpb24gcGFyc2luZwoJICBPbmx5IGNyZWF0ZSBzdWJ0YWJsZXMgd2hlbiBuZWVkZWQuIEl0IHdhcyBwcmV2aW91c2x5IGNyZWF0aW5nIG9uZSBldmVyeQoJICBzaW5nbGUgdGltZSAuLi4gdG8gY2hlY2sgaWYgb25lIHdhcyBwcmVzZW50LgoJICBBbmQgc3BlZWQgdXAgY29kZSB0byBkZXRlY3Qgd2hldGhlciBhIHN1YnRhYmxlIHdhcyBhbHJlYWR5IHByZXNlbnQgb3Igbm90LgoJICBPdmVyYWxsIG1ha2VzIHNlY3Rpb24gcHVzaGluZyAyIHRpbWVzIGZhc3Rlci4KCjIwMTMtMDYtMjQgMDc6NDA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBFeHRlbmQgbGlzdCBvZiBrbm93biBkZXNjcmlwdG9ycwoJICBGcm9tIElUVS1UIEgyMjIuMCAoMDYvMjAxMikuIEZyZWVseSBhdmFpbGFibGUgZnJvbSBpdHUuaW50CgoyMDEzLTA2LTIzIDE1OjI2OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkdXAgcGFja2V0IHBhcnNpbmcKCSAgQXZvaWQgdXNpbmcgYml0c2hpZnRpbmcgd2hlcmUgbm90IG5lZWRlZC4KCSAgU3BlZWRzIHVwIHBhY2tldCBwYXJzaW5nIGJ5IDMlICh0aGlzIGlzICp0aGUqIGhvdHNwb3Qgb2YgbXBlZy10cyBlbGVtZW50cykuCgoyMDEzLTA2LTIyIDA4OjU3OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogRml4IGd0ay1kb2MKCSAgRGV0ZWN0ZWQgYnkgaW5pdGlhbCBwcmUtcnVuIG9mIGdpLXNjYW5uZXIuCgoyMDEzLTA2LTIzIDExOjI5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5oOgoJICBkYWFsYWRlYzogQWRkIGRlY29kZXIgZWxlbWVudAoKMjAxMy0wNi0yMyAxMDowNDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5oOgoJICBkYWFsYWVuYzogQWRkIGVuY29kZXIgZWxlbWVudAoKMjAxMy0wNi0yMiAxMToyNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kYWFsYS9NYWtlZmlsZS5hbToKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuaDoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5oOgoJICBkYWFsYTogSW5pdGlhbCB2ZXJzaW9uIG9mIGEgRGFhbGEgcGx1Z2luCgoyMDEzLTA2LTIzIDA5OjA1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJICBzcnRwOiBGaXggZGlzdAoJICBUaGUgZW51bXMgc2hvdWxkIG5vdCBiZSBkaXN0LWVkIGFuZCBpbnN0ZWFkIGJlIHJlLWdlbmVyYXRlZCB3aGVuCgkgIGNvbXBpbGluZy4KCjIwMTMtMDYtMTkgMjA6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQmV0dGVyIGRldGVjdCBhbHJlYWR5IHNlZW4gc2VjdGlvbgoJICBJbiBzb21lIGNhc2VzIChOSVQgb24gaGlnaGx5LXBvcHVsYXRlZCBEVkItQyBvcGVyYXRvciBmb3IgZXhhbXBsZSksIHRoZXJlCgkgIHdpbGwgYmUgbW9yZSB0aGFuIG9uZSBzZWN0aW9uIGVtaXR0ZWQgZm9yIHRoZSBzYW1lIHN1YnRhYmxlIGFuZCB2ZXJzaW9uCgkgIG51bWJlci4KCSAgSW4gb3JkZXIgbm90IHRvIGxvc2UgdGhvc2UgdXBkYXRlcyBmb3IgdGhlIHNhbWUgdmVyc2lvbiBudW1iZXIsIHdlIGNoZWNrZWQKCSAgYWdhaW5zdCB0aGUgQ1JDIG9mIHRoZSBwcmV2aW91cyBzZWN0aW9uIHdlIHBhcnNlZC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCwgd2hpbGUgaXQgbWFkZSBzdXJlIHdlIGRpZG4ndCBsb3NlIGFueSBpbmZvcm1hdGlvbiwgaXQKCSAgYWxzbyBtZWFudCB0aGF0IGlmIHRoZSBzYW1lIHNlY3Rpb24gY2FtZSBiYWNrIChzYW1lIHZlcnNpb24sIHNhbWUgQ1JDKSBsYXRlcgoJICBvbiB3ZSB3b3VsZCByZS1wcm9jZXNzIGl0LCByZS1wYXJzZSBpdCBhbmQgcmUtZW1pdCBpdC4KCSAgVGhpcyB2ZXJzaW9uIGltcHJvdmVzIG9uIHRoYXQgYnkga2VlcGluZyBhIGxpc3Qgb2YgcHJldmlvdXNseSBvYnNlcnZlZCBDUkMKCSAgZm9yIGlkZW50aWNhbCBQSUQvc3VidGFibGUvdmVyc2lvbi1udW1iZXIgYW5kIHdpbGwgb25seSBwcm9jZXNzIHNlY3Rpb25zIGlmCgkgIHRoZXkgcmVhbGx5IHdlcmUgbmV2ZXIgc2VlbiBpbiB0aGUgcGFzdCAoYXMgb3Bwb3NlZCB0byBqdXN0IGJlZm9yZSkuCgkgIE9uIGEgMzBzIGNsaXAsIHRoaXMgYnJpbmdzIGRvd24gdGhlIG51bWJlciBvZiBOSVQgc2VjdGlvbiBwYXJzaW5nIGZyb20gNDU0MQoJICBkb3duIHRvIDY2My4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDQ3OQoKMjAxMy0wNi0yMCAyMjoxMjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkgIHdpbnNjcmVlbmNhcDogSW5pdGlhbCBwb3J0IHRvIDEuMAoKMjAxMy0wNi0yMCAwOTo1MjozMSArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY29weWluZyBvZiByYXcgdmlkZW8gZnJhbWVzIG9uIFNhbXN1bmcgR2FsYXh5IFMzIHdpdGggRXh5bm9zIDQgU09DCgoyMDEzLTA2LTE5IDEyOjUyOjUyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IHVucmVmIGJ1ZmZlciBpZiBubyBjbGllbnRzIGFyZSBjb25uZWN0ZWQKCSAgSWYgbm8gY2xpZW50IGhhcyByZWNlaXZlZCB0aGUgY29tbWFuZCwgdW5yZWYgdGhlIGJ1ZmZlci4gVGhpcyB3aWxsCgkgIG1ha2Ugc3VyZSB0aGF0IHRoZSBzaGFyZWQgbWVtb3J5IGFyZWEgZG9lcyBub3QgZ2V0IGZpbGxlZCB3aXRoIGJ1ZmZlcnMKCSAgbm8gb25lIGtub3dzIGFib3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjg0CgoyMDEzLTA2LTE5IDE5OjI5OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIE5JVCBwYXJzaW5nCgkgIEF2b2lkIGR1cGxpY2F0aW5nIHRoZSBkZWxpdmVyeSBzdHJ1Y3R1cmUsIGFuZCBpbnN0ZWFkIGdpdmUgaXQgdG8gdGhlCgkgIHJlY2VpdmluZyBjb250YWluZXIuCgoyMDEzLTA2LTA3IDEyOjUzOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogc2ltcGxpZnkgY29kZQoJICBXZSBkb24ndCBuZWVkIGdlbmVyaWMgbWV0aG9kcyBmb3IgcHVzaC9mbHVzaCBzaW5jZSB3ZSBrbm93IGFsbCB0aGUKCSAgc3ViY2xhc3MgdGhhdCB3ZSBjb250cm9sCgoyMDEzLTA2LTA1IDE1OjUxOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGZvciBjb21waWxpbmcgd2l0aG91dCBHU1RfREVCVUcKCSAgUHJvdGVjdCBkZWJ1Zy1vbmx5IHZhcmlhYmxlcy91c2FnZSwgYW5kIGluIG9uZSBjYXNlIHJlbW92ZSBhIHVzZWxlc3MKCSAgdmFyaWFibGUuCgoyMDEzLTA2LTE3IDA4OjE1OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogRW5zdXJlIGluaXRpYWwgZXZlbnRzIGFyZSBzZW50IGluIHRoZSByaWdodCBvcmRlcgoJICBGaXJzdCBzZW5kIHN0cmVhbS1zdGFydCwgdGhlbiBjYXBzLCB0aGVuIHNlZ21lbnQuCgkgIFRoZSBzZWdtZW50IHdlIHB1c2ggaXMgZnJvbSB1cHN0cmVhbSBpbiBwdXNoLW1vZGUuIElmIHdlIHdvcmsgaW4gcHVsbC1tb2RlCgkgIHRoZW4gd2UgaW5pdGlhbGl6ZSB0aGUgYmFzZSBzZWdtZW50IHRvIEJZVEVTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDIyCgoyMDEzLTA2LTE4IDEyOjI5OjQxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IHByb3BhZ2F0ZSBldmVudHMgdG8gYmFzZXNpbmsgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjU5NwoKMjAxMy0wNi0xOCAxMzo0Nzo1NCArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kOiBBZGQgc3VwcG9ydCBmb3IgUkdCeCBhbmQgUkdCQSBmb3JtYXRzCgkgIFdheWxhbmQgaW50ZXJmYWNlIGNvdWxkIG9mZmVyIHR3byBidWZmZXJzIHBpeGVscyBmb3JtYXRzOiBXTF9TSE1fRk9STUFUX1hSR0I4ODg4IGFuZCBXTF9TSE1fRk9STUFUX0FSR0I4ODg4LgoJICBVcGRhdGUgd2F5bGFuZHNpbmsgdG8gc3VwcG9ydCB0aGVtIGFuZCBjaGVjayBpZiB0aGUgZm9ybWF0IGlzIHJlYWxseSBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxMTIKCjIwMTMtMDYtMTggMTI6NDY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBmaXggQ0ZMQUdTIG9yZGVyIGFuZCBhZGQgcGx1Z2lucyBiYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ1hYRkxBR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjI5NwoKMjAxMy0wNi0xNSAwMDoxMjoxOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkgIG9wZW5jdjogZml4ZXMgYnVpbGQgYnkgbW92aW5nIHRoZSBjKysgaGVhZGVyIHRvIGdzdHNlZ21lbnRhdGlvbi5jcHAKCSAgRml4ZXM6CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBnc3RzZWdtZW50YXRpb24uaDo1MTowLAoJICBmcm9tIGdzdG9wZW5jdi5jOjQyOgoJICAvdXNyL2luY2x1ZGUvb3BlbmN2Mi92aWRlby9iYWNrZ3JvdW5kX3NlZ20uaHBwOjQ3OjE2OiBmYXRhbCBlcnJvcjogbGlzdDoKCSAgTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8bGlzdD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjk3CgoyMDEzLTA2LTE4IDEzOjMzOjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogZml4IHJlbGVhc2Ugb2YgbnVsbCBwb2ludGVyCgoyMDEzLTA2LTE4IDEzOjE3OjUyICswMjAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZW1lZGlhYnVmZmVyOiBmaXggbGVha2luZyBvZiBhcHBsZSBtZWRpYSBzdHJ1Y3RzCgkgIHJlbWVtYmVyIHRvIHJlbGVhc2UgdGhlIGFwcGxlJ3MgYXBpIGJ1ZmZlcnMgdG8gYXZvaWQgaHVnZSBsZWFraW5nCgoyMDEzLTA2LTE4IDEzOjAyOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IG1vdmUgZGVmaW5lcyB0byBDUFBGTEFHUyBmb3Igb2JqLWMgZmlsZXMKCjIwMTMtMDYtMTEgMTE6NTQ6NDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBmaXggYXVkaW9jYXB0dXJlIHByb2R1Y2luZyBzaWxlbmNlCgkgIENvbmZpZ3VyZSB0aGUgY2FwdHVyZSBsYXRlbmN5IHVzaW5nIHRoZSBJQU1CdWZmZXJOZWdvdGlhdGlvbgoJICBpbnRlcmZhY2UgYW5kIHRyeSB0byByZXNwZWN0IHRoZSBjb25maWd1cmVkIGxhdGVuY3ktdGltZSBhbmQgYnVmZmVyLXRpbWUKCjIwMTMtMDYtMTQgMTQ6NTI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE1ha2Ugc3VyZSB0aGUgYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSB3ZSBhZGQgdGhlIE1QRUcgdmlkZW8gbWV0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTc0CgoyMDEzLTA2LTEzIDEzOjM0OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBGaXggc29tZSBhdXRvbWFrZSB3YXJuaW5ncwoKMjAxMy0wNS0yNyAyMjoyMjozMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggTTJUUyBzdHJlYW0gcmVzeW5jCgkgIFN5bmMgYnl0ZSBzY2FuIGlzIGluY29ycmVjdCBmb3IgTTJUUyBzdHJlYW1zIGJlY2F1c2UgdGhlIHRpbWVzdGFtcCA0CgkgIGJ5dGVzIHdlcmUgbm90IGluY2x1ZGVkIGluIHRoZSBmbHVzaCBzaXplLiBUaGlzIGNhbiByZXN1bHQgaW4gYW4KCSAgaW5maW5pdGUgbG9vcC4KCSAgUmV3b3JrIHRoZSBzY2FuIGNvZGUgdG8gYmUgY2xlYXJlciBhbmQgd29yayBpbiBhbGwgY2FzZXMuCgoyMDEzLTA1LTI0IDEwOjU5OjU1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG1vdmUgc29tZSBkZWJ1ZyBwcmludHMgYXQgdGhlIGxvZyBsZXZlbAoKMjAxMy0wNS0yNCAxMDo1OTo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4ZXMgc2Vla2luZyBpbiBwdWxsIG1vZGUKCSAgUHJlc2VydmUgdGhlIGN1cnJlbnQgc2VnbWVudCBhbmQgb2JzZXJ2YXRpb25zIGluIHB1bGwgbW9kZSBzZWVrcyB3aXRoCgkgIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MDUwCgoyMDEzLTA2LTExIDE5OjQ1OjMxICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IHJlbW92ZWQgYW4gaW5jb3JyZWN0IGFzc2VydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDM2CgoyMDEzLTA2LTExIDE0OjMyOjQzICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkgIG9wZW5jdjogYWRkIGZvcmVncm91bmQvYmFja2dyb3VuZCBzZWdtZW50YXRpb24gZWxlbWVudAoJICBBZGQgYW4gZWxlbWVudCB0byB0aGUgb3BlbmN2IHBsdWdpbiBmb3IgZm9yZWdyb3VuZy9iYWNrZ3JvdW5kIGltYWdlCgkgIHNlcXVlbmNlIHNlZ21lbnRhdGlvbiwgdXNpbmcgb25lIG91dCBvZiAzIGFsZ29yaXRobXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MjEKCjIwMTMtMDYtMTAgMTc6MDA6NDIgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIGR1cmluZyBjb25zdHJ1Y3Rpb24KCSAgQnkgYWRkaW5nIHRoZSB2aWRlby1zb3VyY2UtZmlsdGVyIGR1cmluZyBjb25zdHJ1Y3Rpb24gdGltZSwgcmF0aGVyIHRoZW4KCSAgcGF0Y2hpbmcgaXQgaW4gbGF0ZXIgKCopLCB3ZSBjYW4gZ3JlYXRseSByZWR1Y2UgdGhlIGFtb3VudCBvZiBjYXBzIGludm9sdmVkCgkgIGluIG5lZ290YXRpb24sIHNwZWVkaW5nIHVwIHBpcGVsaW5lIGNyZWF0aW9uLgoJICBJIHdyb3RlIHRoaXMgd2hpbGUgd29ya2luZyBvbiBzcGVlZGluZyB1cCB0aGUgc3RhcnR1cCBvZiBjaGVlc2UuIE15IGNoZWVzZQoJICBoYXMgYmVlbiBtb2RpZmllZCB0byBhZGQgYSBjYXBzZmlsdGVyLCBmaWx0ZXJpbmcgZm9yIG9ubHkgdGhlIGNvbmZpZ3VyZWQKCSAgcmVzb2x1dGlvbiwgd2l0aCB0aGF0IGNoZWVzZSBwYXRjaCArIHRoaXMgcGF0Y2gsIHRoZSBwaXBlbGluZSBjcmVhdGlvbiB0aW1lCgkgIGdvZXMgZnJvbSBhcHJveCAxLjEgc2Vjb25kcyB0byBhcHJveCAzNTBtcy4gVGhpcyBpcyB3aXRoIGEgTG9naXRlY2ggOTAwMAoJICBwcm8gY2FtZXJhLCB3aGljaCBzdXBwb3J0cyBsb3RzIG9mIGRpZmZlcmVudCByZXNvbHV0aW9ucyBhdCBtYW55IGRpZmZlcmVudAoJICBmcmFtZXJhdGVzIHBlciByZXNvbHV0aW9uLCBjYXVzaW5nIGEgY2FwcyAiZXhwbG9zaW9uIiBpZiBub3QgZmlsdGVyZWQuCgkgICopIE5vdGUgdGhlIGNvZGUgZm9yIHRoaXMgaXMgbGVmdCBpbiwgYXMgaXQgaXMgc3RpbGwgbmVjZXNzYXJ5IGlmIHRoZQoJICB2aWRlby1zb3VyY2UtZmlsdGVyIGlzIGNoYW5nZWQgYmV0d2VlbiBhIHN0b3AgKyByZS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk1MwoKMjAxMy0wNi0xMCAxODowMDoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE1ha2UgZ3N0LWluZGVudCBoYXBweQoKMjAxMy0wNi0xMCAxMDowNTo1NiArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBEb24ndCB1bnNldCB0aGUgdmlkZW8tc291cmNlIHByb3BlcnR5IG9uIHBpcGVsaW5lIHN0YXJ0CgkgIGNoZWNrX2FuZF9yZXBsYWNlX3NyYygpIHdhcyBzZXR0aW5nIHNlbGYtPmFwcF92aWRfc3JjIHRvIE5VTEwsIHdoaWNoCgkgIG1lYW5zIHRoYXQgYW4gYXBwIHNldHRpbmcgdGhlIHZpZGVvLXNvdXJjZSBwcm9wZXJ0eSwgYW5kIHRoZW4gc3RhcnRpbmcsCgkgIHN0b3BwaW5nIGFuZCByZS1zdGFydGluZyB0aGUgcGlwZWxpbmUgKGllIHRvIG1ha2UgY2hhbmdlcyB0byB0aGUKCSAgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eSkgd291bGQgYWZ0ZXIgdGhlIHJlc3RhcnQgbm8gbG9uZ2VyIGhhdmUKCSAgYSB2aWRlby1zb3VyY2UuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSBtYWtpbmcgZ3N0X2NhbWVyYWJpbl9zZXR1cF9kZWZhdWx0X2VsZW1lbnQgcmV0dXJuIGEKCSAgcmVmIHRvIHRoZSBwYXNzZWQgaW4gdXNlcl9lbGVtZW50LCByYXRoZXIgdGhlbiByZXR1cm5pbmcgdGhlIHVzZXJfZWxlbWVudCBhcwoJICBpcywgc28gdGhhdCB0aGF0IHJlZiBjYW4gYmUgcGFzc2VkIG9uIHRvIHRoZSBiaW4sIGFuZCB0aGUgYXBwX3ZpZF9zcmMgcmVmCgkgIHN0YXlzIHZhbGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTE1CgoyMDEzLTA2LTA4IDE0OjQ4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIHRoZSBSUGkgRUdMIGltcGxlbWVudGF0aW9uCgkgIEl0J3MgZml4ZWQgaW4gdGhlIGxhdGVzdCBmaXJtd2FyZSBzaW5jZSBhIGZldyB3ZWVrcy4KCjIwMTMtMDUtMDYgMTY6NTY6MDEgLTA0MDAgIEFydGh1ciBTaGlwa293c2tpIDxhcnRAdmlkZW9uLWNlbnRyYWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGlzc3VlIHdpdGggZ2V0IHJldHVybmluZyBhIHZhbHVlIGZvciBtYXgtYnVmZmVyaW5nLXRpbWUKCSAgSXQgd2FzIG5vdCBwcm9wZXJseSBkaXZpZGVkIGJ5IEdTVF9TRUNPTkRTLiBBbHNvIGZpeCBpc3N1ZSB3aXRoCgkgIG1heC1idWZmZXJpbmctdGltZSBiZWluZyBtdWx0aXBsaWVkIGJ5IEdTVF9TRUNPTkRTIGV2ZXJ5IHRpbWUgdGhlCgkgIHByb3BlcnR5IGlzIHJldHJpZXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQ4NwoKMjAxMy0wNi0wNyAxNToxODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICByZmI6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RQdXNoU3JjCgoyMDEzLTA2LTA3IDE0OjAxOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggc3RyaW5nIGNvbXBhcmlzb24KCjIwMTMtMDQtMDQgMTg6MjI6NTIgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBhY2NlcHQgSURfUFJJVkFURV9TVFJFQU1fMSB0byBhdm9pZCBsb29zaW5nIHN5bmMKCSAgQ3VycmVudCBmYWxsYmFjayB0byBsb3N0X3N5bmMgc2VlbXMgdG8gaW1wZWRlIGEgZGVsYXkgdG8gcmVzdG9yZQoJICBzeW5jLiBMZXQgdGhlIHBhcnNlciBwYXJzZSBhbmQgc2tpcCB0aGUgcHJpdmF0ZSBzdHJlYW0uCgkgIEhlcmUgaXQgY29udGFpbnMgdGhlIGRpZ2l0YWwgY2FtZXJhIGJyYW5kIChpbiAyMDEwIGJ5dGVzKQoJICBhbmQgaXMgcmVwZWF0ZWQgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyODMKCjIwMTMtMDYtMDcgMTI6MTA6MDggKzAyMDAgIElseWEgU21lbHlraCA8aWx5YS5zbWVseWtoQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogV2FpdCB1bnRpbCBTUFMvUFBTIGJlZm9yZSBvdXRwdXR0aW5nIGFueSBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDYzMjcKCjIwMTMtMDYtMDcgMTQ6MDY6NTYgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhY2tzIGZvciBIdWF3ZWlNZWRpYVBhZCB3aGljaCByZXBvcnRzIHdyb25nIGNvbG9yIGZvcm1hdAoJICBDT0xPUl9Gb3JtYXRZQ2JZQ3IgaXMgcmVwb3J0ZWQgYnV0IGl0IGlzIGFjdHVhbGx5IENPTE9SX1RJX0Zvcm1hdFlVVjQyMFBhY2tlZFNlbWlQbGFuYXIuCgoyMDEzLTA2LTA1IDE2OjE2OjM2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IEZpeCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uCgkgIElnbm9yZSB0aGUgZGlzcGxheV9leHRlbnNpb24gdmFsdWVzIGlmIHRoZXkgYXJlIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGgvaGVpZ2h0CgkgIHZhbHVlcyBwcm92aWRlZCBieSBzZXFoZHIgYW5kIGNhbGN1bGF0ZSB0aGUgUEFSIGJhc2VkIG9uIHRoZSBzZXFoZHIgdmFsdWVzLlQKCSAgaGlzIGlzIHdoYXQgRFZEIHBsYXllcnMgYXJlIGRvaW5nLgoJICBUaGFua3MgdG8gIkRhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTEwMwoKMjAxMy0wNi0wNSAxODozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4xID09PQoKMjAxMy0wNi0wNSAxODoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMQoKMjAxMy0wNi0wNSAxODoyODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBBZGQgc29tZSBtaXNzaW5nIGhlYWRlcnMgdG8gZGlzdAoKMjAxMy0wNi0wNSAxODowMToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRhc2g6IEFkZCB0byBNYWtlZmlsZS5hbSBmb3IgbWFrZSBkaXN0CgoyMDEzLTA2LTA1IDE3OjQ5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IEFkZCB0byB0aGUgTWFrZWZpbGUuYW0gZm9yIGRpc3QKCjIwMTMtMDYtMDUgMTY6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNi0wNSAxNToyMDo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggbGVhawoJICBTaW5jZSB3ZSB3ZXJlIG1hbnVhbGx5IHNldHRpbmcgR1ZhbHVlIHRvIHRoZSBHVmFsdWVBcnJheSwgd2UgYWxzbyBuZWVkCgkgIHRvIHNwZWNpZnkgaG93IG1hbnkgd2VyZSBzZXQsIG90aGVyd2lzZSBhbGwgdmFsdWVzIGluIHRoZSBhcnJheSB3aWxsCgkgIGJlIGxlYWtlZC4KCjIwMTMtMDYtMDUgMTU6MTU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byAwMWE3YTQ2CgoyMDEzLTA2LTA1IDEzOjM5OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkdXAgVERUL1RPVCBwYXJzaW5nCgkgIFVzZSBxdWFya3Mgd2hlcmUgbmVlZGVkLCBtYWtlcyBpdCAyLjUgdGltZXMgZmFzdGVyCgoyMDEzLTA2LTA1IDEzOjIxOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBzdHJpbmcgbGVhawoJICBUaGUgZGVzY3JpcHRpb24vdGV4dCBnZXQgY29waWVkIGluIHRoZSBzdHJ1Y3R1cmUuCgoyMDEzLTA2LTA1IDEyOjQ5OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIGRlc2NyaXB0b3IgcGFyc2luZy9wYWNraW5nCgkgIGRlc2NyaXB0b3JzIGFyZSBzdG9yZWQgYXMgYSBHVmFsdWVBcnJheSBvZiBHU3RyaW5nLiBUaGUgZG93bnNpZGUgaXMKCSAgdGhhdCB0aGVyZSBpcyBubyB3YXkgdG8gInBhc3MiIG93bmVyc2hpcCBvZiBhIEdWYWx1ZSB0byBhIEdWYWx1ZUFycmF5CgkgIHdoaWNoIHByZXZpb3VzbHkgcmVzdWx0ZWQgaW4gZXhwZW5zaXZlIGNvcHkvZnJlZSBvZiB0aGUgKGFscmVhZHkgZXhwZW5zaXZlKQoJICBHU3RyaW5nLgoJICBIZXJlIHdlIGVzdGltYXRlIGZpcnN0IHRoZSBzaXplIG9mIHRoZSBHVmFsdWVBcnJheSwgdGhlbiBjcmVhdGUgaXQsCgkgIHRoZW4gZGlyZWN0bHkgdXNlIHRoZSBHVmFsdWUgb2YgdGhhdCBhcnJheS4KCSAgU3BlZWRzIHVwIHRvdGFsIFNJIHBhcnNpbmcgYnkgfjMwJQoKMjAxMy0wNi0wNSAxMToyMToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZ3N0X3ZhbHVlX2xpc3RfYXBwZW5kX2FuZF90YWtlX3ZhbHVlCgkgIEF2b2lkcyBkb2luZyB0aGUgZXhwZW5zaXZlIGNvcHkgb2Ygc3RydWN0dXJlcy9hcnJheXMvLi4uCgkgIFNwZWVkcyB1cCBwYXJzaW5nIFNJIGJ5IGFib3V0IDUwJQoKMjAxMy0wNi0wNSAxMToyMDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCBjb3B5aW5nIEdWYWx1ZUFycmF5CgkgIEp1c3QgZ2l2ZSB0aGUgR1ZhbHVlQXJyYXkgdG8gdGhlIGNvbnRhaW5lciBHVmFsdWUuCgoyMDEzLTA1LTI5IDA5OjI1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIHNpZ25hbHByb2Nlc3NvciBkaXJlY3RvcnkKCjIwMTMtMDUtMjkgMDg6Mzc6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZWQgc2lnbmFscHJvY2Vzc29yIGZyb20gZG9jcy9saWJzL01ha2VmaWxlLmFtCgoyMDEzLTA1LTI4IDE1OjU0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IEluIHB1bGwgbW9kZSBkcm9wIFNFR01FTlQsIENBUFMgYW5kIFNUUkVBTV9TVEFSVCBldmVudHMKCSAgV2UgY3JlYXRlIGFuZCBzZW5kIG91ciBvd24gbGF0ZXIgZnJvbSBhbm90aGVyIHRocmVhZC4KCjIwMTMtMDUtMjggMTU6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMjggMDg6MDg6NDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGxhZHNwYSBpcyBub3QgdXNpbmcgdGhpcyBhbnltb3JlCgkgIFdoZW4gd2UgcG9ydCBsdjIsIHdlJ2xsIGdvIHRoZSBzYW1lIHJvdXRlIGFzIHRoZSBuZXcgbGFkc3BhIHBsdWdpbi4KCjIwMTMtMDUtMjggMDc6NTM6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGZpeCB0eXBvcyBpbiBsYXVuY2ggZXhhbXBsZXMKCjIwMTMtMDUtMjcgMjM6MDc6MTYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5oOgoJICBsYWRzcGE6IHVzZSB0aGUgcmVnaXN0cnkgY2FjaGUgZm9yIHBsdWdpbiBkZXRhaWxzCgkgIFNwbGl0IHRoZSBpbnRyb3NwZWN0aW9uIGFuZCByZWdpc3RyYXRpb24gcGFydC4gVGhpcyB3YXkgd2Ugb25seSBuZWVkIHRvIG9wZW4gYWxsCgkgIHBsdWdpbnMgd2hlbiB1cGRhdGluZyB0aGUgcmVnaXN0cnkuIFdoZW4gcmVhZGluZyB0aGUgcmVnaXN0cnkgd2UgY2FuIHJlZ2lzdGVyCgkgIHRoZSBlbGVtZW50cyBlbnRpZXJseSBmcm9tIHRoZSBjYWNoZS4KCjIwMTMtMDUtMjcgMTE6MjA6MDcgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSAgb3BlbmN2OiBBZGQgY29sb3VyIGltYWdlIGVuaGFuY2VtZW50IGVsZW1lbnQgYmFzZWQgb24gUmV0aW5leCBhbGdvcml0aG0KCSAgQWRkIGNvbG91ciBpbWFnZSBlbmhhbmNlbWVudCBlbGVtZW50IGJhc2VkIG9uIFJldGluZXggYWxnb3JpdGhtLiBUd28gdHlwZXMKCSAgZXhpc3QsIG5hbWVseSBiYXNpYyBhbmQgbXVsdGlzY2FsZTsgYm90aCBhcmUgZGVzY3JpYmVkIGluIHRoaXMgYXJ0aWNsZToKCSAgUmFobWFuLCBaaWEtdXIsIERhbmllbCBKLiBKb2Jzb24sIGFuZCBHbGVubiBBLiBXb29kZWxsLiAiTXVsdGktc2NhbGUgcmV0aW5leAoJICBmb3IgY29sb3IgaW1hZ2UgZW5oYW5jZW1lbnQuIiBJbWFnZSBQcm9jZXNzaW5nLCAxOTk2LiBQcm9jZWVkaW5ncy4sCgkgIEludGVybmF0aW9uYWwgQ29uZmVyZW5jZSBvbi4gVm9sLiAzLiBJRUVFLCAxOTk2CgkgIFZpc3VhbGx5IHNwZWFraW5nIHRoZSByZXN1bHQgbG9va3MgYSBiaXQgZnVubnksIGJ1dCBpcyBwcmV0dHkgaW52YXJpYWJsZSB0bwoJICBsaWdodG5pbmcgY2hhbmdlcywgd2hpY2ggaXMgZ29vZCBmb3Igc29tZSBhcHBsaWNhdGlvbnMsIGxpa2UgaW1hZ2UKCSAgc2VnbWVudGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTc3CgoyMDEzLTA1LTI2IDE0OjI5OjU0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4Lmg6CgkgIGF1ZGlvY2hhbm5lbG1peDogZmlsbCBpbiB0aGUgYXV0aG9yIHRlbXBsYXRlCgkgIFRoZSBjb3B5cmlnaHQgaGVhZGVyIHN0aWxsIGNvbnRhaW5lZCB0aGUgYXV0aG9yIHRlbXBsYXRlLgoKMjAxMy0wNS0yNSAxNToyNTo1NiArMDIwMCAgTWljaGFlbCBSdWJpbnN0ZWluIDxtcnViaW5zdGVpbkB3ZWF0aGVyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGcmVlIG1lbW9yeSBiZWhpbmQgR1N0cmluZyBpZiB3ZSBkb24ndCB1c2UgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDkwMwoKMjAxMy0wNS0yMyAxNDozMjowNyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybHNtdHBzaW5rOiB0ZXJtaW5hdGUgdHJhbnNmZXIgdGhyZWFkIHByb3Blcmx5CgkgIElmIG5vIEVPUyBoYXMgYmVlbiBzZW50LCB0aGUgY3VybCByZWFkZnVuYyBjYWxsYmFjayB3aWxsCgkgIHJldHVybiBBQk9SVC4gVGhlIG1lZGlhIGZpbGUgaW4gdGhhdCBjYXNlIHdpbGwgbm90IGJlIHByb3Blcmx5CgkgIGZpbmFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg4NgoKMjAxMy0wNC0wOCAxNDo1OTo1NCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiB1cGRhdGUgd2luZG93IHdpZHRoL2hlaWdodCB3aGVuIGl0J3Mgbm90IGRvbmUgaW4gV25kUHJvYwoKMjAxMy0wNC0wNSAxNzo1OTo0MSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGRpcmVjdGRyd2FzaW5rOiBjYWxsIHByZXZpb3VzIFduZFByb2MgaWYgYW55CgoyMDEzLTA0LTA1IDE3OjI2OjU3ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHJlc3BlY3QgUEFSIHdpdGggY29vcmRpbmF0ZXMKCjIwMTMtMDQtMjUgMTU6MzU6NTAgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBmaXggc3ltYm9scyByZWRlZmluaXRpb24gZm9yIG9iamMgZmlsZXMKCjIwMTMtMDQtMjQgMTU6NTU6MTIgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGFwcGxlbWVkaWEKCjIwMTMtMDUtMjMgMTQ6NTc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gRU9TJ2luZyB3aXRob3V0IHNvdXJjZSBwYWRzCgkgIFRoaXMgZW5zdXJlcyB3ZSBkb24ndCAiaGFuZyIgd2hlbiBmaWxlcyBjYW4ndCBiZSBkZWNvZGVkLCBvciBjb250YWluCgkgIG5vIHZhbGlkIHN0cmVhbXMuCgoyMDEzLTA1LTIzIDE0OjU2OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERlbW90ZSBhIHdhcm5pbmcgdG8gZGVidWcgbGV2ZWwKCSAgV2Ugd2lsbCBnZXQgaXQgZm9yIHZpcnR1YWxseSBldmVyeSBmaXJzdCBwYWNrZXRzLgoKMjAxMy0wNS0wMSAxNjozNzo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEFjdHVhbGx5IHN0b3JlIG1wZWcgdmlkZW8gYml0cmF0ZSB2YWx1ZQoJICBBbmQgdXNlIHRoZSBleHRlbnNpb24gYWxzbyAoaGlnaGVyIDEyIGJpdHMpCgoyMDEzLTA1LTIzIDExOjA0OjU3ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkgIG9wZW5jdjogQWRkIHNraW4gY29sb3IgZGV0ZWN0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDY1NAoKMjAxMy0wNS0wNyAyMTo0NTo1NCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBzaW1wbGlmeSBjYXBzIHNldHRpbmcKCjIwMTMtMDQtMjYgMTc6NDc6MjYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBmaXggSDI2NCBzdHJlYW1zIHdpdGggYi1mcmFtZXMKCSAgVGhlIGRlY29kZXIgb3V0cHV0IGZyYW1lcyBpbiBEVFMgb3JkZXIsIGV2ZW4gd2l0aCB0aGUgZmxhZwoJICBrVlREZWNvZGVGcmFtZV9FbmFibGVUZW1wb3JhbFByb2Nlc3NpbmcuIFdlIHN0b3JlIGEgaW50ZXJuYWwKCSAgcXVldWUgb2YgdGhlIGRlY29kZWQgZnJhbWVzIGFuZCBwdXNoIHRoZW0gUFRTIG9yZGVyLgoKMjAxMy0wNC0yNiAxNzo0NTozMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBzZWdmYXVsdCB3aXRoIGRyb3BwZWQgZnJhbWVzCgoyMDEzLTA0LTI2IDE3OjQwOjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogaW1wcm92ZSB1c2FnZSBvZiB0aGUgVlQgQVBJCgkgIEFkZCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gQ1Ygc2FtcGxlcyBhbmQgcGFzcyB0aGUgR3N0QnVmZmVyCgkgIGFzIGV4dHJhIGRhdGEgaW4gdGhlIGRlY29kZSBmdW5jdGlvbgoKMjAxMy0wNC0yNiAxMzoyNjowMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBNUEVHLTEgdG9vCgoyMDEzLTA0LTI1IDExOjMwOjA3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYWRkIHN1cHBvcnQgZm9yIE1QRUctMiBkZWNvZGluZwoKMjAxMy0wNC0yNSAxMToyNzoxMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHVzZSB0aGUgYmVzdCBjb2xvcmZvcm1hdCBvbiBlYWNoIHBsYXRmb3JtCgkgIFRoaXMgc2F2ZXMgYSBjb2xvcnNwYWNlIGNvbnZlcnNpb24gYmVmb3JlIHRoZSBzaW5rIGluIE9TIFgKCjIwMTMtMDQtMjUgMTE6MTc6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IHJlcGxhY2UgcHJpdmF0ZSBmdW5jdGlvbiB3aXRoIGl0cyBwdWJsaWMgdmFyaWFudAoJICBGaWdWaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlV2l0aFNhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbQoJICBpcyBhbiB1bi1kb2N1bWVudGVkIHByaXZhdGUgZnVuY3Rpb24gd2hpY2ggbWlnaHQgY2hhbmdlIGl0cyBzaWduYXR1cmUKCSAgYXMgaXQgYWxyZWFkeSBkaWQgaW4gdGhlIHBhc3QuIFJlcGxhY2UgaXQgd2l0aAoJICBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGUgYW5kIHRoZSBhbHNvIHVuLWRvY3VtZW50ZWQgRXh0ZW5zaW9ucwoJICBkaWN0aW9uYXJ5LgoKMjAxMy0wNC0yNCAyMjoyMjoyOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiByZW1vdmUgdGhlIHVubmVlZGVkIGJ1ZmZlciBmYWN0b3J5CgoyMDEzLTA0LTI0IDIyOjE1OjAxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHVzZSB0aGUgZHluYW1pYyBBUEkgZm9yIHB1YmxpYyBmcmFtZXdvcmtzCgkgIFB1YmxpYyBmcmFtZXdvcmtzIGRvbid0IG5lZWQgdG8gYnVpbGQgdGhlIEFQSSBkeW5hbWljYWxseSwgd2UgaW5zdGVhZAoJICB1c2UgdGhlIGZyYW1ld29yayBkaXJlY3RseS4KCSAgVGhlIGV4Y2VwdGlvbiBpcyBmb3IgVmlkZW9Ub29sYm94IHdoaWNoIHdlbnQgcHVibGljIGluIHRoZSAxMC44IFNESywKCSAgYnV0IGl0J3Mgc3RpbGwgcHJpdmF0ZSBpbiBvbGRlciB2ZXJzaW9uIG9mIHRoZSBTREsgYW5kIGlPUy4gVGhpcyBhbGxvdwoJICBidWlsZGluZyB0aGUgcGx1Z2luIGFnYWluc3QgU0RLJ3Mgd2hlcmUgaXQncyBub3QgYSBwdWJsaWMgZnJhbWV3b3JrLgoKMjAxMy0wNC0yNCAxODo1MzoxMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IG1vdmUgcGx1Z2lucyB1c2luZyBwcml2YXRlIGZyYW1ld29ya3MgdG8gYXBwbGVtZWRpYS1ub25wdWJsaWMKCjIwMTMtMDUtMjAgMTM6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGluZGVudGlvbgoKMjAxMy0wNS0xNyAyMDoxNzozMSArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGEgbWlub3IgZXJyb3IgaW4gQ09MT1JfRm9ybWF0WVVWNDIwUGxhbmFyIGNvbnZlcnRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUyMQoKMjAxMy0wNS0xOCAxNDowMToyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIHRyYW5zZm9ybSBmdW5jdGlvbnMgdG8gYXVkaW9maWx0ZXIKCjIwMTMtMDUtMTggMTM6NTc6MTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9meGJhZC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5oOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2Z4YmFkLmM6CgkgIGF1ZGlvZng6IEFkZCBwbHVnaW4sIGFkZCBhdWRpb2NoYW5uZWxtaXgKCjIwMTMtMDUtMTggMTM6NTY6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IGF1ZGlvIGZvcm1hdCBpcyAiUzE2IiBub3QgInMxNiIKCjIwMTMtMDUtMTggMTE6NTg6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgIHZpZGVvc2lnbmFsOiBmaXggQ0ZMQUdTIG9yZGVyCgoyMDEzLTA1LTE3IDIxOjIzOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIHN0cmVhbSBzdGFydCBldmVudAoJICBSZW1vdmVzIHdhcm5pbmdzIGFib3V0IHN0cmljdCBzdGlja3kgZXZlbnRzIG9yZGVyaW5nCgoyMDEzLTA1LTE3IDEyOjA4OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggd21hIHBybyBjYXBzIGNyZWF0aW9uCgkgIFdtYVBybyBpcyBhY3R1YWxseSB3bWF2ZXJzaW9uIDMsIGFuZCBjYW4gYWxzbyBiZSBmb3VuZCBieSB0aGUKCSAgV01BUCBmb3VyY2MuCgkgIFNvbWUgbWFuaWZlc3RzIGFsc28gY29udGFpbiB0aGUgYmxvY2tfYWxpZ24gZmllbGQgYXMgIlBhY2tldFNpemUiCgkgIGluIHRoZSBhdWRpbyB0cmFjayBkZXNjcmlwdGlvbiwgdGhlIGxpYmF2IGRlY29kZXJzIHJlcXVpcmUgaXQKCSAgdG8gYmUgcHJlc2VudCBpbiBjYXBzLgoJICBGaXhlcyAjNjk5OTIxCgoyMDEzLTA1LTE3IDExOjM3OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggYXNzZXJ0aW9ucyB3aGVuIGEgc3RyZWFtIGNhcHMgY2FuJ3QgYmUgY3JlYXRlZAoJICBGaXhlcyB0d28gYXNzZXJ0aW9ucyByZWxhdGVkIHRvIGNsZWFudXAgZm9yIGEgcGFkIHRoYXQgY291bGRuJ3QKCSAgYmUgZXhwb3NlZCBiZWNhdXNlIHRoZSBjYXBzIGNvdWxkbid0IGJlIGlkZW50aWZpZWQgZnJvbSB0aGUKCSAgTWFuaWZlc3QKCSAgRml4ZXMgIzY5OTkyMQoKMjAxMy0wNS0xNSAxMTo0OToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVhZ2w6IGZpeCBoYW5kbGluZyBvZiBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIERldGVjdCB3aGVuIHRoZSBlYWdsIHN1cmZhY2UgY2hhbmdlZCBpdHMgZGltZW5zaW9uICh3aGVuIHRoZSB1c2VyIHJvdGF0ZXMKCSAgdGhlIGRldmljZSBmb3IgZXhhbXBsZSkgYW5kIGFkYXB0IHRoZSBlZ2wgaW50ZXJuYWxzIHRvIGRyYXcgdG8gdGhhdCwKCSAgcHJldmVudGluZyB0aGF0IGlvcyByZXNpemVzIHRoZSBpbWFnZSBhZ2FpbiB3aGVuIGRyYXdpbmcuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IGhhcm1mdWwgd2hlbiBlYWdsIHdvdWxkIHNjYWxlIGRvd24gYSBpbWFnZQoJICB0byBkcmF3IGFuZCB0aGUgaW9zIHNjcmVlbiB3b3VsZCBzY2FsZSBpdCBiYWNrIHVwIGJlY2F1c2UgdGhlCgkgIHN1cmZhY2UgaXMgbm93IGJpZ2dlciB0aGFuIHdoZW4gdGhlIGVsZW1lbnQgd2FzIGNvbmZpZ3VyZWQuCgoyMDEzLTA1LTE1IDAwOjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBwYXJzZSBibG9ja19hbGlnbiwgY2hhbm5lbHMgYW5kIHJhdGUgZnJvbSB3YXZlZm9ybWF0ZXggaWYgcG9zc2libGUKCSAgd21hIHYyIGV4cGVjdHMgYmxvY2tfYWxpZ24sIGNoYW5uZWxzIGFuZCByYXRlIGZpZWxkcyBzZXQgdG8gaXRzIGNhcHMuCgkgIFRoaXMgaXNuJ3QgcHJlc2VudCBkaXJlY2x0eSBvbiB0aGUgbWFuaWZlc3RzLCBzbyBtc3NkZW11eCBzaG91bGQgcGFyc2UKCSAgaXQgZnJvbSB0aGUgd2F2ZWZvcm1hdGV4IHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE0IDIyOjA0OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgYml0cmF0ZSBpbmZvIHRvIGF1ZGlvIHN0cmVhbXMKCSAgYml0cmF0ZSBpbmZvIGlzIGFsd2F5cyBwcmVzZW50IG9uIHRoZSBRdWFsaXR5TGV2ZWwgeG1sIG5vZGUgYXMgcGFydAoJICBvZiB0aGUgYWRhcHRpdmUgc2VsZWN0aW9uIHByb2Nlc3NpbmcsIHB1dCBpdCBpbnRvIGNhcHMgYXMgc29tZQoJICBkZWNvZGVycyByZXF1aXJlIGl0IChhdmRlY193bWF2MiBmb3IgZXhhbXBsZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNCAxNjozNzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2VuZCBzdHJlYW0gaWQgYW5kIG5ld3NlZ21lbnQgYmVmb3JlIHB1c2hpbmcgZGF0YQoJICBGaXhlcyBzdGlja3kgZXZlbnRzIG9yZGVyaW5nIHdhcm5pbmdzIHdoZW4gZGF0YSBpcyBwdXNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNSAyMjoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBBbm5vdW5jZSBjb3JyZWN0IG1wZWd0cyBjYXBzCgoyMDEzLTA1LTE1IDIwOjAzOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBbm5vdGF0ZSBjYWxsYmFjayBzY29wZXMKCjIwMTMtMDUtMTUgMTk6MjM6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IEVuc3VyZSBzZWdtZW50IGlzIHNlbnQgYmVmb3JlIGNhcHMgYW5kIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDIwCgoyMDEzLTA1LTE1IDExOjU3OjA3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuYWw6IHJlcXVpcmUgT3BlbkFMID49IDEuMTQgdG8gYnVpbGQgdGhlIE9wZW5BTCBwbHVnaW4KCSAgRm9yIEFMX0ZPUk1BVF9NT05PX0FMQVdfRVhUIGFuZCBBTF9GT1JNQVRfU1RFUkVPX0FMQVdfRVhULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDAyCgoyMDEzLTA1LTE1IDExOjM4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMTUgMTE6Mzc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMTozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MjY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MjU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MTU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHBhcnNlcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTUgMTE6MDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoJICBnZHAgZWxlbWVudHMgc3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgZm9yIGFsbCB0aGUgZXZlbnQgcmVsYXRlZAoJICBjaGFuZ2VzIGFuZCBnZW5lcmFsbHkgcHJvcGVybHkgcG9ydGVkIHRvIDEuMC4KCjIwMTMtMDUtMTUgMTE6MDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IEVuYWJsZSBHTGliIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGFnYWluCgoyMDEzLTA1LTE1IDExOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IE5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlIHdoZW4gZ2V0dGluZyB0aGUgc2lua3BhZCBjYXBzCgoyMDEzLTA1LTE1IDEwOjU0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6NTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNS0xNSAxMDo1MTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlZGNkODUgdG8gMDk4YzBkNwoKMjAxMy0wNS0xNSAxMDoyMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoyMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgc2htOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsZmlsZXNpbms6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSAga2F0ZWVuYzogRGVsYXkgc2VnbWVudCBldmVudCB1bnRpbCB3ZSBoYXZlIGNhcHMKCjIwMTMtMDUtMTUgMTA6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZWRlYy90aWdlcjogRG9uJ3QgcXVldWUgc3RpY2t5IGV2ZW50cyB0aGF0IHdvdWxkIGNvbWUgYmVmb3JlIENBUFMKCjIwMTMtMDUtMTUgMDk6NDc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGVwYXJzZTogRml4IGV2ZW50IGhhbmRsaW5nCgkgIEludGVybmFsIHN0YXRlIHNob3VsZCBvbmx5IGJlIHJlc2V0IG9uIEZMVVNIX1NUT1AsIG5vdCBGTFVTSF9TVEFSVC4KCSAgQWxzbyBmb3J3YXJkIHByZS1jYXBzIGV2ZW50cyBpbW1lZGlhdGVseSBhbmQgZG9uJ3QgcXVldWUgdGhlbS4KCjIwMTMtMDUtMTUgMDk6NDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB2b3thbXIsYWFjfWVuYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAwOTo0MTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgZmFhZC9mYWFjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDA5OjIwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBobHM6IFVzZSBHc3RVUklEb3dubG9hZGVyIGZyb20gdGhlIGxpYnJhcnkgZm9yIG5vdyB0byBrZWVwIGV2ZXJ5dGhpbmcgaW4gYSB1c2FibGUgc3RhdGUKCjIwMTMtMDUtMTQgMTQ6MzI6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSAgbGFkc3BhOiBGaXggY29tcGlsYXRpb24gaXNzdWUgd2hlbiBscmRmIGlzIGVuYWJsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDMyOAoKMjAxMy0wNS0xNCAwMDoxNDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9kaXM2NTAyLmg6CgkqIGdzdC9uc2YvZmRzX3NuZC5jOgoJKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSogZ3N0L25zZi9mbW9wbC5jOgoJKiBnc3QvbnNmL2Ztb3BsLmg6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmg6CgkqIGdzdC9uc2YvbG9nLmM6CgkqIGdzdC9uc2YvbG9nLmg6CgkqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSogZ3N0L25zZi9tbWM1X3NuZC5oOgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSogZ3N0L25zZi9uZXM2NTAyLmg6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25lc19hcHUuaDoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L25zZi9uc2YuaDoKCSogZ3N0L25zZi9vc2QuaDoKCSogZ3N0L25zZi90eXBlcy5oOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSogZ3N0L25zZi92cmN2aXNuZC5jOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIG5zZjogcmVtb3ZlIG5zZiBwbHVnaW4sIHJlcGxhY2VkIGJ5IGdtZSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAyMQoKMjAxMy0wNC0xNyAwMjoxODo1OCArMDIwMCAgSnVhbiBNYW51ZWwgQm9yZ2VzIENhw7FvIDxqdWFubWFiY21haWxAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkgIG9wZW5hbDogaW1wcm92ZWQgcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODAxMwoKMjAxMy0wNS0xMyAwMDowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IHNvbWUgbW9yZSB0ZXN0cyBmcm9tIHRoZSBnZW5lcmljIHN0YXRlIGNoYW5nZSB0ZXN0CgoyMDEzLTA1LTEzIDAwOjA2OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBhZGQgZGVidWcgY2F0ZWdvcnkgZm9yIGF2ZHRwIHV0aWxzCgoyMDEzLTA1LTEyIDIzOjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGRpcmFjOiByZW1vdmUgb2xkIGRpcmFjLXJlc2VhcmNoIGxpYnJhcnkgYmFzZWQgY29kZWMKCSAgSXQncyBub3QgZGV2ZWxvcGVkIGFueSBtb3JlIGFuZCByZXBsYWNlZCBieSB0aGUKCSAgbGlic2Nocm9lZGluZ2VyLWJhc2VkIGVsZW1lbnRzIGluIGdzdC1wbHVnaW5zLWdvb2QuCgkgIChUaGUgbGlic2Nocm9lZGluZ2VyIDEuMC45IHJlbGVhc2Ugbm90ZXMgc3RhdGUgIlRoaXMKCSAgaXMgYW4gZXhjaXRpbmcgcmVsZWFzZTogbW9zdCBvZiB0aGUgZW5jb2RpbmcgdG9vbHMgaW4KCSAgZGlyYWMtcmVzZWFyY2ggaGF2ZSBiZWVuIHBvcnRlZCBvdmVyIHRvIFNjaHLDtmRpbmdlciwgc28KCSAgbm93IHNjaHJvIGhhcyB0aGUgc2FtZSBvciBiZXR0ZXIgY29tcHJlc3Npb24gZWZmaWNpZW5jeQoJICBhcyBkaXJhYy1yZXNlYXJjaC4iKQoKMjAxMy0wNS0xMiAyMjo0MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29mYS9nc3RvZmEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTIgMjA6MzI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgbXVzaWNicmFpbno6IHJlbW92ZSB0cm0gZWxlbWVudCB3aGljaCBpcyBub3QgdXNlZnVsIGFueSBtb3JlCgkgIFRSTSBJRHMgYXJlIE11c2ljQnJhaW56JyBvbGQgYXVkaW8gZmluZ2VycHJpbnRpbmcgc3lzdGVtIGZyb20KCSAgUmVsYXRhYmxlLCB0aGV5IHdlcmUgcGhhc2VkIG91dCBpbiBmYXZvdXIgb2YgTXVzaWNJUHMgUFVJRHMuCgkgIGh0dHBzOi8vd2lraS5tdXNpY2JyYWluei5vcmcvSGlzdG9yeTpUUk0KCjIwMTMtMDUtMTIgMTg6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogYWRkIHN1cHBvcnQgZm9yIFNDSEVEVUxJTkcgcXVlcnkKCjIwMTMtMDUtMTIgMTg6NDc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogYWRkIGlyYWRpby1tb2RlIHByb3BlcnR5IGFuZCBwb3N0IGljeSBtZXRhZGF0YSBhcyB0YWdzCgoyMDEzLTA1LTEyIDE4OjI4OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTEgMTI6MDc6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uCgoyMDEzLTA1LTExIDE5OjQxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IHBvc3QgZXJyb3IgbWVzc2FnZXMgb24gZXJyb3JzCgoyMDEzLTA1LTEwIDE3OjMwOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkgIHZpZGVvZmlsdGVyczogQWRkIHZpZGVvZGlmZiBlbGVtZW50CgoyMDEzLTA0LTI3IDExOjU2OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogc2V0IHRpbWVzdGFtcHMgd2hlbiByZXN0cmlkaW5nIGJ1ZmZlcgoKMjAxMy0wNC0xNSAwMDoyNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvbWFyay9kZXRlY3Q6IHJlbmFtZSB0byBzaW1wbGV2aWRlb21hcmtbZGV0ZWN0XQoKMjAxMy0wNC0xMyAxNToxNjowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb21hcmsvZGV0ZWN0OiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMSAwMDozNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IGZpeCByZmJkZWNvZGVyIG5ldy9mcmVlIGFzeW1ldHJ5IGFuZCB3cm9uZyBmcmVlIGluIGVycm9yIGNhc2UKCSAgSWYgcmZiX2RlY29kZXJfbmV3KCkgYWxsb2NhdGVzIHRoZSBkZWNvZGVyIHNydWN0dXJlLCByZmJfZGVjb2Rlcl9mcmVlKCkKCSAgc2hvdWxkIGZyZWUgdGhlIHN0cnVjdHVyZS4gV2Ugc2hvdWxkIG5vdCBmcmVlIHRoZSBkZWNvZGVyIHdoZW4gYW4KCSAgZXJyb3Igb2NjdXJzIGR1cmluZyBjb25uZWN0aW9uIC0gaXQgaG9sZHMgbG90cyBvZiBjb25maWd1cmF0aW9uL3N0YXRlCgkgIGFuZCB3aWxsIGJlIGZyZWVkIGxhdGVyIGluIGZpbmFsaXplLgoKMjAxMy0wNS0xMSAwMDoyOTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBtYWtlIGF1dGhlbnRpY2F0aW9uIGhhbmRzaGFrZSBzYWZlIGZvciBtdWx0aXBsZSBpbnN0YW5jZXMKCSAgTW92ZSBERVMga2V5IGludG8gY29udGV4dCBzdHJ1Y3QuCgoyMDEzLTA1LTEwIDIzOjA5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgcmZic3JjOiByZW1vdmUgR1BMLWxpY2Vuc2VkIHNvdXJjZSBmaWxlCgkgIGFuZCByZXBsYWNlIHRoZSAxJSBvZiBpdCB0aGF0IHdlIG5lZWQgd2l0aCBuZXcgY29kZSwgc28gd2UKCSAgZG9uJ3QgaGF2ZSB0byBjaGFuZ2UgdGhlIHJ1bnRpbWUgbGljZW5zZSBvZiByZmJzcmMgdG8gR1BMLgoKMjAxMy0wNS0xMCAwOTo0OTo0NiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiB1c2UgZ2xpYiBnaW8gc29ja2V0cyBmb3IgbmV0d29yayBhY2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzOAoKMjAxMy0wNS0wOSAxNjo0MTozMiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgcmZic3JjOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDM4CgoyMDEzLTA1LTEwIDEyOjQ5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGRlc3Ryb3kgbm90aWZ5IGluc3RlYWQgb2YgYWx3YXlzIGNhbGxpbmcgZWdsVGVybWluYXRlKCkgb24gdGhlIGRpc3BsYXkKCSAgSW4gc29tZSBzY2VuYXJpb3MsIGZvciBleGFtcGxlIGluIFF0V2ViS2l0LCBtaWdodCBiZSBkaWZmaWN1bHQgdG8gb2J0YWluIGZ1bGwKCSAgY29udHJvbCBvbiB0aGUgZWdsIGRpc3BsYXkgYW5kIGl0IG1pZ2h0IGJlIG9ubHkgYWNjZXNzaWJsZSBpbmRpcmVjdGx5IHZpYQoJICBlZ2xHZXRDdXJyZW50RGlzcGxheSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDU4CgoyMDEzLTA1LTEwIDExOjQ4OjQ2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFsbG93IGJlaW5nIHVzZWQgaW4gQysrIGNvZGUKCjIwMTMtMDUtMDggMjM6MTc6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW5hbWUgc3JjIHRlbXBsYXRlIGZyb20gc3JjJWQgdG8gc3JjXyV1CgoyMDEzLTA1LTA4IDE4OjIyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJKiBleHQvZGFzaC9DT1BZSU5HOgoJICBkYXNoOiByZW1vdmUgc3VwZXJmbHVvdXMgZmlsZXMKCSAgQXV0aG9ycyBhbmQgbGljZW5zZSBhcmUgYXQgdGhlIHRvcCBvZiB0aGUgc291cmNlIGZpbGVzCgoyMDEzLTA1LTAyIDE0OjExOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ2xpYiBtdXRleCBBUEkKCjIwMTMtMDQtMjMgMTI6MDg6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgcHJpbnQgZm9ybWF0cwoKMjAxMy0wNS0wOCAxMToxNDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRhc2g6IGVuYWJsZSBpbiBjb25maWd1cmUvbWFrZWZpbGVzCgkgIEl0IHdhcyBpbnRlbnRpb25hbGx5IGRpc2FibGVkIHVwIHRvIHRoaXMgcG9pbnQgdG8gcHJldmVudAoJICBjb21waWxlIGZhaWx1cmVzIGFzIGRhc2hkZW11eCBkZXZlbG9wbWVudCBjb21taXRzIHdlcmUgYWxsIGZvcgoJICAwLjEwIHVwIHRvIGhlcmUKCjIwMTMtMDQtMTggMDc6NDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIGRhc2hkZW11eDogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTEgMDk6MTI6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBhbm90aGVyIHdyb25nIGFzc2VydGlvbgoJICBBbHNvIGFkZHMgYSBjb3VwbGUgbG9nIG1lc3NhZ2VzIGZvciBlYXNpZXIgZGVidWdnaW5nCgoyMDEzLTA0LTEwIDE4OjA5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgd3JvbmcgYXNzZXJ0cwoJICBUaG9zZSBhc3NlcnRzIHNob3VsZCBiZSB0aGUgY29udHJhcnkgdGhhdCB0aGV5IGFyZS4gQW5kIGFsc28KCSAgdGhlIHN1cnJvdW5kIGZ1bmN0aW9ucyBzaG91bGQgYWxyZWFkeSBjaGVjayB0aGF0LiBSZW1vdmluZyB0aGVtLgoKMjAxMy0wMy0xMyAxNTo1NTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG9ubHkgc3RhcnQgdGltZXN0YW1wIGZyb20gMCBmb3IgbGl2ZSBzdHJlYW0KCSAgV2Ugb25seSB3YW50IHRvIGFkanVzdCB0aGUgdGltZXN0YW1wcyBzbyB0aGF0IHRoZXkgc3RhcnQgZnJvbSAwIGZvciBsaXZlCgkgIHN0cmVhbXMuIE5vbi1saXZlIHN0cmVhbXMgYWxyZWFkeSBzdGFydCBmcm9tIDAgYW5kIGFmdGVyIGEgc2VlayB3ZSBhY3R1YWxseSB3YW50CgkgIHRvIHRpbWVzdGFtcCB0byBiZSB0aGUgcG9zaXRpb24gd2Ugc2VlayB0by4KCjIwMTMtMDMtMDggMTU6MDQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbWFrZSB0aW1lc3RhbXBzIHN0YXJ0IGZyb20gMAoJICBOb24tbGl2ZSBzdHJlYW1zIHNob3VsZCB0aW1lc3RhbXAgYnVmZmVycyB3aXRoIGEgcnVubmluZy10aW1lIHN0YXJ0aW5nIGZyb20KCSAgMC4gU2luY2Ugd2UgYWxyZWFkeSBwdXNoIGEgMCAtPiAtMSBzZWdtZW50LCBicmluZyB0aGUgdGltZXN0YW1wcyB0byAwCgkgIGJ5IHN1YnRyYWN0aW5nIHRoZSBpbml0aWFsIHRpbWVzdGFtcC4KCjIwMTMtMDMtMDggMTQ6NTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbHNvIHNlbmQgbmV3c2VnbWVudCBvbiBzdGFydHVwCgoyMDEzLTAzLTA4IDE0OjU3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc21hbGwgY2xlYW51cAoKMjAxMy0wMi0yMiAxNzowMDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbGl2ZSBzdHJlYW0gcGxheWJhY2sgY3Jhc2hmaXgKCjIwMTMtMDItMjIgMTY6NDY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBtcGRwYXJzZXI6IGRvIG5vdCBjbGVhbnVwIHhtbCBsaWIgdG9vIGVhcmx5CgkgIFRoZSB4bWxDbGVhbnVwUGFyc2VyIGZ1bmN0aW9uIHNlZW1zIHRvIGNsZWFudXAgYWxsIHN0YXRpY2FsbHkKCSAgYWxsb2NhdGVkIGxpYnhtbCB2YXJpYWJsZXMsIG1ha2luZyBpdCB1bnVzYWJsZS4gV2UgY2FuJ3QgZ3VhcmFudGVlCgkgIHRoYXQgZGFzaGRlbXV4IHdvbid0IG5lZWQgaXQgYW55bW9yZSwgc28gYmV0dGVyIG5vdCBjYWxsIGl0LgoKMjAxMy0wMi0yMiAxNjo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZWltcGxlbWVudGluZyBsaXZlIHN0cmVhbXMgbWFuaWZlc3QgdXBkYXRlcwoJICBNYW5pZmVzdCB1cGRhdGVzIHNob3VsZCBiZSBkb25lIHBlcmlvZGljYWxseSBmb3IgbGl2ZSBzdHJlYW1zLAoJICB0aGlzIHBhdGNoIG1ha2VzIHRoZSBkZW11eGVyIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdCBjbGllbnQgZm9yCgkgIHRoZSBuZXcgdmVyc2lvbiBhbmQgdHJhbnNmZXJzIHRoZSBzdHJlYW0gcG9zaXRpb24gdG8gdGhlIG5ldwoJICBvbmUsIGRpc2NhcmRpbmcgdGhlIG9sZCBvbmUgYWZ0ZXJ3YXJkcy4KCjIwMTMtMDItMjAgMTI6NDk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBtcGRwYXJzZXI6IGFsbG93IHBlcmlvZHMgd2l0aG91dCBzdGFydCB0aW1lIGZvciBsaXZlIHN0cmVhbXMKCSAgTGl2ZSBzdHJlYW1zIGNhbiBoYXZlIHVuZGVmaW5lZCBzdGFydCB0aW1lcyBmb3IgdGhlIHBlcmlvZHMgYW5kCgkgIG1wZHBhcnNlciBjYW4gbGV0IHRoYXQgcGFzcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dAoKMjAxMy0wMi0xOSAxOTozNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoOiBtcGRwYXJzZXI6IHVzZSBndWludDY0IGZvciB0aW1lc3RhbXBzCgkgIFRoZSB0aW1lc3RhbXBzIGNhbiBiZSBwcmV0dHkgYmlnLCBzbyB1c2UgZ3VpbnQ2NCBmb3IgdGhlbQoKMjAxMy0wMi0xOSAwMToyNjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkIHBhcnNpbmc6IGZpeCBxdWVyeSBwYXJhbWV0ZXIgcGFyc2luZwoJICBUcnkgaGFyZGVyIHRvIGRldGVjdCBVUkwgcGFyYW1ldGVycyBhbmQgc3BsaXQgdGhlbSB0byBhY2NvbW9kYXRlCgkgIHRoZSBmcmFnbWVudCB1cmwgaW4gdGhlIGNvbmNhdDoKCSAgYmFzZS11cmwgKyBmcmFnbWVudC11cmwgKyB1cmwtcGFyYW1ldGVycwoKMjAxMy0wMi0xOCAxNDowMjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBwbHVnIHNvbWUgbGVha3MKCSAgQWRkIHNvbWUgbWlzc2luZyBmcmVlL3VucmVmcyBzcG90dGVkIGJ5IHZhbGdyaW5kCgoyMDEzLTAyLTE4IDE0OjAxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBtdXRleGVzCgoyMDEzLTAyLTE0IDE3OjM5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm9wZXJseSByZXNldCBzdHJlYW0gc3RhdHVzIGFmdGVyIGEgZmx1c2gKCSAgVGhlIHN0cmVhbSBlb3MvZW5kIG9mIHBlcmlvZCBzdGF0dXMgbXVzdCBhbHNvIGJlIHJlc2V0IGFmdGVyIGEgZmx1c2hpbmcKCSAgc2Vlay4gVGhpcyBtYWtlcyBzZWVraW5nIGFmdGVyIEVPUyB3b3JrLgoKMjAxMy0wMi0xMyAwMjoxMzoyMyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBrZWVwIGEgbGlzdCBvZiBzdHJlYW1zIHBlcmlvZHMKCSAgS2VlcCBhIGxpc3Qgb2Ygc3RyZWFtcyBwZXIgcGVyaW9kIHNvIHRoYXQgdGhlIGRvd25sb2FkIGxvb3AgY2FuIGtlZXAKCSAgZG93bmxvYWRpbmcgd2hpbGUgdGhlIHN0cmVhbSBsb29wIGlzIHN0aWxsIHB1c2hpbmcgb2xkIHBlcmlvZCdzIGRhdGEuCgoyMDEzLTAyLTEyIDIyOjU0OjMyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IHBhcnNlIGJhc2UgdXJpIGZyb20gbXBkLgoKMjAxMy0wMi0xMiAyMjo1MzoxNiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdW51c2VkIG1lbWJlcnMuCgoyMDEzLTAyLTEyIDE4OjUwOjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IE9ubHkgc2VuZCBuZXdzZWdtZW50IG9uIHNlZWsuCgoyMDEzLTAyLTA4IDAyOjU1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIHNlZ21lbnRzIHRoYXQgb3ZlcndyaXRlIHByZXZpb3VzIG9uZXMKCSAgVGhpcyBpcyBvbmx5IGRvbmUgZm9yIHNlZWtzLCBzbyBpdCBpcyBmaW5lCgoyMDEzLTAyLTA3IDIxOjU4OjM3IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3dpdGNoIGJpdHJhdGVzIHdpdGhvdXQgc3dpdGNoaW5nIHBhZHMKCjIwMTMtMDItMDcgMTY6MjI6MTMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdW51c3VlZCBtZXRob2QuCgoyMDEzLTAyLTA3IDE0OjA5OjQ0IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogU2V0IHN0cmVhbSBuZWVkX2hlYWRlciBhZnRlciBzZWVrIGFuZCBoYXNfZGF0YV9xdWV1ZWQgdG8gRkFMU0Ugd2hlbiBmbHVzaGluZyBzdHJlYW0uCgoyMDEzLTAyLTA3IDAzOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgcGF1c2Uvc3RhcnQgdGhlIHN0cmVhbSBsb29wIG9uIHBsYXlpbmcvcGF1c2VkIGNoYW5nZXMKCSAgVGhlIGRlbXV4ZXIgc2hvdWxkbid0IGNhcmUgYWJvdXQgcGF1c2VkL3BsYXlpbmcsIGl0IHNob3VsZCBhY3QgdGhlCgkgIHNhbWUgaW4gYm90aCBzdGF0ZXMKCjIwMTMtMDItMDYgMTM6MzE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBwcm9wZXJ0eSB0aGF0IGlzbid0IHVzZWQgYW55bW9yZQoJICBSZW1vdmUgc29tZSBwaWVjZXMgb2YgY29kZSB0aGF0IGFyZSBmcm9tIGFuIG9sZCBwcm9wZXJ0eQoJICB0aGF0IGlzbid0IHVzZWQgYW55bW9yZQoKMjAxMy0wMi0wNSAxNzozODowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJICBkYXNoZGVtdXg6IGFkZCBhIGRvd25sb2FkcmF0ZSB1dGlsaXR5CgkgIEEgc21hbGwgc3RydWN0IHRoYXQga2VlcHMgYSBzaG9ydCBoaXN0b3J5IG9mIGZyYWdtZW50IGRvd25sb2FkIGJpdHJhdGVzCgkgIHRvIGhhdmUgYW4gYXZlcmFnZSBtZWFzdXJlIG9mIE4gbGFzdCBmcmFnbWVudHMgaW5zdGVhZCBvZiB1c2luZyBvbmx5CgkgIHRoZSBsYXN0IGRvd25sb2FkZWQgYml0cmF0ZQoKMjAxMy0wMi0wNSAxNDoyNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3ByaW5rbGluZyBzb21lIG1vcmUgbG9nCgoyMDEzLTAyLTA1IDE0OjIyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogY2hhbmdlIGJpdHJhdGVzIGJhc2VkIG9uIHRoZSBzdHJlYW0gYml0cmF0ZQoJICBEbyBub3QgdXNlIGEgZ2xvYmFsIGJpdHJhdGUgYXMgdGhlIHNpemVzIG9mIHRoZSBmcmFnbWVudHMgbWF0dGVyCgkgIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGRvd25sb2FkIHJhdGUgYXMgdGhlIGNvbm5lY3Rpb24gc2V0dXAgdGltZSBpcwoJICBhbHNvIGJlaW5nIHRha2VuIGludG8gdGhlIGRvd25sb2FkIGR1cmF0aW9uLCBhIHNtYWxsZXIgZnJhZ21lbnQKCSAgd2lsbCBoYXZlIGEgbG93ZXIgYml0cmF0ZSB0aGFuIGEgbGFyZ2VyIG9uZS4KCSAgVGhpcyBhdm9pZHMgc3dpdGNoaW5nIHRoZSBiaXRyYXRlcyBmb3Igc3RyZWFtcyBmcmVxdWVudGx5IGJlY2F1c2UKCSAgb2YgYml0cmF0ZSBtaXNtYXRjaGVzCgoyMDEzLTAyLTA1IDAwOjQ1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciB0byB1c2UgdGhlIHVyaWRvd25sb2FkZXIgbGliIGluc3RlYWQgb2YgaW50ZXJuYWwgY29weQoKMjAxMy0wMi0wNSAwMToyOToyOCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE1ha2Ugc3VyZSBzd2l0Y2hfcGFkcyB3b24ndCBsZWFrIGFueSBwYWQuCgoyMDEzLTAyLTA0IDIyOjU4OjMyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IHN0b3AgZG93bmxvYWQgYW5kIHN0cmVhbSB0YXNrcyB3aGVyZSBhcHByb3ByaWF0ZS4KCjIwMTMtMDItMDEgMDI6MTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGF2b2lkIGFuIGFzc2VydGlvbiB3aGVuIHN0b3BwaW5nIHRoZSBwaXBlbGluZQoJICBBdm9pZHMgYXNzZXJ0aW5nIHdoZW4gZGF0YXF1ZXVlcyBhcmUgc2V0dGluZyB0byBmbHVzaGluZyBkdWUKCSAgdG8gYSBwaXBlbGluZSBzdG9wIGR1cmluZyBhIHBhZCBzd2l0Y2guCgoyMDEzLTAyLTAxIDAyOjEwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBkb3dubG9hZCB0aGUgbmV4dCBmcmFnbWVudCB3aXRoIHNtYWxsZXIgdGltZXN0YW1wCgkgIEluc3RlYWQgb2YgZG93bmxvYWRpbmcgMSBmcmFnbWVudCBwZXIgc3RyZWFtIHBlciBkb3dubG9hZCBsb29wLAoJICBzZWxlY3QgdGhlIHN0cmVhbSB3aXRoIHRoZSBlYXJsaWVyIHRpbWVzdGFtcCBhbmQgZ2V0IGEgZnJhZ21lbnQKCSAgb25seSBmb3IgdGhhdCBvbmUuCgkgIFRoZSBvbGQgYWxnb3JpdGhtIHdvdWxkIGxlYWQgdG8gcHJvYmxlbXMgd2hlbiB0aGUgZnJhZ21lbnQgZHVyYXRpb25zCgkgIHdlcmUgdG9vIGRpZmZlcmVudCBmb3Igc3RyZWFtcy4KCjIwMTMtMDItMDEgMDA6Mzc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB0cmFjayBzZWdtZW50cyBpbiB0aGUgZGVtdXhlcgoJICBVc2UgYSBHc3RTZWdtZW50IHRvIHRyYWNrIHRoZSBjdXJyZW50IHNlZ21lbnQgaW5mb3JtYXRpb24gaW4gdGhlCgkgIGRlbXV4ZXIuCgoyMDEzLTAyLTAxIDAwOjMzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGJ1ZmZlcmluZyBtZXNzYWdlIGVtaXNzaW9uIGZyb20gZGFzaGRlbXV4CgkgIGRhc2hkZW11eCBzaG91bGRuJ3QgZW1pdCB0aGUgYnVmZmVyaW5nIG1lc3NhZ2UgYXMgdGhhdCBjYW4gcGF1c2UKCSAgdGhlIHBpcGVsaW5lLiBJdCBoYXMgbm8gcHJvcGVyIGtub3dsZWRnZSBvZiB0aGUgZG93bnN0cmVhbSBidWZmZXJpbmcKCSAgc3RhdHVzIHNvIGl0IGNhbiBwYXVzZSB0aGUgcGlwZWxpbmUgd2hlbiBpdCBpc24ndCBuZWNlc3NhcnkuIEl0IHNob3VsZAoJICBoYXZlIGFuIGludGVybmFsIGJ1ZmZlciBmb3IgZG93bmxvYWRpbmcgdGhlIHN0cmVhbXMgYWhlYWQgb2YgcGxheWJhY2ssCgkgIGJ1dCB0aGF0IHNob3VsZG4ndCBtYWtlIGl0IGFibGUgdG8gc3RvcCB0aGUgcGlwZWxpbmUgZm9yIGJ1ZmZlcmluZy4KCSAgQSBwYXJ0aWN1bGFyIGNhc2UgaW4gd2hpY2ggdGhpcyBpcyBiYWQgaXMgd2hlbiBhIHBhZCBzd2l0Y2ggaGFwcGVucwoJICAoY2hhbmdpbmcgYml0cmF0ZXMgZm9yIGV4YW1wbGUpLCB0aGUgbmV3IHBhZHMgZGFzaGRlbXV4IGNyZWF0ZXMKCSAgd2lsbCBnZXQgbGlua2VkIHRvIGRlbXV4ZXJzIGFuZCBuZXcgcXVldWVzIHdpbGwgYmUgY3JlYXRlZCwKCSAgdGhlc2UgcXVldWVzIGFyZSBpbml0aWFsbHkgZW1wdHkgYW5kIGRhc2hkZW11eCB3aWxsIHF1aWNrbHkKCSAgZHJhaW4gaXRzIGJ1ZmZlcnMgYnkgcHVzaGluZyB0aGVtIHRvIHRob3NlIHF1ZXVlcy4gU28gaXQKCSAgd291bGQgaGF2ZSBubyBtb3JlIGJ1ZmZlcnMgaW50ZXJuYWxseSBhbmQgd291bGQgZW1pdCBhCgkgIGJ1ZmZlcmluZyBtZXNzYWdlIHdpdGggYSBsb3cgcmF0aW8sIGNhdXNpbmcgdGhlIHBpcGVsaW5lCgkgIHRvIHBhdXNlIHdoZW4gaXQgd291bGRuJ3QgYmUgbmVjZXNzYXJ5LgoKMjAxMy0wMS0zMCAxNzozMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92aW5nIHVudXNlZCBjb2RlCgkgIENsZWFuaW5nIHVwIGJ5IHJlbW92aW5nIHVudXNlZCBjb2RlIGFuZCB2YXJpYWJsZXMKCjIwMTMtMDEtMzAgMTc6Mjc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZS1lbmFibGUgYW5kIGZpeCBhZGFwdGl2ZSBzd2l0Y2hpbmcKCSAgSXQgaXMgc3RpbGwgdW5zdGFibGUsIGJ1dCBhdCBsZWFzdCBpdCB3b3JrcyB3aGVuIHRoZSBzd2l0Y2hlcyBhcmVuJ3QKCSAgaGFwcGVuaW5nIGFmdGVyIGV2ZXJ5IGZyYWdtZW50CgoyMDEzLTAxLTI5IDE1OjU4OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0bHkgc2lnbmFsIEVPUyBvbiBtYW5pZmVzdCBlbmQKCSAgUHV0IEVPUyBvbiB0aGUgc3RyZWFtcyBxdWV1ZXMgYWZ0ZXIgdGhlIGxhc3QgZnJhZ21lbnQgZnJvbSB0aGUKCSAgbGFzdCBwZXJpb2QgZm9yIGVhY2ggc3RyZWFtLiBUaGlzIHdheSB3ZSBrZWVwIGl0IHNlcmlhbGl6ZWQKCSAgd2l0aCB0aGUgYnVmZmVycyBhbmQgaXQgd2lsbCB3b3JrIHdoZW4gc3RyZWFtcyBoYXZlIGRpZmZlcmVudAoJICBlbmRpbmcgdGltZXMKCjIwMTMtMDEtMjkgMTM6MDg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRldGVjdCBlbmQtb2YtcGVyaW9kIGNvcnJlY3RseQoJICBEZXRlY3QgZW5kIG9mIHBlcmlvZCB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIGJ1ZmZlcnMgb24gYW55IG9mIHRoZQoJICBzdHJlYW1zCgoyMDEzLTAxLTI5IDEzOjA0OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVc2UgdGhlIHNtYWxsZXN0IHF1ZXVlIHZhbHVlIHRvIGRlZmluZSBidWZmZXJpbmcgc3RhdGUKCSAgVGhlIHNtYWxsZXN0IHF1ZXVlIHNob3VsZCBiZSB1c2VkIHRvIHByZXZlbnQgYmxvY2tpbmcgdGhlIGRvd25sb2FkCgkgIHRocmVhZCB3aGVuIGEgc3RyZWFtIGhhcyB0b28gbXVjaCBkYXRhIGJ1ZmZlcmVkLCBsZWF2aW5nIHRoZSBvdGhlcgoJICBzdHJlYW1zIHN0YXJ2aW5nIGZyb20gZnJhZ21lbnRzCgoyMDEzLTAxLTI5IDExOjIyOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZml4IHBhcnNpbmcgb2Ygc3RyZWFtcyB0byBnZXQgY29ycmVjdCBmcmFnbWVudCBkdXJhdGlvbnMKCSAgVXNlIHRoZSBjdXJyZW50IHN0cmVhbSBiYXNlIHRpbWUgaW5zdGVhZCBvZiB0aGUgMHRoIHN0cmVhbSBiYXNlIHRpbWUKCSAgdG8gZ2V0IGRlZmF1bHQgZHVyYXRpb24gZm9yIGZyYWdtZW50cy4KCjIwMTMtMDEtMjkgMDE6MDY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgaW5zdGVhZCBvZiBidXN5IHdhaXQKCSAgTWFrZSB0aGUgc3RyZWFtaW5nIGxvb3AgYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyBvbiB0aGUgcXVldWVzIGluc3RlYWQKCSAgb2YgYnVzeSB3YWl0aW5nIGVhdGluZyBjcHUgY29udGludW91c2x5IG9uIGEgcXVldWUgbGVuZ3RoIGNoZWNrCgoyMDEzLTAxLTI4IDE5OjQzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCBzZWVraW5nIG9uIG11bHRpcGxlIHN0cmVhbXMKCSAgRWFjaCBzdHJlYW0gaGFzIGl0cyBvd24gZHVyYXRpb25zIGFuZCB0aW1lc3RhbXBzLCB0aGUgZnJhZ21lbnQgbnVtYmVyCgkgIGlzIGRpZmZlcmVudCBmb3IgZWFjaCBzdHJlYW0gd2hlbiBzZWVraW5nLCBzbyB0aGUgc2VlayBoYXMgdG8gYmUgZG9uZQoJICBmb3IgYWxsIHN0cmVhbXMsIHJhdGhlciB0aGFuIG9uIGEgc2luZ2xlIHN0cmVhbSBhbmQgcHJvcGFnYXRlZCB0bwoJICBvdGhlcnMKCjIwMTMtMDEtMjggMTg6NTI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogUmVwbGFjZSBHUXVldWUgYnkgR3N0RGF0YVF1ZXVlCgkgIEdzdERhdGFRdWV1ZSBoYXMgcHJvcGVyIGxvY2tpbmcgYW5kIHByb3ZpZGVzIGZ1bmN0aW9ucyB0byBsaW1pdCB0aGUKCSAgc2l6ZSBvZiB0aGUgcXVldWUuIEFsc28gaGFzIGJsb2NraW5nIGNhbGxzIHRoYXQgYXJlIHVzZWZ1bCB0bwoJICBvdXIgbXVsdGl0aHJlYWQgc2NlbmFyaW8gaW4gRGFzaC4KCjIwMTMtMDEtMjggMTI6Mjg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtb3ZlIHRoZSBidWZmZXJzIHF1ZXVlcyB0byB0aGUgc3RyZWFtcwoJICBTdG9yZSB0aGUgYnVmZmVycyBzZXBhcmF0ZWx5IGZvciBlYWNoIHN0cmVhbSwgdGhpcyBpcyBjbGVhcmVyIHRoYW4KCSAgaGF2aW5nIGEgcXVldWUgd2l0aCBhIGxpc3Qgb2YgYnVmZmVycy4gSXQgYWxzbyBhbGxvd3MgZWFzaWVyIHNlbGVjdGlvbgoJICBvZiBidWZmZXJzIHRvIHB1c2ggaW4gbGF0ZXIgcmVmYWN0b3JzCgoyMDEzLTAxLTI4IDEwOjQ2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3Igc3RyZWFtcyBkYXRhIHRvIGl0cyBvd24gc3RydWN0CgkgIEtlZXBzIGNvZGUgbW9yZSBvcmdhbml6ZWQgYW5kIHNpbWlsYXIgdG8gd2hhdCBvdGhlciBkZW11eGVycwoJICB1c3VhbGx5IGRvCgoyMDEzLTAxLTI1IDEzOjA0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZG8gbm90IHRyeSB0byBwcmludCBhIHBvaW50ZXIgYXMgYSBzdHJpbmcKCjIwMTMtMDEtMjUgMTI6NDU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdGltaW5nIGNvZGUgdGhhdCBkZWxheXMgcHVzaGluZyBvZiBmcmFnbWVudHMKCSAgRnJhZ21lbnRzIHNob3VsZCBiZSBwdXNoZWQgQVNBUCBhcyBkb3duc3RyZWFtIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3IKCSAgZG9pbmcgdGhlIHN5bmNyaG9uaXphdGlvbiBhbmQgcHJvcGVyIGJ1ZmZlcmluZy4KCSAgVGhpcyBoYXMgdGhlIGdyZWF0IHNpZGUgZWZmZWN0IG9mIGZpeGluZyBtb3N0IG9mIHRoZSBzZWVraW5nIEEvViBzeW5jIGlzc3Vlcy4KCjIwMTMtMDEtMjUgMDk6MzY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgZGFzaDogZml4aW5nIGJ1aWxkIHdhcm5pbmdzCgkgIEFsc28gcnVubmluZyB0aHJvdWdoIGdzdC1pbmRlbnQKCjIwMTMtMDEtMjMgMTY6NDM6MTIgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBnc3RkYXNoZGVtdXg6IGFkZCBuZWVkX2hlYWRlciBtZW1iZXIgdG8ga25vdyB3aGV0aGVyIHRoZSBpbml0aWFsaXphdGlvbiBmcmFnbWVudCBzaG91bGQgYmUgcHVzaGVkCgoyMDEzLTAxLTIzIDEzOjIwOjI1IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBkb24ndCB3YWl0IGZvciB0aGUgd2hvbGUgZHVyYXRpb24gb2YgYSBmcmFnbWVudCB3aGVuIHNlZWtpbmcKCjIwMTMtMDEtMjMgMTM6MTk6MjEgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3dpdGNoIHBhZHMgYW5kIHNlbmQgaGVhZGVyIGZpbGUgd2hlbiBhIG5ld3NlZ21lbnQgZXZlbnQgaXMgc2VudAoKMjAxMy0wMS0xNiAxMzo1ODo1MiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHZhcmlvdXMgZml4ZXMKCjIwMTItMTItMjAgMDk6MDQ6MjggKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTEyLTE4IDExOjIxOjIyICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIFJlcGxhY2VkIFVSTCBwb2ludGluZyB0byBvYnNvbGV0ZSBLbGFnZW5mdXJ0IE1QRCBieSBhIG5ldyBvbmUKCjIwMTItMTItMTcgMTU6NDY6MzIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXggZXNjYXBlIHNlcXVlbmNlIGluIFVSTCB0ZW1wbGF0ZSByZXNvbHZpbmcKCjIwMTItMTItMTcgMTU6Mzk6MTAgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGRvIG5vdCBzd2l0Y2ggcGFkcyB3aGVuIGJpdHN0cmVhbVN3aXRjaGluZyA9IHRydWUKCjIwMTItMTItMTcgMTU6MTk6MzMgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvbXBsZXRlIHN1cHBvcnQgZm9yIG1hbmlmZXN0IGZpbGUgdXBkYXRlcwoKMjAxMi0xMi0xNyAxNToxMjo1OCArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIG1hbmlmZXN0IGZpbGUgdXBkYXRlcwoJICAtIHRoZSBNUEQgZmlsZSBpcyB1cGRhdGVkIGluIHRoZSBkb3dubG9hZCBsb29wIChvbmx5IGlmIHdlIGhhdmUgYSAiZHluYW1pYyIgTVBEIGFuZCBtaW5pbXVtVXBkYXRlUGVyaW9kIGlzIHZhbGlkKTsKCSAgLSBwcm9wZXJseSBMT0NLL1VOTE9DSyB0aGUgR3N0TXBkQ2xpZW50OwoKMjAxMi0xMi0xNyAxNTowNDo0NSArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbmV3IEFQSSB0byBzZXQvZ2V0IHNlZ21lbnQgaW5kZXggYW5kIHBlcmlvZCBpbmRleAoJICBUT0RPOiByZXdvcmsgc2VnbWVudCBzZWxlY3Rpb24gdG8gc3VwcG9ydCBSZXByZXNlbnRhdGlvbnMgb3IgQWRhcHRhdGlvbiBTZXRzIHdpdGggc2VnbWVudHMgbm90IGFsaWduZWQKCjIwMTItMTItMTcgMTU6MDA6NTIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG5ldyBBUEkgdG8gbG9hZCB0aGUgc3RyZWFtIFBlcmlvZCB3aXRoIGEgZ2l2ZW4gaW5kZXgKCSAgdGhpcyBhdm9pZHMgdG8gZmlkZGxlIHdpdGggc3RyZWFtIGludGVybmFscyBpbiB0aGUgY29kZQoKMjAxMi0xMi0xNyAxNDo1NDo0MiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGFjcm9zcyBQZXJpb2RzCgoyMDEyLTExLTIxIDE0OjE0OjM0ICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTExLTIxIDE0OjE0OjIxICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQnkgZGVmYXVsdCwgZG8gbm90IGZvcndhcmQgcGFkIHF1ZXJpZXMgdXBzdHJlYW0sIGJlY2F1c2UgaXQgbWF5IGhhdmUgdW5mb3Jlc3NlbiBzaWRlLWVmZmVjdHMgKGZvcndhcmRpbmcgdGhlIG5ldyAxLjAgR1NUX0NBUFMgcXVlcnkgd291bGQgcHJldmVudCBwYWQgbGlua2luZyBmb3IgaW5zdGFuY2UpCgoyMDEyLTExLTEyIDEwOjU0OjM1ICswMTAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBwbHVnaW46IHJlZ2lzdGVyIGFzIGRhc2hkZW11eCBpbnN0ZWFkIG9mIGZyYWdtZW50ZWQKCSAgVGhpcyBmaXhlcyBjb25mbGljdHMgd2l0aCB0aGUgSExTIHBsdWdpbiwgd2hpY2ggaXMgYWxzbyBuYW1lZAoJICBmcmFnbWVudGVkLgoJICBXaGVuIGJ1aWxkaW5nIGl0cyByZWdpc3RyeSwgZ3N0cmVhbWVyIHdhcyBwaWNraW5nIG9uZSBvciB0aGUgb3RoZXIKCSAgYmV0d2VlbiBobHMgYW5kIGRhc2hkZW11eC4KCjIwMTItMTAtMjUgMTc6NTU6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjaGVjayBpZiB3ZSBoYXZlIHJlY2VpdmVkIHRoZSBNUEQgZmlsZSBpbiB0aGUgcHJvcGVyIHdheQoKMjAxMi0xMC0yNSAxNzo1Mzo1MyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHNpbGVuY2Ugd2FybmluZwoKMjAxMi0xMC0yNSAxNzoxNTowOSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggcHJpbnRpbmcgYnVmZmVyaW5nIHRpbWUgYW5kIGRvd25sb2FkIHJhdGUvc2l6ZQoJICBUaGlzIHdhcyBicm9rZW4gb24gYXJtdjcuCgoyMDEyLTEwLTI1IDE3OjE3OjM1ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB1bnVzZWQtYnV0LXNldCB2YXJpYWJsZQoKMjAxMi0xMC0yNSAxNjo0OToyMSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgbmV3IGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIEFQSQoJICBUaGlzIGZpeGVzIGJ1aWxkIHRoYXQgaGFzIGJlZW4gYnJva2VuIGJ5IGNvbW1pdAoJICBmYjlhZWFjNjU1MjAyMWIxNzZhNGM0YmQwNzI2NWUwMmEwYjcwZTBmLgoJICBnc3RfbXBkX2NsaWVudF9nZXRfdGFyZ2V0X2R1cmF0aW9uIGhhcyBiZWVuIHJlbW92ZWQsIGFuZAoJICBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgoKMjAxMi0xMC0yNCAxNzoyODo0MCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBGSVhNRSBjb21tZW50CgkgIHBhZCBzd2l0Y2hpbmcgYWNyb3NzIG11bHRpcGxlIHBlcmlvZHMgd29ya3MgcGVyZmVjdGx5IGZpbmUgbm93CgkgIGFuZCBpdCBpcyBkb25lIG9ubHkgd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgQ0FQUwoKMjAxMi0xMC0yNCAxNjo1NToyMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgbmV3LXNlZ21lbnQgZXZlbnRzIHRvIGFsbCBwYWRzCgoyMDEyLTEwLTI0IDE2OjMwOjAxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCB0aGUgQVBJIHRvIHJldHJpZXZlIGZyYWdtZW50IHRpbWVzdGFtcCwgZnJhZ21lbnQgZHVyYXRpb24gYW5kIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbgoJICBUaGlzIHdhcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCB2YXJpYWJsZS1kdXJhdGlvbiBGcmFnbWVudHMuCgkgIGluIHRoZSBuZXcgQVBJOgoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9jdXJyZW50X3Bvc2l0aW9uIHJldHVybnMgdGhlIHRpbWVzdGFtcCBvZiB0aGUgTkVYVCBmcmFnbWVudCB0byBkb3dubG9hZDsKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiByZXR1cm5zIHRoZSBkdXJhdGlvbiBvZiB0aGUgbmV4dCBmcmFnbWVudCB0byBkb3dubG9hZDsKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfbWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uIHJldHVybnMgdGhlIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gZnJvbSB0aGUgTVBEIGZpbGU7CgkgIGFsc28gdGhlcmUgaXMgYSBuZXcgaW50ZXJuYWwgcGFyc2VyIGZ1bmN0aW9uOgoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9zZWdtZW50X2R1cmF0aW9uIGV4dHJhY3RzIHRoZSBjb25zdGFudCBzZWdtZW50IGR1cmF0aW9uIGZyb20gdGhlIE1QRCBmaWxlCgkgIChvbmx5IHVzZWQgd2hlbiB0aGVyZSBpcyBubyBTZWdtZW50VGltZWxpbmUgc3ludGF4IGVsZW1lbnQgaW4gdGhlIGN1cnJlbnQgcmVwcmVzZW50YXRpb24pCgkgIEluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50LCB3ZSBzZXQgdGhlIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiB0aGUgZnJhZ21lbnQganVzdCBkb3dubG9hZGVkCgkgIGNvcHlpbmcgdGhlIHZhbHVlcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIEdzdE1lZGlhU2VnbWVudC4KCSAgVE9ETzogcmV3b3JrIFNFRUtJTkcgdG8gc3VwcG9ydCBzZWVraW5nIGFjcm9zcyBkaWZmZXJlbnQgUGVyaW9kcy4KCjIwMTItMTAtMjQgMTQ6NTA6NTQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgZWZmZWN0aXZlIHNlZ21lbnQgZHVyYXRpb24gdG8gcmVzY2hlZHVsZSB0aGUgc3RyZWFtaW5nIHRhc2sKCSAgZG8gbm90IGFzc3VtZSBzZWdtZW50IGR1cmF0aW9uIGlzIGNvbnN0YW50CgkgIENvbmZsaWN0czoKCSAgZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmMKCjIwMTItMTAtMjQgMTQ6MjQ6MDUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCBnc3RfZGFzaF9kZW11eF9nZXRfYnVmZmVyaW5nX3RpbWUoKSB0byByZXR1cm4gdGhlIGVmZmVjdGl2ZSBidWZmZXJpbmcgdGltZQoJICBkbyBub3QgYXNzdW1lIHRoZSBGcmFnbWVudCBkdXJhdGlvbiBpcyBjb25zdGFudAoKMjAxMi0xMC0yNCAxMTo0OTo1MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvbXBsZXRlIHN1cHBvcnQgZm9yIE1lZGlhIFByZXNlbnRhdGlvbnMgd2l0aCBzZXZlcmFsIFBlcmlvZHMKCSAgLSBQZXJpb2RzIGFyZSBwbGF5ZWQgaW4gc2VxdWVuY2UsIGZyb20gUGVyaW9kU3RhcnQgdG8gUGVyaW9kRW5kCgkgIC0gc2VhbWxlc3Mgc3dpdGNoaW5nIGZyb20gb25lIFBlcmlvZCB0byB0aGUgbmV4dCBvbmUgd29ya3MgZmluZTsKCSAgLSB0aGUgJ25ldy1zZWdtZW50JyBnZW5lcmF0aW9uIGlzIGJyb2tlbiwgc28gaWYgd2UgbmVlZCB0byBzd2l0Y2ggcGFkcyBmb3IgYSBuZXcgUGVyaW9kIHRoZXJlIGlzIGEgY3Jhc2g7CgoyMDEyLTEwLTIyIDE4OjEyOjMwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBpbml0aWFsIHN1cHBvcnQgZm9yIE1lZGlhIFByZXNlbnRhdGlvbnMgbWFkZSBvZiBzZXZlcmFsIFBlcmlvZHMKCSAgLSBidWlsZCBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBQZXJpb2RzIHdpdGggdGhlaXIgc3RhcnQgYW5kIGR1cmF0aW9uIHRpbWUKCSAgLSBhZGQgdGhlIGxpc3Qgb2YgR3N0U3RyZWFtUGVyaW9kIGluIHRoZSBHc3RNcGRDbGllbnQgZGF0YSBzdHJ1Y3QKCSAgLSByZW1vdmUgY3VyX3BlcmlvZCBmcm9tIEdzdE1wZENsaWVudCBhbmQgaW50cm9kdWNlIGFuIEFQSSB0byBnZXQgdGhlIGN1cnJlbnQgR3N0U3RyZWFtUGVyaW9kCgkgIC0gc2V2ZXJhbCBBUEkgY2xlYW4tdXBzCgoyMDEyLTEwLTI0IDE4OjEwOjQ3ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgQmFzZVVSTCBmb3IgU2VnbWVudFVSTCB1c2luZyBtZWRpYVJhbmdlCgkgIFRoaXMgaXMgdXNlZCBpbiBiaWdfYnVja19idW5ueV9DYXBwZWRWQlJfTXVsdGlyYXRlXzRzXzBfQXVkaW9WaWRlb19NYWluUHJvZmlsZS5tcGQKCjIwMTItMTAtMjQgMTg6MDQ6MDcgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZmFjdG9yaXplIGFkZGluZyByYW5nZSBwYXJhbWV0ZXIgdG8gVVJMCgoyMDEyLTEwLTE5IDIwOjEyOjA5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCBjYXBzIGRldGVjdGlvbgoJICBhbHNvIHJld29ya2VkIHRoZSBBUEkgdG8gZXh0cmFjdCBhdWRpby92aWRlbyBwYXJhbWV0ZXJzIGZyb20gdGhlIG1hbmlmZXN0IGZpbGUKCSAgKG1pbWVUeXBlLCB3aWR0aCwgaGVpZ2h0LCByYXRlLCBudW0gY2hhbm5lbHMpCgoyMDEyLTEwLTE5IDE5OjAzOjQxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBzZW5kIGJvZ3VzIGR1cmF0aW9uIG1lc3NhZ2VzIHdoZW4gbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBpcyB1bmtub3duCgoyMDEyLTEwLTE5IDE4OjQ1OjMwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBTZWdtZW50VGltZWxpbmUgc3ludGF4IGFsc28gZm9yIGxpc3QtYmFzZWQgbWVkaWEgc2VnbWVudCBnZW5lcmF0aW9uCgoyMDEyLTEwLTE5IDE3OjQ3OjUxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZCBzdXBwb3J0IGZvciBTZWdtZW50VGltZWxpbmUgc3ludGF4IGVsZW1lbnRzCgkgIGJ1aWxkIHRoZSBsaXN0IG9mIHNlZ21lbnRzIHRvIGJlIHBsYXllZCB1c2luZyB0aGUgU2VnbWVudFRpbWVsaW5lIHN5bnRheCwgaWYgcHJlc2VudAoJICBidWdmaXhlczoKCSAgLSBmb3IgZHluYW1pYyBNUEQgZmlsZXMsIHdoZW4gbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBpcyBub3QgcHJlc2VudCB1c2UgbWluaW11bVVwZGF0ZVBlcmlvZCBpbnN0ZWFkCgkgIC0gZG8gbm90IGFkZCBhIHNwdXJpb3VzICckJyB3aGVuIGJ1aWxkaW5nIGFuIFVSTCBmcm9tIGEgdGVtcGxhdGUgbGlrZSAiJEJhbmR3aWR0aCQvaW5pdC5tcDR2IgoJICAtIGludHJvZHVjZSBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCgpIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24KCjIwMTItMTAtMTkgMTU6NDI6NTEgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCB3cm9uZyBpbmRleCBpbiBmcmFnbWVudHMKCjIwMTItMTAtMTkgMTI6MDE6MDMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9zZXQoKQoJICB3ZSBoYXZlIHRvIGZyZWUgbmV4dF9mcmFnbWVudF91cmkKCjIwMTItMTAtMTkgMTA6NTA6MTYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIHVudXNlZCBmdW5jdGlvbgoKMjAxMi0xMC0xOSAxMDo0Mzo0OSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFNlZWsgZXZlbnQgaGFuZGxpbmcgY2xlYW51cAoKMjAxMi0xMC0xOCAxODo0OTo1MyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggcGxheWluZyBvZiBzaW5nbGUtc2VnbWVudCBtZWRpYSBzdHJlYW1zCgkgIG90aGVyIGZpeGVzOgoJICAtIGZpeGVkIGEgYnVmZmVyaW5nIGJ1Zzogbm93IHdlIHN0b3AgYnVmZmVyaW5nIHdoZW4gd2UgcmVhY2ggdGhlIGVuZCBvZiBtYW5pZmVzdAoJICAtIG5vdyBnc3RfbXBkX2NsaWVudF9nZXRfdGFyZ2V0X2R1cmF0aW9uKCkgYWx3YXlzIHJldHVybnMgYSB2YWxpZCBkdXJhdGlvbgoJICAoaW4gY2FzZSBvZiBzaW5nbGUtc2VnbWVudCBzdHJlYW1zLCB3ZSByZXR1cm4gZWl0aGVyIFBlcmlvZCBkdXJhdGlvbiBvciBtZWRpYVByZXNlbnRhdGlvbiBkdXJhdGlvbikKCSAgVE9ETzogc3VwcG9ydCBTZWdtZW50VGltZWxpbmUKCjIwMTItMTAtMTcgMTg6NDY6MjIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IGRlbGV0ZWQgdXNlbGVzcyBkZWNsYXJhdGlvbiBvZiBnc3RfdXJpX2Rvd25sb2FkZXJfZnJlZSgpCgoyMDEyLTEwLTE3IDE4OjQ1OjI1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiB3aGVuIHBvc3NpYmxlLCByZXVzZSBleGlzdGluZyBlbGVtZW50IHRvIGRvd25sb2FkIGEgbmV3IFVSSQoJICBwcmV2aW91c2x5IGEgbmV3IGVsZW1lbnQgd2FzIGFsbG9jYXRlZCBmb3IgZWFjaCBtZWRpYSBzZWdtZW50LCBhbmQgaXQgd2FzIG5ldmVyIGZyZWVkCgoyMDEyLTEwLTE3IDE4OjQzOjI2ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdW5yZWYgY2FwcyBpbiBmdW5jdGlvbiBuZWVkX2FkZF9oZWFkZXIoKQoKMjAxMi0xMC0xNyAxODo0MjowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBleHRyYWN0aW9uIG9mIFNlZ21lbnRUZW1wbGF0ZS0+aW5pdGlhbGl6YXRpb24gaW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfaGVhZGVyKCkKCSAgbm93IHRoZSBmb2xsb3dpbmcgTVBEIGZpbGVzIGFyZSBwcm9wZXJseSBzdXBwb3J0ZWQ6CgkgIGh0dHA6Ly9kYXNoLmVkZ2VzdWl0ZS5uZXQvYWRvYmUvaGR3b3JsZF9kYXNoL0hEV29ybGQtMTYwMC5tcGQKCSAgaHR0cDovL2Rhc2guZWRnZXN1aXRlLm5ldC9hZG9iZS9oZHdvcmxkX2Rhc2gvSERXb3JsZC5tcGQKCjIwMTItMTAtMTcgMTg6NDA6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfZ2V0X25leHRfaGVhZGVyKCkKCjIwMTItMTAtMTcgMTU6NTI6MTkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBXZSBub3cgb25seSBhY2NlcHQgYWN0dWFsIG1hbmlmZXN0IGZpbGVzLCBhbmQgbm90IGFueSBYTUwgZmlsZQoKMjAxMi0xMC0xNyAxNTo1MDozMyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBBZGRlZCBhIHR5cGVmaW5kIGhlbHBlciBmb3IgREFTSDogdGhpcyBjb21taXQgc2hvdWxkIGJlIHJldmVydGVkIGFzIHNvb24gYXMgYSBwcm9wZXIgcGF0Y2ggaGFzIGJlZW4gc3VibWl0dGVkIHRvIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTItMTAtMTcgMTA6MDI6MzkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCBzdGF0ZSBtYWNoaW5lIChhZ2FpbikKCjIwMTItMTAtMTYgMTY6NDY6MTcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb2RlIHJlZmFjdG9yaW5nCgoyMDEyLTEwLTE2IDE2OjM0OjEwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgc3RhdGUgbWFjaGluZQoKMjAxMi0xMC0xNiAxMzo0MzozOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBJbXByb3ZlIGNvbnNpc3RlbmN5IG9mIHRoZSB0YXNrcyBzaHV0ZG93biBjb2RlCgoyMDEyLTEwLTE2IDEyOjUxOjQ0ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkZWQgbWlzc2luZyBnX2xpc3RfZnJlZQoKMjAxMi0xMC0xNiAxMTo0NDoyNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvIG5vdCBhbnN3ZXIgdG8gVVJJIHF1ZXJpZXMKCjIwMTItMTAtMTYgMTE6Mzk6MTggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBUcnkgcXVlcmllcyB1cHN0cmVhbSBpZiB3ZSBjYW5ub3QgcHJvY2VzcyB0aGVtCgoyMDEyLTEwLTE2IDExOjI2OjAzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlbmFtZWQgZGVtdXgtPm5leHRfc3RyZWFtIGluIGRlbXV4LT5uZXh0X3B1c2gKCjIwMTItMTAtMTYgMTE6MjM6MjYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBJbmxpbmVkIG9uZS1saW5lIHV0aWxpdHkgZnVuY2l0b24gdGhhdCB3YXMgY2FsbGVkIG9ubHkgb25jZQoKMjAxMi0xMC0xNiAwOToxMDowMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHJlZ3Jlc3Npb24gYWZ0ZXIgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgbXVsdGktc2NyZWVuIHN1cHBvcnQsIHByZXZlbnRpbmcgdGhlIHBpcGVsaW5lIGZyb20gc3RvcHBpbmcgcHJvcGVybHkKCjIwMTItMTAtMTUgMTY6NDE6MjggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBNb2RpZmllZCBsb2cgbGV2ZWwgb2Ygc2h1dGRvd24gbWVzc2FnZQoKMjAxMi0xMC0xNSAxNTowODo1MyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRzOiBXZSBkb24ndCBzZWxlY3QgYSBzaW5nbGUgcmVwcmVzZW50YXRpb24sIGJ1dCBhIHJlcHJlc2VudGF0aW9uIGZvciBlYWNoIHN0cmVhbSBDb2RlOiBjbGVhbnVwIG9mIGdzdF9nZXRfbmV4dF9mcmFnbWVudCAoYWxzbyByZW5hbWVkIGluIGdzdF9nZXRfbmV4dF9mcmFnbWVudF9zZXQpCgoyMDEyLTEwLTE1IDE0OjI1OjI3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCBkZWJ1ZyB0cmFjZQoKMjAxMi0xMC0xNSAxNDoxNDo1MyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZGVkIGludHJvZHVjdGlvbiBhbmQgZ2VuZXJhbCBkZXNpZ24gbm90ZXMKCjIwMTItMTAtMTUgMTM6NTQ6MTcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCB3cm9uZyBjb21tZW50CgoyMDEyLTEwLTE1IDEzOjUyOjMxICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG9jdW1lbnRlZCBnc3RfZGFzaF9kZW11eF9kb3dubG9hZF9sb29wCgoyMDEyLTEwLTE1IDEzOjM1OjE1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudGVkIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV9sb29wCgoyMDEyLTEwLTE1IDEzOjE3OjEyICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudGVkIG5lZWRzX3BhZF9zd2l0Y2gKCjIwMTItMTAtMTUgMTM6MDk6NDkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEb2N1bWVudGVkIHRoZSByZXByZXNlbnRhdGlvbiBzd2l0Y2ggbWVjaGFuaXNtCgoyMDEyLTEwLTE1IDExOjQwOjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlcGxhY2VkIHJlZmVyZW5jZXMgdG8gcGxheWxpc3QgKEhMUykgYnkgcmVmZXJlbmNlcyB0byBtYW5pZmVzdCAoREFTSCkKCjIwMTItMTAtMTUgMTE6MzM6NTggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW5hbWVkIGdzdF9kYXNoX2RlbXV4X3N3aXRjaF9wbGF5bGlzdCB0byBnc3RfZGFzaF9kZW11eF9zZWxlY3RfcmVwcmVzZW50YXRpb24gYW5kIGFkZGVkIGNvbW1lbnRzCgoyMDEyLTEwLTE1IDExOjE5OjI5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCBvYnNvbGV0ZSBjb21tZW50CgoyMDEyLTEwLTE1IDExOjE4OjI1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTEwLTExIDEyOjU0OjUwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIFVwZGF0ZWQgUkVBRE1FCgoyMDEyLTEwLTA5IDEzOjI0OjIzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBNUEQgZmlsZXMgd2l0aCBTZWdtZW50QmFzZSBlbGVtZW50cyBlbmNvZGVkIGluc2lkZSBhIFNlZ21lbnRMaXN0IGVsZW1lbnQKCSAgYWxzbyBwcm9wZXJseSBzdXBwb3J0IE1QRCBmaWxlcyB3aXRob3V0IGFueSBJbml0aWFsaXphdGlvbiBzZWdtZW50CgoyMDEyLTEwLTA4IDE3OjQzOjE0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyL2Rhc2hkZW11eDogZml4ZWQgZ2V0X3dpZHRoLCBnZXRfaGVpZ2h0LCBnZXRfYXVkaW9fcmF0ZSwgZ2V0X251bV9hdWRpb19jaGFubmVscyBBUEkgZnVuY3Rpb25zCgkgIHRoZSBhY3R1YWwgdmFsdWVzIG5vdyBjYW4gYmUgZXh0cmFjdGVkIGFsc28gZnJvbSB0aGUgQWRhcHRhdGlvblNldCBlbGVtZW50OwoJICBjaGVja2luZyBOVUxMIHN0cnVjdHMgZm9yIGJldHRlciByb2J1c3RuZXNzOwoKMjAxMi0xMC0wOCAxNjo1OToyMSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBzaW5nbGUtc2VnbWVudCBzdHJlYW1zIHdpdGggdGhlIFVSTCBlbmNvZGVkIGluIHRoZSBiYXNlVVJMIHN5bnRheCBlbGVtZW50CgoyMDEyLTEwLTA4IDE1OjI2OjQ4ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZGVkIGxhbmcgYXR0cmlidXRlIHRvIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlCgoyMDEyLTEwLTA4IDExOjQ3OjQ1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIEFjY2Vzc2liaWxpdHksIFJvbGUsIFJhdGluZywgVmlld3BvaW50IGVsZW1lbnRzIHRvIEFkYXB0YXRpb25TZXQgbm9kZQoJICB0aG9zZSBhcmUgRGVzY3JpcHRvclR5cGUgZWxlbWVudHMsIHNvIHRoZXkgYXJlIGp1c3QgcGFyc2VkIGFuZCBkdW1wZWQgZm9yIG5vdzsKCjIwMTItMTAtMDggMTE6MzA6NDAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBtdWx0aXBsZSBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZXMKCSAgbm93IHdlIGtlZXAgYSBsaXN0IG9mIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlcyBmb3IgZWFjaCBQZXJpb2Qgbm9kZQoKMjAxMi0xMC0wOCAxMToxNjowOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZml4ZWQgcGFyc2luZyBvZiBTZWdtZW50TGlzdCBzeW50YXggZWxlbWVudCwgYW5kIGVsaW1pbmF0ZWQgUmVwcmVzZW50aW9uIG5vZGUgbGlzdCBmcm9tIFBlcmlvZCBub2RlCgkgIFNlZ21lbnRMaXN0IG5vZGVzIGFyZSBhbGxvd2VkIGludG8gUGVyaW9kLCBBZGFwdGF0aW9uU2V0IG9yIFJlcHJlc2VudGF0aW9uIG5vZGVzCgkgIGFuZCB0aGVyZSBpcyBhdCBtb3N0IDEgZWxlbWVudCwgc28gbm8gbmVlZCB0byBrZWVwIGEgbGlzdDsKCSAgUGVyaW9kIG5vZGVzIGNhbm5vdCBoYXZlIGFueSBSZXByZXNlbnRpb24gZWxlbWVudHMsIGFzIEFkYXB0YXRpb25TZXQgbm9kZXMgYXJlIG1hbmRhdG9yeTsKCSAgdGhpcyBicmVha3MgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgbGVnYWN5IERBU0ggdGVzdCBzZXF1ZW5jZXMuCgoyMDEyLTEwLTA4IDEwOjI5OjA0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4ZWQgcmV0dXJuIHdpdGggbm8gdmFsdWUKCSAgZ3N0bXBkcGFyc2VyLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9tcGRwYXJzZXJfZ2V0X2xpc3RfYW5kX25iX29mX2F1ZGlvX2xhbmd1YWdl4oCZOgoJICBnc3RtcGRwYXJzZXIuYzoyODkxOiB3YXJuaW5nOiDigJhyZXR1cm7igJkgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkCgoyMDEyLTEwLTA4IDEwOjI0OjI5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXIuYy8uaDogY2hhbmdlZCBsaWNlbnNlIGZyb20gZHVhbCBNSVQvTEdQTCAyLjAgdG8gTEdQTCAyLjEKCSAgdW5pZm9ybWVkIGxpY2VuY2luc2luZyB0byB0aGUgb3RoZXIgbGlicmFyaWVzIGluIHRoZSBkYXNoZGVtdXggcHJvamVjdAoKMjAxMi0xMC0wMiAwMjoyODo1OCArMDIwMCAgaHpha2FyaSA8aGFtaWQuemFrYXJpQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIE9wdGltaXplIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgcmV0dXJuIHRoZSBudW1iZXIgYW5kIHRoZSBsaXN0IG9mIGxhbmd1YWdlcyBpbiBhIHNpbmdsZSBmdW5jdGlvbgoKMjAxMi0wOS0yOSAwNToyNzo1MSArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGQgdGhlIGhlYWRlcnMgdG8gdGhlIGFkYXB0YXRpb25zZXRzIHNlZ21lbnRzIGlmIGFueSBvbmUgb2YgdGhlc2UgY2hhbmdlZCByZXByZXNlbnRhdGlvbgoKMjAxMi0wOS0yOSAwMzoxMzoyOSArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBTdXBwb3J0IE11bHRpIGxhbmd1YWdlcyAobmVlZCBhIGRlY29kZWJpbjIgcGF0Y2gpCgoyMDEyLTA5LTI5IDAyOjQxOjEzICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZSB0aGUgIlRPRE8iIGNvbW1lbnQKCjIwMTItMDktMjggMTI6NTU6MjcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0NPUFlJTkc6CgkqIGV4dC9kYXNoL0xJQ0VOU0U6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVuYW1lZCBMSUNFTlNFIGludG8gQ09QWUlORwoKMjAxMi0wOS0yOCAxMTo0NjowMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSAgVXBkYXRlZCBhdXRob3JzCgoyMDEzLTA1LTA4IDExOjEzOjMyIC0wMzAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJKiBleHQvZGFzaC9MSUNFTlNFOgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvUkVBRE1FOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIEluaXRpYWwgaW1wb3J0IG9mIGdzdGRhc2hkZW11eCBzb3VyY2VzCgoyMDEyLTEwLTI2IDE4OjAwOjAyICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSBEVkIgQVBJIHY1IGFrYSBTMkFQSSBpbnN0ZWFkIG9mIG9ic29sZXRlIHYzIEFQSQoJICBQYXRjaCBpcyBiYXNlZCBvbiB3b3JrIG9mIFRvbnkgSG91Z2h0b24gPGhAcmVhbGguY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ0NzkKCjIwMTMtMDUtMDggMTU6NDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogcGFzcyB3aWR0aCwgaGVpZ2h0LCBjaGFubmVscyBhbmQgcmF0ZSBhcyBpbnRlZ2VyCgkgIGdfYXNjaWlfc3RydG91bGwoKSByZXR1cm5zIGEgbG9uZyBsb25nIGludGVnZXIsIGJ1dCB3ZSBuZWVkIHRvCgkgIHBhc3MgYSBub3JtYWwgaW50IHRvIGdzdF9zdHJ1Y3R1cmVfc2V0KCkgZm9yIGZpZWxkcyBvZiBHX1RZUEVfSU5ULAoJICBzbyBjYXN0IGFwcHJvcHJpYXRlbHkuCgoyMDEzLTA1LTA4IDEyOjQ1OjIwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuaDoKCSAgdmRwYXU6IEFkZCBWZHBWaWRlb1N1cmZhY2UgY2FwcyBmZWF0dXJlCgoyMDEzLTA1LTA4IDEwOjU1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGZpeCBXTVYgY2FwcwoJICBNYWtlcyB0aGlzIHNob3cgYXQgbGVhc3QgYSBwaWN0dXJlOgoJICBodHRwOi8vcGxheXJlYWR5LmRpcmVjdHRhcHMubmV0L3Ntb290aHN0cmVhbWluZy9UVExTUzcyMFZDMS9Ub19UaGVfTGltaXRfNzIwLmlzbS9NYW5pZmVzdAoKMjAxMy0wNC0yMyAxMjowODozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHByaW50IGZvcm1hdHMKCjIwMTMtMDQtMTYgMTk6MzU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTIgMTU6NTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlbW92ZSBhbHJlYWR5IGZpeGVkIFRPRE8gY29tbWVudAoKMjAxMy0wNC0xMiAxNTo1ODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVwbGFjZSBnc3RfdmFsdWVfZGVzZXJpYWxpemUgd2l0aCBzaW1wbGVyIGZ1bmN0aW9uCgkgIFRoZSBkZXNlcmlhbGl6YXRpb24gd2FzIG9ubHkgdXNlZCB0byBjb252ZXJ0IGhleCBzdHJpbmdzIGludG8KCSAgR3N0QnVmZmVycy4gUmVwbGFjZSBnc3RfdmFsdWVfZGVzZXJpYWxpemUgd2l0aCBhIHNpbXBsZXIsIGRpcmVjdAoJICBmdW5jdGlvbi4KCjIwMTMtMDQtMTIgMTU6NTY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBuZXdzZWdtZW50IGV2ZW50IGxlYWsKCjIwMTMtMDQtMTIgMTU6NTU6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlcGxhY2UgdW51c2VkIHBhcmFtZXRlcgoJICBUaGUgYnVmZmVyIHBhcmFtZXRlciB3YXNuJ3QgYmVpbmcgdXNlZCwgaXQgd2FzIG9ubHkgdG8gc2lnbmFsIGlmCgkgIGEgYnVmZmVyIHdhcyBkb3dubG9hZGVkIGFuZCBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50IGluIHRoZQoJICBtYW5pZmVzdC4KCSAgUmVwbGFjZSB0aGUgYnVmZmVyIHdpdGggYSBib29sZWFuIHRoYXQgaGFzIHRoZSBzYW1lIGVmZmVjdCBhbmQgaXMKCSAgc2FmZXIKCjIwMTMtMDMtMTEgMTA6MDk6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zczogYXZvaWQgR1ZhbHVlIGxlYWsKCjIwMTMtMDItMjIgMTc6MDA6MzAgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSAgbXNzZGVtdXg6IGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrCgoyMDEzLTAyLTE5IDEzOjE3OjUzIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYXZvaWQgc3RyZWFtaW5nIHRvIGZhaWwgd2hlbiBkb3dubG9hZCBpcyBjYW5jZWxsZWQKCSAgV2hlbiBkb3dubG9hZCB3YXMgZmFpbGluZyByZXBlYXRlZGx5LCBpdCB3YXMgY2F1c2luZyBzdHJlYW1pbmcgdG8gZmFpbCBldmVuIHRob3VnaCBpdCB3YXMgY2FuY2VsbGVkIG9uIHB1cnBvc2UgKHN0b3BwaW5nIHRhc2tzKS4KCjIwMTMtMDItMDggMDI6MDE6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlbW92aW5nIHVudXNlZCBmdW5jdGlvbnMKCjIwMTMtMDItMDggMDE6NTE6MzAgLTAyMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogc3dpdGNoIGJpdHJhdGVzIHdpdGhvdXQgc3dpdGNoaW5nIHBhZHMKCjIwMTMtMDItMDcgMTY6MjY6NDYgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBDaGVjayBpZiBwYWRzIGFyZSB2YWxpZCBiZWZvcmUgcmVtb3ZpbmcuCgoyMDEzLTAyLTA3IDAzOjEwOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGFkZCBhIG1heGltdW0gZXJyb3IgY291bnQgZm9yIGRvd25sb2FkcwoJICBtc3NkZW11eCB3aWxsIHRvbGVyYXRlIGEgZmV3IGRvd25sb2FkIGVycm9ycyBiZWZvcmUgZW1pdHRpbmcgYW4KCSAgZXJyb3IgbWVzc2FnZSB0byB0aGUgYnVzCgoyMDEzLTAyLTA2IDA4OjQ4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogdXNlIHN0cmVhbXMgYml0cmF0ZSBpbmRpdmlkdWFsbHkKCSAgY29ubmVjdGlvbiBzZXR1cCB0aW1lcyBzZWVtIHRvIG1hdHRlciB3aGVuIG1lYXN1cmluZyB0aGUgZG93bmxvYWQKCSAgcmF0ZSBvZiBkaWZmZXJlbnQgc3RyZWFtcy4gU3RyZWFtcyB3aXRoIGxvbmdlciBmcmFnbWVudHMgaGF2ZSBhCgkgICpyZWxhdGl2ZWx5KiBsb3dlciBjb25uZWN0aW9uIHNldHVwIHRpbWUgYW5kIGFjaGlldmUgaGlnaGVyIGJpdHJhdGVzLgoJICBVc2luZyB0aGUgYXZlcmFnZSBzZWVtcyB1bmZhaXIgaGVyZSwgc28gdXNlIGVhY2ggc3RyZWFtJ3MgbWVhc3VyZWQgYml0cmF0ZQoJICB0byBzZWxlY3QgaXRzIGJlc3QgcXVhbGl0eSBvcHRpb24uCgoyMDEzLTAyLTA1IDE3OjQ4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHVzZSBkb3dubG9hZGJpdHJhdGUgdXRpbGl0eSBmb3IgbWVhc3VyaW5nIGJpdHJhdGUKCSAgZG93bmxvYWRiaXRyYXRlIGtlZXBzIGEgc2hvcnQgaGlzdG9yeSBvZiBiaXRyYXRlcyBhbmQgaGVscHMKCSAgdHJhY2tpbmcgdGhlIGN1cnJlbnQgYXZlcmFnZSBkb3dubG9hZCBiaXRyYXRlIGZvciBtc3NkZW11eAoKMjAxMy0wMi0wNSAwNDowMTowNCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFByb3Blcmx5IGNvbXB1dGUgbmV3IGJpdHJhdGUgYW5kIHVzZSBiaXRyYXRlX2xpbWl0LgoKMjAxMy0wMi0wNSAwMzoyNzo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEF2b2lkIGEgcG9zc2libGUgZGl2aXNpb24gYnkgemVybwoKMjAxMy0wMi0wNSAwMzoyNzoyMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFkZCBtaXNzaW5nIG9iamVjdCBwYXJhbSB0byBHU1RfREVCVUd8SU5GT19PQkpFQ1QgY2FsbHMKCjIwMTMtMDItMDUgMDA6Mjg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYWRkIGJpdHJhdGUtbGltaXQgcHJvcGVydHkKCSAgSXQgYWxsb3dzIHRoZSBwbHVnaW4gdG8gdXNlIGl0cyBvd24gZG93bmxvYWRpbmcgYml0cmF0ZSBtZWFzdXJlcwoJICBhcyBhIGZlZWRiYWNrIHRvIHNlbGVjdCB0aGUgYmVzdCBzdHJlYW1zIGJpdHJhdGUgZm9yIHRoZSBjdXJyZW50CgkgIG5ldHdvcmsgc2NlbmFyaW8KCjIwMTMtMDItMDQgMjE6NTg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHVzZSB0aGUgc2hhcmVkIHVyaWRvd25sb2FkZXIgbGliIGluc3RlYWQgb2YgYW4gaW50ZXJuYWwgY29weQoKMjAxMy0wMi0wNCAwMjoyMDo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvIG5vdCBibG9jayBvbiByZXNldC4KCSAgV2UgbmVlZCB0byBjYW5jZWwgdGhlIGRvd25sb2FkZXIgZm9yIGVhY2ggc3RyZWFtIGJlZm9yZSBqb2luaW5nIHRoZSBtYWluIGRvd25sb2FkIHRhc2ssIG90aGVyd2lzZQoJICB0aGUgZG93bmxvYWQgdGFzayB3aWxsIGJsb2NrIHVudGlsIGFsbCB0aGUgc3RyZWFtIHRhc2tzIGZpbmlzaC4KCjIwMTMtMDItMDEgMTc6NDQ6MDQgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaGFuZGxlIEZMVVNIIGV2ZW50cyBieSByZXNldHRpbmcgdGhlIGRlbXV4ZXIgc3RhdGUKCjIwMTMtMDItMDEgMTc6NDM6NDYgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGNvbmRpdGlvbnMgdG8gcHJldmVudCBzb21lIGNyYXNoZXMKCjIwMTMtMDItMDEgMTc6Mjk6NTggLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogdXNlIHN0YW5kYXJkIGdsaWIgbWV0aG9kcwoKMjAxMy0wMi0wMSAxNzoyNzoxOSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzb21lIG1lbW9yeSBsZWFrcyBhbmQgdXNlIHJpZ2h0IGZyZWUgZnVuY3Rpb24KCjIwMTMtMDItMDEgMTc6MTI6NDEgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG9uJ3Qgc3RvcCBhIHRhc2sgZnJvbSBpbnNpZGUgdGhlIGxvb3AKCSAgT25seSBwYXVzZSB0aGUgdGFzawoKMjAxMy0wMS0zMSAxNjoxNDozNyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBsb2cgbWFuaWZlc3QgY29udGVudCBmb3IgZGVidWdnaW5nCgoyMDEzLTAxLTMwIDAwOjIyOjUwIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IG1ha2UgY29kZWMgcHJpdmF0ZSBkYXRhIGZyb20gbWFuaWZlc3QgYXR0cmlidXRlcyB3aXRoIEFBQy1MQwoJICBXaGVuIHRoZSBjb2RlYyBpcyBBQUMtTEMsIHNvbWUgc2VydmVyIGltcGxlbWVudGF0aW9uIChlLmcuIE1pY3Jvc29mdCBJSVMpIGRvZXNuJ3QgYWRkIHRoZSBDb2RlY1ByaXZhdGVEYXRhIGF0dHJpYnV0ZS4gVGhlIGVsZW1lbnQgbmVlZHMgdG8gcmUtY3JlYXRlIHRoZSBjb2RlYyBkYXRhIGZyb20gdGhlIFF1YWxpdHkgTGV2ZWwgYXR0cmlidXRlcyAoY2hhbm5lbHMgYW5kIHNhbXBsaW5nIHJhdGUpLgoKMjAxMy0wMS0yOSAyMjo1NzozNiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBvbmx5IHRyeSB0byByZWxvYWQgdGhlIG1hbmlmZXN0IGZvciBsaXZlIHN0cmVhbXMKCSAgVGhlcmUgaXMgbm8gd2F5IHRvIGtub3cgaWYgYSBsaXZlIHN0cmVhbSBpcyByZWFsbHkgZmluaXNoZWQsIHNvIHRyeSB0byByZWxvYWQgdGhlIG1hbmlmZXN0IGFuZCBjaGVjayBpZiB0aGVyZSBhcmUgbW9yZSBmcmFnbWVudHMgdG8gZG93bmxvYWQuIEVsc2UganVzdCBsZXQga25vdyBpdCdzIHRoZSBFT1MuCgoyMDEzLTAxLTI1IDIxOjI0OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgc29tZSBkb2N1bWVudGF0aW9uCgkgIEFkZHMgYSBsaXR0bGUgYml0IG9mIGRvY3MgZXhwbGFuaW5nIHRoZSBpbnRlcm5hbHMgb2YgbXNzZGVtdXgKCjIwMTMtMDEtMjIgMTc6MzM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBtYXgtcXVldWUtc2l6ZS1idWZmZXJzIHByb3BlcnR5CgkgIEluZGljYXRlcyBob3cgbXVjaCBidWZmZXJpbmcgc2hvdWxkIGJlIGRvbmUgaW50ZXJuYWxseSBpbgoJICBtc3NkZW11eAoKMjAxMy0wMS0yMSAxODowNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc3RvcCB0YXNrcyBmYXN0ZXIKCSAgSXNzdWUgYSBjYW5jZWwgdG8gdGhlIGRvd25sb2FkZXJzIHNvIHRoZXkgc3RvcCBlYXJsaWVyCgoyMDEzLTAxLTE3IDE2OjIwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgbGl2ZSBzdHJlYW1zIGhhbmRsaW5nCgkgIExpdmUgc3RyZWFtcyBmb3JjZSB0aGUgZGVtdXhlciB0byBrZWVwIHJlbG9hZGluZyB0aGUgTWFuaWZlc3QgZnJvbQoJICB0aW1lIHRvIHRpbWUsIGFzIHRoZSBuZXcgZnJhZ21lbnRzIGFyZSBiZWluZyBhZGRlZCBhcyB0aGV5IGFyZSByZWNvcmRlZC4KCSAgVGhlIGRlbXV4ZXIgc2hvdWxkIGFsc28gdHJ5IHRvIGtlZXAgdXAgYW5kIGRldGVjdCB3aGVuIGl0IGhhZCB0byBza2lwCgkgIGZyYWdtZW50cywgbWFya2luZyB0aGUgZGlzY29udCBmbGFnIHdoZW4gdGhhdCBoYXBwZW5zLgoJICBDdXJpb3VzbHksIHRoZSBzcGVjIGRvZXNuJ3Qgc2VlbSB0byBtZW50aW9uIHdoZW4vaG93IGEgbGl2ZSBzdHJlYW0gaXMgc3VwcG9zZWQKCSAgdG8gZW5kLCBzbyBrZWVwIHRyeWluZyBkb3dubG9hZHMgdW50aWwgdGhlIGRlbXV4ZXIgZXJyb3JzIG91dC4KCjIwMTMtMDEtMTcgMTY6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBsZWFrIGZyYWdtZW50cwoKMjAxMy0wMS0xNyAxMzo0ODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGlzc3VlIG9uIGZyYWdtZW50IHRpbWVzdGFtcGluZyBwYXJzaW5nCgkgIFVzZSBndWludDY0IGFzIHRoZSBmcmFnbWVudHMgY2FuIHN0YXJ0IGF0IHZlcnkgaGlnaCBudW1iZXJzLAoJICBzcGVjaWFsbHkgb24gbGl2ZSBzdHJlYW1zCgoyMDEzLTAxLTE2IDE1OjI4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBlcnJvciBvdXQgd2hlbiB1cHN0cmVhbSBkb2Vzbid0IGltcGxlbWVudCBVUkkgcXVlcnkKCSAgRXJyb3Igb3V0IHdoZW4gdXBzdHJlYW0gZG9lc24ndCBhbnN3ZXIgdG8gVVJJIHF1ZXJ5IGFuZCBtc3NkZW11eAoJICBkb2Vzbid0IGtub3cgdGhlIFVSSSB0byBmZXRjaCB0aGUgZnJhZ21lbnRzIGZyb20KCjIwMTMtMDEtMTUgMTc6MzE6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHB1c2ggbmV3c2VnbWVudHMgd2l0aCBzYW1lIHN0YXJ0IHRpbWUgb24gYml0cmF0ZSBzd2l0Y2hlcwoJICBUaGlzIGtlZXBzIHNpbmtzIHdvcmtpbmcgaW4gc3luYyBhZnRlciBhIGJpdHJhdGUgc3dpdGNoCgoyMDEzLTAxLTE0IDEzOjIxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJld3JpdGluZyBwYWQgdGFza3Mgc28gdGhhdCBidWZmZXJzIGFyZSBwdXNoZWQgYnkgdHMgb3JkZXIKCSAgVXNlIHBhZCB0YXNrcyB0byBkb3dubG9hZCBkYXRhIGFuZCBhbiBleHRyYSB0YXNrIHRoYXQgZ2V0cyB0aGUgZWFybGllcgoJICBidWZmZXIgKHdpdGggdGhlIHNtYWxsZXN0IHRpbWVzdGFtcCkgYW5kIHB1c2hlcyBvbiB0aGUgY29ycmVzcG9uZGluZwoJICBwYWQuCgkgIFRoaXMgcHJldmVudHMgdGhhdCB0aGUgYXVkaW8gc3RyZWFtIHJ1c2hlcyBhaGVhZCBvbiBidWZmZXJzIGFzIGl0cwoJICBmcmFnbWVudHMgc2hvdWxkIGJlIHNtYWxsZXIKCjIwMTMtMDEtMTEgMTU6MDE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNvbWUgZml4ZXMgdG8gYml0cmF0ZSBzd2l0Y2hpbmcKCSAgUmVtb3ZlcyBhIHBvc3NpYmxlIGRlYWRsb2NrIGZyb20gYml0cmF0ZSBzd2l0Y2hpbmcgd2hlbiB0aGUgcGFkCgkgIHRoYXQgcmVxdWVzdGVkIHRoZSBzd2l0Y2ggYmxvY2tzIG9uIGl0cyBwYWQtcHVzaAoKMjAxMy0wMS0xMCAxNjoyNjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVmYWN0b3JpbmcgZnJhZ21lbnQgZG93bmxvYWQgdG8gaXRzIG93biBmdW5jdGlvbgoJICBNYWtlcyBjb2RlIGNsZWFyZXIgYW5kIGhlbHBzIGNoYW5naW5nIHRoZSBkb3dubG9hZCBwYXJ0IG9mIHRoZQoJICBjb2RlIHRvIGl0cyBvd24gdGhyZWFkCgoyMDEzLTAxLTEwIDE1OjE2OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBiaXRyYXRlIHN3aXRjaGluZwoJICBXaGVuIGNvbm5lY3Rpb24tc3BlZWQgY2hhbmdlcywgc2lnbmFsIHRoYXQgd2UgbWlnaHQgbmVlZCBhIGJpdHJhdGUKCSAgc3dpdGNoLiBEdXJpbmcgdGhlIHN3aXRjaCwgYSBuZXcgcGFkIGdyb3VwIGlzIGFkZGVkIGFuZCB0aGUgb2xkIG9uZQoJICBpcyBkcmFpbmVkIGFuZCByZW1vdmVkLgoJICBOZXcgcGFkcyBhbHNvIG5lZWQgdG8gcHVzaCBuZXdzZWdtZW50cyBiZWZvcmUgc3RhcnRpbmcgdG8gc3RyZWFtCgoyMDEzLTAxLTA4IDE4OjAxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBUaGlzIHNwZWVkIGxpbWl0cyB0aGUgbWF4aW11bSBiaXRyYXRlIG9mIHN0cmVhbXMuIEN1cnJlbnRseSBpdAoJICBpcyBvbmx5IHJlYWQgd2hlbiBzdGFydGluZyB0aGUgcGlwZWxpbmUsIGJ1dCBpdCBzaG91bGQgYmUgdXNlZAoJICBmb3Igc3dpdGNoaW5nIGJpdHJhdGVzIGR1cmluZyBwbGF5YmFjayB0byBhZGFwdCB0byBuZXR3b3JrCgkgIGNoYW5nZXMuCgoyMDEzLTAxLTA4IDE3OjU1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGFuICdhY3RpdmUnIGZsYWcgdG8gbWFuaWZlc3Qgc3RyZWFtCgkgIG1zc2RlbXV4IHNob3VsZCBzZXQgdGhlIHN0cmVhbXMgaXQgaGFzIGV4cG9zZWQgYXMgYWN0aXZlIHNvIHRoYXQKCSAgdGhlIG1hbmlmZXN0IHdvbid0IHVzZSB0aGUgbm9uLWFjdGl2ZSBzdHJlYW1zIHRvIGNvbXB1dGUgdG90YWwgYml0cmF0ZXMKCSAgb3IgcHJvdmlkaW5nIGZyYWdtZW50cwoKMjAxMy0wMS0wOCAxNzo1NDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGZpbmlzaGVkIGV4cG9zaW5nIHBhZHMKCSAgVGhpcyBtYWtlcyBkZWNvZGViaW4vcGxheWJpbiBtZWNoYW5pc20ga25vdyBpdCBjYW4gc3RhcnQgcGxheWluZwoJICB3aGVuIGJ1ZmZlcmluZyBpcyBmaW5pc2hlZAoKMjAxMy0wMS0wOCAxMTowODozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogS2VlcCB0aGUgc3RyZWFtIHF1YWxpdGllcyBsaXN0IHNvcnRlZCBieSBiaXRyYXRlCgkgIFRoaXMgd2lsbCBoZWxwIG1ha2luZyBhZGFwdGl2ZSBzdHJlYW1pbmcgY2hvc2UgdGhlIGJlc3QgcmF0ZQoJICBmb3IgYSBwYXJ0aWN1bGFyIGNvbm5lY3Rpb24gc3BlZWQKCjIwMTMtMDEtMDggMTA6MTY6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsc28gY29uc2lkZXIgZm91cmNjIEFWQzEgYXMgSDI2NAoJICBIMjY0IGNhbiBiZSByZXByZXNlbnRlZCBieSBib3RoIGZvdXJjY3MgSDI2NCBhbmQgQVZDMSwgdXNlIGJvdGguCgoyMDEzLTAxLTA0IDE3OjAxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBhZGQgc3VwcG9ydCBmb3IgVkMtMSBhbmQgV21hUHJvIGZvcm1hdHMgcGFyc2luZwoJICBWQy0xIHNob3VsZCBtYXAgdG8gV01WMyBhbmQgV21hUHJvIHRvIFdNQTIKCjIwMTMtMDEtMDQgMTc6MDA6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB0cnkgdG8gZXhwb3NlIHVua25vd24gc3RyZWFtcwoJICBXaGVuIHRoZSBzdHJlYW0gY2FuJ3QgaGF2ZSBpdHMgY2FwcyBkZXRlY3RlZCwgYmV0dGVyIG5vdCB0byBleHBvc2UgaXQuCgkgIElmIG5vIHN0cmVhbXMgYXJlIGtub3duLCBzaWduYWwgYW4gZXJyb3IgYWJvdXQgbm8gcGxheWFibGUgc3RyZWFtcyB0bwoJICB0aGUgYXBwbGljYXRpb24KCjIwMTMtMDEtMDQgMTU6NDk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGRvIG5vdCBzZXQgY29kZWNfZGF0YSB3aGVuIGl0IGlzIGVtcHR5CgkgIFNvbWUgbWFuaWZlc3RzIGNvbnRhaW4gZW1wdHkgY29kZWMgZGF0YXMsIGJldHRlciBub3Qgc2V0IHRoZW0KCjIwMTMtMDEtMDQgMTU6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBzZXQgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiB0byBmcmFnbWVudCBidWZmZXJzCgkgIFdlIGNhbiBnZXQgdGhvc2UgZnJvbSB0aGUgbWFuaWZlc3QgYW5kIGhlbHBzIGRvd25zdHJlYW0gdG8ga25vdwoJICB0aGUgZnJhZ21lbnQgc3RhcnQgdGltZSBhZnRlciBhIHNlZWtpbmcgb3BlcmF0aW9uCgoyMDEyLTEyLTI4IDAwOjQ5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBmaXggdHlwbwoJICBGaXggdHlwbyB0aGF0IHdhcyBtYWtpbmcgdGhlIGFkdmFuY2UgZnJhZ21lbnQgZnVuY3Rpb24gcmV0dXJuIGEgd3JvbmcKCSAgZmxvdyByZXR1cm4gaW4gY2FzZSBpdCB3YXMgYWxyZWFkeSBFT1MKCjIwMTItMTItMjggMDA6NDg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2Ygc2VlayBldmVudCBoYW5kbGluZwoJICBBZGRzIGJhc2ljIGhhbmRsaW5nIGZvciBzZWVrIGluIHRpbWUgZXZlbnRzLiBOZWVkcyB0byBjb29wZXJhdGUKCSAgd2l0aCB0aGUgZG93bnN0cmVhbSBxdGRlbXV4IHNvIHRoYXQgaXQgZm9yd2FyZHMgdGhlIHNlZWtzIGFuZAoJICB0aGUgY29ycmVzcG9uZGluZyBuZXdzZWdtZW50cwoKMjAxMi0xMi0yNiAxNjoxOToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGhhbmRsZSBzcmMgcGFkIHF1ZXJpZXMgZmlyIGR1cmF0aW9uIGFuZCBsYXRlbmN5CgkgIEFkZCBhIHNyYyBwYWQgcXVlcnkgaGFuZGxlciB0byBnZXQgdGhlIGR1cmF0aW9uIGZyb20gdGhlIG1hbmlmZXN0CgkgIGFuZCByZXBvcnQgaXQgdXBzdHJlYW0uCgkgIEFsc28gYWRkcyBhIHNpbXBsZSBoYW5kbGVyIGZvciBsYXRlbmN5IHF1ZXJpZXMKCjIwMTItMTItMjEgMTY6NDI6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBzb21lIG1vcmUgZXJyb3IgaGFuZGxpbmcKCSAgUG9zdCBlcnJvciBpbiBzb21lIG1vcmUgc2NlbmFyaW9zOgoJICAqIHdoZW4gdGhlIG1hbmlmZXN0IGhhcyBubyBzdHJlYW1zCgkgICogd2hlbiBnZXR0aW5nIHRoZSBmcmFnbWVudCB1cmwgZmFpbHMKCjIwMTItMTItMjEgMTU6Mzc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGVuc3VyZSB0aGUgZGVidWcgY2F0ZWdvcnkgaXMgcHJvcGVybHkgaW5pdGlhbGl6ZWQKCSAgVGhlIHVzZXIgb2YgdGhlIGxpYnJhcnkgbWlnaHQgbm90IG5lZWQgdG8gY3JlYXRlIGEgTmFsUGFyc2VyLCBzbwoJICB0aGUgZGVidWcgY2F0ZWdvcnkgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgZnJvbSBvdGhlciBmdW5jdGlvbnMKCSAgYXMgd2VsbCBpZiByZXF1aXJlZC4KCjIwMTItMTItMjAgMTU6MzA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgdGltZXNjYWxlIHRvIHRoZSBjYXBzCgkgIFRoaXMgaXMgaW1wb3J0YW50IGZvciBkb3duc3RyZWFtIHRvIHByb3Blcmx5IHRpbWVzdGFtcCB0aGUgc2FtcGxlcwoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAxMDAwMDAwMCwgYnV0IHRoaXMgY2FuIGJlIHNldCBpbiB0aGUgc3RyZWFtCgkgIG9yIGF0IHRoZSB0b3AtbGV2ZWwgbWFuaWZlc3QgZW50cnkKCjIwMTItMTItMjAgMTQ6Mjc6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHBhcnNlIHRoZSBmcHMgZnJvbSBoMjY0IGNvZGVjIGRhdGEgaWYgcG9zc2libGUKCSAgVXNlIGgyNjQgY29kZWMgcGFyc2luZyBsaWIgdG8gZXh0cmFjdCB0aGUgZnBzIGZyb20gdGhlIG1hbmlmZXN0J3MKCSAgY29kZWMgZGF0YSBhcyBpdCBkb2Vzbid0IHNlZW0gdG8gcHJvdmlkZSBpdCBhbnl3aGVyZSBlbHNlCgoyMDEyLTEyLTIwIDAxOjA5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBjb3JyZWN0bHkgYWRkIGgyNjQgY29kZWMgZGF0YSB0byBjYXBzCgkgIE5lZWQgdG8gY29uc3RydWN0IGFuIGF2Y2MgYXRvbSBmcm9tIHRoZSBjb2RlY2RhdGEgcmVhZCBmcm9tIE1TUwoJICBtYW5pZmVzdHMgdG8gbWFrZSBoMjY0IGRlY29kZXJzL3BhcnNlcnMgYWNjZXB0IGl0CgoyMDEyLTEyLTIwIDAxOjA3OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgdGhlIGNvcnJlY3QgY2FwcyB0byB0aGUgb3V0Z29pbmcgc3RyZWFtCgkgIG1zc2RlbXV4IG91dHB1dHMgYSBxdWlja3RpbWUgdmFyaWFudCwgbmFtZWQgbXNzLWZyYWdtZW50CgoyMDEyLTExLTI1IDAxOjU3OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzZXQgY2FwcyB0byBidWZmZXJzIGJlZm9yZSBwdXNoaW5nCgkgIEFsc28gdXBkYXRlIHRvIHRoZSBsYXRlc3QgZ3N0ZnJhZ21lbnQgQVBJIHRoYXQgcHJvdmlkZXMKCSAgdGhlIGZyYWdtZW50IGFzIGEgd2hvbGUgYnVmZmVyLgoKMjAxMi0xMS0yMiAxMzowMTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBzdGF0ZSBjaGFuZ2luZwoJICBLZWVwIGEgcmVmIG9uIHBhZCB0byBwcmV2ZW50IGl0IGJlaW5nIHVucmVmZmVkIHdoaWxlIHRoZSBtc3NkZW11eAoJICBzdHJlYW1zIGFyZSBzdGlsbCB1c2luZyBpdC4gQWxzbyByZXNldCB0aGUgZWxlbWVudCB3aGVuIGdvaW5nIHRvCgkgIHJlYWR5IGluc3RlYWQgb2Ygd2hlbiBnb2luZyB0byBudWxsLgoKMjAxMi0xMS0yMiAxMjoyODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkcyBtaW5pbnVtIGVycm9yIGhhbmRsaW5nCgkgIFRoaXMgc2hvdWxkIGNhcmUgZm9yIGJhc2ljIHNjZW5hcmlvcyBvZiBlcnJvcnMgYW5kIEVPUyB0byBhbGxvdwoJICB0aGUgcGlwZWxpbmUgdG8gc3RvcCBjb3JyZWN0bHkKCjIwMTItMTEtMjIgMTI6Mjg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IG1zc21hbmlmZXN0OiBwcmV2ZW50IGFjY2Vzc2luZyBudWxsIHN0cmVhbSBmcmFnbWVudAoJICBNb3ZlIHRoZSBhY2Nlc3MgdG8gdGhlIHN0cmVhbSBmcmFnbWVudCBkYXRhIGFmdGVyIHRoZSBjaGVjawoJICBpZiB0aGUgZnJhZ21lbnQgZXhpc3RzIHRvIHByZXZlbnQgYSBzZWdmYXVsdAoKMjAxMi0xMS0xOSAxNzo1MzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlZmFjdG9yIHN0cnVjdHVyZSBuYW1lcyBhbmQgaW1wbGVtZW50IHVybCBmZXRjaGluZwoJICBVc2Ugc2hvcnRlciBuYW1lcyBmb3IgdGhlIE1TUyBtYW5pZmVzdCBoZWxwZXIgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMuCgkgIEFsc28gY29udGludWVzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RyZWFtIGZldGNoaW5nIGFuZCBwdXNoaW5nIGxvb3AuCgkgIE5vdyBpdCB1c2VzIHRoZSBiYXNlIHVybCBjb3JyZWN0bHkgYW5kIGFscmVhZHkgZmV0Y2hlcyBhbmQgcHVzaGVzIHRoZSBmcmFnbWVudHMKCSAgZG93bnN0cmVhbQoKMjAxMi0xMS0xNiAxNzozMDoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwYWQgbG9vcAoJICBUaGUgbG9vcCB3aWxsIGZldGNoIGEgbmV3IGZyYWdtZW50IGFuZCBwdXNoIG9uIGl0cyBzcmNwYWQuIEVhY2gKCSAgc3RyZWFtIGhhcyBpdHMgb3duIGxvb3AKCjIwMTItMTEtMTYgMTc6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogbW9yZSBtYW5pZmVzdCBwYXJzaW5nIGFuZCBoZWxwZXIgZnVuY3Rpb25zCgkgIE5vdyB0aGUgbXNzIG1hbmlmZXN0IGlzIGFibGUgdG8gZ2VuZXJhdGUgdGhlIGZpbGVzIHVybHMKCjIwMTItMTEtMTQgMTc6MTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHBhZCBleHBvc2luZyBpbml0aWFsIGltcGxlbWVudGF0aW9uCgkgIERvZXMgc29tZSBiYXNpYyBwYXJzaW5nIG9mIHRoZSBzdHJlYW0gY2FwcyBhbmQgYWRkcyBhIHBhZCBmb3IKCSAgZWFjaCBzdHJlYW0gZGV0ZWN0ZWQgaW4gdGhlIG1hbmlmZXN0CgoyMDEyLTExLTA5IDE2OjQ3OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIG1hbmlmZXN0IHBhcnNpbmcKCSAgQ29udGludWVkIGltcGxlbWVudGluZzoKCSAgMSkgcGFyc2UgdGhlIG1hbmlmZXN0IHdpdGggbGlieG1sMgoJICAyKSBkZXRlY3Qgc3RyZWFtIHR5cGVzCgoyMDEyLTExLTA4IDE2OjA2OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHN0dWJzIGZvciBtc3NkZW11eAoJICBKdXN0IHRoZSBzdHVicyBmb3IgbXNzZGVtdXggZWxlbWVudC4KCSAgQWxzbyBhZGQgc29tZSB1c2VmdWwgY29kZSBmcm9tIGhsc2RlbXV4IHRoYXQgd2UgaW50ZW5kIHRvIHJldXNlCgoyMDEyLTExLTA4IDE1OjQyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogYnVpbGQgZGlyZWN0b3J5IHN0dWJzIGZvciBuZXcgcGx1Z2luCgkgIEluaXRpYWwgYnVpbGQgc3RydWN0dXJlIGZvciBNUycgU21vb3RoIFN0cmVhbWluZyBwbHVnaW4KCSAgQ29uZmxpY3RzOgoJICBleHQvTWFrZWZpbGUuYW0KCjIwMTMtMDItMTkgMTM6MDE6MzcgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiB1bmxvY2sgbXV0ZXggd2hlbiBzd2l0Y2hpbmcgdXJpc3JjIHN0YXRlIHRvIE5VTEwgdG8gYXZvaWQgZGVhZGxvY2sKCSAgV2hlbiBjaGFpbiBtZXRob2Qgd2FzIGNhbGxlZCBhZnRlciBnc3RfdXJpX2Rvd25sb2FkZXJfc3RvcCBhbmQgYmVmb3JlIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQgdG8gTlVMTCwgZXhlY3V0aW9uIHdhcyBibG9ja2luZyBvbiBnX211dGV4X2xvY2suCgkgIENvbmZsaWN0czoKCSAgZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jCgoyMDEzLTAyLTA3IDAwOjI4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHByb3Blcmx5IHVucmVmIHRoZSB1cmlzcmMgYmV0d2VlbiBkb3dubG9hZHMKCSAgVGhpcyBwcmV2ZW50cyBsZWFraW5nIHRoZSBlbGVtZW50LiBBbHNvIHNldHMgdGhlIGJ1cyB0byBmbHVzaGluZwoJICB0byBjb21wbGV0ZWx5IHJlc2V0IHRoZSBkb3dubG9hZGVyIHN0YXRlCgoyMDEzLTA0LTE2IDE3OjIzOjAyIC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IG1ha2UgY2FuY2VsbGVkIHN0YXRlICdwZXJtYW5lbnQnIHVudGlsIGEgcmVzZXQKCSAgV2hlbiBkb3dubG9hZGluZyBhbmQgY2FuY2VsbGluZyBxdWlja2x5IHRoZSB1cmlkb3dubG9hZGVyIG9iamVjdCBhbmQgdGhlCgkgIGVsZW1lbnQgdXNpbmcgaXQgY291bGQgbWlzcyB0aGUgY2FuY2VsbGVkIHdpbmRvdyBhbmQgdGhlIHVyaWRvd25sb2FkZXIKCSAgd291bGQgZmV0Y2ggdGhlIHdyb25nIFVSSSBhbmQgYmxvY2sgb24gc3Vic2VxdWVudCBmZXRjaGVzLgoJICBUaGlzIHdhcyBhbHNvIHByb2JsZW1hdGljIHdoZW4gc3RvcHBpbmcgZWxlbWVudHMsIHdoaWxlIG9uZSB0YXNrIHdvdWxkCgkgIGNhbGwgdGhlIGNhbmNlbCwgYW5vdGhlciBlbGVtZW50IHRocmVhZCBjb3VsZCBpc3N1ZSBhIG5ldyBmZXRjaF91cmkuIEFzCgkgIHRoZSBjYW5jZWwgc3RhdGUgaXNuJ3QgJ3Blcm1hbmVudCcgdGhpcyBmZXRjaF91cmkgd291bGQgYmxvY2sgYW5kCgkgIHByZXZlbnQgdGhlIHdob2xlIGVsZW1lbnQgZnJvbSBzdG9wcGluZyBhbmQgZ29pbmcgdG8gTlVMTC4KCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgJ2NhbmNlbGxlZCcgc3RhdGUgcGVybWFuZW50IHVudGlsIGEKCSAgZ3N0X3VyaV9kb3dubG9hZGVyX3Jlc2V0IGlzIGNhbGxlZC4gVGhpcyB3YXkgdGhlIGVsZW1lbnQga25vd3MgdGhlCgkgIHdpbmRvdyB3aGVyZSB0aGUgdXJpZG93bmxvYWRlciBpc24ndCBhY3RpdmUgYW5kIG9ubHkgcmVhY3RpdmF0ZSBpdCB3aGVuCgkgIHJlYWR5LgoKMjAxMy0wNC0xNiAxOTo0NzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlcl9kZWJ1Zy5oOgoJICB1cmlkb3dubG9hZGVyOiByZWZhY3RvciBnc3R1cmlkb3dubG9hZGVyIHRvIGl0cyBvd24gbGliCgkgIGdzdHVyaWRvd25sb2FkZXIgY2FuIGJlIHJldXNlZCBieSBvdGhlciBwbHVnaW5zLCBiZXR0ZXIgaGF2ZSBpdAoJICBpbnRvIGl0cyBvd24gbGliCgoyMDEzLTA1LTA3IDA4OjI2OjAzIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBtZW1vcnkgbGVhayB3aGVuIHVzaW5nIHByZXBhcmVfZnVuYwoJICBwcmVwYXJlX2Z1bmMgd2lsbCBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgdG8gcmVwbGFjZSB0aGUgb3JpZ2luYWwKCSAgb25lLiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9idWZmZXJfcmVwbGFjZSAod2hpY2ggY2F1c2VzIGFuIGV4dHJhCgkgIHJlZmNvdW50IGluY3JlbWVudCBvbiB0aGUgbmV3IGJ1ZmZlciksIHdlIGp1c3QgdW5yZWYgdGhlIG9yaWdpbmFsCgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc4NgoKMjAxMy0wNS0wNyAxNDoyMjoxMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIG1wZWd2aWRlb21ldGE6IEZpeCB0eXBvIGluIGNvbW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTgyNwoKMjAxMy0wNS0wMyAyMTo0NjowOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJICBsYWRzcGE6IHN5bmMgY29udHJvbGxlZCBwYXJhbWVzIGluIGZpbHRlcnMgYW5kIHNpbmtzCgoyMDEzLTA1LTAzIDE2OjU1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogQWRkICQoR01PRFVMRV9OT19FWFBPUlRfTElCUykgZm9yIGdtb2R1bGUKCjIwMTMtMDUtMDEgMTc6MTk6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkb24ndCBjb21wYXJlIGJ1ZmZlciBzaXplIHdoZW4gY2hlY2tpbmcgd2hldGhlciB0byB1cGRhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Mzk4CgoyMDEzLTA1LTAzIDExOjM0OjM0ICswMjAwICBKdWFuIE1hbnVlbCBCb3JnZXMgQ2HDsW8gPGp1YW5tYWJjbWFpbEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmg6CgkgIGxhZHNwYTogaW1wcm92ZWQgcG9ydCB0byBnc3RyZWFtZXIgMS4wCgkgIEZpeGVzOiAjNjk4OTI3CgoyMDEzLTA1LTAxIDE3OjM2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvbid0IGFubm91bmNlIGluY29tcGxldGUgc291cmNlIGNhcHMKCSAgRG9uJ3Qgc2VuZCBhbnkgc291cmNlIGNhcHMgeWV0IGlmIHdlJ3JlIHN0aWxsIGluCgkgIGRyb3AtYnVmZmVycy11bnRpbC13ZS1nZXQtYS1zZXF1ZW5jZS1oZWFkZXIgbW9kZS4KCSAgRml4ZXMgdHJhbnNtdXhpbmcgb2YgbWFueSBNUEVHLVRTL1BTIHN0cmVhbXMgaW50bwoJICBmb3JtYXRzIHdoaWNoIHJlcXVpcmUgdGhpbmdzIGxpa2Ugd2lkdGgsIGhlaWdodCBvcgoJICBjb2RlY19kYXRhIG9uIHRoZSBpbnB1dCBjYXBzLgoJICBBbHNvIGZpeGVzIGlzc3VlcyB3aGVuIHVzaW5nIHBsYXliaW4gd2l0aCBkZWNvZGVyCgkgIHNpbmtzIHRoYXQgd2FudCB3aWR0aC9oZWlnaHQgZXRjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODc5CgoyMDEzLTA0LTI3IDEyOjI4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJICBrYXRlOiBmaXggYnVmZmVyIGxlYWsgaW4ga2F0ZXRhZwoJICBNYWtlcyB1bml0IHRlc3QgdmFsZ3JpbmQgY2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMjcgMTI6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBpbiBrYXRlIHVuaXQgdGVzdAoKMjAxMy0wNC0yNyAxMjowNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGU6IG1pbm9yIGNsZWFudXAKCjIwMTMtMDQtMjYgMTU6MzM6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IERvY3VtZW50IHRoYXQgdGhlIGxhdGVuY3kgaXMgaW4gbWlsbGlzZWNvbmRzCgkgIEJ1ZyAjNjk4ODk2CgoyMDEzLTA0LTI2IDE1OjM5OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvbnZlcnQgcGFja2V0IFBUUy9EVFMgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBXZSBsZXQgdGhlIG1wZWd0c3BhY2tldGl6ZXIgZGVhbCB3aXRoIHBjciB3cmFwYXJvdW5kL3Jlc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxMy0wNC0yNiAxMjoxODoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ3RzZGVtdXg6IGhlYWRlciBjbGVhbnVwcy91cGRhdGVzCgoyMDEzLTA0LTI2IDE0OjMyOjE0ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBEcm9wIG9ic29sZXRlIHJlZmVyZW5jZXMgdG8gdmlkZW9zaWduYWwgaGVhZGVycwoJICBJbiBhZGRpdGlvbiB0byA4NTUyMzk2YzM2MmMyMGFkYjZhYTkxMjlhNDUzZmY4MWVjZGNmNjU2CgoyMDEzLTA0LTI2IDEwOjM4OjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVwZGF0ZSBzcmMgcGFkIGNhcHMgd2hlbiBpdCB3YXMgZXhwbGljaXRseSBzaWduYWxlZAoJICBGaXhlcyBzcmMgcGFkIGNhcHMgYXJlbid0IHVwZGF0ZWQgd2hlbiBjb252ZXJ0aW5nIGZyb20gQVZDIHRvIGJ5dGVzdHJlYW0KCSAgYW5kIG5ldyBjYXBzIGhhZCBiZWVuIHJlY2VpdmVkIGluIHRoZSBzaW5rIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODY3OQoKMjAxMy0wNC0yMyAxNToxOToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IGNhcHMgc3RyaW5nIGxlYWsKCjIwMTMtMDQtMjQgMDk6NDA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBnc3RfZWdsX2Rpc3BsYXlfZ2V0KCkgaW5zdGVhZCBvZiBwYXNzaW5nIGEgR3N0RUdMRGlzcGxheSB0byBFR0wgZnVuY3Rpb25zCgoyMDEzLTAzLTI4IDE2OjUyOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaXNyYzogUG9ydCB0byBHc3RBdWRpb1NyYwoKMjAxMy0wMy0yNyAxMDoxMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBQb3J0IHdhc2FwaXNpbmsgdG8gR3N0QXVkaW9TaW5rCgoyMDEzLTA0LTIzIDAxOjE3OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogZml4IHJlbWFpbmluZyBrYXRlIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTUgMTc6MDY6NTcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBwb3J0IEthdGUgdGVzdHMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMjIgMjM6NTI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNQUlOVEFJTkVSUzoKCSogUkVBRE1FOgoJKiBSRUFETUUuc3RhdGljLWxpbmtpbmc6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2NiM2QzYyB0byA1ZWRjZDg1CgoyMDEzLTA0LTIxIDE4OjI4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgZHZiYmFzZWJpbjogYmV0dGVyIGVycm9yIHJlcG9ydGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4ODkyCgoyMDEzLTA0LTIxIDE0OjEzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBsb2cgY2hhbm5lbCBwYXJzaW5nIGludG8gZHZiYmFzZWJpbiBkZWJ1ZyBjYXRlZ29yeSBhcyB3ZWxsCgoyMDEzLTA0LTIxIDE0OjA0OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwYXRoIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSBkdmItY2hhbm5lbHMuY29uZgoJICBDb25zdHJ1Y3QgcGF0aCBiYXNlZCBvbiB0aGUgQVBJIHZlcnNpb24sIG5vdCAkbWFqb3IuJG1pbm9yIHZlcnNpb24uCgoyMDEzLTA0LTE4IDIwOjI2OjE1ICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IGVhZ2w6IGZpeCBlYWdsIHJldXNlIGJ5IG5vdCByZWxlYXNpbmcgdGhlIGNvbnRleHQKCSAgSXQgc2VlbXMgRUFHTCBleHBlY3RzIHRoZSBhcHBsaWNhdGlvbiB0byBzaW1wbHkgaWdub3JlIHVudXNlZAoJICBFQUdMIGNvbnRleHRzIGFzIHRoZSByZXNvdXJjZXMgZm9yIGl0IHdvdWxkIGJlIHJlbGVhc2VkIHdoZW4gYSBuZXcKCSAgY29udGV4dCBpcyBzZXQgYXMgdGhlIGN1cnJlbnQgb25lLiBBbHNvIG1vdmUgdGhlIGVnbCBleHRlbnNpb25zCgkgIHF1ZXJ5aW5nIHRvIGFmdGVyIGEgY29udGV4dCBpcyBzZXQgdG8gcHJldmVudCBjcmFzaGVzLgoJICBUaGlzIG1ha2VzIHRoZSBFQUdMIHZlcnNpb24gb2YgZWdsZ2xlc3NpbmsgcmV1c2FibGUuCgoyMDEzLTA0LTE4IDE3OjE4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTggMTY6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBVc2UgZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlKCkKCjIwMTMtMDQtMTggMTU6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdpdmUgb25seSBTRUNPTkRBUlkgcmFuawoJICBJZiBhdmFpbGFibGUgd2Ugc3RpbGwgcHJlZmVyIHh2aW1hZ2VzaW5rLgoKMjAxMy0wNC0xOCAxMjo1NDozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeGVzICdtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCcgd2FybmluZwoKMjAxMy0wNC0xOCAxMjoyNDoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoKMjAxMy0wNC0xOCAxMjoyNzoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCB3YXJuaW5ncyBidWlsZGluZyBvbiB0aGUgUlBJCgoyMDEzLTA0LTE4IDEyOjE2OjE3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgoyMDEzLTA0LTE3IDE0OjQ1OjE5IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIE1vdG9yb2xhIERpZ2lDaXBoZXIgSUkgTVBFRzIgdmlkZW8KCSAgU2luY2UgdGhlcmUgaXMgYSBjb25mbGljdCBiZXR3ZWVuIHRoZSBEQ0lJIHN0cmVhbSB0eXBlIGFuZCBCbHVSYXkKCSAgc3RyZWFtIHR5cGVzLCBtb3ZlZCB0aGUgcHJvY2Vzc2luZyBvZiBCbHVSYXktc3BlY2lmaWMgc3RyZWFtIHR5cGVzCgkgIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uLiAgT25seSBpZiBhIEJsdVJheSBzdHJlYW0gdHlwZQoJICBJUyBOT1QgZm91bmQgZG8gd2UgcHJvY2VlZCB0byBjaGVjayB0aGUgcmVzdCBvZiB0aGUgc3RyZWFtIHR5cGUKCSAgaWRlbnRpZmllcnMKCSAgUHJldmlvdXMgY29kZSB3YXMgYWxzbyAic29ydC1vZiIgaGFuZGxpbmcgYSBzaW1pbGFyIGNvbmZsaWN0IGJldHdlZW4KCSAgQmx1UmF5IEFDMyBhdWRpbyBhbmQgc3RhbmRhcmQgQUMzIGF1ZGlvLiAgTW92ZWQgdGhlIHNwZWNpYWwgY2FzZSBCbHVSYXkKCSAgQUMzIGhhbmRsaW5nIGluIHRoZSBtYWluIHN3aXRjaCBzdGF0ZW1lbnQgdG8gdGhlIG5ldyBCbHVSYXktc3BlY2lmaWMKCSAgc3dpdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODkyCgoyMDEzLTA0LTE4IDA5OjA3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgcXVpY2t0aW1lIHdyYXBwZXIgcGx1Z2luIGlzIG5vdCBwb3J0ZWQgeWV0IGVpdGhlcgoKMjAxMy0wNC0xOCAwODo1NjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIG9zeHZpZGVvc3JjIHBsdWdpbiBpcyBjYWxsZWQgb3N4X3ZpZGVvCgoyMDEzLTA0LTE4IDA3OjU0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4dmlkZW9zcmM6IEl0J3Mgbm90IHBvcnRlZCB0byAxLjAgeWV0CgoyMDEzLTA0LTE3IDEzOjQ4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR3N0Q29udGV4dCByZWZjb3VudGluZyBzb21lIG1vcmUKCjIwMTMtMDQtMTcgMTM6MTY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHc3RDb250ZXh0IHJlZmNvdW50aW5nCgoyMDEzLTA0LTE3IDEwOjQ4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIGZvciBHTFRleHR1cmVVcGxvYWRNZXRhIGFuZCBFR0wgQVBJIGNoYW5nZXMKCjIwMTMtMDQtMTcgMTA6NDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBVc2UgbmV3IHR5cGVzIGZyb20gbGliZ3N0dmlkZW8gaW5zdGVhZCBvZiBkZWZpbmluZyBvdXIgb3duCgoyMDEzLTAzLTI1IDE4OjMwOjE4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEbyBub3QgY2hlY2sgZm9yIFZVSSBwYXJhbWV0ZXJzIGlmIHRoZXkgd2VyZSBub3QgcHJlc2VudCBpbiB0aGUgU1BTCgoyMDEzLTA0LTE2IDIyOjUxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgc3VyZmFjZSBxdWVyaWVzCgkgIE90aGVyd2lzZSB3cm9uZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkLgoKMjAxMy0wNC0xNiAyMjoyNToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBzZXQgYSBkZWJ1ZyBjYXRlZ29yeSBmb3IgdGhlIGFkYXB0aW9uIGxheWVycwoKMjAxMy0wNC0xNiAyMjoyNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR2V0IHRoZSBFR0wvR0xFUyBleHRlbnNpb25zIGF0IHRoZSByaWdodCBwb3NpdGlvbgoKMjAxMy0wNC0xNiAyMjoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xfYWRhcHRhdGlvbl9jcmVhdGVfbmF0aXZlX3dpbmRvdyc6CgkgIGdzdGVnbGFkYXB0YXRpb25fZWdsLmM6ODY4OjM6IGVycm9yOiBmb3JtYXQgJyVwJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3ZvaWQgKicsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdFR0xOYXRpdmVXaW5kb3dUeXBlJyBbLVdlcnJvcj1mb3JtYXQ9XQoJICBHU1RfREVCVUdfT0JKRUNUIChjdHgtPmVsZW1lbnQsICJVc2luZyB3aW5kb3cgaGFuZGxlICVwIiwgd2luZG93KTsKCSAgXgoKMjAxMy0wNC0xMCAxNzoyNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IHJlZmFjdG9yIHRvIGFsbG93IGVhZ2wgc3VwcG9ydAoJICBQdXQgRUdMIHNwZWNpZmljIGNvZGUgdG8gYSBzZXBhcmF0ZSBmaWxlIGFuZCBjcmVhdGUgdGhlIHNhbWUgZnVuY3Rpb25zCgkgIGZvciBFQUdMLCB0aGUgQXBwbGUncyBzcGVjaWZpYyBFR0wgaW1wbGVtZW50YXRvbi4KCSAgQXQgdGhpcyBwb2ludCwgdGhlIEVBR0wgdmVyc2lvbiB3YXNuJ3QgY29tcGlsZWQgb3IgdGVzdGVkIGFzIHRoZXJlIGlzbid0CgkgIGFueSBzaW1wbGUgZG9jdW1lbnRlZCB3YXkgdG8gYnVpbGQgMS4wIGZvciBpT1MuIFRoaXMgY29kZSBmb3IgdGhlIEVBR0wKCSAgdmVyc2lvbiBpcyBzdGlsbCB0aGUgMC4xMCB2ZXJzaW9uLCBzb21lIHVwZGF0ZXMgc2hvdWxkIGJlIG1hZGUgd2hlbiAxLjAKCSAgaXMgYnVpbGRhYmxlIGZvciBpT1MuCgoyMDEzLTA0LTE1IDE3OjQzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVhZ2w6IGFkZCBpb3Mgd2luZG93IHN5c3RlbSBvcHRpb24gZm9yIGVnbGdsZXMgY29uZmlndXJlCgoyMDEzLTA0LTE1IDE4OjQwOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGlvczogdW5jb25kaXRpb25hbGx5IGNoZWNrIGlmIHdlIGFyZSBidWlsZGluZyBmb3IgaU9TCgkgIEluc3RlYWQgb2Ygb25seSBjaGVja2luZyBpZiBhcHBsZW1lZGlhIGlzIGdvaW5nIHRvIGJlIGJ1aWx0CgoyMDEzLTA0LTEwIDE0OjUzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiByZWZhY3RvciBlZ2wgZnVuY3Rpb25zL2RhdGEgdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIFRoaXMgaXMgcGFydCBvZiB0aGUgY2hhbmdlcyByZXF1aXJlZCB0byBtYWtlCgkgIGVnbGdsZXNzaW5rIHdvcmsgd2l0aCBib3RoIEVHTCBhbmQgQXBwbGUncyBFQUdMCgoyMDEzLTA0LTE2IDE2OjMwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmludCBFR0wvR0xFUyBleHRlbnNpb25zIGFmdGVyIHdlIGFyZSBhY3R1YWxseSBpbml0aWFsaXplZCBlbm91Z2gKCjIwMTMtMDQtMTYgMTY6MjM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogUHJvcGVybHkgc2V0IG91dHB1dCBmb3JtYXQgaW5zdGVhZCBvZiBqdXN0IHNldHRpbmcgY2FwcwoKMjAxMy0wNC0xNiAxNjoxNzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTZXQgcGFyZW50IGNsYXNzIGluIGNsYXNzX2luaXQKCjIwMTMtMDQtMTYgMTY6MDA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFuZGxlIHJlZmNvdW50cyBvZiBwYWQgdGVtcGxhdGVzIGNvcnJlY3RseQoJICBnc3RfcGFkX3RlbXBsYXRlX25ldygpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIGNhcHMgYW55bW9yZSBhbmQKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSgpIGRvZXMgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIHBhZCB0ZW1wbGF0ZSBub3cuCgoyMDEzLTA0LTE2IDE1OjMyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFVzZSAxLjAtc3R5bGUgcmF3IGF1ZGlvIGNhcHMKCjIwMTMtMDQtMTYgMTU6MzE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUHJvcGVybHkgc2V0IHN1YmNsYXNzZXMgbWV0YWRhdGEvcGFkIHRlbXBsYXRlcyBpbiBiYXNlX2luaXQKCjIwMTMtMDQtMTUgMTY6MDE6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGNoZWNrIHZhbHVlIGJlZm9yZSB1c2luZyBhcyBkZW5vbWluYXRvcgoKMjAxMy0wNC0xNSAxODoxOTozOCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NDogcHJpbnRmIGZvcm1hdCBmaXgKCSAgZ3N0dXZjaDI2NF9tanBnZGVtdXguYzo0Mzc6NTogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0dzdENsb2NrVGltZScKCjIwMTItMTAtMjQgMTI6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTE1IDE1OjEzOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIGNhbWVyYWJpbiBkaXJlY3RvcnkgdG8gdGhlIGNydWZ0IGRpcmVjdG9yaWVzCgoyMDEzLTA0LTE1IDA5OjAxOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZml4IHRpbWVvdXQgdmFsdWUKCSAgVGltZW91dCBvbiB1ZHBzcmMgaXMgaW4gbmFub3NlY29uZHMgaW4gMS4wCgoyMDEzLTA0LTE1IDAwOjIyOjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBBZGQgY29uZGl0aW9uYWwgb24gQVBJIHZlcnNpb24gZm9yIG5ldyBlbnVtCgoyMDEzLTA0LTA0IDE1OjU5OjA5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBkZWFkbG9jayBkcmFpbmluZyBxdWV1ZSBmcm9tIHRoZSBzYW1lIHRocmVhZAoKMjAxMS0wOC0xMCAxMjoxMzozNCArMDAwMCAgRmFicmljaW8gQ29zdGEgQWxpc2VkbyA8ZmFicmljaW8uY29zdGFAbW9sZGVvaW50ZXJhY3RpdmUuY29tLmFyPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkZWQgR3JhcGggQnVpbGRlciBhbmQgQ2FwdHVyZSBCdWlsZGVyIHRvIGNvcnJlY3RseSBjcmVhdGUgdXBzdHJlYW0gbmVlZGVkIGZpbHRlcnMgYnkgQW5hbG9nIFRWIENhcHR1cmUgRGV2aWNlcy4KCjIwMTItMTItMDEgMTY6MjQ6MjIgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMTMtMDQtMTUgMDg6NDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RlZ2xnbGVzc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbGdsZXNzaW5rX2ZpbGxfdGV4dHVyZSc6CgkgIGdzdGVnbGdsZXNzaW5rLmM6MTgxNTozOiBlcnJvcjogZm9ybWF0ICclZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdpbnQnLCBidXQgYXJndW1lbnQgMTEgaGFzIHR5cGUgJ2dzaXplJyBbLVdlcnJvcj1mb3JtYXRdCgkgIGdzdGVnbGdsZXNzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsZ2xlc3NpbmtfY29uZmlndXJlX2NhcHMnOgoJICBnc3RlZ2xnbGVzc2luay5jOjI4NTA6MzogZXJyb3I6IGZvcm1hdCAnJXAnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndm9pZCAqJywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0VHTE5hdGl2ZVdpbmRvd1R5cGUnIFstV2Vycm9yPWZvcm1hdF0KCjIwMTMtMDQtMTUgMDA6NDg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSAga2F0ZTogb25seSBzZW5kIGRlY29kZXIgb3V0cHV0IGNhcHMgb25jZSBvciB3aGVuIHRoZSBmb3JtYXQgY2hhbmdlcwoJICBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgYnVmZmVyLiBBbmQgIGFsc28gc2VuZCBhIGNhcHMKCSAgZXZlbnQgZm9yIHNwdSBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMjM6MjI6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBkZWNvZGVyIG91dHB1dCBjYXBzCgkgIEl0J3MgZWl0aGVyIHBhbmdvLW1hcmt1cCBvciB1dGY4LCBuZXZlciBib3RoIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMjM6MTk6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYXJrIGhlYWRlciBidWZmZXJzIGFzIHN1Y2gKCjIwMTMtMDQtMTQgMjM6MDg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZWVuYzogc2F2ZSBjdXJyZW50IGlucHV0IGZvcm1hdCBpbiBzZXRjYXBzCgoyMDEzLTA0LTE0IDIxOjI4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBwcmludGYgZm9ybWF0IHN0cmluZ3MgYW5kIGRpc2FibGUgdGlnZXIgZWxlbWVudAoKMjAxMy0wNC0wMSAxMjo0NzoxMyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogcG9ydCBLYXRlIHN1YnRpdGxlcyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAxNzo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWVkODdhZSB0byAzY2IzZDNjCgoyMDEzLTA0LTEyIDE3OjAxOjM4ICswMjAwICBBbGV4YW5kZXIgT2xzc29uIDxhbGV4b0BheGlzLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFjY2VwdCBhbnkganBlZyBpbnB1dCAtIHBhcnNlZCwgdW5wYXJzZWQgb3IgdW5tYXJrZWQKCSAgVGhlIHNyYyBlbGVtZW50IG1heSBub3QgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGV0aGVyCgkgIHRoZSBkYXRhIGlzIHBhcnNlZCBvciBub3QuIEhlbmNlIGRvIG5vdCByZXF1aXJlIHBhcnNlZD1mYWxzZS4KCSAgRml4ZXMgbXVsdGlwYXJ0ZGVtdXggISBqcGVncGFyc2UgISAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg4NAoKMjAxMy0wNC0xMiAxNDowOToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZTogYWRkIHN0YXJ0L3N0b3AgdG8gdmlkZW9maWx0ZXIKCjIwMTMtMDQtMTIgMTQ6MDg6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBlbGVtZW50LXRlbXBsYXRlczogYXZvaWQgdXNpbmcgUGFkVGVtcGxhdGVzCgoyMDEzLTA0LTEyIDE0OjA3OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBBZGQgaGVscGVyIGNvZGUgdG8gdHJhbnNmb3JtX2NhcHMKCjIwMTMtMDQtMTIgMTM6NTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvYW5hbHlzZTogcG9ydCB0byAxLjAKCjIwMTMtMDQtMDUgMjE6MzE6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHZpZGVvZmlsdGVyc2JhZDogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTEgMjI6MTU6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRlY3JlYXNlIGxvZyBwcmlvcml0eSBmb3IgcmVwZWF0aW5nIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4MzQKCjIwMTMtMDQtMTEgMTM6MzQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkgIHZpZGVvOiBSZW1vdmUgdmlkZW8gbGlicmFyeSBmcm9tIC1iYWQKCSAgVGhpcyBvbmx5IGNvbnRhaW5lZCBBUEkgdGhhdCBub3cgaGFzIHJlcGxhY2VtZW50cyBpbiBjb3JlIGFuZCBiYXNlLgoKMjAxMy0wNC0xMSAxMzowODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDaGVjayB0aGUgY29udGludWl0eSBjb3VudGVyIGZvciBub24tc2VjdGlvbiBwYWNrZXRzIHRvbwoJICBBbmQgaWYgd2UgZGV0ZWN0IGEgZGlzY29udGludWl0eSB0aGVyZSAobGlrZS4uLiB3aGVuIGxvc2luZyBwYWNrZXRzCgkgIG9yIGhhdmluZyBNUEVHVFMgb3ZlciByYXcgVURQIHdpdGggb3V0LW9mLW9yZGVyIHBhY2tldHMpIHdlIGp1c3QKCSAgZHJvcCB0aGUgY29ycmVzcG9uZGluZyBwYWNrZXQuCgkgIEEgZnV0dXJlIHZlcnNpb24gY291bGQgdHJ5IHRvIGltcGxlbWVudCBhIHJlLW9yZGVyaW5nIGFsZ29yaXRobSBiYXNlZAoJICBvbiB0aGF0LCBzaW1pbGFyIHRvIHdoYXQgcnRwaml0dGVyYnVmZmVyIGRvZXMuCgoyMDEzLTA0LTExIDEwOjA2OjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBtZnhkZW11czogdXBkYXRlIHRvZG8gKHRoZXIgZWlzIGEgbXV4ZXIpCgoyMDEzLTA0LTEwIDE2OjE5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENhbGwgOjpwcm9ncmFtX3N0b3BwZWQgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHN0cmVhbXMKCSAgU3ViY2xhc3NlcyB3YW50IHRvIGFjY2VzcyB0aGUgcHJvZ3JhbSB3aGlsZSByZW1vdmluZyB0aGUgc3RyZWFtcwoJICBhbmQgd2lsbCBjdXJyZW50bHkgY3Jhc2ggYmVjYXVzZSBvZiBkZXJlZmVyZW5jaW5nIE5VTEwgaW4gc29tZSBjYXNlcy4KCjIwMTMtMDQtMTAgMTE6MDY6NTIgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiByYWNlIGJldHdlZW4gZ19tYWluX2xvb3BfcnVuL19xdWl0IGZpeGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc2OTQKCjIwMTMtMDQtMDkgMjE6MzI6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IHN0b3Agb24gaW52YWxpZCBidWZmZXIKCjIwMTMtMDQtMDkgMjE6MzE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IENsZWFuZXIgc3RyZWFtIGNsZWFudXAKCjIwMTMtMDQtMDkgMjE6MzE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgY3Jhc2ggb24gaW52YWxpZCBjaXBoZXIKCjIwMTMtMDMtMjcgMTY6NDk6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IGZpeCBldmVudCBoYW5kbGluZwoKMjAxMy0wNC0wMSAxNTo1MjoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSAgeWFkaWY6IHJlbW92ZSBleHRyYSB0ZW1wbGF0ZSBjb2RlCgoyMDEzLTA0LTAxIDE1OjQ3OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogcmVtb3ZlIHRyYW5zZm9ybV9zaXplLCBpdCdzIG5vdCBuZWVkZWQKCjIwMTMtMDQtMDEgMjA6MTM6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9lbmNvZGVyOgoJICBlbGVtZW50LW1ha2VyOiBmaXggcmV0dXJuIHZhbHVlIGluIHZpZGVvZW5jb2RlcgoKMjAxMy0wNC0wMSAyMDoxMjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGNyZWF0ZSBiZXR0ZXIgZWxlbWVudCBuYW1lIHdoZW4gdXNpbmcgLS1wcmVmaXgKCjIwMTMtMDQtMDEgMjA6MDM6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBmaXggbGVhayB3aGVuIG5vdCBjb25uZWN0ZWQKCjIwMTMtMDQtMDkgMjE6MDA6MjggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA0YzdhMWUgdG8gYWVkODdhZQoKMjAxMy0wNC0wOCAxNzo0MDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBleHQ6IHByaW50ZiBmb3JtYXQgZml4ZXMgaW4gZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCgoyMDEzLTA0LTA4IDE3OjM0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBzeXM6IHByaW50IGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0wNyAxODo0MTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgVHJ1ZUhEIGF1ZGlvCgoyMDEzLTA0LTA1IDA5OjQxOjI2ICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogZml4IGJ1aWxkIG9uIE9TL1gKCSAgZ3N0aGFuZGRldGVjdC5oOjg0OiBlcnJvcjogZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAndWludCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzMwNQoKMjAxMy0wNC0wNSAwMDo0OTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHNoYWRlcnMgYXNzdW1lIDMyYnBwCgkgIEJhY2twb3J0IGZpeCBmb3IgY3Jhc2hlcyBhbmQgaW52YWxpZCB3cml0ZXMgaW4gdG90ZW0gZnJvbSBsaWJ2aXN1YWwKCSAgaW4gLWJhc2UsIHRvIG1pbmltaXNlIGRpZmZlcmVuY2VzIHRvIHZlcnNpb24gaW4gLWJhc2UgYW5kIHRvIG1ha2UKCSAgc3VyZSB0aGUgYnVnIGRvZXNuJ3Qgc25lYWsgYmFjayBpbiBsYXRlciB3aGVuIHRoZSBiYXNlIGNsYXNzIGlzCgkgIG1hZGUgcHVibGljLgoJICBUaGUgc2hhZGVyIGNvZGUgbG9va3MgbGlrZSBpdCBtYWtlcyBhc3N1bXB0aW9ucyB0aGF0IGFyZSBub3QKCSAgbmVjZXNzYXJpbHkgYWx3YXlzIHRydWUsIGV2ZW4gaWYgdGhleSdyZSB0cnVlIGZvciBub3cgZm9yIHRoZQoJICBleGlzdGluZyBlbGVtZW50cywgbmFtbHkgdGhhdCBwaXhlbCBzdHJpZGUgaXMgNCwgZm9yIGV4YW1wbGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNTI3CgoyMDEzLTAzLTE0IDExOjE1OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGhhbmRsZSBub24tZXhpc3RhbnQgcG9vbCBpbiB0aGUgZGVmYXVsdCBhbGxvY2F0aW9uIHF1ZXJ5CgkgIGdzdF9xdWVyeV9zZXRfbnRoX2FsbG9jYXRpb25fcG9vbCgpIHJlcXVpcmVzIHRoZXJlIHRvIGJlIGEgcG9vbCBpbiB0aGUKCSAgcXVlcnkgYWxyZWFkeS4gVGhpcyBpcyBub3QgYWx3YXlzIHRoZSBjYXNlIHdoZW4gd2UgZ2V0IHRoZSBxdWVyeSBmcm9tCgkgIHVwc3RyZWFtLiAgVXNlIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9wb29sKCkgaW5zdGVhZCBpbiBzdWNoIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE3MTkKCjIwMTMtMDEtMjkgMTA6MTg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogaW1wcm92ZSBhbGxvY2F0aW9uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdHRoZXcgV2F0ZXJzCgkgIEFkZCBwcml2YXRlIGRhdGEKCSAgQWRkIGRlY2lkZV9hbGxvY2F0aW9uIHZtZXRob2QKCSAgUmVmYWN0b3IgYnVmZmVycG9vbCBuZWdvdGlhdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNzE5CgoyMDEzLTA0LTAzIDE2OjEyOjAxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogdXNlIGJpbGluZWFyIGZpbHRlciBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIFVzZSB0aGUgYmlsaW5lYXIgc2NhbGxpbmcgZmlsdGVyIHdoZW4gdGhlIG1hZ25pZmllciBvciB0aGUgbWluaWZpZXIKCSAgZmlsdGVycyBhcmUgYXZhaWJsZS4gU29tZSBncmFwaGljcyBjYXJkcyBkbyBub3QgcHJvdmlkZSBtaW5pZmllciBmaWx0ZXJzCgkgIGJ1dCB3ZSB3YW50IHRvIHVzZSBpdCBmb3IgdXBzY2FsbGluZyBpZiBpdCdzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MTc2CgoyMDEzLTA0LTAzIDE0OjU1OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IEJ1bXAgbWluaW11bSByZXF1aXJlbWVudCB0byAyLjM2LjAKCSAgQW5kIGhhbmRsZSBoZWFkZXIgY2hhbmdlcyBpbiAyLjM2LjIKCjIwMTMtMDQtMDIgMjM6MzM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIGRvY3M6IGFkZCBzaW5jZSBtYXJrZXJzIHRvIG5ldyBjb2RlY3BhcnNlcnMgdmlkZW8gbWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTcxMgoKMjAxMy0wNC0wMSAxOTo0OTowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEltcGxlbWVudCBiYXNlc3JjLT51bmxvY2soKQoJICBUaGlzIGZpeGVzIC0+TlVMTCB0cmFuc2l0aW9uIHByb2JsZW1zIGlmIGxpYnJ0bXAgaXMgc3R1Y2sgaW4gYQoJICByZWN2IG9yIHNlbmQgY2FsbCB0aGF0IG5ldmVyIHJldHVybnMuCgoyMDEzLTAzLTMwIDE1OjA3OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkgIGVsZW1lbnQtbWFrZXI6IGNhbGwgdXAgaW4gYmFzZXRyYW5zZm9ybSB0ZW1wbGF0ZQoJICBNb3JlIHRlbXBsYXRlcyBzaG91bGQgYmUgZG9pbmcgdGhpczogZnVuY3Rpb24gaW1wbGVtZW50YXRpb25zCgkgIHNob3VsZCBjYWxsIHVwIHRvIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGluIHRoZSBiYXNlIGNsYXNzLgoKMjAxMy0wNC0wMSAyMjozODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGNoZWNrIGZvciBibHVleiBmb3IgYmx1ZXRvb3RoL2JsdWV0b290aC5oCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY2hpbmVzIHdoZXJlIGJsdWV6IGhlYWRlcnMgYXJlIG5vdCBhdmFpbGFibGUuCgoyMDEzLTA0LTAxIDIxOjQ5OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBibHVlejogZW5hYmxlIGJsdWV6IHBsdWdpbgoJICBTZWVtcyB0byBtb3N0bHkgd29yayBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDQtMDEgMjE6NDg6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgc29mdCBsaWJvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjE3CgkgIFRvIG1hdGNoIC1iYXNlIGFuZCAtZ29vZC4gQWxzbyBmaXhlcyBwb3RlbnRpYWwKCSAgY3Jhc2ggd2hlbiBhIGZhbGxiYWNrIGZ1bmN0aW9uIGhhcyB0byBiZSB1c2VkLgoKMjAxMy0wNC0wMSAxMDoyMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIHRoZSBFR0xJbWFnZSBhbmQgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGNhcHMgZmVhdHVyZXMKCjIwMTMtMDQtMDEgMTA6MjA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgYSAjZGVmaW5lIGZvciB0aGUgRUdMSW1hZ2UgbWVtb3J5IGNhcHMgZmVhdHVyZQoKMjAxMy0wNC0wMSAwOToxMzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogRG9uJ3QgaW5jbHVkZSByc3ZnLWNhaXJvLmggZGlyZWN0bHkKCSAgSW5jbHVkaW5nIGl0IGRpcmVjdGx5IGlzIG5vdyBkZXByZWNhdGVkCgoyMDEzLTA0LTAxIDA5OjEwOjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR011dGV4IG1ldGhvZHMKCjIwMTMtMDMtMjkgMTc6NTc6MTIgKzAxMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogUG9ydCB0byAxLjAKCSAgQWxzbyBwb3J0IHRoZSBkZWNvZGVyIHRvIHRoZSBHc3RWaWRlb0RlY29kZXIKCjIwMTItMDktMjAgMTk6MDM6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkgIHZkcGF1OiBQb3J0IHRvIDEuMAoJICBOZXcgYmFzZSBjbGFzcyBmb3IgdmRwYXUgZGVjb2RlcnMKCSAgKiBtcGVnMiBwb3J0ZWQgYW5kIGFjdGl2YXRlZAoJICAqIGgyNjQgcG9ydGVkIGJ1dCBkZWFjdGl2YXRlZAoJICAqIFVzZXMgR3N0TXBlZ1ZpZGVvIG1ldGEKCjIwMTItMTItMjMgMDE6NTQ6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBPbmx5IGFkZCBtZXRhIGlmIGRvd25zdHJlYW0gbmVlZHMgaXQKCSAgSXQncyBub3QgcGVyZmVjdCwgYmVjYXVzZSBpbiB0aGUgY2FzZXMgd2hlcmUgdXBzdHJlYW0gZG9lc24ndAoJICBpbml0aWF0ZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5LCB3ZSB3b24ndCBrbm93LgoKMjAxMi0wOS0yMCAxODoyNzoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFN0b3JlIGluZm9ybWF0aW9uIGluIEdzdE1wZWdWaWRlbzEyTWV0YQoJICBGSVhNRSA6IE9ubHkgZG8gc28gaWYgd2Uga25vdyBkb3duc3RyZWFtIHdpbGwgbmVlZCBpdAoKMjAxMi0wOS0yMCAxODowMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIE1wZWcgVmlkZW8gR3N0TWV0YQoJICBUaGlzIGNhbiBiZSB1c2VkIGJ5IHBhcnNlcnMgdG8gcHJvdmlkZSBwcmUtcGFyc2VkIGluZm9ybWF0aW9uIHRvCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgdGhhdCB3b3VsZCByZXF1aXJlIGl0IChzbyB0aGV5IGNhbiBhdm9pZCBoYXZpbmcKCSAgdG8gcGFyc2UgdGhlIGJpdHN0cmVhbSBhZ2FpbikuCgoyMDEyLTEyLTI2IDEzOjE2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBGaXggcGljdHVyZSBwYWNrZXQgZXh0ZW5zaW9uIHNpemUgY2hlY2sKCSAgSXQgaXMgYXQgbGVhc3QgMzQgYml0IGJpZyAoNSBieXRlcyB3aXRoIGJ5dGUgcGFkZGluZykKCjIwMTMtMDMtMzEgMTI6MTE6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICBkdmI6IE1vdmUgQ0FNIGhhbmRsaW5nIHRvIGEgc2VwYXJhdGUgR3N0VGFzawoJICAqIE5vIGxvbmdlciBibG9ja3MgaW4gUkVBRFk9PlBBVVNFRCAoZmFzdGVyIHN0YXJ0dXApCgkgICogTm8gbG9uZ2VyIHJlcXVpcmVzIGEgcGFkIHByb2JlCgoyMDEzLTAzLTMxIDExOjQ2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgZ3N0X2VsZW1lbnRfZ2V0X2NvbnRleHQoKSB3aGVyZXZlciBwb3NzaWJsZQoKMjAxMy0wMy0zMCAxMzo0MDoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFdlIG91dHB1dCB0aW1lIHNlZ21lbnRzCgkgIEZpeGVzICM2OTA5NDkKCjIwMTMtMDMtMzAgMTM6Mzk6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNwYXJzZTogRW5zdXJlIHNlZ21lbnQgZXZlbnRzIGFyZSBmb3J3YXJkZWQKCSAgV2Ugc2tpcCB0aGVtIGZvciB0c2RlbXV4IHRob3VnaCAocmVjcmVhdGVkIGxhdGVyKQoJICBGaXhlcyAjNjkwOTQ5CgoyMDEzLTAzLTMwIDEwOjI1OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHB1c2ggc3RyZWFtIHN0YXJ0IGV2ZW50CgoyMDEzLTAzLTMwIDEwOjU3OjA4ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlcjogZW5zdXJlIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIGFuZCBmaXggZGVidWcgbWVzc2FnZSBhY2Nlc3MKCjIwMTMtMDMtMzAgMDk6NTI6NDUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZXI6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSB1c2UKCjIwMTMtMDMtMjggMTc6NDg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsZ2xlc3Npbms6IEltcGxlbWVudCBHc3RDb250ZXh0IGhhbmRsaW5nCgoyMDEzLTAzLTI5IDE2OjExOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgYSBzZXBhcmF0ZSB0ZXh0dXJlIGZvciB0aGUgY3VzdG9tIHRleHR1cmVzCgoyMDEzLTAzLTI5IDE2OjA1OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTMtMDMtMjkgMTA6MzM6MTAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogY2hlY2sgb24gdGhlIHByb3BlciBkaXNwbGF5IGFuZCBpbmRlbnQgc29tZSBsaW5lcwoKMjAxMy0wMy0yOCAxNDozNjoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2Ugc3VyZSB0aGUgemVyby1zaXplZCBhcnJheSBpcyBhbHdheXMgbGFzdCBpbiB0aGUgc3RydWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODEKCjIwMTMtMDMtMjUgMTQ6MTg6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogVXBkYXRlIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTI4IDE3OjM2OjA3ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJICBibHVlejogUmVtb3ZlIGEyZHBzcmMgYmluCgkgIFRoaXMgZWxlbWVudCBpc24ndCByZWFsbHkgdXNlZnVsLiBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gdXNlIHRoaXMgdG8KCSAgZXZlbnR1YWxseSBhbGxvdyBkeW5hbWljYWxseSBwaWNraW5nIGEgZm9ybWF0IGJhc2VkIG9uIHdoYXQgd2UgY2FuCgkgIHN1cHBvcnQgd2hpbGUgbmVnb3RpYXRpbmcgd2l0aCB0aGUgc291cmNlIGRldmljZS4gV2UgY2FuIGp1c3QgcGx1ZyBpbiBhCgkgIGRlY29kZWJpbiBkb3duc3RyZWFtIGFuZCBpdCdsbCBoYW5kbGUgUlRQIGRlcGF5bG9hZGluZyBhbmQgZGVjb2Rpbmcgb2YKCSAgd2hhdGV2ZXIgZm9ybWF0IHdlIG5lZ290aWF0ZWQgd2l0aCB0aGUgc291cmNlIGRldmljZS4KCjIwMTMtMDMtMTQgMTg6MDQ6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IENvbXBpbGUgZml4ZXMgZm9yIGF2ZHRwc3JjL2EyZHBzcmMgY29kZSBhZ2FpbnN0IDEueAoKMjAxMy0wMy0xNCAxMzowOToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSAgYmx1ZXo6IEFkZCBhdmR0cHNyYy9hMmRwc3JjIHRvIGJ1aWxkCgoyMDEzLTAzLTE0IDEyOjU4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1cCBzb21lIHByb2JsZW1zIHRoYXQgY2FtZSBpbiB3aXRoIGNoZXJyeS1waWNrCgoyMDEzLTAxLTA4IDEwOjE5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBXZSB3b3JrIGluIFRJTUUgZm9ybWF0IHdpdGggYXZkdHBzcmMKCjIwMTItMTAtMjkgMTY6NDU6NDQgKzA1MzAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGRlcHJlYWNhdGlvbiB3YXJuaW5ncyBvbiBnX211dGV4XyoKCjIwMTItMTAtMjkgMTY6NDU6MjUgKzA1MzAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmg6CgkgIGJsdWV6OiBGaXggYSBudW1iZXIgb2YgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTAtMjkgMTU6NDk6MDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBGaXggc29tZSB3YXJuaW5ncyBpbiBnc3RhdmR0cHV0aWwuYwoKMjAxMi0xMC0xMiAxODo1MjoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBGaXggdHlwbyBpbiByZXNldHRpbmcgdGhlIEQtQnVzIGNvbm5lY3Rpb24KCSAgTm8gcmVhbCBlZmZlY3Qgc2luY2UgRkFMU0UgYW5kIE5VTEwgYXJlIGJvdGggMAoKMjAxMi0xMC0xMSAxNTo0ODo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEhhbmRsZSBFT0YgaW4gYXZkdHBzcmMgY29ycmVjdGx5CgoyMDEyLTEwLTExIDA4OjU3OjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogRml4IGF2ZHRwc3JjIGdldGNhcHMoKSBmdW5jdGlvbgoJICBUaGlzIGlzIG5vdyBhIHByb3BlciBzdWJzZXQgb2YgdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDEyLTEwLTExIDA4OjM4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBBZGQgYW4gYTJkcHNyYyBiaW4gZWxlbWVudAoJICBUaGlzIHdyYXBzIGF2ZHRwc3JjICsgcnRwc2JjZGVwYXkgaW50byBhIHNpbmdsZSBlbGVtZW50LiB3aGVuIG1vcmUKCSAgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIGluIGF2ZHRwc3JjLCBwYXlsb2FkZXIgc2VsZWN0aW9uIHdpbGwgbmVlZCB0byBiZQoJICBkb25lIGR5bmFtaWNhbGx5LgoJICBUaGlzIGNvdWxkIGFsc28gYmUgZXh0ZW5kZWQgdG8gYWNjZXB0IGEgZGV2aWNlLCBjb25uZWN0IHRvIGl0LCBhbmQKCSAgcHJvdmlkZSBhdmR0cHNyYyBhIHRyYW5zcG9ydCAoaW5zdGVhZCBvZiBwYXNzaW5nIHRocm91Z2ggYSB0cmFuc3BvcnQgYXMKCSAgaXQgZG9lcyBub3cpLgoKMjAxMi0xMC0xMSAwODoyNDowNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEZpeCBhdmR0cHNyYyBjbGFzc2lmaWNhdGlvbgoKMjAxMi0xMC0xMCAyMTozODo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBCdW1wIHVwIHByaW9yaXR5IGZvciBzb2NrZXRzIGluIEFWRFRQIGVsZW1lbnRzCgkgIFRoaXMgaXMgYmFzZWQgb24gdGhlIGNvZGUgaW4gUHVsc2VBdWRpby4KCjIwMTItMTAtMTAgMTk6NDk6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogQWRkIGFuIGF2ZHRwc3JjIGVsZW1lbnQKCSAgU291cmNlIGVsZW1lbnQgdGhhdCBjb25uZWN0cyB0byBhIGdpdmVuIHRyYW5zcG9ydCBhbmQgcmVhZHMgYXVkaW8gb3ZlcgoJICBBVkRUUC4gRG9lcyBub3QgcHJvdmlkZSBhIGNsb2NrIGJ1dCB1c2VzIHRoZSBzeXN0ZW0gY2xvY2sgdG8gdGltZXN0YW1wCgkgIGluY29taW5nIHBhY2tldHMuIE9ubHkgU0JDIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQuCgoyMDEzLTAzLTI4IDE2OjUxOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGEgYm94ZWQgdHlwZSBmb3IgR3N0RUdMRGlzcGxheQoKMjAxMy0wMy0yOCAxMzoxODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2JjOiBhY3R1YWxseSBlbmFibGUgcGx1Z2luIGlmIGxpYnNiYyBpcyBhdmFpbGFibGUKCjIwMTMtMDMtMjcgMTM6MTE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogcG9ydCBlbmNvZGVyIHRvIEdzdEF1ZGlvRW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI2IDEzOjU1OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9zYmMtcGx1Z2luLmM6CgkgIHNiYzogcG9ydCBkZWNvZGVyIHRvIEdzdEF1ZGlvRGVjb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTE2IDExOjM2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkqIGV4dC9zYmMvc2JjLXBsdWdpbi5jOgoJICBzYmM6IGltcG9ydCBzYmMgZGVjb2Rlci9lbmNvZGVyIGZyb20gYmx1ZXogYW5kIHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjcgMjI6MjQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNZXJnZSBTQkMgZGVjb2RlciBhbmQgZW5jb2RlciBmcm9tIGJsdWV6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjYgMTY6NTA6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IG5ldyBlbGVtZW50CgoyMDEzLTAzLTI3IDAwOjU2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogcmVtb3ZlIHBhcnNlciBpbiBmYXZvdXIgb2YgbmV3IEdzdEJhc2VQYXJzZS1iYXNlZCBzYmNwYXJzZSBpbiAtZ29vZAoKMjAxMy0wMS0wOCAxMDoxOTozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogc2JjZGVjOiBtYWtlIGRlY29kZXIgbW9yZSBwZXJmb3JtYW50CgkgIFVzZSBhbiBhZGFwdGVyIHRvIGFjY3VtdWxhdGUgaW5wdXQgYnVmZmVycy4KCSAgRGVjb2RlIGFsbCBpbnB1dCBpbiBvbmUgb3V0cHV0IGJ1ZmZlciB3aGVuIHBvc3NpYmxlIHRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIHB1c2gKCSAgb3BlcmF0aW9ucy4KCjIwMTItMTAtMzAgMTg6NDE6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogc2tpcCB0aGUgZnJhbWUgb24gZGVjb2RpbmcgZXJyb3IKCjIwMTItMTAtMjkgMTc6MjI6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogc2V0IERJU0NPTlQgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMTItMTAtMjkgMTc6MTk6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IHNiY2RlYzogaGFuZGxlIERJU0NPTlQgYW5kIHRpbWVzdGFtcHMKCSAgUmVzZXQgc3RhdGUgb24gZGlzY29udC4KCSAgSW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMuCgoyMDEyLTEwLTAzIDEyOjQ3OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogYXVkaW86IE1ha2UgdGhlIHNiY2RlYyBlbGVtZW50IGNvcHkgYnVmZmVyIG1ldGFkYXRhCgkgIE1ha2VzIHN1cmUgd2UgZG9uJ3QgbG9zZSB0aW1lc3RhbXBzLCBldGMuCgoyMDEyLTEwLTI5IDEyOjQ5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBlbmM6IHNiY19nZXRfZnJhbWVfZHVyYXRpb24gaXMgaW4gbWlsbGlzZWNvbmRzCgoyMDEyLTEwLTI5IDEyOjM3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBkZWM6IGNoYWluIHVwIHRvIHBhcmVudCBiZWZvcmUgZG93bndhcmQgc3RhdGUgY2hhbmdlCgoyMDEyLTEwLTEyIDE4OjUzOjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogYXVkaW86IEZpeCBhIGxlYWsgaW4gc2JjZGVjCgoyMDEyLTA5LTI2IDA5OjU0OjAxICswODAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBhdWRpbzogSW5pdGlhbGlzZSBTQkMgZGF0YSBiZWZvcmUgdXNlIGluIHNiY3BhcnNlIGVsZW1lbnQKCjIwMTItMDgtMjEgMTE6NDk6MjQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZXMgb24gcG9pbnRlciBkZWNsYXJhdGlvbnMgYW5kIGNhc3RpbmcKCSAgQXZvaWQgdXNpbmcgQysrIHN0eWxlIHBvaW50ZXIgZGVjbGFyYXRpb25zIGxpa2UgImNoYXIqIHB0ciIsIGFzIG1vc3QKCSAgQmx1ZVogY29kZSB1c2VzICJjaGFyICpwdHIiLgoKMjAxMi0wNC0xMiAyMDozMzowNiArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBhdWRpbzogRml4IG5ld2xpbmUgYmVmb3JlIEVPRgoKMjAxMS0wNy0wMiAxMjozMjo0MCAtMDMwMCAgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBjb21tb24gbWlzc3BlbGxlZCB3b3JkcwoJICBBY2NvdW50aW5nIG9mIG1pc3NwZWxsZWQgd29yZHMsIGFzIGRldGVjdGVkIGJ5IGNvZGVzcGVsbDoKCSAgYWNvcmRpbmcgICAgICAyCgkgIGFuY2lsbGlhcnkgICAgMQoJICBhcHByb3BpYXRlICAgIDEKCSAgYXRyaWJ1dGUgICAgICAxCgkgIGNhbnQgICAgICAgICAgMQoJICBjb21taW5nICAgICAgIDIKCSAgZ3JhY2VmdWxsICAgICAxCgkgIGxlbmdodCAgICAgICAgMQoJICBtaXNwZWxsZWQgICAgIDEKCSAgb2NjdXJlZCAgICAgICAxCgkgIG9jY3VyZW5jZXMgICAgMQoJICBvY3VycmVkICAgICAgIDMKCSAgcHJlZmVyZWQgICAgICAxCgkgIHByZXNlbnNlICAgICAgMQoJICByZXBvbnNlICAgICAgIDEKCSAgc2VwZXJhdGUgICAgICAxCgkgIHN1Y2Nlc2Z1bCAgICAgMQoJICBzdWNjZXNzdWxseSAgIDEKCSAgc3VjZXNzZnVsbCAgICAxCgkgIHN1Y2Vzc2Z1bGx5ICAgMQoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IGF1ZGlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTA0LTAxIDEwOjQ1OjMwIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDQtMDEgMTA6Mjk6MzEgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDEtMzAgMDA6MzE6MTUgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiBpc3N1ZSB3aXRoaW4gR1N0cmVhbWVyIHBsdWdpbgoKMjAwOS0wMS0xOSAxMDoyNjoyOCArMDIwMCAgU2lhcmhlaSBTaWFtYXNoa2EgPHNpYXJoZWkuc2lhbWFzaGthQGdtYWlsLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogVXNlIG5hdGl2ZSBieXRlIG9yZGVyIGZvciBhdWRpbyBpbiBHU3RyZWFtZXIgYW5kIEFMU0EgcGx1Z2lucwoJICBUaGlzIGZpeGVzIGVuZGlhbm5lc3MgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGRlZmF1bHQgU0JDCgkgIGNvbmZpZ3VyYXRpb24gYW5kIEdTdHJlYW1lci9BTFNBLgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIzIDA0OjIxOjU3ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBBc3NpZ24gdmFyaWFibGVzIGFmdGVyIGRlY2xhcmF0aW9ucwoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMTQgMjE6MjI6MzggKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IE1ha2UgdXNlIG9mIHBhcmFtZXRlcnMgc2VsZWN0ZWQgaW4gYWxzYSBwbHVnaW4gYW5kIGZpeCBhdXRvIHNlbGVjdGlvbi4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMi0wMSAxOToyODozNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBiaXRwb29sIHByb3BlcnR5IGFuZCBvdGhlcnMgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTMwIDE3OjMwOjI3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBFbmFibGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgYXV0b2Nvbm5lY3QgZmxhZy4KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjQgMTQ6MjU6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBndHJlYW1lciBwYXlsb2FkZXIgc2VuZGluZyBmcmFnbWVudGVkIGZyYW1lcy4KCjIwMDgtMDEtMjMgMTM6MTk6MzIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgbXAzIHN1cHBvcnQgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDA3LTExLTIzIDE3OjAwOjEzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IENvZGUgY2xlYW51cC4KCjIwMDctMTEtMjEgMjA6MjQ6MTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEludGVncmF0ZSBuZXcgaXBjIEFQSSBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMTEtMTMgMjA6MDQ6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogQWRkIHNiY19yZWluaXQuCgoyMDA3LTExLTEyIDIyOjIxOjQ1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEZpeCBidWcgaW4gc2JjZW5jIHdoZW4gY2hhbmdpbmcgZW5jb2RlciBwYXJhbWV0ZXJzLgoKMjAwNy0xMS0xMiAxODoxNTo1OSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBNYWtlIHNiYyBjb2RlYyB0byB3cml0ZSBkaXJlY3RseSBpbiBhcHBsaWNhdGlvbiBidWZmZXJzIGFuZCBzbyBhdm9pZGluZyBtZW1jcHlzLgoKMjAwNy0xMS0wMSAxOTo0NTowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IHNiYyBuZWdvdGlhdGlvbiBhbmQgaW1wcm92ZXMgYnVmZmVyIGhhbmRsaW5nIGJ5IHVzaW5nIEdzdEFkYXB0ZXIuCgoyMDA3LTExLTAxIDEzOjU2OjUxICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEZpeCBidWZmZXJzIHRpbWVzdGFtcHMgaW4gc2JjZW5jLgoKMjAwNy0xMC0yOSAxNTowMjoyNiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGJpdHBvb2wgY2FwYWJpbGl0eS4KCjIwMDctMTAtMjQgMjE6NTE6MzcgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBTb21lIG1vcmUgY29kaW5nIHN0eWxlIGNoYW5nZXMKCjIwMDctMTAtMjQgMjE6MzY6MjkgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IERvbid0IGZvcmdldCB0byBpbmNsdWRlIHRoZSBjb25maWcgb3B0aW9ucwoKMjAwNy0xMC0yNCAyMTozMzoxOCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzCgoyMDA3LTEwLTE4IDIyOjQ2OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMuCgoyMDA3LTEwLTE4IDIxOjQ3OjUzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4ZXMgc2JjcGFyc2VyIGVsZW1lbnQuCgoyMDA3LTEwLTE4IDIxOjQ2OjQ5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXhlcyBmb3IgZ3N0c2JjZW5jLgoKMjAwNy0xMC0xOCAyMTo0NToxNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBnc3RzYmN1dGlsLmMgYW5kIGdzdHNiY3V0aWwuaC4KCjIwMDctMDgtMjcgMTQ6MTA6MDAgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGb3JjZSBMSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgQllURV9PUkRFUiBmb3Igbm93CgoyMDA3LTA4LTI2IDEzOjU5OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBwYXJzaW5nIHN1cHBvcnQKCjIwMDctMDgtMjYgMTM6MTI6NDcgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQWRkIG1vZGUgcHJvcGVydHkgdG8gdGhlIGVuY29kZXIKCjIwMDctMDgtMjUgMTk6MzI6MDMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgZW5jb2Rpbmcgc3VwcG9ydAoKMjAwNy0wOC0yNSAxODo1MDoyOCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBGaXggY2xhc3MgdmFyaWFibGUgbmFtaW5nCgoyMDA3LTA4LTI1IDE3OjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IExpbWl0IHRoZSBzdXBwb3J0ZWQgb3V0cHV0IHJhdGVzCgoyMDA3LTA4LTI1IDE3OjAzOjAzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIGRlY29kaW5nIHN1cHBvcnQKCjIwMDctMDgtMjMgMTk6MTI6MjMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQWRkIFNCQyBlbmNvZGVyIGFuZCBkZWNvZGVyIHNrZWxldG9ucyBmb3IgR1N0cmVhbWVyCgoyMDEzLTAzLTI3IDA5OjA4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE1ha2Ugc3VyZSB0aGF0IGFsbCBidWZmZXJzIGluIG91ciBwb29sIGNvbnRhaW4gb3VyIG93biBtZW1vcnkKCjIwMTMtMDMtMjYgMTU6MjI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBJbml0aWFsIHBvcnQgdG8gMS4wCgkgIFRoaXMgc2hvdWxkIHJlYWxseSB1c2UgR3N0QXVkaW9TaW5rIGFuZCBHc3RBdWRpb1NyYy4KCjIwMTMtMDMtMjYgMTU6MDE6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGk6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDMtMjYgMTQ6MTU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIGNyb3AgbWV0YQoKMjAxMy0wMy0yNiAxMzoyMjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IHdlIG5lZWQgYSByZWNlbnQtZW5vdWdoIGdudXRscyBmb3IgaGxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY1OTcKCjIwMTItMTItMjIgMjE6NTk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IEltcGxlbWVudCBhIGJ1ZmZlciBwb29sIHRoYXQgc2hhcmVzIEQzRCBzdXJmYWNlcyB3aXRoIHVwc3RyZWFtCgoyMDEyLTEyLTIyIDE5OjEyOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEFsbG9jYXRlIGEgbmV3IG9mZnNjcmVlbiBzdXJmYWNlIGZvciBldmVyeSBidWZmZXIKCSAgVGhpcyBpcyBhIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgYSBidWZmZXIgcG9vbC4KCjIwMTMtMDMtMjUgMTg6MDQ6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXNlICUwM3UgZm9yIGZvcm1hdCBpbiBnc3RfcGFkX2NyZWF0ZV9zdHJlYW1faWRfcHJpbnRmKCkKCjIwMTMtMDMtMjUgMTM6NDg6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogRml4IGZpbHRlciBoYW5kbGluZyBpbiBjYXBzIG5lZ290aWF0aW9uIHRvIGtlZXAgZmlsdGVyIGNvbnRlbnQKCjIwMTMtMDMtMjUgMDk6NDU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBmaXggYnVpbGQgZm9yIG9iamMKCSAgVGhlIG9iai1jIGFwaSB2ZXJzaW9uIG9wdGlvbiBpcyByZXF1aXJlZCB0byBnZXQgYXBwbGVtZWRpYSB0bwoJICBidWlsZCBmb3IgaW9zLCBvdGhlcndpc2UgaXQgd29uJ3QgZmluZCBzb21lIHN5bWJvbHMgZHVyaW5nIGxpbmtpbmcKCjIwMTMtMDMtMjUgMTA6MTA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2VkOiBzZXQgYm90aCBEVFMgYW5kIFBUUwoJICBIYW5kbGUgYm90aCBkdHMgYW5kIHB0cyBvbiBvdXRwdXQgYnVmZmVycy4KCjIwMTMtMDMtMTAgMTI6MTc6MDUgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiByZW1vdmUgdW51c2VkIGN1cnJlbnRfcHJvZ3JhbV9udW1iZXIgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDkzNAoKMjAxMy0wMy0yMiAxOTo0MDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IHNlbmQgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBhbHNvIGluIHB1c2ggbW9kZQoJICBXaGVuIGNvbnZlcnRpbmcgdGhlIGluY29taW5nIHNlZ21lbnQgZnJvbSBieXRlIHRvIHRpbWUgZm9ybWF0LAoJICBkb24ndCBqdXN0IGNvbnZlcnQgdGhlIHN0YXJ0L3N0b3AvdGltZSB2YWx1ZXMsIGJ1dCBhbHNvIGNoYW5nZQoJICB0aGUgc2VnbWVudCBmb3JtYXQgdG8gVElNRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM2MQoKMjAxMy0wMy0yMiAxNTozMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQgaWYgZ251dGxzIGlzIG5vdCBwcmVzZW50CgkgIFNraXAgYnVpbGQgb2YgaGxzIHBsdWdpbiBpZiBnbnV0bHMgaGVhZGVycyBjYW4ndCBiZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM5MgoKMjAxMy0wMy0yMiAxNTo0OToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IFVzZSB0aGUgY29ycmVjdCBzdHJpZGVzIGFzIHVzZWQgYnkgeTRtIGFuZCBjb252ZXJ0IHRvIEdTdHJlYW1lciBzdHJpZGVzIGlmIG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzYxCgoyMDEzLTAzLTIyIDE1OjE5OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmg6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiByZW5hbWUgdG8gZmx1aWRkZWMKCSAgUmVuYW1lIHRoZSBmbHVpZHN5bnRoIHBsdWdpbiB0byBmbHVpZHN5bnRobWlkaSBhbmQgdGhlIGRlY29kZXIKCSAgdG8gZmx1aWRkZWMgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggYnV6enRhcmQuCgoyMDEzLTAzLTIyIDE0OjUyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogVXNlIHRoZSBkZWZhdWx0IGV2ZW50L3F1ZXJ5IGhhbmRsZXJzIGZvciB0aGUgZGVmYXVsdCBoYW5kbGluZwoJICBFc3BlY2lhbGx5IGRvbid0IGZvcndhcmQgY2FwcyBldmVudHMgZnJvbSB0aGUgc2lua3BhZCB0byB0aGUgc3JjcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjgyCgoyMDEzLTAzLTIyIDE0OjM3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogUHJvcGVybHkgaGFuZGxlIHNlZ21lbnQgYW5kIHRpbWUgdmFsdWVzIG9mIC0xCgoyMDEzLTAzLTIyIDE0OjQ4OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBzZXQgbWlkaSBwYXJzZXIgcmFuayBwcmltYXJ5CgkgIE5vdyB0aGF0IGl0IHN1cHBvcnRzIHNlZWtpbmcgYW5kIGFsbCwgbWFyayBpdCBwcmltYXJ5CgoyMDEzLTAzLTIyIDEzOjQ5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogYWx3YXlzIHNlZWsgYmFjayB0byBiZWdpbm5pbmcKCSAgV2UgYWx3YXlzIG5lZWQgdG8gc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgYmVjYXVzZSB3aGVuIHdlIGRvIGEgZmx1c2hpbmcgc2VlaywKCSAgd2UgbWlnaHQgaGF2ZSBsb3N0IGV2ZW50cyBkb3duc3RyZWFtLgoKMjAxMy0wMy0yMiAxMzo0ODoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogZml4IGRlYnVnIG9mIHNlZ21lbnQgc3RydWN0dXJlCgoyMDEzLTAzLTIyIDEzOjQ4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGhhbmRsZSBkaXNjb250CgoyMDEzLTAzLTIyIDEyOjI1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGltcGxlbWVudCBzZWVraW5nCgkgIFNlZWsgYmFjayB0byAwIGZvciBiYWNrd2FyZCBzZWVraW5nIGFuZCBsZXQgdGhpbmdzIHJ1biBhbmQgY2xpcCBmb3IgZm9yd2FyZHMKCSAgc2Vla2luZy4KCjIwMTMtMDMtMjIgMTI6MTY6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IHJlc2V0IG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2UKCjIwMTMtMDMtMjIgMTE6MDQ6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogYWRkIHByb3BlcnRpZXMKCSAgQWRkIHByb3BlcnRpZXMuCgkgIFRyeSB0byBmaW5kIGEgZ29vZCBkZWZhdWx0IHNvdW5kZm9udCB3aGVuIG5vdCBzcGVjaWZpZWQuCgoyMDEzLTAzLTIyIDA4OjU0OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBsb2cgbWlkaSB0aWNrIGV2ZW50CgoyMDEzLTAzLTIyIDA4OjU0OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiByZWRpcmVjdCBsb2dnaW5nIHRvIGdzdCBsb2dnaW5nIGZ1bmN0aW9ucwoKMjAxMy0wMy0yMSAxODoxODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNpbXBsaWZ5IHRoZSBjYWxsYmFja3MKCSAgV2Ugb25seSBuZWVkIG9uZSBjYWxsYmFjayB0byBzZW5kIGJ5dGVzIG91dC4KCjIwMTMtMDMtMjEgMTg6MTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGltcHJvdmUgZGVidWcKCjIwMTMtMDMtMjEgMTc6MjU6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBjbGVhbiB1cCB0cmFja3MKCjIwMTMtMDMtMjEgMTc6MTY6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogZG9uJ3QgbGVhayBtaWRpIGRhdGEKCjIwMTMtMDMtMjEgMTc6MDU6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogcHJvZHVjZSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMKCjIwMTMtMDMtMjEgMTY6MDU6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzbWFsbCBjbGVhbnVwcyBpbiBlcnJvciBwYXRocwoKMjAxMy0wMy0yMSAxNjowNTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGR1cmF0aW9uIGlzIG1heCBvZiBhbGwgdHJhY2sgZHVyYXRpb25zCgoyMDEzLTAzLTIxIDE2OjA0OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogZml4IGtsYXNzCgoyMDEzLTAzLTIxIDE1OjQzOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IEluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNweSgpCgoyMDEzLTAzLTIxIDE1OjAwOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IFVwZGF0ZSBkdXJhdGlvbgoJICBSZXdvcmsgdGhpbmdzIGEgYml0IHNvIHRoYXQgd2UgY2FuIHJ1biBvdmVyIHRoZSBtaWRpIGV2ZW50cyBhbmQgZmlyZSBjYWxsYmFja3MKCSAgZm9yIGVhY2ggb2YgdGhlbS4gV2UgY2FuIHRoZW4gdXNlIHRoYXQgZm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiBhbmQgYWxzbyBmb3IKCSAgZG9pbmcgcGxheWJhY2suCgkgIE9ubHkgcGFyc2UgYXMgbWFueSB0cmFja3MgYXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIuCgkgIEZpeCBkZWZhdWx0IHRlbXBvOwoJICBTZW5kIE1JREkgdGljayBldmVudHMgZXZlcnkgMTBtcwoKMjAxMy0wMy0yMSAxNDo1Nzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDMtMjEgMDk6MzA6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBoYW5kbGUgbWlkaSBpbiBSSUZGCgoyMDEzLTAzLTIxIDA3OjIxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc21hbGwgZml4ZXMKCjIwMTMtMDMtMjEgMDc6MDc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IHNldCByYW5rIGFzIG1hcmdpbmFsCgkgIFNldCB0aGUgbWFyayB0byBtYXJnaW5hbCB1bnRpbCB3ZSBpbXBsZW1lbnQgbW9yZSBmZWF0dXJlcy4KCjIwMTMtMDMtMjEgMDc6MDU6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBhZGQgZmx1aWRzeW50aCBtaWRpIHJlbmRlcmVyCgkgIEFkZCBhIGZsdWlkc3ludGggZWxlbWVudCB0aGF0IGNvbnZlcnRzIG1pZGkgZXZlbnRzIGludG8gcmF3CgkgIGZsb2F0IHNhbXBsZXMuCgoyMDEzLTAzLTIxIDA2OjUwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvbWlkaS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogYWRkIGJhc2ljIG1pZGkgcGFyc2VyCgkgIFBhcnNlcyBtaWRpIGZpbGVzIGFuZCBvdXRwdXRzIGJ1ZmZlcnMgd2l0aCBtaWRpIGV2ZW50cy4KCjIwMTMtMDMtMjAgMTU6Mjk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkgIGl2dGM6IGZpeCBtYWtlIGRpc3QKCjIwMTMtMDMtMjAgMTU6MjU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IGhscyBhcyB3ZWxsCgoyMDEzLTAzLTIwIDE1OjE5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhY3R1YWxseSBidWlsZCBobHMgcGx1Z2luCgoyMDEzLTAzLTIwIDEwOjQ5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMTkgMTY6Mzk6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0Lmg6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5oOgoJICBjb21iZGV0ZWN0LGl2dGM6IGNvZGUgY2xlYW51cAoKMjAxMy0wMy0xOSAxNzoyODoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiByZW1vdmUgc2lua3BhZC9zcmNwYWQgZmllbGRzCgkgIEluZm9ybWF0aW9uIGlzIGluIHRoZSBiYXNlIGNsYXNzIGFueXdheSwgcGx1cyBwYWQgY3JlYXRpb24gd2FzCgkgIGRvbmUgaW5jb3JyZWN0bHkuCgoyMDEzLTAzLTE5IDEyOjE5OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogb3V0cHV0IHByb2dyZXNzaXZlIHZpZGVvCgoyMDEzLTAzLTE4IDE2OjIyOjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogY29kZSBjbGVhbnVwCgoyMDEzLTAzLTEyIDE3OjQ3OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogc3dpdGNoIHRvIHplYnJhIHN0cmlwaW5nCgoyMDEzLTAzLTA4IDE3OjAyOjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogZHJvcCBlYXJseSBmaWVsZHMKCjIwMTMtMDItMjAgMTU6MzI6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0Lmg6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5oOgoJICBpdnRjOiBuZXcgaW52ZXJzZSB0ZWxlY2luZSBmaWx0ZXIKCSAgVGhpcyBmaWx0ZXIgY29udmVydHMgaW50ZXJsYWNlZCBjb250ZW50IHRoYXQgd2FzIG9yaWdpbmFsbHkKCSAgdGVsZWNpbmUnZCBmcm9tIDI0IGZwcyAob3Igc2ltaWxhcikgcHJvZ3Jlc3NpdmUgY29udGVudC4gIEl0IHdvcmtzCgkgIGFwcHJveGltYXRlbHkgbGlrZSB2aWRlb3JhdGUsIGJ1dCB3aXRoIGF3YXJlbmVzcyBvZiBpbnRlcmxhY2luZy4KCSAgSXQgbWVyZ2VzIG5laWdoYm9yaW5nIGZpZWxkcyBpbiB0aGUgaW5wdXQgaW50ZXJsYWNlZCBzdHJlYW0gd2l0aAoJICB0aGUgZ29hbCBvZiBtaW5pbWl6aW5nIGNvbWJpbmcgYXJ0aWZhY3RzLCB3aGlsZSBrZWVwaW5nIHRoZSBvdXRwdXQKCSAgZnJhbWVyYXRlIGNvbnN0YW50LiAgSWYgaXQgY2Fubm90IGF2b2lkIGNvbWJpbmcgYXJ0aWZhY3RzLCBpdCB3aWxsCgkgIHJlY29uc3RydWN0IHRoZSBpbWFnZSBmcm9tIGEgc2luZ2xlIGZpZWxkLiAgTm90ZSB0aGF0IHRoaXMgZmlsdGVyCgkgIGRvZXMgbm90IGF1dG9kZXRlY3QgdGhlIGZyYW1lcmF0ZSwgYnV0IHdpbGwgYXV0b21hdGljYWxseSBmaXhhdGUKCSAgYXQgMjQgZnBzLgoKMjAxMy0wMy0xOSAxNDozMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IEZpeCBzb21lIHJldHVybiB2YWx1ZXMgaW4gZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoKMjAxMy0wMy0xOSAxMzo1NDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IGV2ZW50IGFuZCBxdWVyeSBoYW5kbGVyCgkgIENhbGwgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIHVua25vd24gZXZlbnRzIGFuZCBxdWVyaWVzLgoJICBGaXggZXZlbnQgbGVhay4KCjIwMTMtMDMtMTkgMTA6NDc6MjUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5oOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIE1ha2UgdGhlIGhscyBwbHVnaW4gZGVwZW5kIG9uIGdudXRscyBhbmQgbW92ZSB0byBleHQvaGxzLwoJICBnbnV0bHMgaXMgdXNlZCB0byBpbXBsZW1lbnQgQUVTIGRlY3J5cHRpb24KCjIwMTMtMDMtMTkgMTA6MjY6MTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXNlIGdudXRscyBpbnN0ZWFkIG9mIG9wZW5zc2wKCjIwMTMtMDMtMTkgMDg6NDk6MjEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzdXBwb3J0IGVuY3J5cHRlZCBzdHJlYW1zCgoyMDEzLTAzLTE5IDEwOjE0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgcG9ydCB3aWxkbWlkaQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDQxCgoyMDEzLTAzLTE4IDIxOjEyOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBvYnRhaW4gY2xhc3MgZnJvbSBvYmplY3QKCjIwMTMtMDMtMTggMjE6MDE6NTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW52YWxpZCBmcmVlKCkgaW50cm9kdWNlZCBieSBsYXN0IGNvbW1pdAoKMjAxMy0wMy0wNyAyMjoxOToxNSArMDAwMCAgS2V2aW4gVGhvcm5iZXJyeSA8Z2ltbWVhbWlsa2J0dGZAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkgIG1wZWd0c211eDogZml4IGNyZWF0aW9uIG9mIEFEVFMgaGVhZGVyIGZvciBBQUMgYXVkaW8gaW4gTVBFRy1UUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDEyCgoyMDEzLTAzLTE4IDA3OjM0OjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHBhcnNlICNFWFQtWC1LRVkgdGFncwoKMjAxMy0wMy0xOCAwNzoyMjozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZhY3RvciBvdXQgVVJJIGpvaW5pbmcgdXRpbGl0eQoKMjAxMy0wMy0xOCAwNzowMjo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZpeCBVUkkgcGFyc2luZyBmb3IgYWJzb2x1dGUgZnJhZ21lbnQgcGF0aHMKCjIwMTMtMDMtMTYgMjM6MzI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogc2V0IGRpc2NvbnQgZmxhZyBvbiBmaXJzdCBhdWRpbyBidWZmZXIgdG9vCgoyMDEzLTAzLTE2IDIzOjI5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGFnZ3JlZ2F0ZSBhdWRpbyBhbmQgdmlkZW8gZmxvdyByZXR1cm5zCgkgIEFuZCBwYXVzZSB0YXNrIGluIHNvbWUgbW9yZSBjYXNlcyB3aGVyZSB3ZSBzaG91bGQKCSAgcGF1c2UgdGhlIHRhc2suCgoyMDEzLTAzLTE2IDIxOjM5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBhZGQgc2VuZF9ldmVudCBoYW5kbGVyIHNvIGFwcGxpY2F0aW9uIGNhbiBpbmplY3QgRU9TIGV2ZW50CgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNodXQgZG93biBhIHJlY29yZGluZyBwaXBlbGluZSBjbGVhbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTAzLTE2IDIxOjM0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHBhdXNlIHN0cmVhbWluZyB0aHJlYWQgYW5kIHNlbmQgRU9TIGV2ZW50IG9uIGVycm9yCgkgIEluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIEVPUyBtZXNzYWdlIGFuZCBjb250aW51aW5nLAoJICBhY3R1YWxseSBwYXVzZSB0aGUgdGhyZWFkLgoKMjAxMy0wMy0xNiAxMzoxMzoxNCAtMDQwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIFJHQiBhbmQgWFkgcHJvcGVydHkgbmlja25hbWUgc3RyaW5ncwoJICBBbHNvIGZpeCB0aGUgWSBwcm9wIG5pY2tuYW1lIHN0cmluZyBiZWluZyBpbmNvcnJlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4ODQKCjIwMTMtMDMtMTYgMTM6MDc6MjUgLTA0MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogZml4IG5pY2tuYW1lcyBmb3IgY29sb3IgYW5kIHBvc2l0aW9uIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg4NAoKMjAxMy0wMy0xNSAyMDoyMTo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFyayBkZWNrbGluayBhcyBwb3J0ZWQKCjIwMTMtMDMtMTUgMDA6MjU6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGVsZW1lbnQtbWFrZXI6IGNsZWFuIHVwIGJpdHMgZnJvbSBwcmV2aW91cyBjb21taXQKCSAgRmlsZXMgdGhhdCB3ZXJlIHN1cHBvc2VkIHRvIGJlIGluIHRoZSBwcmV2aW91cyBlbGVtZW50LW1ha2VyCgkgIGNvbW1pdC4gIFRoaXMgaXMgd2hhdCBoYXBwZW5zIHdoZW4gY2hlcnJ5LXBpY2sgZG9lc24ndCB3b3JrLgoKMjAxMy0wMy0xNSAxNzo0NzoyMyArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICB0b29sczogRml4IG1ha2UgZGlzdAoJICBNaXNzaW5nIGJpdHMgb2YgYjQ1YTFkZjVkZWFkYjAyOWRjYmU0NTIyZjAxMTZkMzRmMWNkMmYxZQoKMjAxMy0wMy0xNSAwOToyOTo0MiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogZml4IGNvbXBpbGF0aW9uIHdhcm5pbmcgcmV0dXJuaW5nIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODk3CgoyMDEzLTAzLTE1IDA5OjI3OjM2ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiB1c2UgY29uc3RhbnQgQUVTXzEyOF9JQ00gaW5zdGVhZCBvZiBBRVNfSUNNIHRoYXQgaXMgbm90IGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4OTcKCjIwMTMtMDMtMDEgMTY6NTI6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgdmlkZW9zZWdtZW50Y2xpcDogRG9uJ3QgbGVhayBidWZmZXJzIGFmdGVyIHNlZ21lbnQKCjIwMTMtMDMtMTIgMTc6MzI6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgRklYTUUgZm9yIGZ1dHVyZSByZXZpdmFsCgoyMDEzLTAzLTE0IDIzOjU3OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZGVjb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9lbmNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZGVjb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9lbmNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXIyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb3Npbms6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgdGVtcGxhdGVzIGZvciAxLjAKCSAgVGhpcyBhcmUgKGFsbW9zdCkgY29tcGxldGVseSBhdXRvZ2VuZXJhdGVkIGZyb20gdGhlIGRvY3VtZW50YXRpb24uCgoyMDEzLTAyLTA1IDE2OjM0OjIwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZkZW11eDogQWRkIGEgc2Vjb25kIE1YRiBVTCBmb3IgdW5jb21wcmVzc2VkIGF1ZGlvCgoyMDEzLTAyLTA1IDE1OjU4OjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IElnbm9yZSBtaXNzaW5nIG1ldGFkYXRhIGRlc2NyaXB0b3JzCgoyMDEzLTAzLTE0IDEyOjA5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3Qgc3RvcCB0YXNrcyBpbiBwYXVzZWQKCSAgQSBub24tbGl2ZSBlbGVtZW50IGlzIHN1cHBvc2VkIHRvIGNvbnRpbnVlIHN0cmVhbWluZyBpbiB0aGUgcGF1c2VkIHN0YXRlIHNvCgkgIGRvbid0IHN0b3AgdGhlIHRhc2tzIHdoZW4gZ29pbmcgdG8gcGF1c2VkLgoJICBXZSBhbHNvIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHRoZSB1cGRhdGUgdGFzayBhZnRlciB3ZSBwcmVyb2xsZWQgZW5vdWdoIGRhdGEsCgkgIG5vdCBvbmx5IGluIHRoZSBwbGF5aW5nIHN0YXRlLgoKMjAxMy0wMy0xNCAxMjowODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTAzLTEzIDEyOjUwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IEVHTEltYWdlIG9yaWVudGF0aW9ucwoKMjAxMy0wMy0xMyAxMToyOTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgb3JpZW50YXRpb25zIG9mIHRoZSBFR0xJbWFnZQoJICBUaGUgY29udGVudCBvZiB0aGUgRUdMSW1hZ2VzIGNhbiBiZSBhdCBsZWFzdCBpbiBHU3RyZWFtZXIgb3JpZW50YXRpb24sCgkgIG1lYW5pbmcgdG9wIGxpbmUgZmlyc3QgaW4gbWVtb3J5LCBvciBPcGVuR0wgb3JpZW50YXRpb24sIG1lYW5pbmcKCSAgYm90dG9tIGxpbmUgZmlyc3QgaW4gbWVtb3J5LgoKMjAxMy0wMy0xMyAxMTowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIFJHQkEgdG8gdGhlIGNhcHMgYWdhaW4KCjIwMTMtMDMtMTMgMDA6MjU6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IGZpeCB1cCBtcGVndHNtdXggdW5pdCB0ZXN0IGFmdGVyIGNvbGxlY3RwYWRzIGNoYW5nZQoJICBJdCB3YXMgcGFzc2luZyBleHBlY3RlZCBmbG93IHJldHVybnMgKHdoaWNoIG1pZ2h0IGJlIG5lZ2F0aXZlKQoJICBpbiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBmaWVsZCwgd2hpY2ggd2FzIG1heWJlIG5vdCB0aGUgYmVzdAoJICBpZGVhLgoKMjAxMy0wMy0xMSAyMTo1NToyOCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGltcHJvcGVyIHZpZGVvIGZyYW1lIGNsZWFyIG9wZXJhdGlvbgoJICBUaGUgY3VycmVudCBjb2RlIGlzIG1lbXNldHRpbmcgdGhlIEdzdFZpZGVvRnJhbWUuZGF0YSBhZGRyZXNzIHRvIDBzICh3aGljaAoJICBjYXVzZXMgYSBzZWdmYXVsdCkuIFRoaXMgbWVtYmVyIGlzIGFjdHVhbGx5IGFuIGFycmF5IG9mIGRhdGEgYnVmZmVycyAob25lIGZvcgoJICBlYWNoIHBsYW5lKS4gIFRoaXMgZml4IGl0ZXJhdGVzIG92ZXIgZWFjaCBkYXRhIHBsYW5lIHRvIGNsZWFyIHRoZW0gYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjU1CgoyMDEzLTAzLTEyIDE5OjQ3OjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwLy5naXRpZ25vcmU6CgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHAuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBBZGQgU1JUUCBwbHVnaW4gYmFzZWQgb24gbGlic3J0cAoJICBJbiBsYXJnZSBwYXJ0IHRoZSB3b3JrIG9mIEdhYnJpZWwgTWlsbGFpcmUKCjIwMTMtMDMtMTIgMTk6MzY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0aGUgYnVmZmVyIGlzIHJlbGVhc2VkIHRvIHRoZSBwb29sIGlmIGl0J3MgdGhlIGxhc3QgdXNlZCBvbmUKCjIwMTMtMDMtMTAgMjI6MDY6MzEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkgIGFwcGxlbWVkaWE6IHN1cHByZXNzIHdhcm5pbmdzIGZvciBkZXByZWNhdGVkIGdsaWIgQVBJCgoyMDEzLTAzLTEwIDIxOjIxOjE3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogVXNlIGNvcnJlY3QgcHJpbnQgZm9ybWF0IHNwZWNpZmllcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTA5IDAxOjA2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIFJlbW92ZSBEVE1GIHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wOSAwMDoxNzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSAgZmJkZXY6IHBvcnQgZmJkZXZzaW5rIHRvIDEuMAoKMjAxMy0wMy0wNyAxMTo1ODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVGhlcmUgYXJlIG9ubHkgdHdvIEdMU0wgcHJvZ3JhbXMsIG5vdCB0aHJlZQoKMjAxMy0wMy0wNyAxMTo1MDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZ3N0X2J1ZmZlcl9wb29sX2NvbmZpZ19nZXRfYWxsb2NhdG9yKCkgZG9lcyAqbm90KiByZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSBhbGxvY2F0b3IKCSAgRGlmZmVyZW50IHRvIGdzdF9xdWVyeV9nZXRfbl9hbGxvY2F0aW9uX3BhcmFtcygpIHdoaWNoIGRvZXMKCjIwMTMtMDMtMDcgMDA6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlMDU1NTggdG8gMDRjN2ExZQoKMjAxMy0wMy0wNiAxNzo1MzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGFsbG9jYXRpb24gb2YgUkdCQSB0ZXh0dXJlcwoKMjAxMy0wMy0wNiAxMDo1Mzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIHNldCB0aGUgTk9fU0hBUkUgZmxhZyBvbiB0aGUgRUdMSW1hZ2UgbWVtb3JpZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTUyMDMKCjIwMTMtMDMtMDUgMTI6NDc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsd2F5cyB1c2UgYW4gUkdCQSBjb25maWd1cmF0aW9uCgoyMDEzLTAyLTI3IDEzOjE1OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZy1jb25maWc6IEFkZCBlZ2wgbGlicmFyeSB0byB0aGUgZ2VuZXJpYyBwa2ctY29uZmlnIGZpbGUKCjIwMTMtMDItMjUgMTM6NDM6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IG5lZ290aWF0ZSBhbiBhbGxvY2F0b3IKCjIwMTMtMDItMjUgMTM6MzE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBSZW5hbWUgZ3N0X2VnbF9pbWFnZV9tZW1vcnlfY2FuX21hcCgpIHRvIGlzX21hcHBhYmxlKCkKCjIwMTMtMDItMjUgMTM6MjU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBSZW1vdmUgYnVmZmVyIHBvb2wgb3B0aW9uCgkgIFRoaXMgc2hvdWxkIGJlIGRvbmUgZGlmZmVyZW50bHkgdmlhIHRoZSBhbGxvY2F0b3JzIGluIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxMy0wMi0yMiAxMzowNzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IE1hcmsgbWVtb3J5IGFzIG5vdCBtYXBwYWJsZSBpZiBpdCBpc24ndAoKMjAxMy0wMi0yMiAxMjo0ODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IEltcGxlbWVudCBzaGFyaW5nIG9mIG1lbW9yeQoKMjAxMy0wMi0yMiAxMToyMzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU3RvcmUgYSByZWZlcmVuY2UgdG8gdGhlIGxhc3RfYnVmZmVyIGlmIHVzaW5nIEVHTEltYWdlcwoKMjAxMy0wMi0yMiAxMDo1ODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gUlBpCgoyMDEzLTAyLTIxIDE3OjQzOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogUG9ydCB0byBuZXcgRUdMIGxpYnJhcnkKCjIwMTMtMDItMjEgMTQ6NDA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsOiBNb3ZlIGNvbmZpZ3VyZSBjaGVja3MgYXJvdW5kIGFuZCByZS11c2UgZm9yIGVnbGdsZXNzaW5rIHBsdWdpbgoKMjAxMy0wMi0yMSAxMzozOToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wucGMuaW46CgkgIGVnbDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBFR0xJbWFnZSBoYW5kbGluZwoKMjAxMy0wMy0wMyAxMjozMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBPbmx5IGluY2x1ZGUgPGdzdC9hdWRpby9hdWRpby5oPgoKMjAxMy0wMy0wMyAxMjozMDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjMwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGNvcnJlY3QgdHlwZSBzcGVjaWZpZXJzIGZvciBmb3JtYXQgc3RyaW5ncyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6Mjk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFVzZSBjb3JyZWN0IHR5cGUgc3BlY2lmaWVycyBmb3IgZm9ybWF0IHN0cmluZ3MgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjI5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR1NUX0VSUk9SX09CSkVDVCgpIHBhcmFtZXRlcnMKCjIwMTMtMDMtMDMgMTA6NTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiBGaXggY29tcGlsZXIgd2FybmluZyBjYXVzZWQgYnkgd3JvbmcgZm9ybWF0IHNwZWNpZmllcgoKMjAxMy0wMy0wMSAxNTo1ODo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3RzIGZvciBzaG1zaW5rL3NobXNyYwoKMjAxMy0wMy0wMSAwMDoxMDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIHBrZ2RhdGFkaXIgbG9jYWxseSB0byBjb25zdHJ1Y3QgcGF0aCBmb3IgY3VzdG9tIGhhYXIgY2FzY2FkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMy0wMS0zMCAxNDozNzoxOCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBvcGVuY3Y6IHBvcnQgaGFuZGRldGVjdCBlbGVtZW50IHRvIDEuMCBhbmQgYWRkIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTMtMDEtMjcgMTk6MDU6MjcgKzAyMDAgIEFuZG9sIExpIDxhbmRvbEBhbmRvbC5pbmZvPgoKCSogZXh0L29wZW5jdi9maXN0LnhtbDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3BhbG0ueG1sOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIG9wZW5jdjogYWRkIGhhbmRkZXRlY3QgcGx1Z2luLCBpbml0aWFsIGltcGxlbWVudGF0aW9uCgkgIFRoZSBoYW5kZGV0ZWN0IHBsdWdpbiBpcyBmb3IgZGV0ZWN0aW5nIGhhbmQgZ2VzdHVyZXMgdXNpbmcKCSAgb3BlbmN2LgoJICBJdCB3YXMgY3JlYXRlZCBpbiB0aGUgY291cnNlIG9mIHRoZSBHb29nbGUgU3VtbWVyIG9mIENvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTItMDktMjYgMTY6MDA6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogQWRkIGN1c3RvbSBhbGxvY2F0b3IgdG8gYWxsb3cgZm9yIHplcm8tY29weSBzaGFyZWQgbWVtb3J5IHVzZQoKMjAxMy0wMi0yOCAxODoxMzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IERvbid0IGxlYWsgc29ja2V0IHBhdGgKCjIwMTMtMDItMjggMjA6MjI6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICBleGFtcGxlczogaWdub3JlIG5ldyB0ZXN0LXV2Y2gyNjQgYmluYXJ5CgoyMDEzLTAyLTI4IDIwOjExOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZXBvcnQgZWxlbWVudCBjcmVhdGlvbiBmYWlsdXJlcyBiZXR0ZXIgYW5kIGZpeCB1cCBMSUJTCgoyMDEzLTAyLTI4IDIwOjA5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb21lIGVsZW1lbnQgbmFtZXMgZm9yIDEuMAoKMjAxMy0wMi0yOCAyMDowMjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpbmQgdW5pbnN0YWxsZWQgZ3N0LWxpYmF2IHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMKCjIwMTMtMDItMjggMTg6NTQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIG5vdCB0ZXN0ZWQgeWV0LgoKMjAxMy0wMi0yOCAxODo1Mzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBhZGQgbGF5b3V0PWludGVybGVhdmVkIHRvIGF1ZGlvIGNhcHMKCjIwMTItMTEtMDggMTM6MjI6NDEgLTA4MDAgIEJsYWtlIFRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHVzZSBPX0NMT0VYRUMgd2hlcmUgYXBwcm9wcmlhdGUgaW4gc2htcGlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MzM5CgoyMDEzLTAyLTI4IDE2OjU1OjA1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGNhcHMgbGVhawoKMjAxMy0wMi0yOCAxMzoyNTowNiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiB1c2UgcmVsYXRpdmUgaW5jbHVkZSBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yOCAxMjowNDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBnc3RfdmlkZW9fc2lua19jZW50ZXJfcmVjdCgpIHRha2VzIHRoZSBzdHJ1Y3RzIGl0c2VsZiBpbnN0ZWFkIG9mIHBvaW50ZXJzIGFzIGZpcnN0IHBhcmFtZXRlcnMKCjIwMTMtMDItMjggMTE6Mjc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGFzcGVjdC1yYXRpbyBpc3N1ZXMgY2F1c2VkIGJ5IHNjYWxpbmcgb24gUlBpCgoyMDEzLTAyLTI3IDIxOjA1OjM4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogRXJyb3Igb3V0IGlmIG1lbW9yeSBhcmVhIGlzIHNtYWxsZXIgdGhhbiBidWZmZXIKCjIwMTMtMDItMjcgMjA6NTc6NTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkgIHNobTogTWFrZSBzdXJlIHRvIG5vdCBhbGxvY2F0ZSBibG9ja3MgbGFyZ2VyIHRoYW4gdGhlIHNoYXJlZCBtZW0gYXJlYQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzU5CgoyMDEzLTAyLTI3IDE4OjU2OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3RzIGZvciBkdG1mc3JjCgoyMDEzLTAyLTI3IDIzOjI3OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIG5vdCB0ZXN0ZWQgeWV0LiBBIGdyZWF0IG51bWJlciBvZiBzdXBlcmZsdW91cyBjdXN0b20KCSAgcGFkIGZ1bmN0aW9ucyBtYXkgaGF2ZSBiZWVuIGhhcm1lZCBpbiB0aGUgbWFraW5nIG9mIHRoaXMgcG9ydC4KCjIwMTMtMDItMjcgMTY6MTU6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBGaXggcmVmIGxlYWsgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI3IDEzOjE0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZy1jb25maWc6IE1ha2UgdGhlIGdlbmVyaWMgcGtnLWNvbmZpZyBmaWxlIG1vcmUgdXNlZnVsCgoyMDEzLTAyLTIzIDA5OjExOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mY2RlYzogVXNlIG5ldyBHU1RfTUVNT1JZX0ZMQUdfQ09OVElHVU9VUyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIHNwZWNpZmljIG1lbW9yeSB0eXBlCgoyMDEzLTAyLTE5IDEzOjAwOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRkIGFsbCBzdXBwb3J0ZWQgdmlkZW8gZm9ybWF0cyB0byB0ZW1wbGF0ZSBjYXBzCgkgIFdlIG5vdyB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfY29tcG9zaXRpb25fYmxlbmQoKSwgc28gY2FuIHN1cHBvcnQKCSAgYWxsIHZpZGVvIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoYXQsIG5vdCBqdXN0IEk0MjAuCgoyMDEzLTAyLTE5IDExOjI0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcHJveHkgdGhlIGFsbG9jYXRpb24gcXVlcnkKCSAgUGFzcyBhbGxvY2F0aW9uIHF1ZXJ5IGRvd25zdHJlYW0uCgoyMDEzLTAyLTE5IDExOjE0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZG9uJ3QgZm9yd2FyZCBDQVBTIGV2ZW50IGZyb20gc3VidGl0bGUgcGFkCgkgIE1heSByZXN1bHRzIGluIG5vdC1uZWdvdGlhdGVkIGZsb3cgZXJyb3JzIG90aGVyd2lzZS4KCjIwMTMtMDItMTYgMDI6NDQ6MTkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29udGFjdCBpbmZvcm1hdGlvbgoKMjAxMy0wMi0xNiAwMjozODozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IGZpeCBnc3RfYnVmZmVyX2dldF9jb3JlX21lZGlhX21ldGEgbWFjcm8KCjIwMTMtMDItMTYgMDI6Mzc6MTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGVuYyB0byAxLjAKCjIwMTMtMDItMTYgMDI6MzE6MjggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHJlcGxhY2UgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBnc3RfcGFkX3NldF9jYXBzKCkgaW4gdnRkZWMKCjIwMTMtMDItMTYgMDI6MjY6NTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRhcGkgdG8gcnVuIG9uIE9TIFggMTAuOAoKMjAxMy0wMi0xNSAwODoyMDo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogcmVtb3ZlIGNoYW5uZWwtbWFzayBmcm9tIGNhcHMKCSAgVGhlIGNoYW5uZWwtbWFzayBpcyBvbmx5IG5lZWRlZCBmb3IgY2hhbm5lbHM+MiB3aGljaCB3ZSBkb24ndCBkby4KCjIwMTMtMDItMTQgMTA6NDM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBmaXggaDI2NCBjYXBzIGluIG1wZWd0c211eCB0ZXN0CgkgIE5lZWRzIHRvIGJlIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0sIG5vdCBmb3JtYXQ9Ynl0ZS1zdHJlYW0uCgoyMDEzLTAyLTE0IDEwOjQwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgdGVzdHM6IGZpeCBmYWFkIHVuaXQgdGVzdCBmb3IgZ3N0X2NhcHNfaXNfc3Vic2V0KCkgZml4IGluIGNvcmUKCSAgTmVlZCB0byBzcGVjaWZ5IHRoZSBzdHJlYW0tZm9ybWF0LgoKMjAxMy0wMi0xNCAwOTo0MDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBSZXZlcnQgIm1wZWc0dmlkZW9wYXJzZTogc2V0IDAgZHVyYXRpb24gd2hlbiB2b3BfY29kZWQgaXMgMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzIxOWEyNjFhNWE3YjczNDBiNjNjODAwMTAwMDlhNzNiMDMyNzU5LgoJICB2b3BfY29kZWQgMCBtZWFucyB0aGF0IHRoZSBwcmV2aW91cyBmcmFtZSBzaG91bGQgYmUgcmVwZWF0ZWQsCgkgIHNvIGl0IHNob3VsZCBoYXZlIHZhbGlkIGR1cmF0aW9uIGFmdGVyIGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE2OQoKMjAxMy0wMi0xNCAwOTowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJICBpbnNlcnRiaW46IG1hcmsgYXMgdW5zdGFibGUgQVBJCgoyMDEzLTAyLTE0IDA5OjAyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogZml4IHVwIGd0ay1kb2MgY2h1bmsgYW5kIGFkZCBzaW5jZSBtYXJrZXJzCgoyMDEzLTAyLTEzIDE1OjAwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB0ZXN0czogcG9ydCB1dmNoMjY0IHRlc3QgdG8gMS4wCgkgIEZpeGVzICdtYWtlIGNoZWNrJyBidWlsZC4KCjIwMTMtMDItMTMgMTU6MjA6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQ2xvc2UgdGhlIGRpc3BtYW4gZGlzcGxheSBvbiBSUGkgYWZ0ZXIgdXNhZ2UKCjIwMTMtMDItMTMgMTU6MDk6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZvciBSUGksIGluaXRpYWxpemUgYmNtX2hvc3QgaW4gcGx1Z2luX2luaXQoKQoKMjAxMy0wMi0xMyAxNTowNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNoZWNrIGZvciBhbGwgdGhlIHJlcXVpcmVkIGxpYnJhcmllcyBhbmQgaGVhZGVycyBmb3IgUlBpCgoyMDEzLTAyLTEzIDEyOjUxOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgY29tcGxldGUgYW5kIHZhbGlkIGNhcHMgaW4gdGhlIHRlc3RzCgoyMDEzLTAyLTEyIDE4OjM2OjEwICswMTAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBiY20vUmFzcGJlcnJ5IFBpIHN1cHBvcnQuCgkgIFRoaXMgYWRkcyBhIHZpZGVvIHBsYXRmb3JtIGJhY2tlbmQgZm9yIHRoZSBkaXNwbWFueCBkaXNwbGF5IG1hbmFnZXIgdXNlZCBieQoJICBicm9hZGNvbSBhbmQgdGhlIFJhc3BiZXJyeSBQaS4KCSAgU2lnbmVkLW9mZi1ieTogSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKMjAxMy0wMi0xMiAxODoxMTozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IERlY2xhcmUgdGhlIHdpZHRoL2hlaWdodCBvdXRzaWRlIHRoZSBsb29wCgkgIEFsc28gaW5pdGlhbGl6ZSB0aGVtIHRvIG1ha2UgZ2NjIGhhcHB5CgoyMDEzLTAxLTI4IDIyOjQyOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogQWRkIHBuZyBmaWxlIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjM5CgoyMDEzLTAyLTExIDE2OjM1OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBVbnJldmVydDogbXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldAoJICBBUEkgaXMgbm93IGluIGJhc2VwYXJzZSBpbiBnc3RyZWFtZXIuCgkgIFRpbWVzdGFtcHMgaW4gTVBFRy1UUyBzdHJlYW1zIGFyZSBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lc3RhbXAKCSAgYmVmb3JlIHRoZSBzdGFydCBjb2RlIG9mIHRoZSBwaWN0dXJlLiAgR3N0QmFzZVBhcnNlIHNldHMgdGhlCgkgIHRpbWVzdGFtcCBiYXNlZCBvbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBoZWFkZXIsIGlmCgkgIG9uZSBleGlzdHMgYmVmb3JlIHRoZSBwaWN0dXJlLiAgVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB0aGUKCSAgdGltZXN0YW1wIG9jY3VycyBpbiB0aGUgTVBFRy1UUyBzdHJlYW0gYmV0d2VlbiB0aGUgc2VxIGhlYWRlcgoJICBhbmQgcGljdHVyZSBzdGFydCBjb2RlLgoKMjAxMy0wMi0wNyAxNTo0Mjo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkgIHlhZGlmOiBBZGQgbW9kZSBwcm9wZXJ0eQoJICBDb3B5IG1vZGUgZnJvbSBkZWludGVybGFjZSBlbGVtZW50LiAgSXNuJ3QgYWN0dWFsbHkgaW1wbGVtZW50ZWQKCSAgaW4geWFkaWYsIGV2ZXJ5IGZyYW1lIGlzIGRlaW50ZXJsYWNlZCwgc28gZWZmZWN0aXZlbHkgbW9kZT0xLgoKMjAxMy0wMi0xMiAxMTo0Nzo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggbm9uLXg4Nl82NCBidWlsZHMKCjIwMTMtMDItMTIgMTE6MjQ6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhZGQgcGFyc2VkPWZhbHNlIHRvIG1wZWcyIGNhcHMKCjIwMTMtMDItMTIgMTA6Mzk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSAgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOiByZW1vdmUgb2xkIEdTdGF0aWNSZWNNdXRleCBzdHVmZgoJICBCcmVha3MgdGhlIGJ1aWxkIHdpdGggbmV3ZXIgR0xpYnMgKCJ1bmtub3duIHR5cGUgR1N0YXRpY1JlY011dGV4IikKCSAgYW5kIGlzIG5vdCBuZWVkZWQgYW55IG1vcmUuCgoyMDEzLTAyLTEyIDA5OjM4OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MzcxOGRhOTE5YjZhM2RhYTA0YTY2ZGExYmU0ZGI1NGUwNzc4ODk4LgoJICBUaGUgcmVxdWlyZWQgYmFzZXBhcnNlIEFQSSBhZGRpdGlvbiBoYXMgbm90IGJlZW4gcHVzaGVkIHlldCwKCSAgd2hpY2ggYnJlYWtzIHRoZSBidWlsZC4KCjIwMTMtMDItMTEgMTc6NTg6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBpbmNyZWFzZSBtaW4gc2l6ZSBmb3IgcGljdHVyZSBjb2RpbmcgZXh0CgkgIFRoaXMgY291bGQgdXNlIGFkZGl0aW9uYWwgd29yay4gIFRoZSBwYXJzaW5nIGNvZGUgb3ZlcnJ1bnMgdGhlCgkgIGVuZCBvZiBidWZmZXJzIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLCB0cmlnZ2VyaW5nIEdTVF9XQVJOSU5Hcy4KCjIwMTMtMDItMTEgMTc6Mzk6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHF1aWV0IGRlYnVnZ2luZyB3aGVuIG1mYyBkZXZpY2UgZG9lc24ndCBleGlzdAoJICBBdm9pZCByZWdpc3RlcmluZyB0aGUgZWxlbWVudCBpZiB0aGUgbWZjIGRldmljZSBkb2Vzbid0IHdvcmssCgkgIGJ1dCBhbGxvdyBwbHVnaW4gbG9hZGluZyB0byBzdWNjZWVkLgoKMjAxMy0wMi0xMSAxNjozNTo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldAoJICBUaW1lc3RhbXBzIGluIE1QRUctVFMgc3RyZWFtcyBhcmUgYmFzZWQgb24gdGhlIGxhc3QgdGltZXN0YW1wCgkgIGJlZm9yZSB0aGUgc3RhcnQgY29kZSBvZiB0aGUgcGljdHVyZS4gIEdzdEJhc2VQYXJzZSBzZXRzIHRoZQoJICB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UgaGVhZGVyLCBpZgoJICBvbmUgZXhpc3RzIGJlZm9yZSB0aGUgcGljdHVyZS4gIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCgkgIHRpbWVzdGFtcCBvY2N1cnMgaW4gdGhlIE1QRUctVFMgc3RyZWFtIGJldHdlZW4gdGhlIHNlcSBoZWFkZXIKCSAgYW5kIHBpY3R1cmUgc3RhcnQgY29kZS4KCjIwMTMtMDItMTEgMjM6NDY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkgIHlhZGlmOiBmaXggZGlzdGNoZWNrCgoyMDEzLTAyLTExIDIzOjI5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIE1ha2VmaWxlLmFtOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICBzd2ZkZWM6IHJlbW92ZQoJICBUaGUgc3dmZGVjIHByb2plY3QgaXMgZGVhZCwgYW5kIHRoaXMgcGx1Z2luIHdhcwoJICBuZXZlciByZWFsbHkgdXNlZnVsIGJlY2F1c2Ugb2YgdGhlIHdheSBzd2Ygd29ya3MuCgkgIFJlbW92ZSBpdCBiZWZvcmUgc29tZW9uZSBhY2NpZGVudGFsbHkgcG9ydHMgaXQuCgoyMDEzLTAyLTExIDIyOjUwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy8uZ2l0aWdub3JlOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgQWRkIGNvZyB0byBjcnVmdCBsaXN0IGFuZCByZW1vdmUgc29tZSBtb3JlIGxlZnRvdmVyIGZpbGVzCgoyMDEzLTAyLTExIDIyOjQwOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJICB5YWRpZjogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDEzLTAyLTAzIDE0OjMyOjI3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQgdGVzdDogVXNlIHN0cmluZyBpbnN0ZWFkIG9mIGZvdXJjYyBpbiBnbGFkZSBjYXBzCgoyMDEzLTAyLTAzIDE0OjMxOjUwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUmVtb3ZlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoKMjAxMy0wMi0wMyAxNDozMToxMyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IEFkZCBpbWFnZS9qcGcgdG8gdmZzcmMgYW5kIHZpZHNyYyBjYXBzCgoyMDEzLTAyLTAzIDE0OjMwOjM2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NDogRml4IE5WMjEgdnMgTlYxMiB0eXBvCgoyMDEzLTAyLTAyIDE0OjE2OjQwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUGFzcyB0aHJvdWdoIHRoZSBmaWx0ZXIgb24gdGhlIGNhcHMgcXVlcnkKCjIwMTMtMDEtMTggMjM6MjM6NTYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NDogUmVtb3ZlIHRoZSBfIGZyb20gdGhlIGVsZW1lbnQgbmFtZXMKCSAgUmVuYW1lIHV2Y2gyNjRfc3JjIHRvIHV2Y2gyNjRzcmMgYW5kIHV2Y2gyNjRfbWpwZ2RlbXV4IHRvCgkgIHV2Y2gyNjRtanBnZGVtdXgKCjIwMTMtMDEtMTggMjM6MTY6MzEgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFyayB1dmNoMjY0IGFzIHBvcnRlZAoKMjAxMy0wMS0xOCAyMzoxNDoyNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0OiBQb3J0IHRlc3QgdG8gZ3N0cmVhbWVyIDEuMAoKMjAxMy0wMS0xOCAyMjo0OToxOSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IFBvcnQgdG8gZ3N0cmVhbWVyIDEuMAoKMjAxMi0wNS0wMyAyMDozNjoyNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhYmluc3JjOiBBZGQgYXV0by1zdGFydCBwcm9wZXJ0eSB0byBiYXNlY2FtZXJhYmluCgoyMDEzLTAyLTExIDEyOjUxOjA0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgbGFzdCByZW1uYW50cwoKMjAxMy0wMi0wNyAxNTowOTo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZl90ZW1wbGF0ZS5jOgoJICB5YWRpZjogQWRkIFlBRElGIGRlaW50ZXJsYWNpbmcgZmlsdGVyCgkgIENvZGUgY29waWVkIGZyb20gTGliYXYsIGNvbW1pdCAyNmU0ZjBjNzAuICBXaWxsIGV2ZW50dWFsbHkgYmUKCSAgbW92ZWQgdG8gLXVnbHkgYmVjYXVzZSB1bmRlcmx5aW5nIGNvZGUgaXMgR1BMLgoKMjAxMy0wMi0wNyAxNDozMzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IEFkZCBZNDJCIGFuZCBZNDQ0IGZvcm1hdHMKCjIwMTMtMDItMDcgMTE6MTU6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1hcHAtbWFrZXIvZ3N0LWVsZW1lbnQtbWFrZXI6IDEuMCB1cGRhdGVzCgoyMDEzLTAyLTExIDEyOjI1OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5oOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d0YWJsZXMuYzoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkgIGNvZzogcmVtb3ZlIGNvZyBwbHVnaW4KCSAgRXZlcnl0aGluZyBoYXMgYmVlbiBtZXJnZWQgaW50byBvdGhlciBlbGVtZW50cy4KCjIwMTMtMDItMTEgMjA6MjQ6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggdGFnbGlzdCBsZWFrCgkgIERvbid0IGxlYWsgZGVtdXhlciB0YWcgbGlzdC4KCjIwMTMtMDItMTEgMjA6MTc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICB0ZXN0czogZml4IG14ZmRlbXV4IHB1bGwgdW5pdCB0ZXN0IGhhbmdpbmcgZm9yZXZlcgoJICBPdXIgdGVzdCBzb3VyY2UgcGFkIG5lZWRzIHRvIGFuc3dlciBTQ0hFRFVMSU5HIHF1ZXJpZXMKCSAgcHJvcGVybHkgZm9yIG14ZmRlbXV4IHRvIGFjdGl2YXRlIGluIHB1bGwgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTg0MwoKMjAxMy0wMi0xMSAxOTo1MzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBwdXNoIG1vZGUgdW5pdCB0ZXN0IGZhaWx1cmUKCSAgSW4gdGhlIHNpbmsgZXZlbnQgaGFuZGxlciB3ZSBlbmQgdXAgc2VuZGluZyBtdWx0aXBsZSBFT1MKCSAgZXZlbnRzIHBlciBwYWQuIERvbid0IHJldHVybiBGQUxTRSB3aGVuIHNlbmRpbmcgdGhlCgkgIHNlY29uZCBFT1Mgb24gYW4gYWxyZWFkeS1FT1MgcGFkIGZhaWxzLiBOb3Qgc3VyZSBpZiB0aGVyZQoJICB3YXMgYSByZWFzb24gZm9yIHNlbmRpbmcgYSBzZWNvbmQgRU9TLCBzbyBsZWF2aW5nIHRoZQoJICBjb2RlIGluIHRoZXJlIGZvciBub3csIGJ1dCBhc3N1bWUgYWxsIHdlbnQgZmluZSBpZiB0aGVyZQoJICBhcmUgc291cmNlIHBhZHMsIHdoaWNoIGlzIHNsaWdodGx5IGxlc3Mgd3JvbmcgdGhhbiBiZWZvcmUuCgkgIFRoaXMgZnVuY3Rpb24gbmVlZHMgd29yay4KCjIwMTMtMDItMTEgMTI6MzQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2YgZHRtZiB0ZXN0IGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDEzLTAyLTExIDEyOjM0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogYWN0dWFsbHkgbG9nIGdlbmVyaWMgZGF0YXByb3RvY29sIHN0dWZmIHRvIGdkcCBjYXRlZ29yeQoKMjAxMy0wMi0wOSAyMDoyMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0wOSAxOTo1Mzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTA5IDE5OjQ5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG06IGRvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMTEgMTE6MDY6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGNsZWFyIHRoZSBzdGF0ZSBvZiB0aGUgZGVjb2RlcgoJICBTZXQgdGhlIGNoYW5uZWxzIGFuZCByYXRlIGJhY2sgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgaW4gX3N0b3AgYmVjYXVzZSB0aGV5CgkgIGFyZSB1c2VkIHRvIHJlbmVnb3RpYXRlIHdoZW4gbmVlZGVkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjk1MAoKMjAxMy0wMi0wNyAxMTo1MjoyMyArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCAtPiBHTXV0ZXgKCSAgRWxlbWVudCBuZWVkcyBwb3J0aW5nIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wOSAxODo0Njo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogZml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0xpYiB2ZXJzaW9ucwoJICB0aGF0IGRvbid0IGluY2x1ZGUgcHRocmVhZC5oIGFueSBtb3JlIGZyb20gcHVibGljIGhlYWRlcnMuCgkgIFdlIGNvdWxkIGp1c3QgZml4IHRoaXMgYnkgaW5jbHVkaW5nIHB0aHJlYWQuaCBvdXJzZWx2ZXMsCgkgIGJ1dCB3ZSBtYXkganVzdCBhcyB3ZWxsIHVzZSBhdG9taWMgb3BzIGZvciB0aGlzIGFuZAoJICBzaW1wbGlmeSB0aGUgY29kZSBhIGxpdHRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMTo1NDozOCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogZGVwcmVjYXRlZCBHU3RhdGljUldMb2NrIC0+IEdSV0xvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMTo1NDowNiArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSAgY2hyb21haG9sZDogZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggLT4gR011dGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTA6NTI6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgZ3N0LWFwcC1tYWtlcjogY29udmVydCB0byAxLjAKCjIwMTMtMDItMDggMDA6MDY6MTYgKzExMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiBuZXcgY2FwcyBhcmUgc2FtZSBhcyBvbGQgY2FwcwoJICBUaGUgbGVhayBvY2N1cnMgd2hlbiB5b3UgZ290IGEgbWVzc2FnZSB3aXRoIGlkZW50aWNhbCBjYXBzIHRvIHRoZSBvbmVzIHlvdQoJICBhbHJlYWR5IGhhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyNAoKMjAxMi0xMC0wMiAxMTowMjozMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHByb2ZpbGUgZW51bXMuCgkgIEFkZCBhbGwgdXNlZnVsIHByb2ZpbGVzIGZyb20gQVZDLCBNVkMgYW5kIFNWQyBzcGVjaWZpY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzE0MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTA3IDIyOjI2OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSAgZHZkc3B1OiBGaXggdGhlIHJlbmRlcmluZyBvZiBQR1Mgd2luZG93cyB3aXRoIGxlZnQgIT0gMAoJICBXaGVuIHJlbmRlcmluZyBhIFBHUyB3aW5kb3cgYXJlYSB3aGVyZSB0aGUgbGVmdCBlZGdlIGlzIG5vdCBhdAoJICBwaXhlbCAwLCB0aGUgY2hyb21hIHdhcyBiZWluZyByZW5kZXJlZCBpbiB0aGUgd3JvbmcgcGxhY2Ugc2luY2UKCSAgY29tbWl0IDRkYzY0OGQzNDMwYjY3NTkyY2YxNDEzY2NlZjQxNWY3MDg4OWQ3MWUKCjIwMTMtMDItMDcgMTE6MzE6MTIgKzAwMDAgIFRpbSBBbnNlbGwgPGdub21lIGF0IG1pdGhpcy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiBmaXggbGVha3MgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzAwCgoyMDEzLTAyLTA3IDA4OjQxOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSAgZnJlZXZlcmI6IHBvcnQgdG8gMS4wCgoyMDEzLTAxLTA5IDEzOjMxOjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgY29tbWVudHMgZm9yIG1vbm9zY29wZSBwb3J0aW5nCgoyMDEzLTAyLTA2IDE1OjQ4OjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIGZvciB0cnVlIGludGVybGFjZWQgbW9kZXMKCjIwMTMtMDItMDYgMTI6MzU6MzYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgc29tZXdoYXQgZm9yIDEuMAoJICBPbmx5IGNvbnZlcnRlZCBiYXNldHJhbnNmb3JtIGZvciB0aGUgbW9tZW50LiAgSXQncyBwcm9iYWJseSBlYXNpZXIKCSAgdG8gd3JpdGUgdGVtcGxhdGVzIGZyb20gc2NyYXRjaCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAxMy0wMi0wNSAxMTo1Njo0NiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMuCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZ3phZyBzY2FuCgkgIG9yZGVyIChhcyBlbmNvZGVkIGluIHRoZSBiaXRzdHJlYW0pIGludG8gcmFzdGVyIHNjYW4gb3JkZXIuIEFsc28gcHJvdmlkZQoJICBhbm90aGVyIGZ1bmN0aW9uIHRvIHJldmVyc2UgdGhlIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwMAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDE2OjEzOjIyICswODAwICBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBzdG9yZSBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4gemlnemFnIHNjYW4gb3JkZXIuCgkgIFF1YW50aXplciBtYXRyaWNlcyBhcmUgZW5jb2RlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciBpbiB0aGUgYml0c3RyZWFtLAoJICBidXQgdGhleSBhcmUgc3RvcmVkIGluIHJhc3RlciBzY2FuIG9yZGVyIHdoZW4gdGhleSBhcmUgcGFyc2VkLiBIb3dldmVyLAoJICBkZWZhdWx0IG1hdHJpY2VzIHdlcmUgYWxzbyBwcmVwYXJlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciwgaGVuY2UgdGhlCgkgIG1pc21hdGNoLiBpLmUuIHRoZSBtYXRyaWNlcyB3ZXJlIHByZXNlbnRlZCBlaXRoZXIgaW4gcmFzdGVyIHNjYW4gb3JkZXIKCSAgaWYgdGhleSBhcmUgZXhwbGljaXRseSBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0sIG9yIHRoZXkgd2VyZSBwcmVzZW50ZWQKCSAgaW4gemlnemFnIHNjYW4gb3JkZXIgaWYgdGhlIGRlZmF1bHQgZGVmaW5pdGlvbnMgd2VyZSB0byBiZSB1c2VkIGluc3RlYWQuCgkgIE9uZSB3YXkgdG8gc29sdmUgdGhpcyBwcm9ibGVtIGlzIHRvIGFsd2F5cyBleHBvc2UgdGhlIHF1YW50aXphdGlvbgoJICBtYXRyaWNlcyBpbiB6aWd6YWcgc2NhbiBvcmRlciwgc2luY2UgdGhpcyBpcyB0aGUgcm9sZSBvZiB0aGUgcGFyc2VyIHRvCgkgIG5vdCBidWlsZCB1cCBzdG9yaWVzIGZyb20gdGhlIHNvdXJjZSBiaXRzdHJlYW0gYW5kIGp1c3QgcHJlc2VudCB3aGF0CgkgIGlzIGluIHRoZXJlLgoJICBVdGlsaXR5IGZ1bmN0aW9ucyB3aWxsIGJlIHByb3ZpZGVkIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluCgkgIGVpdGhlciBzY2FuIG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDAwCgkgIFNpZ25lZC1vZmYtYnk6IENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0wNSAyMzowNzoxMiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZXhwb3NlIFZDMSBzdHJlYW1zIHdpdGggbWlzc2luZyBkZXNjcmlwdG9yLgoJICBGaXhlcyBwbGF5YmFjayBvZiBWQzEgc3RyZWFtcyB3aGVuIHRoZSBkZXNjcmlwdG9yIGlzIG1pc3NpbmcuCgoyMDEzLTAyLTA1IDE3OjM0OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBoYW5kbGUgRUlOVFIgZnJvbSBwb2xsCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMyMTIKCjIwMTAtMTItMjcgMjM6MjE6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGVsZWNpbmUgcGF0dGVybnMKCjIwMTEtMDEtMTAgMTA6MzY6NDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIG1vcmUgdmVyYm9zZSBoaW50cyBhYm91dCBmaWVsZCBwYXR0ZXJucwoKMjAxMy0wMi0wNCAxODowNzoxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGRlc2NyaXB0b3JzIGZvciBTTVBURSAzMDJtIGF1ZGlvCgoyMDEzLTAyLTAyIDE4OjQ0OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHNlcGFyYXRlIGZpZWxkcyBmb3IgZGlzdGluY3QgZnVuY3Rpb25hbCB1c2VzIG9mIGNvZGVjX2RhdGEgZmllbGQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4OQoKMjAxMy0wMS0zMSAxMjozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogZml4IHRpbWVzdGFtcHMKCSAgQ29weSB0aW1lc3RhbXBzIHRvIHBheWxvYWRlZCBidWZmZXIuCgkgIEF2b2lkIGlucHV0IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkyOQoKMjAxMy0wMS0zMCAwOTozMzo0OSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFsbG93IGNhbGxpbmcgZnJvbSBvdXQtb2YtdHJlZQoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjg1OQoKMjAxMy0wMS0yOCAyMDo0Mjo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTk0MjI5MyB0byAyZGUyMjFjCgoyMDEzLTAxLTI4IDE0OjEyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNyYXNoIHdoZW4gc2V0dGluZyAiY2JyIiBwcm9wZXJ0eSB3aGVuIGVuY29kZXIgaXMgbm90IHJ1bm5pbmcgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI2OTgKCjIwMTMtMDEtMjYgMjI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGR0bWZzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kdG1mX3NyY19wcmVwYXJlX21lc3NhZ2UuaXNyYS4xJzoKCSAgZ3N0cnRwZHRtZnNyYy5jOjY2OTozOiBlcnJvcjogJ3MnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMy0wMS0yNSAyMTowNjowNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IEZpeCBtaXNzaW5nIHdvcmsgaW4gZG9jCgoyMDEzLTAxLTI0IDIxOjAwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mZGVwYXkgYW5kIHJ0cGR0bWZzcmMKCjIwMTMtMDEtMjUgMjA6Mzk6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFBvc3QgdGhlIG1lc3NhZ2VzIGFmdGVyIHRoZSBjbG9jayB3YWl0CgkgIFRoaXMgd2F5LCB0aGUgbWVzc2FnZXMgd2lsbCBiZSBjbG9zZXIgaW4gdGltZSB0byB3aGVuIHRoZSBwYWNrZXRzIGFyZSBzZW50IG91dAoKMjAxMy0wMS0yNSAyMDozNzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogT25seSBzZXQgdGhlIGR1cmF0aW9uIHdoZW4gc3RhcnRpbmcgdG8gc2VuZAoJICBUaGUgZHVyYXRpb24gZGVwZW5kcyBvbiB0aGUgY2xvY2sgcmF0ZSwgd2hpY2ggY291bGQgY2hhbmdlIGR1ZSB0byByZW5lZ290aWF0aW9uCgoyMDEzLTAxLTI1IDIwOjM3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiByZW1vdmUgInNzcmMiIGZyb20gY2FwcwoJICBzc3JjIGlzIHVpbnQgYW5kIHdlIGRvbid0IGhhdmUgYSB1aW50IHJhbmdlIHR5cGUKCjIwMTMtMDEtMjUgMTU6NDQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZml4IGluc2VydGJpbiBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBNYWtlIHN1cmUgcGtnLWNvbmZpZyBpbiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluLyBjYW4gZmluZAoJICB0aGUgdW5pbnN0YWxsZWQgY29yZS9iYXNlIHByb3Blcmx5LiBGaXhlcyBidWlsZCBvZgoJICBpbnNlcnRiaW4gaW4gdW5pbnN0YWxsZWQgc2V0dXAgaWYgdGhlcmUgYXJuJ3QgYW55CgkgIGluc3RhbGxlZCBnaXIgZmlsZXMgdG8gZmFsbCBiYWNrIHRvLgoKMjAxMy0wMS0yNSAxMjoyNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBpbnNlcnRiaW4sIHRlc3RzOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMS0yNCAxODoxNDoyOCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKERJRkY2IG9yIE5PUk02IHJlc2lkdWFsIGJ5dGVzKS4KCSAgRml4IHBhcnNpbmcgb2YgcmVzaWR1YWwgYnl0ZXMuIFRoaXMgaXMgYSB0d28tc3RlcCBwcm9jZXNzLiBGaXJzdCwKCSAgcmVtYWluaW5nIGNvbHVtcyBvZiBmdWxsIHZlcnRpY2FsIHJlc29sdXRpb24gKDxoZWlnaHQ+KSBuZWVkIHRvIGJlCgkgIHByb2Nlc3NlZC4gTmV4dCwgcmVtYWluaW5nIGJ5dGVzIGluIHRoZSBmaXJzdCByb3cgY2FuIGJlIHByb2Nlc3NlZCwKCSAgd2hpbGUgdGFraW5nIGludG8gYWNjb3VudCB0aGUgZmFjdCB0aGF0IHdlIG1heSBoYXZlIGZpbGxlZCBpbiB0aGUKCSAgZmlyc3QgY29sdW1ucyBhbHJlYWR5LiBTbywgdGhpcyBpcyBub3QgZnVsbCBob3Jpem9udGFsIHJlc29sdXRpb24uCgkgIFRoZSBmb2xsb3dpbmcgZmlndXJlIGhlbHBzIGluIHVuZGVyc3RhbmRpbmcgdGhlIGV4cGVjdGVkIG9yZGVyIG9mCgkgIG9wZXJhdGlvbnMsIGZvciBhIDh4NSBNQnMgYml0cGxhbmUuCgkgIDUgNSA2IDYgNiA2IDYgNgoJICA1IDUgMSAxIDEgMiAyIDIKCSAgNSA1IDEgMSAxIDIgMiAyCgkgIDUgNSAzIDMgMyA0IDQgNAoJICA1IDUgMyAzIDMgNCA0IDQKCSAgU28sIGFmdGVyIHRpbGVzIDEgdG8gNCBhcmUgZGVjb2RlZCwgdmVydGljYWwgdGlsZSA1IG5lZWRzIHRvIGJlCgkgIHByb2Nlc3NlZCAoMng1IE1CcykgYW5kIHRoZW4gdGhlIGhvcml6b250YWwgdGlsZSA2ICg2eDEgTUJzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ2MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTI0IDE3OjI4OjIyICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoRElGRjYgb3IgTk9STTYpLgoJICBGaXggZGVjb2Rpbmcgb2YgRElGRjYgb3IgTk9STTYgYml0cGxhbmVzIHdpdGggYW4gb2RkIG51bWJlciBvZiBsaW5lcwoJICAoM3gyICJob3Jpem9udGFsIiB0aWxlcykuIEluIHRoaXMgY2FzZSwgd2UgaGF2ZSB0byBza2lwIHRoZSBmaXJzdCBsaW5lCgkgIG9mIG1hY3JvYmxvY2tzIGJ1dCA8d2lkdGg+IG51bWJlciBvZiBieXRlcyB3YXMgdXNlZCB0byBkbyBzbywgaW5zdGVhZAoJICBvZiB0aGUgYWN0dWFsIDxzdHJpZGU+IHNpemUuCgkgIFRoaXMgZml4ZXMgZGVjb2RpbmcgZm9yIHRoZSB2aWRlbyBzYW1wbGUgYXR0YWNoZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg1NjUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ2MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTAzLTE1IDE0OjEyOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4ucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQWRkIGJpbiB0byBkeW5hbWljYWxseSBpbnNlcnQgZWxlbWVudHMgaW4gYSBydW5uaW5nIHBpcGVsaW5lCgkgIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGxpbmtzIGluIGFueSBlbGVtZW50IGFkZGVkIHVzaW5nIGl0J3MKCSAgYWN0aW9uIHNpZ25hbHMuIFRoZXNlIGVsZW1lbnRzIG11c3QgaGF2ZSBhIHNpbmdsZSBzb3VyY2UgcGFkIGFuZCBhIHNpbmdsZQoJICBzaW5rIHBhZC4KCjIwMTMtMDEtMjMgMTQ6NDc6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBhZGQgQVBJIHRvIHBhcnNlIHNsaWNlIGhlYWRlcnMuCgkgIEFkZCBnc3RfdmMxX3BhcnNlX3NsaWNlX2hlYWRlcigpIGZ1bmN0aW9uIHRvIHBhcnNlIHNsaWNlIGhlYWRlcnMgYXMKCSAgZGVzY3JpYmVkIGluIDcuMS4yLiBTbGljZSBsYXllcnMgYXJlIG9wdGlvbmFsIGFuZCBhbGxvd2VkIGluIGFkdmFuY2VkCgkgIHByb2ZpbGUgbW9kZSBvbmx5LiBQaWN0dXJlIGhlYWRlciwgaWYgYXZhaWxhYmxlIChQSUNfSEVBREVSX0ZMQUcpLAoJICBpcyBwYXJzZWQgYnV0IG5vdCByZWNvcmRlZCBiZWNhdXNlIGl0IHNoYWxsIGJlIHRoZSBzYW1lIGFzIHRoYXQgd2FzCgkgIHByZXZpb3VzbHkgcGFyc2VkIHdpdGggZ3N0X3ZjMV9wYXJzZV9mcmFtZV9oZWFkZXIoKS4KCSAgVGhpcyBmaXhlcyBTQTAwMDQ5LnZjMSBjb25mb3JtYW5jZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzg4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTg6MDE6MjQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nLgoJICBGaXggZGVjb2Rpbmcgb2YgRElGRjIgb3IgTk9STTIgYml0cGxhbmVzIHdpdGggYW4gb2RkIG51bWJlciBvZiBtYWNyb2Jsb2Nrcy4KCSAgSW4gcGFydGljdWxhciwgYWNjb3VudCBmb3IgdGhlIGZpcnN0IGJpdCB0aGF0IHdhcyBhbHJlYWR5IHBhcnNlZCBzbyB0aGF0IHRvCgkgIGF2b2lkIGEgYnVmZmVyIG92ZXJmbG93IGFmdGVyIGFsbCBwYWlycyBhcmUgcGFyc2VkLgoJICBUaGlzIGZpeGVzIFNBMDAwNDAudmMxIGNvbmZvcm1hbmNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzMTIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxOTozMTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGRpc2FibGUgTUZDIGlmIHNvbWUgdjRsMiBQSVhfRk1UIG1pc3NpbmcKCjIwMTMtMDEtMjIgMTE6NDI6NDkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBzaW1wbGlmeSBHc3RWQzFWb3BEcXVhbnQgc3RydWN0dXJlLgoJICBSZW5hbWUgZHFzYmVkZ2UgdG8gZHFiZWRnZS4gVGhlIGludGVudCBpcyB0aGF0IHdlIGNhbiBvbmx5IGhhdmUgYSBzaW5nbGUKCSAgYm91bmRhcnkgZWRnZSBzZWxlY3RvciwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBkcXByb2ZpbGUuIFNvLCBkcWJlZGdlCgkgIHJlcHJlc2VudHMgRFFTQkVER0UgaWYgZHFwcm9maWxlID09IEdTVF9WQzFfRFFQUk9GSUxFX1NJTkdMRV9FREdFLCBvcgoJICBEUURCRURHRSBpZiBkcXByb2ZpbGUgPT0gR1NUX1ZDMV9EUVBST0ZJTEVfRE9VQkxFX0VER0UuCgkgIFRoZSBmb3JtZXIgZHFiZWRnZSBmaWVsZCBpcyBtYXJrZWQgYXMgdW51c2VkIGFuZCBjYW4gYmUgcmVtb3ZlZCBvbiB0aGUKCSAgbmV4dCBnc3QtcGx1Z2lucy1iYWQgdmVyc2lvbiB0aGF0IGFsbG93cyBBQkkgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTE4IDE0OjU1OjQwICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmx0bHNzaW5rOiBzZXQgY29ycmVjdCBsZXZlbCBvZiBTU0wgZm9yIHRoZSB0cmFuc2ZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEwCgoyMDEzLTAxLTIyIDEwOjQ4OjM5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFZPUERRVUFOVCBwYXJzZXIgZm9yIERRVUFOVCA9PSAyLgoJICBGaXggcGFyc2luZyBvZiBWT1BEUVVBTlQgd2hlbiBEUVVBTlQgPT0gMi4gSW4gcGFydGljdWxhciwgRFFVQU5URlJNIGlzCgkgIG5vdCBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0gaW4gdGhpcyBjYXNlIGFuZCBpdCBzaGFsbCBiZSBkZXJpdmVkIHRvCgkgIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHplcm8gKDcuMS4xLjMxLjEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTA6Mzg6MjAgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggY2FsY3VsYXRpb24gb2YgQUxUUFFVQU5ULgoJICBGaXggY2FsY3VsYXRpb24gb2YgQUxUUFFVQU5UIHdoZW4gRFFVQU5UID09IDEuIFBRRElGRiBhbHRlcnMgQUxUUFFVQU5UCgkgIGluIGFueSBjYXNlLiBTZWUgNy4xLjEuMzEuNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDEwOjExOjM0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IHBhcnNlciBmb3IgRFFQUk9GSUxFIGluIFZPUERRVUFOVC4KCSAgRml4IHBhcnNlX3ZvcGRxdWFudCgpIHRvIGNvcnJlY3RseSBwYXJzZSBEUVBST0ZJTEUsIHdoaWNoIGlzIDIgYml0cwoJICBpbnN0ZWFkIG9mIGEgc2luZ2xlIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI2NwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTA2IDE4OjU0OjUyICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgaW5mZXJyZWQgdmFsdWUgZm9yIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIuCgkgIFRoZSBzdGFuZGFyZCBzcGVjaWZpZXMgdGhhdCB3aGVuIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIgaXMgbm90IHByZXNlbnQKCSAgaW4gdGhlIHNsaWNlIGhlYWRlciwgdGhlbiB0aGUgdmFsdWUgb2Ygc2xpY2VfYmV0YV9vZmZzZXRfZGl2MiBzaGFsbCBiZQoJICBpbmZlcnJlZCB0byBiZSBlcXVhbCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjY1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMTcgMTk6MDI6NDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVlbmFibGUgdW5pdCB0ZXN0cyBhbmQgdXAgcmFuayB0byBwcmltYXJ5IGFnYWluCgoyMDEzLTAxLTE4IDE2OjE0OjAzICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogdXNlIG92ZXJsYXkgY29tcG9zaXRpb24gdG8gYmxpdCBzdWJ0aXRsZXMgb24gdmlkZW8gZnJhbWVzCgkgIFJlLXVzZXMgZXhpc3RpbmcgYmxpdHRpbmcgY29kZSBhbmQgYWxzbyBtZWFucyB3ZSBjYW4gc3VwcG9ydAoJICBhIGxvdCBtb3JlIHZpZGVvIGZvcm1hdHMgb3V0IG9mIHRoZSBib3gsIGhlbmNlIGF2b2lkIHVubmVjZXNzYXJ5CgkgIHBpeGVsIGZvcm1hdCBvciBjb2xvdXIgc3BhY2UgY29udmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6NDg6MTIgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiByZW5kZXIgb3ZlcmxheSBjb21wb3NpdGlvbiBpZiBzdXBwb3J0ZWQgZG93bnN0cmVhbQoJICBUaGlzIGFsbG93cyByZW5kZXJpbmcgQVNTIHN1YnRpdGxlcyBvbiB0b3Agb2YgdmlkZW8gd2hlbgoJICB1c2luZyBoYXJkd2FyZS1hY2NlbGVyYXRlZCB2aWRlbyBkZWNvZGVycyBiYXNlZCBvbiBlLmcuCgkgIFZBLUFQSSBvciBWRFBBVS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODM4OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTIxIDEwOjM1OjQ5ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogYWRkIHdhaXQtdGV4dCBwcm9wZXJ0eQoJICBUaGlzIGlzIHRoZSBzYW1lIHByb3BlcnR5IGFzIGluIHRoZSBwYW5nbyBlbGVtZW50LCB0byBhbGxvdyB3YWl0aW5nIGZvcgoJICB0ZXh0IG9uIHRoZSB0ZXh0IHBhZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xOCAxNToyNTo0OCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGZpeCBzb21lIHN1YnRpdGxlcyBiZWluZyBpZ25vcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6MzM6MTEgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWZhY3RvciBjb2RlIHRvIGF2b2lkIGR1cGxpY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6MjY6MDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwcm94eSBhbGxvY2F0aW9ucyBvbiB2aWRlbyBwYWQKCSAgRm9yd2FyZCBhbGxvY2F0aW9uIHF1ZXJpZXMgb24gdmlkZW8gc2luayBwYWQgaW5zdGVhZAoJICBvZiBkaXNjYXJkaW5nIHRoZW0uCgkgIFRoaXMgYWxsb3dzIHRoZSB1cHN0cmVhbSBlbGVtZW50cyB0byB1c2UgdGhlIGFsbG9jYXRpb24KCSAgcGFyYW1ldGVycyBvciBwb29scyBmcm9tIHRoZSBkb3duc3RyZWFtIGVsZW1lbnRzIGxpa2UKCSAgdmlkZW9zaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTIwIDE3OjQzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogY2xlYW4gdXAgR1ZhbHVlIGhhbmRsaW5nIGEgbGl0dGxlCgkgIEFsbG9jYXRlIEdWYWx1ZXMgb24gdGhlIHN0YWNrLCBhbmQgdW5zZXQvZnJlZSB0aGVtIHByb3Blcmx5LCBmaXhpbmcKCSAgYSBmZXcgbGVha3MgaW4gdGhlIHByb2Nlc3MuIEFsc28gdXNlIGdzdF9zdHJ1Y3R1cmVfdGFrZV92YWx1ZSgpCgkgIHdoZXJlIGFwcHJvcHJpYXRlIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGxpc3QgY29waWVzLgoKMjAxMy0wMS0yMCAxNzoxNzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiB1cGRhdGUgU0JDIGNhcHMgZm9yIHJlbmFtZWQgZmllbGRzCgkgIG1vZGUgLT4gY2hhbm5lbC1tb2RlCgkgIGFsbG9jYXRpb24gLT4gYWxsb2NhdGlvbi1tZXRob2QKCjIwMTMtMDEtMTcgMTk6Mjk6MzEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBJbml0aWFsaXplIHNobV9hcmVhX2J1ZiB0byBpbnZhbGlkIHZhbHVlCgoyMDEzLTAxLTA3IDEzOjMyOjA2ICswMTAwICBSb2xhbmQgRWxlayA8cmVsZWsuZjJAZ21haWwuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogYXBwbHkgc2htIGFyZWEgcGVybWlzc2lvbnMgdG8gc2htcGlwZSBjb250cm9sIHNvY2tldAoJICBBcHBseSBzaGFyZWQgbWVtb3J5IGFyZWEgcGVybWlzc2lvbnMgdG8gdGhlIGNvbnRyb2wgc29ja2V0IChtb3JlCgkgIHByZWNpc2VseSwgdGhlIHBhdGggaXQgaXMgYm91bmQgdG8pIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzUKCjIwMTMtMDEtMTYgMTQ6NDA6MTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBEZWZpbmUgTElCVVNCX0NMQVNTX1ZJREVPIGlmIHVzaW5nIGFuIG9sZCB2ZXJzaW9uIG9mIGxpYnVzYgoKMjAxMy0wMS0xNiAxNDo0ODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFByZXZlbnQgdGVtcG9yYXJ5IGVsZW1lbnRzIGZyb20gZ29pbmcgdG8gcGxheWluZwoKMjAxMy0wMS0xNiAxNDo0MjozOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IGRvIG5vdCBkb3VibGUtdW5yZWYgaWYgdHJhbnNmb3JtX2NhcHMgZmFpbHMKCjIwMTMtMDEtMTYgMTQ6NDE6MDggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBBZGQgYSBmYWtlc2luayB0byB0aGUgdHJhbnNmb3JtX2NhcHMgU29tZSB2ZXJzaW9uIG9mIGJhc2V0cmFuc2Zvcm0gd2lsbCByZXR1cm4gdGhlIHRlbXBsYXRlIGNhcHMgaWYgdGhlIHNyYyBwYWQgaXMgbm90IGxpbmtlZCwgc28gdGhlIGNhcHNmaWx0ZXIgd2lsbCByZXR1cm4gQU5ZLiBMaW5raW5nIGl0IHRvIGZha2VzaW5rIGFsbG93cyB1cyB0byByZXR1cm4gdGhlIHJpZ2h0IGNhcHMgaW4gdGhlIGNhcHNmaWx0ZXIgYW5kIGhhdmUgdGhlbSB0cmFuc2Zvcm1lZCBieSB0aGUgY29sb3JzcGFjZSBjb252ZXJ0ZXIuCgoyMDEzLTAxLTE1IDE1OjAyOjM3ICswMTAwICBNYXJ0aW4gUGl0dCA8bWFydGlucGl0dEBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBfMV8wIHZhcmlhbnRzIGZvciB0aGUgdmFyaW91cyByZWdpc3RyeSB2YXJpYWJsZXMKCSAgVGhlc2Ugb3ZlcnJpZGUgdGhlIHZhcmlhbnRzIHdpdGhvdXQgdmVyc2lvbiBzdWZmaXguIE1ha2VzICdtYWtlIGNoZWNrJyB3b3JrCgkgIHByb3Blcmx5IGluIGVudmlyb25tZW50cyB0aGF0IHNldCB0aGUgc3VmZml4ZWQgdmFyaWFudCBmb3IgMS4wLCBzdWNoIGFzCgkgIGpoYnVpbGQuCgoyMDEzLTAxLTEyIDEzOjE1OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiB6ZXJvLWluaXRpYWxpemUgU1BTIFZVSSBwYXJhbWV0ZXJzCgkgIC4uLiBzbyBhbGwgJ3ByZXNlbnQnIGZsYWdzIGluZGljYXRlIG5vIHByZXNlbmNlIG9mIG9wdGlvbmFsIHBhcnRzCgkgIGluIGNhc2UgVlVJIHBhcmFtZXRlcnMgZW5kIHVwIG5vdCBiZWluZyBwYXJzZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE4MTgKCjIwMTMtMDEtMTUgMTU6MDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNzJmYWVhIHRvIGE5NDIyOTMKCjIwMTMtMDEtMTIgMTg6MTA6MzUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgdHdvIGxhdGVzdCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMy0wMS0wOSAxOTo1OToxNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuYzoKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5oOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mL3NwYW5kc3A6IE1vdmUgZHRtZmRldGVjdCB0byB1c2UgbGlic3BhbmRzcAoJICBSZW1vdmUgb3VyIGNvcHkgb2YgdGhlIHRvbmVfZGV0ZWN0LmMgZmlsZSBhbmQgdXNlIHRoZSBvcmlnaW5hbAoJICBmcm9tIGxpYnNwYW5kc3AuIEFsc28gbW92ZSB0aGUgZWxlbWVudCB0byB0aGUgc3BhbmRzcCBwbHVnaW4uCgoyMDEzLTAxLTEwIDAwOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiB1c2UgR0xpYiBkZWZpbmVzIHRvIGNoZWNrIGZvciBieXRlIG9yZGVyCgoyMDEzLTAxLTA5IDE4OjEwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSAgYmx1ZXo6IGFkZCBuZXcgcGx1Z2luIHRvIGJ1aWxkIHN5c3RlbSwgYnV0IGRpc2FibGUgZm9yIG5vdwoJICBEaXNhYmxlIHVudGlsIGl0IGhhcyBiZWVuIHRlc3RlZCBhbmQgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMDkgMTg6MDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IG1ha2UgYmx1ZXogZWxlbWVudHMgY29tcGlsZSB3aXRoIDEuMAoJICBCdWlsZHMsIGJ1dCB2ZXJ5IGxpa2VseSBkb2Vzbid0IHdvcmsgeWV0IGF0IGFsbC4gU29tZQoJICB0aGluZ3MgYXJlIHN0aWxsIGNvbW1lbnRlZCBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTItMTAtMDkgMjA6MzU6NDUgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdmluZm86IFJlcGxhY2UgZGVmaW5pdGlvbnMgd2l0aCBhMmRwLWNvZGVjcy5oJ3MKCjIwMTItMTAtMDkgMjA6MzU6NDQgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdWRpbzogQWRkIGNoZWNrIGZvciB2ZW5kb3Igc3BlY2lmaWMgQTJEUCBjb2RlYwoJICBUaGlzIHBhdGNoIGFkZHMgY2hlY2tzKHZlbmRvciBJRCwgdmVuZG9yIHNwZWNpZmljIGNvZGVjIElEKSB0byBtYWtlIHN1cmUgb2YKCSAgdmVuZG9yIHNwZWNpZmljIEEyRFAgY29kZWMgc2VsZWN0aW9uLgoKMjAxMi0wOS0xNCAyMTo0MDoxMCArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBnc3RhdmR0cHNpbms6IEZyZWUgdGhlIEQtQnVzIGVycm9yIG9uIHJlcGx5IGZhaWx1cmUKCSAgSWYgRC1CdXMgZXJyb3IgaXMgc2V0IHdlIHNob3VsZCBmcmVlIGl0LgoKMjAxMi0wOC0yMSAxMTo0OToyNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlcyBvbiBwb2ludGVyIGRlY2xhcmF0aW9ucyBhbmQgY2FzdGluZwoJICBBdm9pZCB1c2luZyBDKysgc3R5bGUgcG9pbnRlciBkZWNsYXJhdGlvbnMgbGlrZSAiY2hhciogcHRyIiwgYXMgbW9zdAoJICBCbHVlWiBjb2RlIHVzZXMgImNoYXIgKnB0ciIuCgoyMDEyLTA2LTI1IDEyOjA2OjE3ICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBSZW1vdmUgaW50ZXJuYWwgYXVkaW8gSVBDCgkgIFdpdGggdW5peCBzb2NrZXQgYW5kIEFMU0EgcmVtb3ZlZCB0aGVyZSBpcyBubyBsb25nZXIgYW55IHVzZSBmb3IgdGhlCgkgIGludGVybmFsIElQQy4KCjIwMTItMDUtMzAgMTc6MTY6MTkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSBjb21wYXRpYmlsaXR5IGNoZWNrIGZvciBEQlVTX1RZUEVfVU5JWF9GRAoJICBTaW5jZSBjb21taXQgYzg5YjU4OWE1ODZlOTdhZDg3NWZiZGQxZDQxZjAzOTc5MTU3ZWJiMCwgRC1CdXMgPj0gMS40LjAgaXMKCSAgcmVxdWlyZWQuIFRoaXMgdmVyc2lvbiBhbHJlYWR5IGNvbnRhaW5zIFVuaXggRkQgcGFzc2luZyBzdXBwb3J0LAoJICB0aGVyZWZvcmUgY29kZSB0aGF0IGNoZWNrcyBmb3IgREJVU19UWVBFX1VOSVhfRkQgZGVmaW5pdGlvbiBpcwoJICB1bm5lY2Vzc2FyeS4KCjIwMTItMDUtMTggMDk6NDY6MjkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGF2ZHRwOiBGaXggaW5jb3JyZWN0IGdjaGFyIGJ1ZmZlciBhbGxvY2F0aW9uCgkgIFRoZSBjb2RlIHdhcyBhbGxvY2F0aW5nIGFuIGFycmF5IG9mIGdjaGFyIHBvaW50ZXJzLCB3aGVyZSBhbiBhcnJheSBvZgoJICBnY2hhciBpcyBleHBlY3RlZC4KCjIwMTItMDQtMTYgMTE6NTk6NTkgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogYXVkaW86IEFkZCBTQkMgTlVMTCBjaGVjayBmb3IgR1NUIEFWRFRQIHNpZ25hbGluZwoJICBEdWUgdG8gUkYgY29uZGl0aW9uIG9yIGhlYWRzZXQgbWFsZnVuY3Rpb25pbmcsIGdzdCBhdWRpbyBwbHVnLWluIGNvdWxkCgkgIG5vdCBnZXQgU0JDIChtYW5kYXRvcnkgY29kZWMpIGluZm9ybWF0aW9uLgoKMjAxMi0wNC0xMiAyMDozMzowNiArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJICBibHVlejogYXVkaW86IEZpeCBuZXdsaW5lIGJlZm9yZSBFT0YKCjIwMTItMDQtMTIgMjA6MzI6NTUgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogZ3N0YXZkdHBzaW5rOiBGaXggRC1CdXMgbWVtb3J5IGxlYWsgaW4gYXVkaW8KCjIwMTEtMTEtMTcgMTM6Mjk6MDYgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFWRFRQOiBGaXggY2xvc2luZyBpbnZhbGlkIEZEIG9uIGVycm9yCgkgIEluIGdzdF9hdmR0cF9zaW5rX3N0YXJ0KCksIGlmIGJ0X2F1ZGlvX3NlcnZpY2Vfb3BlbigpIGZhaWxlZCwgdGhlcmUgd2FzCgkgIGFuIGF0dGVtcHQgdG8gY2xvc2UgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgKHRocm91Z2gKCSAgYnRfYXVkaW9fc2VydmljZV9jbG9zZSgpKS4KCjIwMTEtMTEtMTYgMDk6MjA6MDQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCByZXR1cm4gdmFsdWUgY2hlY2sgZm9yIGJ0X2F1ZGlvX3NlcnZpY2Vfb3BlbigpCgkgIE9ubHkgbmVnYXRpdmUgdmFsdWVzIChuYW1lbHkgLTEpIGFyZSBlcnJvcnMgZm9yIHRoaXMgZnVuY3Rpb24uCgoyMDExLTExLTE2IDA5OjE5OjQ5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBVkRUUDogRml4IGVycm5vIGhhbmRsaW5nIGNvbnZlbnRpb24KCSAgVmFyaWFibGVzIHdoaWNoIGFyZSBhc3NpZ25lZCB0byB0aGUgZXJybm8gdmFyaWFibGUgKHVzdWFsbHkgY2FsbGVkCgkgICJlcnIiKSBzaG91bGQgYmUgbmVnYXRpdmUsIGFuZCAiLWVyciIgc2hvdWxkIGJlIHVzZWQgd2hlcmUgYSBwb3NpdGl2ZQoJICB2YWx1ZSBpcyBuZWVkZWQuCgoyMDExLTA4LTI2IDExOjE4OjU0IC0wNzAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBVcGRhdGUgbGljZW5zZSBmb3Igc2hhcmVkIGhlYWRlciBmaWxlcwoJICBUaGUgaGVhZGVyIGZpbGVzIHdpdGggY29uc3RhbnRzIGFuZCBzdHJ1Y3R1cmVzIGZvciBhdWRpbyBzcGVjaWZpYwoJICBpbnRlcmFjdGlvbiB3aXRoIFB1bHNlYXVkaW8gYXJlIHN1cHBvc2UgdG8gYmUgdW5kZXIgTEdQTCBsaWNlbnNlLgoJICBGb3Igc29tZSBvZGQgcmVhc29uIGEyZHAtY29kZWNzLmggZW5kZWQgdXAgYmVpbmcgdW5kZXIgR1BMIGxpY2Vuc2UKCSAgd2hpY2ggaXMgYWdhaW5zdCB0aGUgaW50ZW50aW9uIG9mIHRoaXMgYmVpbmcgc2hhcmVkIGFuZCByZS11c2VkIGJ5CgkgIG5vbi1HUEwgcHJvZ3JhbXMuIEZpeCB0aGlzIG5vdyB0byBhdm9pZCBhbnkgZnV0dXJlIGNvbmZ1c2lvbi4KCjIwMTEtMDctMDIgMTI6MzI6NDAgLTAzMDAgIEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29tbW9uIG1pc3NwZWxsZWQgd29yZHMKCSAgQWNjb3VudGluZyBvZiBtaXNzcGVsbGVkIHdvcmRzLCBhcyBkZXRlY3RlZCBieSBjb2Rlc3BlbGw6CgkgIGFjb3JkaW5nICAgICAgMgoJICBhbmNpbGxpYXJ5ICAgIDEKCSAgYXBwcm9waWF0ZSAgICAxCgkgIGF0cmlidXRlICAgICAgMQoJICBjYW50ICAgICAgICAgIDEKCSAgY29tbWluZyAgICAgICAyCgkgIGdyYWNlZnVsbCAgICAgMQoJICBsZW5naHQgICAgICAgIDEKCSAgbWlzcGVsbGVkICAgICAxCgkgIG9jY3VyZWQgICAgICAgMQoJICBvY2N1cmVuY2VzICAgIDEKCSAgb2N1cnJlZCAgICAgICAzCgkgIHByZWZlcmVkICAgICAgMQoJICBwcmVzZW5zZSAgICAgIDEKCSAgcmVwb25zZSAgICAgICAxCgkgIHNlcGVyYXRlICAgICAgMQoJICBzdWNjZXNmdWwgICAgIDEKCSAgc3VjY2Vzc3VsbHkgICAxCgkgIHN1Y2Vzc2Z1bGwgICAgMQoJICBzdWNlc3NmdWxseSAgIDEKCjIwMTEtMDUtMDkgMTU6MjY6MDcgKzAyMDAgIFN6eW1vbiBKYW5jIDxzenltb24uamFuY0B0aWV0by5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZ2FyYmFnZSByZXR1cm4gdmFsdWUgaW4gZ3N0X2F2ZHRwX3NpbmtfYXVkaW9zZXJ2aWNlX3JlY3YKCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogYXVkaW86IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wMS0yMCAxMToyOTo0MSArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogVXBkYXRlIGEyZHBzaW5rIHRvIHVzZSBuZXcgQWNxdWlyZSBBUEkKCjIwMTEtMDEtMTkgMTA6MDQ6NDkgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1c2Ugb2YgZGVwcmVjYXRlZCBnbGliIG9uIGF1ZGlvIHBsdWdpbgoKMjAxMC0wNS0wNiAxNzoxNDoxNCArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgc3VwcG9ydCBmb3IgbWVkaWEgdHJhbnNwb3J0IGluIGdzdHJlYW1lciBwbHVnaW4KCjIwMTAtMDktMTMgMTU6NDA6MTEgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjcmFzaCBvbiBnc3RyZWFtZXIgcGx1Z2luIGlmIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgc2JjCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6MTA6MjYgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogUmV2ZXJ0ICJGaXggYnVpbGQgaXNzdWVzIHdpdGggbGF0ZXN0IEdTdHJlYW1lciB1cGRhdGVzIgoKMjAxMC0wNS0xNyAyMjozMToyOCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYnVpbGQgaXNzdWVzIHdpdGggbGF0ZXN0IEdTdHJlYW1lciB1cGRhdGVzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0xMC0wNSAyMjo1MToxNCArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBnbWFpbC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kZWMgc2VsZWN0aW9uIG9uIGdzdHJlYW0gcGx1Z2luLgoKMjAwOS0xMC0wMiAxMDo1ODo1NCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcwoKMjAwOS0wNy0xNSAxNjo1MTowOCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIHVzZWxlc3MgaW5zdHJ1Y3Rpb24uCgoyMDA5LTA3LTAxIDEzOjE1OjU3ICswMjAwICBGaWxpcHBvIEdpdW5jaGVkaSA8ZmlsaXBwb0Blc2F1cml0by5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFJlZ2lzdGVyIHRoZSBhMmRwIGdzdCBzaW5rIGFzIG1hcmdpbmFsCgkgIEF2b2lkIHRha2luZyBvdmVyIGFzIGRlZmF1bHQgZ3N0IHNpbmsgYnkgcmVnaXN0ZXJpbmcgYXMgR1NUX1JBTktfTUFSR0lOQUwKCjIwMDktMDMtMjUgMTg6MDU6NDMgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBzcGVjaWZpYyBjb2RlYyB0eXBlcy4KCSAgQWRkIHNwZWNpZmljIGNvZGVjIHR5cGVzIGZvciBhMmRwIHNvdXJjZXMgYW5kIHNpbmtzIHNvIGNsaWVudHMgYXJlIGFibGUKCSAgdG8gZGlmZmVyIGJldHdlZW4gdGhlbS4KCjIwMDktMDMtMTggMTU6NTg6NTMgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSB1bm5lY2Vzc2FyeSBtZW1zZXQuCgoyMDA5LTAzLTE5IDE2OjE2OjE5IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgbG9jayBmbGFnIGZvciBjYXBhYmlsaXRpZXMuCgkgIGxvY2sgZmxhZyBwZXJtaXRzIHRoZSB1bml4IGNsaWVudCB0byBkZXRlY3QgaWYgdGhlcmUgaXMgc29tZW9uZSBob2xkaW5nCgkgIHRoZSBsb2NrIHNvIGl0IGNhbiBwcmV2ZW50IHVzZWxlc3MgYXR0ZW1wdCBvZiBzZXR0aW5nIGEgbmV3IGNvbmZpZ3VyYXRpb24uCgoyMDA5LTAzLTE4IDExOjIwOjMxIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBJbnRyb2R1Y2UgQlRfT1BFTiBjb21tYW5kIHRvIGF1ZGlvIGlwYy4KCSAgQlRfT1BFTiBtYWtlIGl0IHBvc3NpYmxlIHRvIGxvY2sgYSBnaXZlbiBzZWlkIHdoaWNoIGlzIGF1dG9tYWNhbGx5CgkgIHJlbGVhc2UgaWYgdGhlIGNsaWVudCBkaXNjb25uZWN0cyBmcm9tIHRoZSB1bml4IHNvY2tldC4KCjIwMDktMDMtMTkgMTE6NTA6MjYgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpZWxkcyB0byBhdWRpbyBpcGMgbWVzc2FnZXMuCgoyMDA5LTAyLTE5IDE1OjU4OjE1IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNYWtlIHVzZSBvZiBnX2lvX2NoYW5uZWxfc2h1dGRvd24gaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdfaW9fY2hhbm5lbF9jbG9zZS4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0xMi0yMCAyMTowNDo0NCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMTItMjAgMTg6Mjc6MzAgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGxlbmd0aCBoZWFkZXIgdmFsdWVzIGluIG1lc3NhZ2VzCgoyMDA4LTEyLTE2IDE3OjA5OjU3IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZ3N0cmVhbWVyIHBsdWdpbiB0byByZWZsZWN0IHRoZSBpcGMgY2hhbmdlcy4KCjIwMDgtMTAtMDcgMTI6MDc6MTQgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjaGFubmVsIG1vZGUgc3RyaW5nIGZyb20gZHVhbCB0byBkdWFsLWNoYW5uZWwuCgoyMDA4LTEwLTA3IDExOjU1OjU4IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY2hhbm5lbCBtb2RlIHN0cmluZyB0byBqb2ludC1zdGVyZW8uCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0xNCAyMToyMjozOCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTWFrZSB1c2Ugb2YgcGFyYW1ldGVycyBzZWxlY3RlZCBpbiBhbHNhIHBsdWdpbiBhbmQgZml4IGF1dG8gc2VsZWN0aW9uLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDItMDEgMTk6Mjg6MzcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIGJpdHBvb2wgcHJvcGVydHkgYW5kIG90aGVycyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMzAgMTc6MzA6MjcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBFbmFibGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgYXV0b2Nvbm5lY3QgZmxhZy4KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTIzIDE5OjE3OjMzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggdXNlIG9mIGdzdHJlYW1lciBwbHVnaW4gd2l0aCByaHl0aG1ib3ggYW5kIGJhbnNoZWUgYW5kIHJ0cCB0aW1lc3RhbXBzLgoKMjAwOC0wMS0yMyAxNToxODoxNSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFJlbmFtZSBhMmRwc2VuZGVyc2luayB0byBhdmR0cHNpbmsuCgoyMDA4LTAxLTIzIDEzOjIzOjAxICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBCdWcgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE5OjMyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgbXAzIHN1cHBvcnQgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAwNy0xMi0wNCAxOTo0MjowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZXJyb3IgbWVzc2FnZXMuICh0aGFua3MgdG8gZmNoZXZhbGllciBmb3IgdGhlIHBhdGNoKQoKMjAwNy0xMi0wMyAyMjo0MToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBIYW5kbGUgbmV3IGlwYyBtZXNzYWdlcyBwcm9wZXJseSBhbmQgYWRhcHQgdGhlIHBsdWdpbnMuCgoyMDA3LTExLTIzIDE3OjAwOjEzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IENvZGUgY2xlYW51cC4KCjIwMDctMTEtMjEgMjA6MjQ6MTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEludGVncmF0ZSBuZXcgaXBjIEFQSSBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMTEtMDEgMTk6NDU6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBzYmMgbmVnb3RpYXRpb24gYW5kIGltcHJvdmVzIGJ1ZmZlciBoYW5kbGluZyBieSB1c2luZyBHc3RBZGFwdGVyLgoKMjAwNy0xMC0yOSAxNTowMjoyNiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgYml0cG9vbCBjYXBhYmlsaXR5LgoKMjAwNy0xMC0yNiAxODo0ODo0MiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgZGVwZW5kZW5jeSBvZiBzYmMgbGlicmFyeSBmcm9tIGEyZHBzaW5rIGVsZW1lbnQuCgoyMDA3LTEwLTI1IDIxOjA3OjUwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYnVmZmVyIHVzYWdlLgoKMjAwNy0xMC0yNCAyMTo0MDozNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBTb21lIG1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA3LTEwLTI0IDIxOjMzOjIyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2Rpbmcgc3R5bGUuCgoyMDA3LTEwLTI0IDIxOjEzOjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYTJkcHNpbmsgY29kaW5nIHN0eWxlIHByb2JsZW1zIGFuZCBpbXByb3ZlIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIHBsYXllcnMuCgoyMDA3LTEwLTE4IDIzOjAyOjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBydHAgaGVhZGVyLgoKMjAwNy0xMC0xOCAyMjo0NjoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KCjIwMDctMTAtMTggMjE6NTA6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeGVzIGEyZHBzaW5rIGVsZW1lbnQuCgoyMDA3LTA4LTI2IDE0OjE0OjM0ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgcG9zc2libGUgY2FwYWJpbGl0aWVzIGFuZCBjb25uZWN0IHRvIGF1ZGlvIHNlcnZlcgoKMjAwNy0wOC0yMyAxOToxMjoyMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIFNCQyBlbmNvZGVyIGFuZCBkZWNvZGVyIHNrZWxldG9ucyBmb3IgR1N0cmVhbWVyCgoyMDA3LTA4LTIyIDIxOjUwOjU5ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgc2tlbGV0b24gZm9yIGFuIEEyRFAgc2luayBlbGVtZW50CgoyMDEzLTAxLTA3IDEwOjM3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBoYW5kbGUgbm9uLXV0ZjggZHZkIGRpc2MgdGl0bGVzIGJldHRlcgoJICBNYXliZSBzb21ldGhpbmcgYmFzZWQgb24gdGhlIGNvZGUgaW4gYnVnICM2ODgzNjcKCSAgYW5kIHRoZSBsYW5ndWFnZSBlbmNvZGluZ3Mgd291bGQgd29yayBldmVuIGJldHRlcgoJICB0aG91Z2ggKG5vdyBpdCB3aWxsIHRyeSB0aGluZ3MgYmFzZWQgb24gdGhlIGxvY2FsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwOTcKCjIwMTMtMDEtMDcgMTA6MzY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGphc3BlcjogcmVtb3ZlIGphc3BlciBqcGVnMjAwMCBwbHVnaW4sIHJlcGxhY2VkIGJ5IG9wZW5qcGVnIHBsdWdpbgoJICBsaWJqYXNwZXIgaXNuJ3QgcmVhbGx5IG1haW50YWluZWQgYW55IGxvbmdlciwgd2UgcHJvYmFibHkKCSAgZG9uJ3Qgd2FudCB0byBwb3J0IHRoaXMuCgoyMDEzLTAxLTA3IDAwOjQ5OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsbG93IGNvbXBpbGF0aW9uIGFnYWluc3Qgb3BlbmN2IDIuNC4zIGFzIHdlbGwKCjIwMTItMTItMDYgMTE6NTU6NDUgLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvbid0IGZvcndhcmQgbXVsdGlmaWxlc2luayBtZXNzYWdlcyB0byBhcHBsaWNhdGlvbgoJICBUaGVzZSBtZXNzYWdlcyBhcmUgdXN1YWxseSBvbmx5IG5lZWRlZCBpbnRlcm5hbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEyLTExLTA2IDEwOjE3OjE5IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IG0zdTggYWRkIEVYVC1YLUFMTE9XLUNBQ0hFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTItMTItMDUgMTA6MDY6MzggLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogcm91bmQgc2VnbWVudCBkdXJhdGlvbiB0byBuZWFyZXN0IG51bWJlciBvZiBzZWNvbmRzCgkgIEUuZy4gZm9yIDFzIHBlcmlvZCwgZHVyYXRpb24gY2FuIGJlIDAuOTlzLCByb3VuZHMgZG93biB0byAwLCByZXN1bHRzIGluIGludmFsaWQKCSAgcGxheWxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMy0wMS0wNiAyMjoxOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsc3Npbms6IGRvbid0IGxlYWsgb2xkIHBsYXlsaXN0IGVudHJpZXMgd2hlbiB1c2luZyBtYXgtZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEzLTAxLTA1IDE4OjU2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIFJHQgoKMjAxMy0wMS0wNCAxNTozODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG06IEFjdHVhbGx5IGdldCB0aGUgcGVybWlzc2lvbnMgb24gZ2V0X3Byb3BlcnR5CgoyMDEzLTAxLTA0IDE3OjE5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCBBUEkKCjIwMTMtMDEtMDMgMTc6Mjg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHJldHVybiBFR0xJbWFnZXMgdGhhdCB3ZSBqdXN0IHJlbmRlcmVkIGZyb20gdGhlIGJ1ZmZlciBwb29sCgkgIE1hcHBpbmcgdGhlbSB3aWxsIGZhaWwgYmVjYXVzZSB0aGV5J3JlIHN0aWxsIGludGVybmFsbHkgdXNlZC4KCjIwMTMtMDEtMDMgMTU6MjI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBIYW5kbGUgY29weWluZyBvZiBHc3RNZW1vcnkgcHJvcGVybHkKCSAgV2UgaGF2ZSB0byB1c2UgdGhlIGRlZmF1bHQgdmlkZW8gbWV0YSBtYXBwaW5nIGZ1bmN0aW9ucy4KCjIwMTMtMDEtMDMgMTI6MDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTZXQgdmFyaWFibGVzIHRvIE5VTEwgdG8gcHJldmVudCB1c2FnZSBhZnRlciBmcmVlL3VucmVmCgoyMDEzLTAxLTAzIDEyOjA4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgdXNlIHRoZSBjb3JyZWN0IEdzdE1lbW9yeSBmb3IgYnVmZmVycyBmcm9tIG91ciBwb29sCgoyMDEzLTAxLTAzIDExOjAzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBmb3JnZXQgdG8gY2FsbCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgRUdMSW1hZ2UgZnJlZSBmdW5jdGlvbgoKMjAxMy0wMS0wMyAxMDo1MzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRml4IGxlYWsgb2YgaW5wdXQvb3V0cHV0IGJ1ZmZlciBzdG9yYWdlIGluIHRoZSBNRkMgZGVjb2RlciBsaWJyYXJ5CgoyMDEzLTAxLTAzIDEwOjQwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gd2FpdCBmb3IgdGhlIHJpZ2h0IG9iamVjdCB0byBiZSBkZXF1ZXVlZAoKMjAxMy0wMS0wMyAxMDoxMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEZpeCB0eXBvCgoyMDEzLTAxLTAyIDE3OjIzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSBhZGQgY3JvcCBtZXRhZGF0YSBpZiByZXF1aXJlZAoKMjAxMy0wMS0wMiAxNjo1MzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBmaW1jOiBEbyBTVFJFQU1PTi9TVFJFQU1PRkYgb25seSBvbmNlIGFuZCBub3Qgb25jZSBwZXIgYnVmZmVyCgoyMDEzLTAxLTAyIDE2OjM4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBSZXF1aXJlIG9uZSBtb3JlIG91dHB1dCBidWZmZXIgdGhhbiByZXR1cm5lZCBieSB0aGUgZHJpdmVyCgoyMDEzLTAxLTAyIDE2OjEwOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgcGFja2VkIFlVViBzdXBwb3J0CgkgIFRoaXMgd2lsbCBub3QgYWxsb3cgemVyby1jb3B5IGJlY2F1c2UgdGhlIHNhbWUKCSAgRUdMSW1hZ2Ugd291bGQgbmVlZCB0byBiZSB1c2VkIGZvciB0d28gZGlmZmVyZW50CgkgIHRleHR1cmVzIHdpdGggYSBkaWZmZXJlbnQgZm9ybWF0LgoKMjAxMy0wMS0wMiAxNjowOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFByZWZlciBOVjEyIG92ZXIgSTQyMC9ZVjEyCgoyMDEzLTAxLTAyIDE1OjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBUaGUgZmlyc3QgZnJhbWUgcHJvZHVjZXMgb3V0cHV0IGluIG91ciBjYXNlCgoyMDEzLTAxLTAyIDE0OjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFJlcXVlc3QgaW5wdXQgYnVmZmVycyBleHBsaWNpdGVseQoKMjAxMy0wMS0wMiAxNDoyNzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRG9uJ3QgU1RSRUFNT0ZGIGlmIG5vIFNUUkVBTU9OIGhhcHBlbmVkIHlldAoKMjAxMy0wMS0wMiAxNDoyMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJICBtZmM6IENoZWNrIGlmIHRoZSBNRkMgaGFyZHdhcmUgZXhpc3RzIGJlZm9yZSByZWdpc3RlcmluZyB0aGUgZWxlbWVudAoKMjAxMy0wMS0wMiAxNDoxNjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogQ2hlY2sgZGV2aWNlIGNhcGFiaWxpdGllcyBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoKMjAxMy0wMS0wMiAxMjozMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEluY2x1ZGUgY29kZWNfZGF0YSBpbiB0aGUgYnVmZmVyIHdpdGggdGhlIG5leHQgZnJhbWUKCjIwMTMtMDEtMDIgMTE6NDQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTZXQgZm9ybWF0IGZpZWxkIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTMtMDEtMDIgMTE6MDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhZGF0YQoKMjAxMy0wMS0wMiAxMDoyNjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IENoZWNrIGlmIHRoZSBoYXJkd2FyZSBpcyBhdmFpbGFibGUgaW4gR3N0VmlkZW9EZWNvZGVyOjpvcGVuKCkKCjIwMTMtMDEtMDEgMTE6NTY6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHVzZSBEVFMgaW4gYWRkaXRpb24gdG8gUFRTCgkgIEFuZCByZWZhY3RvciBjaG9vc2VfYmVzdF9zdHJlYW0oKSBhIGxpdHRsZS4KCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49YmFsbCAhIHgyNjRlbmMgISBtcGVncHNtdXggISAuLi4KCSAgcGxheXMgbXVjaCBuaWNlciBub3cuCgoyMDEzLTAxLTAxIDEyOjA1OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBMb2cgaW4gdGhlIHBlcmZvcm1hbmNlIGNhdGVnb3J5IGlmIHdlIG1hcC9jb3B5IEVHTEltYWdlcyB0byBub3JtYWwgbWVtb3J5CgoyMDEzLTAxLTAxIDExOjA1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIGgyNjMgYW5kIE1QRUcxLzIKCjIwMTMtMDEtMDEgMTA6NDg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENhdGNoIGVycm9ycyBmcm9tIGdsRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRPRVMoKQoKMjAxMy0wMS0wMSAxMDo0NDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXBsb2FkIHRleHR1cmVzIGluIEdzdEJhc2VTaW5rOjpwcmVwYXJlKCkgYWxyZWFkeQoJICBUaGlzIGdpdmVzIG1vcmUgdGltZSBmb3IgdGhlIHRleHR1cmUgdG8gYmUgdXBsb2FkZWQgYXMgaXQgaGFwcGVucwoJICBiZWZvcmUgc3luY2luZyB0byB0aGUgcnVubmluZyB0aW1lLiBXaGVuIHRoZSBydW5uaW5nIHRpbWUgaXMgcmVhY2hlZAoJICBvbmx5IGVnbFN3YXBCdWZmZXJzKCkgaXMgbmVjZXNzYXJ5LgoKMjAxMi0xMi0zMSAxOTo0NTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDogdXNlIGdzdHJlYW1lciBkZWJ1ZyBsb2dnaW5nIHN5c3RlbSBldmVyeXdoZXJlCgoyMDEyLTEyLTMxIDE5OjQyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IHBvcnQgdG8gMC4xMQoJICBOYWl2ZSBwb3J0LiBCYXJlbHkgdGVzdGVkLgoKMjAxMi0xMi0zMSAxMjo0MjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IERvbid0IHJlY29uZmlndXJlIGlmIHdlIGdldCBjb21wYXRpYmxlIGNhcHMKCjIwMTItMTItMzEgMTI6MzM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IGNyZWF0ZSB0aGUgTUZDIGNvbnRleHQgaW4gOjpzZXRfZm9ybWF0KCkKCjIwMTItMTItMzEgMTE6NTY6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZWNyZWF0ZSBmaW1jIGNvbnRleHQgaWYgc2V0dGluZ3MgY2hhbmdlCgoyMDEyLTEyLTMxIDExOjAyOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU29tZSByZWZhY3RvcmluZwoKMjAxMi0xMi0zMSAwOTo0NzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IERvIHplcm9jb3B5IGlmIHdlIGdldCBFR0xJbWFnZSBidWZmZXJzCgoyMDEyLTEyLTMwIDE2OjQ1OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU29tZSBtaW5vciBmaXhlcwoKMjAxMi0xMi0yNiAxMzozMDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEZpeCBkb3VibGUtdW5tYXAgb2YgdGhlIGNvZGVjIGRhdGEKCjIwMTItMTItMjYgMTM6Mjc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBQYXNzIGNvZGVjX2RhdGEgdG8gdGhlIGNvZGVjIGlmIHRoZXJlJ3Mgc29tZQoKMjAxMi0xMi0yNiAxMzoxODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlZmFjdG9yIGZpbWMgY29kZSBhIGJpdAoKMjAxMi0xMi0yNiAxMjozODozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRG93bmdyYWRlIGFuIGVycm9yIHRvIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNiAxMTo1MTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IFNvbWUgZmltYyBjbGVhbnVwCgoyMDEyLTEyLTI2IDA5OjU2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHByb2ZpbGUvbGV2ZWwgYW5kIHdpZHRoL2hlaWdodCBjb25zdHJhaW50cwoKMjAxMi0xMi0yNCAxNjoyMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHNldHRpbmcgbmV3IGRlc3Qgc2V0dGluZ3MgZm9yIGEgZGlyZWN0IGJ1ZmZlcgoKMjAxMi0xMi0yNCAxNjowMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBpbml0aWFsIE1QRUc0IHN1cHBvcnQKCjIwMTItMTItMjQgMTU6NDQ6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNCAxNTozNDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBJbXBsZW1lbnQgdHJhY2tpbmcgb2YgZnJhbWVzIHVzaW5nIHRoZSB2NGwyX2J1ZmZlciB0aW1lc3RhbXAKCjIwMTItMTItMjQgMTQ6NDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZXNldCBzb21lIG1vcmUgdmFyaWFibGVzIG9uIDo6cmVzZXQoKQoKMjAxMi0xMi0yNCAxNDozNjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFsc28gYWRkIHN1cHBvcnQgZm9yIFlWMTIKCjIwMTItMTItMjQgMTM6NDE6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YQoKMjAxMi0xMi0yNCAxMzozOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEltcGxlbWVudCBuZWdvdGlhdGlvbiB0byBOVjEyIG9yIEk0MjAgYmFzZWQgb24gZG93bnN0cmVhbSBjYXBzCgoyMDEyLTEyLTI0IDEyOjMxOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogV29ya2Fyb3VuZCBmb3Igd3JvbmdseSByZXBvcnRlZCBzdHJpZGVzIGJ5IEZJTUMKCjIwMTItMTItMjQgMTI6MTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogQWRkIHByb3BlciBzdXBwb3J0IGZvciBNRkMgZGVjb2RlciBzdHJpZGVzCgoyMDEyLTEyLTI0IDEyOjEwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogVHJ5IHdpdGggSTQyMCBmb3Igbm93LCBpdCdzIGVhc2llciB0byBkZWJ1ZwoKMjAxMi0xMi0yNCAxMTo1Nzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI0IDExOjU0OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogRG9uJ3QgcmVxdWlyZSBzdHJpZGUgdG8gYmUgc2V0IG9uIHNyYyBwYXJhbWV0ZXJzCgoyMDEyLTEyLTI0IDExOjQ5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFRoZSBtZmMgZGVjb2RlciBsaWJyYXJ5IGlzIGR1YWwgbGljZW5zZWQgdG9vCgkgIEFwYWNoZSBMaWNlbnNlIDIuMCBhbmQgTEdQTDIrCgoyMDEyLTEyLTIzIDEyOjI1OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogVXNlIENBTUlGL0ZJTUMgZm9yIGhhcmR3YXJlIGNvbG9yIGZvcm1hdCBjb252ZXJzaW9uIGFuZCBkZS10aWxpbmcKCjIwMTItMTItMjMgMTM6NDY6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IHVucmVmIHRoZSBvdXRidWYgaWYgaXQgZG9lc24ndCBiZWxvbmcgdG8gdGhlIGZyYW1lCgoyMDEyLTEyLTIzIDEyOjA0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUG9ydCB0byBHU3RyZWFtZXIgMS4wCgoyMDEyLTEyLTIzIDExOjQ3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIGluaXRpYWwgZGVjb2RlciBlbGVtZW50IGltcGxlbWVudGF0aW9uCgkgIFRoaXMgZG9lcyBub3QgY29weSB0aGUgb3V0cHV0IHRvIGFueSBvdXRwdXQgYnVmZmVycyB5ZXQuCgkgIE90aGVyIHRoYW4gdGhhdCBzaG91bGQgYmUgYmFzaWNhbGx5IGZ1bmN0aW9uYWwgYWxyZWFkeS4KCjIwMTItMTItMjMgMTA6MjM6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIHBsdWdpbiBhbmQgZGVjb2RlciBza2VsZXRvbgoKMjAxMi0xMi0yMyAxMDowNTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBNYWtlIG1mY19kZWNvZGVyIGxpYnJhcnkgY29tcGlsZSBhbmQgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTItMjMgMDk6NTY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogQWRkIG1mY19kZWNvZGVyIGxpYnJhcnkgZnJvbSBGWEkKCjIwMTItMTItMzEgMTE6Mzg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvd25ncmFkZSBhIEdTVF9FUlJPUiB0byBhIEdTVF9ERUJVRwoKMjAxMi0xMi0zMCAxNDoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBsYXN0X2Zsb3cgaGFuZGxpbmcgbW9yZSB0aHJlYWRzYWZlCgoyMDEyLTEyLTI4IDEyOjI3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGFsbG9jYXRpbmcgRUdMSW1hZ2VzIG9uIE1hbGkKCSAgVGhpcyBhbGxvd3MgdG8gZGVjb2RlcnMgYW5kIG90aGVyIHVwc3RyZWFtIGVsZW1lbnRzIHRvIGRvCgkgIHplcm8tY29weSB0byB0aGUgc2luay4KCjIwMTItMTItMzEgMDA6MTY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVwbGFjZSBkZXByZWNhdGVkIEFNX0NPTkZJR19IRUFERVIgd2l0aCBBQ19DT05GSUdfSEVBREVSUwoJICBBTV9DT05GSUdfSEVBREVSIGhhcyBiZWVuIHJlbW92ZWQgaW4gdGhlIGp1c3QtcmVsZWFzZWQgYXV0b21ha2UgMS4xMzoKCSAgaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTEyL21zZzAwMDM4Lmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDg4MQoKMjAxMi0xMi0zMCAxMTozMjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaW5kZW50aW9uCgoyMDEyLTEyLTMwIDExOjMyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXR1cm4gdGhlIGxhc3RfZmxvdyBpbW1lZGlhdGVseSBpZiBpdCB3YXNuJ3QgR1NUX0ZMT1dfT0sKCjIwMTItMTItMzAgMTE6Mjk6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb3B5JnBhc3RlIG1pc3Rha2UKCjIwMTItMTItMzAgMTA6NDU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcHJvdmUgRUdML0dMIGVycm9yIGhhbmRsaW5nIGEgYml0CgoyMDEyLTEyLTMwIDEwOjQzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhY2Nlc3MgdGhlIHZpZGVvIGZyYW1lIGRhdGEgaWYgbm90IG5lY2Vzc2FyeQoKMjAxMi0xMi0zMCAxMDoxODowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29uZmlndXJlIGNhcHMgZnJvbSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBhbHJlYWR5CgoyMDEyLTA3LTI2IDIwOjM4OjI4ICswMjAwICBNYXR0aGlhcyBIYXJkdCA8bWhhcmR0QGJlcmxpbnV4LXNvbHV0aW9ucy5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGV4dHJhY3QgSVNPIDYzOSBsYW5ndWFnZSBjb2RlcyBmb3Igc3VidGl0bGVzIGludG8gdGFnbGlzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDIwMAoKMjAxMi0xMi0yOCAxOTozNjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQmluZCB0aGUgT3BlbkdMIEVTIEFQSSBpbiB0aGUgcmVuZGVyIHRocmVhZCB0b28KCjIwMTItMTItMjggMTQ6MDU6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgcmVmYWN0b3JpbmcgYXMgcHJlcGFyYXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHJlbmRlcmluZwoKMjAxMi0xMi0yOCAxMzowODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgbW9yZSBjb21tZW50cwoKMjAxMi0xMi0yOCAxMjo0MDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogT25seSB1c2UgdGhlIEdzdFZpZGVvRnJhbWUgaWYgd2UgaGF2ZSBhIGJ1ZmZlcgoKMjAxMi0xMi0yNyAxMDo1MTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgY29uZmlndXJlIHBhcmFtZXRlciB0byBjaG9zZSB0aGUgRUdMIHdpbmRvdyBzeXN0ZW0KCSAgT25seSBuZWVkZWQgZm9yIGNyZWF0aW5nIG5hdGl2ZSB3aW5kb3dzLgoKMjAxMi0xMi0yNiAxNzozNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBNYWxpIGZiZGV2IEVHTCBkcml2ZXIKCjIwMTItMTItMjcgMTQ6MDk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIGNvbXBhdGliaWxpdHkgI2RlZmluZXMgZm9yIG9sZGVyIG1pbmd3IGhlYWRlcnMKCSAgVGhlc2Ugd2VyZSByZW1vdmVkIHJlY2VudGx5IGJ1dCB0aGVzZSBtaW5ndyBoZWFkZXJzIGFyZSBzdGlsbAoJICBvdXQgdGhlcmUuCgoyMDEyLTEyLTIxIDA3OjM1OjEzIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZW1vdmUgdXNlbGVzcyBhbmQgdW5pbml0aWFsaXplZCBsaXN0IGNhdXNpbmcgYSBjcmFzaCBpbiB0aGUgZGV2aWNlIHByb2JlCgoyMDEyLTEyLTI2IDE3OjI1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YSBhbmQgYXJiaXRyYXJ5IHN0cmlkZXMKCjIwMTItMTItMjYgMTU6NTg6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCB3aWR0aC9oZWlnaHQgc3dhcCBpbiBsYXN0IGNvbW1pdAoKMjAxMi0xMi0yNiAxNTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIGRlYnVnIGZ1bmN0aW9uIGNhbGwgZnJvbSBwcmV2aW91cyBjb21taXQKCjIwMTItMTItMjYgMTQ6Mzk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGhhbmRsaW5nIG9mIEdzdFZpZGVvT3ZlcmxheTo6c2V0X3JlbmRlcl9yZWN0KCkgYW5kIGNyb3AgbWV0YWRhdGEKCjIwMTItMTItMjYgMTA6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGEgY2FzdCBmcm9tIEVHTE5hdGl2ZVdpbmRvd1R5cGUgdG8gV2luZG93IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTItMjYgMTA6Mzk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhIGNyYXNoIG9uIEdzdFZpZGVvT3ZlcmxheTo6ZXhwb3NlKCkKCjIwMTItMTItMjYgMTA6MzQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2ggd2hlbiBjbG9zaW5nIGludGVybmFsIFgxMSB3aW5kb3cKCjIwMTItMTItMjYgMTA6MjA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgcHJvcGVyIGNoZWNrIGZvciBYMTEKCjIwMTItMTItMTggMDk6NTM6MTYgLTA4MDAgIEpvZSBLb25ubyA8am9lLmtvbm5vQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgZGVmYXVsdCB0byBhIGZ1bGxzY3JlZW4gY2FudmFzCgkgIERlZmVyIGNlcnRhaW4gY2FudmFzIHBhcnRpY3VsYXJzIHRvIHRoZSBwbGF5ZXIgKG9yIHRoZSBXYXlsYW5kCgkgIGNvbXBvc2l0b3IpLiBCZWZvcmUgdGhpcyBjaGFuZ2UsIGEgZnVsbHNjcmVlbiBjYW52YXMgd2FzIGFsd2F5cwoJICByZXF1ZXN0ZWQuIFRoaXMgbWF5IG5vdCBiZSBkZXNpcmFibGUgaW4gYWxsIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDQyCgoyMDEyLTEyLTIzIDA5OjUxOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogT25seSB1c2UgMTAgYml0IFlVViBmb3JtYXRzIGZvciBleGFjdGx5IDEwIGJpdCBpbWFnZXMsIG5vdCA8PSAxNiBiaXQKCSAgQW5kIHVzZSB0aGUgZ2VuZXJpYyBjb252ZXJ0ZXIgdG8gQVlVVjY0IGZvciBldmVyeXRoaW5nIGVsc2UuCgoyMDEyLTEyLTIyIDE4OjQzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSBzY2FyeSAid2hpbGUgKG9iamVjdC5yZWZjb3VudCA+IDApIHJlbGVhc2UgKG9iamVjdCk7IiBjb2RlCgkgIElmIHRoZXJlIGlzIGEgbWVtb3J5IGxlYWssIHRoaXMgaXNuJ3QgdGhlIHdheSBob3cgaXQgc2hvdWxkIGJlIGZpeGVkLgoKMjAxMi0xMi0yMiAxODoxNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGZvcmdldCB0byByZXR1cm4gYSB2YWx1ZSBmcm9tIDo6cHJvcG9zZV9hbGxvY2F0aW9uKCkKCjIwMTItMTItMjIgMTg6MTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHZpZGVvIG1ldGEKCjIwMTItMTItMjIgMTg6MTI6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IERvbid0IHVzZSAiY2xhc3MiIGFzIHZhcmlhYmxlIG5hbWUgYW5kIGRvbid0IHVzZSBDOTkgY29tbWVudHMKCjIwMTItMTItMjIgMTg6MDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBvcGVuIHN5c3RlbSByZXNvdXJjZXMgaW4gaW4gTlVMTC0+UkVBRFksIG5vdCBvbiBvYmplY3QgaW5zdGFudGlhdGlvbgoKMjAxMi0xMi0yMiAxNzo1NTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUHJvcGVybHkgY29weSBmcmFtZXMgdG8gRDNEIHdpdGggdGhlIHJpZ2h0IHN0cmlkZXMgYW5kIGV2ZXJ5dGhpbmcKCSAgQW5kIG9ubHkgc3VwcG9ydCBjb2xvciBmb3JtYXRzIHRoYXQgYXJlIGFjdHVhbGx5IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyLAoJICB0aGlzIGFsbG93cyBwcm9wZXIgemVyby1jb3B5IGhhbmRsaW5nIGxhdGVyIGFuZCBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbG90LgoJICBBbHNvIHNpbXBsaWZ5IHNvbWUgb3RoZXIgcGxhY2VzLCBsaWtlIHRoZSBmb3JtYXQgbWFwcGluZyBjb2RlLgoKMjAxMi0xMi0yMiAxNjoyNjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSBub24tc2Vuc2UgZGlzcGxheSBQQVIgaGFuZGxpbmcKCSAgVGhpcyBoYXMgdG8gYmUgaW1wbGVtZW50ZWQgcHJvcGVybHkgYXQgc29tZSBwb2ludAoKMjAxMi0xMi0yMiAxNjoxODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBjYXBzIGxlYWsKCjIwMTItMTItMjIgMTI6MDk6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggZHVwbGljYXRlZCBmb3JtYXQgZW50cnkgaW4gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTItMTItMjIgMTI6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEZpeCBsaW5raW5nCgoyMDEyLTEyLTIyIDExOjU4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBzb21lIG1vcmUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTItMjIgMTE6NTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBQb3J0IHJlbWFpbmluZyBiaXRzIHRvIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCjIwMTItMTItMjIgMTE6NDU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbmQgcmVtb3ZlIHRoZSByaWdodCBkZWNsYXJhdGlvbgoKMjAxMi0xMi0yMiAxMTo0NDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgc3RhdGljIGRlY2xhcmF0aW9uCgoyMDEyLTEyLTIyIDExOjQzOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTItMTItMjIgMTE6NDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBVcGRhdGUgdG8gbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0yMiAxMTozODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFJlbmFtZSBrZWVwX2FzcGVjdF9yYXRpbyB0byBmb3JjZV9hc3BlY3RfcmF0aW8gaW4gdGhlIGhlYWRlciB0b28KCjIwMTItMTItMjIgMTE6MzU6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMi0xMi0yMiAxMTozNDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW5hbWUga2VlcC1hc3BlY3QtcmF0aW8gdG8gZm9yY2UtYXNwZWN0LXJhdGlvIGFuZCBkZWZhdWx0IHRvIFRSVUUKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgdmlkZW8gc2lua3MuCgoyMDEyLTEyLTIyIDExOjMwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgZmlsZXMgdGhhdCBoYWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDEyLTEyLTIyIDExOjI4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUwoKMjAxMi0xMi0yMiAxMToyNDoyOCArMDEwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBWYXJpb3VzIGltcHJvdmVtZW50cwoJICAqIFhPdmVybGF5IHNldF9yZW5kZXJfcmVjdGFuZ2xlIHN1cHBvcnQgKFVzZWZ1bCBmb3IgcmVuZGVyaW5nIGluIFFUIFFNTCkKCSAgKiBWaWRlbyBmb3JtYXQgbmVnb3RpYXRpb24gKHdpdGggcHJlZmVyZW5jZSBvcmRlcmluZykKCSAgKiBVc2luZyBEaXJlY3QzRDkgKE5vIGJlbmVmaXQgdG8gdXNpbmcgbmV3ZXIgRDNEIHZlcnNpb25zKQoKMjAxMi0xMi0yMSAxNjoxMToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgaW5jbHVkZSBmb3JtYXRzIHRoYXQgYXJlIGFjdHVhbGx5IHdvcmtpbmcKCjIwMTItMTItMjEgMTU6MjM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgdGhlIGFjdHVhbGx5IHN1cHBvcnRlZCBjb2xvciBmb3JtYXRzIHRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTEyLTE4IDIyOjIzOjQyICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYy8tZGVjOiBwcmludCBvcGVuanBlZyBsb2dzIGZvciBkZWJ1ZyB0cmFjaW5nCgoyMDEyLTEyLTE4IDE2OjU2OjI4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NTI6MjYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjUwOjM3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGY6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo0MDo1OSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqcGVnOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6MjA6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXI6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo0NDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEFkZCBzb21lIHByb3BlcnRpZXMKCjIwMTItMTItMTggMTU6NDM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBEb24ndCBjcmFzaCBpZiBjb2xvcnNwYWNlIGlzIG5vdCBwcm92aWRlZCBvbiB0aGUgY2FwcwoJICBnX3N0cl9lcXVhbCgpIGlzICpub3QqIE5VTEwtc2FmZQoKMjAxMi0xMi0xNyAxNzoxOTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IEltcHJvdmUgcm9idXN0bmVzcyBhZ2FpbnN0IGZvcm1hdHMgd2l0aCBkaWZmZXJlbnQgc2V0dGluZ3MgcGVyIGNvbXBvbmVudAoKMjAxMi0xMi0xNyAxNzoxMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IFByb3BlcnRpZXMgd29uJ3QgYmUgbmVlZGVkIGluIHRoZSBkZWNvZGVyCgoyMDEyLTEyLTE3IDE3OjExOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogRml4IGRhdGEgcG9pbnRlciBpbmNyZW1lbnRpbmcKCjIwMTItMTItMTcgMTc6MDY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBPcHRpbWl6ZSBpbWFnZSBmaWxsaW5nIGZ1bmN0aW9ucyBhIGJpdAoKMjAxMi0xMi0xNyAxNzowMjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IEFkZCBtaXNzaW5nIHNoaWZ0cwoKMjAxMi0xMi0xNyAxNjo1NzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IE9wdGltaXplIGZyYW1lIGZpbGxpbmcgZnVuY3Rpb25zIGEgYml0CgoyMDEyLTEyLTE3IDE1OjE2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogTWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbQoKMjAxMi0xMi0xNyAxNTowNDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSB0aGUgcGVlciBjYXBzIGZvciByZXN0cmljdGlvbnMgaW5zdGVhZCBvZiB0aGUgc3JjcGFkIGFsbG93ZWQgY2FwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgc3JjcGFkIHRlbXBsYXRlIGNhcHMgYW5kIGFkZCBhbGwgdGhlIGNhcHMgZmllbGRzCgkgIHRoYXQgdGhlIHBhcnNlciB3aWxsIGV2ZXIgc2V0LCBubyBtYXR0ZXIgaWYgZG93bnN0cmVhbSByZXN0cmljdHMgdGhpcyBmaWVsZCBvciBub3QuCgkgIFRoaXMgcmVxdWlyZXMgdXBzdHJlYW0gdG8gc2V0IHRoaXMgZmllbGQgb24gdGhlIGNhcHMgdG8gc3VjY2Vzc2Z1bGx5IG5lZ290aWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4NAoKMjAxMi0xMi0xNiAyMDowNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBDb3JyZWN0IHRlbXBsYXRlIGNhcHMgYSBiaXQKCjIwMTItMTItMTYgMjA6MDI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEhhbmRsZSB0aGUgbnVtLWNvbXBvbmVudHMgZmllbGQgaW4gdGhlIGNhcHMKCjIwMTItMTItMTUgMTE6MjU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEFkZCBzdXBwb3J0IGZvciB0aGUgY29sb3JzcGFjZSBmaWVsZCBpbiB0aGUgY2FwcwoKMjAxMi0xMi0xNCAyMDowODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogQWRkIEpQRUcyMDAwIGVuY29kZXIgZWxlbWVudAoKMjAxMi0xMi0xNCAxNDozODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBBZGQgT3BlbkpQRUcgYmFzZWQgSlBFRzIwMDAgZGVjb2RlcgoKMjAxMi0xMi0xNiAxNzo0NDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIHJlbW92ZWQgcnRwbXV4IGJpdHMgdG8gY3J1ZnQgY2hlY2sKCjIwMTItMTItMTYgMTc6MzU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcmVtb3ZlIHJ0cG11eCBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIE1vdmUgcnRwbXV4IGFuZCBydHBkdG1mbXV4IGludG8gcnRwbWFuYWdlciBwbHVnaW4gaW4gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTItMTQgMTQ6NTE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICBzY2FsZXRlbXBvOiByZW1vdmUgc2NhbGV0ZW1wbyBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjIKCjIwMTItMTItMTQgMTg6MDk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvY29udmVydDogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0xMyAxNDoxMjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHVwc3RyZWFtIHdpZHRoL2hlaWdodCB3aGVuIGdpdmVuCgkgIFRoZSB1cHN0cmVhbSB3aWR0aCBhbmQgaGVpZ2h0IHNob3VsZCBvdmVycmlkZSB0aGUgZGltZW5zaW9uIGRldGVjdGVkIGluIHRoZQoJICBmaWxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTQyCgoyMDEyLTEyLTEzIDExOjQ3OjU3ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZXhwb3J0IG51bWJlciBvZiBzcHJpdGUgd2FycGluZyBwb2ludHMgaW4gY2FwcwoJICBUaGlzIGFsbG93cyBmaWx0ZXJpbmcgb3V0IHZpZGVvcyBmb3IgaGFyZHdhcmUgZGVjb2RlcnMgdGhhdCBkbyBub3QKCSAgc3VwcG9ydCBHTUMgYXQgYWxsIG9yIG9ubHkgc3VwcG9ydCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHNwcml0ZSB3YXJwaW5nCgkgIHBvaW50cyAodXN1YWxseSAxKS4KCjIwMTItMTItMTMgMTE6NDM6MDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgZGl2eCBjYXBzCgkgIERpdlggNC81IGFyZSBNUEVHNCBwYXJ0IDIgdmlkZW9zLCBzbyB0aGV5IGNhbiBiZSBwYXJzZWQgYnkgdGhpcyBwbHVnaW4uCgoyMDEyLTEyLTEzIDAxOjU3OjIxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmQ6IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxMjgKCjIwMTItMTItMTIgMTg6NTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBwcmludGYgZm9ybWF0IGZpeGVzIGZvciBkZWJ1ZyBtZXNzYWdlcwoKMjAxMi0xMi0xMiAwMDo0MDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogbWlub3IgTWFrZWZpbGUgY2xlYW4tdXAKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIFNPVVBfQ0ZMQUdTIGFuZCBTT1VQX0xJQlMuCgoyMDEyLTEyLTExIDIxOjA5OjAyICswMDAwICBNaWNoYWVsIEVzZW1wbGFyZSA8bWljaGFlbC5lc2VtcGxhcmVAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBsaW5rIHRvIHRoZSByaWdodCBnc3QtcGx1Z2lucy1iYXNlIGxpYnMgYW5kIGZpeCBsaWJzIG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwMzAKCjIwMTItMTItMTEgMjA6NTg6NDIgKzAwMDAgIE1pY2hhZWwgRXNlbXBsYXJlIDxtaWNoYWVsLmVzZW1wbGFyZUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGZpeCBjb21waWxlciBhbmQgbGlua2VyIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwMzEKCjIwMTItMTItMTEgMTU6MDA6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBBQ19MQU5HX1BST0dSQU0gdG8gbWFrZSBhdXRvY29uZiBoYXBweQoKMjAxMi0xMi0xMSAxNDoxOTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgY29tcGlsYXRpb24KCjIwMTItMTItMTEgMTA6NTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBGaXggZm9ybWF0IHN0cmluZyBmb3Igb2ZmX3QvZ29mZnNldAoJICBGaXhlcyBidWcgIzY5MDAzMy4KCjIwMTItMTItMDYgMTA6MDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgYWxsb3cgYW55IHdyYXBwaW5nIG90aGVyIHRoYW4gZnJhbWUgd3JhcHBpbmcKCSAgQmFkIHRoaW5ncyB3aWxsIGhhcHBlbiBvdGhlcndpc2UsIGxpa2UgcmVhZGluZyBhIGNvbXBsZXRlLAoJICBtdWx0aXBsZSBHQiBsYXJnZSB2aWRlbyB0cmFjayBpbnRvIGEgc2luZ2xlIGJ1ZmZlci4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214ZmRlbXV4LmMKCjIwMTItMTItMDUgMTU6Mjc6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZkZW11eDogQWRkIGZ1bmN0aW9uIHRvIGdldCB0aGUgZXNzZW5jZSB0cmFjayB3cmFwcGluZwoKMjAxMi0xMi0wNSAxMjoyMzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkgIG14ZjogQWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcgZmlsbGVyIHN0cnVjdHVyYWwgY29tcG9uZW50cwoJICBUaGlzIGRvZXMgbm90IGFkZCBzdXBwb3J0IGZvciBhY3R1YWxseSBwcm9kdWNpbmcgZmlsbGVyIGRhdGEKCSAgaWYgdGhlcmUncyBhIGZpbGxlciBjb21wb25lbnQgaW4gYSB0aW1lbGluZS4KCjIwMTItMTItMDUgMTI6MDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEltcHJvdmUgZGVidWcgb3V0cHV0IGR1cmluZyBtZXRhZGF0YSByZXNvbHZhbAoKMjAxMi0xMi0wMSAxNzowNTozOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGRpc2FibGUgc2Vla2luZyBpZiB0aGUgY29uZmlndXJlZCB1cmwgc3BlY2lmaWVzIGxpdmU9dHJ1ZQoJICBEaXNhYmxlIHNlZWtpbmcgd2hlbiBsaXZlPXRydWUgaXMgc2V0IGluIHRoZSBsb2NhdGlvbiBVUkwgKGVnOgoJICAicnRtcDovL2V4YW1wbGUubmV0L3N0cmVhbSBsaXZlPXRydWUiKQoKMjAxMi0xMS0zMCAyMDowMToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQsIGZyZWkwcjogbGluayB0byBsaWJnbW9kdWxlLTIuMCBpbiBwbHVnaW5zIHRoYXQgdXNlIGdfbW9kdWxlXyogQVBJCgkgIFByb2JhYmx5IG5lZWRlZCBmb3Igb3RoZXIgcGx1Z2lucyBhcyB3ZWxsLgoKMjAxMi0xMS0zMCAxOTo1NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3ByaW5rbGUgc29tZSBBQ19MQU5HX1BST0dSQU0gaW4gd2FzYXBpIGNoZWNrCgkgIFNvIGF1dG9nZW4uc2ggc3RvcHMgbW9hbmluZy4KCjIwMTItMTEtMzAgMTU6MTA6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogQWRkIG1vcmUgc3VwcG9ydCBmb3IgUlAyMDA4IChBVkMgaW4gdGhlIE1QRUcgbWFwcGluZykKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214Zm1wZWcuYwoKMjAxMi0xMS0zMCAxMTo0NDo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IG1ha2UgdGhlIGJ1aWxkIGhhcHB5IHdpdGhvdXQgdGhlIHN0YXRpYyBwbHVnaW5zIHBhdGNoCgoyMDEyLTExLTMwIDExOjQwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgd2FzYXBpIHRvIHRoZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDEyLTExLTMwIDExOjM3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IEludGVncmF0ZSBpbnRvIHRoZSBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIFBhdGNoIGJhc2VkIG9uIGEgcGF0Y2ggYnkgRmFicml6aW8gQ2lhdmF0dGEgPGZhYnJpemlvLmNpYXZhdHRhQGdtYWlsLmNvbT4KCjIwMTItMTEtMjggMTM6MTA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJICBzaG06IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGNsZWFuIHVwIE1ha2VmaWxlCgoyMDEyLTExLTI3IDE1OjM0OjE5IC0wNTAwICBFbW1hbnVlbCBEdXJhbmQgPGVtbWFudWVsZHVyYW5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRml4IGNvbXBpbGF0aW9uIG9mIHNobSBvbiBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE4MwoKMjAxMi0xMS0yNiAxOToyMTowMyArMDAwMCAgS3J6eXN6dG9mIEtvbm9wa28gPGtyenlzenRvZi5rb25vcGtvQHlvdXZpZXcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogY3Jhc2hlcyB3aGVuIHRyeWluZyB0byByZS11c2UgdGhlIGVsZW1lbnQKCSAgQSBjcmFzaCBvY2N1cmVkIGFmdGVyIHB1c2hpbmcgYnVmZmVycyBhbmQgY2hhbmdpbmcgbXBlZ3RzbXV4IHN0YXRlIHRvCgkgIE5VTEwvUkVBRCBhbmQgdGhlbiBiYWNrIHRvIFBMQVlJTkcvUEFVU0VELgoJICBUaGUgY3Jhc2ggd2FzIGNhdXNlZCBieSBob2xkaW5nIGEgZGFuZ2xpbmcgcG9pbnRlciBpbiB0aGUgTXBlZ1RzTXV4CgkgIHByb2dyYW0gdGFibGUuCgkgIEFkZGl0aW9uYWxseSBzdHJlYW0gaGVhZGVycyB3ZXJlIGxlYWtlZCB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudDoKCSAgbXV4LT5zdHJlYW1oZWFkZXIgc2V0IHRvIE5VTEwgaW4gbXBlZ3RzbXV4X3Jlc2V0KCkgYmVmb3JlIGl0J3MgcmVsZWFzZWQKCSAgbGF0ZXIgaW4gdGhlIHNhbWUgZnVuY3Rpb24uCgkgIEFkZGVkIGEgdW5pdCB0ZXN0OiB0ZXN0X211bHRpcGxlX3N0YXRlX2NoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTA3CgoyMDEyLTExLTIzIDEyOjI2OjQzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucyBldGMuCgoyMDEyLTExLTIyIDEwOjU3OjI1ICswMDAwICBLcnp5c3p0b2YgS29ub3BrbyA8a3J6eXN6dG9mLmtvbm9wa29AeW91dmlldy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwcm9wYWdhdGUgZmxvdyByZXR1cm5zCgkgIEFuZCBhZGQgYSB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg4NzAKCjIwMTItMTEtMjEgMTA6MjE6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5kb3dzOiBQdXQgdGhlIERpcmVjdFggTERGTEFHUyBpbiB0aGUgY29ycmVjdCBwbGFjZSBhbmQgcmVvcmRlciBsaWJyYXJpZXMKCjIwMTItMTEtMjAgMjM6MjA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogYWRkIGRvYyBjaHVuayB3aXRoIGV4YW1wbGUgY29tbWFuZCBsaW5lCgoyMDEyLTExLTIwIDEyOjA1OjE3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBmaXggcmVkZWZpbml0aW9uIG9mIERFQ0xBUkVfSU5URVJGQUNFX0lJRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NTEwCgoyMDEyLTExLTE5IDE5OjI5OjQ4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgR3N0UGhvdG9ncmFwaHk6IEFkZCBuZXcgZW51bSB2YWx1ZXMgdG8gbWF0Y2ggYW5kcm9pZCdzIHBhcmFtZXRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODQ4NgoKMjAxMi0xMS0xOSAxMDozMjo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBQVFlQRSBmb3IgaW50ZXJsYWNlZCBmcmFtZXMuCgkgIENvdmVyaXR5IGZvdW5kIG1pc3NpbmcgYnJlYWsgaW4gcGFyc2VfZnJhbWVfaGVhZGVyX2FkdmFuY2VkKCkgd2hlbgoJICBkZXRlcm1pbmluZyBQVFlQRSBmcm9tIEZQVFlQRSBmb3IgaW50ZXJsYWNlZCBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NjI2CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjEgMTg6MjM6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBlcnJvciBjb2RlIGZvciBpbnZhbGlkIHNpemUgcGFyc2VkIGluIFNQUy4KCSAgZ3N0X2gyNjRfcGFyc2Vfc3BzKCkgcmV0dXJuZWQgRkFMU0UgaWYgaXQgcGFyc2VkIGludmFsaWQgKG5lZ2F0aXZlKQoJICBzaXplIGNvbXBvbmVudHMuIE5vdyBtYWtlIGl0IGdyYWNlZnVsbHkgcmV0dXJuIEdTVF9IMjY0X1BBUlNFUl9FUlJPUgoJICBpbnN0ZWFkIG9mIEdTVF9IMjY0X1BBUlNFUl9PSyAoRkFMU0UpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NTY4CgoyMDEyLTExLTE5IDExOjI2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNDk3YzRmIHRvIGE3MmZhZWEKCjIwMTItMTEtMTUgMTE6Mzc6MTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRml4IG5pdHBpY2sKCjIwMTItMTEtMTUgMTA6MTQ6MzQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogTWFrZSBzdXJlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFyZSBub3QgZml4ZWQgZnJvbSB0aGUgYmVnZ2luZwoJICBSaWdodCBub3cgZGVjb2RlYmluIHdpbGwgY29uY2lkZXIgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGZpeGVkIGFuZCBpZiBhIGRlY29kZXIKCSAgaGFzIHJlc3RyaWN0aW9uIG9uIGZvciBleGFtcGxlIGhlaWdodC93aWR0aCBpdCB3b24ndCBiZSBhdXRvcGx1Z2dlZCBiZWNhdXNlCgkgIGdzdF9jYXBzX2lzX3N1YnNldCBmYWlscyBhcyB0aG9zZSBmaWVsZHMgYXJlIG1pc3NpbmcgZnJvbSB0aGUgcGFkIHRlbXBsYXRlIGNhcHMuCgkgIFdlIGZpeCB0aGUgaXNzdWUgaGVyZSBtYWtpbmcgc3VyZSB0aGF0IHRoZSBwYWQgY2FwcyBhcmUgZml4ZWQgdXNpbmcgZGF0YSBmcm9tCgkgIHRoZSBzdHJlYW0uCgoyMDEyLTExLTEzIDIyOjQwOjI1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmb3J3YXJkIHVwc3RyZWFtIHRpbWUgc2VnbWVudHMgYWZ0ZXIgZmx1c2hlcwoJICBBbHNvIHJlc2V0IHNlZ21lbnQgaW5mbyBhbmQgZHJvcCB0aGUgc2VnbWVudCBldmVudCB3aGVuIGRlbXV4ZXIgaXMKCSAgZmx1c2hlZC4KCSAgUmVzdG9yZSBkZW11eGVyIHNlZ21lbnQgd2l0aCB0aGUgaW5mbyBzdG9yZWQgaW4gYmFzZSB3aGVuIGRlbXV4ZXIgaXMKCSAgZ29pbmcgdG8gcHVzaCBkYXRhIGFnYWluIGlmIG5lZWRlZC4KCSAgRHJvcCBjb2RlIHRvIHJlY292ZXIgdGhlIHNlZ21lbnQgaW5mbyBmcm9tIGJhc2UgaW4gdGhlIGluaXRpYWwgcHJvZ3JhbQoJICBiZWNhdXNlcyBpdCdzIHN1cGVyc2VkZWQgYnkgdGhlIG5ldyBjb2RlLgoKMjAxMi0xMS0xNCAxMjo0MToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCAtPiBnc3RfYWRhcHRlcl9wcmV2X3B0cwoKMjAxMi0xMS0xNCAxMTozNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogZGlzdCBhbGwgaGVhZGVyIGZpbGVzIG5lZWRlZCB0byBidWlsZAoKMjAxMi0xMS0xNCAxMDo0Njo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJICBhY2N1cmlwOiBmaXggbGlua2VyIGZsYWdzCgkgIFNwb3R0ZWQgYnkgUmljbyBUenNjaGljaGhvbHouCgoyMDEyLTExLTExIDEyOjQ2OjQzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCB0aGUgc3RyZWFtIHNvbWUgbW9yZSBpbiB0aGUgZmx1c2hlcwoJICBOb3cgdGhhdCB3ZSBoYW5kbGUgZmx1c2hpbmcgaW4gdGhlIEZMVVNIX1NUT1AgZXZlbnQgd2UgbmVlZCB0byBtYWtlCgkgIHRoZSBzdHJlYW1zIHJlYWR5IGlmIHRoZXkgd2VyZSBmbHVzaGluZy4KCjIwMTItMTEtMTEgMTI6NDU6MDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZsdXNoIG9ic2VydmF0aW9ucyB0b28KCSAgRmx1c2ggdGhlIHByZXZpb3VzIG9ic2VydmF0aW9ucyB3aGVuIHRoZSBwYWNrZXRpemVyIGlzIGZsdXNoZWQuCgkgIEFsc28gZG9uJ3QgbGVhayB0aGVtIGluIHRoZSBkaXNwb3NlLgoKMjAxMi0xMS0xMCAyMDo0NDo0NCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZml4IGRvdWJsZSB1bnJlZiBvZiBzZWVrIGV2ZW50CgoyMDEyLTExLTEwIDIwOjMwOjEzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBmbHVzaCBpbiBGTFVTSF9TVE9QIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucwoJICBFbnN1cmUgdGhlIGNoYWluIGlzIG5vdCBydW5uaW5nIGJlZm9yZSByZXNldCB0aGUgc3RhdGUgdG8gYXZvaWQgcmFjZQoJICBjb25kaXRpb25zIGFuZCByYW5kb20gY29ycnVwdGlvbnMgZG93bnN0cmVhbS4KCSAgQWxzbyBmaXhlcyBzZWdmYXVsdHMgaW4gdGhlIHBhY2tldGl6ZXIgZHVlIHdyb25nIGF2YWlsYWJsZSB2YWx1ZXMgdGhhdAoJICBjYXVzZXMgZ3N0X2FkYXB0ZXJfbWFwIHRvIHJldHVybiBhIE5VTEwgcG9pbnRlci4KCjIwMTItMTEtMTIgMTQ6NTY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRml4IHJlZmNvdW50IHByb2JsZW0gd2l0aCBmcmFtZXMgYmVpbmcgZHJvcHBlZCBiZWNhdXNlIG9mIGRlY29kZXIgYnVncwoKMjAxMi0xMS0xMiAxMTo0ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIG5ldyBHVHlwZSBmb3IgR1RocmVhZCBpbnN0ZWFkIG9mIGp1c3QgR19UWVBFX1BPSU5URVIKCjIwMTItMTEtMTIgMTE6MzI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IFVwZGF0ZSB0byBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTExLTEwIDE5OjUyOjQ2ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZXZlcnQgInRzcGFja2V0aXplcjogZW5zdXJlIHRoYXQgYSBudWxsIHBvaW50ZXIgaXNuJ3QgYWNjZXNzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmVmZDYxMWI4YzZmNDNmNjdhMmY5M2Y4NDQ1YzE4OWUyNDk2MWFiZC4KCSAgQWxzbyB0aGlzIGV4dHJhIGNoZWNrIHdvbid0IGJlIG5lZWRlZCBpZiBpdCdzIGZpeGVkIHRoZSByYWNlIGJ5IG1vdmluZwoJICBmbHVzaCBhY3Rpb25zIHRvIEZMVVNIX1NUT1AuCgoyMDEyLTExLTEwIDE5OjQ2OjQwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBSZXZlcnQgInRzYmFzZTogYWRkIGEgZ3VhcmQgd2l0aCBhbiBhdG9taWMgYm9vbGVhbiB3aGVuIGZsdXNoaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGUxNGUzMTBmNzE3OGFhOGMwMjBmNTkzZTNmNzFlYzkyY2EyNTMxZjcuCgkgIFdvdWxkIGJlIGJldHRlciBtb3ZlIHRoZSBwYWNrZXRpemVyIGZsdXNoaW5nIHRvIEZMVVNIX1NUT1AgYW5kIGF2b2lkCgkgIHRoZSByYWNlIHRoYXQgd2F5LiBXaXRob3V0IGludHJvZHVjaW5nIGEgbWVtb3J5IGJhcnJpZXIgdGhhdCBjb3VsZAoJICBoYXZlIGltcGFjdCBpbiB0aGUgcGVyZm9ybWFuY2UuCgoyMDEyLTExLTEwIDE0OjQzOjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvLmdzdGhsc2RlbXV4LmMuc3dwOgoJKiBnc3QvaGxzLy5nc3RobHNzaW5rLmMuc3dwOgoJICBobHNzaW5rOiByZW1vdmUgdmltIC5zd3AgZmlsZXMgdGhhdCBJIGp1c3QgY29tbWl0dGVkIGFjY2lkZW50YWxseS4uLgoKMjAxMi0xMS0xMCAxNDoyNjo0NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzLy5nc3RobHNkZW11eC5jLnN3cDoKCSogZ3N0L2hscy8uZ3N0aGxzc2luay5jLnN3cDoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkgIGhsc3Npbms6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTI4IDIxOjI5OjMxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogY3V0IHNlZ21lbnRzIHVzaW5nIHRoZSBydW5uaW5nLXRpbWUKCjIwMTItMDktMDkgMjE6NTY6NDMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvbid0IHVucmVmIC0+bXVsdGlmaWxlc2luay4KCSAgV2UgZ3N0X2Jpbl9hZGQgaXQgdG8gb3Vyc2VsZiBzbyBubyBuZWVkIHRvIHVucmVmIGluIF9kaXNwb3NlLgoKMjAxMi0wOS0wOSAyMTo1NjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmV3b3JrIF9yZXNldCBhIGJpdAoKMjAxMi0xMS0xMCAwMDowODozNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgdHNiYXNlOiBhZGQgYSBndWFyZCB3aXRoIGFuIGF0b21pYyBib29sZWFuIHdoZW4gZmx1c2hpbmcKCjIwMTItMTEtMDkgMjI6MTc6MTEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzcGFja2V0aXplcjogZW5zdXJlIHRoYXQgYSBudWxsIHBvaW50ZXIgaXNuJ3QgYWNjZXNzZWQKCSAgTWl0aWdhdGVzIHNlZ2ZhdWx0IGR1ZSByYWNlIGNvbmRpdGlvbiBpbiBGTFVTSF9TVEFSVCBoYW5kbGluZyBhbmQKCSAgbXBlZ3RzX2Jhc2VfY2hhaW4uCgoyMDEyLTExLTA4IDE3OjE1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogT25seSB1c2UgdGltZXN0YW1wLWJhc2VkIFBDUi9QVFMgZXN0aW1hdGlvbiB3aGVuIG5lZWRlZAoJICBXaGVuIGRlYWxpbmcgd2l0aCBub24tdGltZSBiYXNlZCBwdXNoLW1vZGUgc3RyZWFtcywgd2UgbmVlZCB0byByZXZlcnQKCSAgdG8gdXNpbmcgdGhlIG9mZnNldC1iYXNlZCBQQ1IvUFRTIGVzdGltYXRpb24gbG9naWMgb2YgcGFja2V0aXplci4KCSAgVGhpcyBzb2x2ZXMgdXNlcyBjYXNlcyBzdWNoIGFzOgoJICBwdXNoZmlsZTovLyAhIHRzZGVtdXgKCSAgc3JjICEgcXVldWUgISB0c2RlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNzgKCjIwMTItMTEtMDggMTI6MTI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICBkb2NzOiBBZGQgbWlzc2luZyBwbHVnaW4gaW5zcGVjdGlvbiBmaWxlcwoJICBGaXhlcyBidWcgIzY4Nzg0MC4KCjIwMTItMTEtMDcgMjA6NTA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGNvdXJ0ZXN5IG9mIGF1dG91cGRhdGUKCjIwMTItMTEtMDcgMjA6NDg6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsZXQgQUdfR1NUX1BMVUdJTl9ET0NTIGNoZWNrIGZvciBweXRob24KCSAgQW5kIHVwZGF0ZSBjb21tb24gZm9yIG1vdmUgZnJvbSBBU19QQVRIX1BZVEhPTiB0byBBTV9QQVRIX1BZVEhPTiwKCSAgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBzaG91bGQgcGljayB1cCBuZXdlciBweXRob24gdmVyc2lvbnMgYXMKCSAgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzkwMwoKMjAxMi0xMS0wNiAyMDo1MToxMCArMDAwMCAgS2V2aW4gVGhvcm5iZXJyeSA8Z2ltbWVhbWlsa2J0dGZAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggRFRTIHZhbHVlIGJlaW5nIHVzZWQgZm9yIFBUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3ODA2CgoyMDEyLTExLTA2IDEyOjQwOjA1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHJld2luZCB0byB0aGUgTkFMIGxlbmd0aCBzaXplIGluIGJ5dGV3cml0ZXIgaWYgdGhlIGZvcm1hdCBpcyBieXRlc3RyZWFtCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1NDgKCSAgU2lnbmVkLW9mZi1ieTogIEtldmluIFRob3JuYmVycnkKCjIwMTItMTEtMDYgMTE6NTQ6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWN0dWFsbHkgYWRkIFBQUyBkYXRhIHRvIHRoZSBvdXRwdXQgYnVmZmVyCgoyMDEyLTA5LTI4IDEyOjM2OjU1IC0wNDAwICBXaWxsIFRob21wc29uIDx3aWxsLnRob21wc29uQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogYWRkIGEgcGxheWxpc3QtbGVuZ3RoIHByb3BlcnR5CgkgIFByb2JhYmx5IG5vdCBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIGdlbmVyYWwsIGJ1dCBoYW5keQoJICB0byBjdXQgZG93biB0aGUgbGF0ZW5jeSBvbiBhIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0xMC0yOSAxMzoyNDoyNSArMDAwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmVzZXQgd2hlbiBnb2luZyB0byBOVUxMIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMDgtMjEgMjM6MjI6MTkgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IEZpeCBzZWdtZW50IG5hbWVzIG9uIHBsYXlsaXN0CgkgIFdoZW4gdGhlIHBsYXlsaXN0LXJvb3QgaXMgbm90IHNldCwgdGhlIHNlZ21lbnQgbmFtZSBtdXN0IG5vdCBiZQoJICBhcHBlbmRlZCBieSB0aGUgcGF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcmFuZG9tL0xJQ0VOU0U6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5oOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uaGg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uYXMvbmFzc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5oOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5oOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5oOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5oaDoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5oOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5oOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuaDoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkqIGdzdC9tdmUvbXZlLmg6CgkqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSogZ3N0L25zZi9kaXM2NTAyLmg6CgkqIGdzdC9uc2YvZmRzX3NuZC5jOgoJKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9nc3Ruc2YuaDoKCSogZ3N0L25zZi9sb2cuYzoKCSogZ3N0L25zZi9sb2cuaDoKCSogZ3N0L25zZi9tbWM1X3NuZC5jOgoJKiBnc3QvbnNmL21tYzVfc25kLmg6CgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJKiBnc3QvbnNmL25lczY1MDIuaDoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5oOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvbnNmL25zZi5oOgoJKiBnc3QvbnNmL29zZC5oOgoJKiBnc3QvbnNmL3R5cGVzLmg6CgkqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSogZ3N0L25zZi92cmM3X3NuZC5oOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5oOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5oOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuaDoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW5fY29uc3RzLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC9zaXJlbi9zaXJlbjcuaDoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSogZ3N0L3NwZWVkL2RlbW8tbXAzLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuaDoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuaDoKCSogZ3N0L3R0YS9jcmMzMi5oOgoJKiBnc3QvdHRhL2dzdHR0YS5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSogZ3N0L3R0YS90dGFkZWMuaDoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmg6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSogc3lzL2R2Yi9jYW0uYzoKCSogc3lzL2R2Yi9jYW0uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmg6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJKiBzeXMvZHhyMy9keHIzY29tbW9uLmg6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmg6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZXdmaW5kZXJiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWltaWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUENsaWVudFNhdmVGaWxlLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQU2VydmVyU2VuZEZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUENsaWVudFBsYXlNaWMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUFNlcnZlck1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQQ2xpZW50UGxheU1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQU2VydmVyU2VuZE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BDbGllbnRQbGF5U3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQU2VydmVyU2VuZFNwZWV4TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BDbGllbnRQbGF5TVAzU3RyZWFtLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BTZXJ2ZXJTZW5kTVAzU3RyZWFtLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAzIDEzOjUxOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IGZpeCB3YXJuaW5ncyBhbmQgYnVpbGQgYWdhaW5zdCBvcGVuY3YgMi40LngKCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzogSW4gZnVuY3Rpb24gJ2dzdF9weXJhbWlkX3NlZ21lbnRfY2hhaW4nOgoJICBnc3RweXJhbWlkc2VnbWVudC5jOjMwNzozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KCSAgJ2N2UHlyU2VnbWVudGF0aW9uJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzozMDc6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YKCSAgJ2N2UHlyU2VnbWVudGF0aW9uJyBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzIzNwoKMjAxMi0xMS0wMiAxMzo0NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgc2NhbGV0ZW1wbzogVXNlIGEgYmV0dGVyIHBsdWdpbiBmaWxlbmFtZQoKMjAxMi0xMS0wMiAxMToyOTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIG1vcmUgY29uc3RhbnRzIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMKCjIwMTItMTEtMDIgMTE6MjQ6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKCjIwMTItMTEtMDEgMjA6NTA6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHJlbW92ZSBhbmQgbW92ZSB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYzCgoyMDEyLTExLTAxIDE1OjM2OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTItMTEtMDEgMTU6MzU6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IE1ha2Ugc3VyZSB0byBvbmx5IGV2ZXIgY3JlYXRlIGEgc2luZ2xlIGVuZ2luZSBvYmplY3QKCSAgVGhlIE9wZW5TTCBFUyBzcGVjIGRlZmluZXM6CgkgIEFuIGltcGxlbWVudGF0aW9uIHNoYWxsIGVuYWJsZSBjcmVhdGlvbiBvZiBhdCBsZWFzdCBvbmUgc3VjaCBvYmplY3QsIGJ1dAoJICBhdHRlbXB0aW5nIHRvIGNyZWF0ZSBtb3JlIGluc3RhbmNlcyAoZWl0aGVyIGJ5IGEgc2luZ2xlIGFwcGxpY2F0aW9uIG9yIGJ5CgkgIHNldmVyYWwgZGlmZmVyZW50IGFwcGxpY2F0aW9ucykgbWF5IGZhaWwuCgoyMDEyLTEwLTMxIDIwOjAwOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogU2tpcCBBcmljZW50IGNvZGVjcyBmb3Igbm93CgkgIFRoZSBIVEMgT25lIFggY2xhaW1zIHRvIGhhdmUgb25lIChidXQgZG9lc24ndCkgYW5kIGxvYWRpbmcKCSAgdGhlIGxpYnJhcnkgZm9yIGl0IGhhbmdzIGZvcmV2ZXIuCgoyMDEyLTExLTAxIDEzOjUxOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQb3N0IHN0cmVhbS1zdGF0dXMgbWVzc2FnZXMgZm9yIG91ciByZW5kZXIgdGhyZWFkCgoyMDEyLTEwLTMxIDEzOjU0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJZiBwdXNoaW5nIGFuIGl0ZW0gb24gdGhlIHF1ZXVlIGZhaWxzLCBmcmVlIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBsZWFrIHRoZSBpdGVtLgoKMjAxMi0xMC0zMSAxMTozODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb3BlbmN2IHBsdWdpbiBidWlsZHMgd2l0aCBuZXdlciB2ZXJzaW9ucyB1cCB0byAyLjQuMiBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyMzcKCjIwMTItMTAtMzAgMTk6MzA6MzggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogTmVnb3RpYXRlIGZvcm1hdCwgYWxzbyBzdXBwb3J0IG1vcmUgcmVzb2x1dGlvbnMKCSAgVGhpcyBzaG91bGQgZW5hYmxlIHN1cHBydCBmb3Igb2xkIGFuZCBuZXcgaVBob25lcyB3aXRoIHRoZSBzYW1lIGNvZGUuCgoyMDEyLTEwLTMwIDA5OjI3OjI0ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaW5hbGl6ZSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc2CgoyMDEyLTEwLTMwIDEwOjIwOjA5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogRml4IGxlYWtzIGZyb20gbm90IGNoYWluaW5nIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbgoKMjAxMi0xMC0yMiAxMjozNjoyOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IFNsaWdodGx5IHJlZmxvdyBjb2xsZWN0ZWQgYnVmZmVyIGhhbmRsZXIgZm9yIGNsYXJpdHkuCgoyMDEyLTEwLTI2IDE4OjI5OjMyICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBuYW1lIG9mIENBVCBHc3RTdHJ1Y3R1cmUKCSAgVGhlIHN0cnVjdHVyZSBwcmV2aW91c2x5IHdhcyBhc3NpZ25lZCB0aGUgbmFtZSAicGF0Ii4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njk0OAoKMjAxMi0xMC0yOCAxNjo0MToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJICBkb2NzOiBhZGQgbmV3IGFjY3VyaXAgZWxlbWVudCB0byBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNjMKCjIwMTItMTAtMjggMTY6MzY6MDEgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuaDoKCSAgYWNjdXJhdGVyaXA6IG5ldyBlbGVtZW50IGZvciBBY2N1cmF0ZVJpcCBjYWxjdWxhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTYzCgoyMDEyLTEwLTI2IDEzOjQ4OjA2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZjogUG9ydCBteGZkZW11eCB0byAxLjAgQWxzbyBwb3J0cyBteGZtdXggdG8gMS4wIHRvIHRoZSBleHRlbnQgdGhhdCBpdCBjb21waWxlcywgYnV0IGlzIDEwMCUgdW50ZXN0ZWQsIHNvIHJlbWFpbnMgZGlzYWJsZWQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZkZW11eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCjIwMTItMTAtMjUgMTk6MTA6NDAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggYSBudW1iZXIgb2Ygd2FybmluZ3MvZXJyb3JzIGluIGRpcmVjdHNvdW5kc3JjCgkgICogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ2xpYiBtdXRleCBmdW5jdGlvbnMKCSAgKiBEb24ndCBkZWNsYXJlIHVzZWxlc3MgdmFyaWFibGVzCgkgICogRG9uJ3QgbGluayB0byBub24tZXhpc3RpbmcgbGliZ3N0aW50ZXJmYWNlcwoJICBGaXhlcyAjNjg2ODcxCgoyMDEyLTEwLTI1IDE3OjUwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgcGFyc2VkIG9yIHVwc3RyZWFtIGZwcyB0byBzZXQgc29tZSBiYXNlcGFyc2UgcGFyYW1ldGVycwoKMjAxMi0xMC0yNSAxODowMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4dHJhY3Qgc3RydWN0dXJlIGZyb20gY29ycmVjdCBjYXBzCgkgIC4uLiB3aGljaCBhcmUga25vd24gIT0gTlVMTC4KCjIwMTItMTAtMjUgMTE6MzE6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHByZXNlcnZlIHVwc3RyZWFtIGZwcyBhbmQgcGFyCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA4NjYKCjIwMTItMTAtMjUgMTQ6Mjg6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTItMTAtMjUgMTI6MDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBIYW5kbGUgR0FQIGV2ZW50cwoKMjAxMi0xMC0xOCAxNjoyMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogUG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMTE6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBjcm9wIG1ldGFkYXRhCgoyMDEyLTEwLTIyIDExOjE4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAxMzoyMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtZW1iZXIgYW5kIHVzZSBpbnB1dCBzdGF0ZQoKMjAxMi0xMC0xOCAxNjo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMyAxMjoxMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2YzFwYXJzZTogR2l2ZSB2YzFwYXJzZSBhIHJhbmsgb2YgTk9ORSBmb3Igbm93CgoyMDEyLTEwLTE1IDA5OjEyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogUG9ydCB0byAxLjAKCjIwMTItMDItMjMgMTM6NDg6NTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBkaXNhYmxlIEJEVSBwYXJzaW5nIHVudGlsIGl0J3MgbW9yZSBtYXR1cmUKCSAgUGFyc2luZyBhbmQgc3BsaXR0aW5nIEJEVXMgc2VlbXMgdG8gdHJpZ2dlciBhIGZldyBidWdzIGluCgkgIGRvd25zdHJlYW0gZGVjb2RlcnMgc28gZGlzYWJsZSBpdCBmb3Igbm93LgoKMjAxMi0xMC0xNCAxMTozOTo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogc2V0IGR1cmF0aW9uIG9uIG91dHB1dCBidWZmZXJzCgkgIFRoaXMgaGFzIHRoZSBuaWNlIHNpZGUgZWZmZWN0IG9mIGF2b2lkaW5nIGhhbmdpbmcgYXQgRU9TIHdpdGggdHJ1bmNhdGVkIGFzZgoJICBjbGlwcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmMKCjIwMTItMDEtMzEgMTE6MDM6NDUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiB3b3JrYXJvdW5kIGZvciBzaW1wbGUvbWFpbiBjb2RlY19kYXRhIGJlaW5nIDUgYnl0ZXMgbG9uZwoJICBTb21ldGltZXMgdGhlIGNvZGVjX2RhdGEgYnVmZmVyIGZvciBzaW1wbGUvbWFpbiBwdXNoZWQgYnkgYXNmZGVtdXggaXMgNSBieXRlcwoJICBpbnN0ZWFkIG9mIDQuIFdoZW4gdGhhdCBoYXBwZW5zLCBjb2RlY19kYXRhIGlzIHN0aWxsIHZhbGlkIGJ1dCBpdCBzZWVtcyB0byBoYXZlCgkgIG9uZSAweDAwIHRyYWlsaW5nIGJ5dGUuIE1pZ2h0IGJlIGEgYnVnIGluIHRoZSBkZW11eGVyLCBuZWVkcyBtb3JlIGludmVzdGlnYXRpb24uCgoyMDEyLTAxLTMxIDExOjAyOjEwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcmVtb3ZlIHN0dWIgc3RyZWFtIGNvbnZlcnNpb24gY29kZQoKMjAxMi0wMS0zMSAxMTowMDo1NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIG1vcmUgZGVidWdnaW5nIHRvIF9yZW5lZ290aWF0ZQoKMjAxMi0wMS0zMSAxMDo1ODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmMxcGFyc2U6IEFkZCBWQzEgcGFyc2VyIHBsdWdpbgoKMjAxMi0xMC0yNSAxMjo0NjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjAuMiA9PT0KCjIwMTItMTAtMjUgMDE6NDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMgoKMjAxMi0xMC0yNCAyMzo0MDoyMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXhlZCBidWZmZXIgdW5tYXBwaW5nIGJ1ZwoJICBXaGVuIHRoZSBkZWNvZGVyIHJlY2VpdmVkIGEgTlVMTCBidWZmZXIsIGl0IHRyaWVkIHRvCgkgIHVubWFwIGEgbm90IG1hcHBlZCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MjkKCjIwMTItMTAtMjQgMTQ6MjM6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgd2F5bGFuZCA+PSAxLjAuMAoJICBXZSBoYXZlIGFuIEFQSSBzdGFibGUgcmVsZWFzZSBub3csIHJlcXVpcmUgdGhhdC4KCjIwMTItMTAtMjQgMTM6NDE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHVwIG1wZzEyMyB0ZXN0IGEgbGl0dGxlCgkgIC0gZGlzdCBpbnB1dCBmaWxlcwoJICAtIGZpeCBzYW1wbGUgbGVhawoJICAtIHNpbXBsaWZ5IGNoZWNrIGZvciBlbGVtZW50cwoJICAtIG9ubHkgcnVuIG1wZzEyMyB0ZXN0IGlmIG1wZzEyMyBpcyBhdmFpbGFibGUgYW5kIHNlbGVjdGVkCgkgIC0gZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTI6MzA6MTAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9jYnJfc3RyZWFtLm1wMzoKCSogdGVzdHMvZmlsZXMvc3RyZWFtLm1wMjoKCSogdGVzdHMvZmlsZXMvdmJyX3N0cmVhbS5tcDM6CgkgIHRldHM6IGFkZCB1bml0IHRlc3QgZm9yIG1wZzEyM2F1ZGlvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MzY6NDIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBhZGRlZCBndGtkb2Mgc2VjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjIyOjA1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4ZWQgYnVnIHdpdGggbGFzdCBmcmFtZSwgZGlzYWJsZWQgaW50ZXJuYWwgcmVzYW1wbGVyICYgY2hhdHRlcgoJICAqIFRoZSBsYXN0IE1QMyBmcmFtZSB3YXNuJ3QgYmVpbmcgcHVzaGVkIHdoZW4gYmFzZSBjbGFzcyB3YXMgZHJhaW5pbmcKCSAgKiBNYWRlIHN1cmUgbXBnMTIzIGNhbm5vdCBldmVyIHVzZSBpdHMgKGNydWRlKSBpbnRlcm5hbCByZXNhbXBsZXIKCSAgKiBEaXNhYmxlZCBtcGcxMjMgc3RkZXJyIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjIxOjQ1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogY2xlYW5lZCB1cCBjb21tZW50cywgZm9ybWF0dGluZywgYW5kIGxvZ2dpbmcgbGluZXMKCSAgYWxzbyByZXBsYWNlZCBtcGcxMjNkZWNvZGVyLT5oYW5kbGUgIT0gTlVMTCBjaGVja3Mgd2l0aCBhc3NlcnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTE6MzQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogYWRkIGNvbW1lbnQgZGVzY3JpYmluZyBmdW5jdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2Nzc0CgoyMDEwLTA3LTAyIDE1OjI4OjQxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjaGVjayBiYXNlX3RpbWUgYmVmb3JlIGNhbGN1bGF0aW5nIG5ld19zdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzg3CgoyMDEyLTEwLTIzIDE0OjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IGV2ZW50IGxlYWsKCjIwMTItMTAtMjMgMTQ6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggdGltZXN0YW1wIHRyYWNraW5nCgoyMDEyLTEwLTIzIDE0OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjMgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IFN0b3JlIGluc3RhbmNlIHByaXZhdGUgZGF0YSBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIEdldHRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB2aWEgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKCkKCSAgaXMgcmVhbGx5IHNsb3cuCgoyMDEyLTEwLTIzIDEwOjA3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogTGluayB0byAkKExJQk0pIGZvciBpc2Zpbml0ZSgpCgoyMDEyLTEwLTIyIDIxOjQxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBmaXggZm9yIHN0YXJ0IHRpbWVzID4gMAoJICBGaXhlcyBidWZmZXJpbmcgYW5kIHBsYXliYWNrIG9mIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoCgkgIGEgbm9uLTAgdGltZXN0YW1wIGluIHRvdGVtICh3aGljaCBoYXMgYSAncGl0Y2gnIGVsZW1lbnQKCSAgYmVmb3JlIHB1bHNlc2luaykuCgkgIEV4YW1wbGUgVVJJOiBodHRwOi8vbG9ib3N0di5sb2JvY2FzdC5vcmcuZXM6ODAwNC9sb2Jvc3R2Lm9nZwoJICBTdGlsbCBicmVha3Mgd2l0aCBjaGFpbmVkIG9nZ3MsIG9uIHNlY29uZCBjaGFpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjM5MQoKMjAxMi0xMC0yMiAxMjowODo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogcmVtb3ZlIHBvaW50bGVzcyBjYXBzIHNlcmlhbGl6YXRpb24KCSAgUmVtb3ZlIHRoZSBjYXBzIHNlcmlhbGl6YXRpb24gaW4gdGhlIHJ0cCBjYXBzLiB0aGUgc3BlYyBub3IgdGhlIHJlY2VpdmVyCgkgIGRvZXMgYW55dGhpbmcgd2l0aCBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU0NwoKMjAxMi0xMC0yMiAxMDo0NToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgc3ViZW5jOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAwMTozOToxMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBEb24ndCBtYWtlIHRoZSBzYW1lIGJ1ZmZlciB3cml0YWJsZSB0d2ljZS4KCSAgRml4ZXMgQnVnIDY4NjMyNyAtIG1wZWd0c211eDogZml4IHJlZmNvdW50IGlzc3VlIHdpdGggaW5wdXQgYnVmZmVycwoKMjAxMi0xMC0yMCAxNDo1NTo0MSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kOiB1cGRhdGUgdG8gd2F5bGFuZC1wcm90b2NvbCAwLjk5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1MjAKCjIwMTItMTAtMTggMjI6MjM6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmb3J3YXJkIG5vbi1wcm9jZXNzZWQgZHZkIGV2ZW50cwoJICAuLi4gc3VjaCBhcyBub3RhYmx5IGR2ZC1zcHUtY2x1dC1jaGFuZ2UuCgoyMDEyLTEwLTE4IDIyOjIyOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VnbWVudCBldmVudCBzaG91bGQgYmUgc2VudCBiZWZvcmUgZ2FwIGV2ZW50CgoyMDEyLTEwLTE5IDA5OjU5OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCB0cnkgdG8gcmVuZGVyIGV4cG9zZSgpIGlmIG5vIGNhcHMgYXJlIGtub3duIHlldAoKMjAxMi0xMC0xOCAxNToxMjoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGV4cG9zZQoKMjAxMi0xMC0xOSAwMTowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBmaXggcHJvZ3JhbSBwYWNrZXQgc2VxdWVuY2UgY291bnRlciBwYXJzaW5nIGluIFBFUyBoZWFkZXIKCjIwMTItMTAtMTkgMDA6NDc6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogZml4IHNvbWUgaW5jb25zZXF1ZW50aWFsIFBFUyBoZWFkZXIgcGFyc2luZyBpc3N1ZXMKCSAgYWRkaXRpb25hbF9jb3B5X2luZm86IG5lZWQgdG8gZ2V0IHJpZCBvZiB0aGUgaGlnaGVzdAoJICBiaXQsIG5vdCB0aGUgbG93ZXN0IG9uZQoJICBwcm9ncmFtX3BhY2tldF9zZXF1ZW5jZV9jb3VudGVyOiBhbHNvIG5lZWQgdG8gZ2V0IHJpZAoJICBvZiB0aGUgaGlnaGVzdCBiaXQgaW5zdGVhZCBvZiBtdWx0aXBseWluZyB3aXRoIGEgcmFuZG9tCgkgIHZhbHVlCgkgIG9yaWdpbmFsX3N0dWZmX2xlbmd0aDogd2FudCB0byBBTkQgMHgzZiB0byBleHRyYWN0IHRoZQoJICBsb3dlc3QgNiBiaXRzLCBub3QgbXVsdGlwbHkgYnkgaXQuCgkgIE5vbmUgb2YgdGhlc2UgZmllbGRzIGFyZSBhY3R1YWxseSB1c2VkIHRob3VnaCwgc28gdGhlc2UKCSAgc2hvdWxkIG5vdCBoYXZlIGNhdXNlZCBhbnkgaXNzdWVzLgoKMjAxMi0xMC0xNyAxNTo1NDozMiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogRml4IHBhcnNpbmcgUC1TVERfYnVmZmVyIGluIFBFUyBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjI5NAoKMjAxMi0xMC0xOCAxODo1NjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2F5bGFuZDogZG9uJ3QgdHJ5IHRvIGJ1aWxkIGFnYWluc3QgMC45OSBvciBsYXRlcgoJICBUaGUgcGx1Z2luIG5lZWRzIHVwZGF0aW5nIGZvciBzb21lIEFQSSBjaGFuZ2VzIHNpbmNlIDAuOTUuCgoyMDEyLTEwLTE4IDAxOjQ3OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHBvdGVudGlhbCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcHJvZ3JhbSBwb2ludGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzNTgKCjIwMTItMTAtMTggMTU6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuc2xlczogT25seSBjaGVjayBmb3IgdGhlIG1haW4gb3BlbnNsZXMgaGVhZGVyCgoyMDEyLTEwLTE4IDE0OjM4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsZ2xlc3Npbms6IFB1dCBpbnRvIHRoZSBub3QtcG9ydGVkIHBsdWdpbnMgbGlzdAoKMjAxMi0xMC0xOCAxNDoyNTowNSArMDIwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEhvb2sgZWdsZ2xlc3NpbmsgZG9jdW1lbnRhdGlvbiBpbgoKMjAxMi0xMC0xOCAxNDowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBjb21waWxhYmxlIG9uIGRlc2t0b3AgTGludXggd2l0aCBNRVNBIHRvbwoKMjAxMi0xMC0xOCAxNDowNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgkgIENvbmZsaWN0czoKCSAgZXh0L01ha2VmaWxlLmFtCgoyMDEyLTEwLTE4IDEwOjQ5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZGVidWcgb3V0cHV0CgoyMDEyLTEwLTE4IDEwOjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNsZWFyIHRoZSBzdXJmYWNlIG9uY2Ugd2hlbiB0aGUgYnVmZmVyIGNvbnRlbnQgaXMgcHJlc2VydmVkCgoyMDEyLTEwLTE4IDEwOjIwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IGRyYXcgYmxhY2sgYm9yZGVycyBpZiB0aGUgZGVmYXVsdCBzd2FwIGJlaGF2aW91ciBvZiB0aGUgc3VyZmFjZSBpcyB0byBkZXN0cm95IHRoZSBidWZmZXIKCjIwMTItMTAtMTggMDk6Mzc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bnVzZWQgbGFiZWwKCjIwMTItMTAtMTggMDI6MjY6MTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRmFjdG9yIGRpc3BsYXkgcmVnaW9uIHJlc2V0IHRvIGl0cyBvd24gZnVuYwoKMjAxMi0xMC0xOCAwMTo0NTo1MSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHdheXMgUmVzZXQgZGlzcGxheV9yZWdpb24uKiBhdCBFR0wvR0xFUyBjdHggd2lwZQoKMjAxMi0xMC0xOCAwMTozNjo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGYWN0b3IgRUxHL0dMRVMgY29udGV4dCBjbGVhbnVwIGludG8gaXRzIG93biBmdW5jCgoyMDEyLTEwLTE4IDAwOjMzOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERyb3AgZHJhZnRlZCBmYXN0IHJlbmRlcmluZyBwYXRoIGxvZ2ljCgoyMDEyLTEwLTE3IDE1OjUwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHVwZGF0ZSBoZWFkZXIgZmlsZQoKMjAxMi0xMC0xNyAxNTozNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvdmlkZSB0aGUgdGV4dHVyZSBwb3NpdGlvbnMgdG8gdGhlIHNoYWRlciBvbiBldmVyeSBmcmFtZSB0b28KCjIwMTItMTAtMTcgMTU6MDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyYXcgYmxhY2sgYm9yZGVycyBhbmQgYWxzbyB1c2UgYSBzaW5nbGUgR0wgYnVmZmVyIGZvciBhbGwgdmVydGljZXMKCSAgRml4ZXMgd2VpcmQgYXJ0aWZhY3RzIG91dHNpZGUgdGhlIHZpZGVvIGZyYW1lIG9uCgkgIFF1YWxjb21tIFNuYXBkcmFnb24gY2hpcHNldHMgYW5kIHNob3VsZCBiZSBmYXN0ZXIKCSAgdGhhbiBnbENsZWFyKCkgb24gdGhlIGNvbXBsZXRlIGFyZWEgYWxsIHRoZSB0aW1lLgoKMjAxMi0xMC0xNyAxMjo0OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1lbW9yeSBsZWFrCgoyMDEyLTEwLTE3IDEwOjQ3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdXNlbGVzcyBkZWJ1ZyBvdXRwdXQgYWRkZWQgZm9yIGRlYnVnZ2luZyBlYXJsaWVyCgoyMDEyLTEwLTE3IDEwOjA4OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHdpbmRvdyBzZXR0aW5nL2hhbmRsaW5nIGEgYml0IG1vcmUgdGhyZWFkc2FmZQoKMjAxMi0xMC0xNyAwOTo1OTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJpbnQgd2luZG93IGhhbmRsZSBhZnRlciBzZXR0aW5nIGl0CgoyMDEyLTEwLTE2IDE3OjUwOjAzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgREFSIHF1ZXJ5ICYgc3RvcmUgdG8gc3VyZmFjZSBpbml0CgkgIFRoZSBEQVIgKGRpc3BsYXkncyBwaXhlbCBhc3BlY3QgcmF0aW8pIHNob3VsZCByZW1haW4gYQoJICBjb25zdGFudCBhdCBydW50aW1lIHNvIHRoZXJlJ3Mgbm8gcG9pbnQgb24gcmVwZWF0ZWRseQoJICBxdWVyeSBhbmQgc3RvcmUgdGhpcyB2YWx1ZS4gRG9pbmcgaXQgYXQgc3VyZmFjZSBzZXR1cAoJICBzaG91bGQgYmUgZW5vdWdoLiBBcyBhbiBhZGRlZCBib251cyB0aGlzIGNoYW5nZSBzaG91bGQKCSAgbWFrZSByZW5kZXJpbmcgYSBiaXQgZmFzdGVyLgoKMjAxMi0xMC0xNiAxNzozNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3Qgc2lnbmFsIHRoZSBHQ29uZCB0b28gb2Z0ZW4KCjIwMTItMTAtMTYgMTc6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBteXNlbGYgYXMgYXV0aG9yCgoyMDEyLTEwLTE2IDE2OjI1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHJlc2V0IHRoZSBkaXNwbGF5IHJlZ2lvbiBpbiBzdGFydCgpCgoyMDEyLTEwLTE2IDE2OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNvbW1pdCBtaXNzaW5nIGNoYW5nZXMgdG8gdGhlIGhlYWRlciBmaWxlCgoyMDEyLTEwLTE2IDE2OjE4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogQWxzbyBpbmNsdWRlICQoR1NUX0JBU0VfQ0ZMQUdTKQoKMjAxMi0xMC0xNiAxNjoxMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHJhY2UgY29uZGl0aW9uCgoyMDEyLTEwLTE2IDE1OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWZhY3RvciByZW5kZXJpbmcgYW5kIGFsbCBjb250ZXh0IHNwZWNpZmljIEdMIHRoaW5ncyBpbnRvIGEgc2VwYXJhdGUgdGhyZWFkCgkgIEFsc28gZml4ZXMgc29tZSB0aHJlYWRpbmcgcmVsYXRlZCBwcm9ibGVtcy4KCjIwMTItMTAtMTYgMTQ6Mzk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlLWFkZCBhY2NpZGVudGlhbGx5IHJldmVydGVkIGNvbW1pdAoKMjAxMi0xMC0xNiAxNDoxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVubmVlZGVkIGZsb3dfbG9jawoJICBVc2UgdGhlIG9iamVjdCBsb2NrIGluIHRoZSBmZXcgcGxhY2VzIG5lY2Vzc2FyeSwgZXZlcnl0aGluZwoJICBlbHNlIGlzIHByb3RlY3RlZCBieSBvdGhlciB0aGluZ3MgYWxyZWFkeS4KCSAgQWxzbyBzdG9yZSB0aGUgY29udGV4dCBkaXJlY3RseSBpbnNpZGUgdGhlIGluc3RhbmNlIHN0cnVjdAoJICBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgc29tZSBtZW1vcnkgZm9yIGl0LgoKMjAxMi0xMC0xNiAxMTo1MzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRlYnVnIG91dHB1dCBhbmQgY29uc3RhbnQgbmFtZXMKCjIwMTItMTAtMTYgMTE6NTE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHN0YXJ0KCkvc3RvcCgpIGlzIGNhbGxlZCBpbiBSRUFEWTwtPk5VTEwgaW4gYmFzZXNpbmsKCSAgQnV0IHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBpbiBQQVVTRUQ8LT5SRUFEWS4KCjIwMTItMTAtMTUgMTM6NDQ6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGZvciBvdXRib3VuZCBEQVIgcmVwb3J0ZWQgYnkgRUdMCgkgIFNvbWUgRUdMIGltcGxlbWVudGF0aW9ucyBkb24ndCBob25vciB0aGUgc3BlYwoJICByZXF1aXJlbWVudCBvZiByZXR1cm5pbmcgREFSIHZhbHVlcyBhcyB3L2ggKgoJICBFR0xfRElTUExBWV9TQ0FMSU5HLgoJICBUaGlzIGNoYW5nZXNldDoKCSAgLSBGaXhlcyByZW5kZXJpbmcgb24gdGhlIFNhbXN1bmcgR2FsYXh5IElJSQoJICAtIEZpeGVzIHdyb25nIGNoZWNrIG9uIHJlcXVpcmVkIDEuMiBFR0wgdmVyc2lvbgoJICAtIFJlb3JkZXJzIHRoZSBjb2RlIGEgYml0LgoKMjAxMi0xMC0xNSAxMzozODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoZXMgaWYgdGhlcmUgYXJlIG5vIEVHTCBvciBHTEVTIGV4dGVuc2lvbnMKCjIwMTItMTAtMTAgMTI6NDI6NDcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoIGF0IGVsZW1lbnQgaW5zdGFudGlhdGlvbgoKMjAxMi0xMC0xMCAxMjoyNjowNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBTYXZlIG9uZSBleHRyYSB0ZXh0dXJlIGxvb2t1cAoKMjAxMi0xMC0xMCAxMjoyMjoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBNaW5vciBuYW1lZCBpbmRleCBhY2Nlc3MgdHdlYWsgeHl6IC0+IHJnYgoKMjAxMi0xMC0xMCAxMjoxODoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBBc3NvcnRlZCBmaXhlcyB0byBvcHRpbWl6ZWQgY29kZQoJICAtIERvbid0IGNvcHkgb3ZlciBvcG9zIGFzIGl0J3MgYWxyZWFkeSBhIHZlYzIKCSAgLSBGaXggaW5kZXggb3JkZXIgYWNjZXNzIGF0IGZyYWdfWVVZMl9ZVllVX1VZVllfcHJvZwoKMjAxMi0xMC0xMCAxMTo1MDoyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBQbGFuYXIgWVVWIGNvbnZlcnRlcnMgb3B0aW1pemF0aW9uCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgbXVsdCBhbmQgYWRkCgkgIC0gQXZvaWQgdW5uZWVkZWQgdGV4dHVyZSBsb29rdXBzCgoyMDEyLTEwLTEwIDExOjA1OjA0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgR2VnbGdsZXNzaW5rOiBMU0w6IE9wdGltaXplIGZyYWdfWVVZMl9ZVllVX1VZVllfcHJvZwoJICAtIEF2b2lkIHJlcGVhdGVkbHkgcGVyZm9ybWluZyB0aGUgdGV4dHVyZSBsb29rdXAKCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgdGhlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgdGhlIGV4cGxpY2l0IG11bHQgYW5kIGFkZAoKMjAxMi0xMC0xMCAwMzowMjoyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBEcm9wIHVubmVkZWQgbnh5IHZlYzIKCjIwMTItMTAtMTAgMDI6MTY6MzUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1pc3NpbmcgZG91YmxlIHF1b3RhdGlvbiBtYXJrIGluIEdMU0wgY29kZQoKMjAxMi0xMC0xMCAwMjowNDoxOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBPcHRpbWl6ZSBmcmFnX0FZVVZfcHJvZwoJICAtIEF2b2lkIHJlcGVhdGVkbHkgcGVyZm9ybWluZyB0aGUgdGV4dHVyZSBsb29rdXAKCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgdGhlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgdGhlIGV4cGxpY2l0IG11bHQgYW5kIGFkZAoKMjAxMi0xMC0wOSAyMzozNToyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzU2luayBzdHJ1Y3QKCjIwMTItMTAtMDkgMjM6MDQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc0J1ZmZlciBzdHJ1Y3QgKERSQUZUKQoKMjAxMi0xMC0wOSAyMjo1NDo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzSW1hZ2VGbXQgc3RydWN0CgoyMDEyLTEwLTA5IDIyOjQwOjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNSZW5kZXJDb250ZXh0IHN0cnVjdAoKMjAxMi0xMC0wOSAxNzowMDo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBc3NvcnRlZCBkb2MgYW5kIHJlb3JkZXJpbmcgZml4ZXMKCjIwMTItMTAtMDkgMTY6MjU6NDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogRWxlbWVudCBwcm9wZXJ0aWVzCgkgIEJyaWVmIGV4cGxhbmF0b3J5IGNvbW1lbnRzIHBsdXMgc29tZSByZW9yZGVyaW5nCgkgIHRvIGdyb3VwIGRlZmF1bHQgc2V0dGluZyBvZiBwcm9wZXJ0aWVzIGFuZCBydW50aW1lCgkgIGZsYWdzIHZhbHVlcy4KCjIwMTItMTAtMDkgMTc6MjA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBZVllVCgoyMDEyLTEwLTA5IDExOjQ4OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdMU0wgU2hhZGVycwoJICBCcmllZiBleHBsYW5hdG9yeSBjb21tZW50cyBwbHVzIHNvbWUgcmVyZGVyaW5nCgkgIHRvIGdyb3VwIHBhY2tlZC9wbGFuYXIgY29udmVydGVycy4KCjIwMTItMTAtMDkgMTE6MDA6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogRWxlbWVudCBvdmVydmlldwoKMjAxMi0xMC0wOCAxMjoxMDoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWZhY3RvciBSRU9SREVSIHNoYWRlci4KCSAgQXZvaWQgdW5uZWVkZWRseSBjYWxsaW5nIHRleHR1cmUyRCgpIDMgY29uc2VjdXRpdmUgdGltZXMuCgoyMDEyLTEwLTA0IDE1OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaGFuZGxpbmcgb2YgY2FwcyBjaGFuZ2VzIGJ5IG9ubHkgcmVsZWFzaW5nIHdoYXQgbmVlZHMgdG8gYmUgcmVsZWFzZWQKCSAgQW5kIG5vdCB0ZXJtaW5hdGluZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uCgoyMDEyLTEwLTA0IDAyOjE1OjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZGlzcGxheV9yZWdpb24gcmVzZXQgdG8gbG9ja2VkIHNlY3Rpb24KCjIwMTItMTAtMDQgMDE6NTY6MTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVzZXQgZGlzcGxheV9yZWdpb24gZGltcyBhdCBjYXBzIHJlbmVnbwoKMjAxMi0xMC0wNCAwMTozMzozMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3NtZXRpY3MKCjIwMTItMTAtMDQgMDE6Mjk6NDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYWNjZXNzIGxvY2FsIHZhbHVlIGZyb20gc3RydWN0CgoyMDEyLTEwLTAzIDIzOjQxOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFRlcm1pbmF0ZSBkaXNwbGF5IGNvbm5lY3Rpb24gYXQgY2FwcyByZW5lZ28KCjIwMTItMTAtMDIgMTc6NTY6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29zbWV0aWNzCgoyMDEyLTEwLTAzIDEyOjMyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IGF0dGFjaCB0aGUgY29udGV4dCBvbmNlIHRvIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDEyLTEwLTAzIDEwOjUzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHRoZSBjb250ZXh0IGN1cnJlbnQgZm9yIHRoZSB0aHJlYWQgYW5kIHVuYmluZCBpdCBhZ2FpbiBhcm91bmQgZXZlcnkgdXNlCgkgIFRoaXMgZml4ZXMgc29tZSBjcmFzaGVzIGFuZCBsZWFraW5nIG9mIG91ciBjb250ZXh0IGludG8gb3RoZXIKCSAgT3BlbkdMIGNvZGUgb24gdGhlIHNhbWUgdGhyZWFkLgoKMjAxMi0xMC0wMiAxNzoyOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wcm92ZSBjbGVhbnVwCgoyMDEyLTEwLTAyIDE1OjQ2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW51c2VkIGxhYmVsCgoyMDEyLTEwLTAyIDE1OjQyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIGEgTlVMTCBoYW5kbGUKCjIwMTItMTAtMDIgMDk6NDg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJldmVydCAiRG8gbm90IHVwZGF0ZV9zdXJmYWNlX2RpbXMoKSBvbmNlIHBlciBmcmFtZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4MjEwMzM3NmVkZTJiYzdjNjNkZDY5OWY1OTgyMTY4NjYwZjY3ODUyLgoJICBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgc3VyZmFjZSBkaW1lbnNpb25zIG9uIGV2ZXJ5IGZyYW1lIHRvCgkgIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBub3RpZmllZCBhYm91dCB1cGRhdGVzLiBUaGlzIGhhcHBlbnMKCSAgZm9yIGV4YW1wbGUgaWYgdGhlIEFuZHJvaWQgd2luZG93IGdldHMgcmUtbGF5b3V0ZWQgYmVjYXVzZQoJICBhIHdpZGdldCB0YWtlcyBtb3JlIHNwYWNlIHRoYW4gYmVmb3JlLgoKMjAxMi0xMC0wMiAwMTo0MzozNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEbyBub3QgdXBkYXRlX3N1cmZhY2VfZGltcygpIG9uY2UgcGVyIGZyYW1lCgkgIEFuZC4uIFVwZ3JhZGUgZGVidWcgbWVzc2FnZSB0byB3YXJnaW5nIG9uIHdlaXJkIERBUi4KCSAgQ29ycmVjdCBmaXggdG8gYXZvaWQgc3BhbWluZyB3aXRoIHRoaXMgbWVzc2FnZQoJICBvbmNlIHBlciBlYWNoIGZyYW1lIGlzIGF2b2lkIGNhbGxpbmcgdXBkYXRlX3N1cmZhY2VfZGltcygpCgkgIGF0IHJlbmRlcl9hbmRfZGlzcGxheSgpLiBUaGlzIGlzIGhhbmRsZWQgYXQgZWdsIHN1cmZhY2UKCSAgaW5pdC4KCjIwMTItMTAtMDEgMTY6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFuZCBkb3duZ3JhZGUgYW5vdGhlciB3YXJuaW5nIHRvbwoKMjAxMi0xMC0wMSAxNjoxNDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG93bmdyYWRlIEdTVF9XQVJOSU5HIHRvIEdTVF9ERUJVRwoKMjAxMi0xMC0wMSAwOTo0NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUge30gdG8gaWYgc3RhdGVtZW50cyBtYWtlIHRoZW0gd29yayBhcyBleHBlY3RlZAoKMjAxMi0wOS0zMCAyMzowNzo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHN0YWxlIGRlZmluZXMgZm9yIG1heCBmcmFtZSBzaXplCgoyMDEyLTA5LTMwIDIzOjA2OjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNtYWxsIGNvbW1lbnRhcnkgZml4ZXMgaGVyZSBhbiB0aGVyZQoKMjAxMi0wOS0yOCAxMTo0ODoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBzZXR0aW5nIGhlaWdodCBvciB3aWR0aCB0d2ljZQoKMjAxMi0wOS0yNyAwMToxODozNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVc2UgUEFSL0RBUiB0byBzZXQgdmlld3BvcnQKCjIwMTItMDktMjcgMTQ6Mjg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSByZXNpemUgaWYgdGhlIHN1cmZhY2UgZGltZW5zaW9ucyBjaGFuZ2UKCjIwMTItMDktMjcgMTQ6MDg6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBzdXJmYWNlIGRpbWVuc2lvbnMgb24gZXZlcnkgYnVmZmVyCgoyMDEyLTA5LTI3IDE0OjAyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3JlIGNvbnNpc3RlbnQgbmFtaW5nIG9mIHNoYWRlciByZWxhdGVkIHZhcmlhYmxlcwoKMjAxMi0wOS0yNyAxMzo1NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU29tZSB2YXJpYWJsZSBuYW1lIGNsZWFudXAKCjIwMTItMDktMjcgMTM6NTM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBkZWZhdWx0LXdpZHRoL2hlaWdodCBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFyZSBjb21wbGV0ZWx5IHVubmVlZGVkCgoyMDEyLTA5LTI1IDEzOjMyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZG91YmxlIGZyZWUoKQoKMjAxMi0wOS0yNSAwOTowNjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgbGVhayBFR0wvRVMgcmVuZGVyIGNvbnRleHQKCjIwMTItMDktMjUgMDE6Mzk6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUHV0IEVHTC9HTEVTIGNvbnRleHQgdmFycyBvbiB0aGVpciBvd24gc3RydWN0CgoyMDEyLTA5LTI0IDExOjE5OjMyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSAgZWdsZ2xlc3Npbms6IFNtYWxsIFRPRE8gcmVmb3JtYXR0aW5nCgoyMDEyLTA5LTI0IDEwOjIzOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBUT0RPIGZpbGUKCjIwMTItMDktMjQgMTQ6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSBpbXBsZW1lbnQgOjpleHBvc2UoKQoJICBXZSBkb24ndCBuZWVkIHRoZSBwYXN0IGJ1ZmZlciBmb3IgdGhpcywgdGhlIG9sZCBvbmUgaXMgc3RpbGwgYXZhaWxhYmxlCgkgIGFzIHRleHR1cmUgYW5kIHdlIGp1c3QgbmVlZCB0byBkcmF3IG91ciByZWN0YW5nbGUgYWdhaW4uCgoyMDEyLTA5LTI0IDEzOjQ4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIGFub3RoZXIgd2luZG93IGZvciB0aGUgbmV4dCB0aW1lIHdlIHJlY29uZmlndXJlIGV2ZXJ5dGhpbmcKCjIwMTItMDktMjQgMTI6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gdW5yZWYgY3VycmVudCBjYXBzIGFmdGVyIHVzYWdlCgoyMDEyLTA5LTI0IDEyOjMyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgY2FwcyBjaGFuZ2VzCgoyMDEyLTA5LTI0IDEyOjI3OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3JlIGNsZWFudXAgYW5kIG1ha2luZyB0aGUgZWxlbWVudCByZXVzYWJsZQoKMjAxMi0wOS0yNCAxMjowNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgaW5pdC9yZWxlYXNlIHJlc291cmNlcyB3aGVuIGdvaW5nIGZyb20gTlVMTC0+UkVBRFkgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDEyLTA5LTI0IDExOjQ4OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBHZW5lcmF0ZSB0aGUgc2luayBjYXBzIGV4YWN0bHkgb25jZQoKMjAxMi0wOS0yNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvZGUgc3R5bGUgYSBiaXQgdG8gc3RvcCBjb25mdXNpbmcgaW5kZW50CgoyMDEyLTA5LTI0IDExOjE1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc3VwcG9ydCBmb3IgWVVZMiBhbmQgVVlWWQoKMjAxMi0wOS0yNCAxMTowMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU29tZSBwcm9wZXJ0eSBjbGVhbnVwCgoyMDEyLTA5LTI0IDEwOjQ1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBSR0IgZm9ybWF0cwoKMjAxMi0wOS0yNCAxMDoyMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIgYW5kIFk0MUIsIGp1c3QgYmVjYXVzZSBpdCdzIHNvIGVhc3kKCjIwMTItMDktMjQgMTA6MDI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIHNpbXBsZSBUT0RPcwoKMjAxMi0wOS0yNCAwMTowODoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBMb2NrIHdoaWxlIGFsdGVyaW5nIGRpc3BsYXkgcmVnaW9uIGNvb3JkcwoKMjAxMi0wOS0yNCAwMDoyNzoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggX2dldF9jb21wYXRfZm9ybWF0X2Zyb21fY2FwcygpIGxvZ2ljCgkgIEl0J3MgYSBnZXR0ZXIgc28gaXQgc2hvdWxkbid0IG1lc3Npbmcgd2l0aCB0aGUgc2luayBjb250ZXh0LgoJICBBZGRpbmcgaW5zdWx0IHRvIGluanVyeSBpdCB3YXMgc2V0dGluZyBzZWxlY3RlZF9mbXQgd2l0aG91dAoJICBsb2NraW5nLgoJICBUaGUgYXNzb2NpYXRlZCBjaGFuZ2VzIHRvIHRoZSBidWZmZXIgZnVuY3Rpb25zIGFyZSBtZXJlbHkKCSAgbWFrZS1pdCBidWlsZCBmaXhlcy4gVGhvc2UgZnVuY3Rpb25zIGFyZSBiYXJlbHkgZHJhZnRlZAoJICBhbmQgaW4gV0lQIHN0YXRlLgoKMjAxMi0wOS0yMyAyMzowNzoyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHVubmVkZWQgaW5pdGlhbCBzZXQgdG8gTlVMTAoKMjAxMi0wOS0yMyAyMjozMzo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNaW5vciBmb3JtYXR0aW5nIGFuZCBjb21tZW50IGZpeGVzCgoyMDEyLTA5LTIxIDEyOjEyOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IENsZWFuLXVwIGdsL2VnbCBhbGxvY2F0aW9ucyBhdCBfc3RvcCgpCgkgIEFsc28sIGNvbmRpdGlvbmFseSBkZXN0cm95IHdpbmRvdyBpZiB0aGUgc2luayBjcmVhdGVkIGl0cyBvd24uCgoyMDEyLTA5LTIxIDE3OjA4OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoJICBBbHNvIFlVWTIgYW5kIFVZVlkgYnV0IHRoaXMgaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdAoJICBkb2Vzbid0IHdvcmsgY29tcGxldGVseSB5ZXQuIFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoCgkgIHRoZSBjaHJvbWEuCgoyMDEyLTA5LTIxIDE1OjQ0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgSTQyMCBhbmQgWVYxMiBjb2xvciBmb3JtYXRzCgoyMDEyLTA5LTIxIDE0OjA1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgdGV4dHVyZXMgZm9yIG1vcmUgWVVWIGZvcm1hdHMKCjIwMTItMDktMjEgMTM6NDI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVzZSB0aGUgYXR0cmliIGxvY2F0aW9ucyBhcyByZWFsbHkgdXNlZCBpbnNpZGUgdGhlIHNoYWRlcgoKMjAxMi0wOS0yMSAxMjo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVhbGx5IGRlY291cGxlIHZlcnRleCBhbmQgdGV4dHVyZSBwb3NpdGlvbnMgaW4gdGhlIHNoYWRlcgoKMjAxMi0wOS0yMSAxMjo0NToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRGVjb3VwbGUgdGV4dHVyZSBhbmQgdmVydGV4IHBvc2l0aW9ucwoKMjAxMi0wOS0yMSAxMjoxNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciB2ZXJ0ZXggdmFsdWUgb3JkZXIgdG8gbWFrZSBhIGJpdCBtb3JlIHNlbnNlCgoyMDEyLTA5LTIxIDAxOjA5OjExIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEhhbmRsZSBmcmFtZSBzY2FsaW5nIHRvIGZpbGwgc3VyZmFjZQoKMjAxMi0wOS0yMSAwMDowOTowNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEcmFmdCBzZXRfcmVuZGVyX3JlY3RhbmdsZSgpIGZyb20gdGhlIHhPdmVybGF5IGludGVyZmFjZQoKMjAxMi0wOS0yMCAyMjo1MDozMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgc3RhbGUgY29tbWVudAoKMjAxMi0wOS0yMCAyMjo0MToxMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIFZCTyBzZXR1cCB0byBzZXRjYXBzCgoyMDEyLTA5LTIwIDIyOjExOjA4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGRvIGNvbnRleHQgb3BzIGF0IHJlbmRlcgoJICBXZSBkb24ndCBuZWVkIHRvIHJlcGVhdGVkbHkgY2FsbAoJICBlZ2xNYWtlQ3VycmVudCgpIHdoaWxlIHVzaW5nIHRoZQoJICBzYW1lIGNvbnRleHQgYW55d2F5LgoKMjAxMi0wOS0yMCAyMjowMToyMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBjbGVhciBzdXJmYWNlIGNvbG9yIGF0IHJlbmRlcgoKMjAxMi0wOS0yMCAxNzoyMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVuYW1lIHNoYWRlciB2YXJpYWJsZXMgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDEyLTA5LTIwIDE3OjE0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgQVlVVgoKMjAxMi0wOS0yMCAxNzowMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciBjYXBzIGEgYml0IHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMCAxNjo1MDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU2V0IHJhbmsgdG8gUFJJTUFSWQoKMjAxMi0wOS0yMCAxNjoyNTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFJHQkEKCjIwMTItMDktMjAgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSBnZW5lcmF0ZWQgY2FwcyBmb3IgdGhlIHN1cHBvcnRlZCBmb3JtYXRzCgoyMDEyLTA5LTIwIDE2OjA4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgOjpnZXRfY2FwcygpIHZmdW5jIHRoYXQgcmV0dXJucyB0aGUgYWN0dWFsbHkgc3VwcG9ydGVkIGNhcHMKCjIwMTItMDktMjAgMTU6NTY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gcmVxdWlyZSBhIGNvbmZpZ3VyYXRpb24gd2l0aCBFR0xfU1VSRkFDRV9UWVBFIGNvbnRhaW5pbmcgRUdMX1dJTkRPV19CSVQKCjIwMTItMDktMjAgMTQ6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wOS0xOSAxOToyNjo1NCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDbGVhciBzdXJmYWNlIHRvIGJsYWNrIGJ5IGRlZmF1bHQKCjIwMTItMDktMTkgMTk6MjM6NTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHdlIGdldCBhIGNvbmZpZyB3ZSBjYW4gdXNlIHdpdGggR0xFUzIKCjIwMTItMDktMTkgMTk6MTI6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogc2V0X3dpbmRvd19oYW5kbGUoKSBoYXMgYmVlbiB0ZXN0ZWQgdG8gd29yayBub3cKCjIwMTItMDktMTkgMTI6Mjk6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgYXV0b3NjYWxpbmcgYnkgZGVmYXVsdAoKMjAxMi0wOS0xOCAxNDo1ODo0MyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCByZXBlYXRlZGx5IHNldHRpbmcgMkQgcmVzaXppbmcgcGFyYW1zCgkgIE1vdmVkIHRvIGluaXRpYWwgdGV4dHVyZSBzZXR1cCBzbyBpdCBoYXBlbnMKCSAganVzdCBvbmNlIHdoaWxlIG9uIHRoZSBzYW1lIGNvbnRleHQuCgoyMDEyLTA5LTE4IDEyOjA0OjIwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIGluaXRpYWxpemluZyBFR0wgYXQgX3NldF93aW5kb3dfaGFuZGxlKCkKCSAgX3N0YXJ0KCkgc2hvdWxkIHRha2UgY2FyZSBvZiB0aGF0LgoJICBUaGlzIGNoYW5nZSBhc3VtZXMgX3NldGNhcHMoKSB3aWxsCgkgIGhhcHBlbiBhbHdheXMgYWZ0ZXIgX3N0YXJ0KCkgaXMKCSAgZG9uZS4KCjIwMTItMDktMTggMTA6NDM6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYXNrIGZvciBhIHdpbmRvdyBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lCgoyMDEyLTA5LTE4IDEwOjMxOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBFR0wgYXR0cmlicyB2YXIgbmFtaW5nCgoyMDEyLTA5LTE4IDAyOjMyOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzbG93IHBhdGggcmVuZGVyaW5nIG9uIEFuZHJvaWQKCSAgU3BlY2lmeSBtaXNzaW5nIGFuZCBtYW5kYXRvcnkgcGFyYW1zIGZvciBucG90CgkgIEJlZm9yZSBjYWxsaW5nIGdsVGV4SW1hZ2UyRC4KCSAgSW4gcGFydGljdWxhciwgX1dSQVBfVCBhbmQgX1dSQVBfUyBuZWVkIHRvIGJlCgkgIHNldCB0byBHTF9DTEFNUF9UT19FREdFIHRvIGF2b2lkIGFsbC1ibGFjawoJICByZW5kZXJpbmcgd2l0aCBucG90IHNpemVkIGZyYW1lcy4KCjIwMTItMDktMTggMDA6NTE6MzYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHRlc3Qgb24gdXNhYmxlIGVnbGNvbmZpZ3MgcmV0dXJuZWQKCjIwMTItMDktMTcgMjM6MDU6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCBzdGFsZSBlcnJvcl9sb2NrZWQgbGFiZWwKCjIwMTItMDktMTcgMjM6MDQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2xlYW51cCBzdGFsZSBjb2RlIGNvbW1lbnRzCgoyMDEyLTA5LTE3IDE4OjAwOjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEdsVmlld1BvcnQoKSBzaG91bGQgdXNlIGFjdHVhbCBzdXJmYWNlIHNpemUKCjIwMTItMDktMTcgMTc6MjE6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgcmVpbml0aW5nIEVHTCBhZnRlciB0aGUgZmlyc3QgdGltZQoKMjAxMi0wOS0xNyAxMzo0NDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgY29ycmVjdCB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTA5LTE3IDEyOjU0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtaXNzaW5nIHRleHR1cmUgc2V0dXAgYml0cwoKMjAxMi0wOS0xNyAxMTo1NzoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgZXJyb3IgY2hlY2tpbmcgb24gZWdsU3dhcEJ1ZmZlcnMKCjIwMTItMDktMTcgMTE6NDA6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHN0YWxlJndyb25nIDAuNSBhbHBoYSBibGVuZAoKMjAxMi0wOS0xNyAxMDo1NjoxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgZmxvYXQgcHJlY2lzaW9uIHNwZWNpZmllciB0byBmcmFnbWVudCBzaGFkZXIKCSAgVGhpcyBpcyByZXF1aXJlZCBieSBHTEVTIGFuZCBmaXhlcyBjb21waWxhdGlvbiBvZiBmcmFnbWVudAoJICBzaGFkZXIgcHJvZy4KCjIwMTItMDktMTcgMTA6NDc6MzkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGxvZyByZXBvcnRpbmcgYXQgc2hhZGVyIGNvbXBpbGF0aW9uIGZhaWx1cmUKCjIwMTItMDktMTYgMjI6NDM6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgbWlzc2luZyBjaGVja3Mgb24gc2hhZGVyIG9wcwoJICAtIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgc2hhZGVyIGNvbXBpbGVyIHN1cHBvcnQKCSAgYW5kIGJhaWwgb3V0IG90aGVyd2lzZS4KCSAgLSBBZGQgY2hlY2tzIG9uIGNvbXBpbGUgYW5kIGxpbmtpbmcgb3BzCgoyMDEyLTA5LTE0IDIwOjQ5OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzZXR1cCBjaGFpbiBsb2dpYwoJICBNb3N0bHkgYSBwcm9jZWR1cmFsIHJlb3JkZXJpbmcuIElkZWEgaXMgdG8gYXZvaWQKCSAgdHJ5aW5nIHRvIHNldHVwIGEgc3VyZmFjZSB3aXRob3V0IGEgZGlzcGxheS5UaGlzCgkgIGNoYW5nZSByZWxpZXMgb24gdGhlIGFzdW1wdGlvbiB0aGF0OgoJICAxLi0gc2V0X3dpbmRvd19oYW5kbGUoKSBjYW4gaGFwcGVuIGF0IGFueSB0aW1lCgkgIDIuLSBzZXRjYXBzIHdpbGwgbmV2ZXIgZ2V0IGNhbGxlZCBiZWZvcmUgX3N0YXJ0KCkKCSAgaXMgZG9uZS4KCSAgSWYgYm90aCBjb25kaXRpb25zIGFyZSBtZWV0IHRoZSBuZXcgcHJvY2VkdXJlCgkgIHNob3VsZCB3b3JrIGFzIGV4cGVjdGVkLgoKMjAxMi0wOS0xNCAxNTo1OTowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBXSVA6IFJlb3JkZXIgbG9ja2luZwoKMjAxMi0wOS0xMyAyMzoyMzowOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggeE92ZXJsYXkgbG9naWMKCSAgU2V2ZXJhbCBmaXhlcyBkZWFsaW5nIHdpdGggY29ycmVjdCB3aW5kb3cKCSAgY3JlYXRpb24gYW5kIHNldF9oYW5kbGUoKSBvcHMuIFRlc3RlZCBvbgoJICBYMTEvbWVzYSB3aXRoIGludGVybmFsIHdpbmRvdyBjcmVhdGlvbi4KCjIwMTItMDktMTMgMDA6NTU6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWN0dWFsbHkgdGVzdCBFR0wgY29uZmlncyBiZWZvcmUgY2xhaW1pbmcgc3VwcG9ydAoKMjAxMi0wOS0xMyAwMDoxMTo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDYXBzIG5lZ28gRUdMIGZpeGVzCgkgIC0gRml4IGFsbG9jIGxvbCBvbiBmb3JtYXQgbGlzdDogQXNrZWQgZm9yIDIgc2xpY2VzIGFuZCB1c2VkIDMuCgkgIC0gUmVvcmRlcmVkIGRpc3BsYXkgJiBjb250ZXh0IGluaXQgbG9naWMgdG8gcHJlcGFyZSBmb3IgYWN0dWFsCgkgIGNvbmZpZyBjaGVja2luZyBiZWZvcmUgY2xhaW1pbmcgc3VwcG9ydCBmb3IgYSBnaXZlbiBmb3JtYXQuCgkgIENoYW5nZSBkZWFscyBiYXNpY2FsbHkgd2l0aCBzZXR0aW5nIHVwIEVHTCBkaXNwbGF5IGF0IHN0YXJ0KCkKCSAgYW5kIGNob29zZSBhbiBFR0wgY29uZmlnIG9ubHkgYXQgc2V0Y2FwcyB0aW1lLgoKMjAxMi0wOS0xMiAyMjoxMTozOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBDYXBzIG5lZ28uIFN0YXJ0IGV4dGVuZGluZyBSR0Igc3VwcG9ydCB0byBhIHNldC4KCjIwMTItMDktMTIgMTY6MTk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYnVpbGQgb2Ygc3RhdGljIHBsdWdpbgoKMjAxMi0wOS0xMiAwOToyODoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHdyb25nIGZvcm1hdCB0ZXN0IG9uIF9zZXRjYXBzIChkcmFmdCBsZWZ0b3ZlcikKCjIwMTItMDktMTEgMTM6NTQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU3VwcG9ydCBSR0IyNCBieSBkZWZhdWx0CgoyMDEyLTA5LTExIDEzOjUxOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEluc3RydW1lbnQgRUdMIGVycm9yIHJlcG9ydGluZwoKMjAxMi0wOS0xMSAxMjowNDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgcmV0dXJuIEdzdEZsb3dSZXR1cm4gZnJvbSByZW5kZXJfYW5kX2Rpc3BsYXkoKQoKMjAxMi0wOS0xMSAxMTo1MToyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIFZCTyBzZXR1cCB0byBpdCdzIG93biBmdW5jdGlvbgoKMjAxMi0wOS0xMSAxMDoyMDoxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggcmVuZGVyX2FuZF9kaXNwbGF5IGxvZ2ljCgkgIFN3aXRjaCBwcm9jZWR1cmUgYWNjb3JkaW5nIHRvIGVuYWJsZWQgcmVuZGVyaW5nIHBhdGgKCjIwMTItMDktMTAgMjI6NTk6NTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHNhbXBsZSBsYXVuY2ggbGluZSB3aXRoIGRpc2FibGVkIHdpbmRvdyBjcmVhdGlvbgoKMjAxMi0wOS0xMCAyMjo0MTo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBSZW5hbWUgc3RhbGUgYW5kcm9pZCBsZWZ0b3ZlcgoKMjAxMi0wOS0xMCAyMDoyMjoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5oOgoJICBlZ2xnbGVzc2luazogTW92ZSBlZ2xnbGVzIFNpbmsgdG8gZXh0LyAjMgoKMjAxMi0wOS0xMCAyMDowMDo1NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL0FuZHJvaWQubWs6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZWdsZ2xlcyBTaW5rIHRvIGV4dC8KCjIwMTItMTAtMTggMTQ6MDM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuc2xlczogQWRkIHRoZSBvcGVuc2xlcyBwbHVnaW4gdG8gdGhlIGxpc3Qgb2Ygbm90IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTEwLTE4IDEzOjU2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkgIG9wZW5zbGVzOiBJbnRlZ3JhdGUgaW50byBidWlsZCBzeXN0ZW0KCjIwMTItMTAtMTIgMTA6MDg6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNzaW5rOiBSZXR1cm4gMCBkZWxheSBpZiB0aGUgcGxheWVyIG9iamVjdCBpcyBpbiBQQVVTRUQgc3RhdGUKCjIwMTItMTAtMDEgMTI6NTQ6MTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZml4ZXMgbm9pc2Ugb24gc2Vla2VpbmcKCjIwMTItMTAtMDEgMTE6NDY6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNoYWluIHVwIG9uIF9jbGVhcl9hbGwKCjIwMTItMTAtMDEgMTE6MTQ6MjQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogaW1wbGVtZW50IHRoZSByaW5nYnVmZmVyIGNsZWFyX2FsbCB2bWV0aG9kIHRvbwoKMjAxMi0xMC0wMSAxMDo1OTowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGluaXRpYWwgYXR0ZW1wdCB0byByZWR1Y2UgdGhlIHNyYyBsYXRlbmN5CgoyMDEyLTA5LTI5IDE5OjAwOjEzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IHNwcmlua2xlIGNvbW1lbnRzIGFuZCBjb3NtZXRpYyBmaXhlcwoKMjAxMi0wOS0yOCAxNToxMDoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2hlY2sgZm9yIGRldmljZSBvdXRwdXRzIGluIHRoZSBtaXhlcgoKMjAxMi0wOS0yOCAxNDozOTowMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZHJvcCA0OGtIeiBzYW1wbGUgcmF0ZQoJICBPcGVuU0wgRVMgaW1wbGVtZW50YXRpb24gaW4gQW5kcm9pZCBpcyBqdXN0IGEgJ2ZhY2FkZScgQVBJIG9uIHRvcCBvZgoJICBBdWRpb0ZsaW5nZXIgd2hpY2ggd2lsbCBkb3duc2FtcGxlIDQ4a0h6IGludG8gNDQuMWtIeiBiZWZvcmUKCSAgZGVsaXZlcmluZyB0aGUgYXVkaW8gdG8gdGhlIHVuZGVybGF5aW5nIGhhcmR3YXJlLgoJICBXZSBmb3VuZCB0aGF0IGl0IHN1ZmZlciBzb21lIHNvcnQgb2YgdW5kZXJydW4gd2hlbiB0aGUgZG93bnNhbXBsZQoJICBlbnRlcnMgaW4gYWN0aW9uIHNvIHJlbGF5IG9uIG91ciBnb29kIHJlc2FtcGxlciB0byB0YWtlIGNhcmUgb2YgdGhhdAoJICBhbmQgZml4IHRoZSBjbGlja3MgaXNzdWUuIEFuZCBnZXQgYW4gZXh0cmEgYm9udXMgb2YgYSBsb3dlciBsYXRlbmN5LgoKMjAxMi0wOS0yNyAxOToyNDo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogY2hhbmdlIHRoZSBkZWZhdWx0cyB0byB1c2UgMjAgbXMgcmluZ2J1ZmZlciBzZWdtZW50cwoJICBJbiBteSBuZXh1czcgc2VlbXMgdGhhdCB0aGUgaW50ZXJuYWwgbWluIGJ1ZmZlciBzaXplIGlzIDIwIG1zIHNvIG1ha2UKCSAgb3VyIHNlZ21lbnRzIG1hdGNoLgoKMjAxMi0wOS0yNyAxODozMzowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBlbnN1cmUgdGhhdCB3ZSByZWdpc3RlciB0aGUgY2FsbGJhY2sgb25seSBpbiBTVE9QUEVECgkgIEZpeGVzIHRoZSBlcnJvciByZWdpc3RlcmluZyB0aGUgY2FsbGJhY2sgb24gdGhlIFBMQVlJTkcgLT4gUEFVU0UgLT4KCSAgUExBWUlORyBzdGF0ZSBjaGFuZ2Ugc2VxdWVuY2UuCgoyMDEyLTA5LTI3IDE3OjQ2OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjYXAgcXVldWUgc2l6ZQoJICBKdXN0IGluIGNhc2Ugd2Ugd2FudCB0byB0d2VhayB0aGUgc2luayBiZWhhdmlvdXIgd2l0aCBidWZmZXItdGltZSBhbmQKCSAgbGF0ZW5jeS10aW1lIHByb3BlcnRpZXMgY2FwIHRoZSBxdWV1ZSBzaXplIHRvIHNvbWV0aGluZyByZWFzb25hYmxlLgoKMjAxMi0wOS0yNyAxNzozMjoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogc2luayB0byBwcm92aWRlIHRoZSBhdWRpb2Nsb2NrIGJ5IGRlZmF1bHQKCjIwMTItMDktMjcgMTc6Mjc6MjQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IG9ubHkgZHJhaW4gaGFsZiByaW5nYnVmZmVyIG9uIHN0YXJ0CgkgIEF0IHN0YXJ0IGRyYWluIGhhbGYgcmluZ2J1ZmZlciBpbnRvIHRoZSBPcGVuU0wgc28gdGhlIHdyaXR0aW5nL3JlYWRpbmcKCSAgcG9pbnRlcnMgd2lsbCBzdGFydCBhdCBoYWxmIHJpbmdidWZmZXIgZGlzdGFuY2UuCgoyMDEyLTA5LTI3IDE0OjUyOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBtb25pdG9yIHNvbWUgcGxheWVyIGV2ZW50cwoKMjAxMi0wOS0yNyAwNzoyMjo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZXdvcmsgYXJvdW5kIHRoZSBfZGVsYXkgZnVuY3Rpb24KCjIwMTItMDktMjcgMDU6NDA6NDYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogaW1wbGVtZW50IF9kZWxheSBmdW5jdGlvbgoKMjAxMi0wOS0yNyAwNDowMDoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZWZhY3RvciB0byBiZWhhdmUgbW9yZSBsaWtlIG90aGVyIHNpbmtzCgkgIFJlZmxlY3QgdGhlIHF1ZXVlIGluIG91ciBvd24gZGF0YSBidWZmZXIuCgkgIERyb3AgdGhlIF9jb21taXQgaG9vayB0aGF0IHdhc24ndCB1c2VmdWxsLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlZ3NpemUvc2VndG90YWwuCgoyMDEyLTA5LTI2IDE0OjAxOjE3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiByZWFkIHBsYXllciBwb3NpdGlvbiBhbmQgc2hvdyBpdCBpbiB0aGUgbG9nCgoyMDEyLTA5LTI2IDEyOjUwOjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBkbyBub3QgcHJvdmlkZSBhIGNsb2NrIGluIHRoZSBzaW5rIGVsZW1lbnQuCgoyMDEyLTA5LTI2IDEyOjMyOjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiByZXdvcmsgb24gc3RhcnQvc3RvcCBvcGVyYXRpb25zIGFuZCBjYWxsYmFjayBmdW5jdGlvbiBoYW5kbGluZwoKMjAxMi0wOS0yNiAxMjowOTowNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZml4ZXMgOCBiaXQgZm9ybWF0IHdoaWNoIGlzIHVuc2lnbmVkIG9uIGFuZHJvaWQuCgoyMDEyLTA5LTI1IDE5OjI1OjAxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBhdHRlbXB0IHRvIHJlZHVjZSBwbGF5YmFjayBsYXRlbmN5CgoyMDEyLTA5LTI1IDE4OjA0OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGRyb3AgX2J1ZmZlcl9jbGVhciBjYWxscyBhbmQgcmVmYWN0b3IgdG8gYSBzaGFyZWQgX2VucXVldWVfY2IKCjIwMTItMDktMjEgMTc6MDQ6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHVzZSAwLjI1cyBzZWdtZW50cyBpbiB0aGUgc2luayB0byBsb3dlciBsYXRlbmN5CgoyMDEyLTA5LTIxIDE2OjExOjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogZmluaXNoIHJlbWFpbmluZyBiaXRzIGZvciBzb3VyY2UgZWxlbWVudC4KCjIwMTItMDktMjEgMTQ6MTU6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGF0dGVtcHQgdG8gcXVlcnkgZGV2aWNlIGZvciBjYXBhYmlsaXRpZXMKCjIwMTItMDktMjAgMTg6NDE6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBhZGQgdGhlIG11dGUgcHJvcGVydHkgYW5kIGhhbmRsZSB2b2x1bWUvbXV0ZSBjaGFuZ2VzIG9uIHRoZSBmbHkKCjIwMTItMDktMjAgMTg6MDQ6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSAgb3BlbnNsZXM6IG1ha2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrCgoyMDEyLTA5LTIwIDE0OjE2OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJld29yayBvbiB0aGUgcmluZ2J1ZmZmZXIgdG8gcHJvcGVybHkgY2xlYXIgc2VnbWVudHMKCSAgTWFrZSB0aGUgc2VnbWVudHMgYmlnZ2VyICgxIHNlY29uZCkgYXMgaXQgc2VlbXMgdG8gYmUgdGhlIG1pbmltdW0gc2l6ZQoJICB3ZSBuZWVkIHRvIG5vdCBpbnRyb2R1Y2Ugbm9pc2UuCgkgIFNpbmsgd29ya3MgaW4gbXkgbmV4dXMgNyB3aXRoIHJhdGVzIGZyb20gODAwMCB0byA0NDEwMCBhbmQgc29tZSBub2lzZQoJICBjYW4gYmUgbm90aWNlZCBvbiBoaWdnZXIgc2FtcGxlIHJhdGVzLgoKMjAxMi0wOS0yMCAxMTo1MDo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogZml4ZXMgdGhlIGxpY2Vuc2UgaGVhZGVycwoKMjAxMi0wOS0yMCAxMDo0MTo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcHJvZHVjZXMgZXhwZWN0ZWQgb3V0cHV0IHVudGlsIHJpbmdidWZmZXIgd3JhcHMKCSAgQWRkIHNvbWUgbG9nIG1lc3NhZ2VzLgoJICBGaXhlZCBhIGJpdCB0aGUgX3BsYXllcl9jYiBmdW5jdGlvbiBhbmQgcHJvcGVybHkgYWR2YW5jZSByZWRpbmcgaW4gdGhlCgkgIHJpbmdidWZmZXIuCgkgIFN0aWxsIHByb2R1Y2VzIG5vaXNlIHdoZW4gdGhlIHJpbmdidWZmZXIgd3JhcHMuCgoyMDEyLTA5LTE5IDE4OjExOjU0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IEFkZCBpbml0aWFsIGRyYWZ0IGltcGxlbWVudGF0aW9uIG9mIE9wZW5TTCBFUyBwbHVnaW4uCgkgIEluaXRpYWwgZHJhZnQgaW1wbGVtZW50YXRpb24gZm9yIGEgT3BlblNMIEVTIGJhc2VkIHBsdWdpbiBmb3IgQW5kcm9pZAoJICB0aGF0IHByb3ZpZGVzIGF1ZGlvIHNyYyBhbmQgc2luay4KCjIwMTItMTAtMTggMDk6MjQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IFVzZSBjb3JyZWN0IHZhcmlhYmxlIG5hbWUgaW4gTWFrZWZpbGUuYW0KCjIwMTItMTAtMTcgMjI6NTQ6MjggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDE0CgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDQtMDMgMTI6MDk6MTkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MTQKCjIwMTItMTAtMTYgMTE6Mzg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMC0xNiAxMTozNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlOiBmaXggYnVpbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWMxYzM1MjkwZDdmNzJhNGJjMDE2ZThhZWYyNzZkOGMxYmRjZjM3Yi4KCjIwMTItMTAtMTYgMTE6MzE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbWlzc2luZyBmaWxlCgoyMDEyLTEwLTE2IDExOjMyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZAoKMjAxMi0xMC0xNSAxNjozNTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbmFtZSBwbHVnaW4KCjIwMTItMTAtMTUgMTY6Mjk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBhbmRyb2lkbWVkaWE6IEFkZCB0byB0aGUgbm90IHlldCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMC0xNSAxNjowNTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBNYWtlIGV2ZXJ5dGhpbmcgYnVpbGRhYmxlCgoyMDEyLTEwLTE1IDE0OjM2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIERvbid0IHRyeSB0byB1c2UgdGhlIE5WaWRpYSBEUk0gY29kZWNzCgoyMDEyLTEwLTA5IDEwOjU2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBUcnkgdG8gaGFuZGxlIGZvcm1hdCBjaGFuZ2VzIG1vcmUgZ3JhY2VmdWxseQoJICBBbmQgbWFrZSBzdG9wKCkgZmFzdGVyIGFuZCBtb3JlIHJvYnVzdAoKMjAxMi0xMC0wOSAxMDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgQWRkIHdvcmthcm91bmQgZm9yIEdvb2dsZSBNUDMgZGVjb2RlciBvdXRwdXR0aW5nIGdhcmJhZ2UgaW4gZmlyc3Qgb3V0cHV0IGJ1ZmZlcgoJICBBbmQgYXNzdW1lIG9uZSBkZWNvZGVkIGlucHV0IGZyYW1lIHBlciBvdXRwdXQgYnVmZmVyIHRvIGZpeCB0aW1lc3RhbXAKCSAgaGFuZGxpbmcgYnkgdGhlIGJhc2UgY2xhc3MuCgoyMDEyLTEwLTA5IDEwOjE0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWxzbyBhZGQgc29tZSBtb3JlIG91dHB1dCBmb3JtYXQgY2hlY2tzIHRvIHRoZSBhdWRpbyBkZWNvZGVyCgoyMDEyLTEwLTA5IDEwOjEzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ2hlY2sgb3V0cHV0IGZvcm1hdCBtZXRhZGF0YSBzb21lIG1vcmUKCSAgQW5kIGltcGxlbWVudCB3b3JrYXJvdW5kIGZvciBOVmlkaWEgVGVncmEgMyBub3Qgc2V0dGluZyB0aGUgc2xpY2VfaGVpZ2h0LgoJICBUaGFua3MgdG8gSm9zZXAgVG9ycmEgZm9yIGRlYnVnZ2luZyB0aGlzIGlzc3VlLgoKMjAxMi0xMC0wNSAxNTowOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgc29tZSBtb3JlIGRlZmF1bHQgY2hhbm5lbCBsYXlvdXRzLCB0aGVzZSBzaG91bGQgYmUgZ29vZCBmb3IgQUFDIGF0IGxlYXN0CgoyMDEyLTEwLTA1IDE0OjU2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRG9uJ3Qgc2V0IHRpbWVzdGFtcHMsIHRoZSBiYXNlY2xhc3MgaGFuZGxlcyB0aGlzIGZvciB1cyBhbnl3YXkKCjIwMTItMTAtMDMgMTA6MDY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBMaXN0IHByb2ZpbGVzIGluIHJldmVyc2UgdG8gbWluaW1pemUgY2FwcwoKMjAxMi0xMC0wMyAwOTo1Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEl0ZXJhdGUgbGV2ZWxzIGluIHJldmVyc2Ugb3JkZXIgdG8gbWluaW1pemUgY2FwcwoKMjAxMi0xMC0wMyAwOTo1MTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgTWVyZ2Ugc3RydWN0dXJlcyBpbnRvIGNhcHMgaW5zdGVhZCBvZiBhcHBlbmRpbmcgdGhlbQoKMjAxMi0wOS0yNSAxMDozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVXNlIG9yY19tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0IHNob3VsZCBiZSBmYXN0ZXIgZm9yIGxhcmdlciBtZW1vcnkgYXJlYXMKCjIwMTItMDktMjQgMTU6MzI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8vbXBlZy1MMiBmb3IgdGhlIE5leHVzIDcKCjIwMTItMDktMjQgMTU6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgTVBFRzEvMiB2aWRlbwoKMjAxMi0wOS0xOSAxNDo1MjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJZ25vcmUgdGhlICpsYXcgYW5kIFZvcmJpcyBkZWNvZGVycwoJICBUaGV5IGFyZSBicm9rZW4gdW5mb3J0dW5hdGVseS4KCjIwMTItMDktMTkgMTE6MjA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgRklYTUUgY29tbWVudCBmb3Igbm90IGhhbmRsaW5nIG9kZCB3aWR0aHMvaGVpZ2h0IHdpdGggdGhlIFRJIGhhcmR3YXJlIGRlY29kZXJzCgkgIE11c3QgbGlrZWx5IGFuIGlzc3VlIHdpdGggdGhlIGNvZGVjIGl0c2VsZiB0aG91Z2guCgoyMDEyLTA5LTE5IDA5OjQ3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGhhbmRsaW5nIG9mIEk0MjAgYnVmZmVycyB3aXRoIG9kZCB3aWR0aAoKMjAxMi0wOS0xOCAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIE9ubHkgbXBlZ3ZlcnNpb249NCBpcyBzdXBwb3J0ZWQgZm9yIEFBQwoKMjAxMi0wOS0xOCAxNToyODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgRklYTUVzCgoyMDEyLTA5LTE3IDEzOjQ2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggZmx1c2hpbmcgbG9naWMgdG8gdW5icmVhayBoYW5kbGluZyBvZiBmbHVzaGluZyBzZWVrcwoKMjAxMi0wOS0xNyAxMjoyNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBjaHJvbWEgc3RyaWRlIGZvciBJNDIwIHN0cmlkZS9jcm9wIGNvbnZlcnNpb24KCjIwMTItMDktMTcgMTE6Mjg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggVm9yYmlzIGRlY29kaW5nCgoyMDEyLTA5LTE0IDE2OjE3OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBXYWl0IGF0IG1vc3QgMTAwbXMgZm9yIGRlcXVldWVpbmcgYSBidWZmZXIsIGFuZCByZXRyeSBhZnRlciB0aGF0CgkgIFNvbWUgY29kZWNzIGRvbid0IGZhaWwgdGhlIGRlcXVldWVpbmcgaWYgdGhlIGNvZGVjIGlzIGZsdXNoZWQsCgkgIGNhdXNpbmcgZGVhZGxvY2tzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgZWxlbWVudC4KCjIwMTItMDktMTQgMTY6MTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbGVhc2Ugb3V0cHV0IGJ1ZmZlcnMgYSBiaXQgZWFybGllcgoKMjAxMi0wOS0xNCAxNjoxMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEtlZXAgYW5vdGhlciByZWZlcmVuY2Ugb2YgdGhlIGlucHV0IGJ1ZmZlciBpbiBoYW5kbGVfZnJhbWUoKQoJICBJdCBtaWdodCBiZSB1bnJlZmZlZCBpbiB0aGUgbWVhbnRpbWUgYnkgdGhlIG90aGVyIHRocmVhZCBkdWUKCSAgdG8gZmluaXNoX2ZyYW1lKCkuCgoyMDEyLTA5LTE0IDE2OjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgUGFzcyAtMSBhcyBudW1iZXIgb2YgZnJhbWVzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGRvIHRoZSByaWdodCB0aGluZyBpZiB0aW1lc3RhbXBzIGFyZSBnb29kIGVub3VnaAoKMjAxMi0wOS0xNCAxNjowOTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFVzZSBjb3JyZWN0IGJ1ZmZlciB2YXJpYWJsZQoKMjAxMi0wOS0xNCAxNDo0MzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWx3YXlzIHBhc3MgMSBhcyBudW1iZXIgb2YgZnJhbWVzIHRvIGZpbmlzaF9mcmFtZSgpCgoyMDEyLTA5LTE0IDE0OjQyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQ29ycmVjdGx5IHJlbWVtYmVyIG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlcmF0ZQoKMjAxMi0wOS0xNCAxNDo0MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIERvbid0IHVucmVmIGlucHV0IGJ1ZmZlciBmcm9tIGhhbmRsZV9mcmFtZSgpLCBpdCdzIG93bmVkIGJ5IHRoZSBiYXNlY2xhc3MKCjIwMTItMDktMTQgMTM6MzE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBSZW1vdmUgaW52YWxpZCBHU1RfRVJST1IoKSBjYWxsCgoyMDEyLTA5LTE0IDEzOjI3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgT25seSB0cnkgdG8gZ2V0IHRoZSBjaGFubmVsLW1hc2sgaWYgaXQgaXMgc2V0CgoyMDEyLTA5LTE0IDEzOjI1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEZMQUMKCjIwMTItMDktMTQgMTM6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTItMDktMTQgMTM6MTY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggcGx1Z2luIGluaXRpYWxpemF0aW9uCgoyMDEyLTA5LTE0IDEzOjA1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGRlY29kZXJzLCBjb21wbGV0ZWx5IHVudGVzdGVkIHNvIGZhcgoKMjAxMi0wOS0xNCAxMjowNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIE9ubHkgc2V0IHRoZSBTWU5DX0ZSQU1FIGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBpZiB3ZSBuZWVkIHRvIHNwbGl0IHRoZSBpbnB1dAoKMjAxMi0wOS0xMiAxNDozMDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSWdub3JlIGNvZGVjcyB3aXRoIHVua25vd24gY29sb3IgZm9ybWF0cyBmb3Igc3RhYmlsaXR5IHB1cnBvc2VzCgkgIFRoZXkgY2FuIGJlIHJlZ2lzdGVyZWQgbm9uZXRoZWxlc3MgaWYgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgb3IgY29tcGlsZS10aW1lICNkZWZpbmUgaXMgc2V0LgoKMjAxMi0wOS0xMiAxMzo0ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcGxlbWVudCBjcm9wcGluZyBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZGlmZmVyZW50IGNvbG9yIGZvcm1hdHMKCjIwMTItMDktMTEgMTY6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWFsbHkgaW1wbGVtZW50IHN0cmlkZSBjb252ZXJzaW9uIGZvciBOVjEyIHRvbwoKMjAxMi0wOS0xMSAxNjoyNDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcGxlbWVudCBzdHJpZGUtY29udmVyc2lvbiBmb3IgSTQyMCBhbmQgTlYxMgoKMjAxMi0wOS0xMSAxNTo1NjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggdHlwbyBpbiBwcmV2aW91cyBjb21taXQKCjIwMTItMDktMTEgMTU6NDk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRG9uJ3QgYWxsb3cgdXNpbmcgbm9uLUdvb2dsZSBjb2RlY3MgaWYgd2Ugc3RhcnRlZCB0aGUgSmF2YSBWTSBvdXJzZWx2ZXMKCSAgSGFyZHdhcmUgY29kZWNzLCBlLmcuIHRoZSBUSSBvbmVzLCBvbmx5IHdvcmsgaW4gcHJvY2Vzc2VzIHRoYXQgaGFkIHRoZWlyCgkgIEphdmEgVk0gc3RhcnRlZCB2aWEgdGhlIG5vbi1wdWJsaWMgQW5kcm9pZFJ1bnRpbWUgY2xhc3MuCgoyMDEyLTA5LTExIDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFJlbmFtZSB0byBhbWMgZnJvbSBhbmRyb2lkbWVkaWFjb2RlYyBldmVyeXdoZXJlCgoyMDEyLTA5LTExIDEzOjA4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDktMTEgMTI6Mzk6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBQcmludCB0aGUgTWVkaWFGb3JtYXRzIHdlIGdldCBpbiB0aGUgZGVidWcgbG9ncwoKMjAxMi0wOS0xMCAxNTozMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA5LTEwIDE1OjMwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBsZXZlbC9wcm9maWxlIGhhbmRsaW5nCgoyMDEyLTA5LTEwIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFsbG93IHJlZ2lzdGVyaW5nIGFzIHN0YXRpYyBwbHVnaW4gd2l0aCB0aGUgR1N0cmVhbWVyIFNESyBBUEkKCjIwMTItMDktMTAgMTM6MzA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJZiB0aGUgYnVmZmVyIHNpemVzIGFyZSB0aGUgc2FtZSwganVzdCBtZW1jcHkoKSB0byB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDktMTAgMTI6NTY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDb3JyZWN0bHkgY29udmVydCB0aW1lc3RhbXBzIGJldHdlZW4gdXMgYW5kIG5zCgoyMDEyLTA5LTA3IDE2OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgU2V0IFNZTkNfRlJBTUUgZmxhZyBvbiBidWZmZXJzIGlmIHJlcXVpcmVkCgoyMDEyLTA5LTA3IDE0OjIyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBmbHVzaGluZwoKMjAxMi0wOS0wNyAxMzo0NDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFdhaXQgYXQgbW9zdCAwLjUgc2Vjb25kcyBmb3IgZ2V0dGluZyBhbiBpbnB1dCBidWZmZXIgZm9yIEVPUwoKMjAxMi0wOS0wNyAxMzo0Mjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENvcnJlY3RseSBjaGVjayBmb3IgZmx1c2hpbmcKCjIwMTItMDktMDYgMTc6MjQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZXRyeSBmb3IgbmVnYXRpdmUgcmV0dXJuIHZhbHVlcyB3aGVuIGRlcXVldWVpbmcgYnVmZmVycwoKMjAxMi0wOS0wNiAxNzowNzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCByZWZjb3VudCBidWcKCjIwMTItMDktMDYgMTc6MDc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBUaGUgTWVkaWFDb2RlYyBBUEkgaXMgYXBwYXJlbnRseSBub3QgdGhyZWFkc2FmZSBiZXR3ZWVuIHN0b3AoKSBhbmQgcmVsZWFzZSgpCgkgIFNvIHdlIGRvbid0IGNhbGwgcmVsZWFzZSgpIGFuZCBqdXN0IGhvcGUgZm9yIHRoZSBHQyB0byByZWxlYXNlIHRoZQoJICBjb2RlYyBpbiB0aW1lLgoKMjAxMi0wOS0wNiAxNTo0NDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggcGx1Z2luIGNhY2hlIGNyZWF0aW9uCgoyMDEyLTA4LTI0IDA0OjM1OjQ0IC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIENhY2hlIHRoZSBjb2RlYyBpbmZvcm1hdGlvbnMgaW5zaWRlIHRoZSByZWdpc3RyeQoJICBPdGhlcndpc2Ugd2Ugd291bGQgYWx3YXlzIGxvYWQgYWxsIGNvZGVjcyBkdXJpbmcgcGx1Z2luIGluaXRpYWxpemF0aW9uCgkgIHdoaWNoIGNhbiB0YWtlIHF1aXRlIHNvbWUgdGltZSAoYmVjYXVzZSBvZiBoYXJkd2FyZSkgYW5kIGFsc28gbG9hZHMKCSAgbG90cyBvZiBzaGFyZWQgbGlicmFyaWVzICh3aGljaCBudW1iZXIgaXMgbGltaXRlZCBieSA2NCBpbiBBbmRyb2lkKS4KCjIwMTItMDgtMjQgMDk6MjA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgUHJvcGVybHkgYXR0YWNoIGFuZCBkZXRhY2ggdGhlIGN1cnJlbnQgdGhyZWFkcyB0byB0aGUgSmF2YSBWTQoJICBBdHRhY2hpbmcgYSB0aHJlYWQgYWZ0ZXIgaXQgd2FzIGRldGFjaGVkIHdpbGwgY2F1c2Ugc2VnZmF1bHRzLAoJICBhcyBzdWNoIHdlIHVzZSBhIHB0aHJlYWRfa2V5X3QgdG8ga2VlcCB0cmFjayBvZiB0aGUgSk5JRW52KiBvZgoJICB0aGUgYXR0YWNoZWQgdGhyZWFkcyBhbmQgaW4gdGhlIGRlc3RydWN0b3IgKGkuZS4gd2hlbiB0aGUKCSAgdGhyZWFkIGV4aXRzKSB3ZSBkZXRhY2ggdGhlIHRocmVhZC4KCjIwMTItMDgtMjMgMTc6MzE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBEb24ndCBnZXQgdGhlIG91dHB1dCBmb3JtYXQgZnJvbSB0aGUgY29kZWMgYmVmb3JlIGl0IGlzIHJlYWR5CgkgIEFwcGFyZW50bHkgdGhpbmdzIGFyZSBjcmFzaGluZyBvdGhlcndpc2UuCgoyMDEyLTA4LTIzIDE3OjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgR2V0IHRoZSBpbnB1dCBidWZmZXJzIGZyb20gdGhlIGNvZGVjCgoyMDEyLTA4LTIzIDE3OjMwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBKTkkgbWV0aG9kIGNhbGwgc2lnbmF0dXJlcwoKMjAxMi0wOC0yMyAxNzozMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJbml0aWFsaXplIHRoZSBWTSB3aWxsIGZ1bGwgZGVidWdnaW5nIGZvciBub3cKCjIwMTItMDgtMjMgMTM6NTM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgVXNlIE5ld1N0cmluZ1VURigpIGluc3RlYWQgb2Ygb3VyIG93biBtZXRob2QgZm9yIHRoYXQKCjIwMTItMDgtMjMgMTI6MzA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIHRoZSBUSSBmb3JtYXQgdG8gdGhlIG1hcHBpbmcgdGFibGUgdG9vCgoyMDEyLTA4LTIzIDEyOjI5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgYW5vdGhlciBUSSBzcGVjaWZpYyBPcGVuTUFYIGNvbG9yIGZvcm1hdAoKMjAxMi0wOC0yMiAxOTozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeGVzIHRvIGVsZW1lbnQvZWxlbWVudGZhY3RvcnkgY3JlYXRpb24KCjIwMTItMDgtMjIgMTk6MTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgU29tZSBidWdmaXhlcyB0byB0aGUgY29kZWMgc2Nhbm5pbmcgY29kZQoJICBBbHNvIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGF0dGFjaCBhIHRocmVhZCBhZnRlciBpdCB3YXMKCSAgZGV0YWNoZWQgb25jZS4gQXMgc3VjaCB3ZSBzaW1wbHkgbmV2ZXIgZGV0YWNoIGFueSB0aHJlYWQKCSAgYXQgYWxsIG5vdy4KCjIwMTItMDgtMjIgMTg6MzU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHNvbWUgY29tcGlsYXRpb24gZXJyb3JzCgoyMDEyLTA4LTIwIDE0OjEzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIGltcG9ydGFudCBGSVhNRQoKMjAxMi0wOC0yMCAxMzo0NTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgQWRkIHZpZGVvIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0yMCAxMzo0NToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBBZGQgc29tZSBtb3JlIEpOSSB3cmFwcGluZwoKMjAxMi0wOC0yMCAxMzo0MjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSAgQWRkIHNvbWUgbWlzc2luZyBjb2xvciBmb3JtYXQgY29uc3RhbnRzCgoyMDEyLTA4LTE2IDE1OjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBJbXBsZW1lbnQgYmFzaWMgd3JhcHBlciBhcm91bmQgTWVkaWFDb2RlYyBBUEkKCSAgSWRlYWxseSBub3RoaW5nIGVsc2Ugd2lsbCBiZSBuZWVkZWQgZnJvbSB0aGUgZWxlbWVudHMgbGF0ZXIuCgoyMDEyLTA4LTE1IDE4OjIzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIFNvbWUgbW9yZSBXSVAKCSAgU2Nhbm5pbmcgYWxsIGNvZGVjcyBub3cgYW5kIGhhdmUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBob2xkaW5nIGNvZGVjCgkgIGluZm9ybWF0aW9uIGFuZCBjb2RlYyBjb250ZXh0cy4gQWxzbyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgZm9yCgkgIHdvcmtpbmcgd2l0aCB0aGVtLgoKMjAxMi0wOC0xNCAxMzoyMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBJbml0aWFsIGNvbW1pdAoKMjAxMi0xMC0xNSAxNTo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYW5kcm9pZG1lZGlhIHBsdWdpbgoKMjAxMi0xMC0xNSAxMTo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbmQgZml4IGFub3RoZXIgZGVhZGxvY2sgY2F1c2VkIGJ5IHRoZSB1cGRhdGUgdGhyZWFkIG5vdCBjb3JyZWN0bHkgc2h1dHRpbmcgZG93bgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAxMTowMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzZGVtdXg6IEFsc28gaG9sZCB0aGUgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIGNvbmRpdGlvbiB2YXJpYWJsZQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jCgoyMDEyLTEwLTE1IDEwOjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gY2FuY2VsIHRoZSBkb3dubG9hZGVyIGJlZm9yZSBzdG9wcGluZyB0aGUgcGxheWxpc3QgdXBkYXRlIHRhc2sKCjIwMTItMTAtMTUgMTA6Mzg6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBsb2NrIHRoZSBtdXRleCB3aGVuIGl0J3Mgbm90IGxvY2tlZCBhbHJlYWR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDEwOjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBhbm90aGVyIHJhY2UgY29uZGl0aW9uIGJ5IGhvbGRpbmcgdGhlIG11dGV4IHRoYXQgdGhlIGNvbmRpdGlvbiB2YXJpYWJsZSB1c2VzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDA5OjQ3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFBvcnQgc29tZSB0aGluZ3MgZnJvbSB0aGUgbGFzdCBjb21taXRzCgoyMDEyLTEwLTE1IDA5OjM1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE5ldmVyIGV2ZXIgc3RvcCBhIHRhc2sgZnJvbSB0aGUgdGFzayBmdW5jdGlvbgoJICBUaGlzIHdpbGwgZGVhZGxvY2suIEFsc28gbWFrZSBzdXJlIHRvIGFsd2F5cyBwb3N0IGFuIGVycm9yIG1lc3NhZ2UKCSAgaWYgcmVxdWlyZWQgYmVmb3JlIHBhdXNpbmcgdGFza3MgZnJvbSB0aGUgdGFzayBmdW5jdGlvbi4KCSAgU2hvdWxkIGZpeCBhbm90aGVyIGJ1bmNoIG9mIGRlYWRsb2Nrcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMDk6MjQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGxvdHMgb2YgZGVhZGxvY2tzIGNhdXNlZCBieSByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHRhc2sgc3RhdGUgaGFuZGxpbmcKCjIwMTItMTAtMTIgMTA6NTc6NDQgKzA0MDAgIFNlcmdleSBOLiBHb3JzaGtvdiA8c25nQHNldGV2aXNvci50dj4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBoYW5kbGUgUlRNUF9Xcml0ZSgpIHJldHVybiB2YWx1ZSBjb3JyZWN0bHkKCSAgRXJyb3IgbWlnaHQgYWxzbyBiZSBuZWdhdGl2ZSAoLTEpLiBVbmNsZWFyIGlmIDAgc2hvdWxkCgkgIGJlIGZhdGFsIGFzIHdlbGwgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwMDkKCjIwMTItMTAtMTIgMjM6MDk6MDYgKzAxMDAgIERhdmlkIFLDqWdhZGUgPGRyZWdhZGVAdmlld3N1cmYuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGZpeCBtZW1vcnkgbGVhayBmcm9tIFVSSSB2ZXJpZmljYXRpb24gdmlhIFJUTVBfUGFyc2VVUkwoKQoJICBJbiBnc3RfcnRtcF9zaW5rX3VyaV9zZXRfdXJpKCksIGEgdGVzdCBpcyBwZXJmb3JtZWQgaW4gb3JkZXIKCSAgdG8gYmUgc3VyZSB1cmkgaXMgY29ycmVjdCBmb3IgbGlicnRtcC4gVGhpcyB0ZXN0IGNhbGxzCgkgIFJUTVBfUGFyc2VVUkwgd2l0aCAzIEFWYWwgcG9pbnRlcnMgYXMgcGFyYW1ldGVyczogaG9zdCwKCSAgcGxheXBhdGggYW5kIGFwcC4KCSAgQVZhbCBpcyBhIHN0cnVjdCB3aXRoIGEgY2hhciogKyBpbnQuIEFmdGVyIFJUTVBfUGFyc2VVUkwgY2FsbCwKCSAgaG9zdC5hdl92YWwgYW5kIGFwcC5hdl92YWwgYm90aCByZWZlciBhIHN1YnN0cmluZyBvZiAidXJpIi4gQnV0CgkgIHBsYXlwYXRoLmF2X3ZhbCBtYXkgYmUgdGhlIHJlc3VsdCBvZiBhIG1hbGxvYyBzbyBpdCBuZWVkcyB0bwoJICBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1OQoKMjAxMi0xMC0xMiAyMjozMzo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFkdmFuY2Ugc3RyZWFtIHRpbWUgd2hlbiBzZW5kaW5nIEdBUCBldmVudAoKMjAxMi0xMC0xMiAyMjozMzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHNlbmQgbGFuZ3VhZ2UgaW5mbyBkb3duc3RyZWFtIGlmIGF2YWlsYWJsZQoJICAuLi4gYXMgZXh0cmFjdGVkIGZyb20gZHZkIGV2ZW50LgoKMjAxMi0xMC0xMiAyMjozMTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSBzdHJ1Y3QgZmllbGQKCjIwMTItMTAtMTIgMTI6Mjg6NDQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFNldCBmcmFtZXNpemUgYW5kIHByb3BlcnRpZXMgY29ycmVjdGx5IHdoZW4gdGFraW5nIGZvcm1hdCBmcm9tIGNhcHMuCgoyMDEyLTEwLTEyIDE3OjUxOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogdHdlYWsgZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCjIwMTItMTAtMTIgMTU6NDQ6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgdXBzdHJlYW0gVElNRSBzZWdtZW50cwoKMjAxMi0xMC0xMiAxNTowNzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IGhhbmRsZSBhbmQgY29tYmluZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgoyMDEyLTEwLTEyIDE0OjUwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaGFuZGxlIG5ldyBzdHlsZSBkdmQgZXZlbnQKCjIwMTItMTAtMTEgMTU6Mjk6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgYWRkIHBhZCBhZnRlciBuby1tb3JlLXBhZHMKCjIwMTItMTAtMTEgMTU6Mjc6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBjbGVhbiB1cCBzZWdtZW50IHNlbmRpbmcKCSAgLi4uIHRvIHVzZSB0aGUgc3JjX3NlZ21lbnQgYXMgYSBiYXNpcyBmb3IgdGhlIHNlbnQgc2VnbWVudCwKCSAgdGhlcmVieSBwcm9wZXJseSBjb252ZXlpbmcgYWNjdW11bGF0ZWQgYmFzZV90aW1lIGV0Yy4KCSAgQWxzbyBlbnN1cmUgc3JjX3NlZ21lbnQgaXMgb25seSBhZGp1c3RlZCBvbmNlLCBzbyB0aGF0CgkgIGFsbCBkb3duc3RyZWFtIHNlZ21lbnRzIGFyZSBpZGVudGljYWwgdG8gYXZvaWQgc3RyZWFtCgkgIG1pc2FsaWdubWVudC4KCjIwMTItMTAtMTEgMTI6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBzZW5kIEdBUCBldmVudCByYXRoZXIgdGhhbiBzZWdtZW50IHVwZGF0ZXMKCjIwMTItMTAtMTEgMTE6NTE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZWZhY3RvciBzZWdtZW50IHNlbmRpbmcKCjIwMTItMTAtMTEgMTE6MzA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZWZhY3RvciBpbml0IGFuZCByZXNldAoKMjAxMi0xMC0xMSAxMTowNDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG5vIG1vcmUgc2VnbWVudCBjbG9zaW5nIGluIDEuMAoKMjAxMi0xMC0xMSAxMTowMzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNsZWFuIHVwIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMi0xMC0xMSAxNTozMTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCBidWZmZXIgcGFyc2luZwoJICAuLi4gdG8gYXZvaWQgZmVlZGluZyBlbXB0eSBidWZmZXJzIHRvIGRlY29kZXIuCgoyMDEyLTEwLTEyIDE1OjI2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXJzdCBwdXNoIEVPUywgdGhlbiBkZXN0cm95IGFsbCBwcm9ncmFtcwoJICBBbmQgYWxzbyBwcm9wZXJseSByZW1vdmUgdGhlIHByb2dyYW0gZnJvbSB0aGUgc3ViY2xhc3MKCjIwMTItMTAtMTIgMTU6MDk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGludmFsaWQgcmVhZAoKMjAxMi0xMC0xMCAxODoxODowMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc2lnbmFsIGludGVybGFjaW5nIHByb3Blcmx5IGluIHZpZGVvIGNhcHMKCSAgVGhlIGZpZWxkIGlzIGNhbGxlZCAiaW50ZXJsYWNlLW1vZGUiIG1vZGUgbm93IGFuZCBpcyBhIHN0cmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg5NQoKMjAxMi0xMC0xMCAxNDoxMTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgcmVwbGFjZSBzb21lIHBsYXliaW4yIC0+IHBsYXliaW4KCjIwMTItMTAtMTAgMDk6NTg6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiByZXNldCBmcmFtZSBwYXJzZXIgYWZ0ZXIgcGFyc2luZyBjYXBzIGNvZGVjIGRhdGEKCSAgLi4uIHNvIGFzIHRvIGFycmFuZ2UgZm9yIGEgcHJvcGVyIGZyZXNoIHN0YXRlIHVwb24gZmlyc3QgZnJhbWUuCgoyMDEyLTEwLTEwIDA5OjQ4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiBVcGRhdGUgdG8gdGhlIHJpZ2h0IGNvbW1pdCBhZ2FpbgoJICBXYXMgYWNjaWRlbnRpYWxseSByZXZlcnRlZCB0byBhbiBvbGRlciB2ZXJzaW9uIGluIHRoZSBsYXN0IGNvbW1pdC4KCjIwMTItMTAtMDkgMjM6MDA6MTQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2U6IGFkZCBhIG1vZGUgd2hlcmUgdGhlIGNhcHMgYXJlIHRha2VuIGZyb20gdGhlIHNpbmsgcGFkLCBhbmQgdGh1cyBhdWRpb3BhcnNlIGlzIG9ubHkgcGVyZm9ybWluZyB0aW1lc3RhbXBpbmcuCgoyMDEyLTEwLTA5IDIxOjE5OjE1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBjb21tb246CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHJlc2V0IGZyYW1lIHBhcnNlciBhZnRlciBwYXJzaW5nIGNvZGVjX2RhdGEgYnVmZmVyIGluIGNhcHMsIHRvIGF2b2lkIG5vdCBjb3JyZWN0bHkgcGFyc2luZyB0aGUgZnVsbCBmaXJzdCBmcmFtZS4KCjIwMTItMTAtMDkgMTM6NTM6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwcm9wZXJseSBtYXJrIGNvbmZpZyBkYXRhIHByZXNlbmNlCgkgIC4uLiB3aGljaCB3ZSBhbGxvdyB0byBzdGFydCBhdCBWaXN1YWxPYmplY3RTZXF1ZW5jZSBvcgoJICBhdCBWaWRlb09iamVjdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTcwOQoKMjAxMi0xMC0wOCAxMjozODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IEZpeCB1bml0aWFpbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBBbmQgYWxzbyB1c2UgdGhlIHBhZCdzIGRlZmF1bHQgZXZlbnQgZnVuY3Rpb24gaW5zdGVhZAoJICBvZiBqdXN0IHB1c2hpbmcgdG8gdGhlIHBlZXJwYWQuIFRoaXMgbWFrZXMgc3VyZSBhbnkKCSAgZGVmYXVsdCBoYW5kbGluZyBvZiBldmVudHMgaXMgY2FsbGVkLgoKMjAxMi0xMC0wOCAxMjoyMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpZWxkYW5hbHlzaXM6IFJlbW92ZSBmcm9tIHRoZSBOT05QT1JURUQgcGx1Z2lucyBsaXN0CgkgIEl0J3Mgc3VwcG9zZWQgdG8gYmUgcG9ydGVkIGluIDEuMC4xIGFscmVhZHkuCgoyMDEyLTEwLTA3IDE3OjA2OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkICdtYWtlIHVwbG9hZCcgdGFyZ2V0IGZvciBkb2NzLyBmb3IgbmV3LXJlbGVhc2Ugc2NyaXB0CgoyMDEyLTEwLTA3IDE3OjAzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4xID09PQoKMjAxMi0xMC0wNyAxNTo1NzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjEKCjIwMTItMTAtMDYgMTQ6NTc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZjMGI1MmMgdG8gNmJiNjk1MQoKMjAxMi0xMC0wMyAxMTowNTowNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBtZXRhIGluZm86IHJlZ2lzdGVyIHRocmVhZC1zYWZlbHkuCgoyMDEyLTEwLTAzIDE3OjIzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogQWxzbyBjb21taXQgcmVtYWluaW5nIHVuY29tbWl0dGVkIGNoYW5nZXMuLi4KCjIwMTItMTAtMDMgMDk6Mzk6MjggKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IHJlZGlmaW5lIHZwOF9ub3JtIHRvIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3Mgd2l0aCBsaWJ2cHgKCjIwMTItMTAtMDMgMDk6NDk6MzkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgZm9yIHN0YXRpYyBsaW5rcyB3aXRoIGxpYnNjaHJvZWRpbmdlcgoKMjAxMS0xMi0yNiAyMjowNDowNCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYWRkIFlWMTIgYW5kIE5WMTIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIwCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYwoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oCgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jCgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMi0xMC0wMiAyMjoyMDoyMCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgY2FwcyBsb2NrIGZyb20gcGFyc2V0dGVyIGVsZW1lbnQuCgkgIEFsbCB0aGUgbWVtYmVycyBpdCB1c2VkIHRvIHByb3RlY3QgaW4gMC4xMCBhcmUgcHJvdGVjdGVkIGJ5CgkgIHRoZSBzdHJlYW0gbG9jayBub3cuCgoyMDEyLTEwLTAxIDIzOjQzOjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkgIHJlc2luZHZkOiBVcGRhdGUgb3ZlcnJpZGRlbiBjYXBzIHdoZW4gdGhlIERBUiBjaGFuZ2VzCgkgIFNlbmQgYSBuZXcgY2FwcyBldmVudCBkb3duc3RyZWFtIHdoZW4gd2UgcmVjZWl2ZSBuZXcgb3JkZXJzCgkgIGZyb20gdGhlIFZNLCBpZiB0aGVyZSBhcmUgZXhpc3RpbmcgY2Fwcy4KCjIwMTItMTAtMDEgMjM6MjE6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICByZXNpbmR2ZDogUG9ydCBwYXJzZXR0ZXIgZWxlbWVudAoJICBQb3J0IHRoZSBEVkQgZWxlbWVudCB3aGljaCBvdmVycmlkZXMgdGhlIE1QRUcgZW5jb2RlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgdG8gbWF0Y2ggdGhhdCByZXF1ZXN0ZWQgYnkgdGhlIERWRCBWTS4KCjIwMTItMTAtMDEgMTM6NTI6MzUgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgoyMDEyLTA5LTMwIDIwOjUyOjMwICswMjAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPGNmZXJnZWF1QHJlZGhhdC5jb20+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IE1pc3NpbmcgdW5tYXAgYnVmZmVyIGluIHRyYW5zZm9ybV9pcAoJICBXaGVuIG5vIHNhbXBsZXMgaGF2ZSB0byBiZSBwcm9jZXNzZWQsIHRyYW5zZm9ybV9pcCBleGl0cyBlYXJseSwgYnV0CgkgIHRoZSBidWZmZXIgaXQgdXNlcyB3YXMgbm90IHByb3Blcmx5IHVubWFwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTU5CgoyMDEyLTA5LTMwIDAzOjQ5OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRmlkZGxlIHdpdGggc2VnbWVudCBoYW5kbGluZyBmb3IgRFZELgoJICBDbGFyaWZ5IHNvbWUgb2YgdGhlIHRlcm1zIHVzZWQsIGFuZCBtYWtlIHN1cmUgdG8gZXh0ZW5kIHRoZQoJICBzdG9wIHRpbWUgd2hlbiB0aGUgcG9zaXRpb24gbW92ZXMgcGFzdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50CgkgIHNlZ21lbnQgKGFzIGZvciBzdGlsbCBmcmFtZXMsIGZvciBleGFtcGxlKS4KCSAgQWxzbywgbWFrZSBzdXJlIHRvIHJlc2V0IHRoZSBwb3NpdGlvbiB2YWx1ZSBvZiB0aGUgc2VnbWVudCB0aGUKCSAgZGVtdXhlciBvdXRwdXRzIHdoZW4gY29sbGVjdGluZyBhIHNlYW1sZXNzIHNlZ21lbnQuCgoyMDEyLTA5LTI5IDEzOjIxOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBmaXggcGx1Z2luIGxvYWRpbmcgZm9yIGZyZWkwciBlbGVtZW50cyB0aGF0IGhhdmUgbm8gaW5mby5leHBsYW5hdGlvbgoJICBXZSBkb24ndCBhbGxvdyBlbXB0eSBkZXNjcmlwdGlvbnMgZm9yIGVsZW1lbnRzIGFueSBtb3JlLgoKMjAxMi0wOS0yOSAxMjozNjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzb21lIGxpYm9pbCByZWZlcmVuY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjkgMTI6MzA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIHNvbWUgb2xkIGVsZW1lbnRzIHNvIHRoZXkgZG9uJ3QgZ2V0IHBvcnRlZCBhY2NpZGVudGFsbHkKCSAgVGhleSBhcmUgcmVwbGFjZWQgYnkgdmlkZW9jb252ZXJ0IGFuZCBnZGtwaXhidWZvdmVybGF5CgoyMDEyLTA5LTI4IDIyOjMwOjM5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsOiBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIHNldHNvY2tvcHQoKSBvbiB3aW5kb3dzCgkgIFRoZSBvcHR2YWwgYXJndW1lbnQgaXMgb2YgdHlwZSBjb25zdCBjaGFyICogb24gd2luZG93cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTA2NQoKMjAxMi0wOS0yOCAxMTo1OTo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBQb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNjc4CgoyMDEyLTA5LTI2IDA4OjIwOjQ5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsOiBmaXggYnVpbGQgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDg0NwoKMjAxMi0wOS0yOCAwMDowNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNoYW5nZSB2aWRlby1zb3VyY2UgaWYgdGhlIHVzZXIgcmVxdWVzdGVkCgkgIFdoZW4gZ29pbmcgZnJvbSBudWxsIHRvIHJlYWR5LCBjaGVjayBpZiB0aGUgdXNlciByZXF1ZXN0ZWQgdG8KCSAgdXNlIGEgbmV3IHNvdXJjZSBhbmQgcmVwbGFjZSB0aGUgY3VycmVudCBvbmUuCgkgIEZpeGVzICM2ODE1NjIKCjIwMTItMDktMjcgMjM6MjI6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcGFkIHByb2JlIGlkcyBhcmUgZ3Vsb25nCgkgIENoYW5nZSB2YXJpYWJsZSB0byB0aGUgY29ycmVjdCB0eXBlCgoyMDEyLTA5LTI3IDE5OjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogdXNlIGNvcnJlY3QgZWxlbWVudCBuYW1lIHdoZW4gcmVwbGFjaW5nIHRoZSB2aWRlbyBmaWx0ZXIKCSAgVGhlIG5hbWUgd2FzIHVwZGF0ZWQgb24gdGhlIDAuMTAgLT4gMS4wIHRyYW5zaXRpb24sIGJ1dCB0aGUKCSAgZ3N0X2Jpbl9yZW1vdmUgd2FzIHN0aWxsIHVzaW5nIHRoZSBvbGQgbmFtZSwgY2F1c2luZyBhbiBhc3NlcnRpb24KCSAgd2hlbiByZXBsYWNpbmcgdmlkZW8tc291cmNlLWZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNTY0CgoyMDEyLTA5LTI2IDE0OjUwOjA0ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogVHJhbnNmb3JtIHRpbWVzdGFtcHMgcHJvcGVybHkgYWZ0ZXIgYSBzZWVrLgoJICBUaGUgc2VnbWVudCBpcyB0cmFuc2Zvcm1lZCB0byBtYXRjaCB0aGUgcGl0Y2ggY29udmVyc2lvbgoJICBiZWluZyBhcHBsaWVkLCBzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgYmVpbmcgb3V0cHV0CgkgIG1hdGNoIHRoZSBjb25maWd1cmVkIGRvd25zdHJlYW0gc2VnbWVudCBhY2NvcmRpbmdseSwgYW5kCgkgIGFkanVzdCB0aGUgZG93bnN0cmVhbSBzZWdtZW50IHBvc2l0aW9uIHRvIG1hdGNoIHRoZSBzdHJlYW0gdGltZQoJICByYXRpbyBhbHNvLgoKMjAxMi0wOS0xOCAwMToxMzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBzcHVyaW91cyAnY2xvc2Ugc2VnbWVudCcgZXZlbnRzLiBNYWtlIGEgc2luZ2xlIHNlZ21lbnQKCSAgV2l0aCB0aGUgbmV3IDEuMCBzZWdtZW50IHNlbWFudGljcywgdGhlcmUncyBubyBuZWVkIHRvIGNsb3NlIHRoZQoJICBwcmV2aW91cyBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIG91dCBhIG5ldyBvbmUsIHNvIGRvbid0IGRvIGl0LgoJICBBbHNvLCBhZGp1c3QgdGhlIG91dGdvaW5nIHNlZ21lbnQgdG8ganVzdCBiZSBvbmUgY29udGlndW91cwoJICB0aW1lbGluZSwgd2l0aCBhIGJhc2Ugb2YgMC4gRml4ZXMgc29tZSByZXBlYXRpbmcgdGltZXN0YW1wcyB3aGVuCgkgIHNlZ21lbnRzIGNoYW5nZS4KCjIwMTItMDktMjQgMTc6MjU6MjUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJICBmaWVsZGFuYWx5c2lzOiBQb3J0IHRvIDEuMAoJICBJIHdhcyBhbHNvIHZhZ3VlbHkgZm9yY2VkIHRvIG92ZXJoYXVsIHNvbWUgYml0cyBhbmQgcGllY2VzIGFuZCBtZXNzIHdpdGgKCSAgdGhlIGRhdGEgc3RydWN0dXJlcy4gVGhpcyB3YXMgbW9zdGx5IGR1ZSB0byBjYXBzIG5vdCBiZWluZyBwYXJ0IG9mCgkgIGJ1ZmZlcnMgYW5kIHNvIEkgaGFkIHRvIHN3aXRjaCB0byB1c2luZyBHc3RWaWRlb0ZyYW1lIGFuZCBHc3RWaWRlb0luZm8uCgoyMDEyLTA5LTI0IDE2OjExOjMyIC0wNTAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSAgY2hyb21hcHJpbnQ6IGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlCgkgIENhbGxzIHRvIGdzdF9iYXNlX3RyYW5zZm9ybV9nZXRfdHlwZSBhbmQgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaAoJICByZXF1aXJlIGxpbmtpbmcgd2l0aCBsaWJnc3RiYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzQwCgoyMDEyLTA5LTI0IDE2OjU5OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4wID09PQoKMjAxMi0wOS0yNCAxNDo0MjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjAKCjIwMTItMDktMjQgMTQ6NDI6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0yMyAxMzoxNToyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBjaGFuZ2UgZGV2aWNlIGluc3RhbmNlIGxpZmVjeWNsZQoJICBUaGUgZGVja2xpbmsgZHJpdmVyIGV2ZW50dWFsbHkgY3Jhc2hlcyBhZnRlciByZXBlYXRlZCBjcmVhdGlvbi9kZWxldGlvbgoJICBvZiBkZXZpY2UsIGlucHV0LCBvdXRwdXQsIGFuZCBjb25maWd1cmF0aW9uIG9iamVjdHMuICBDaGFuZ2UgdG8gY3JlYXRlCgkgIHRoZXNlIGF0IHRoZSBvdXRzZXQgYW5kIGtlZXAgdGhlbSBhcm91bmQgZm9yZXZlci4KCjIwMTItMDktMjIgMTM6NTY6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEZpeCBtZW1vcnkgbGVha3MKCSAgQnVmZmVycyBub3cgaG9sZCBvbiB0byBhIHJlZmVyZW5jZSBmb3IgdGhlIGlucHV0LCBzbyB0aGUgaW5wdXQKCSAgb2JqZWN0IGRvZXNuJ3QgZ2V0IGZyZWVkIChhbmQgY2FycnkgdGhlIGJ1ZmZlcnMgd2l0aCBpdCkgYmVmb3JlCgkgIGFsbCB0aGUgYnVmZmVycyBhcmUgZnJlZWQuCgoyMDEyLTA5LTIzIDIxOjA4OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGFzc3JlbmRlciB1bml0IHRlc3QKCSAgRG9lc24ndCB3b3JrLCBuZWVkcyBmaXhpbmcuCgoyMDEyLTA5LTIzIDIxOjA3OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBkaXNhYmxlIGZvciBhdXRvcGx1Z2dpbmcgdW50aWwgaXQgd29ya3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE5MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NjgzCgoyMDEyLTA5LTIyIDE1OjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogVXNlIDEuMC1zdHlsZSBjYXBzIG5lZ290aWF0aW9uIGFuZCBhdWRpby94LXJhdwoKMjAxMi0wOS0yMCAxODo0Mjo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1c2VuYzogUmFuayBhcyBQcmltYXJ5CgoyMDEyLTA5LTIwIDE4OjQxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBBbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlciBjb3JyZWN0bHkKCSAgVXNlIHRoZSByaWdodCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIKCjIwMTItMDktMjIgMTY6MDg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRmOTYyZjcgdG8gNmMwYjUyYwoKMjAxMi0wOS0yMCAwMDowODo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJICBpbnRlcnN1YnNyYzogZGlzYWJsZSB0aW1lc3RhbXBpbmcgY29kZSB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZQoJICBhbmQgd2hpY2ggYnJlYWtzIHRoZSBzdGF0ZXMgY2hlY2sgYmVjYXVzZSB3ZSBlbmQgdXAgdHJ5aW5nIHRvCgkgIGRpdmlkZSBieSAwLgoKMjAxMi0wOS0xOCAxMzoxNzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogaW5pdCB2aWRlb2luZm8KCjIwMTItMDktMTggMTM6MTc6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBpbml0IHZpZGVvaW5mbwoKMjAxMi0wOS0xOCAwMDoxMjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHJlbW92ZSBvbmUgbW9yZSBvbGQgaW5jbHVkZQoKPT09IHJlbGVhc2UgMC4xMS45OSA9PT0KCjIwMTItMDktMTcgMTg6MDQ6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTkKCjIwMTItMDktMTcgMTc6NTI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzNkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDE3OjEzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiByZW1vdmUgZnJlZXplIGVsZW1lbnQsIHdhcyByZXBsYWNlZCBieSBpbWFnZWZyZWV6ZSBpbiAtZ29vZCB5ZWFycyBhZ28KCjIwMTItMDktMTcgMjM6NTk6MzQgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBGaXggc2VnbWVudCBoYW5kbGluZyBpbiB0aGUgZGVtdXhlci4KCSAgVHJhbnNmZXIgdGhlIGluY29taW5nIHNlZ21lbnQgYmFzZSB0aW1lIHRvIHRoZSBzcmMKCSAgc2VnbWVudCB0aGUgZGVtdXhlciBzZW5kcyBkb3duc3RyZWFtLiBBZGQgc29tZQoJICAoZGlzYWJsZWQpIGRlYnVnIHRvIHRoZSBiaW4gZm9yIHRyYWNraW5nIG91dGdvaW5nCgkgIHRpbWVzdGFtcHMuCgoyMDEyLTA5LTE3IDAwOjA1OjE5ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIHZwOCBwbHVnaW4gZnJvbSBzcGVjIGFmdGVyIG1vdmUgdG8gZ29vZAoKMjAxMi0wOS0xNiAxNTo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwODogUmVtb3ZlIHBsdWdpbiwgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoKMjAxMi0wOS0xNiAxNToyNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFVucmVmIGlucHV0L291dHB1dCBzdGF0ZXMgd2hlbiBzdG9wcGluZyB0aGUgZGVjb2RlcgoKMjAxMi0wOS0xNiAxNToxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkgIHZwOGVuYzogVXBkYXRlIHJlYWx0aW1lIHByb2ZpbGUgdG8gdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDEyLTA5LTE2IDExOjAwOjUzICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGFuZCBmaXggc3BlYyB3aXRoIGxhdGVzdCBjaGFuZ2VzIGFuZCBGMTggbmFtZSBzY2hlZW1lCgoyMDEyLTA5LTE2IDEwOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4OiBSZXF1aXJlIGxhdGVzdCBsaWJ2cHggcmVsZWFzZSAoMS4xLjAgZnJvbSBNYXkgMjAxMikKCSAgRml4ZXMgYnVnICM2ODQxMTYgYW5kIHNpbXBsaWZpZXMgY29uZmlndXJlIGNoZWNrcy4KCjIwMTItMDktMTUgMjA6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgYSBzdHJpbmcgZmllbGQgZm9yIHRoZSBwcm9maWxlIGluIHRoZSBjYXBzCgkgIEp1c3QgZm9yIGNvbnNpc3RlbmN5IHdpdGggYWxsIHRoZSBvdGhlciBjb2RlY3MuCgoyMDEyLTA5LTE1IDE5OjA4OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgdXNlIGdzdF9lbGVtZW50X2ZhY3RvcnlfZ2V0X21ldGFkYXRhIHRvIHJlcGxhY2Ugb2Jzb2xldGUgQVBJCgoyMDEyLTA5LTE1IDAwOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IHNldCBwcm9maWxlIGluIGNhcHMKCjIwMTItMDktMTQgMjM6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBVcGRhdGUgY29weXJpZ2h0IGFuZCBhdXRob3JzCgoyMDEyLTA5LTE0IDIzOjQwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogVXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEyLTA5LTA4IDE1OjM4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogUmV3b3JrIGVuY29kZXIgcHJvcGVydGllcyB0byBiZSBtb3JlIGluIGxpbmUgd2l0aCB0aGUgbGlidnB4IHRvb2xzIGFuZCBBUEkKCSAgQWxzbyBhZGQgYWxsIGF2YWlsYWJsZSBwcm9wZXJ0aWVzLgoKMjAxMi0wOS0xNCAxNzo1NTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIHJlcGxhY2UgX2dldF9jYXBzX3JlZmZlZCB3aXRoIF9nZXRfY2FwcwoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDEyOjA2OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW5pdCBwcHMgYW5kIHNwcyBzdHJ1Y3R1cmVzIGJlZm9yZSBwYXJzaW5nCgkgIC4uLiB3aGljaCBhcnJhbmdlcyBmb3IgYSB2YWxpZCBmYWxsYmFjayBpZCwgYW5kIGFsbG93cyB0byBjb250aW51ZSBiZXN0IGVmZm9ydAoJICBwcm9jZXNzaW5nIGV2ZW4gd2hlbiBzcHMvcHBzIHBhcnNpbmcgZmFpbHMuCgoyMDEyLTA5LTAzIDEzOjU4OjIyICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBnc3RoMjY0cGFyc2U6IGFkZCBjb21tZW50IHdoZXJlIHJldHVybiBzaG91bGQgYmUgY2hlY2tlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2NAoKMjAxMi0wOS0wMyAxMzo0MzowMyArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGdzdGgyNjRwYXJzZXI6IGZpeCBDb3Zlcml0eSBmb3VuZCBub3QgaW5pdGlhbGl6ZWQgc3BzL3BwcyB2YWxpZCBtZW1iZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjQKCjIwMTItMDktMDMgMTM6MDk6MjkgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBnc3RoMjY0cGFyc2VyOiBmaXggQ292ZXJpdHkgZGV0ZWN0ZWQgb2ZmIGJ5IG9uZSBhdCBjYWxsIHRvIFJFQURfVUVfQUxMT1dFRC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2MwoKMjAxMi0wOS0xNCAxNjo0OToyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSAgcmVuYW1lIHNvbWUgY2FwcwoKMjAxMi0wOS0xNCAxNjo0NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGZmbXBlZ2NvbG9yc3BhY2UgaXMgbm8gbW9yZQoKMjAxMi0wOS0xNCAxNjoyOToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVuYW1lIHNvbWUgY2FwcyBhbmQgZWxlbWVudHMgaW4gZXhhbXBsZXMKCjIwMTItMDktMDIgMjA6MTc6MTQgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiB1c2UgcHJldmlvdXNseSBwYXJzZWQgdmlzdWFsIG9iamVjdCB3aGVuIHBhcnNpbmcgVk9MCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMjA6MTk6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogcGFyc2UgY29tcGxleGl0eSBlc3RpbWF0aW9uIGhlYWRlciBpbiB2aWRlbyBvYmplY3QgbGF5ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAyMDoxODozMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBmaXggc29tZSBpc3N1ZXMgcmVsYXRlZCB0byB2aWRlbyBvYmplY3QgbGF5ZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDE4OjIxOjE2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG8gbm90IHNraXAgdXNlciBkYXRhCgkgIFVzZXIgZGF0YSB3YXMgc2tpcHBlZCB1bnRpbCBub3csIHNvIHRoZSB1c2VyIGRhdGEgd2FzIGluY2x1ZGVkIHdoZW4KCSAgcGFyc2luZyB0aGUgcHJldmlvdXMgcGFja2V0IGFuZCBpbiB0aGUgY29uZmlnIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0xNCAwMjo1OTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45NCA9PT0KCjIwMTItMDktMTQgMDI6NTA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk0CgoyMDEyLTA5LTE0IDAyOjA2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDEyLTA5LTEzIDEzOjQ0OjA1IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgY2hlY2s6IFZlcmlmeSB0aGUgRFRTIGVtZXJnaW5nIGZyb20gdGhlIHBhcnNlciwgbm90IFBUUwoJICBQVFMgZG9lc24ndCBpbmNyZW1lbnQgbGluZWFybHkgaW4gcGFyc2VycyB3aXRoIGZyYW1lIHJlLW9yZGVyaW5nLCBidXQKCSAgRFRTIGRvZXMuIFZlcmlmeSB0aGF0IGluc3RlYWQuCgoyMDEyLTA5LTEzIDEzOjM0OjE2IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjaGVjazogRml4IG1wZWd2aWRlb3BhcnNlciBQQVIgZXhwZWN0YXRpb24KCSAgVGhlIHBhcnNlciAoY29ycmVjdGx5KSBub3cgaW50ZXJwcmV0cyB0aGUgdGVzdCBoZWFkZXIgdXNpbmcKCSAgTVBFRy0xIHNlbWFudGljcywgc28gZml4IHRoZSB0ZXN0IGV4cGVjdGF0aW9uLgoKMjAxMi0wOS0xMyAxNTo1MTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IE1ha2UgY2FwcyB3cml0YWJsZSBpbiBmaXhhdGUKCjIwMTItMDktMTMgMTU6MDY6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogUG9ydCB0byAxLjAgQVBJCgkgIEFsc28gcmVtb3ZlIGEgbG90IG9mIGVtcHR5LCBub24taW1wbGVtZW50ZWQgbWV0aG9kcwoKMjAxMi0wOS0xMiAyMjo1ODowNCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBEaXNhYmxlIFBUUyBpbnRlcnBvbGF0aW9uIGluIHRoZSBiYXNlIHBhcnNlIGNsYXNzCgkgIEFsbCB0aGVzZSBmb3JtYXRzIGhhdmUgcmUtb3JkZXJlZCBQVFMgd2hpY2ggdGhlIGJhc2UgY2xhc3MgZ2V0cwoJICB3cm9uZy4gSXQncyBiZXR0ZXIgdG8gbGVhdmUgdGhlbSBibGFuayBhbmQgbGV0IHRoZSBkZWNvZGVyIHNvcnQgaXQKCSAgb3V0LiBCZXR0ZXIgeWV0IHdvdWxkIGJlIHRvIHRyYWNrIGFuZCBpbnRlcnBvbGF0ZSB0aGUgdGltZXN0YW1wcwoJICBpbiB0aGUgc3ViY2xhc3NlcyAoRklYTUUpCgoyMDEyLTA5LTA5IDE2OjQwOjAwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkdmFuY2UgdmlkZW8gc3RyZWFtIHdpdGggZ2FwIGV2ZW50cy4KCSAgSGFuZGxlIEdhcCBldmVudHMgdGhlIHdheSB3ZSB1c2VkIHRvIGhhbmRsZSBzZWdtZW50IHVwZGF0ZXMKCSAgYW5kIGFkdmFuY2UvZmlsbCBpbiB0aGUgdmlkZW8gc3RyZWFtIGFjY29yZGluZ2x5LiBGaXhlcwoJICAnc3RpbGwnIG1lbnVzIHdoaWNoIGFyZW4ndCBEVkQgc3RpbGwgZnJhbWVzLCBidXQgYXJlIGp1c3QgYQoJICBzaW5nbGUgZnJhbWUgd2l0aCBhY2NvbXBhbnlpbmcgYXVkaW8uCgoyMDEyLTA5LTA5IDE2OjI5OjUyIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBTdGFydCB3aXRoIGEgbGFyZ2VyIHN1YnBpY3R1cmUgcXVldWUgZm9yIHByZXJvbGwuCgkgIFNocmluayB0aGUgcXVldWUgb25jZSB3ZSdyZSBwcmVyb2xsZWQuIEZpeGVzIHRoZSBGcmluZ2UgUzEKCSAgRFZELiBBbHNvLCBlbnN1cmUgd2Ugb25seSBmaXJlIG5vX21vcmVfcGFkcyBvbmNlLgoKMjAxMi0wOS0wOCAxOToyMTo0NyAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBEaXNhYmxlIGlucHV0LXNlbGVjdG9yIHN5bmNpbmcKCSAgVW50aWwgc2VnbWVudHMgYXJlIGJldHRlciB3b3JrZWQgb3V0LiBBbHNvLCB1c2UKCSAgaW50ZXJuYWwgaW5wdXQtc2VsZWN0b3IgZm9yIGF1ZGlvIGFzIHdlbGwKCjIwMTItMDktMDMgMDk6NDc6MzAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogSGFuZGxlIFNlcXVlbmNlIERpc3BsYXkgRXh0ZW5zaW9uCgkgIENoYW5nZSB0aGUgd2F5IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gaXMgY29tcHV0ZWQgYnkKCSAgaW50ZXJwcmV0aW5nIHRoZSBzZXF1ZW5jZSBoZWFkZXIgYXNwZWN0IHJhdGlvIGluZm8KCSAgYXMgTVBFRy0xIHZhbHVlcyB1bnRpbCBhIHNlcXVlbmNlIGV4dGVuc2lvbiBvcgoJICBzZXF1ZW5jZSBkaXNwbGF5IGV4dGVuc2lvbiBpcyBzZWVuLCBhbmQgdGhlbiB1cGRhdGluZwoJICB0aGUgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdCBhY2NvcmRpbmdseS4KCSAgRml4ZXMgaW5jb3JyZWN0IGFuYW1vcnBoaWMgZGlzcGxheSBvbiBzb21lIE1QRUctMiAoRFZEKQoJICBzZXF1ZW5jZXMuCgoyMDEyLTA5LTEzIDAxOjQwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogZGlzYWJsZSB5ZXQgYW5vdGhlciBteGYgdGVzdHMgdW50aWwgdGhlIGVsZW1lbnRzIGFyZSBwb3J0ZWQKCjIwMTItMDktMTMgMDE6MzQ6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogZml4IGNhcHMgZml4YXRpb24KCSAgTWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtLgoKMjAxMi0wOS0xMyAwMToyNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogZml4IHdyb25nIHBhZCB0ZW1wbGF0ZSB1bnJlZgoJICBCbG93cyB1cCB3aGVuIHRyeWluZyB0byBpbnN0YW50aWF0ZSBhIHNlY29uZCBjbGlwIGVsZW1lbnQKCSAgb2YgdGhlIHNhbWUgdHlwZSwgbGlrZSBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMi0wOS0xMyAwMTowNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmYWlsIGdyYWNlZnVsbHkgd2l0aCBhbiBlcnJvciBtZXNzYWdlIGlmIHdlIGNhbid0IGNvbm5lY3QgdG8gd2F5bGFuZAoJICBnX3JldHVybl92YWxfaWZfZmFpbCgpIGlzIG5vdCBmb3IgZXJyb3IgaGFuZGxpbmcsIGl0J3MgZm9yCgkgIGNhdGNoaW5nIHByb2dyYW1taW5nIGVycm9ycyBpbiBwdWJsaWMgQVBJLgoJICBGaXhlcyBwcm9ibGVtIHdpdGggZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMi0wOS0xMyAwMDo1OTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIGxvZ2dpbmcgYW55dGhpbmcKCjIwMTItMDktMTMgMDA6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSAgdGVzdHM6IHNraXAgbXhmIHRlc3RzIHdoaWxlIGVsZW1lbnRzIGhhdmVuJ3QgYmVlbiBwb3J0ZWQgeWV0CgoyMDEyLTA5LTEzIDAwOjUwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIEdTVF9FUlJPUiBzdGF0ZW1lbnQgdGhhdCB3YXMgY29tbWl0dGVkIGJ5IGFjY2lkZW50CgoyMDEyLTA5LTEzIDAwOjQwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBmaXggamlmbXV4IHRlc3QKCSAgTmVlZCB0byBwYXNzIGEgR3N0U2FtcGxlIG5vdyBmb3IgR1NUX1RBR19BUFBMSUNBVElPTl9EQVRBCgkgIGluc3RlYWQgb2YgYSBHc3RCdWZmZXIuCgoyMDEyLTA5LTEyIDE4OjM0OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm06IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNzozNDowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogVXNlIGEgR1B0ckFycmF5IGluc3RlYWQgb2YgYSBHUXVldWUKCSAgVGhpcyB3YXksIHRoZSBtb3N0IGNvbW1vbiBmdW5jdGlvbiAoY2hhbmdpbmcgYnVmZmVycykgYmVjb21lcyBPKDEpIGluc3RlYWQKCSAgb2YgTyhuKQoKMjAxMi0wOS0xMiAxNzoyNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTY6MjM6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIHNwZWVkOiBWYXJpb3VzIDEuMCBzdHlsZSBhZGRpdGlvbnMKCSAgVXNlIEdzdEF1ZGlvSW5mbyBldmVyeXdoZXJlLCBldGMKCjIwMTItMDktMTAgMTc6MTY6MDcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzI3CgoyMDEyLTA5LTEyIDE2OjAzOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IHBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAyMToxMzozNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIGNvbGxlY3RwYWRzOiByZW1vdmUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwKCSAgUmVuYW1lIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsKCkgdG8gZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkKCkgYW5kIGZpeCBhbGwKCSAgaW52b2NhdGlvbnMuCgoyMDEyLTA5LTEyIDEyOjE0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTU6MDg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBVc2UgZGVmYXVsdCBxdWVyeSBoYW5kbGVycyB3aGVyZSBuZWVkZWQKCSAgQW5kIGZpeHVwIGdldGNhcHMgaGFuZGxlciB3aGlsZSBJJ20gYXQgaXQKCjIwMTItMDktMTIgMDk6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBwb3J0IHRhZ3NldHRlciBtb2RlIHNldHRpbmcgY29kZQoJICBDaGVjayBkaXJlY3RseSB3aXRoIEdTVF9JU19UQUdfU0VUVEVSIGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIGRlcHJlY2F0ZWQgR3N0SW1wbGVtZW50c0ludGVyZmFjZQoJICBGaXhlcyB0aGUgaW1hZ2UgdGFnIHNldHRpbmcgdW5pdCB0ZXN0CgoyMDEyLTA5LTEyIDEzOjAzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCB3aW4zMiBidWlsZCBldmVuIG1vcmUKCjIwMTItMDktMTIgMTM6MTc6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTIgMTE6MDg6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYXNwZWN0IHJhdGlvIGNhbGN1bGF0aW9uLgoJICBBU1BFQ1RfSE9SSVpfU0laRSBhbmQgQVNQRUNUX1ZFUlRfU0laRSBhcmUgc3ludGF4IGVsZW1lbnRzIHRoYXQgaG9sZAoJICBiaW5hcnkgZW5jb2RpbmdzIG9mIHNpemVzIHJhbmdpbmcgZnJvbSAxIHRvIDI1Ni4gVGh1cywgdGhlIGNhbGN1bGF0ZWQKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvIHdhcyBvZmYgYnkgb25lLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NTgKCjIwMTItMDktMTIgMTE6MDE6MzQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0cGFyc2U6IGRvbid0IHVzZSBhbm9ueW1vdXMgdW5pb25zLgoJICBBbm9ueW1vdXMgdW5pb24gaXMgYW4gSVNPIEMgKDIwMTEpIGZlYXR1cmUgdGhhdCBpcyBub3QgZXhwb3NlZCBpbgoJICBjb21waWxlcnMgc3RyaWN0bHkgY29uZm9ybWluZyB0byB0aGUgcHJldmlvdXMgc3RhbmRhcmQuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMTIgMTE6MjE6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjb21wdXRlIHBpeGVsIGFzcGVjdCByYXRpby4KCSAgU2lnbmVkLW9mZi1ieTogU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMTIgMDk6NDg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBhdHRlbXB0IHRvIGdldCBkaXNhYmxlZCBzdHJlYW1oZWFkZXIgdGVzdCB0byBjb21waWxlIG9uIHdpbjMyCgkgIFRob3VnaCBpdCBwcm9iYWJseSB3b24ndCB3b3JrLCBidXQgdGhlbiBpdCdzIGRpc2FibGVkLgoKMjAxMi0wOS0xMiAwOToxMDozNSArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAgb3B1cyArIGpwZWdmb3JtYXQ6IHVuYnJlYWsgbm9uLWRlYnVnIGJ1aWxkCgkgIG9wdXMgKyBqcGVnZm9ybWF0IHBsdWdpbiBidWlsZHMgZmFpbCB3aGVuIGdzdHJlYW1lciBpcyBjb25maWd1cmVkIHdpdGgKCSAgLS1kaXNhYmxlLWdzdC1kZWJ1ZyBhcyB0aGV5IGFyZSBjaGVja2luZyB0aGUgR1NUX0RJU0FCTEVfREVCVUcgc3ltYm9sCgkgIGluc3RlYWQgb2YgR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoJICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODUwCgoyMDEyLTA5LTEyIDAxOjM1OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkgIGpwZWdmb3JtYXQ6IGRvbid0IGxpbmsgdG8gbGliZ3N0aW50ZXJmYWNlcyB3aGljaCBkb2Vzbid0IGV4aXN0IGFueSBsb25nZXIKCjIwMTItMDktMTEgMjA6MzA6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5wbGM6IERvbid0IHVucmVmIHRvbyBtdWNoLCBkb24ndCBmb3J3YXJkIGdhcCBldmVudAoKMjAxMi0wOS0xMSAyMDoxOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkgIHNwYW5wbGM6IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMSAxOTo0MTozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IERvbid0IHRyeSB0byBzeW5jIGNvbnRyb2xsZXIgdmFsdWVzIHRvIGludmFsaWQgdGltZXN0YW1wCgoyMDEyLTA5LTExIDE5OjM2OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpbmlzaCBwb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTEgMTg6NTU6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICB0ZXN0OiBTaW1wbGlmeSBhdXRvY29udmVydCB0ZXN0CgoyMDEyLTA5LTExIDE4OjUzOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBMb29rIGF0IGFsbCBwb3NzaWJpbGl0aWVzIGZvciBhY2NlcHQtY2FwcyBldmVuIGlmIHRoZXJlIGlzIGEgc2VsZWN0ZWQgc3ViZWxlbWVudAoJICBJZiB0aGUgYWNjZXB0LWNhcHMgc3VjY2VlZHMgd2l0aCBhIGRpZmZlcmVudCBzdWJlbGVtZW50LCB0aGVuIHRoZSBzdWJzZXF1ZW50CgkgIGNhcHMgZXZlbnQgd2lsbCBjaGFuZ2UgdGhlIGN1cnJlbnQgc3ViZWxlbWVudC4KCjIwMTItMDktMTEgMTg6MDI6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3Q6IEZsdXNoIG9wdXMgZW5jb2RlciBiZXR3ZWVuIHRlc3RzCgoyMDEyLTA5LTExIDE4OjAxOjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0OiBGbHVzaCBvcHVzIGVuY29kZXIgYmV0d2VlbiB0ZXN0cwoKMjAxMi0wOS0xMCAxODoyMDo0OCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSAgdXZjaDI2NDogTWFrZSBndWRldi9saWJ1c2IgYSBoYXJkIGRlcGVuZGVuY3kgYW5kIHJlbW92ZSBYVV9GSU5EX1VOSVQgaW9jdGwgc3VwcG9ydAoJICBDb25mbGljdHM6CgkgIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmMKCjIwMTItMDktMTEgMTc6NDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBleHQsIGdzdDogb25seSBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUgaWYgdXBzdHJlYW0gaXMgc2Vla2FibGUKCjIwMTItMDktMTEgMTU6MDc6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiB0aW1lZCB0ZXh0IGlzIHRleHQveC1yYXcgbm93CgoyMDEyLTA5LTExIDE1OjAyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJICBkM2R2aWRlb3Npbms6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTQ6MzI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IG1wZWcyZW5jLCBtcGxleDogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxNDozMTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAwMTo1Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBnZHA6IG1vdmUgZ2RwIHBsdWdpbiBoZXJlIGZyb20gLWJhc2UKCSAgTmVlZHMgc29tZSByZXdvcmtpbmcuCgoyMDEyLTA5LTA5IDE4OjA1OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkdW1wIGJ5dGVzIGludG8gZGVidWcgbG9nIHVzaW5nIEdTVF9NRU1EVU1QCgkgIEluc3RlYWQgb2YgaG9tZS1ncm93biBzb2x1dGlvbi4KCjIwMTItMDctMjcgMTU6MjE6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICB1cGRhdGUgZm9yIG5ldyB2YXJpYWJsZSBuYW1lcwoKMjAxMi0wNy0wMiAxMjo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IHVzZSBtdWx0aWZkc2luayBmb3Igc3RyZWFtaGVhZGVyIHRlc3QKCSAgVXNlIG11bHRpZmRzaW5rIGZvciBwaXBlcyBpbnN0ZWFkIG9mIG11bHRpc29ja2V0c2luaywKCSAgdG8gYXZvaWQgImNyZWF0aW5nIEdTb2NrZXQgZnJvbSBmZCA5OiBTb2NrZXQgb3BlcmF0aW9uCgkgIG9uIG5vbi1zb2NrZXQgImNyaXRpY2FscyBmcm9tIEdpby4gVGVzdCBzdGlsbCBmYWlscywKCSAgYnV0IGl0IGZhaWxzIGluIGEgZGlmZmVyZW50IHdheSBub3cuCgoyMDEyLTA0LTI1IDE4OjA3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcGx1ZyBidWZmZXIgbGVhawoKMjAxMi0wNC0xOSAxNDo0MTo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGluaXRpYWxpemUgdmFyaWFibGVzCgoyMDEyLTA0LTEwIDAwOjQ1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgVXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCjIwMTItMDQtMDUgMTU6MTE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZQoKMjAxMi0wNC0wMSAxODoxMToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIEltcHJvdmUgYnVmZmVyIGFsbG9jYXRpb24gb2Ygd3JhcHBlZCBtZW1vcnkKCjIwMTItMDMtMzAgMTg6MTI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTI4IDEyOjQ4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0xNSAxMzozMjowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAyLTIyIDAyOjA1OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0wMyAxMTozODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IGZpeHVwIHVuaXQgdGVzdHMKCjIwMTItMDItMDMgMTE6Mzg6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeHVwIGZvciBjaGFuZ2VkIGNhcHMKCSAgVHJ5IHRvIHNlbmQgdGhlIHN0cmVhbWhlYWRlciBhZnRlciB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxMi0wMi0wMyAxMTozNzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGRhdGFwcm90b2NvbDogZG9uJ3QgZGVmaW5lIGRlZmF1bHQgQ2F0ZWdvcnkKCSAgU2luY2Ugd2Ugbm93IGluY2x1ZGUgdGhpcyBpbnRvIHRoZSB1bml0IHRlc3RzIGRpcmVjdGx5LCBkb24ndCBkZWZpbmUgdGhlIGRlZmF1bHQKCSAgY2F0ZWdvcnkgbWFjcm8gYmVjYXVzZSBpdCBjb25mbGljdHMgd2l0aCBjaGVjay4KCjIwMTItMDEtMzAgMTc6MTY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnIGNoYW5nZXMKCjIwMTItMDEtMjAgMTY6MTE6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHBvcnQgdG8gbmV3IG1hcCBBUEkKCjIwMTItMDEtMTkgMTU6MzI6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMi0wMS0wNCAxNjo0MTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBwb3J0IGFuZCBlbmFibGUgbW9yZSB1bml0IHRlc3RzCgoyMDExLTEyLTI1IDIzOjE5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IG1vdmUgZGF0YXByb3RvY29sIGxpYnJhcnkgaW50byBnZHAgcGx1Z2luIGFuZCBtYWtlIHByaXZhdGUKCSAgV2UgaGF2ZSByZW1vdmVkIHRoaW5ncyBsaWtlIHByb3RvY29sPWdkcCBpbiB0aGUgdGNwIGVsZW1lbnRzCgkgIGluIGZhdm91ciBvZiBleHBsaWNpdCBnZHBwYXkvZGVwYXkgZWxlbWVudHMsIHNvIHRoZXJlJ3Mgbm8gbmVlZAoJICB0byBrZWVwIGEgcHVibGljIEFQSSBhbmQgbGlicmFyeSBmb3Igbm93LiBXZSBjYW4gc3RpbGwgYWRkIGl0CgkgIGJhY2sgbGF0ZXIuIFNvbWVvbmUgbmVlZHMgdG8gdGhpbmsgaGFyZCBhYm91dCAwLjExIGFuZCBnZHAKCSAgYW55d2F5IG9uZSBvZiB0aGVzZSBkYXlzLgoKMjAxMS0xMS0xMSAxNzoxNzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogZml4IGhlYWRlciBmaWxlcwoJICBFbnN1cmUgY29ycmVjdCBpbmRlbnRhdGlvbiBhbmQgcmV0YWIKCSAgTWFrZSBzdXJlIGFsbCBzdHJ1Y3R1cmUgaGF2ZSBwYWRkaW5nCgoyMDExLTA4LTE2IDE3OjMyOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiByZW5hbWUgYnVmZmVyIFBSRVJPTEwgLT4gTElWRSBmbGFnCgkgIFJlbmFtZSB0aGUgR1NUX0JVRkZFUl9GTEFHX1BSRVJPTEwgdG8gR1NUX0JVRkZFUl9GTEFHX0xJVkUgYW5kIGdpdmUgdGhlIG5ldyBmbGFnCgkgIGEgbWVhbmluZy4gVGhlIG9sZCBQUkVST0xMIGZsYWcgbmV2ZXIgaGFkIGEgY2xlYXIgbWVhbmluZy4KCjIwMTEtMDYtMTAgMTM6NDA6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IG1ha2UgbmV3IF9idWZmZXJfYWxsb2NhdGUgbWV0aG9kCgkgIE1ha2UgYSBuZXcgbWV0aG9kIHRvIGFsbG9jYXRlIGEgYnVmZmVyICsgbWVtb3J5IHRoYXQgdGFrZXMgdGhlIGFsbG9jYXRvciBhbmQgdGhlCgkgIGFsaWdubWVudCBhcyBwYXJhbWV0ZXJzLiBQcm92aWRlIGEgbWFjcm8gZm9yIHRoZSBvbGQgbWV0aG9kIGJ1dCBwcmVmZXIgdG8gdXNlCgkgIHRoZSBuZXcgbWV0aG9kIHRvIGVuY291cmFnZSBwbHVnaW5zIHRvIG5lZ290aWF0ZSB0aGUgYWxsb2NhdG9yIHByb3Blcmx5LgoKMjAxMS0wNS0xMyAxODowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogUmV3b3JrIEdzdFNlZ21lbnQgaGFuZGxpbmcKCSAgSW1wcm92ZSBHc3RTZWdtZW50LCByZW5hbWUgc29tZSBmaWVsZHMuIFRoZSBpZGVhIGlzIHRvIGhhdmUgdGhlIEdzdFNlZ21lbnQKCSAgc3RydWN0dXJlIHJlcHJlc2VudCB0aGUgdGltaW5nIHN0cnVjdHVyZSBvZiB0aGUgYnVmZmVycyBhcyB0aGV5IGFyZSBnZW5lcmF0ZWQgYnkKCSAgdGhlIHNvdXJjZSBvciBkZW11eGVyIGVsZW1lbnQuCgkgIGdzdF9zZWdtZW50X3NldF9zZWVrKCkgLT4gZ3N0X3NlZ21lbnRfZG9fc2VlaygpCgkgIFJlbmFtZSB0aGUgTkVXU0VHTUVOVCBldmVudCB0byBTRUdNRU5ULgoJICBNYWtlIHBhcnNpbmcgb2YgdGhlIFNFR01FTlQgZXZlbnQgaW50byBhIEdzdFNlZ21lbnQgc3RydWN0dXJlLgoJICBQYXNzIGEgR3N0U2VnbWVudCBzdHJ1Y3R1cmUgd2hlbiBtYWtpbmcgYSBuZXcgU0VHTUVOVCBldmVudC4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgcGFzcyB0aGUgdGltaW5nIGluZm8gZGlyZWN0bHkgdG8gdGhlIG5leHQgZWxlbWVudC4gTm8gYWNjdW11bGF0aW9uIGlzIG5lZWRlZCBpbgoJICB0aGUgcmVjZWl2aW5nIGVsZW1lbnQsIGFsbCB0aGUgaW5mbyBpcyBpbnNpZGUgdGhlIGVsZW1lbnQuCgkgIFJlbW92ZSBnc3Rfc2VnbWVudF9zZXRfbmV3c2VnbWVudCgpOiBUaGlzIGZ1bmN0aW9uIGFzIHVzZWQgdG8gYWNjdW11bGF0ZQoJICBzZWdtZW50cyByZWNlaXZlZCBmcm9tIHVwc3RyZWFtLCB3aGljaCBpcyBub3cgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2UgdGhlCgkgIHNlZ21lbnQgZXZlbnQgY29udGFpbnMgdGhlIGNvbXBsZXRlIHRpbWluZyBpbmZvcm1hdGlvbi4KCjIwMTEtMDUtMTAgMTE6NTA6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEhpZGUgdGhlIEdzdFN0cnVjdHVyZSBpbiBHc3RFdmVudAoJICBIaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgb2YgdGhlIGV2ZW50IGluIHRoZSBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBwYXJ0IHNvIHRoYXQKCSAgd2UgY2FuIGNoYW5nZSBpdC4KCSAgQWRkIG1ldGhvZHMgdG8gY2hlY2sgYW5kIG1ha2UgdGhlIGV2ZW50IHdyaXRhYmxlLgoJICBBZGQgYSBuZXcgbWV0aG9kIHRvIGdldCBhIHdyaXRhYmxlIEdzdFN0cnVjdHVyZSBvZiB0aGUgZWxlbWVudC4KCSAgQXZvaWQgZGlyZWN0bHkgYWNjaXNpbmcgdGhlIGV2ZW50IHN0cnVjdHVyZS4KCjIwMTEtMDUtMDIgMTY6MDA6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogYWRkIGRvY3MgZm9yIEdzdERQUGFja2V0aXplcgoKMjAxMS0wMy0yMSAxODoxMzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogcG9ydCBjb2RlIHRvIG5ldyBidWZmZXIgZGF0YSBBUEkKCjIwMTAtMTItMDYgMTk6NDA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IHJlbW92ZSBkZXByZWNhdGVkIGNvZGUKCjIwMTAtMTAtMDggMDk6MzQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBtYWtlIHB1YmxpYyBlbnVtIF9nZXRfdHlwZSgpIGZ1bmN0aW9ucyB0aHJlYWQtc2FmZQoJICBOb3QgdGhhdCBpdCBpcyBsaWtlbHkgdG8gbWF0dGVyIGluIHByYWN0aWNlLCBidXQgc2luY2UgdGhlc2UgYXJlIHB1YmxpYwoJICBBUEkgdGhleSBzaG91bGQgcHJvYmFibHkgYmUgdGhyZWFkLXNhZmUuCgoyMDEwLTEwLTA4IDAwOjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZGF0YXByb3RvY29sLCBsZm9jb250cm9sc291cmNlOiBmaXggZW51bSB2YWx1ZSBuYW1lIGluIGVudW1zIHRoYXQgYXJlIHB1YmxpYyBBUEkKCSAgU28gcnVuLXRpbWUgYmluZGluZ3MgY2FuIGludHJvc3BlY3QgdGhlIG5hbWVzIGNvcnJlY3RseSAod2UgYWJ1c2UgdGhpcwoJICBmaWVsZCBhcyBkZXNjcmlwdGlvbiBmaWVsZCBvbmx5IGluIGVsZW1lbnRzLCBub3QgZm9yIHB1YmxpYyBBUEkKCSAgKHdoZXJlIHRoZSBkZXNjcmlwdGlvbiBiZWxvbmdzIGludG8gdGhlIGd0ay1kb2MgY2h1bmspLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTQ2CgoyMDEwLTAzLTAyIDIyOjU4OjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZpeGVzIGZvciAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzCgkgIEFsc28gYWRkcyB0aG9zZSBmbGFncyB0byB0aGUgY29uZmlndXJlIHdhcm5pbmcgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY5MgoKMjAxMC0wMy0wMiAyMzo1MToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogTWFrZSBjb2RlIHNhZmUgZm9yIC1XcmVkdW5kYW50LWRlY2xzCgkgIEFkZHMgdGhhdCB3YXJuaW5nIHRvIGNvbmZpZ3VyZS5hYwoJICBJbmNsdWRlcyBhIHRpbnkgY2hhbmdlIG9mIHRoZSBHU1RfQk9JTEVSUExBVEVfRlVMTCgpIG1hY3JvOgoJICBUaGUgZ2V0X3R5cGUoKSBmdW5jdGlvbiBpcyBubyBsb25nZXIgZGVjbGFyZWQgYmVmb3JlIGJlaW5nIGRlZmluZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2OTIKCjIwMDktMTEtMjcgMTY6Mzk6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IGJyb2tlbiB4cmVmcyBpbiBkb2NzCgoyMDA4LTA2LTMwIDA5OjM4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnZHA6IERvbid0IHdyaXRlIHRvIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgYXMgYSB1aW50NjQgYW5kIHVpbnQxNiBhcyB0aGlzIGJyZWFrcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBEb24ndCB3cml0ZSB0byB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IGFzIGEgdWludDY0IGFuZCB1aW50MTYKCSAgYXMgdGhpcyBicmVha3Mgc3RyaWN0IGFsaWFzaW5nIHJ1bGVzIGFuZCBhcHBhcmFudGx5IGJyZWFrcyBvbiBQUEMKCSAgYW5kIHMzOTAuIFRoYW5rcyB0byBTam9lcmQgU2ltb25zIGZvciBhbmFseXNpbmcuIEZpeGVzIGJ1ZyAjMzQ4MTE0LgoKMjAwOC0wMy0yNyAxNToyMzo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBXaGVuIGNhbGN1bGF0aW5nIEdEUCBib2R5IENSQywgdXNlIHRoZSBjb3JyZWN0IHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApOgoJICBXaGVuIGNhbGN1bGF0aW5nIEdEUCBib2R5IENSQywgdXNlIHRoZSBjb3JyZWN0IHBvaW50ZXIuCgkgIEZpeGVzIHBhcnQgb2YgIzUyMjQwMS4KCjIwMDgtMDItMjkgMTI6NDE6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdkcDogQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3Rjb25maWcuaC5pbjoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGNvbGxlY3RwYWRzLmM6IChnc3RfY29sbGVjdF9wYWRzX3JlYWRfYnVmZmVyKToKCSAgKiBsaWJzL2dzdC9jaGVjay9nc3RjaGVjay5jOiAoZ3N0X2NoZWNrX2xvZ19tZXNzYWdlX2Z1bmMpLAoJICAoZ3N0X2NoZWNrX2xvZ19jcml0aWNhbF9mdW5jKSwgKGdzdF9jaGVja19kcm9wX2J1ZmZlcnMpLAoJICAoZ3N0X2NoZWNrX2VsZW1lbnRfcHVzaF9idWZmZXJfbGlzdCk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6IChnc3RfY29udHJvbGxlcl9nZXQpLAoJICAoZ3N0X2NvbnRyb2xsZXJfZ2V0X3R5cGUpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aGVscGVyLmM6IChnc3Rfb2JqZWN0X2NvbnRyb2xfcHJvcGVydGllcyksCgkgIChnc3Rfb2JqZWN0X2dldF9jb250cm9sbGVyKSwgKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xfc291cmNlKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGludGVycG9sYXRpb25jb250cm9sc291cmNlLmM6CgkgIChnc3RfaW50ZXJwb2xhdGlvbl9jb250cm9sX3NvdXJjZV9uZXcpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0bGZvY29udHJvbHNvdXJjZS5jOgoJICAoZ3N0X2xmb19jb250cm9sX3NvdXJjZV9uZXcpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0ZmRzcmMuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdG11bHRpcXVldWUuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdHRlZS5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6CgkgICogcGx1Z2lucy9pbmRleGVycy9nc3RmaWxlaW5kZXguYzogKF9maWxlX2luZGV4X2lkX3NhdmVfeG1sKSwKCSAgKGdzdF9maWxlX2luZGV4X2FkZF9hc3NvY2lhdGlvbik6CgkgICogcGx1Z2lucy9pbmRleGVycy9nc3RtZW1pbmRleC5jOgoJICAqIHRlc3RzL2JlbmNobWFya3MvZ3N0cG9sbHN0cmVzcy5jOiAobWVzc19zb21lX21vcmUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F1ZXVlLmM6IChzZXR1cF9xdWV1ZSk6CgkgICogdGVzdHMvY2hlY2svZ3N0L2dzdHBpcGVsaW5lLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy9jb2xsZWN0cGFkcy5jOiAoc2V0dXApLCAodGVhcmRvd24pLAoJICAoZ3N0X2NvbGxlY3RfcGFkc19zdWl0ZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvYWRhcHRlci9hZGFwdGVyX3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9tZXRhZGF0YS9yZWFkLW1ldGFkYXRhLmM6IChtYWtlX3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9leGFtcGxlcy94bWwvY3JlYXRleG1sLmM6CgkgICogdGVzdHMvZXhhbXBsZXMveG1sL3J1bnhtbC5jOgoJICAqIHRvb2xzL2dzdC1pbnNwZWN0LmM6CgkgICogdG9vbHMvZ3N0LXJ1bi5jOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycywgbm90IHVzaW5nIHZhcmlhYmxlIHNpemVkIGFycmF5cwoJICBvbiB0aGUgc3RhY2ssIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZgoJICBhIGJsb2NrIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZCBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoKMjAwOC0wMS0wOCAwMjowNzozOCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IGVtcHR5IHByb3RvdHlwZXMuIEZpeGVzIGJ1ZyAjNTA3OTU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RpbnRlcnBvbGF0aW9uY29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0bGZvY29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgRml4IGVtcHR5IHByb3RvdHlwZXMuICBGaXhlcyBidWcgIzUwNzk1Ny4KCjIwMDctMTEtMDEgMjE6NTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnZHA6IGdfdHlwZV9jbGFzc19yZWYoKSBvdGhlciB0eXBlcyBhcyB3ZWxsLCBzZWUgIzM0OTQxMCBhbmQgIzY0NzY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0LmM6IChpbml0X3Bvc3QpOgoJICAqIGdzdC9nc3RldmVudC5jOiAoX2dzdF9ldmVudF9pbml0aWFsaXplKToKCSAgKiBnc3QvZ3N0cXVlcnkuYzogKF9nc3RfcXVlcnlfaW5pdGlhbGl6ZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jIChnc3RfZHBfaW5pdCk6CgkgIGdfdHlwZV9jbGFzc19yZWYoKSBvdGhlciB0eXBlcyBhcyB3ZWxsLCBzZWUgIzM0OTQxMCBhbmQgIzY0NzY0LgoJICAqIGdzdC9nc3RidWZmZXIuYzogKF9nc3RfYnVmZmVyX2luaXRpYWxpemUpOgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChfZ3N0X21lc3NhZ2VfaW5pdGlhbGl6ZSk6CgkgIFNpbXBsaWZ5IGV4aXN0aW5nIGdfdHlwZV9jbGFzc19yZWYoKS4KCjIwMDYtMTAtMDUgMTQ6MjY6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnZHA6IFByaW50ZiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdHBhZC5jOiAocHJlX2FjdGl2YXRlKToKCSAgKiBnc3QvZ3N0cmVnaXN0cnkuYzogKGdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfbGV2ZWwpOgoJICAqIGdzdC9nc3RyZWdpc3RyeXhtbC5jOiAobG9hZF9wbHVnaW4pOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOgoJICAoZ3N0X2NvbnRyb2xsZWRfcHJvcGVydHlfc2V0X2ludGVycG9sYXRpb25fbW9kZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCk6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldGNsaWVudGNsb2NrLmM6CgkgIChnc3RfbmV0X2NsaWVudF9jbG9ja19vYnNlcnZlX3RpbWVzKToKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdGZkc3JjLmM6IChnc3RfZmRfc3JjX2NyZWF0ZSk6CgkgIFByaW50ZiBmaXhlcy4KCjIwMDYtMDgtMTEgMTU6MjY6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBpcyBvbmx5IGZvciB1c2VycyBvZiBBUEkgdGhhdCBkb24ndCB3YW50IHRvIHNlZSBkZXByZWNhdGVkIGZ1bmN0aW9ucyBpbiB0aGUgaGVhZGVyczsgcGVvcGxlIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTExICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0aXplcl9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvZ2RwLmM6IChnc3RfZHBfc3VpdGUpOiBHU1RfRElTQUJMRV9ERVBSRUNBVEVECgkgIGlzIG9ubHkgZm9yIHVzZXJzIG9mIEFQSSB0aGF0IGRvbid0IHdhbnQgdG8gc2VlIGRlcHJlY2F0ZWQKCSAgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXJzOyBwZW9wbGUgdGhhdCB3YW50IHRvIGNvbXBpbGUgb3V0CgkgIGRlcHJlY2F0ZWQgY29kZSBzaG91bGQgcGFzcyAtREdTVF9SRU1PVkVfREVQUkVDQVRFRCBpbnRvIHRoZQoJICBDRkxBR1MuIEZpeGVzIHRoZSBidWlsZCBvZiBtdWx0aWZkc2luaywgb3Igd2lsbCBzb29uLi4KCjIwMDYtMDgtMTAgMTk6NDY6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdkcDogYWRkIGdzdF9vYmplY3Rfe3MsZ31ldF9jb250cm9sX3JhdGUoKSwgYWRkIHByaXZhdGUgZGF0YSBzZWN0aW9uLCBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL2xpYnMvZ3N0cmVhbWVyLWxpYnMtc2VjdGlvbnMudHh0OgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOgoJICAoX2dzdF9jb250cm9sbGVyX2dldF9wcm9wZXJ0eSksIChfZ3N0X2NvbnRyb2xsZXJfc2V0X3Byb3BlcnR5KSwKCSAgKF9nc3RfY29udHJvbGxlcl9pbml0KSwgKF9nc3RfY29udHJvbGxlcl9jbGFzc19pbml0KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGhlbHBlci5jOiAoZ3N0X29iamVjdF9nZXRfY29udHJvbF9yYXRlKSwKCSAgKGdzdF9vYmplY3Rfc2V0X2NvbnRyb2xfcmF0ZSk6CgkgIEFQSTogYWRkIGdzdF9vYmplY3Rfe3MsZ31ldF9jb250cm9sX3JhdGUoKSwgYWRkIHByaXZhdGUgZGF0YSBzZWN0aW9uLAoJICBmaXggZG9jcwoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRpemVyX25ldyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBhZGQgZGVwcmVjYXRpb24gZ3VhcmRzIHRvIG1ha2UgZ3RrLWRvYyBoYXBweSBhbmQgYWxsb3cgZGlzYWJsaW5nIGNydWZ0CgoyMDA2LTA4LTAyIDE1OjE5OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBNYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyX2FueSksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc19hbnkpLAoJICAoZ3N0X2RwX2NyYyksIChnc3RfZHBfaGVhZGVyX3BheWxvYWRfbGVuZ3RoKSwKCSAgKGdzdF9kcF9oZWFkZXJfcGF5bG9hZF90eXBlKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKSwgKGdzdF9kcF9idWZmZXJfZnJvbV9oZWFkZXIpLAoJICAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMiksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX3ZhbGlkYXRlX2hlYWRlciksCgkgIChnc3RfZHBfdmFsaWRhdGVfcGF5bG9hZCk6CgkgIE1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgkgIENvbnN0aWZ5IHRoZSBjcmMgdGFibGUuCgkgIERvIHNvbWUgbW9yZSBhcmcgY2hlY2tpbmcgaW4gcHVibGljIGZ1bmN0aW9ucy4KCSAgRml4IHNvbWUgZG9jcyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgKiB0ZXN0cy9jaGVjay9saWJzL2dkcC5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ3N0X2RwX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBjaGVja3MgdG8gc2VlIGlmIEdEUCBkZWFscyB3aXRoIGJvZ3VzIGlucHV0LgoKMjAwNi0wNy0xMyAxNDowMjoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZpeCBmYWlsdXJlIHRvIGRlc2VyaWFsaXplIGV2ZW50IHBhY2tldHMgd2l0aCBlbXB0eSBwYXlsb2FkIChvbmx5IGV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8xXzApOgoJICBGaXhlcyAjMzQ3MzM3OiBmYWlsdXJlIHRvIGRlc2VyaWFsaXplIGV2ZW50IHBhY2tldHMgd2l0aAoJICBlbXB0eSBwYXlsb2FkIChvbmx5IGV2ZW50IHR5cGUpCgoyMDA2LTA2LTEzIDE5OjI0OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogYWRkIGEgZ2RwIGltYWdlIHRvIHRoZSBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvUkVBRE1FOgoJICAqIGRvY3MvaW1hZ2VzL2dkcC1oZWFkZXIuc3ZnOgoJICBhZGQgYSBnZHAgaW1hZ2UKCSAgKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9saWJzL2dkcC1oZWFkZXIucG5nOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgYWRkIGl0IHRvIHRoZSBBUEkgZG9jcwoJICAqIGRvY3MvbWFudWFsL2ludHJvLW1vdGl2YXRpb24ueG1sOgoJICBmaXggdHlwbwoKMjAwNi0wNi0wNiAxNDoyOTo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGFkZCBub3RlIHRvIGRvY3MgYWJvdXQgR0RQIHZlcnNpb25pbmc7IHJlbW92ZSB0bXBsIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBub3RlIHRvIGRvY3MgYWJvdXQgR0RQIHZlcnNpb25pbmc7IHJlbW92ZSB0bXBsIGZpbGUKCjIwMDYtMDYtMDYgMTQ6MjQ6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBhZGQgYSBHc3REUFBhY2tldGl6ZXIgb2JqZWN0LCBhbmQgY3JlYXRlL2ZyZWUgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfYW55KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzX2FueSksCgkgIChnc3RfZHBfdmVyc2lvbl9nZXRfdHlwZSksIChnc3RfZHBfaW5pdCksCgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfMV8wKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzXzFfMCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKSwgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8xXzApLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KSwgKGdzdF9kcF9wYWNrZXRpemVyX25ldyksCgkgIChnc3RfZHBfcGFja2V0aXplcl9mcmVlKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEFQSTogYWRkIGEgR3N0RFBQYWNrZXRpemVyIG9iamVjdCwgYW5kIGNyZWF0ZS9mcmVlIGZ1bmN0aW9ucwoJICBBUEk6IGFkZCBHc3REUFZlcnNpb24gZW51bQoJICBBZGQgMS4wIGV2ZW50IGZ1bmN0aW9uIHRoYXQgdXNlcyB0aGUgc3RyaW5nIHNlcmlhbGl6YXRpb24KCSAgU2VyaWFsaXplIG1vcmUgdXNlZnVsIGJ1ZmZlciBmbGFncwoJICBGaXhlcyAjMzQzOTg4CgoyMDA2LTA2LTAyIDE2OjQ2OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZmFjdG9yIG91dCBDUkMgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgIGZhY3RvciBvdXQgQ1JDIGNvZGUKCjIwMDYtMDYtMDIgMTA6NTg6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmYWN0b3Igb3V0IHNvbWUgY29tbW9uIGhlYWRlciBpbml0IGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICBmYWN0b3Igb3V0IHNvbWUgY29tbW9uIGhlYWRlciBpbml0IGNvZGUKCjIwMDYtMDYtMDIgMTA6MDg6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBtYWtlIGdzdF9kcF9jcmMoKSBwdWJsaWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9saWJzL2dzdHJlYW1lci1saWJzLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL2xpYnMvdG1wbC9nc3RkYXRhcHJvdG9jb2wuc2dtbDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfY3JjKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEFQSTogbWFrZSBnc3RfZHBfY3JjKCkgcHVibGljCgoyMDA2LTA2LTAxIDExOjEzOjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogbWFrZSBzdXJlIHdlIHplcm8gdGhlIHdob2xlIEFCSS1jb21wYXRpYmxlIGFyZWEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcik6CgkgIG1ha2Ugc3VyZSB3ZSB6ZXJvIHRoZSB3aG9sZSBBQkktY29tcGF0aWJsZSBhcmVhCgoyMDA2LTA1LTA4IDE1OjUzOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogd2hpdGVzcGFjZSwgY29tbWVudCwgZG9jIGZpeHVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3aGl0ZXNwYWNlLCBjb21tZW50LCBkb2MgZml4dXAKCjIwMDYtMDQtMjggMTM6NDA6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogRml4ZXMgaW4gcmVhZGluZy93cml0aW5nIGV2ZW50cyBvdmVyIEdEUCAobm90IGN1cnJlbnRseSB1c2VkPykgLSBkZXJlZmVyZW5jaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRml4ZXMgaW4gcmVhZGluZy93cml0aW5nIGV2ZW50cyBvdmVyIEdEUCAobm90IGN1cnJlbnRseSB1c2VkPykgLQoJICBkZXJlZmVyZW5jaW5nIE5VTEwgZXZlbnRzIGZvciB1bmtub3duL2ludmFsaWQgZXZlbnQgdHlwZXMsIG1lbW9yeQoJICBsZWFrLCBhbmQgY2hhbmdlIGdfd2FybmluZyB0byBHU1RfV0FSTklORy4KCjIwMDYtMDMtMTAgMTU6MzA6MjcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogRml4IGRvY3MgZm9yIGRhdGFwcm9jb3RvbCB0byBub3QgZ2V0IHRoZSByZXR1cm4gdHlwZXMgY29tcGxldGVseSB3cm9uZyBmb3IgYSBmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIEZpeCBkb2NzIGZvciBkYXRhcHJvY290b2wgdG8gbm90IGdldCB0aGUgcmV0dXJuIHR5cGVzIGNvbXBsZXRlbHkKCSAgd3JvbmcgZm9yIGEgZmV3IGZ1bmN0aW9ucy4KCjIwMDUtMTItMTggMTY6MDQ6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IERvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RhZGFwdGVyLmM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RhZGFwdGVyLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2Vfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3NpbmtfZ2V0X3Bvc2l0aW9uKToKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzaW5rLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9zcmNfZGVmYXVsdF9xdWVyeSksIChnc3RfYmFzZV9zcmNfZGVmYXVsdF9kb19zZWVrKSwKCSAgKGdzdF9iYXNlX3NyY19kb19zZWVrKSwgKGdzdF9iYXNlX3NyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X2Jhc2Vfc3JjX3NlbmRfZXZlbnQpLCAoZ3N0X2Jhc2Vfc3JjX3VwZGF0ZV9sZW5ndGgpLAoJICAoZ3N0X2Jhc2Vfc3JjX2dldF9yYW5nZSksIChnc3RfYmFzZV9zcmNfbG9vcCksCgkgIChnc3RfYmFzZV9zcmNfc3RhcnQpOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdHB1c2hzcmMuYzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdHB1c2hzcmMuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXRjbGllbnRjbG9jay5oOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXR0aW1lcHJvdmlkZXIuaDoKCSAgRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoKMjAwNS0xMC0xMyAxNjoyNjoxMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBGaXggVGltbWVrZSBXYXltYW5zIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwcyk6CgkgIEZpeCBUaW1tZWtlIFdheW1hbnMgYnVnLgoJICAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpOiBNYWtlIHN1cmUgd2UgcGFzcyBhIE5VTC10ZXJtaW5hdGVkCgkgIHN0cmluZyBvZiB0aGUgcHJvcGVyIGxlbmd0aCB0byBnc3RfY2Fwc19mcm9tX3N0cmluZy4gVGhlcmUncyBhCgkgIHBvdGVudGlhbCBmb3IsIGJlZm9yZSB0aGlzIGZpeCwgdGhhdCB0aGlzIGNvdWxkIGNhdXNlIHNvbWVvbmUKCSAgY29ubmVjdGluZyBvdmVyIHRoZSBuZXR3b3JrIHRvIGNhdXNlIGEgc2VnZmF1bHQgaWYgdGhlIHBheWxvYWQgaXMKCSAgbm90IE5VTC10ZXJtaW5hdGVkLgoKMjAwNS0xMC0xMCAyMzo1NTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBtb3JlIHZhbGdyaW5kIHdhcm5pbmdzIGJlZm9yZSB0dXJuaW5nIHVwIHRoZSBoZWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbW9yZSB2YWxncmluZCB3YXJuaW5ncyBiZWZvcmUgdHVybmluZyB1cCB0aGUgaGVhdAoKMjAwNS0xMC0wOCAxNzoxNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogSXQncyBhYm91dCB0aW1lIHdlIGJ1bXAgdGhlIHZlcnNpb24gbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kcC1wcml2YXRlLmg6CgkgIEl0J3MgYWJvdXQgdGltZSB3ZSBidW1wIHRoZSB2ZXJzaW9uIG51bWJlci4KCSAgU2luY2UgZXZlbnQgdHlwZXMgZG9uJ3QgZml0IGluIHRoZSBndWludDggYW55bW9yZSBkZXNjcmliaW5nCgkgIHRoZSBwYXlsb2FkIHR5cGUsIG1ha2UgcGF5bG9hZCB0eXBlIDE2IGJpdHMgd2lkZS4KCjIwMDUtMDktMjcgMTY6MzA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogRml4IGVycm9yLWNoZWNraW5nIHJldHVybiB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTI3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogRml4IGVycm9yLWNoZWNraW5nIHJldHVybgoJICB2YWx1ZXMuCgoyMDA1LTA3LTI3IDE5OjAwOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggc2VyaWFsaXphdGlvbiBvZiBzZWVrIGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEZpeCBzZXJpYWxpemF0aW9uIG9mIHNlZWsgZXZlbnRzLgoKMjAwNS0wNy0yNyAxODozMzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogU29tZSBkb2NzIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ0hBTkdFUy0wLjk6CgkgICogZG9jcy9kZXNpZ24vcGFydC1UT0RPLnR4dDoKCSAgKiBkb2NzL2Rlc2lnbi9wYXJ0LWV2ZW50cy50eHQ6CgkgIFNvbWUgZG9jcyB1cGRhdGVzCgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlX3NpbmtfaGFuZGxlX29iamVjdCksCgkgIChnc3RfYmFzZV9zaW5rX2V2ZW50KSwgKGdzdF9iYXNlX3NpbmtfZG9fc3luYyksCgkgIChnc3RfYmFzZV9zaW5rX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X2Jhc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZV9zcmNfc2VuZF9kaXNjb250KSwKCSAgKGdzdF9iYXNlX3NyY19kb19zZWVrKSwgKGdzdF9iYXNlX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9iYXNlX3NyY19sb29wKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmM6IChnc3RfYmFzZV90cmFuc2Zvcm1fdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2NvbmZpZ3VyZV9jYXBzKSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRjYXBzKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9nZXRfc2l6ZSksIChnc3RfYmFzZV90cmFuc2Zvcm1fYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9ldmVudCksIChnc3RfYmFzZV90cmFuc2Zvcm1faGFuZGxlX2J1ZmZlciksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9pc19wYXNzdGhyb3VnaCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzaW5rLmM6IChnc3RfZmFrZV9zaW5rX2V2ZW50KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmlsZXNpbmsuYzogKGdzdF9maWxlX3NpbmtfZXZlbnQpOgoJICBFdmVudCB1cGRhdGVzLgoJICAqIGdzdC9nc3RidWZmZXIuaDoKCSAgVXNlIGZhc3RlciBjYXN0cy4KCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfc2Vlayk6CgkgICogZ3N0L2dzdGVsZW1lbnQuaDoKCSAgVXBkYXRlIGdzdF9lbGVtZW50X3NlZWsuCgkgICogZ3N0L2dzdGV2ZW50LmM6IChnc3RfZXZlbnRfZmluYWxpemUpLCAoX2dzdF9ldmVudF9jb3B5KSwKCSAgKGdzdF9ldmVudF9uZXcpLCAoZ3N0X2V2ZW50X25ld19jdXN0b20pLCAoZ3N0X2V2ZW50X2dldF9zdHJ1Y3R1cmUpLAoJICAoZ3N0X2V2ZW50X25ld19mbHVzaF9zdGFydCksIChnc3RfZXZlbnRfbmV3X2ZsdXNoX3N0b3ApLAoJICAoZ3N0X2V2ZW50X25ld19lb3MpLCAoZ3N0X2V2ZW50X25ld19uZXdzZWdtZW50KSwKCSAgKGdzdF9ldmVudF9wYXJzZV9uZXdzZWdtZW50KSwgKGdzdF9ldmVudF9uZXdfdGFnKSwKCSAgKGdzdF9ldmVudF9wYXJzZV90YWcpLCAoZ3N0X2V2ZW50X25ld19maWxsZXIpLCAoZ3N0X2V2ZW50X25ld19xb3MpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3FvcyksIChnc3RfZXZlbnRfbmV3X3NlZWspLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3NlZWspLCAoZ3N0X2V2ZW50X25ld19uYXZpZ2F0aW9uKToKCSAgKiBnc3QvZ3N0ZXZlbnQuaDoKCSAgTWFrZSBHc3RFdmVudCB1c2UgR3N0U3RydWN0dXJlLiBBZGQgcGFyc2luZyBjb2RlLCBtYWtlIHN1cmUgdGhlCgkgIEFQSSBpcyBzdWZmaWNpZW50bHkgZ2VuZXJpYy4KCSAgTWFyayBwb3NzaWJsZSBkaXJlY3Rpb25zIG9mIGV2ZW50cyBhbmQgc2VyaWFsaXphdGlvbi4KCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoZ3N0X21lc3NhZ2VfaW5pdCksIChnc3RfbWVzc2FnZV9maW5hbGl6ZSksCgkgIChfZ3N0X21lc3NhZ2VfY29weSksIChnc3RfbWVzc2FnZV9uZXdfc2VnbWVudF9zdGFydCksCgkgIChnc3RfbWVzc2FnZV9uZXdfc2VnbWVudF9kb25lKSwgKGdzdF9tZXNzYWdlX25ld19jdXN0b20pLAoJICAoZ3N0X21lc3NhZ2VfcGFyc2Vfc2VnbWVudF9zdGFydCksCgkgIChnc3RfbWVzc2FnZV9wYXJzZV9zZWdtZW50X2RvbmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvZ3N0cGFkLmM6IChnc3RfcGFkX2dldF9jYXBzX3VubG9ja2VkKSwgKGdzdF9wYWRfYWNjZXB0X2NhcHMpLAoJICAoZ3N0X3BhZF9zZXRfY2FwcyksIChnc3RfcGFkX3NlbmRfZXZlbnQpOgoJICBVcGRhdGUgZm9yIG5ldyBldmVudHMuCgkgIENhdGNoIGV2ZW50cyBzZW50IGluIHdyb25nIGRpcmVjdGlvbnMuCgkgICogZ3N0L2dzdHF1ZXVlLmM6IChnc3RfcXVldWVfbGlua19zcmMpLAoJICAoZ3N0X3F1ZXVlX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdWV1ZV9jaGFpbiksIChnc3RfcXVldWVfbG9vcCksCgkgIChnc3RfcXVldWVfaGFuZGxlX3NyY19xdWVyeSk6CgkgIEV2ZW50IHVwZGF0ZXMuCgkgICogZ3N0L2dzdHRhZy5jOgoJICAqIGdzdC9nc3R0YWcuaDoKCSAgUmVtb3ZlIGV2ZW50IGNvZGUgZnJvbSB0aGlzIGZpbGUuCgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEV2ZW50IHVwZGF0ZXMuCgoyMDA1LTA3LTA1IDEwOjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBQb3J0ZWQgZGF0YXByb3RvbCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvTWFrZWZpbGUuYW06CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3ZhbGlkYXRlX3BhY2tldCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLWRhdGFwcm90b2NvbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLWRhdGFwcm90b2NvbC5wYy5pbjoKCSAgUG9ydGVkIGRhdGFwcm90b2wgdG8gMC45LgoJICBBZGRlZCBwa2djb25maWcgZmlsZXMuCgoyMDA1LTA1LTE2IDIwOjIxOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdkcDogcmVtb3ZlIEdzdERhdGEgY2hlY2tzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOiByZW1vdmUgR3N0RGF0YSBjaGVja3MKCSAgKiBjaGVjay9nc3QtbGlicy9nZHAuYzogKFNUQVJUX1RFU1QpOiBmaXggZm9yIEFQSSBjaGFuZ2VzCgkgICogZ3N0L01ha2VmaWxlLmFtOiBhZGQgbWluaW9iamVjdCwgcmVtb3ZlIGRhdGEKCSAgKiBnc3QvZ3N0Lmg6IGFkZCBtaW5pb2JqZWN0LCByZW1vdmUgZGF0YQoJICAqIGdzdC9nc3RkYXRhLmM6IHJlbW92ZQoJICAqIGdzdC9nc3RkYXRhLmg6IHJlbW92ZQoJICAqIGdzdC9nc3RkYXRhX3ByaXZhdGUuaDogcmVtb3ZlCgkgICogZ3N0L2dzdHR5cGVzLmg6IHJlbW92ZSBHc3RFdmVudCBhbmQgR3N0TWVzc2FnZQoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UpOiBmaXggZm9yIEFQSSBjaGFuZ2VzCgkgICogZ3N0L2dzdG1hcnNoYWwubGlzdDogY2hhbmdlIEJPWEVEIC0+IE9CSkVDVAoJICBJbXBsZW1lbnQgR3N0TWluaU9iamVjdC4KCSAgKiBnc3QvZ3N0bWluaW9iamVjdC5jOgoJICAqIGdzdC9nc3RtaW5pb2JqZWN0Lmg6CgkgIE1vZGlmeSB0byBiZSBzdWJjbGFzc2VzIG9mIEdzdE1pbmlPYmplY3QuCgkgICogZ3N0L2dzdGJ1ZmZlci5jOiAoX2dzdF9idWZmZXJfaW5pdGlhbGl6ZSksIChnc3RfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfYnVmZmVyX2ZpbmFsaXplKSwgKF9nc3RfYnVmZmVyX2NvcHkpLAoJICAoZ3N0X2J1ZmZlcl9pbml0KSwgKGdzdF9idWZmZXJfbmV3KSwgKGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYyksCgkgIChnc3Rfc3ViYnVmZmVyX2dldF90eXBlKSwgKGdzdF9zdWJidWZmZXJfaW5pdCksCgkgIChnc3RfYnVmZmVyX2NyZWF0ZV9zdWIpLCAoZ3N0X2J1ZmZlcl9pc19zcGFuX2Zhc3QpLAoJICAoZ3N0X2J1ZmZlcl9zcGFuKToKCSAgKiBnc3QvZ3N0YnVmZmVyLmg6CgkgICogZ3N0L2dzdGV2ZW50LmM6IChfZ3N0X2V2ZW50X2luaXRpYWxpemUpLCAoZ3N0X2V2ZW50X2dldF90eXBlKSwKCSAgKGdzdF9ldmVudF9jbGFzc19pbml0KSwgKGdzdF9ldmVudF9pbml0KSwgKGdzdF9ldmVudF9maW5hbGl6ZSksCgkgIChfZ3N0X2V2ZW50X2NvcHkpLCAoZ3N0X2V2ZW50X25ldyk6CgkgICogZ3N0L2dzdGV2ZW50Lmg6CgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKF9nc3RfbWVzc2FnZV9pbml0aWFsaXplKSwKCSAgKGdzdF9tZXNzYWdlX2dldF90eXBlKSwgKGdzdF9tZXNzYWdlX2NsYXNzX2luaXQpLAoJICAoZ3N0X21lc3NhZ2VfaW5pdCksIChnc3RfbWVzc2FnZV9maW5hbGl6ZSksIChfZ3N0X21lc3NhZ2VfY29weSksCgkgIChnc3RfbWVzc2FnZV9uZXcpLCAoZ3N0X21lc3NhZ2VfbmV3X2Vycm9yKSwKCSAgKGdzdF9tZXNzYWdlX25ld193YXJuaW5nKSwgKGdzdF9tZXNzYWdlX25ld190YWcpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3N0YXRlX2NoYW5nZWQpLCAoZ3N0X21lc3NhZ2VfbmV3X2FwcGxpY2F0aW9uKToKCSAgKiBnc3QvZ3N0bWVzc2FnZS5oOgoJICAqIGdzdC9nc3Rwcm9iZS5jOiAoZ3N0X3Byb2JlX3BlcmZvcm0pLAoJICAoZ3N0X3Byb2JlX2Rpc3BhdGNoZXJfZGlzcGF0Y2gpOgoJICAqIGdzdC9nc3Rwcm9iZS5oOgoJICAqIGdzdC9nc3RxdWVyeS5jOiAoX2dzdF9xdWVyeV9pbml0aWFsaXplKSwgKGdzdF9xdWVyeV9nZXRfdHlwZSksCgkgIChnc3RfcXVlcnlfY2xhc3NfaW5pdCksIChnc3RfcXVlcnlfZmluYWxpemUpLCAoZ3N0X3F1ZXJ5X2luaXQpLAoJICAoX2dzdF9xdWVyeV9jb3B5KSwgKGdzdF9xdWVyeV9uZXcpOgoJICBVcGRhdGUgZWxlbWVudHMgZm9yIEdzdERhdGEgLT4gR3N0TWluaU9iamVjdCBjaGFuZ2VzCgkgICogZ3N0L2dzdHF1ZXJ5Lmg6CgkgICogZ3N0L2dzdHF1ZXVlLmM6IChnc3RfcXVldWVfZmluYWxpemUpLCAoZ3N0X3F1ZXVlX2xvY2tlZF9mbHVzaCksCgkgIChnc3RfcXVldWVfY2hhaW4pLCAoZ3N0X3F1ZXVlX2xvb3ApOgoJICAqIGdzdC9lbGVtZW50cy9nc3RidWZmZXJzdG9yZS5jOgoJICAoZ3N0X2J1ZmZlcl9zdG9yZV9hZGRfYnVmZmVyX2Z1bmMpLAoJICAoZ3N0X2J1ZmZlcl9zdG9yZV9jbGVhcmVkX2Z1bmMpLCAoZ3N0X2J1ZmZlcl9zdG9yZV9nZXRfYnVmZmVyKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNpbmsuYzogKGdzdF9mYWtlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9mYWtlc2lua19yZW5kZXIpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc3JjLmM6IChnc3RfZmFrZXNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmlsZXNyYy5jOiAoZ3N0X21tYXBfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9tbWFwX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9tbWFwX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9tbWFwX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfZmlsZXNyY19tYXBfcmVnaW9uKSwKCSAgKGdzdF9maWxlc3JjX2NyZWF0ZV9yZWFkKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0aWRlbnRpdHkuYzogKGdzdF9pZGVudGl0eV9jbGFzc19pbml0KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6CgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfc3JjX2V2ZW50KSwgKGZyZWVfZW50cnlfYnVmZmVycyksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfaGFuZGxlX2V2ZW50KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RwLXByaXZhdGUuaDoKCjIwMDUtMDUtMDQgMjE6Mjk6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogR0NDIDQgZml4ZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA1LTA0ICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogZG9jcy9nc3QvdG1wbC9nc3RhdG9taWMuc2dtbDoKCSAgKiBkb2NzL2dzdC90bXBsL2dzdHBsdWdpbi5zZ21sOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZXNpbmtfYWN0aXZhdGUpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VzcmNfaW5pdCksIChnc3RfYmFzZXNyY19zZXRfZGF0YWZsb3dfZnVuY3MpLAoJICAoZ3N0X2Jhc2VzcmNfcXVlcnkpLCAoZ3N0X2Jhc2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9iYXNlc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYmFzZXNyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2Jhc2VzcmNfYWN0aXZhdGUpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuaDoKCSAgKiBnc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmM6IChnc3RfYmFzZV90cmFuc2Zvcm1fc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fc3JjX2FjdGl2YXRlKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZWxlbWVudHMuYzoKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNyYy5jOiAoZ3N0X2Zha2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFrZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2Zha2VzcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dGVlLmM6IChnc3RfdGVlX3NpbmtfYWN0aXZhdGUpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzogKGZpbmRfZWxlbWVudF9nZXRfbGVuZ3RoKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9jaGVja2dldHJhbmdlKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9hY3RpdmF0ZSk6CgkgICogZ3N0L2dzdGJpbi5jOiAoZ3N0X2Jpbl9zYXZlX3RoeXNlbGYpLCAoZ3N0X2Jpbl9yZXN0b3JlX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RjYXBzLmM6IChnc3RfY2Fwc19kb19zaW1wbGlmeSksIChnc3RfY2Fwc19zYXZlX3RoeXNlbGYpLAoJICAoZ3N0X2NhcHNfbG9hZF90aHlzZWxmKToKCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfcGFkc19hY3RpdmF0ZSksCgkgIChnc3RfZWxlbWVudF9zYXZlX3RoeXNlbGYpLCAoZ3N0X2VsZW1lbnRfcmVzdG9yZV90aHlzZWxmKToKCSAgKiBnc3QvZ3N0cGFkLmM6IChnc3RfcGFkX2xvYWRfYW5kX2xpbmspLCAoZ3N0X3BhZF9zYXZlX3RoeXNlbGYpLAoJICAoZ3N0X2dob3N0X3BhZF9zYXZlX3RoeXNlbGYpLCAoZ3N0X3BhZF9jaGVja19wdWxsX3JhbmdlKToKCSAgKiBnc3QvZ3N0cGFkLmg6CgkgICogZ3N0L2dzdHhtbC5jOiAoZ3N0X3htbF93cml0ZSksIChnc3RfeG1sX3BhcnNlX2RvYyksCgkgIChnc3RfeG1sX3BhcnNlX2ZpbGUpLCAoZ3N0X3htbF9wYXJzZV9tZW1vcnkpLAoJICAoZ3N0X3htbF9nZXRfZWxlbWVudCksIChnc3RfeG1sX21ha2VfZWxlbWVudCk6CgkgICogZ3N0L2luZGV4ZXJzL2dzdGZpbGVpbmRleC5jOiAoZ3N0X2ZpbGVfaW5kZXhfbG9hZCksCgkgIChfZmlsZV9pbmRleF9pZF9zYXZlX3htbCksIChnc3RfZmlsZV9pbmRleF9jb21taXQpOgoJICAqIGdzdC9yZWdpc3RyaWVzL2dzdGxpYnhtbHJlZ2lzdHJ5LmM6IChyZWFkX3N0cmluZyksIChyZWFkX3VpbnQpLAoJICAocmVhZF9lbnVtKSwgKGxvYWRfcGFkX3RlbXBsYXRlKSwgKGxvYWRfZmVhdHVyZSksIChsb2FkX3BsdWdpbiksCgkgIChsb2FkX3BhdGhzKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLCAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpOgoJICAqIHRvb2xzL2dzdC1jb21wbGV0ZS5jOiAobWFpbik6CgkgICogdG9vbHMvZ3N0LWNvbXBwcmVwLmM6IChtYWluKToKCSAgKiB0b29scy9nc3QtaW5zcGVjdC5jOiAocHJpbnRfZWxlbWVudF9wcm9wZXJ0aWVzX2luZm8pOgoJICAqIHRvb2xzL2dzdC1sYXVuY2guYzogKHhtbGxhdW5jaF9wYXJzZV9jbWRsaW5lKToKCSAgKiB0b29scy9nc3QteG1saW5zcGVjdC5jOiAocHJpbnRfZWxlbWVudF9wcm9wZXJ0aWVzKToKCSAgR0NDIDQgZml4ZW4uCgoyMDA1LTAzLTIxIDE3OjM0OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBOZXh0IGJpZyBtZXJnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5leHQgYmlnIG1lcmdlLgoJICBBZGRlZCBHc3RCdXMgZm9yIG1haW5sb29wIGludGVncmF0aW9uLgoJICBBZGRlZCBHc3RNZXNzYWdlIGZvciBzZW5kaW5nIG5vdGlmaWNhdGlvbnMgb24gdGhlIGJ1cy4KCSAgQWRkZWQgR3N0VGFzayBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgcGlwZWxpbmUgZW50cnkgcG9pbnRzLgoJICBSZW1vdmVkIEdzdFRocmVhZC4KCSAgUmVtb3ZlZCBTY2hlZHVsZXJzLgoJICBTaW1wbGlmaWVkIEdzdFF1ZXVlIGZvciBtdWx0aXRocmVhZGVkIGNvcmUuCgkgIE1hZGUgX2xpbmsgdGhyZWFkc2FmZSwgcmVtb3ZlZCBvbGQgY2Fwc25lZ28uCgkgIEFkZGVkIFNUUkVBTV9MT0NLIGFuZCBQUkVST0xMX0xPQ0sgaW4gR3N0UGFkLgoJICBBZGRlZCBwYWQgYmxvY2tpbmcgZnVuY3Rpb25zLgoJICBSZXdvcmtlZCBzY2hlZHVsaW5nIGZ1bmN0aW9ucyBpbiBHc3RQYWQgdG8gcHJlcGFyZSBmb3IKCSAgc2NoZWR1bGluZyB1cGRhdGVzIHNvb24uCgkgIE1vdmVkIGV2ZW50cyBvdXQgb2YgZGF0YSBzdHJlYW0uCgkgIFNpbXBsaWZpZWQgR3N0RXZlbnQgdHlwZXMuCgkgIEFkZGVkIHJldHVybiB2YWx1ZXMgdG8gcHVzaC9wdWxsLgoJICBSZW1vdmVkIGNsb2NraW5nIGZyb20gR3N0RWxlbWVudC4KCSAgQWRkZWQgcHJvdG90eXBlcyBmb3Igc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZvciBuZXh0IG1lcmdlLgoJICBSZW1vdmVkIGl0ZXJhdGUgZnJvbSBiaW5zIGFuZCBzdGF0ZSBjaGFuZ2UgbWFuYWdlbWVudC4KCSAgRml4ZWQgc29tZSBlbGVtZW50cywgZGlzYWJsZWQgb3RoZXJzIGZvciBub3cuCgkgIEZpeGVkIC1pbnNwZWN0IGFuZCAtbGF1bmNoLgoJICBBZGRlZCBjaGVjayBmb3IgR3N0QnVzLgoKMjAwNS0wMy0wNyAxODoyNzo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRmlyc3QgVEhSRUFERUQgYmFja3BvcnQgYXR0ZW1wdCwgZm9jdXNpbmcgb24gYWRkaW5nIGxvY2tzIGFuZCBtYWtpbmcgc3VyZSB0aGUgQVBJIGlzIHRocmVhZHNhZmUuIE5lZWRzIG1vcmUgd29yay4gTW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXJzdCBUSFJFQURFRCBiYWNrcG9ydCBhdHRlbXB0LCBmb2N1c2luZyBvbiBhZGRpbmcgbG9ja3MgYW5kCgkgIG1ha2luZyBzdXJlIHRoZSBBUEkgaXMgdGhyZWFkc2FmZS4gTmVlZHMgbW9yZSB3b3JrLiBNb3JlIGRvY3MKCSAgZm9sbG93IHRoaXMgd2Vlay4KCjIwMDUtMDItMTggMTM6NTg6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnZHA6IEFsbG9jYXRlIHRoZSAxIGJ5dGUgbW9yZSBtZW1vcnkgdGhhdCB3YXMgZm9yZ290dGVuISEhISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDItMTggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfZHVtcF9ieXRlX2FycmF5KToKCSAgQWxsb2NhdGUgdGhlIDEgYnl0ZSBtb3JlIG1lbW9yeSB0aGF0IHdhcyBmb3Jnb3R0ZW4hISEhIQoKMjAwNC0xMC0wMSAxNjo0OTowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IHRocmVhZHNhZmV0eSBvZiB0aGUgY3JjIGNoZWNraW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfY3JjKToKCSAgRml4IHRocmVhZHNhZmV0eSBvZiB0aGUgY3JjIGNoZWNraW5nIGZ1bmN0aW9uLgoKMjAwNC0wOC0xNiAxMDozNTozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBmb3IgIzE1MDI0MgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGZvciAjMTUwMjQyCgoyMDA0LTA3LTI4IDEwOjIyOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZG9jIHN0eWxlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2Mgc3R5bGUgZml4ZXMKCjIwMDQtMDYtMDkgMTY6MjQ6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYnVtcCBHRFAgdG8gMC4xLCBhZGQgYnVmZmVyIGZsYWdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidW1wIEdEUCB0byAwLjEsIGFkZCBidWZmZXIgZmxhZ3MKCjIwMDQtMDUtMjQgMTY6Mzg6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiB3cmFwIGhlYWRlciBpbiBfTkVXCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3cmFwIGhlYWRlciBpbiBfTkVXCgoyMDA0LTA1LTE5IDE3OjIyOjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzogdXNlIEdTVCBtYWNyb3M7IGFkZCBhc3NlcnRzCgoyMDA0LTA1LTE5IDE2OjU5OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IHByaXZhdGUgcHJvdG90eXBlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwcml2YXRlIHByb3RvdHlwZQoKMjAwNC0wNS0xOSAxNjozNzo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBhZGQgZGF0YXByb3RvY29sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBsaWJzIGRvY3M7IGFkZCBkYXRhcHJvdG9jb2wKCjIwMTEtMTEtMTcgMTI6NDg6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xMCAxODozMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2VzCgoyMDExLTA5LTI5IDEzOjQ2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA3LTA4IDIwOjAyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcGFyc2UgY2FwcyBldmVudCBhbmQgcGF5bG9hZCBjYXBzCgkgIFdoaWNoIG1ha2VzIGl0IGFjdHVhbGx5IG91dHB1dCBzdHVmZi4KCjIwMTEtMDYtMTMgMTY6MzI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogdXBkYXRlIGZvciBidWZmZXIgQVBJIGNoYW5nZQoKMjAxMS0wNS0xNiAxMzo0ODoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IHBvcnQgdG8gbmV3IFNFR01FTlQgQVBJCgoyMDExLTA1LTA5IDE4OjE2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgc2VnbWVudDogZml4IGZvciBuZXcgY29yZSBBUEkKCSAgRml4IGZvciBnc3RfKl9zZWdtZW50X2Z1bGwgcmVuYW1lLgoKMjAxMS0wNS0wOSAxMzowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IGRvbid0IHVzZSBidWZmZXIgY2FwcwoJICBQb3J0IHRvIG5ld2VzdCAwLjExIGNvcmUgQVBJLCByZW1vdmUgR1NUX1BBRF9DQVBTIGFuZCBHU1RfQlVGRkVSX0NBUFMuCgoyMDExLTA0LTE5IDExOjM1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0OiBVc2UgR19ERUZJTkVfVFlQRSBpbnN0ZWFkIG9mIEdTVF9CT0lMRVJQTEFURQoKMjAxMS0wMS0yNyAxNzoyODo1MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZQoJICBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOgoJICBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDMtMzEgMTc6NDc6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBidWZmZXJsaXN0OiBmaXhlcyBmb3IgbmV3IEFQSQoKMjAxMS0wMy0yOCAxNzo0Njo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yOCAxNTo1MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCByZW1haW5pbmcgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yOCAxNDoxMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogd29yayBvbiBwb3J0aW5nIHRoZSB1bml0IHRlc3RzCgoyMDExLTAzLTI3IDE2OjM1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBwbHVnaW5zOiBwb3J0IHNvbWUgcGx1Z2lucyB0byB0aGUgbmV3IG1lbW9yeSBBUEkKCjIwMTEtMDItMDkgMTI6NDU6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZW5zdXJlIGJ1ZmZlcidzIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMTEtMDEtMTYgMTQ6NTU6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBtYWtlIG5ld3NlZ21lbnQgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlCgoyMDEwLTA2LTE4IDE2OjM3OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHVzZSBvdXIgb3duIG1hY3JvcyBmb3IgdGhlIHRlc3RzIG1haW4gZnVuY3Rpb24KCjIwMTAtMDMtMTUgMjI6NDk6NTMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gY29uZmlndXJlCgkgIEZpeGVzIGZvciB0aGUgY29kZSBpbmNsdWRlZAoKMjAxMC0wMy0xNiAxNTo0NToyMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCSAgQWxzbyBjaGFuZ2UgbXkgZW1haWwgZnJvbSB0aGUgb2xkIHVuaXZlcnNpdHkgb25lIHRvIHRoZSBjdXJyZW50IG9uZS4KCjIwMTAtMDMtMTEgMTM6MzI6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gd2FybmluZyBmbGFncwoJICBJbmNsdWRlcyBhbGwgdGhlIGZpeGVzIG5lY2Vzc2FyeSB0byBtYWtlIHN0dWZmIGNvbXBpbGUgYWdhaW4uCgoyMDA5LTExLTA1IDE1OjQyOjA5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGdkcGRlcGF5OiBDbGVhciBhZGFwdGVyIG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2UKCSAgRml4ZXMgIzYwMDQ2OQoKMjAwOS0xMC0yOCAwMDo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIFJlbW92ZSBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSB0aGV5J3JlIHBvaW50bGVzcwoJICBUaGVyZSdzIG5vdCBtdWNoIHBvaW50IGluIHVzaW5nIEdTVF9ERUJVR19GVU5DUFRSIHdpdGggR09iamVjdAoJICB2aXJ0dWFsIGZ1bmN0aW9ucyBzdWNoIGFzIGdldF9wcm9wZXJ0eSwgc2V0X3Byb3BlcnksIGZpbmFsaXplIGFuZAoJICBkaXNwb3NlLCBzaW5jZSB0aGV5J2xsIG5ldmVyIGJlIHVzZWQgYnkgYW55b25lIGFueXdheS4gU2F2ZXMgYQoJICBmZXcgYnl0ZXMgYW5kIHBvc3NpYmx5IGEgc2l4dGVlbnRoIG9mIGEgcG9sYXIgYmVhci4KCjIwMDktMDktMjIgMTE6NTg6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogRG9uJ3QgcmVwZWF0IHRhZ3MgYnVmZmVycyBmb3IgZXZlcnkgbmV3IHNlZ21lbnQKCSAgT25seSBzZW5kIGEgdGFnIGJ1ZmZlciB3aGVuIG9uZSBpcyByZWNlaXZlZCwgbm90IGFmdGVyIGV2ZXJ5IG5ldyBzZWdtZW50CgkgIGV2ZW50L3VwZGF0ZS4KCjIwMDktMDgtMjcgMTg6NTk6NDkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgQnVnIDU5MzAzNSAtIHNldCBJTl9DQVBTIGZvciBzdHJlYW1oZWFkZXIgYnVmZmVyCgoyMDA5LTA4LTEwIDE1OjQwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgc3RyZWFtaGVhZGVyOiBGaXggY2FwcyBsZWFrIGluIHRoZSB2b3JiaXNlbmMgdW5pdCB0ZXN0CgoyMDA5LTA4LTEwIDE0OjE0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgY2hlY2tzOiBmaXggc3RyZWFtIGhlYWRlciB1bml0IHRlc3QgaGFuZ2luZyBpbiBnc3RfdGFza19jbGVhbnVwX2FsbCgpCgkgIFNldCBwaXBlbGluZXMgdG8gTlVMTCBzdGF0ZSBhbmQgdW5yZWYgd2hlbiBkb25lLgoKMjAwOS0wNS0yNyAxMjoxMDowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzIGJlY2F1c2UgTlVMTCBjYXBzIGNvbmZ1c2UgYmFzZXRyYW5zZm9ybS4KCSAgRml4ZXMgIzU4Mzg2NwoKMjAwOC0xMC0xNiAxNTowNzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC90eXBlZmluZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgoyMDA4LTA3LTEwIDIxOjA2OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbiB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXN0YWcuYzoKCSAgKiBnc3QvYWRkZXIvZ3N0YWRkZXIuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uCgkgIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZWxpbmVzIGFyZSAic2ltcGxlIgoJICBwaXBlbGluZXMuCgoyMDA4LTA2LTMwIDA5OjQ2OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEVuYWJsZSB1bml0IHRlc3RzIG9uIFBQQyBhZ2FpbiBhcyB0aGUgYnVncyBhcmUgbm93IGZpeGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIEVuYWJsZSB1bml0IHRlc3RzIG9uIFBQQyBhZ2FpbiBhcyB0aGUgYnVncyBhcmUgbm93IGZpeGVkLgoKMjAwOC0wNi0yMCAwODo0NToxMyArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IEZpeCBhIGJ1ZmZlciBtZW1sZWFrIGFuZCByZW1vdmUgYSBjb25mdXNpbmcgYW5kIHdyb25nIGRlYnVnIG91dHB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXQpOgoJICBGaXggYSBidWZmZXIgbWVtbGVhayBhbmQgcmVtb3ZlIGEgY29uZnVzaW5nIGFuZCB3cm9uZyBkZWJ1ZyBvdXRwdXQuCgkgIEZpeGVzIGJ1ZyAjNTM4NjYzLgoKMjAwOC0wNi0wNCAxNjowMDoyNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IERvIG5vdCB0cnkgdG8gcnVuIGEgdGVzdCB3aGljaCByZXF1aXJlcyB2b3JiaXNlbmMgdW5sZXNzIHdlIGhhdmUgYWN0dWFsbHkgYnVpbHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoYnVmZmVyX3Byb2JlX2NiKSwKCSAgKHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYyksIChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBEbyBub3QgdHJ5IHRvIHJ1biBhIHRlc3Qgd2hpY2ggcmVxdWlyZXMgdm9yYmlzZW5jIHVubGVzcyB3ZSBoYXZlCgkgIGFjdHVhbGx5IGJ1aWx0IGl0LgoKMjAwOC0wNi0wNCAwNTo1ODozOCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IERvbid0IHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHRoYXQgY29udGFpbiBhIGNvcHkgb2YgdGhlIGJ1ZmZlciBpbmNsdWRpbmcgdGhlIGNhcHMgb2YgdGhlbSByZXN1bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBEb24ndCBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB0aGF0IGNvbnRhaW4gYSBjb3B5IG9mIHRoZSBidWZmZXIKCSAgaW5jbHVkaW5nIHRoZSBjYXBzIG9mIHRoZW0gcmVzdWx0aW5nIGluIGFuIGFsd2F5cyBpbmNyZWFzaW5nIHJlZmNvdW50CgkgIG9mIHRoZSBjYXBzIGFuZCBpbnNhbmVseSBsYXJnZSBjYXBzLiBJbnN0ZWFkIGluY2x1ZGUgYSBidWZmZXIgd2l0aG91dAoJICBjYXBzIGluIHRoZSBuZXcgY2Fwcy4gRml4ZXMgYnVnICM1MzY0NzUuCgoyMDA4LTA1LTIyIDIyOjA5OjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gY29tbWVudHMsIGFuZCBzb21lIG5ldyBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwLmg6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gY29tbWVudHMsIGFuZCBzb21lIG5ldyBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuCgkgIFJlbmFtZSBzb21lIGludGVybmFsIGVudW0gZGVjbGFyYXRpb25zIChhdWRpb2NvbnZlcnQncyBEaXRoZXJUeXBlIGFuZAoJICBOb2lzZVNoYXBpbmdUeXBlLCBHc3RVbml0VHlwZSBmcm9tIHRoZSBUQ1AgZWxlbWVudHMpIHRvIG1hdGNoIHRoZQoJICBkb2N1bWVudGVkIEdPYmplY3QgdHlwZSBuYW1lcyBzbyB0aGF0IHRoZSBkb2NzIHBpY2sgdGhlbSB1cC4KCSAgTmFtZSB0aGUgcGxheWJpbjIgZG9jcyBtYXJrdXBzIHByb3Blcmx5IHNvIHRoZXkgZ2V0IHBpY2tlZCB1cC4gVGhleSdsbAoJICBuZWVkIHJlbmFtaW5nIGJhY2sgd2hlbi9pZiBwbGF5YmluMiBiZWNvbWVzIHBsYXliaW4uCgkgIDEwMCUgc3ltYm9sIGNvdmVyYWdlIGZvciB0aGUgcGx1Z2luIGRvY3MsIGJvb3lhLgoKMjAwOC0wNS0yMSAxNjozNjo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBiYWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6IChnc3Rfb2dnX3BhZF90eXBlZmluZCk6CgkgICogZ3N0L3BsYXliYWNrL2RlY29kZXRlc3QuYzogKG5ld19kZWNvZGVkX3BhZF9jYik6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOiAoZ3N0X2RlY29kZV9iaW5faW5pdCksCgkgICh0cnlfdG9fbGlua18xKSwgKGVsZW1faXNfZHluYW1pYyksIChjbG9zZV9saW5rKSwgKHR5cGVfZm91bmQpLAoJICAoY2xlYW51cF9kZWNvZGViaW4pOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9pbml0KSwKCSAgKGNvbm5lY3RfZWxlbWVudCksIChnc3RfZGVjb2RlX2dyb3VwX2NvbnRyb2xfZGVtdXhlcl9wYWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfcmVtb3ZlX3Byb2JlKSwKCSAgKHF1ZXVlX291dF9vZl9kYXRhKSwgKGdlbl9wcmVyb2xsX2VsZW1lbnQpLCAocHJlcm9sbF91bmxpbmtlZCksCgkgIChtdXRlX2dyb3VwX3R5cGUpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fdmlzX2Jsb2NrZWQpLAoJICAoZ3N0X3BsYXlfYmluX3NldF9wcm9wZXJ0eSksIChoYW5kb2ZmKSwgKGdlbl92aWRlb19lbGVtZW50KSwKCSAgKGdlbl90ZXh0X2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpLCAoZ2VuX3Zpc19lbGVtZW50KSwKCSAgKHJlbW92ZV9zaW5rcyksIChhZGRfc2luayksIChzZXR1cF9zaW5rcyk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChwYWRfYWRkZWRfY2IpLCAobm9fbW9yZV9wYWRzX2NiKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfZ2V0X3ZpZGVvX3NpbmspLAoJICAoZ3N0X3BsYXlfc2lua19nZXRfYXVkaW9fc2luayksIChnc3RfcGxheV9zaW5rX3Zpc191bmJsb2NrZWQpLAoJICAoZ3N0X3BsYXlfc2lua192aXNfYmxvY2tlZCksIChnc3RfcGxheV9zaW5rX3NldF92aXNfcGx1Z2luKSwKCSAgKGdzdF9wbGF5X3NpbmtfZ2V0X3Zpc19wbHVnaW4pLCAoZ3N0X3BsYXlfc2lua19zZXRfbXV0ZSksCgkgIChnZW5fdmlkZW9fY2hhaW4pLCAoZ2VuX3RleHRfY2hhaW4pLCAoZ2VuX2F1ZGlvX2NoYWluKSwKCSAgKGdlbl92aXNfY2hhaW4pLCAoZ3N0X3BsYXlfc2lua19yZWNvbmZpZ3VyZSksCgkgIChnc3RfcGxheV9zaW5rX3NldF9mb250X2Rlc2MpLCAoZ3N0X3BsYXlfc2lua19nZXRfZm9udF9kZXNjKSwKCSAgKGdzdF9wbGF5X3NpbmtfcmVxdWVzdF9wYWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKHR5cGVfZm91bmQpLCAoc2V0dXBfc291cmNlKToKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpLAoJICAoY2JfbmV3cGFkKToKCSAgKiBnc3QvcGxheWJhY2svdGVzdDYuYzogKG5ld19kZWNvZGVkX3BhZF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yYXRlLmM6ICh0ZXN0X2luamVjdG9yX2NoYWluKSwKCSAgKGRvX3BlcmZlY3Rfc3RyZWFtX3Rlc3QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZmbXBlZ2NvbG9yc3BhY2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgIChub3Rnc3RfY2hlY2tfc2V0dXBfc3JjX3BhZDIpLCAobm90Z3N0X2NoZWNrX3RlYXJkb3duX3NyY19wYWQyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAodGVzdF9waXBlbGluZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6IChtYWtlX3dhdl9waXBlbGluZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChtYWtlX21vZF9waXBlbGluZSksCgkgIChtYWtlX2R2X3BpcGVsaW5lKSwgKG1ha2Vfd2F2X3BpcGVsaW5lKSwgKG1ha2VfZmxhY19waXBlbGluZSksCgkgIChtYWtlX3NpZF9waXBlbGluZSksIChtYWtlX3BhcnNlX3BpcGVsaW5lKSwgKG1ha2Vfdm9yYmlzX3BpcGVsaW5lKSwKCSAgKG1ha2VfdGhlb3JhX3BpcGVsaW5lKSwgKG1ha2Vfdm9yYmlzX3RoZW9yYV9waXBlbGluZSksCgkgIChtYWtlX2F2aV9tc21wZWc0djNfbXAzX3BpcGVsaW5lKSwgKG1ha2VfbXAzX3BpcGVsaW5lKSwKCSAgKG1ha2VfYXZpX3BpcGVsaW5lKSwgKG1ha2VfbXBlZ19waXBlbGluZSksIChtYWtlX21wZWdudF9waXBlbGluZSksCgkgICh1cGRhdGVfZmlsbCksIChtc2dfYnVmZmVyaW5nKToKCSAgRG9uJ3QgdXNlIGJhZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTIxIDA2OjQ1OjIyICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogQ2xvc2UgYSBidWZmZXIgbWVtb3J5IGxlYWsuIEZpeGVzIGJ1ZyAjNTM0MDcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jaGFpbik6CgkgIENsb3NlIGEgYnVmZmVyIG1lbW9yeSBsZWFrLiBGaXhlcyBidWcgIzUzNDA3MS4KCjIwMDgtMDQtMTggMTQ6NTQ6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERvbid0IHZhbGlkYXRlIHRoZSBwYXlsb2FkIGlmIHRoZXJlIGlzbid0IGFueS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIERvbid0IHZhbGlkYXRlIHRoZSBwYXlsb2FkIGlmIHRoZXJlIGlzbid0IGFueS4KCSAgRml4ZXMgIzUyNTkxNQoKMjAwOC0wMy0yNyAxNToyNjozOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDaGVjayB0aGUgYm9keSBDUkMgKGlmIHNldCkgd2hlbiBkZXBheWxvYWRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDaGVjayB0aGUgYm9keSBDUkMgKGlmIHNldCkgd2hlbiBkZXBheWxvYWRpbmcuCgkgIEZpeGVzICM1MjI0MDEuCgoyMDA4LTAzLTIzIDEzOjEyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogTWFrZSB0ZXN0IGNvbXBpbGUgd2l0aG91dCB1bnVzZWQgZnVuY3Rpb24vdmFyaWFibGUgd2FybmluZ3Mgb24gUFBDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBNYWtlIHRlc3QgY29tcGlsZSB3aXRob3V0IHVudXNlZCBmdW5jdGlvbi92YXJpYWJsZSB3YXJuaW5ncyBvbiBQUEMuCgoyMDA4LTAzLTIyIDE1OjAwOjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZSBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKGdzdF9hbHNhX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKGdzdF9hbHNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChnc3RfYWxzYXNyY19jbGFzc19pbml0KToKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgIChnc3RfY2RfcGFyYW5vaWFfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWVfdmZzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWVfdmZzX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6IChnc3RfdGhlb3JhX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6IChnc3RfdGhlb3JhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc3JjLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21peGVydHJhY2suYzoKCSAgKGdzdF9taXhlcl90cmFja19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VydHBwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOiAoZ3N0X2F1ZGlvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKGdzdF9hdWRpb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAoZ3N0X3BsYXlfYmFzZV9iaW5fY2xhc3NfaW5pdCksCgkgIChwcmVyb2xsX3VubGlua2VkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6IChnc3RfcXVldWVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKGdzdF91cmlfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzogKGdzdF92aWRlb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzogKGdzdF92NGxtanBlZ3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOiAoZ3N0X3Y0bG1qcGVnc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jbGFzc19pbml0KToKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2UKCSAgc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1c2FnZSwKCSAgZmV3ZXIgYWxsb2NhdGlvbnMgYW5kIHRodXMgbGVzcyBtZW1vcnkgZGVmcmFnbWVudGF0aW9uLiBEZXBlbmQKCSAgb24gY29yZSBDVlMgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTIzODA2LgoKMjAwOC0wMy0wMyAwNjowNDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmM6IChnc3RfYWxzYV9taXhlcl90cmFja19nZXRfdHlwZSk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vYXVkaW8uYzoKCSAgKiBnc3QtbGlicy9nc3QvZmZ0L2tpc3NfZmZ0X2Y2NC5jOiAoa2lzc19mZnRfZjY0X2FsbG9jKToKCSAgKiBnc3QtbGlicy9nc3QvcGJ1dGlscy9taXNzaW5nLXBsdWdpbnMuYzoKCSAgKGdzdF9taXNzaW5nX3VyaV9zaW5rX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZGVjb2Rlcl9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbmNvZGVyX21lc3NhZ2VfbmV3KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RydGNwYnVmZmVyLmM6CgkgIChnc3RfcnRjcF9wYWNrZXRfYnllX2dldF9yZWFzb24pOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzoKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfZ2V0X2FueV9jYXBzKToKCSAgKiBzeXMvdjRsL3Y0bF9jYWxscy5jOgoJICAqIHN5cy92NGwvdjRsc3JjX2NhbGxzLmM6IChnc3RfdjRsc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsc3JjX3RyeV9jYXB0dXJlKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3hpbWFnZXNpbmtfeGltYWdlX25ldyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoc2V0dXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWNvZGViaW4uYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzogKHNldHVwX2dub21ldmZzc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKHNldHVwX211bHRpZmRzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoc2V0dXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKHNldHVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChzZXR1cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL2Nsb2NrLXNlbGVjdGlvbi5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChzZXR1cCksICh0ZWFyZG93bik6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvdmlkZW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChxdWVyeV9wb3NpdGlvbnNfZWxlbXMpLAoJICAocXVlcnlfcG9zaXRpb25zX3BhZHMpOgoJICAqIHRlc3RzL2ljbGVzL3N0cmVzcy14b3ZlcmxheS5jOiAobXljbG9jayk6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZAoJICBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RydHAuZGVmOgoJICBBZGQgZ3N0X3J0cF9idWZmZXJfc2V0X2V4dGVuc2lvbl9kYXRhIHRvIHRoZSBzeW1ib2wgZGVmaW5pdGlvbiBmaWxlLgoKMjAwNy0wNi0xNCAxOTo1MzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogRGlzYWJsZSB0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMoKSBvbiBwcGM2NCBzaW5jZSBpdCBmYWlscyBvbiB0aGUgcDUtcHBjNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBEaXNhYmxlIHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYygpIG9uIHBwYzY0IHNpbmNlIGl0CgkgIGZhaWxzIG9uIHRoZSBwNS1wcGM2NCBidWlsZCBib3QgYW5kIHRoZSBmYWlsdXJlIGxvb2tzIGxpa2UgaXQgaXMgZHVlCgkgIHRvIHRoZSBzYW1lIGlzc3VlIGFzICMzNDgxMTQsIGllLiBhIGNvbXBpbGVyIGJ1Zy4KCjIwMDctMDQtMTQgMTI6MzQ6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfY2hhaW4pOiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgYnVmZmVyX3Byb2JlX2NiLCBHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBhIGJ1ZyB3aGVyZSBzZXJpYWxpemVkIElOX0NBUFMgYnVmZmVycyBuZWVkZWQgdG8gYmUgc2V0IElOX0NBUFMuCgoyMDA3LTA0LTEzIDIxOjU1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgbl9pbl9jYXBzLCBidWZmZXJfcHJvYmVfY2IsIEdTVF9TVEFSVF9URVNULAoJICBzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBBZGQgYW5vdGhlciB0ZXN0IHNldCB1cCBmb3IgZmFpbHVyZQoKMjAwNy0wNC0xMyAyMTowOTowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGRlYnVnIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRlYnVnIGNoYW5nZXMKCjIwMDctMDQtMTMgMjE6MDg6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAobl90YWdzLCB0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAobl90YWdzLCB0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBzdHJlYW1oZWFkZXJfc3VpdGUsIG1haW4pOgoJICBBZGQgYSB0ZXN0IGZvciB0aGUgc3RyZWFtaGVhZGVyIGJ1ZyBXaW0gZml4ZWQuCgoyMDA3LTA0LTEyIDEwOjAzOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogTWFrZSBzdXJlIHdlIHNldCB0aGUgSU5fQ0FQUyBmbGFnIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBJTl9DQVBTIGZsYWcgY29ycmVjdGx5LgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX3JlbmRlcik6CgkgIEdldCB0aGUgSU5fQ0FQUyBmbGFnIGJlZm9yZSB3ZSBjYWxsIGZ1bmN0aW9ucyB0aGF0IG1lc3Mgd2l0aCB0aGUgZmxhZ3MuCgoyMDA3LTA0LTEwIDIwOjM3OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciwgZ3N0X2dkcF9wYXlfY2hhaW4sIGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIsCgkgIGdzdF9nZHBfcGF5X2NoYWluLCBnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgT25seSBzdGFtcCBidWZmZXJzIHdpdGggb2Zmc2V0L29mZnNldF9lbmQgcmlnaHQgYmVmb3JlIHRoZXkgZ2V0CgkgIHB1c2hlZC4gIFRoaXMgZW5zdXJlcyBvZmZzZXQgY29udGludWl0eSwgd2hpY2ggd2FzIG5vdCB0aGUgY2FzZQoJICBiZWZvcmUgYXMgc2hvd24gYnkKCSAgZ3N0LWxhdW5jaCAtdiAtbSBhdWRpb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MTAgISBhdWRpb2NvbnZlcnQgISB2b3JiaXNlbmMgISBnZHBwYXkgISBpZGVudGl0eSBjaGVjay1pbXBlcmZlY3Qtb2Zmc2V0PVRSVUUgISBmYWtlc2luayBzaWxlbnQ9VFJVRQoKMjAwNy0wNC0xMCAyMDoyNTowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZGluZyBkZWJ1Z2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBkZWJ1Z2dpbmcKCjIwMDctMDMtMTQgMTU6MDU6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBhZGQgYnVmZmVyIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBidWZmZXIgbG9nZ2luZwoKMjAwNi0xMi0yMiAxMjoxMDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBGaXggdGhlIGRwIHRlc3RzLCBidXQgYWN0aXZhdGluZyB0aGUgcGFkcyBmb3IgdGhlIHN0cmVhbWhlYWRlciB0ZXN0cyB0b28gYW5kIGNsZWFuaW5nIHVwIGNvbmRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChjbGVhbnVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChjbGVhbnVwX2dkcHBheSksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgRml4IHRoZSBkcCB0ZXN0cywgYnV0IGFjdGl2YXRpbmcgdGhlIHBhZHMgZm9yIHRoZSBzdHJlYW1oZWFkZXIgdGVzdHMKCSAgdG9vIGFuZCBjbGVhbmluZyB1cCBjb25kaXRpb25hbHkKCjIwMDYtMTItMjEgMDg6MTI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKGNsZWFudXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmM6ICh0ZWFyZG93bl9zdWJwYXJzZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzogKGNsZWFudXBfdGV4dG92ZXJsYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoY2xlYW51cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2xlYW51cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoY2xlYW51cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKSwKCSAgKGNsZWFudXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzogKHNldHVwX3ZvcmJpc3RhZyksCgkgIChjbGVhbnVwX3ZvcmJpc3RhZyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTA5LTIxIDA1OjMxOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBTb21lIG1vcmUgY29tcGlsYXRpb24gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9hdWRpby5jOgoJICBTb21lIG1vcmUgY29tcGlsYXRpb24gZml4ZXMuCgoyMDA2LTA5LTIwIDE3OjA0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBGaXggc29tZSB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6IChlb3NfYnVmZmVyX3Byb2JlKToKCSAgRml4IHNvbWUgd2FybmluZ3MuCgoyMDA2LTA4LTI1IDE2OjE5OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBtaXNsZWFkaW5nIGRlYnVnIG1lc3NhZ2VzLCBhZGQgYSBjb3VwbGUgb2YgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICBGaXggbWVtb3J5IGxlYWtzIGFuZCBtaXNsZWFkaW5nIGRlYnVnIG1lc3NhZ2VzLCBhZGQgYSBjb3VwbGUgb2YKCSAgY29tbWVudHMuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfZ2V0X3N0YXRzKSwKCSAgKGdzdF9tdWx0aV9mZF9zaW5rX3JlbmRlcik6CgkgIERvIG5vdCB1c2UgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgaW4gYSBiYXNlc2luayByZW5kZXIgbWV0aG9kLAoJICBhcyBpdCBtYXkgaW5jb3JyZWN0bHkgdW5yZWYgdGhlIGJ1ZmZlci4gSW5zdGVhZCwgdXNlIGNvbnZvbHV0ZWQKCSAgZGFuY2UgdG8gYXZvaWQgY29weWluZyB0aGUgYnVmZmVyIGV4Y2VwdCB3aGVuIHdlIG5lZWQgdG8uCgoyMDA2LTA4LTIxIDE5OjA0OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvUkVBRE1FOgoJICBhZGRpbmcgYSBSRUFETUUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBhIFJFQURNRQoKMjAwNi0wOC0yMSAxOTowMTo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIEdEUCBwbHVnaW4gdG8gLWJhc2UgZnJvbSAtYmFkLiBDbG9zZXMgIzM0Nzc4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIEdEUCBwbHVnaW4gdG8gLWJhc2UgZnJvbSAtYmFkLiAgQ2xvc2VzICMzNDc3ODMuCgoyMDA2LTA4LTA4IDEzOjU3OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBOb3cgaW5jbHVkZXMgImNvbmZpZy5oIgoKMjAwNi0wOC0wOCAxMzo0NTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCjIwMDYtMDgtMDQgMTM6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiBGaXhlcyAjMzQ5OTE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgoyMDA2LTA4LTAyIDE2OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEaXNhYmxlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX2RlcGF5X3NyY19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgRGlzYWJsZSBzZWVraW5nLgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250cy4KCSAgQ2xlYXIgY2FwcyB3aGVuIGdvaW5nIHRvIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9wYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NyY19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIFJlc2V0IHBheWxvYWRlciB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBGaXggbGVha2VkIGJ1ZmZlcnMgaW4gLT5xdWV1ZSBvbiBwdXNoIGVycm9ycy4KCSAgRGlzYWJsZSBzZWVraW5nLgoJICBDb2RlIGNsZWFudXBzLgoJICBDcmVhdGUgcGFja2V0aXplciBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgoyMDA2LTA3LTMxIDA4OjQ4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20KCSAgdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMzNDkyMDQKCjIwMDYtMDctMjYgMTA6NTI6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCk6CgkgIHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseQoJICBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnRhbGx5CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgcmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGJ1ZmZlcnMsIGl0J3MgYWxyZWFkeSBkb25lIGluIGdzdGNoZWNrLmgKCjIwMDYtMDctMTcgMTQ6MTc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzIGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTcgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBmaXggdHlwbyBpbiBjb21tZW50CgoyMDA2LTA3LTE0IDEwOjM0OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCjIwMDYtMDctMTMgMTU6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIGZpeCBzZWdmYXVsdHMgZHVlIHRvIHdyb25nIGdfZnJlZQoJICBhZGQgZXhhbXBsZQoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBleGFtcGxlCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNi0wNiAxNjoyNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGFwdCB0byBuZXcgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGFwdCB0byBuZXcgYXBpCgoyMDA2LTA2LTA2IDE0OjM5OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgYWRkIHZlcnNpb24gMS4wCgoyMDA2LTA2LTAyIDE2OjQ1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgc21hbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGZpeGVzCgoyMDA2LTA2LTAyIDEwOjI4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMKCSAgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCksIChnZHBwYXlfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3IgY3JjCgoyMDA2LTA2LTAxIDIyOjAwOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMjIgMTU6NTM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcGF5X2NoYWluKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucwoJICBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGNsZWFuIHVwIG1vcmUKCjIwMDYtMDUtMjIgMTM6MjU6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2dkcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX3BheV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2Rpc3Bvc2UpLCAoZ3N0X2dkcF9zdGFtcF9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZ2RwX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSksIChnZHBkZXBheV9wdXNoX3Blcl9ieXRlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlciksIChnZHBkZXBheV9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcHBheV9zdWl0ZSksCgkgIChtYWluKToKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbAoJICBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCjIwMTItMDktMTAgMjA6Mzg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNjIGZpeCBmb3IgMC4xMQoJICBDb252ZXJ0IHRoZSBpbmNvbWluZyBjYXBzIGJlZm9yZSBwcm94eWluZyB0aGVtCgkgIENsZWFyIHRoZSBsYXN0X3BhZCB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIHRlc3RzOiBJbXBsZW1lbnQgYWNjZXB0X2NhcHMsIGRvbid0IGxlYWsgZXZlbnQKCjIwMTItMDktMTAgMTY6MTI6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC1tYXJzaGFsLmxpc3Q6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IFVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTItMDktMTAgMTY6MDk6MjYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQtbWFyc2hhbC5saXN0OgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4Lmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0LmM6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcuaDI2NDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcuanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5tanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIuaDI2NDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLm1qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi55dXkyOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9ib29sZWFuX3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2VudW1fcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvZW51bV9wcm9wZXJ0eV9ndGsyLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2ludF9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIFVWQyBIMjY0IHBsdWdpbgoKMjAxMi0wOS0wOSAyMzo1Mjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgb3BlbmN2OiBkaXNhYmxlIG1vdGlvbmNlbGxzICJkYXRlIiBwcm9wZXJ0eSBmb3Igbm93CgkgIFNob3VsZG4ndCBiZSBvZiB0eXBlIGxvbmcuIE5vdCBzdXJlIGl0J3MgdXNlZnVsIGF0IGFsbCwgc28KCSAganVzdCBkaXNhYmxlIGl0IGZvciBub3cgdG8gc2VlIGlmIHNvbWVvbmUgbWlzc2VzIGl0LgoKMjAxMi0wOS0wOSAxNDozNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbm9uLWV4aXN0YW50IGhsc3NpbmsgcGx1Z2luIGZyb20gTk9OUE9SVEVEIGxpc3QKCjIwMTItMDktMDggMTY6MDg6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogRml4IG1lbW9yeSBsZWFrCgoyMDEyLTA5LTA4IDE1OjU3OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogZml4IGxlYWtzIGluIGF1ZGlvc3JjL3NpbmsKCjIwMTItMDktMDggMTc6MDM6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCBvdmVycmlkZSB1cHN0cmVhbSBmcmFtZXJhdGUgYW5kIFBBUgoJICBJZiB1cHN0cmVhbSBwcm92aWRlZCBzb21lLCB0aGVyZSdzIGEgZ29vZCBjaGFuY2UgdGhleSBhcmUgdGhlIG9uZXMgdG8gdXNlCgoyMDEyLTA5LTA4IDE0OjQzOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkgIGhsczogZGlzYWJsZSBobHNzaW5rIGJ1dCBkbyBidWlsZCBobHNkZW11eAoKMjAxMi0wOS0wOCAxNDozMTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlLmFjOiBQcm9wZXJseSBkaXNhYmxlIEhMUyBwbHVnaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2FkMzQ0NWEyNWYzMWJjMGQwMTY3YTRmNDEzNzkxYmVhODAwNjc4My4KCSAgVGhpcyBkaXNhYmxlZCBobHNkZW11eCBhcyB3ZWxsCgoyMDEyLTA5LTA4IDE0OjA1OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBQcm9wZXJseSBkaXNhYmxlIEhMUyBwbHVnaW4KCjIwMTItMDktMDcgMTY6MDg6NTcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogQWRkIG1pc3NpbmcgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MKCjIwMTItMDktMDcgMTY6MDc6NDAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogQWRkIHNlZ21lbnQgdGFyZ2V0LWR1cmF0aW9uIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgY2F1c2VzIGhsc3NpbmsgdG8gcHVzaCBhIGZvcmNlIGtleSB1bml0IGV2ZW50IHVwc3RyZWFtCgkgIGV2ZXJ5IHRhcmdldC1kdXJhdGlvbiBzZWNvbmRzLiBUaGlzIGlzIGZvciBzaW1wbGUgYXV0b21hdGljIHNlZ21lbnRpbmcuCgkgIFRvIGRpc2FibGUgaXQsIHNldCB0aGUgcHJvcGVydHkgdG8gMCBhbmQgcHVzaCB0aGUgZm9yY2Uga2V5IHVuaXQgZXZlbnQKCSAgbWFudWFsbHkuCgoyMDExLTA4LTIxIDExOjAwOjUxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiBhZGQgaGxzc2luayBlbGVtZW50CgoyMDEyLTA5LTA2IDAxOjUzOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBjb3JyZWN0IHZhcmlhYmxlIHdoZW4gaGFuZGxpbmcgcGFkIHByb2JlIGJ1ZmZlcnMKCSAgUGFkIHByb2JlIGRhdGEgaXMgaW4gdGhlIEdzdFBhZFByb2JlSW5mbywgbm90IGluIHRoZSB1c2VyIGRhdGEKCSAgcGFyYW1ldGVyLgoKMjAxMi0wOS0wMyAxOToyNTo1MiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIG15dGh0djogdXBkYXRlIGZvciBkdXJhdGlvbiBtZXNzYWdlIEFQSSBjaGFuZ2UKCjIwMTItMDktMDMgMTQ6MjE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgaW50ZXJsYWNlX2NvZGluZyBiYXNlZCBvbiBpbnB1dCBjYXBzCgkgIGFuZCByZW1vdmUgcHJvcGVydHkuCgoyMDEyLTA5LTAzIDE0OjA0OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogY29uZmlndXJlIHByb2ZpbGUvbGV2ZWwgZnJvbSBhbGxvd2VkIGRvd25zdHJlYW0gY2FwcyBpbnN0ZWFkIG9mIHByb3BlcnRpZXMKCSAgVGhpcyBpcyBob3cgaXQncyBkb25lIGVsc2V3aGVyZSBhbmQgd29ya3MgYmV0dGVyIHdpdGggZW5jb2RlYmluLgoJICBSZW1vdmVzICJmb3JjZS1wcm9maWxlIiBwcm9wZXJ0eSwgcmVhZC1vbmx5ICJwcm9maWxlIiBwcm9wZXJ0eSBhbmQKCSAgImxldmVsIiBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDYwOAoKMjAxMi0wOS0wMyAxMzo1ODoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBmaXggbWFpbiBwcm9maWxlIG1hcHBpbmcKCjIwMTItMDktMDMgMTM6MDQ6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBwcmV0dGlmeSBlbnVtIHByb3BlcnR5IG5pY2tzCgkgIFVzZSAnLScgaW5zdGVhZCBvZiAnXycgYXMgd29yZCBzZXBhcmF0b3IuCgoyMDEyLTA5LTAzIDEyOjQxOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IGNoYW5nZSAiaW50ZXJsYWNlZCIgYm9vbGVhbiBpbiBjYXBzIHRvICJpbnRlcmxhY2UtbW9kZSIKCSAgTm90IHN0cmljdGx5IG5lZWRlZCwgYnV0IGxldCdzIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHRoZSByYXcKCSAgdmlkZW8gd2F5IG9mIGRvaW5nIHRoaW5ncy4KCjIwMTItMDktMDMgMTI6MzM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogdXNlIHN0cmluZ3MgZm9yIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggbW9zdCBvdGhlciBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDM2CgoyMDEyLTA5LTAyIDEyOjM2OjM3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IE5vIG5lZWQgdG8gZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTc1CgoyMDEyLTA5LTAyIDAzOjU1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBleHRyYWN0IHllYXIgdG8gd3JpdGUgaW50byBJRDN2MSB0YWcgZnJvbSBHU1RfVEFHX0RBVEVfVElNRSBub3QgR1NUX1RBR19EQVRFCgoyMDEyLTA5LTAxIDIxOjQ2OjE5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzZXQgMCBkdXJhdGlvbiB3aGVuIHZvcF9jb2RlZCBpcyAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNjkKCjIwMTItMDktMDIgMDE6NDI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uIC0+IGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbl9jaGFuZ2VkCgoyMDEyLTA5LTAxIDA5OjEyOjUxIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEhhbmRsZSBjYXBzIHF1ZXJ5IG9uIGludGVybmFsIHNyY3BhZAoJICBSZXBseSB3aXRoIEFOWSBjYXBzIHRvIGVuc3VyZSBsaW5raW5nIHRoZSBpbnRlcm5hbCBzcmMgcGFkLiBUaGlzCgkgIG1pZ2h0IG5lZWQgbW9yZSBhdHRlbnRpb24gbGF0ZXIsIHRvIHJlcGx5IHdpdGggdGhlIHJlYWwgdXBzdHJlYW0gY2FwcwoJICBmb3IgdGhlIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudC4KCjIwMTItMDgtMzEgMTU6Mjg6MjkgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQvbXBlZ2RlbXV4OiBTZW5kIGJvdGggUFRTIGFuZCBEVFMgZG93bnN0cmVhbQoJICBOb3cgdGhhdCB3ZSBjYW4uCgoyMDEyLTA5LTAyIDAwOjA0OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBkb24ndCBsZWFrIGJ1ZmZlciBpbiBjYXNlIG9mIGFuIGluaXQgZXJyb3IKCjIwMTItMDktMDIgMDA6MzQ6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE3NQoKMjAxMi0wOC0zMSAxNDoxMzo1OCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogUGx1ZyBhIHZpZGVvIHBhcnNlciBpbiBmcm9udCBvZiBkZWNvZGVyCgkgIFNlZW1zIHRvIG1ha2UgcGxheWJhY2sgYm90aCBiZXR0ZXIgYW5kIHdvcnNlLiBUaGUgcGFyc2VyIG5lZWRzIHNvbWUKCSAgZml4aW5nLCBpdCBzZWVtcyA6LS8KCjIwMTItMDgtMzEgMTI6MzE6NDggLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogTWFrZSBHQVAgZXZlbnQgYXdhcmUKCjIwMTItMDgtMzEgMDg6NDY6NDUgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmg6CgkgIHJlc2luZHZkOiBBZGQgc29tZSBHQVAgZXZlbnQgc3R1ZmYgdG8gbWFrZSBzdGlsbC1mcmFtZXMgc3RhcnQgdG8gd29yawoJICBBbmQgcmVtb3ZlIHRoZSBkZWFkIGF1ZGlvbXVuZ2UgZWxlbWVudC4gSXQgaXNuJ3QgbmVlZGVkIG5vdywgd2UganVzdAoJICBzZW5kIEdBUCBldmVudHMKCjIwMTItMDYtMDkgMjI6MzY6MDYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5oOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIHJlc2luZHZkOiBJbml0aWFsIHBhcnRpYWwgcG9ydCB0byAwLjExCgoyMDEyLTA4LTMwIDE4OjM5OjUwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGRyb3AgdXBzdHJlYW0gZXZlbnRzIGR1ZSB0byBzaWxseSB0eXBvCgoyMDEyLTA4LTMwIDE3OjUxOjUwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IE1lcmdlIHNvbWUgRFZEIHBpZWNlcyBhbmQgZml4ZXMKCSAgQnJpbmcgdGhlIHJlc2luZHZkIGNvcHkgb2YgbXBlZ3BzZGVtdXggYW5kIHRoZSBub3JtYWwgdmVyc2lvbgoJICBzbGlnaHRseSBjbG9zZXIgdG9nZXRoZXIuCgkgIERvbid0IGZvcndhcmQgaW5jb21pbmcgc2luayBjYXBzIGV2ZW50IHRvIGRvd25zdHJlYW0gZWxlbWVudHMuCgoyMDEyLTA2LTExIDA4OjMzOjM2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIGV4dHJhIHJlZnMvdW5yZWZzIG9mIHRoZSBkZW11eGVyCgkgIENoYW5nZSBhbGwgdGhlIGdzdF9wYWRfZ2V0X3BhcmVudCgpIGNhbGxzIHRvIGEgY2FzdCB0byB0aGUKCSAgcGFzc2VkIHBhcmVudCB2YXJpYWJsZSB3aGVyZSBhcHByb3ByaWF0ZSwgYW5kIGRvbid0IHVucmVmLAoJICBpbmNsdWRpbmcgdGhlIGV4dHJhIHVucmVmIGluIHRoZQoJICBnc3RfZmx1cHNfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKCkgZnVuY3Rpb24uCgoyMDEyLTA4LTMwIDEyOjExOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgkgIC4uLiBhbmQgc3VwcGx5IG92ZXJsYXkgcmVjdGFuZ2xlIGRhdGEgaW4gQVlVViBhcyBwcm92aWRlZCBieSBpbnB1dAoJICBkYXRhIHJhdGhlciB0aGFuIGNvbnZlcnRpbmcgdG8gUkdCLgoKMjAxMi0wOC0yOSAyMjowNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gc2V0IGNsb2NrL2Jhc2V0aW1lIGFnYWluCgkgIFRoZSBiYXNlIGFuZCBjbG9jayBhcmVuJ3QgbG9zdCBhbnltb3JlIG9uIHN0YXRlIGNoYW5nZXMKCSAgaW4gMS4wCgoyMDEyLTA4LTI5IDIyOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byBzZW5kIGV4dHJhIHJlY29uZmlndXJlCgkgIFNldHRpbmcgY2Fwc2ZpbHRlcnMgYWxyZWFkeSBzZW5kcyByZWNvbmZpZ3VyZSBldmVudHMgd2hlbiBhIG5ldwoJICBjYXBzIGlzIHNldCwgbm8gbmVlZCB0byByZXNlbmQgdGhlbS4KCjIwMTItMDgtMjggMjE6MDE6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZXF1ZXN0IF8ldSB0ZW1wbGF0ZXMgaW5zdGVhZCBvZiBfJWQKCSAgSW4gMS4wLCB0ZW1wbGF0ZXMgaGF2ZSBiZWVuIHJlbmFtZWQgdG8gXyV1IGFzIGRlZmF1bHQKCjIwMTItMDgtMjYgMTY6NDM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggaW1hZ2UgbG9jYXRpb24gc3dpdGNoaW5nIHRlc3QKCSAgVGhlIHRlc3Qgc2hvdWxkIHdhaXQgdW50aWwgdGhlIGxhc3QgaW1hZ2UtZG9uZSBpcyBwb3N0ZWQgc28gaXQKCSAgY2FuIGNvcnJlY3RseSBjaGVjayB0aGF0IGFsbCBpbWFnZXMgaGF2ZSBiZWVuIHNhdmVkLgoKMjAxMi0wOC0yNiAxNjo0MjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZXdvcmsgdmlkZW8gcmVjb3JkaW5nIGVvcyBwdXNoCgkgIFB1c2ggRU9TIG91dHNpZGUgb2Ygd3JhcHBlcmNhbWVyYWJpbnNyYyBzbyB0aGF0IG5vbmUgb2YgdGhlCgkgIGludGVybmFsIGVsZW1lbnRzIGdldHMgaXRzIHBhZHMgaW50byBlb3Mgc3RhdGUsIHByZXZlbnRpbmcgYW55CgkgIGZ1cnRoZXIgZGF0YSBmcm9tIHBhc3NpbmcKCjIwMTItMDgtMjggMTE6MDc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBlbnN1cmUgc3VmZmljaWVudGx5IHNpemVkIGJ1ZmZlciB3aGVuIHdyYXBwaW5nIE5BTAoJICBOb3RlZCBieSA8emhhbmd5YW5waW5nMjEwQHlhaG9vLmNvbS5jbj4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjU4OQoKMjAxMi0wOC0yNCAwOTowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJICBzaG06IHJlbW92ZSB1bm5lZWRlZCBnbGliLWdlbi1tYWsgaW5jbHVkZSBpbiBNYWtlZmlsZQoJICBObyBlbnVtcyBvciBtYXJzaGFsbGVycyB0byBiZSBnZW5lcmF0ZWQgaGVyZS4gU2hvdWxkIGFsc28KCSAgYmUgZ3N0LWdsaWItZ2VuLm1hayB0aGVuLgoKMjAxMi0wOC0yMiAxNTowODo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJldmVydCByZW5hbWluZyBvZiB0aGUgdHlwZQoJICBUaGUgc3BlY2lhbCB0eXBlIG5hbWUgd2FzIGxvc3Qgd2hlbiBtZXJnaW5nIGZyb20gYmFzZS4KCjIwMTItMDgtMjIgMTM6MzA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY2OGFjZWUgdG8gNGY5NjJmNwoKMjAxMi0wOC0yMiAxMzoxOTo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGd0ay1kb2MgcmVxIHRvIDEuMTIgKG1hci0yMDA5KQoJICBUaGlzIGFsbG93cyB1cyB0byBlLmcuIHVuY29uZGl0aW9uYWxseSB1c2UgZ3RrZG9jLXJlYmFzZS4KCjIwMTItMDgtMjEgMTM6Mjk6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogYXZvaWQgcmVnaXN0ZXJpbmcgZW51bSB0eXBlIG9mIHNhbWUgbmFtZSBhcyBsaWJ2aXN1YWwgcGx1Z2luIGluIC1iYXNlCgoyMDEyLTA4LTE3IDExOjEyOjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiB1c2Ugc2NhbGUgZnVsbHNjcmVlbiBtZXRob2QuCgkgIFRoaXMgbWFrZXMgdGhlIGNvbXBvc2l0b3Igc2NhbGUgdGhlIHN1cmZhY2UgdG8gZml0IGFuZCBwcmVzZXJ2ZXMKCSAgYXNwZWN0IHJhdGlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTE3IDExOjEwOjM5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiByZXNwb25kIHRvIHBpbmcvcG9uZyBwcm90b2NvbCBzbyB3ZSdyZSBub3QgZGVlbWVkIHVucmVzcG9uc2l2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0yMSAxMDozNzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggY2hlY2sgZm9yIHdheWxhbmQKCSAgV2Ugb25seSBzZWVtIHRvIG5lZWQgd2F5bGFuZC1jbGllbnQuIEFsc28gbWFrZSB3b3JrIHdpdGgKCSAgd2F5bGFuZCBiZWluZyBpbnN0YWxsZWQgaW4gYSBub24tZGVmYXVsdCBwcmVmaXggYnkgbm90CgkgIG92ZXJ3cml0aW5nL2NsZWFyaW5nIFdBWUxBTkRfe0NGTEFHUyxMSUJTfSBmb3Igbm8gcmVhc29uCgkgIGF0IGFsbC4KCjIwMTItMDgtMjEgMTA6Mjk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGZpeCBidWlsZAoJICBTb21lIGNvZGUgc2xpcHBlZCBpbnRvIHRoZSBsYXN0IGNvbW1pdCB0aGF0IHdhcyBtZWFudCB0byBiZQoJICBwdXNoZWQgc2VwYXJhdGVseS4gVXNlIGdzdF9kYXRlX3RpbWVfdW5yZWYoKSBpbnN0ZWFkIG9mIF9mcmVlKCkuCgoyMDEyLTA4LTA4IDE3OjEwOjI4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kOiBNb3JlIGZpeGVzIGJhc2VkIG9uIHdheWxhbmQtMC45NS4wIGFuZCBnc3RyZWFtZXItMS4wIGFwaXMKCSAgLSBidW1wIHdheWxhbmQgdmVyc2lvbiB0byAwLjk1LjAgd2hpY2ggd2lsbCBsZWFkIHRvIHN0YWJsZSAxLjAgcmVsZWFzZQoJICAtIGF2b2lkIG1lbWNvcHkgYW5kIHVzZSBwcm9wb3NlX2FsbG9jYXRpb24gZm9yIEdzdEJ1ZmZlclBvb2wgYWxsb2NhdGlvbgoJICAtIHVzaW5nIFdheWxhbmRCdWZmZXJQb29sCgkgIC0gc2htOiBBbGxvY2F0ZSBzaG0gYnVmZmVycyB0aHJvdWdoIG5ldyB3bF9zaG1fcG9vbCBpbnRlcmZhY2UKCSAgKHRoZSBzaG0gYnVmZmVyIGFsbG9jYXRpb24gaXMgYSB0d28gc3RlcCBwcm9jZXNzIG5vdzogZmlyc3QKCSAgYWxsb2NhdGUgYSB3bF9zaG1fcG9vbCwgdGhlbiBhbGxvY2F0ZSBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTIxIDEwOjIyOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IHBvcnQgdG8gMC4xMQoKMjAxMi0wOC0yMSAwMDoxMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogR1NUX1RBR19EQVRFIC0+IEdTVF9UQUdfREFURV9USU1FCgkgIEluIGNhbWVyYWJpbjIgZXhhbXBsZS4KCjIwMTItMDgtMjAgMjM6Mzc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUgLT4gc3VicGljdHVyZS94LWR2ZAoKMjAxMi0wOC0xOCAyMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmg6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmg6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkgIEZpeCB1cCBGU0YgYWRkcmVzcyBpbiBzb21lIHNvdXJjZSBmaWxlcyBhcyB3ZWxsCgoyMDEyLTA4LTE4IDExOjA5OjM5IC0wNDAwICBCcmlhbiBQZXBwbGUgPGJwZXBwbGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBDT1BZSU5HOgoJKiBDT1BZSU5HLkxJQjoKCSAgQ29ycmVjdCBpbmNvcnJlY3QgRlNGIGFkZHJlc3MgaW4gbGljZW5zZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTU4CgoyMDEyLTA4LTE3IDIyOjU3OjEwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN5bmMgdG8gY2hhbmdlIGluIGJhc2UgYW5kIHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YSBhbmQgR3N0VmlkZW9GcmFtZS4gUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGZpZWxkcwoJICB0aGF0IGFyZSBhbHNvIGluIEdzdFZpZGVvSW5mby4gRG9uJ3QgZGlzYWJsZSB0aGUgc2hhZGVyIGNvZGUsIGl0IGRvZXMgbm90CgkgIGxvb2sgYnJva2VuLgoKMjAxMi0wOC0xNyAxNToxNTozNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyOiBzdGF0dXMgdXBkYXRlCgoyMDEyLTA4LTE1IDE4OjI4OjA5IC0wNDAwICBCcmlhbiBQZXBwbGUgPGJwZXBwbGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1pc3NpbmcgQUNfTEFOR19QUk9HUkFNIGNhbGwgdG8gRGlyZWN0U2hvdyB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTUyCgoyMDEyLTA4LTE1IDExOjI2OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIHZpc3VhbGl6ZXI6IHNtYWxsIGNsZWFudXAKCSAgQXBwbHkgY2xlYW51cCBmcm9tIGNvcHkgaW4gYmFzZS4KCjIwMTItMDctMjQgMjA6Mzk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGZsdXNoaW5nL3N5bmMgaGFuZGxpbmcKCSAgVGhlcmUgd2FzIGEgc3RyYXkgYWRhcHRlcl9mbHVzaCgpIG5vdyB0aGF0IHdlIHVzZWQgYSB0ZW1wb3JhcnkgYnVmZmVyCgoyMDEyLTA3LTE5IDEzOjM1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEJldHRlciBkZXRlY3QgUENSIHJlc2V0cwoJICBBc3N1bWUgdGhhdCBhbnkgZGlmZmVyZW5jZXMgaW4gUENSIGdyZWF0ZXIgdGhhbiAxNXMgbWVhbnMgdGhlcmUgaXMKCSAgYSByZXNldCBpbiB0aGUgc3RyZWFtLgoKMjAxMi0wNy0xOSAwOTowNToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTkgMDk6MDU6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xNCAxMzo1OTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUvZGVtb3RlIHNvbWUgZGVidWdnaW5nCgoyMDEyLTA3LTEzIDE2OjU2OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFsd2F5cyB1c2UgY3VycmVudCBQVFMvRFRTCgkgIFRoaXMgYXZvaWRzIHNldHRpbmcgb2xkIFBUUyBhbmQvb3IgRFRTCgoyMDEyLTA3LTEzIDE2OjIyOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSB1bm5lZWRlZCBtZW1zZXQoMCkKCjIwMTItMDctMTMgMTY6MjI6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzOiBVc2UgR19HTlVDX0lOVEVSTkFMCgoyMDEyLTA3LTExIDA4OjEwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkdmIgcGx1Z2luIGlzIHBvcnRlZAoKMjAxMi0wNy0xMSAwODoxMDoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBNb3JlIGZpeHVwcyB0byAxLjAKCSAgTm90IHRlc3RlZCB5ZXQgIQoJICBDb25mbGljdHM6CgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMKCjIwMTItMDYtMjkgMTg6MDQ6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgY2FtOiBBbGxvdyB0aW1lIGZvciBDQSB0byBpbml0aWFsaXplCgkgIFNvbWUgZGV2aWNlcyB0YWtlIHNvbWUgdGltZSB0byBpbml0aWFsaXplLCBhbmQgdW50aWwgdGhleSBhcmUgdGhleQoJICB3aWxsIGVycm9yIG91dCB3aGVuIHRyeWluZyB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENBIGRldmljZS4KCjIwMTItMDYtMjkgMTg6MDE6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICBjYW06IFBNVF9SRVBMWSBwYXJzaW5nCgkgIE5vdCB1c2VkIHlldAoKMjAxMi0wNi0yOSAxODowMDo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgIGR2YmJhc2ViaW46IFN3aXRjaCB0byB1c2UgdHNwYXJzZQoKMjAxMi0wNi0yOSAxNzo1MzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZ3N0X3N0cnVjdHVyZV8qX3Rha2VfdmFsdWUgd2hlcmUgYXBwbGljYWJsZQoJICBTYXZlcyBjb3B5aW5nL2ZyZWVpbmcgZGF0YQoKMjAxMi0wNi0yOSAxNjoxNDowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDYWNoZSB0aGUgR0lDb252CgkgIEF2b2lkcyBoYXZpbmcgdG8gY29uc3RhbnRseSBvcGVuL2ZyZWUgdGhlbSAod2hpY2ggd2lsbCBlbmQgdXAgYmVpbmcKCSAgdmVyeSBvZnRlbiB3aXRoIEVJVC9OSVQpLgoKMjAxMi0wNi0yOSAxNjowOTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IHJlc2V0IGVsZW1lbnQgaW4gUkVBRFk9PlBBVVNFRAoJICBFbnN1cmVzIGFsbCBzdWJjbGFzcyByZXNldCB2bWV0aG9kcyBhcmUgY2FsbGVkCgoyMDEyLTA2LTI4IDEyOjE4OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBtb3JlIFF1YXJrcwoKMjAxMi0wNi0yNiAxOTowMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdXNlbGVzcyBjb2RlCgkgIFBDUi9PUENSIGlzIG1lYW50IHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhY2tldGl6ZXIKCjIwMTItMDYtMjYgMTg6NTk6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2FsY3VsYXRlIHBjci90aW1lL29mZnNldCBzZXBhcmF0ZWx5IHBlciBwcm9ncmFtCgkgIEF2b2lkcyBxdWl0ZSBhIGZldyBpc3N1ZXMgd2l0aCBtdWx0aS1wcm9ncmFtIHN0cmVhbXMKCjIwMTItMDYtMjYgMTg6NTQ6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IFB1c2ggb3V0IGJ1ZmZlciBvbiBtYWluIHNvdXJjZSBwYWQKCjIwMTItMDYtMjYgMTg6NTE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RiYXNlOiB2bWV0aG9kIHRvIG5vdGlmeSB3aGVuIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyBpbnB1dAoJICBUaGlzIGNhbiBiZSB1c2VkIHRvIG5vdGlmeSBzdWJjbGFzc2VzIG5vIG1vcmUgZGF0YSBpcyBleHBlY3RlZCB0aGlzCgkgIHJvdW5kLgoJICB0c3BhcnNlIHdpbGwgdXNlIGl0IHRvIHB1c2ggd2hvbGUgYnVmZmVycyAod2l0aG91dCBjb3B5KSBvbiB0aGUgbWFpbgoJICBzb3VyY2UgcGFkLgoJICBJdCBjb3VsZCBhbHNvIGJlIHVzZWQgbGF0ZXIgdG8gZGVjaWRlIHdoZXRoZXIgdG8gcHVzaCBwZW5kaW5nIGRhdGEKCSAgaW4gb3JkZXIgdG8gcmVkdWNlIGxhdGVuY3kuCgoyMDExLTAyLTAxIDExOjM5OjE2IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmMgKyBkdmIgYXBpIGJ1ZmZlciBwcm9wZXJ0eSB0byBvdmVyY29tZSBidWZmZXIgdW5kZXIgcmVhZHMKCjIwMTItMDgtMDggMTU6MDY6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IERvbid0IGFzc3VtZSBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgVGhlcmUncyBubyBndWFyYW50ZWUgd2hhdHNvZXZlciB0aGF0IHRoZSBmaXJzdCBidWZmZXIgdG8gb3V0cHV0IHdpbGwKCSAgc3RhcnQgYXQgdGhlIHNlZ21lbnQuc3RhcnQuCgkgIEluc3RlYWQsIHdhaXQgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBzZWdtZW50LCBhbmQgdXNlIHRoYXQgdGltZXN0YW1wCgoyMDEyLTA4LTE0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRlY29kaW5nIHRocmVhZHMKCjIwMTItMDgtMTQgMTE6MDk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciB0aGUgTUZRRSBwb3N0cHJvY2Vzc2luZyBmbGFnCgkgIFdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBpZiBwb3N0cHJvY2Vzc2luZyBpcyBlbmFibGVkLgoKMjAxMi0wOC0xMyAxMDo1Nzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IG9ubHkgYXBwbHkgcmVwZWF0IGNvdW50IHdoZW4gc2V0CgkgIFdoZW4gdGhlcmUgaXMgbm8gZXh0ZW5zaW9uIGhlYWRlciwgdGhlIHJlcGVhdF9jb3VudCB2YXJpYWJsZSBpcyBsZWZ0IHRvIDAgYW5kCgkgIHRoZW4gdGhlIGR1cmF0aW9uIG9uIHRoZSBvdXRwdXQgYnVmZmVycyBpcyBjYWxjdWxhdGVkIHdyb25nbHkuIEJlY2F1c2UgdGhlCgkgIGR1cmF0aW9uIGlzIHVzZWQgdG8gaW50ZXJwb2xhdGUgb3V0cHV0IHRpbWVzdGFtcHMsIHRoZSBvdXRwdXQgdGltZXN0YW1wcyBhcmUKCSAgYWxzbyB3cm9uZywgY2F1c2luZyBiYWQgZnJhbWVyYXRlcy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE1MzUKCjIwMTItMDgtMDkgMTM6Mzc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IFVzZSBwa2ctY29uZmlnIGZpbGUgZm9yIGdldHRpbmcgdGhlIExJQlMgYW5kIENGTEFHUwoKMjAxMi0wOC0wOSAxMTo0ODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogR2l2ZSBNQVJHSU5BTCByYW5rIHRvIHRoZSBtcGcxMjMgZGVjb2RlciBlbGVtZW50CgoyMDEyLTA4LTA4IDE3OjQwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE3OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHRoZSBwZXItY29tcG9uZW50IHN0cmlkZXMgZm9yIGV2ZXJ5IGZyYW1lIHRvbwoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIEdzdFZpZGVvQWxpZ25tZW50CgoyMDEyLTA4LTA4IDE2OjM1OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkzID09PQoKMjAxMi0wOC0wOCAxNTozMjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBSZWxlYXNlIDAuMTEuOTMKCjIwMTItMDgtMDggMTI6NTg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGRpc3QgaGVhZGVyIGZpbGUKCjIwMTItMDgtMDggMTI6MTM6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwaG90b2dyYXBoeS5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZm9yIHBob3RvZ3JhcGh5IEFQSSBjaGFuZ2VzCgoyMDEyLTA4LTA4IDExOjUzOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IC5naXRpZ25vcmUgbmV3IGN1cmxzbXRwc2luayB0ZXN0IGJpbmFyeQoKMjAxMi0wOC0wMyAxNjoyMTowOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogUG9ydCB0byAwLjExCgoyMDEyLTA4LTA3IDE4OjIzOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGFkZCBtaXNzaW5nIGRlZmF1bHQgc3dpdGNoIGNhc2UKCjIwMTItMDgtMDcgMTg6MjM6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogZml4IHR5cGVzCgoyMDEyLTA4LTA3IDE4OjIyOjM2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IGZpeCBmb3JtYXQgd2FybmluZ3MKCjIwMTItMDgtMDcgMTg6MjE6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogZml4IHVudXNlZCB2YXJpYWJsZXMgd2FybmluZ3MKCjIwMTItMDgtMDcgMTg6MjA6NTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGRvbid0IHJlaW5pdGlhbGl6ZSBNRURJQVNVQlRZUEVfSTQyMAoKMjAxMi0wOC0wNyAxODoxOToyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIHdpbmtzOiBkZWZpbmUgU1RBVElDX0tTUFJPUFNFVElEX1dhdmVfUXVldWVkIGlmIG5vdCBkZWZpbmVkCgoyMDEyLTA4LTA3IDE2OjUzOjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2lua3M6IGludGVncmF0ZSBidWlsZCB3aXRoIGF1dG90b29scwoKMjAxMi0wOC0wMiAxNDoyNjozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcwoJICBSZW5hbWUgdGhlIERMTCBlbnRyeSBwb2ludCB0aGUgYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYwoJICBsaW5rcy4KCjIwMTItMDgtMDIgMTQ6MjY6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3MKCSAgUmVuYW1lIHRoZSBETEwgZW50cnkgcG9pbnQgdGhlIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMKCSAgbGlua3MuCgoyMDEyLTA4LTA2IDEzOjU5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIGdzdDogQWRkIHN0cmVhbS1pZCB0byBzdHJlYW0tc3RhcnQgZXZlbnRzCgoyMDEyLTA3LTI2IDE5OjMxOjE0ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBpbml0aWF0ZSBlbmNvZGVyIHRvIGZpeCBhIGNyYXNoLgoJICBXaXRob3V0IHRoaXMgcGF0Y2ggdnA4ZW5jIHNlbmQgaGVhZGVyIGJlZm9yZSBhbmQgYWZ0ZXIgZmlyc3QKCSAga2V5IGZyYW1lLiBPbiBzZWNvbmQga2V5ZnJhbWUgdnA4ZGVjIHdpbGwgY3Jhc2ggd2l0aG91dCBnZXR0aW5nCgkgIGRlY29kZWQgZnJhbWUuIFdpdGggdGhpcyBwaXBlIGl0IGlzIGVhc3kgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWU6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIHZwOGVuYyAhIHZwOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA2NjcKCjIwMTItMDgtMDUgMTY6NDA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk0Y2NmNGMgdG8gNjY4YWNlZQoKMjAxMi0wOC0wNCAxNjozMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGdzdF90YWdfbGlzdF9mcmVlIC0+IGdzdF90YWdfbGlzdF91bnJlZgoKMjAxMi0wOC0wMyAxMTozMTowMCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsOiBmaXhlZCBzb21lIG1lbW9yeSBsZWFrcyBpbiB0aGUgcGx1Z2luIGFuZCB0aGUgdW5pdCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTE3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTUKCjIwMTItMDgtMDMgMTQ6MTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlibXBnMTIzID49IDEuMTMgZm9yIDI0LWJpdCBmb3JtYXRzCgoyMDEyLTA4LTAzIDEzOjQzOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBtYXAgaW5wdXQgYnVmZmVyIGluIFJFQUQgbW9kZSwgbm90IFdSSVRFIG1vZGUKCSAgTWFrZXMgdGhpbmdzIGFjdHVhbGx5IHdvcmsuCgoyMDEyLTA4LTAzIDExOjUwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBxdWVyeSBzdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdHMgYXQgcnVuLXRpbWUKCSAgRml4ZXMgc3R1ZmYuIFdlIHVzZSBhIHN0cmluZyBoZXJlIHNpbmNlIHdlIGNhbid0IGJlIGJvdGhlcmVkCgkgIHdpdGggR1ZhbHVlLgoKMjAxMi0wOC0wMyAxMTo0ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOC0wMyAxMToxMzo0OCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkgIG1wZzEyMzogYWRkIG5ldyBsaWJtcGcxMjMtYmFzZWQgbXAzIGRlY29kZXIgcGx1Z2luCgkgIE5lZWRzIGEgYml0IG9mIGNsZWFuaW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDAzCgoyMDEyLTA4LTAzIDAwOjEwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBzY2hyb2VkaW5nZXIsIG1wZWd0c211eDogZml4IHBsdWdpbiBuYW1lcwoKMjAxMi0wNy0zMSAwOTozNjozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFNhdmUgaW1hZ2UvdmlkZW8gcmVjb25maWd1cmF0aW9uIHVudGlsIGNhcHR1cmluZwoJICBBZGQgYSBzcmMgcGFkIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBmaWx0ZXJzIHJlY29uZmlndXJlIGV2ZW50cyB0bwoJICB0cmlnZ2VyIHRoZSByZW5lZ290aWF0aW9uIGNvZGUgcGF0aHMgaW4gdGhlIG1vZGUtc3BlY2lmaWMgc3RhcnQtY2FwdHVyZQoJICBwaGFzZS4KCSAgVGhpcyBpcyB0byB3b3JrIHRvd2FyZHMgZml4aW5nIHVuaXQgdGVzdHMgYnV0IG1vcmUgd29yayBpcyBuZWVkZWQuCgoyMDEyLTA4LTAyIDE0OjQwOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZG8gbm90IGFjY2VzcyBmcmFtZSBidWZmZXIgZm9sbG93aW5nIF9maW5pc2hfZnJhbWUgY2FsbAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNDk0CgoyMDEyLTA4LTAxIDExOjM0OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICBtcGxleDogZGVmYXVsdCB0byBEVkQgTVBFRy0yIGZvcm1hdCBpbnN0ZWFkIG9mIEdlbmVyaWMgTVBFRy0xCgoyMDEyLTA4LTAxIDExOjMxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICBtcGxleGpvYjogYWRkIG5pY2tzIGZvciBmb3JtYXQgZW51bXMsIGFkZCBzb21lIG1vcmUgZm9ybWF0cwoKMjAxMi0wNy0zMCAxNzoyMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZml4IGppZm11eCB0ZXN0IGZvciBmaXhlZCBmYWlsKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDc1NQoKMjAxMi0wNy0yOSAwMToxMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBwcmV2aWV3IG1lc3NhZ2UgaGFuZGxpbmcKCSAgUHJldmlldyBtZXNzYWdlcyBub3cgY29udGFpbiBHc3RTYW1wbGVzIGluc3RlYWQgb2YgR3N0QnVmZmVycwoKMjAxMi0wNy0yOSAwMDo1MzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHByZXZpZXcgYnVmZmVyIHB1c2hpbmcKCSAgbmVlZCB0byBwYXNzIGEgR3N0U2FtcGxlIHRvIHRoZSB1dGlsaXRhcnkgcHJldmlldyBidWZmZXIgcG9zdCBmdW5jdGlvbnMKCSAgYXMgYSBHc3RCdWZmZXIgZG9lc24ndCBoYXZlIGNhcHMgYW55bW9yZS4gVGhlIEdzdFNhbXBsZSBoYXMgdGhlIEdzdENhcHMKCSAgYW5kIGl0IGlzIHVzZWQgdG8gaW5mb3JtIHRoZSBwcmV2aWV3J3MgcGlwZWxpbmUgYWJvdXQgdGhlIGZvcm1hdCBvZiB0aGUKCSAgaW5wdXQsIGJlZm9yZSBpdCBnZXRzIGNvbnZlcnRlZCB0byB0aGUgdXNlcidzIHJlcXVlc3RlZCBvdXRwdXQgZm9ybWF0LgoKMjAxMi0wNy0yOSAwMDowNDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgUmV2ZXJ0ICJjYW1lcmFiaW46IHVwZGF0ZSB0byBuZXcgdGFnIGV2ZW50IGNyZWF0aW9uIEFQSSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1ZDg5MGIzYzkyNzE0ZTFmMzcxNjMyOTBjMzI5MTFiY2Q3ODE4YTU3LgoJICBUaGUgbmV3IEFQSSBpcyB0aGUgb2xkIEFQSS4KCjIwMTItMDctMjggMTg6MDQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBGaXggcmVmZXJlbmNlcyB0byBhdm9pZCBlbGVtZW50IGxlYWtpbmcKCSAgU29tZSBwYWQgcHJvYmVzIGFyZSBuZXZlciBnb2luZyB0byBiZSByZW1vdmVkIGZyb20gdGhlIHBhZHMsIHNvCgkgIHdlIHNob3VsZG4ndCBrZWVwIGEgY2FtZXJhYmluIHJlZmVyZW5jZSB3aXRoIHRoZW0gb3IgY2FtZXJhYmluIHdpbGwKCSAgbmV2ZXIgZ2V0IHJlbGVhc2VkCgoyMDEyLTA3LTI4IDE1OjE3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHRvIG5ldyB0YWcgZXZlbnQgY3JlYXRpb24gQVBJCgoyMDEyLTA3LTI4IDEyOjA5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogcmVtb3ZlIGFzc2VydGlvbiBvbiBudWxsIHByb3BlcnR5CgkgIENoZWNrIGlmIHRoZSBmbGFncyBhcmUgbm90IG51bGwgYmVmb3JlIHRyeWluZyB0byBzZXQgdGhlbSB0bwoJICBjYW1lcmFiaW4gdG8gYXZvaWQgYW4gYXNzZXJ0aW9uCgoyMDEyLTA3LTI4IDAwOjMyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yNyAxMzoyMjo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHByb2Nlc3MgQVRUQUNITUVOVCB0YWcgYXMgc2FtcGxlCgoyMDEyLTA3LTI1IDE2OjA1OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIGZhYWMsIHZvYWFjZW5jOiBhZGp1c3QgdG8gbW9kaWZpZWQgYXVkaW9lbmNvZGVyIGdldGNhcHMgaGVscGVyIEFQSQoKMjAxMi0wNy0yNCAxMjoyODoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeGF0ZSBjYXBzCgoyMDEyLTA3LTI0IDEwOjQ2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy5vcmM6CgkgIGd1YWRpOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIGdhdWRpX29yY18KCjIwMTItMDctMjQgMTA6NDQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIGZpZWxkYW5hbHlzaXM6IHByZWZpeCBvcmMgZnVuY3Rpb25zCgoyMDEyLTA3LTI0IDEwOjMyOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYmF5ZXI6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggYmF5ZXJfb3JjCgkgIEFkZCBiYXllciBvcmMgdG8gdGhlIHVuaXQgdGVzdAoKMjAxMi0wNy0yNCAxMDozMjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBmaXggdmlzdWFsaXplciBjb21waWxhdGlvbgoKMjAxMi0wNy0yMyAxMTozNjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGFkYXRhIGFuZCBhcmJpdHJhcnkgc3RyaWRlcwoKMjAxMi0wNy0yMyAxMDo1NDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogTWFwIHJhdyB2aWRlbyBidWZmZXJzIHdpdGggdGhlIGNvcnJlY3QgcmVhZC93cml0ZSBmbGFncwoKMjAxMi0wNy0yMyAxMDozNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMDg6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5OGUzODZmIHRvIDk0Y2NmNGMKCjIwMTItMDctMjEgMTk6NTk6MjEgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBtZW1vcnkgbGVhawoJICB1bnJlZiBmcmFtZS4gaSBob3BlIGl0IGlzIGNvcnJlY3QgcGxhY2UgdG8gZG8gaXQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTA3LTIwIDIzOjI4OjQ5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IFVzZSBidWZmZXIgZmxhZ3MgYW5kIGNhcHMgY29ycmVjdGx5CgkgIFRoaXMgcmVxdWlyZXMgYSByZWNlbnQgY29tbWl0IHRvIC1iYXNlIHRoYXQgYWRkcyBhbiBJTlRFUkxBQ0VEIGJ1ZmZlcgoJICBmbGFnLgoKMjAxMi0wNy0yMCAxNjo0MzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IG9ubHkgZGlzY2FyZCBmcmFtZSBvbmNlIHVwb24gZGVjb2RpbmcgZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTg4NgoKMjAxMi0wNy0xOSAxNjoxMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IGZhYnMtPnNxcnQgdG8gY2FsY3VsYXRlIHRoZSBtYWduaXR1ZGUKCjIwMTItMDctMTggMDk6MTk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogYWxzbyBhY3RpdmF0ZSBpbiBwdXNoIG1vZGUgaWYgdGhlIHNjaGVkdWxpbmcgcXVlcnkgZmFpbGVkCgkgIEluIGNhc2UgcGFkcyBhcmUgdW5saW5rZWQgc29tZXdoZXJlLgoKMjAxMi0wNy0xOCAwODo0MTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHB1c2ggbW9kZSBhY3RpdmF0aW9uCgkgIEV4dHJhIHVucmVmIG9uIHB1c2ggbW9kZSBhY3RpdmF0aW9uIGNhdXNlZCBoYXZvYy4KCjIwMTItMDctMTYgMDA6MDU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGV4dHJhY3QgeWVhciBhcyBHc3REYXRlVGltZSBpbnN0ZWFkIG9mIEdEYXRlCgoyMDEyLTA3LTE3IDE4OjA1OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogbm8gbmVlZCB0byBtYWtlIGJ1ZmZlciB3cml0YWJsZSB0d2ljZQoKMjAxMi0wNy0xNyAxODowNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHBsdWcgc29tZSByZWYgbGVha3MKCjIwMTItMDctMTcgMTQ6MDI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDIyOjAyOjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBzaG9ydGVuIGJhc2UgY2xhc3MgbmFtZQoJICBBcyBzdWdnZXN0ZWQgb24gSVJDIHJlbmFtZSB0byBBdWRpb1Zpc3VhbGl6ZXIuIFdlIHVzZSBjdXN0b20gc3VmZml4IG9uIHRoZSB0eXBlCgkgIHRvIGF2b2lkIGNsYXNoaW5nIHdpdGggb3RoZXIgY29waWVzIGZvciB0aGUgdGltZSBiZWluZy4KCjIwMTItMDctMTUgMTI6Mjc6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGNlbHQsIG9wZW5jdiwgd2F5bGFuZCwgZHZic3ViLCBmZXN0aXZhbCwgaGxzOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEyLTA3LTE0IDE1OjUxOjA4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBkb24ndCBsaW5rIHRvIGdzdGludGVyZmFjZXMsIHdoaWNoIGRvZXNuJ3QgZXhpc3QgYW55IG1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTkyOQoKMjAxMi0wNi0zMCAwMDoyMjo0MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogcG9ydCB0byAwLjExCgkgIEJhc2ljIHBvcnQgdG8gMC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkxNjQKCjIwMTItMDctMTMgMTI6MzI6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkYXB0aXZlbHkgYmxlbmQgb3IgYXR0YWNoIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTMgMTI6Mjc6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIGhlbHBlcgoJICAuLi4gcmF0aGVyIHRoYW4gY3VzdG9tIGhvbWUtbWFkZSBibGVuZGluZy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTIgMTA6MTM6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogbW9yZSBjb3JyZWN0bHkgZGV0ZXJtaW5lIGV4cGVjdGVkIFBFUyBwYWNrZXQgcGF5bG9hZCBzaXplCgkgIC4uLiBwYXJ0aWN1bGFybHkgY29uc2lkZXJpbmcgdGhhdCBwYWNrZXRfbGVuZ3RoID09IDAgaXMgcG9zc2libGUuCgoyMDEyLTA3LTExIDIzOjE3OjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiByZWdpc3RlciBhcyBlZmZlY3QKCjIwMTItMDctMTEgMjA6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29ycmVjdGx5IGRldGVybWluZSBleHBlY3RlZCBQRVMgcGFja2V0IHBheWxvYWQgc2l6ZQoJICBBdm9pZHMgY29uc2lzdGVudGx5IGZhaWxpbmcgdG8gZGV0ZWN0IHRoYXQgYSBwYWNrZXQgaXMgY29tcGxldGUsIHdoaWNoCgkgIHdvdWxkIHRoZW4gb25seSBiZSBwdXNoZWQgdXBvbiB0aGUgc3RhcnQgb2YgYSBuZXh0IHBhY2tldCwgd2hpY2ggbGVhZHMKCSAgdG8gcXVpdGUgYSBkZWxheSBpbiBjYXNlIG9mIGEgc3BhcnNlIChzdWJ0aXRsZSkgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njc0CgoyMDEyLTA3LTEwIDE3OjU4OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZW5zdXJlIG1pbmltdW0gcGFnZSB0aW1lIG91dCBvZiAxIHNlY29uZAoJICAuLi4gdG8gY29tcGVuc2F0ZSBmb3Igc29tZSBib2d1cyBzdWJ0aXRsZSB3aXRoIGEgMCB0aW1lb3V0LCB3aGljaCB3b3VsZAoJICByZXN1bHQgaW4gb25seSBiZWluZyBzaG93biBmb3IgYSB2ZXJ5IHVucmVhZGFibGUgYW1vdW50IG9mIHRpbWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njc0CgoyMDEyLTA3LTExIDE0OjI3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBwaXRjaC10ZXN0CgkgIERvZXMgbm90IHNvdW5kIGxpa2UgdGhlIHNhbWUgdGVzdCBpbiAwLjEwIHRob3VnaC4uCgoyMDEyLTA3LTExIDEzOjU5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGR2YnN1Ym92ZXJsYXkuYzo3NzI6MTU6IGVycm9yOiBwb2ludGVyIHRhcmdldHMgaW4gcGFzc2luZyBhcmd1bWVudCA1IG9mICdnc3Rfc2VnbWVudF9jbGlwJyBkaWZmZXIgaW4gc2lnbmVkbmVzcwoJICAvaG9tZS90cG0vZ3N0LzAuMTEvZ3N0cmVhbWVyL2dzdC9nc3RzZWdtZW50Lmg6MTkyOjE0OiBub3RlOiBleHBlY3RlZCAnZ3VpbnQ2NCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnZ2ludDY0IConCgkgIGdzdGR2YnN1Ym92ZXJsYXkuYzo3NzI6MTU6IGVycm9yOiBwb2ludGVyIHRhcmdldHMgaW4gcGFzc2luZyBhcmd1bWVudCA2IG9mICdnc3Rfc2VnbWVudF9jbGlwJyBkaWZmZXIgaW4gc2lnbmVkbmVzcwoKMjAxMi0wNy0xMSAxMzo0OToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeHVwIGVuZC1vZi1kaXNwbGF5LXNldCBmb3JjaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTExIDEzOjQ4OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZW5zdXJlIHZhbGlkIHN1YnRpdGxlIHJ1bm5pbmcgdGltZSBieSBwcm9wZXIgY2xpcHBpbmcKCSAgSW4gcGFydGljdWxhciwgcGFzcyBidWZmZXIgdGltZXN0YW1wIChwdHMpIHRvIGR2Yl9zdWIsIGFuZCB0aGVuIGNsaXAKCSAgYW5kIGNvbnZlcnQgdG8gcnVubmluZyB0aW1lIHdoZW4gdGhlIGR1cmF0aW9uICh0aW1lb3V0KSBpcyBrbm93biBhZnRlcgoJICBkZWNvZGluZyBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDIzMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMSAxMzo0NToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBwcm9wZXJseSBmb3JjZSBlbmQtb2YtZGlzcGxheS1zZXQKCSAgLi4uIHdoaWNoIGlzIHVwb24gcmVjZWl2aW5nIG5ldyBkYXRhIHdpdGggZGlmZmVyZW50IFBUUyBzcGVjLXdpc2UsCgkgIG9yIG9wdGlvbmFsbHkgdXBvbiBlYWNoIHBhY2tldCBvZiBzdWJ0aXRsZSBkYXRhIGlmIGRlc2lyZWQgYnkgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzMTAKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTEtMTItMjEgMTM6MDA6MjcgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogSGFuZGxlIG5vbl9tb2RpZnlpbmdfY29sb3VyX2ZsYWcgY29ycmVjdGx5IGluIHRoZSBSTEUgaGFuZGxlcnMKCSAgVGhlIGNoZWNrIGZvciB3aGVuIHRvIG5vdCBtZW1zZXQgd2FzIGNoZWNraW5nIG9uIGFuIHVuZGV0ZXJtaW5pc3RpYyAnYml0cycgdmFyaWFibGUgdmFsdWUsCgkgIHdoaWNoIGlzIG9ubHkgbWVhbnQgdG8gYmUgdXNlZCBpbnNpZGUgdGhlIGxvb3AgZWFybGllciB3aGVuIGl0IGlzIHN1cHBvc2VkIHRvIGNoZWNrIGlmCgkgIGNsdXRfaW5kZXggaXMgMSB0b2dldGhlciB3aXRoIG5vbl9tb2Qgc2V0LCBhcyBwZXIgc3BlYzoKCSAgIm5vbl9tb2RpZnlpbmdfY29sb3VyX2ZsYWc6ICBJZiBzZXQgdG8gJzEnIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIENMVVQgZW50cnkgdmFsdWUgJzEnCgkgIGlzIGEgbm9uIG1vZGlmeWluZyBjb2xvdXIuIFdoZW4gdGhlIG5vbiBtb2RpZnlpbmcgY29sb3VyIGlzIGFzc2lnbmVkIHRvIGFuIG9iamVjdCBwaXhlbCwKCSAgdGhlbiB0aGUgcGl4ZWwgb2YgdGhlIHVuZGVybHlpbmcgcmVnaW9uIGJhY2tncm91bmQgb3Igb2JqZWN0IHNoYWxsIG5vdCBiZSBtb2RpZmllZC4gVGhpcwoJICBjYW4gYmUgdXNlZCB0byBjcmVhdGUgInRyYW5zcGFyZW50IGhvbGVzIiBpbiBvYmplY3RzLiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjM1MgoKMjAxMC0xMC0xMyAxMDo1NToxNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTAtMTAtMTQgMTA6NDk6NTUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgbWFudWFsIGNvbnRyb2wgb2YgZXhwb3N1cmUsIGZvY3VzIGFuZCB3aGl0ZSBiYWxhbmNlCgkgIEFkZCBuZXcgaW50ZXJmYWNlIHByb3BlcnRpZXMgYW5kIG1vZGUgZm9yIGJldHRlciBtYW51YWwgY29udHJvbCBvZgoJICBleHBvc3VyZSwgZm9jdXMgYW5kIHdoaXRlIGJhbGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTAtMTAtMDggMTE6MzM6MzEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgcGhvdG9ncmFwaHk6IEFkZCBHc3RQaG90b2dyYXBoeSBwcmVmaXggYW5kIGZpeCBzcGVsbGluZyBjb2xvdXItPmNvbG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTItMDctMTAgMjM6Mjc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1pbm9yIGhlYWRlciBpbmRlbnRhdGlvbiBjbGVhbi11cCBmb3IgbXBlZ3ZpZGVvcGFyc2VyCgoyMDEyLTA3LTEwIDE3OjQ3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBwb3J0IHRvIDAuMTEKCjIwMTItMDctMTAgMTI6MTA6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IHVubWFwIGlucHV0IGJ1ZmZlcgoKMjAxMi0wNy0wNCAxMDoxNDozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBwb3J0IGZlc3RpdmFsIHRvIDAuMTEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM3MwoKMjAxMi0wNy0xMCAxMToxNDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGZpeCBzb21lIHBhZCB0ZW1wbGF0ZS1yZWxhdGVkIGNyaXRpY2FscyBpbiBjYW1lcmFiaW4gdGVzdAoKMjAxMi0wNy0xMCAwMDo1OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogY29weSBpbnRvIHByb3ZpZGVkIGJ1ZmZlciBpZiBhIGJ1ZmZlciBpcyBwcm92aWRlZAoKMjAxMi0wNy0wOSAyMjowODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IGZpeCB6YmFyIHRlc3QKCjIwMTItMDctMDkgMTI6MjI6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1cGRhdGUgZm9yIHJpZmYgZmllbGQgcmVuYW1lCgoyMDEyLTA3LTA4IDE5OjIzOjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHVwZGF0ZSBiYXNlY2xhc3MgZnJvbSBsaWJ2aXN1YWwgcG9ydGluZwoKMjAxMi0wNy0wOCAwMDowODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcGFzcyB1bmhhbmRsZWQgbm9uLWN1c3RvbSBldmVudHMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjYyNgoKMjAxMi0wNy0wNiAxNDo1Mzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSBkZXByZWNhdGVkICJpcy1saXZlIiBwcm9wZXJ0eQoJICBVc2UgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBpbnN0ZWFkLgoKMjAxMi0wNy0wNiAxMTo1MDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNy0wNCAxMTozODo1MSArMDIwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1zcmM6IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gYSBjbGllbnQgZGlzY29ubmVjdHMgKGZpeGVzICM2NzkzODUpCgoyMDEyLTA3LTA1IDEzOjE4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTAzIDEyOjU3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZmluYWxpemUgaW1wbGVtZW50YXRpb24KCjIwMTItMDctMDIgMTc6NTU6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBCZXR0ZXIgaGFuZGxpbmcgb2YgYXVkaW8gb3V0cHV0CgkgIENvbmZsaWN0czoKCSAgc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHAKCjIwMTItMDctMDIgMTc6NTI6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBTZW5kIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEyLTA3LTAyIDE3OjUxOjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IE1hcmsgZWxlbWVudCBhcyBzaW5rIGVsZW1lbnQKCjIwMTItMDctMDIgMTc6NDk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IHVzZSBHT25jZSBpbiB0eXBlIHJlZ2lzdHJhdGlvbgoKMjAxMi0wNy0wMiAxNzozMjoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IEluY3JlYXNlIHRoZSBpbnRlciBhdWRpbyBzdXJmYWNlIGJ1ZmZlcmluZwoKMjAxMi0wNy0wMiAxMjowNDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IHJlZW5hYmxlIGNoYW5uZWwgcHJvcGVydHkKCjIwMTItMDctMDIgMTI6MDM6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogU2V0IGZvcm1hdCB0byB0aW1lCgoyMDEyLTA2LTI5IDEyOjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgc3lzOiBtYWtlIHZpZGVvIHNpbmtzIGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMTg6MDQ6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c2Jhc2U6IE1vdmUga25vd24gUFNJIFBJRHMgdG8gd2hlcmUgdGhleSBiZWxvbmcKCSAgVGhpcyBhdm9pZHMgdHNkZW11eCBwYXJzaW5nIGRhdGEgaXMgZG9lc24ndCByZWFsbHkgY2FyZSBhYm91dAoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgoyMDEyLTA2LTAyIDA4OjA1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUga25vd24gZGVmYXVsdCBTSSBQSURzCgoyMDEyLTA2LTI4IDE3OjQwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBBQUMgTEFUTSBjYXBzCgoyMDEyLTA2LTIyIDE2OjQ3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgYmFzaWMgb3V0cHV0IHVuaXQgdGVzdCB2ZXJpZmljYXRpb24KCjIwMTItMDYtMjIgMTc6NTE6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGFwcGx5IHNvbWUgbW9yZSBDTE9DS19CQVNFIHRvIGVuc3VyZSBzbGFjayBmb3IgUENSIG9mZnNldAoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYwoKMjAxMi0wNi0yNyAxMToyMzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGZpeCB4LXdtdiBmb3JtYXQgc3RyaW5nCgoyMDEyLTA2LTI2IDE2OjMzOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNi0yNSAxNjoxODo0MSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgYmVmb3JlIHRoZSBkM2QgZGV2aWNlCgkgIFRoZSBvZmZzY3JlZW4gc3VyZmFjZSBrZWVwcyBhIHJlZmVyZW5jZSBvbiB0aGUgZDNkIGRldmljZSwgc28gaWYgdGhlCgkgIGRldmljZSBpcyByZWxlYXNlZCBmaXJzdCB3ZSBkb24ndCBzZWUgdGhlIHJlZmVyZW5jZSBjb3VudCBkZWJ1ZyBtZXNzYWdlCgkgIGdvaW5nIHRvIDAgYXMgaXQgc2hvdWxkIGJlLgoKMjAxMi0wNi0xOSAyMDoxNjo0MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogY2xlYW4gdXAgZWxlbWVudAoJICBSZW1vdmUgb2xkIGNvbW1lbnRlZCBjb2RlIGFuZCB1bmVlZGVkIGV4dHJhIGluZGVudGF0aW9uCgoyMDEyLTA2LTE5IDIwOjAzOjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiByZXdvcmsgbG9ja2luZyBmb3IgZGV2aWNlcyBsb3N0CgoyMDEyLTA2LTE5IDIwOjE5OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIGFuZCByZWNyZWF0ZSB0aGUgZGV2aWNlIGluIHByZXBhcmVfd2luZG93CgoyMDEyLTA2LTI0IDIxOjExOjM5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogYXZvaWQgZGFyayBwaXhlbHMgaW4gZmFkZS1hbmQtbW92ZS11cCBtb2RlCgoyMDEyLTA2LTI0IDIwOjU0OjI0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGZpeCBpbnB1dCBidWZmZXIgaGFuZGxpbmcKCSAgVXNlIF9yZXBsYWNlIGluc3RlYWQgb2YgX2FwcGVuZCB0byBmaXggZ3Jvd2luZyBidWZmZXJzLgoKMjAxMi0wNi0yMyAxNTowMjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIGhscywgc2RwOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIxIDEyOjE3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL1JFQURNRToKCSAgc3lzOiByZW1vdmUgbGVmdC1vdmVyIHY0bDIgZGlyIHdoaWNoIGhhcyBtb3ZlZCB0byBnb29kCgkgIGxldCdzIG5vdCBrZWVwIGEgUkVBRE1FIGFyb3VuZCB0byBhbm5vdW5jZSBpdCdzIG1vdmVkIHRvIC1nb29kLAoJICB0aGF0J3MganVzdCBjbHV0dGVyLgoKMjAxMi0wNi0yMSAxMTo0MzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVhbGx5IGFsd2F5cyBkZWZpbmUgREVDS0xJTktfT1NYIGNvbmRpdGlvbmFsCgoyMDExLTA3LTEzIDE5OjI1OjA4ICswMTAwICBUb255IEhvdWdodG9uIDxoQHJlYWxoLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIENvcnJlY3Qgc2F0ZWxsaXRlIGRlbGl2ZXJ5IGRlc2NyaXB0b3IgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29kZSB0byBwYXJzZSBzYXRlbGxpdGUgZGVsaXZlcnkgZGVzY3JpcHRvcnMgdG8gZ2VuZXJhdGUKCSAgInNhdGVsbGl0ZSIgc3RydWN0dXJlcyBhcHBlYXJlZCB0byBiZSBjb3B5ICYgcGFzdGVkIGZyb20gY2FibGUncyBjb2RlCgkgIHdpdGhvdXQgYW1lbmRpbmcgZm9yIHNhdGVsbGl0ZS4KCSAgQWxzbyBhZGRlZCA4UFNLIHRvIGR2YnNyYydzIGVudW0gZm9yIG1vZHVsYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ0ODUKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmgKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCjIwMTItMDYtMjAgMTg6MTQ6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBSZXdvcmsgaGFuZGxpbmcgYW5kIGNsZWFudXBzCgkgIHRzcGFkIGFsd2F5cyBoYXMgYSBzdGF0aWMgc291cmNlIHBhZCB3aGljaCBvdXRwdXQgZXZlcnl0aGluZyByZWNlaXZlZAoJICAobm90IGZ1bmN0aW9uYWwgeWV0KS4KCSAgUHJvZ3JhbSBwYWRzIGFyZSBub3cgcmVxdWVzdCBwYWRzLgoJICBSZW1vdmUgYWxsIGNydWZ0IHRoYXQgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN3aXRjaCBvdmVyCgkgIHRvIG1wZWd0c2Jhc2UuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCjIwMTItMDYtMjAgMTg6MTA6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBbHdheXMgc2VuZCBFT1MKCSAgc3ViY2xhc3Mgd2lsbCB0YWtlIGNhcmUgb2YgaGFuZGxpbmcgaXQgbW9yZSBpZiBuZWVkZWQKCjIwMTItMDYtMjAgMTc6NTI6MTMgLTA1MDAgIE1pa2UgUnVwcmVjaHQgPG1pa2UucnVwcmVjaHRAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggZWxlbWVudCBsb3NpbmcgZGF0YSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcnMKCSAgcnRtcHNyYyBvdXRwdXRzIHRydW5jYXRlZCBidWZmZXJzIGJlY2F1c2UsIHdoZW4gZW5vdWdoIGRhdGEgaXMKCSAgcmVhZCB0byBmaWxsIHRoZSBidWZmZXIsIHRoZSBhbW91bnQgcmVhZCB0aGF0IHRpbWUgKHRvZG8pIGlzIHNldAoJICB0byB6ZXJvIGJlZm9yZSBpdCdzIGFkZGVkIHRvIHRoZSBjdW11bGF0aXZlIGJ1ZmZlciBzaXplIChic2l6ZSkuCgkgIFRoZSBidWZmZXIgaXMgdGhlbiB0cnVuY2F0ZWQgdG8gYnNpemUgcmVzdWx0aW5nIGluIGxvc3QgZGF0YS4KCSAgVGhpcyBwYXRjaCBhZGRzIHRvZG8gdG8gYnNpemUgYmVmb3JlIHNldHRpbmcgdG9kbyB0byB6ZXJvLgoJICBGaXhlcyAjNjc4NTA5CgoyMDEyLTA2LTIwIDExOjAyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRml4IGZsYWcgY2hlY2tpbmcKCjIwMTItMDYtMjAgMTA6NTk6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0OiAjaWYwIGNvZGUgdGhhdCBuZXZlciBoYXBwZW5zCgkgIFRoZSBvbmx5IHBsYWNlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBpcyB3aXRoIGxvZnAgYmVpbmcgYSBndWludDggKGZyb20KCSAgYSBkYXRhIGJsb2NrKS4KCjIwMTItMDYtMjAgMTA6NTg6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBVc2UgcHJvcGVyIHZhcmlhYmxlIHR5cGUKCjIwMTItMDYtMjAgMTI6MzE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcwoKMjAxMi0wNi0yMCAxMjoxOTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcG9ydCB0ZXN0IHRvIDAuMTEKCjIwMTItMDYtMjAgMTI6MTc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggdmFsdWUgaGFuZGxpbmcgaW4gcGFkIGl0ZXJhdGlvbgoKMjAxMi0wNi0yMCAxMDozNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFzayBhcGkgY2hhbmdlCgoyMDEyLTA2LTE5IDIyOjQ1OjI3IC0wNDAwICBNYXRlaiBLbm9wcCA8TWF0ZWpAbmV3LWhvc3QtNS5ob21lPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODEzMAoKMjAxMi0wNi0xOSAxMDozNTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBEZXRlY3QgbW9yZSBpc3N1ZXMgd2l0aCBjb25maWd1cmF0aW9uIGZpbGUKCSAgUmVwb3J0IHVzZWZ1bCBlcnJvcnMgd2hlbjoKCSAgKiBmaWxlIGlzIHByZXNlbnQgYnV0IGVtcHR5CgkgICogcmVxdWVzdGVkIGNoYW5uZWwgaXMgbm90IHByZXNlbnQKCjIwMTItMDYtMTkgMTA6MjI6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgZHZiYmFzZWJpbjogRW1pdCBhbiBlcnJvciB3aGVuIHdlIGZhaWwgcmVhZGluZyB0aGUgY2hhbm5lbHMgZmlsZQoJICBDb25mbGljdHM6CgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jCgoyMDExLTAyLTAxIDEwOjIzOjA0IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNwZWxsLWNoZWNrCgoyMDExLTAxLTE0IDE5OjMwOjA4IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IGJldHRlciBkdnNyYyBwb2xhcml0eSBpbmZvCgoyMDEyLTA2LTE4IDExOjM2OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dDogRml4IGluaXRpYWxpemF0aW9uCgkgIFdlIGFsd2F5cyBlbmRlZCB1cCBlcnJvcmluZyBvbiB0aGUgZmlyc3QgcGFnZSBvdGhlcndpc2UKCSAgQ29uZmxpY3RzOgoJICBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYwoKMjAxMi0wNi0xMCAxMTozNjozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCB1c2UgR0J5dGVBcnJheQoJICBVc2luZyBhIHNpbXBsZSBhcnJheSBjb21lcyB0byB0aGUgc2FtZSByZXN1bHQgZm9yIGEgZnJhY3Rpb24gb2YgdGhlIGNvc3QKCjIwMTItMDYtMTAgMTE6MjE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBdm9pZCBjb3B5aW5nIEdzdFN0cnVjdHVyZQoKMjAxMi0wNi0wOCAxNToxMjozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZXNjOiBEb24ndCBhbGxvY2F0ZS9mcmVlIEdzdE1QRUdEZXNjcmlwdG9yCgkgIEp1c3QgdXNlIHN0YXRpYyB2YXJpYWJsZXMKCjIwMTItMDYtMTYgMTY6NDk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSAgbXBlZ2RlbXV4OiByZW5hbWUgcGx1Z2luIHRvIG1wZWdwc2RlbXV4CgoyMDEyLTA2LTE2IDE2OjMwOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVnZGVtdXg6IHJlbW92ZSB1bnVzZWQgVFMgZGVtdXhlciBiaXRzIHRoYXQgaGF2ZSBtb3ZlZCB0byB0c2RlbXV4CgoyMDEyLTA2LTE2IDE5OjIwOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVtb3ZlIG9ic29sZXRlIHN0cnVjdCBmaWVsZAoKMjAxMi0wNi0xNiAxNjo1MDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIERWQiBzdWJ0aXRsZSBhbmQgdGVsZXRleHQgc3RyZWFtcwoJICBTZWUgYnVnICM2NzM1ODIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbQoKMjAxMi0wNi0xNiAxNjo1MDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvcHRpb25hbGx5IHVzZSBmaXhlZC1zaXplIFBFUyBoZWFkZXIKCjIwMTItMDYtMTYgMTY6NTA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9ubHkgd3JpdGUgUFRTIGFuZCBEVFMgaWYgZGlmZmVyZW50CgoyMDEyLTA2LTE2IDE2OjUwOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9wdGlvbmFsbHkgc2V0IGRhdGFfYWxpZ25tZW50IGZsYWcgaW4gUEVTIGhlYWRlcgoKMjAxMi0wNi0xNiAxNjo1MDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcmUtZW5hYmxlIGluYWR2ZXJ0ZW50IGRpc2FibGVkIGNvZGUKCjIwMTItMDYtMTYgMTY6NDQ6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkanVzdCBhZ2FpbiB0byBtb2RpZmllZCBidWZmZXIgY29sbGVjdCBiZWhhdmlvdXIKCSAgLi4uIGJ5IGVmZmVjdGl2ZWx5IHJldmVydGluZyBwcmV2aW91cyBhZGp1c3RtZW50LgoKMjAxMi0wNi0xNiAxNjo0OTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBkZWZhdWx0IENvbGxlY3RQYWRzIGNvbGxlY3QgaGV1cmlzdGljCgkgIC4uLiB3aXRoIGFuIGFwcHJvcHJpYXRlbHkgY3VzdG9tIGJ1ZmZlciBjbGlwIGZ1bmN0aW9uIHRvIGFycmFuZ2UgZm9yCgkgIGJ1ZmZlciBwcm9jZXNzaW5nLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguaAoKMjAxMi0wNi0xNiAxNTo1NDo0OSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgyMTEKCjIwMTItMDYtMTYgMTk6MTc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcG9ydGVkIHNlZ21lbnQgaW5pdAoKMjAxMi0wNi0xNCAxNDo0OTo1NSAtMDcwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgxMzAKCjIwMTItMDYtMTUgMTM6MDA6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IHJlY3JlYXRlIHRoZSBkM2QgZGV2aWNlIGlmIGl0IGFscmVhZHkgZXhpc3RzCgoyMDEyLTA2LTE1IDExOjQxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9qcDJrL2dzdGpwMmsuYzoKCSAgamFzcGVyOiBSZW5hbWUgZnJvbSBqcDJrIHRvIGphc3BlcgoJICBKYXNwZXIgaXMgbm90IHRoZSBvbmx5IEpQRUcyMDAwIGxpYnJhcnkgb3V0IHRoZXJlIGFuZCB3ZQoJICBtaWdodCB3YW50IHRvIGFkZCBlbmNvZGVycy9kZWNvZGVycyBiYXNlZCBvbiBPcGVuSlBFRyBmb3IgZXhhbXBsZS4KCjIwMTItMDYtMTUgMTA6MzI6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBhZGQgbWlzc2luZyBtdXRleCB1bmxvY2sgb24gZXJyb3IgcGF0aAoKMjAxMi0wNi0xNSAxMDoyNDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBzZXQgYXV0aG9yIHRvIG15c2VsZiwgYW5kIHVwZGF0ZSBjb3B5cmlnaHQgbm90aWNlcwoJICBiZWNhdXNlIGFzIHNsb21vIG5vdGVkLCBpbiBmYWN0IHByZXR0eSBtdWNoIGFsbCB0aGUgY29kZSBpbiB0aGVyZSBpcyBtaW5lLgoKMjAxMi0wNi0xNSAwMDo1ODo0MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgY3JlYXRlIG5ldyBpbnRlcm5hbCB3aW5kb3dzIGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUKCjIwMTItMDYtMDggMjM6MDE6MjYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBGaXggY29tcGlsaW5nIGluIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzcyNAoKMjAxMi0wNi0xMSAxMzoxMDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkOiByZW5hbWUgdGhlIGxpYiBmcm9tIGxpYnJlc2luZHZkIHRvIGxpYmdzdHJlc2luZHZkCgkgIEZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDYtMDcgMTU6MDY6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG5vdCBmaW5kaW5nIHNvbWUgZGF0YSBvbiBhIERWRAoJICBNYXkgcG9zc2libHkgaGVscCB3aXRoIGEgcGFydGljdWxhciBEVkQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMxMTgKCjIwMTItMDYtMTQgMDI6NDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmxmaWxlc2luazogUmVtb3ZlIHN0cmF5IGRlYnVnIHByaW50cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDYwCgoyMDEyLTA2LTEyIDIxOjM1OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICBsY3M6IHJlbW92ZSBvbGQgTENTIGNvbG9yc3BhY2UgY29udmVyc2lvbiBwbHVnaW4KCSAgV2Fzbid0IGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCBldmVuIGJhY2sgaW4gdGhlIGRheQoJICBubyBvbmUga25ldyB3aGVyZSB0aGUgY29ycmVzcG9uZGluZyBsaWIgd2FzIGZyb20uCgoyMDEyLTA2LTEyIDIxOjI5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jaGFydC8uZ2l0aWdub3JlOgoJKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9jaGFydC9jaGFydC52Y3Byb2o6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICBjaGFydDogcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAyMToyMDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJKiBnc3QvdmlkZW9kcm9wL3ZpZGVvZHJvcC52Y3Byb2o6CgkgIHZpZGVvZHJvcDogZHJvcCB2aWRlb2Ryb3AKCSAgSXQgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCB2aWRlb3JhdGUgZG9lcyBpdHMgam9iIG5vdy4KCjIwMTItMDYtMTIgMjE6MTY6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0cy8uZ2l0aWdub3JlOgoJKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSogZXh0L2FydHMvZ3N0X2FydHNpby5pZGw6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW9faW1wbC5jYzoKCSogZXh0L2FydHMvZ3N0X2FydHNpb19pbXBsLmg6CgkqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSogZXh0L2FydHNkL1JFUVVJUkVNRU5UUzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9hcy1hcnRzLm00OgoJKiBtNC9nc3QtYXJ0c2MubTQ6CgkgIGFydHM6IHJlbW92ZSBhUnRzLXJlbGF0ZWQgcGx1Z2lucwoJICBhUnRzIGRldmVsb3BtZW50IHN0b3BwZWQgaW4gMjAwNCwgaXQncyB1bmxpa2VseSBldmVyIGlzCgkgIHN0aWxsIHVzaW5nIGl0LiBCZXNpZGVzLCB0aGVzZSBlbGVtZW50cyB3ZXJlIG5ldmVyIGV2ZW4KCSAgcG9ydGVkIHRvIDAuMTAuCgoyMDEyLTA2LTEyIDIxOjAyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICBzaG91dDogcmVtb3ZlIG9sZCBzaG91dCBwbHVnaW4gdGhhdCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQgdG8gMC4xMAoJICBUaGVyZSdzIHNob3V0MiBpbiAtZ29vZCBub3cuCgoyMDEyLTA2LTEyIDIwOjM1OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICBoZXJtZXM6IHJlbW92ZSBoZXJtZXMgY29sb3JzcGFjZSBjb252ZXJ0ZXIgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMTk6MDY6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogcmVtb3ZlIGxlZ2FjeSBwbHVnaW4KCjIwMTItMDYtMTIgMTk6MDI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgIGF1ZGlvcmVzYW1wbGU6IHJlbW92ZSBvbGQgYXVkaW9yZXNhbXBsZSBwbHVnaW4gdGhhdCB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAxODo1MzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IHVwZGF0ZSBmb3IgbmV3IHRhZyBldmVudCBBUEkKCjIwMTItMDYtMTIgMTg6NDc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgZGl2eDogcmVtb3ZlIHBsdWdpbiB0aGF0IHRoZSB3b3JsZCBkb2Vzbid0IG5lZWQgYW55IG1vcmUKCSAgMjAwMiBjYWxsZWQuCgoyMDEyLTA2LTEyIDEwOjU5OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRml4IGFycmF5IHR5cGUKCSAgV2Ugd2FudGVkIGFuIGFycmF5IG9mIGd1aW50OCAoYW5kIG5vdCBhbiBhcnJheSBvZiBwb2ludGVycykgdG8gc3RvcmUKCSAgdGhlIGRhdGEgZnJvbSBnc3RfYnVmZmVyX2V4dHJhY3QoKSBhbmQgcmVhZCBpdC4KCjIwMTItMDYtMTIgMDk6MTA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRvbid0IGFjY2VzcyBidWZmZXIgYWZ0ZXIgX2ZpbmlzaF9mcmFtZQoJICBVbm1hcCB0aGUgYnVmZmVyIGJlZm9yZSBjYWxsaW5nIF9maW5pc2hfZnJhbWUgYmVjYXVzZSB3ZSBhcmUgbm90IGFsbG93ZWQgdG8KCSAgYWNjZXNzIGl0IGFmdGVyLgoKMjAxMi0wNi0xMSAxNjo0NTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBkZWJ1ZyBjYXRlcmluZwoKMjAxMi0wNi0xMSAxNjo0NDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFkZCBTUE4vUFRTIGluZGV4aW5nIGNhcGFiaWxpdGllcwoJICBCYXNlZCBvbiBwYXRjaCBieSBBbmRyZWFzIEZyaXNjaCA8ZnJheGluYXNAb3BlbmRyZWFtYm94Lm9yZz4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDg5MAoKMjAxMi0wNi0xMSAxNDowMzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBtZW1jcHkgZHVlIHRvIHRlbXBvcmFyeSBwYWNrZXQgYnVmZmVyCgkgIC4uLiBieSB3cml0aW5nIGRpcmVjdGx5IGludG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZC4KCjIwMTItMDYtMTEgMTA6NDk6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGRvIG5vdCBhc3NlcnQgb24gZGF0YSBpbnB1dCwganVzdCByZXR1cm4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA2OQoKMjAxMi0wNi0xMCAxNDoyOTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogYWxsb3cgZGVidWdnaW5nIG9mIHJlbmRlciBhbmQgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIEVuYWJsZSBkZWJ1Z2dpbmcgb2YgcmVjdGFuZ2xlcyB2aWEgR1NUX0RWRF9TUFVfREVCVUcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTEtMTItMzEgMTg6MzU6NDAgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBjbGVhbnVwIGRlYnVnIGNvZGUKCSAgQ2xlYW4gdXAgZGVidWcgY29kZSBmb3IgZHJhd2luZyBoaWdobGlnaHQgcmVjdHMgd2hpY2ggd2Fzbid0IGV2ZW4KCSAgY29tcGlsaW5nIHByZXZpb3VzbHkuCgkgIFRPRE86IG1pZ2h0IGJlIG5pY2UgaWYgdGhpcyBjb3VsZCBiZSBjb250cm9sbGVkIGJ5IHByb3BlcnRpZXMgb3IKCSAgZW52IHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGVuYWJsZSB0aGUgZGVidWcgY29kZSBhdAoJICBydW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDEyLTA2LTA4IDE3OjE0OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBwbHVnIGxlYWtzIHdoZW4gZnJlZWluZyBzdHJlYW0KCjIwMTItMDYtMDggMTc6MTM6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBsdWcgc29tZSBsZWFrcwoKMjAxMi0wNi0wOCAxNTo1ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDU6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTE6NTU6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkanVzdCB0byBtb2RpZmllZCBidWZmZXIgY29sbGVjdCBiZWhhdmlvdXIKCjIwMTItMDYtMDggMTE6MTI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IG1wZWd2aWRlb3BhcnNlcjogYWRqdXN0IHRvIG1vZGlmaWVkIEFQSQoKMjAxMi0wNi0wNyAxNzo0MzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGRyYWluIGNhY2hlZCBkYXRhIHVwb24gRU9TCgoyMDEyLTA2LTA3IDE3OjM4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWxsb3cgZm9yIGFsaWduZWQgb3V0cHV0CgkgIC4uLiBhbmQgcmVmYWN0b3IgcGFja2V0IGhhbmRsaW5nIHNvbWUgbW9yZSBpbiB0aGUgcHJvY2Vzcy4KCSAgRml4ZXMgIzY1MTgwNS4KCjIwMTItMDYtMDcgMTQ6Mzg6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogaW1wcm92ZSBtMnRzIHRpbWVzdGFtcCBpbnRlcnBvbGF0aW9uCgkgICogYSBrbm93biBQQ1Igc2hvdWxkIHJlYWxseSBiZWxvbmcgdG8gYSBwYWNrZXQgaG9sZGluZyB0aGF0IFBDUgoJICAqIGludGVycG9sYXRpb24gY2FuIGJlIGV4dGVuZGVkIGJhY2t3YXJkIGZvciBpbml0aWFsIHBhY2tldHMgKFBBVCwgUE1UKQoKMjAxMi0wNi0wNyAxMjoxNzoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHR3ZWFrIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgoyMDEyLTA2LTA3IDE2OjIzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MiA9PT0KCjIwMTItMDYtMDcgMTY6MjM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTIKCjIwMTItMDYtMDcgMTY6MjI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxMjozMzozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrcwoJICBJIG9ubHkgdGVzdGVkIHRoYXQgdnA4ZW5jICEgdnA4ZGVjIGRvZXMgbm90IGNyYXNoLCBhcyB2YWxncmluZCBkb2VzIG5vdCBncm9rCgkgIGF0IGxlYXN0IG9uZSBvZiB0aGUgaW5zdHJ1Y3Rpb25zIHVzZWQgYnkgdnA4ZW5jLCBwcmV2ZW50aW5nIG1lIGZyb20gY2hlY2tpbmcKCSAgYSBsZWFrLCBhbmQgdGhlIGxhY2sgb2Ygb25lIGFmdGVyIHRoZSBwYXRjaC4KCjIwMTItMDYtMDcgMTI6MjU6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGJ1ZmZlciBsZWFrCgoyMDEyLTA2LTA3IDEyOjE2OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBmcmFtZSBsZWFrcwoKMjAxMi0wNi0wNyAxMjowMTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggY29kZWMgc3RhdGUgbGVhawoKMjAxMi0wNi0wNyAxMTo1ODo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggc3RyYXkgdW5yZWYgY2F1c2luZyBhY2Nlc3MgdG8gZnJlZWQgbWVtb3J5CgoyMDEyLTA2LTA3IDExOjUyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IGZpeCB2aWRlbyBjb2RlYyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNiAxODoxODo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFmYWIzNTkgdG8gMDNhMGU1NwoKMjAxMi0wNi0wNiAxNjowMDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTAzIDAxOjU4OjEyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IHRoZSB3YXlsYW5kIHZlcnNpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzM2MgoKMjAxMi0wNi0wNiAxMzowMjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDYgMTE6MTQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyOiBmaXggb3V0cHV0IGZyYW1lIG1hcAoKMjAxMi0wNi0wNSAxNzo1Nzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogUmVtb3ZlIHVuLW5lZWRlZCBjaGVja3MgYW5kIGlubGluZSBzb21lIGZ1bmN0aW9ucwoJICB2YWwgYW5kIG5yIGFsd2F5cyBleGlzdCAoJm5yLCAmdmFsdWUpCgkgIGJpdHMgaXMgYWx3YXlzIGNhbGxlZCBzbWFsbGVyIHRoYW4gdGhlIHdpZHRoCgkgIE1ha2VzIHBhcnNpbmcgMzAlIGZhc3RlcgoKMjAxMi0wNi0wNSAxODowMzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBtb3JlIGhlYWRlciBjbGFyaWZpY2F0aW9ucyBhbmQgcmVtb3ZlIHNvbWUgcmVkdW5kYW50IGZpZWxkcwoKMjAxMi0wNi0wNSAxNDoxODozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgUElEIGNvbGxpc2lvbiBmb3IgYXV0by1nZW5lcmF0ZWQgUElECgoyMDEyLTA2LTA1IDE2OjU5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IGlubGluZSBtb3JlIGNvZGUKCSAgV2l0aCB0aGUgcHJldmlvdXMgY29tbWl0LCBtYWtlcyBtcGVndHNtdXggMTAgdG8gMTUlIGZhc3RlcgoKMjAxMi0wNi0wNSAxNjo1ODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBEb24ndCB1c2UgZ19saXN0X2ZpcnN0ICgpCgkgIFNlcmlvdXNseSAuLi4KCjIwMTItMDYtMDUgMTI6MTc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhbHNvIHByb3Blcmx5IHJlc2V0IGFuZCBmcmVlIHBhZCBkYXRhCgoyMDEyLTA2LTA1IDExOjUyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcmVmYWN0b3IgaW5pdCB1c2luZyBfcmVzZXQgdG8gY2F0ZXIgZm9yIHByb3BlciByZXVzZQoKMjAxMi0wNi0wNCAxNjoyNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGhlYWRlciBjbGVhbnVwcyBhbmQgY2xhcmlmaWNhdGlvbnMKCjIwMTItMDYtMDQgMTY6MDU6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0d2VhayBidWZmZXIgaGFuZGxpbmcKCSAgLi4uIGZvciBjbGFyaXR5IGFuZCB0byBhdm9pZCBtaXhpbmcgX3BlZWsvX3BvcAoKMjAxMi0wNi0wNCAxNjowMzoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1pc2MgY29kZSBjbGVhbnVwcyBhbmQgcmVmYWN0b3JpbmcKCjIwMTItMDYtMDQgMTQ6NTQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBzZXBhcmF0ZSBhbGxvY2F0aW9uIGZvciBsaXN0IG9mIHByb2dyYW1zCgoyMDEyLTA2LTA0IDE0OjU0OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVhcnJhbmdlIGRlZmluZSdzCgoyMDEyLTA2LTA0IDE0OjQ4OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVtb3ZlZCBoYWNrZWQgZXZlbnQgaGFuZGxpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIFJldmVydGVkIGJhY2sgdG8gMC4xMCBzdGF0ZSBhcyBpdCB3YXNuJ3QgcmVhbGx5IHBvcnRlZAoJICB5ZXQgYW55d2F5LgoKMjAxMi0wNi0wNSAwOTo1NDo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogQWxzbyBwYXJzZSBUT1QgKFRpbWUgT2Zmc2V0IFNlY3Rpb24pCgkgIEl0J3MgdGhlIHNhbWUgYXMgVERULCBleGNlcHQgd2l0aCBkZXNjcmlwdG9ycyBhdCB0aGUgZW5kCgoyMDEyLTA2LTA1IDA5OjUyOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGSVhNRS9Db21tZW50IGFib3V0IGlzc3Vlcy9lcnJvcnMKCjIwMTItMDYtMDUgMDk6NDg6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGxlYWsKCjIwMTItMDYtMDUgMDk6NDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVkdWNlIHVzYWdlIG9mIEdzdEFkYXB0ZXIKCSAgUGVlayBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIG9uZSBnby4gSWRlYWxseSB3ZSBzaG91bGQgcmVtb3ZlIHVzYWdlIG9mCgkgIGFkYXB0ZXIgYWx0b2dldGhlciwgYnV0IGZvciB0aGUgdGltZSBiZWluZyBpdCBwcm92aWRlcyBhIGJpZyBlbm91Z2gKCSAgc3BlZWR1cCAoYXJvdW5kIDIgdGltZXMgZmFzdGVyIHBlciBwYWNrZXQgcHJvY2Vzc2VkKS4KCjIwMTItMDYtMDQgMDg6Mzk6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgYWxsb2MvZnJlZSB3aGVyZSBwb3NzaWJsZQoJICBIZWxwcyBmb3Igc3RyZWFtcyB3aXRoIGEgbG90IG9mIHNlY3Rpb25zLCBsaWtlIEVJVAoKMjAxMi0wNi0wNCAwODozNzo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIHNlY3Rpb25zIHRoYXQgZG9uJ3QgaGF2ZSBhIENSQwoKMjAxMi0wNi0wNCAwODozMjo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ2RlZnM6IEFkZCBsaXN0IG9mIGtub3duIHRhYmxlX2lkCgkgIEFsb25nIHdpdGggdGhlIHNwZWNpZmljYXRpb25zIGZyb20gd2hpY2ggdGhleSBjb21lLiBBdm9pZHMgaGF2aW5nCgkgIHRvIHNlYXJjaCBmb3Igd2hpY2ggc3BlYyBhIHRhYmxlX2lkIGJlbG9uZ3MgdG8KCjIwMTItMDYtMDMgMTA6NTg6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ2xhcmlmeSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFVzZSBoZXggdmFsdWVzIGluIG1vcmUgY2FzZXMgKHNpbmNlIHRoYXQncyBob3cgUElEL3RhYmxlX2lkLy4uLiBhcmUKCSAgcmVwcmVzZW50ZWQgaW4gdGhlIHZhcmlvdXMgc3BlY3MpLgoKMjAxMi0wNi0wMyAxMDo1NjoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNiYXNlL3BhY2tldGl6ZXI6IEFkZCBDQVQgc2VjdGlvbiBoYW5kbGluZwoJICBBbGxvd3MgcmVwb3J0aW5nIHRoZSBnbG9iYWwgRU1NCgoyMDEyLTA2LTAzIDEwOjUzOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgZGVidWcgaW4gUFNJIGhhbmRsaW5nCgkgIEFsbG93cyB1cyB0byBpZGVudGlmeSB3aGljaCBTSSB3ZSBkb24ndCBoYW5kbGUKCjIwMTItMDYtMDMgMTA6NTM6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBkZWZhdWx0IGtub3duIFBTSSB0YWJsZV9pZAoKMjAxMi0wNi0wMiAwODowNjoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IFJlZmFjdG9yIFBTSSBkZXRlY3Rpb24KCjIwMTItMDYtMDUgMDk6MzA6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIGNvbmZpZy5oCgoyMDEyLTA2LTA1IDA5OjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IEdzdEJhc2VQYXJzZTo6Z2V0X3NpbmtfY2FwcygpIGltcGxlbWVudGF0aW9ucwoJICBUaGV5IHNob3VsZCB0YWtlIHRoZSBmaWx0ZXIgY2FwcyBpbnRvIGFjY291bnQgYW5kIGFsd2F5cyByZXR1cm4KCSAgdGhlIHRlbXBsYXRlIGNhcHMgYXBwZW5kZWQgdG8gdGhlIGFjdHVhbCBjYXBzLiBPdGhlcndpc2UgdGhlCgkgIHBhcnNlcnMgc3RvcCB0byBhY2NlcHQgdW5wYXJzZWQgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBkb2VzIG5vdAoJICBrbm93IGFib3V0IHdpZHRoLCBoZWlnaHQsIGV0Yy4KCSAgRml4ZXMgYnVnICM2Nzc0MDEuCgoyMDEyLTA2LTAxIDE2OjI5OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogRUNNL0NBIHNlY3Rpb25zIGRvbid0IGhhdmUgYSBDUkMKCSAgU28gZG9uJ3QgY2hlY2sgZm9yIGl0IDopCgkgIEFsc28gYWRkIGEgYml0IG1vcmUgaW5mbyBpbiB0aGUgd2FybmluZyBtZXNzYWdlIHRvIHNwZWVkIHVwIGRldGVjdGluZwoJICB3aGV0aGVyIGl0J3MgYSBmYWxzZS1wb3NpdGl2ZSBvciBub3QuCgoyMDEyLTA2LTAxIDEwOjU5OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogcmVsYXggZW50cnkgY29uc3RyYWludAoJICAuLi4gc2luY2UgaXQgaXMgYWNjZXB0YWJsZSBhbmQgcHJvcGVybHkgaGFuZGxlZCBmdXJ0aGVyIG9uLgoKMjAxMi0wNi0wMSAxMDoyOTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYxYjVhOTYgdG8gMWZhYjM1OQoKMjAxMi0wNS0zMSAxMzowODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0yOSAxMDo0ODo1NCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBhZGQgc3VwcG9ydCBmb3IgVkMxIGFuZCBmaXggcGx1Z2lucyByYW5rcwoKMjAxMi0wNS0yOSAxMDo0ODowMyAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGluaXRpYWxpemUgZGVidWcgcHJvcGVybHkKCjIwMTItMDUtMjkgMTA6NDM6NDMgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGZpeCBvYmplY3QgZGlzcG9zYWwgYW5kIGZpbmFsaXphdGlvbgoKMjAxMi0wNS0zMCAxMDozNDo0NCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgZmx1c2ggYWZ0ZXIgYSBkZXZpY2UgbG9zdAoKMjAxMi0wNS0zMCAxMzo1NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogUHV0IHRoZSByaWdodCBmbGFncyBpbnRvIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMjo0NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjMWM0YTggdG8gOTJiNzI2NgoKMjAxMi0wNS0zMCAxMTozMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmV2ZXJ0IGFjY2lkZW50aWFsbHkgY29tbWl0dGVkIHN0dWZmIGluIGxhc3QgY29tbWl0CgoyMDEyLTA1LTMwIDExOjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogQWRkIE9CSkMgc3BlY2lmaWMgY29tcGlsZXIgZmxhZ3MKCSAgU2VlIGJ1ZyAjNjQzOTM5LgoKMjAxMi0wNS0zMCAxMToyMzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM0MjliYTYgdG8gZWMxYzRhOAoKMjAxMi0wNS0yOSAxNzoyNDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHJlYWQgZ2FpbiBmcm9tIHRoZSByaWdodCBwbGFjZSBpbiB0aGUgaGVhZGVyCgkgIEl0J3MgYXQgYnl0ZSBvZmZzZXQgMTYsIG5vdCAxNC4KCjIwMTItMDUtMjQgMTE6MTE6MDAgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFJlZmFjdG9yaW5nIGFuZCBtYWtlIGNvcmUgbW9yZSBzaW1pbGFyIHRvIHRleHRvdmVybGF5CgkgIEVzcGVjaWFsbHkgdGhlIGNvbWJpbmluZyBvZiB0aGUgdGV4dCBhbmQgdmlkZW8gYnVmZmVycyBpcyBub3cKCSAgYWxtb3N0IHRoZSBzYW1lIGFzIGluIHRleHRvdmVybGF5LgoJICBXZSBzaG91bGQgcmVhbGx5IGdldCBhIGJhc2UgY2xhc3MgZm9yIHRoaXMuCgkgIENvbmZsaWN0czoKCSAgZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYwoJICBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oCgoyMDEyLTA1LTI4IDE1OjQ4OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBkdmI6IEFkZCBtb3JlIGRlYnVnZ2luZyB0byBjYW0gc3VwcG9ydAoKMjAxMi0wNC0yNCAxMTowOToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBQb3J0IHRvIC1iYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvZGlyYWMvTWFrZWZpbGUuYW0KCjIwMTItMDUtMjggMTY6NDI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgb2xkIHZpZGVvIGJhc2UgY2xhc3NlcwoKMjAxMi0wNS0yOCAxNjo0MjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hyb2VkaW5nZXI6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0yOCAwNzo1ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBXZSBkb24ndCBhc3N1bWUgcGFja2V0aXplZCBpbnB1dAoJICBPdGhlcndpc2UgdGhlIHBhcnNlIHZtZXRob2QgbmV2ZXJzIGdldHMgY2FsbGVkCgoyMDEyLTA0LTI0IDExOjA4OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm9lZGluZ2VyOiBQb3J0IHRvIC1iYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtCgkgIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYwoJICBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlLCBuZWVkcyBwb3J0aW5nIGFnYWluLgoKMjAxMi0wNS0yOCAxNjowNToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMTYgMTQ6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdFZpZGVvQ29kZWNGcmFtZSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0yNyAxODoyMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgdnA4ZGVjOiBJbXByb3ZlIG91dHB1dF9zdGF0ZSBoYW5kbGluZwoJICBBdm9pZCBnZXR0aW5nIG91dHB1dF9zdGF0ZSBmb3IgZXZlcnkgYnVmZmVyIGFzIHRoYXQgcmVxdWlyZXMKCSAgZ2V0dGluZyB0aGUgb2JqZWN0bG9jayBhbmQgZG9pbmcgcmVmZXJlbmNlIGNvdW50aW5nLiBTdG9yZSBpdCBsb2NhbGx5CgkgIHdoZW4gaXQgaXMgY3JlYXRlZCBhbmQgdXNlIGl0LgoKMjAxMi0wNC0yNyAwOTowNTo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBVc2Ugb3V0cHV0c3RhdGUgd2hlbiBjb3B5aW5nIG91dHB1dCBidWZmZXIgZGF0YQoJICBVc2luZyB0aGUgaW5wdXQgc3RhdGUgd2FzIGNhdXNpbmcgYSBjcmFzaCBiZWNhdXNlIHRoZSBzdHJpZGVzL29mZnNldHMKCSAgd291bGQgYmUgd3JvbmcuIEZpeCBpdCBieSB1c2luZyB0aGUgb3V0cHV0IGFzIHdlIGFyZSBkZWFsaW5nIHdpdGgKCSAgdGhlIGRlY29kZWQgZnJhbWUuCgoyMDEyLTA0LTI0IDExOjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogUG9ydCB0byAtYmFzZSB2aWRlbyBiYXNlIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvdnA4L01ha2VmaWxlLmFtCgkgIGV4dC92cDgvZ3N0dnA4ZGVjLmMKCSAgZXh0L3ZwOC9nc3R2cDhlbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUgZm9yIG5vdywgbmVlZCB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDIzOjQxOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZG8gbm90IGFzc2VydCBvbiBiYWQgaGVhZGVyLCBlcnJvciBvdXQgaW5zdGVhZAoKMjAxMi0wNS0yNyAwMDowMDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGRvbid0IHVzZSBHc3RTdHJ1Y3R1cmUgQVBJIG9uIHRhZyBsaXN0cwoKMjAxMi0wNS0yNiAxNDo1Nzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEFkZCBtb3JlIGNvbW1lbnRzL2luZm8KCSAgTmFtZWx5IHdoZXJlIHRoZXkgYmVsb25nIHRvCgoyMDEyLTA1LTI2IDE0OjU3OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1ha2Ugc3VyZSB3ZSBoYXZlIGEgbGFuZ3VhZ2UgY29kZSBiZWZvcmUgdXNpbmcgaXQKCjIwMTItMDUtMjYgMTQ6MTE6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2hlY2sgYmVmb3JlIGdldHRpbmcgZGVzY3JpcHRvcnMgZnJvbSBzdHJ1Y3R1cmUKCSAgQXZvaWRzIHNwdXJpb3VzIHdhcm5pbmdzLiBOb3QgaGF2aW5nIHRob3NlIGRlc2NyaXB0b3JzIGlzIG5vdGhpbmcKCSAgZmF0YWwsIHNvIGNoZWNrIHRoZWlyIHByZXNlbmNlIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRoZW0uCgoyMDEyLTA1LTI2IDE0OjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogQmUgYSBiaXQgbW9yZSBwZXJtaXNzaXZlIHdpdGggUFRTL0RUUyBwYXJzaW5nCgkgIEFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNhdGlvbnMgYSBQVFNfRFRTX2ZsYWdzIHZhbHVlIG9mIDB4MDEgaXMgZm9yYmlkZGVuLgoJICAuLi4gYnV0IHRoZXJlIGFyZSBzb21lIHJhcmUgZmlsZXMgb3V0IHRoZXJlIHRoYXQgZG8gdGhhdC4KCSAgSW5zdGVhZCBvZiBlcnJvcmluZyBvdXQsIGxldCdzIHdhcm4sIGNhcnJ5IG9uIHBhcnNpbmcgYWNjb3JkaW5nbHkuCgkgIElmIHRoZSBwYWNrZXQgaXMgcmVhbGx5IGNvcnJ1cHRlZCB0aGVyZSBhcmUgZW5vdWdoIGNoZWNrcyBhZnRlcndhcmQgdG8KCSAgZGV0ZWN0IHRoYXQuCgoyMDEyLTA1LTI1IDIyOjIwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGhlZWQgdGVzdCB2ZWN0b3IgZnJhbWluZyB0byBlYXQgYW55IHBhZGRpbmcKCSAgVGhpcyBmaXhlcyBwYXJzaW5nIG9uIG9uZSBwYXJ0aWN1bGFyIHRlc3QgdmVjdG9yIHdoZXJlIHBheWxvYWQKCSAgZGF0YSBpcyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCBhdWRpbyBwYXlsb2FkLgoKMjAxMi0wNS0yNSAxNDoxNTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBGaXggYml0IG9wZXJhdGlvbgoJICAiYSAlIDgiIGNvcnJlc3BvbmRzIHRvICJhICYgMHg3IiAoYW5kIG5vdCAweGYpLgoJICBzcG90dGVkIGJ5IEp1bGlhbiBTY2hlZWwKCjIwMTItMDUtMjQgMTY6MjI6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogU2ltcGxpZnkgY2hlY2sKCSAgQXZvaWRzIGEgdW5zZXQgdmFyaWFibGUgd2FybmluZyAoZm9yIG5mcmFtZXMpIHdpdGggZ2NjIDQuNy4wCgoyMDEyLTA1LTI0IDIyOjEyOjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogcmVqZWN0IG1ham9yIHZlcnNpb24gbnVtYmVyIGFib3ZlIHdoYXQgd2UgZ3JvawoKMjAxMi0wNS0yNCAyMTo1ODo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IGJ1bXAgd3JpdHRlbiB2ZXJzaW9uIGZyb20gMCB0byAweDAxCgkgIGFzIHBlciB0aGUgc3BlYyB1cGRhdGUgYXQgaHR0cHM6Ly93aWtpLnhpcGgub3JnL09nZ09wdXMjSURfSGVhZGVyCgoyMDEyLTA0LTMwIDE0OjQwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGxvc3QgcGFja2V0IGhhbmRsaW5nIGZvciBGRUMvUExDCgkgIFRoZSBiYXNlIGF1ZGlvIGRlY29kZXIgc2VuZHMgemVybyBzaXplIHBhY2tldHMsIG5vdCBOVUxMIGJ1ZmZlcnMsCgkgIHRvIHNpZ25hbCBkcm9wcGVkIHBhY2tldHMuCgoyMDEyLTA1LTI0IDEyOjMyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTIzIDE4OjE5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdXBwcmVzcyBzb21lIHdhcm5pbmdzIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCSAgV2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBpZiBjb3JlIGhhcyB0aGUKCSAgZGVidWcgc3lzdGVtIGRpc2FibGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjcyCgoyMDEyLTA0LTI1IDIxOjIxOjQzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkgIFBvcnQgZDNkdmlkZW9zaW5rIHRvIDAuMTEKCSAgRml4ZXMgIzY3NDgxNwoKMjAxMi0wNS0yMyAxMjowNzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNS0yMiAxODo1NTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogRW1pdCBuby1tb3JlLXBhZHMgd2hlbiBwYWQgaXMgYWRkZWQKCSAgVGhpcyBhdm9pZHMgYW4gZW5kbGVzcyBoYW5nIHdpdGggcGxheWJpbjIsIHdoaWNoIHNlZXMgZHZiYmFzZXNiaW4gYXMKCSAgaGF2aW5nIGR5bmFtaWMgcGFkcyAuLi4gYnV0IG5ldmVyIGVtaXR0ZWQgbm8tbW9yZS1wYWRzLgoKMjAxMi0wNS0yMiAxODo1MzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIGNhbXV0aWxzOiBGaXggUE1UIG1lc3NhZ2UgY29uc3RydWN0aW9uCgkgIFRoZSBzaXplIG9mIHRoZSBtZXNzYWdlIGVuZGVkIHVwIGJlaW5nIGJpZ2dlciB0aGFuIGl0cyBjb250ZW50LgoJICBUaGF0IGNhdXNlIHNvbWUgQ0EgbW9kdWxlcyB0byBqdXN0IGhhbmcuCgoyMDEyLTA1LTIyIDE4OjUxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGNhbXRyYW5zcG9ydDogQWxsb3cgZGVsYXkgd2hlbiBzZXR0aW5nIHVwIGNhbSBkZXZpY2UKCSAgU29tZSBDQSBkZXZpY2VzIHRha2UgYSBsb25nIHRpbWUgdG8gc2V0IHRoZW1zZWx2ZXMgdXAsCgkgIHRoZXJlZm9yZSByZXRyeSBldmVyeSAyNTBtcyAoZm9yIGEgbWF4aW11bSBvZiAyLjVzKQoKMjAxMi0wNS0yMiAxODo0OTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEZpeHVwL2FkZCBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEyLTA1LTIyIDE4OjQ4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogT25seSBvcGVuIGRldmljZSByZWFkL3dyaXRlIHdoZW4gbmVlZGVkCgkgIEF2b2lkIHN0YXJ0aW5nIHVwIGtlcm5lbCB0aHJlYWQgd2hlbiBub3QgbmVlZGVkCgoyMDEyLTA1LTIyIDE4OjQ2OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IEFkZCB3YXJuaW5nIHdoZW4gZHZiIGNoYW5uZWxzIGZpbGUgaXNuJ3QgcHJlc2VudAoKMjAxMi0wNS0yMyAwODozOToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTcGVlZCB1cCBfaXNfcHNpKCkKCSAgQnkgbWFraW5nIGl0IGlubGluZSBhbmQgc2ltcGxpZnlpbmcgdGhlIGJpdCBtYWNyb3MKCjIwMTItMDUtMjIgMjE6MDA6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogYXZvaWQgc2Nhbm5pbmcgZm9yIHN0YXJ0IGNvZGVzIHR3aWNlCgkgIC4uLiBzaW5jZSBhIHByZXZpb3VzIHRlcm1pbmF0aW5nIHN0YXJ0IGNvZGUgc2VydmVzIGFzIHN1YnNlcXVlbnQgc3RhcnQgY29kZS4KCjIwMTItMDUtMjIgMTk6MTE6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogRml4dXBzIGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCjIwMTItMDQtMTAgMTI6MzY6MTUgKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBsYW5ndWFnZSBjb2RlIHRvIHRhZ2xpc3QuCgkgIFJlYWQgdGhlIGxhbmd1YWdlIGNvZGVzIGZvciB0cmFja3MgZnJvbSB0aGUgbXBlZ3RzIGRlc2NyaXB0b3JzIGFuZCBhZGQgaXQgaW50bwoJICB0aGUgcGFkcyB0YWdsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk2CgoyMDEyLTA1LTIxIDE3OjUzOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIEFQSQoJICBXZSBubyBsb25nZXIgdXNlIEdzdEJ1ZmZlckxpc3QgYW5kIGluc3RlYWQgY29weSB0aGUgaW5jb21pbmcgZGF0YQoJICBpbnRvIG5ld2x5IGFsbG9jYXRlZCBtZW1vcnkuCgkgIFRoaXMgbWFrZXMgdHNkZW11eCBiZWhhdmlvdXIgMyB0byA0IHRpbWVzIGZhc3Rlci4KCjIwMTItMDUtMjEgMTc6NTM6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIEFQSQoKMjAxMi0wNS0yMSAxNzo1Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBiZWhhdmlvdXIKCjIwMTItMDUtMjEgMTc6NDg6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgdXNhZ2Ugb2YgR3N0QnVmZmVyIGludGVybmFsbHkKCSAgVGhlIG92ZXJoZWFkIG9mIGNyZWF0aW5nL3VzaW5nIDE4OCBieXRlIEdzdEJ1ZmZlciBmcm9tIEdzdEFkYXB0ZXIKCSAgaXMgdG9vIGV4cGVuc2l2ZS4KCSAgV2Ugbm93IHBlZWsgdGhlIG5leHQgcGFja2V0LCBhbmQgcHJvdmlkZSBhIGRhdGEvc2l6ZSB3aGljaCBpcyBvbmx5CgkgIHZhbGlkIHVudGlsIHRoZSBwYWNrZXRpemVycGFja2V0IGlzIGNsZWFyZWQuCgkgIEluIGFkZGl0aW9uLCBjbGVhbnVwIGFsbCB0aGUgaW50ZXJuYWwgY29kZSB0byBkZWFsIHdpdGggdGhhdCBuZXcKCSAgYmVoYXZpb3VyIGFuZCByZW1vdmUgZG91YmxlLWNoZWNrcyB3aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgVGhlIHNlY3Rpb25fbGVuZ3RoIGlzIG5vdyB0aGUgY29ycmVjdGVkIHNlY3Rpb25fbGVuZ3RoIChpLmUuIHdpdGgKCSAgdGhlIGFkZGl0aW9uYWwgMyBieXRlcykuCgkgIEF2b2lkIHVzaW5nIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIGFuZCBpbnN0ZWFkIHRyYWNrCgkgIHRoZSB0aW1lc3RhbXAgb3Vyc2VsZi4KCjIwMTItMDUtMjAgMTM6Mjc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRGV0ZWN0IFBDUiB3cmFwYXJvdW5kIGluIHNrZXcgY29kZQoJICBJZiB0aGUgcmVjZWl2ZWQgUENSIGlzIGdvaW5nIGJhY2t3YXJkcyAoYnkgYSBzYWZlIG1hcmdpbiksIGluY2x1ZGUKCSAgdGhhdCB3cmFwYXJvdW5kIGZvciBmdXJ0aGVyIGNhbGN1bGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDEyLTA1LTIyIDE0OjQ4OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhdm9pZCByZXBlYXRlZCBjYXBzIHNldHRpbmcKCjIwMTItMDUtMjIgMTQ6MDA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiB0d2VhayBjb2RlYyBwYXJzZXIgQVBJIGFuZCBhZGp1c3QgcGFyc2VyIGVsZW1lbnQKCSAgLi4uIHRvIGFsbG93IGZvciBtb3JlIGVmZmljaWVudCBwYXJzaW5nIGFuZCAobW9yZSkgY29uc2lzdGVudCBwYXJzaW5nIEFQSQoJICBhbW9uZyB2YXJpb3VzIGNvZGVjIHBhcnNlcnMuCgkgIEZpeGVzICM2NzI3MDEuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTIyIDEyOjMwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZml4dXAgZG9jdW1lbnRhdGlvbiBzcGVsbGluZwoKMjAxMi0wNS0wOCAxNjo1MToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBPcHRpbWl6ZSBzY2FubmluZyBmb3Igc3RhcnQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNzAxCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0yMiAxMToxMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IERvdWJsZSBwcm9wZXJ0aWVzIGFyZSBzdXBwb3NlZCBpbiB0aGUgcmFuZ2UgWzAuMCwgMS4wXQoJICBGaXhlcyBidWcgIzY3NjEzNy4KCjIwMTItMDUtMjEgMTk6MjI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiB1bm9iZnVzY2F0ZSBmcmFtZSBwYXJzaW5nCgkgIC4uLiBhbmQgYWRkIGNvbW1lbnRzIGFuZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXhlcyAjNjc0MjAyLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0yMSAxNjozNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZXZlcnQgImZpeCBjcmFzaCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5MTIxMDgzMWVlNjcyMzQzYTI5NmYzMTM1NzE0NDM1OWQ1YzJlNzY4LgoJICBTdWNoIGV4cGxpY2l0IHJlc2V0IHNob3VsZCBub3QgYmUgbmVlZGVkIGFzIGl0IGlzIGFycmFuZ2VkIGZvciBieQoJICB0aGUgYmFzZWNsYXNzIGluIHVuaXNvbiB3aXRoIG1vbml0b3JpbmcgZm9yIGEgbmV3IGZyYW1lIGJ5IHN1YmNsYXNzLgoJICBBcyBzdWNoIGl0IG1pZ2h0IHdyb25nZnVsbHkgaGlkZSBzb21ldGhpbmcgZWxzZSBnb2luZyBvbiAuLi4KCSAgU2VlICM2NzQwNzMuCgoyMDEyLTA1LTIxIDE1OjI0OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2VyOiBmaXggYnVmZmVyIHNpemUgY2hlY2sKCSAgLi4uIHRvIG1pbmQgdW5zaWduZWQgaW50ZWdlciB3cmFwCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDM2CgoyMDEyLTA1LTIxIDE1OjA5OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiBtcGVndmlkZW9wYXJzZTogZml4IHVuaXQgdGVzdCByZWdyZXNzaW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYwOTcKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTE5IDE1OjM0OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogZG9uJ3QgYWNjZXNzIEdzdEVsZW1lbnRGYWN0b3J5IHN0cnVjdHVyZSBkaXJlY3RseQoKMjAxMi0wNS0xOCAxNjoxNzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGRvIG5vdCBleHBlY3QgYSBtYXJrZXIgYml0IHdoZXJlIG5vdCBzcGVjaWZpZWQKCSAgRml4ZXMgIzY3MjQ0Ny4KCjIwMTItMDUtMTYgMTY6MTU6NTggKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZsdXNoIG9uIHB1c2kgb25seSBmb3IgcGF5bG9hZCBwYWNrZXRzCgkgIERhdGEgc2hvdWxkIG5vdCBiZSBmbHVzaGVkIG91dCBvZiB0aGUgdHNkZW11eCBiZWNhdXNlIGEgcGF5bG9hZCB1bml0IHN0YXJ0CgkgIGluZGljYXRvciAocHVzaSkgaXMgc2VlbiBpbiBhIGFkYXB0YXRpb24gb25seSB0cyBwYWNrZXQuIElmIHRoZSBwYWNrYWdlIGNvbnRhaW5zIG5vCgkgIHBheWxvYWQgYSBwdXNpIGRvZXMgbm90IGluZGljYXRlIGEgbmV3IFBFUyBwYWNrZXQsIGJ1dCBQU0kgaW5mb3JtYXRpb24sIGV0Yy4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzZXZlcmFsIFRTIGZpbGVzIHdoaWNoIGNvbnRhaW4gdHMgcGFja2V0cyB3aXRob3V0CgkgIHBheWxvYWQgYnV0IHdpdGggcHVzaSBzZXQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjE2OAoKMjAxMi0wNS0xOCAxMDoxNToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBxdWV1ZSBkYXRhIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIHBhZAoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhbiBlcnJvciBmdXJ0aGVyIGRvd24sIGFuZCBpdCBhbHNvIGF2b2lkcyBwcm9jZXNzaW5nCgkgIGZvciB0aGF0IGRhdGEgd2hpY2ggd2Ugd291bGRuJ3QgYmUgdXNpbmcgYW55d2F5LgoKMjAxMi0wNS0xOCAxMDoxMzoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBEZXRlY3QgYW5kIGhhbmRsZSBzY3JhbWJsZWQgcGFja2V0cwoJICBVc2VycyAodHNkZW11eC9tcGVndHNwYXJzZSkgY2FuIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGggdGhhdAoKMjAxMi0wNS0xOCAxMDowNzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFbWl0IG5vLW1vcmUtcGFkcyB3aGVuIGFsbCBwYWRzIGFyZSBhY3RpdmF0ZWQKCSAgRml4ZXMgIzY3MDkyMSBhZ2FpbgoKMjAxMi0wNS0xNyAxMToxNToyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJICBnYXVkaWVmZmVjdHM6IGFkZCBmYWxsYmFjayBjb2RlIGZvciBvcmMKCSAgdGhpcyBpbmNsdWRlcyBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9mIHRoZSBidXJuIGZpbHRlciwgd2l0aCBhIH40MCUgc3BlZWQKCSAgaW1wcm92ZW1lbnQuCgoyMDEyLTA1LTE3IDEwOjQ5OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgdGhlIG9yYyB2ZXJzaW9uIHJlcXVpcmVkIHRvIDAuNC4xNgoJICBTb21lIG9wY29kZXMgaGF2ZSBjaGFuZ2VkIHNvIHRoZXkgd291bGQgZmFpbCB0byBidWlsZCB3aXRoIDAuNC4xNAoKMjAxMi0wNS0xNyAwOTo0NzowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gc29sYXJpemUKCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NjozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGV4Y2x1c2lvbgoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ1OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBkb2RnZQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ0OjI5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBjaHJvbWl1bQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDExOjQ3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBjb25zaWRlciBuYWxfbGVuZ3RoX3NpemUgd2hlbiBpbnNlcnRpbmcgY29kZWMgZGF0YQoJICBTZWUgIzY3NjE3NC4KCjIwMTItMDUtMTYgMjE6NTA6NDggKzAxMDAgIEpvaG4gSGVpbiA8bjRrZGxteDAyQHNuZWFrZW1haWwuY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgeTRtOiBsaW5rIGFnYWluc3QgdGhlIHJpZ2h0IGxpYmdzdHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxODkKCjIwMTItMDUtMTYgMTc6NTA6NDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBleGFtcGxlIHBpcGVsaW5lcyB3aXRoIHZpZGVvY29udmVydAoKMjAxMi0wNS0xNiAxNzo0OToxMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy5vcmM6CgkgIGdhdWRpZWZmZWN0czogb3JjLWlmeSBidXJuIGZpbHRlcgoKMjAxMi0wNS0xNiAwOToxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMS45MQoKMjAxMi0wMS0xMyAxODo1NzoyMCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGFkZCB2aXN1YWwgc3R1ZGlvIElERSBmaWxlcyBhbmQgT1MgWCAuRFNfU3RvcmUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg5OQoKMjAxMi0wNS0xNSAxNTo0NjoyOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogdXNlIGdzdCBhcGkgZm9yIHRpbWVzdGFtcHMgaW5zdGVhZCBvZiB0aGUgKHdyb25nKSBhcGkgZnJvbSBhIHRvbyBuZXcgZ2xpYgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYwoKMjAxMi0wNS0xNCAxMTozODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG9wdGltaXplIG91dHB1dCBieSBhZ2dyZWdhdGluZyBwYWNrZXRzCgkgIC4uLiByYXRoZXIgdGhhbiBwdXNoaW5nIGVhY2ggKHNtYWxsKSBwYWNrZXQgaW4gYSBzZXBhcmF0ZSBidWZmZXIuCgkgIG0ydHMgbW9kZSBub3QgeWV0IG9wdGltaXplZCB0aG91Z2guCgoyMDEyLTA1LTExIDExOjQ2OjU4ICswMjAwICBBbGJlcnQgQXN0cmFscyBDaWQgPGFsYmVydC5hc3RhbHMgYXQgY2Fub25pY2FsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogc3VwcG9ydCBpdGVtcyBpbiBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI0NzgKCjIwMTItMDUtMTQgMDk6MTU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybDogZml4IGNvbXBpbGF0aW9uCgkgIERvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZCBBUEkKCjIwMTItMDUtMTMgMTc6MDA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkxID09PQoKMjAxMi0wNS0xMyAxNjo0MzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6NDM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNS0xMyAxNTo1NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0xMyAxNToyNDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybDogRml4IGVxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmFudGhlc2VzIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Y3VybGh0dHBzaW5rLmM6NDExOjI3OiBlcnJvcjogZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyZW50aGVzZXMKCjIwMTItMDUtMTIgMTI6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2s6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEyLTA0LTI1IDE5OjQ2OjUzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsc210cHNpbmsgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjQ1OjI0ICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJICBjdXJsOiBuZXcgY3VybGZ0cHNpbmsgZWxlbWVudAoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6Mjg6MTAgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsZmlsZXNpbmsgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjAwOjQ3ICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJICBjdXJsOiByZWZhY3RvciBjdXJsc2luaywgcmVuYW1lIHRvIGN1cmxodHRwc2luawoJICBTcGxpdCBpbnRvIGJhc2UsIHRscyBhbmQgaHR0cCBjbGFzc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTA1LTEwIDIxOjE1OjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogY29uc2lzdGVuY3kgaW4gdGVtcGxhdGVzIG5hbWUKCjIwMTItMDUtMTAgMTA6MTE6MTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIGEgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0wNS0xMCAxMDoxMDoxNCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsczogQWRkIGEgd2F5IHRvIGdldCBiZXN0IHBsYXlsaXN0IGZvciBhIHNwZWNpZmljIGJpdHJhdGUgaW4gTTNVOENsaWVudAoJICBNYWtlIHVzZSBvZiBpdCBpbiBobHNkZW11eAoKMjAxMi0wNS0wOCAxMzoyNzoxNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBmYWlsb3ZlciBwcm90ZWN0aW9uLgoJICBNdWx0aXBsZSBzdHJlYW1zIHdpdGggc2FtZSBiYW5kd2lkdGggZ2V0IHJldHJpZWQKCjIwMTItMDUtMDggMTM6MDQ6MzUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IENhbGN1bGF0ZSB0aGUgcmVhbCBiaXRyYXRlIGFuZCBzd2l0Y2ggdG8gdGhlIGNvcnJlY3QgdmFyaWFudAoJICBXZSBub3cgY2FsY3VsYXRlIHRoZSBhY3R1YWwgYml0cmF0ZSB1c2luZyB0aGUgZG93bmxvYWQgc3BlZWQvc2l6ZSBhbmQKCSAgdGhlbiBzd2l0Y2ggZGlyZWN0bHkgdG8gdGhlIHZhcmlhbnQgdGhhdCBtYXRjaGVzIG91ciBiYW5kd2lkdGggdGhlCgkgIG1vc3QuCgkgIEl0IHdpbGwgYWxzbyBiZSBhYmxlIHRvIGhhbmRsZSBhbnkgdXNlIGNhc2Ugd2hlcmUgc29tZSBvZiB0aGUKCSAgdmFyaWFudHMgYXJlIG5vdCBhdmFpbGFibGUsIGFuZCB3b3VsZCBza2lwIHRoZW0gYW5kIGdvIHRvIHRoZSBuZXh0CgkgIHBvc3NpYmxlIHZhcmlhbnQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTA1LTA4IDExOjM0OjQ3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHJlc2V0IHRoZSBzZXF1ZW5jZSBudW1iZXIgaW4gYSBsaXZlIHN0cmVhbSBmb3IgYSBub3JtYWwgcGxheWxpc3QgdXBkYXRlLgoJICBPbmx5IGZvciBzdHJlYW0gc3dpdGNoaW5nCgoyMDEyLTA1LTA4IDExOjMzOjUwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiB3ZSB1cGRhdGUgdGhlIHBsYXlsaXN0LCBtYWtlIHN1cmUgdGhlIHNlcXVlbmNlIG51bWJlciBpcyBuZXZlciBtb3JlIHRoYW4gMyBmcmFnbWVudHMgYmVmb3JlIHRoZSBlbmQKCjIwMTItMDUtMDggMTE6MTM6MjYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbiBhIGxpdmUgc3RyZWFtLCBkbyBub3Qgc3RhcnQgZnJvbSAzIGZyYWdtZW50cyBiZWZvcmUgdGhlIGVuZC4KCjIwMTItMDUtMDggMTE6MDk6MjggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IE5vIG5lZWQgdG8gc3RvcmUgcG9zaXRpb24gc2luY2UgaXQncyB0aGUgYnVmZmVyJ3MgdGltZXN0YW1wCgkgIFRoaXMgYWxzbyB3aWxsIGZpeCB0aGUgaXNzdWUgb2YgaGF2aW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uIGRpZmZlcmVudAoJICBmcm9tIHRoZSBhY3R1YWwgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGJ1ZmZlciBpbiB0aGUgcXVldWUgaW4gY2FzZQoJICB0aGUgY2FjaGluZyBjYXVzZWQgYSByZXN5bmMgb2YgdGhlIHNlcXVlbmNlIG51bWJlci4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTEtMDktMTUgMjA6NDc6NTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGYWxsYmFjayB0byBwcmV2aW91cyBwbGF5bGlzdCB3aGVuIHN3aXRjaGluZyBpZiB0aGUgbmV3IHBsYXlsaXN0IGNhbid0IGJlIGZldGNoZWQKCjIwMTItMDUtMTAgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IGNvbnNpc3RlbmN5IGZpeGVzIGluIGdzdGdhdXNzYmx1cgoKMjAxMi0wNS0xMCAxMDo0NzoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBnYXVzc2lhbmJsdXIgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTc6MjE6MzAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHNvbGFyaXplIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE3OjA2OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGV4Y2x1c2lvbiB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjo1NToxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZG9kZ2UgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6MzA6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZGlsYXRlIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjEwOjE4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgYnVybiB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNTo0NDowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgY2hyb21pdW0gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTQ6Mjg6MDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbiBibHVyCgoyMDEyLTA1LTA5IDEzOjM1OjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNS0wOSAwOTo0OToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBnYXVzc2JsdXIgdG8gMC4xMQoKMjAxMi0wNS0wOCAxODowOToyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgc29sYXJpemUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxODowOTowOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBleGNsdXNpb24gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNzozODoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZG9kZ2UgdG8gMC4xMQoKMjAxMi0wNS0wOCAxNzoxNzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkaWxhdGUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxNjo1MDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogYWRkIGhlYWRlciB0byBnYXVzc2JsdXIKCjIwMTItMDUtMDggMTY6Mzk6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGNocm9taXVtIHRvIDAuMTEKCjIwMTItMDUtMDggMTY6Mzg6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBidXJuIHRvIDAuMTEKCjIwMTItMDUtMDggMTQ6MTc6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDEyLTA1LTA4IDE3OjU4OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmaXggZGVhZGxvY2sgd2hlbiB0aGUgZGV2aWNlIGlzIGxvc3QKCjIwMTItMDUtMDggMTg6MTA6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbW92ZSB0cmFpbGluZyAnOycgZnJvbSBsb2NrcyBkZWZpbmVzIHRvIG1ha2UgZ3N0LWluZGVudCBoYXBweQoKMjAxMi0wNS0wNyAxMzoxMzozNCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1zaW5rOiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBhIGNsaWVudCBkaXNjb25uZWN0cyAoZml4ZXMgIzY3NTY0MCkKCSAgQWxzbywgYWRkIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGEgY2xpZW50IGlzbid0IGR1bXBlZCB0d2ljZQoKMjAxMi0wNS0wNyAyMzo1NzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IGNhbGwgV1NBU3RhcnR1cC9DbGVhbnVwIG9uIHdpbjMyCgkgIElmIHdlIGxpbmsgYWdhaW5zdCBsaWJ3aW5zb2NrMiwgd2Ugc2hvdWxkIHByb2JhYmx5IGNhbGwKCSAgU3RhcnR1cC9DbGVhbnVwIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0MTUKCjIwMTItMDUtMDMgMjM6NDI6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICByZmJzcmM6IGZpeCBsaWJyZmIgbGlua2luZyBvbiB3aW4zMgoJICBsaWJ0b29sOiBsaW5rOiAgaTY4Ni13NjQtbWluZ3czMi1nY2MgLXNoYXJlZCAubGlicy9saWJnc3RyZmJzcmMuZGxsLmRlZgoJICAubGlicy9saWJnc3RyZmJzcmNfbGEtZ3N0cmZic3JjLm8gIC1XbCwtLXdob2xlLWFyY2hpdmUgLi8ubGlicy9saWJyZmIuYQoJICAtV2wsLS1uby13aG9sZS1hcmNoaXZlICAtTC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9saWIKCSAgLWxnc3RiYXNlLTAuMTAgLWxnc3RyZWFtZXItMC4xMCAtbHhtbDIgLWxnb2JqZWN0LTIuMCAtbGd0aHJlYWQtMi4wCgkgIC1sZ21vZHVsZS0yLjAgLWxnbGliLTIuMCAtbGludGwgIC1tbXMtYml0ZmllbGRzIC1tbXMtYml0ZmllbGRzIC1PMiAgIC1vCgkgIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlcgoJICAtLW91dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5hCgkgIENyZWF0aW5nIGxpYnJhcnkgZmlsZTogLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5hCgkgIC4vLmxpYnMvbGlicmZiLmEobGlicmZiX2xhLXJmYmRlY29kZXIubyk6IEluIGZ1bmN0aW9uCgkgIGByZmJfZGVjb2Rlcl9yZWFkJzoKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjE2NDoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fcmVjdkAxNicKCSAgLi8ubGlicy9saWJyZmIuYShsaWJyZmJfbGEtcmZiZGVjb2Rlci5vKTogSW4gZnVuY3Rpb24KCSAgYHJmYl9kZWNvZGVyX2Nvbm5lY3RfdGNwJzoKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjExMjoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fc29ja2V0QDEyJwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTE5OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19odG9uc0A0JwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTIzOgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19pbmV0X2FkZHJANCcKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjEyNToKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fY29ubmVjdEAxMicKCSAgSXQgbmVlZHMgLWx3czJfMzIgd2hpY2ggaXMgYWxyZWFkeSBpbiAkKFdJTlNPQ0syX0xJQlMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0MTUKCjIwMTItMDUtMDIgMDg6MDM6NDYgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogYWRkIG1pc3NpbmcgY2FzdHMgdG8gTFBDU1RSCgoyMDEyLTA1LTAzIDIzOjUxOjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGxvd2VyIHJhbmsgb2YgdGhlIERpcmVjdFNob3cgdmlkZW8gc2luayBwbHVnaW4KCSAgZDNkdmlkZW9zaW5rIHNob3VsZCBoYXZlIGEgaGlnaGVyIHJhbmsgYXMgaXQgd29ya3MgYmV0dGVyLgoKMjAxMi0wNS0wMiAwNzo1NjowMCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBGaXggY29tcGlsYXRpb24gb24geDY0IHBsYXRmb3JtcwoKMjAxMi0wNS0wNSAyMDowMTo0NiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gbWluZ3ctdzY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU1MjAKCjIwMTItMDUtMDUgMTg6MjA6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgQWRkIFdJTlNPQ0syX0xJQlMsIHJlbW92ZSBXSU4zMl9MSUJTLCBmaXggcnRtcCBidWlsZCBvbiBXaW5kb3dzIHNvbWUgbW9yZQoJICBPbmUgd2F5IG9mIHBhc3NpbmcgLWx3czJfMzIgdG8gcGx1Z2lucyBzaG91bGQgYmUgZW5vdWdoLi4KCjIwMTItMDQtMTcgMTE6NDQ6MTggKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBydG1wOiBsaW5rIHRvIHdpbnNvY2sgbGlicmFyeSBvbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyNDMKCjIwMTItMDUtMDQgMTQ6MDE6MTMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG1hcmsgdW5wb3J0ZWQgV2luZG93cyBwbHVnaW5zIGFzIHN1Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ0MAoKMjAxMi0wNS0wNCAxNzowOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlCgoyMDEyLTA1LTA0IDE3OjEwOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBpbWFnZSBjYXB0dXJlIGRlYnVnCgoyMDEyLTA1LTA0IDE3OjA1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogYWx3YXlzIGZvcmNlIGltYWdlLXByb2ZpbGUgdG8gaGF2ZSB2YXJpYWJsZSBmcmFtZXJhdGUKCSAgaW1hZ2UtZW5jb2RlYmluIGNhbid0IHVzZSB2aWRlb3JhdGUgYXMgaXQgYWx3YXlzIHN0b3JlIG9uZSBidWZmZXIKCSAgdG8gYmUgYWJsZSB0byBkbyBpdHMgdGltZXN0YW1wcy9kdXJhdGlvbiBtYXRoLiBBcyBpbWFnZSBjYXB0dXJlcwoJICBvbmx5IHB1c2ggb25lIGJ1ZmZlciBhdCBhIHRpbWUsIHRoaXMgdmlkZW9yYXRlIGJlaGF2aW9yIGJyZWFrcwoJICBjYW1lcmFiaW4gdXNhZ2UuCgoyMDEyLTA1LTAzIDE5OjExOjU3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW46IERvIG5vdCBzZXQgdGhlIHBhZCB0ZW1wbGF0ZXMgaW4gdGhlIGJhc2UgY2xhc3MuCgkgIEl0IGlzIGJlc3QgdG8gbGV0IHRoZSBzdWJjbGFzcyBkZWZpbmUgdGhlIHBhZCB0ZW1wbGF0ZXMsIHRoaXMgd291bGQKCSAgYWxsb3cgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGljaCBjYXBzIHRoZSBwYWRzIHNob3VsZCBoYXZlLgoKMjAxMi0wNS0wMSAxNzo1NTowMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJICB2aWRlb2NvbnRleHQ6IFJlbW92ZSB0aGUgZXhwbGljaXQgdW5yZWZpbmcgb2YgcGFkIG9iamVjdCBnZXR0aW5nIGZyb20gaXRlcmF0b3IuCgoyMDEyLTA1LTAyIDE1OjM1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGF2b2lkIGFzc2VydGlvbiBieSB1c2luZyBudWxsIGNhcHMgYXMgYW55CgkgIE5VTEwgY2FwcyBhcmVuJ3QgdmFsaWQgY2FwcywgdXNlIGEgcmVmZXJlbmNlIHRvICdhbnknIGNhcHMKCjIwMTItMDUtMDIgMTU6MjQ6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBGaXggZ2V0L3NldF9wcm9wZXJ0eSBmb3IgZW5jb2RpbmcgcHJvZmlsZXMKCSAgRW5jb2RpbmcgcHJvZmlsZXMgYXJlIG9iamVjdHMsIG5vdCBib3hlZCB0eXBlcwoKMjAxMi0wNS0wMiAwOTo0MzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBudWxsIGNhcHMgYXJlIG5vdCB2YWxpZCBpbiAxLjAKCSAgVXNlIGFueSBjYXBzIGZvciB0aGUgcHJldmlldy1jYXBzIHByb3BlcnR5LCBhcyBOVUxMIGNhcHMgYXJlCgkgIG5vdCB2YWxpZCBjYXBzIGluIDEuMCBhbnltb3JlCgoyMDEyLTA1LTAxIDE1OjI5OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW4yLXNyYy50eHQ6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgkgIEluIDEuMCB0aGVyZSBpcyBhIGNvcmUgcmVjb25maWd1cmUgZXZlbnQsIGNhbWVyYWJpbiBkb2Vzbid0IG5lZWQKCSAgaXRzIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudCBhbnltb3JlCgoyMDEyLTA1LTAxIDE1OjA4OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogVXNlIHBsYWluIHZpZGVvIGVuY29kaW5nIHByb2ZpbGUgZm9yIGltYWdlcwoJICBEbyBub3QgdXNlIGpwZWcgYXMgYSBjb250YWluZXIgZm9ybWF0IGZvciBpbWFnZSBjYXB0dXJlcywgdXNlCgkgIHRoZSBwbGFpbiB2aWRlbyBlbmNvZGluZyBmb3JtYXQuIEl0IHdhcyB1c2VkIGFzIGEgY29udGFpbmVyIGluCgkgIDAuMTAgdG8gZm9yY2UgdGhlIGFkZGl0aW9uIG9mIHRhZ3MgdG8gdGhlIGltYWdlLgoKMjAxMi0wNS0wMSAxNDozMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBjaGFuZ2Ugb3V0cHV0LXNlbGVjdG9yIG5lZ290aWF0aW9uIG1vZGUKCSAgSW4gMC4xMCBjYW1lcmFiaW4yIGNvbnRyb2xsZWQgdGhlIG5lZ290aWF0aW9uIHN0cmljdGx5IGFuZCB0aGUgb3V0cHV0LXNlbGVjdG9yCgkgIHdvdWxkbid0IGZvcndhcmQgc2V0Y2FwcyBjYWxscy4gSW4gMC4xMSB0aGUgcmVuZWdvdGlhdGlvbiBldmVudHMgYXJlIGFscmVhZHkgaW4KCSAgY29yZSBhbmQgd2UgY2FuIGFsbG93IHRoZSBwaXBlbGluZSB0byBoYW5kbGUgaXQgd2l0aG91dCBtdWNoIGNvbnRyb2wgZnJvbSBjYW1lcmFiaW4KCSAgcGFydCAoSSBob3BlKSwgc28gdGhpcyBwYXRjaCBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgZm9yd2FyZCBjYXBzIG5lZ290aWF0aW9uIGV2ZW50cwoJICB0byB0aGUgYWN0aXZlIHBhZC4KCjIwMTItMDUtMDEgMTQ6MzE6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZpbmcgcmVuZWdvdGlhdGUgaGFuZGxlcnMKCSAgZ3N0cmVhbWVyIDEuMCBhbHJlYWR5IGhhcyB0aGUgcmVjb25maWd1cmUgZXZlbnQsIHJlbW92ZSB0aGUKCSAgY3VzdG9tIGV2ZW50IGhhbmRsaW5nIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYwoKMjAxMi0wNS0wMSAxMzoyODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBwcmV2ZW50IGNhcHMgcmVuZWdvdGlhdGlvbiBsb29wCgkgIE9ubHkgc2V0IHRoZSB6b29tIGNhcHNmaWx0ZXIgY2FwcyB3aGVuIHRoZSBuZXcgY2FwcyBhcmUgZGlmZmVyZW50LAoJICBwcmV2ZW50aW5nIGEgY2FwcyByZW5lZ290aWF0aW9uIGxvb3AuCgoyMDEyLTA1LTAxIDEzOjE1OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZTogVXBkYXRlIHByZXBhcmUtd2luZG93LWhhbmRsZSBtZXNzYWdlCgkgIE1lc3NhZ2UgbmFtZSBjaGFuZ2VkIGZyb20gcHJlcGFyZS14d2luZG93LWlkIHRvIHByZXBhcmUtd2luZG93LWhhbmRsZQoKMjAxMi0wNS0wMSAxMzowMDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlczogUmVuYW1pbmcgY2FtZXJhYmluMiB0byBjYW1lcmFiaW4KCjIwMTItMDUtMDEgMTA6MjY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogdXBkYXRpbmcgcHJvcGVydHkgdG8gbmV3IG5hbWUKCSAgZW5hYmxlLWxhc3QtYnVmZmVyIGlzIG5vdyBlbmFibGUtbGFzdC1zYW1wbGUKCjIwMTItMDUtMDEgMTA6MTg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogUmVwbGFjaW5nIGZmbXBlZ2NvbG9yc3BhY2Ugd2l0aCB2aWRlb2NvbnZlcnQKCjIwMTItMDQtMzAgMTI6MzY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHVucmVmIGJhZCBwYWNrZXRzIHRvbwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCjIwMTItMDQtMzAgMTI6Mjg6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCB0aGUgc3RhdGUgb2YgdGhlIHN0cmVhbSB3aGVuIGZsdXNoaW5nCgkgIFdlIG5lZWQgdG8gcmVzZXQgdGhlIHN0cmVhbSBvbiBhIGZsdXNoIG9yIGVsc2Ugb2xkIHBhY2tldHMgY291bGQgYmUgYWRkZWQgdG8gdGhlCgkgIGxpc3QgYW5kIGxlYWsuCgoyMDEyLTA0LTMwIDExOjA1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG9uJ3QgcHVzaCBldmVudHMgdXBzdHJlYW0gaW4gcHVsbCBtb2RlCgkgIEluIHB1bGwgbW9kZSwgZG9uJ3QgcHVzaCB0aGUgc2VlayBldmVudCB1cHN0cmVhbS4KCjIwMTItMDQtMjYgMjI6NDk6MDcgLTA0MDAgIFdpbmQgWXVhbiA8ZmVuZy55dWFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IG1wZWc0IHR5cGUgZXJyb3IKCjIwMTItMDUtMDEgMDk6NDE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IGRvbid0IHBva2UgaW50byBwcml2YXRlIGFkYXB0ZXIgZmllbGRzCgoyMDEyLTA0LTMwIDE4OjA1OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogdXBkYXRlIGNhbWVyYWJpbigyKSB1bml0IHRlc3QgZm9yIHJlbmFtZQoKMjAxMi0wNC0zMCAxNzo1NjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IHJlbmFtZSB0byAiY2FtZXJhYmluIgoJICBCdXQgbGVhdmUgc291cmNlIGNvZGUgaW50YWN0IGZvciBub3csIGZvciBlYXNpZXIgcGF0Y2ggbWVyZ2luZy4KCjIwMTItMDQtMzAgMTc6NDQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGdzdC9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9UT0RPOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmRlYnVnLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIFJlbW92ZSBvbGQgY2FtZXJhYmluCgoyMDEyLTA0LTI1IDEzOjMxOjM2ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0YXJ0IHBhdXNlZCB0YXNrIG9uIG5ldyBkYXRhCgoyMDEyLTA0LTIxIDExOjM2OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGZhYWMgcGx1Z2luCgoyMDEyLTA0LTE2IDEwOjA3OjUxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgUmVlbmFibGUgZmFhZCBwbHVnaW4gZm9yIHRoZSBBbmRyb2lkIE5ESyBidWlsZHMKCjIwMTItMDQtMjUgMTE6NTA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgQVBJIHdoZW4gY29tcGlsaW5nIHdpdGggUlNWRyAyLjM1LjAgb3IgbmV3ZXIKCjIwMTItMDMtMjkgMTU6NTc6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMi0wNC0wNCAxMTo1MToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEhhbmRsZSBHc3RCeXRlV3JpdGVyIHJldHVybiB2YWx1ZXMKCjIwMTItMDQtMjUgMTA6Mjc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNuZGlvIHBsdWdpbiBpcyBub3QgcG9ydGVkIHlldAoKMjAxMi0wNC0yNSAxMDoyNTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kaW8vZ3N0c25kaW8uYzoKCSAgc25kaW86IEZpeCBpMThuIGluaXRpYWxpemF0aW9uCgoyMDEyLTA0LTExIDIxOjA1OjI2IC0wNDAwICBKYWNvYiBNZXVzZXIgPGpha2Vtc3JAc2RmLmxvbmVzdGFyLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc25kaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRpby9nc3RzbmRpby5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuaDoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5oOgoJICBzbmRpbzogYWRkIHNuZGlvIHBsdWdpbiBmb3IgT3BlbkJTRAoKMjAxMi0wNC0yNCAxNzowMDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjQgMTU6MjA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmItc3ViOiBVc2UgdW5jaGVja2VkIGJ5dGUgcmVhZGVyIGZ1bmN0aW9ucwoKMjAxMi0wNC0yNCAxNDo1NzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IFVzZSBjb3JyZWN0IGVudW0gdHlwZQoKMjAxMi0wNC0yNCAxMTowMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogU3dpdGNoIGZyb20gZGVwcmVjYXRlZCBYS2V5Y29kZVRvS2V5c3ltKCkgdG8gWGtiS2V5Y29kZVRvS2V5c3ltKCkKCSAgQ29uZmxpY3RzOgoJICBzeXMvdmRwYXUvZ3N0dmRwc2luay5jCgoyMDEyLTA0LTIzIDE3OjExOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wNC0yMyAxNjo1NToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJICBhc2ZtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMiAxNDoxNzoxNCArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHNkZW11eDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE1OjA1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBwYXNzIHRoZSByZWFzb24gZm9yIGZhaWxlZCByZWFkIGFzIEdzdEZsb3dSZXR1cm4KCSAgTWFrZSB0aGUgX3JlYWRfZGV2aWNlIGZ1bmN0aW9uIHJldHVybiBhIEdzdEZsb3dSZXR1cm4gc28gdGhhdCB3ZSBjYW4gcHJvcGFnYXRlCgkgIHRoaXMgdG8gdGhlIGNhbGxlci4gVGhpcyBhbGxvd3MgdXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHBvbGwgZXJyb3JzIGFuZAoJICBmbHVzaGluZyBzdGF0ZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xNyAxMTo0NDowMCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgRml4IGZvcm1hdCAodHlwZSBpcyBleHBsaWNpdGx5IHVuc2lnbmVkIGxvbmcpCgkgIEZpeGVzICM2NzQyNDQKCjIwMTItMDQtMjAgMTI6MDk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgbmFzOiBSZXdvcmsgbmFzc2luayBhIGxpdHRsZQoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIDxvbGUuaGVsbHF2aXN0IGF0IHNwcmF5LnNlPgoJICBDcmVhdGUgYW5kIGRlc3Ryb3kgZmxvdyBpbiBwcmVwYXJlL3VucHJlcGFyZQoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgY29kZSBmcm9tIGNsb3NlIGFuZCBwcmVwYXJlIHRoYXQgaXMgbm93IGluIHVucHJlcGFyZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDEzMAoKMjAxMi0wNC0xOCAxMjowMjo1MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJICBEb2MgZml4ZXMgKGdzdHN1cmZhY2Vjb252ZXJ0ZXIsIGdzdHN1cmZhY2VtZXRhKS4KCjIwMTItMDQtMjAgMTE6MjM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c2RlbXV4OiB3ZSBpZ25vcmUgd2FybmluZ3MgZGlmZmVyZW50bHkKCSAgV2Ugc3VwcHJlc3MgdGhlIHdhcm5pbmdzIGluIHRoZSAuYyBmaWxlIGluc3RlYWQuCgoyMDEyLTA0LTE5IDE0OjIwOjUyICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHBvcnQgdG8gMC4xMQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0Mzk3CgoyMDEyLTA0LTIwIDEwOjUwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogY2xhcmlmeSBldmVudCBvd25lcnNoaXAKCjIwMTItMDQtMTkgMTM6NTk6MzcgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtb3J5IGxlYWtzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQzOTMKCjIwMTItMDQtMjAgMTE6MTI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkgIGZpZWxkYW5hbHlzaXM6IERvZXMgbm90IG5lZWQgdG8gbGluayB0byBsaWJnc3RiYXNldmlkZW8gYXQgYWxsCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW0KCjIwMTItMDQtMTkgMTQ6MjQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgZml4IGZvciB2aWRlbyBhcGkgdXBkYXRlCgoyMDEyLTA0LTE5IDEyOjI5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICB2aWRlbzogVXBkYXRlIGZvciBsaWJnc3R2aWRlbyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xNyAyMjo0NjoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IERvIG5vdCBzZXQgdGhlIGR1cmF0aW9uIHRvIHRoZSBpbnB1dCBidWZmZXIncyBkdXJhdGlvbiB1bmxlc3MgdmFsaWQgVGhpcyBjYXVzZXMgYSBidWcgd2hlcmUgdGhlIGZpcnN0IGJ1ZmZlciBoYXMgdHMgPSAwLCBkdXI9WCwgdGhlIHNlY29uZCBidWZmZXIgaGFzIHRzPVggKGJlY2F1c2Ugb2YgdHMgKz0gZHVyYXRpb24pLCBkdXI9LTEsIHRoZW4gdGhlIGZvbGxvd2luZyBidWZmZXJzIHdpbGwgc3RhcnQgaGF2aW5nIGEgbm9uIHZhbGlkIHRpbWVzdGFtcC4gVGhlIHJlYWwgZHVyYXRpb24gaXMgb25seSBjYWxjdWxhdGVkIGR1cmluZyB0aGUgY2FwcyBuZWdvY2lhdGlvbiB3aGVuIHRoZXJlIGlzIGEgZnJhbWVyYXRlIGF2YWlsYWJsZSBhbmQgdGhlIGJ1ZmZlcidzIGR1cmF0aW9uIGlzIGludmFsaWQuCgoyMDEyLTA0LTE3IDE1OjQ0OjA3ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZXQgY3VycmVudGxpc3QgdG8gTlVMTCBhZnRlciBmcmVlLgoJICBUaGlzIHByZXZlbnRzIGRvdWJsZSBmcmVlIG9mIGN1cnJlbnRsaXN0IGlzIHNvbWUgY2lyY3Vtc3RhbmNlcy4KCjIwMTItMDQtMTcgMTg6NTY6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggZHVyYXRpb24gaW4gYnVmZmVycy4gSXQncyBmcmFtZXMgcGVyIHNlY29uZCwgbm90IHNlY29uZHMgcGVyIGZyYW1lCgoyMDEyLTA0LTE3IDE1OjIyOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxMTowMDo0NCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBkbyBub3QgbGluayBnc3RpbnRlcmZhY2VzCgoyMDEyLTA0LTE2IDA5OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRiMjViZSB0byBkYzcwMjAzCgoyMDEyLTA0LTEzIDAwOjEzOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcGFkIGl0ZXJhdG9yIGxlYWsKCjIwMTItMDQtMTMgMDA6MTQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBsZWFrIGZvcmNlIGtleSB1bml0IGV2ZW50cwoKMjAxMi0wNC0xNCAyMTowOToyNSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEbyBub3QgaWdub3JlIHN0YXJ0IGNvZGUgYXQgdGhlIGVuZCBvZiBidWZmZXIKCjIwMTItMDQtMTQgMjE6MDI6MDYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQYXJzZXIgZmFpbHMgdG8gc3BsaXQgc29tZSBmcmFtZXMKCjIwMTItMDQtMTQgMjA6NTM6NDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggRlBTIGFuZCBmcmFtZSBkdXJhdGlvbiBmb3IgdGVsZWNpbmUgZmlsZXMKCjIwMTItMDQtMTQgMjA6NDY6MjQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEbyBub3QgdXBkYXRlIGNvZGVjLWRhdGEgd2hlbiBvbmx5IHF1YW50aXNlciBtYXRyaXggY2hhbmdlcwoKMjAxMi0wNC0xNCAxNToyOToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGRvbid0IGxpbmsgYWdhaW5zdCBsaWJnc3RpbnRlcmZhY2VzIHdoaWNoIHdhcyByZW1vdmVkCgkgIFRoZSBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZSBpcyBub3cgaW4gbGliZ3N0dmlkZW8uCgoyMDEyLTA0LTEzIDIyOjA0OjM4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBmaXggY3Jhc2gKCSAgbGFzdF9zYyBpcyBub3QgcmVzZXQgZXZlcnkgdGltZSBhIGZyYW1lIGlzIGJlaW5nIG91dHB1dCwgd2hpY2ggY2FuIGNhdXNlCgkgIGxhc3Rfc2MgPiBidWZfc2l6ZSBpbiBzdWJzZXF1ZW50IGZyYW1lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MDczCgoyMDEyLTA0LTEzIDE1OjEyOjEyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgU2V0IHN5bmNfcG9pbnIgPSAxIGZvciBrZXlmcmFtZQoKMjAxMi0wNC0xMyAxNDowNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiB1c2UgMS4wIHZpZGVvZmlsdGVyIGJhc2VjbGFzcyBmdW5jdGlvbnMKCSAgUG9ydCB0byB0aGUgbmV3IGZ1bmN0aW9ucyBvZiB0aGUgdmlkZW9maWx0ZXIgY2xhc3MKCjIwMTItMDQtMTMgMTA6MTY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHBvcnQgdG8gMS4wCgkgIFN0cmFpZ2h0Zm9yd2FyZCBwb3J0IG9mIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTItMDQtMTMgMTM6NDQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzoxMDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGZvciB0aGUgcmVtb3ZhbCBvZiB0aGUgaW50ZXJmYWNlcyBsaWJyYXJ5IGFuZCB0aGUgdHVuZXIvbWl4ZXIgaW50ZXJmYWNlcwoKMjAxMi0wNC0xMiAxODoyNTowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFN5bmMgQW5kcm9pZC5tayBlbnRyaWVzIHRvIHRoZSBuZXcgbWFqb3IgdmVyc2lvbgoJICBDaGFuZ2UgbmFtaW5nIG9uIHRoZSBwa2djb25maWcgZmlsZXMgdG8gcmVmbGVjdAoJICB0aGUgMC4xMCAtPiAxLjAgYnVtcC4KCjIwMTItMDQtMTIgMTE6MTk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkwID09PQoKMjAxMi0wNC0xMiAxMDo1MDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MAoKMjAxMi0wNC0xMiAxMDo0NzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDIxOjQ3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJICB0ZXN0czogcmVtb3ZlIG9ic29sZXRlIG11bHRpZmRzaW5rIHRlc3QKCSAgLi4uIHdoaWNoIGlzIGluIC1iYXNlIG5vd2FkYXlzLgoKMjAxMi0wNC0xMCAxNzozNTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY0ZW5jLmM6CgkgIHRlc3RzOiByZW1vdmUgb2Jzb2xldGUgeDI2NGVuYyB1bml0IHRlc3QKCSAgLi4uIHdoaWNoIGlzIGluIC11Z2x5IG5vd2FkYXlzLgoKMjAxMi0wNC0xMCAxNzoyNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdGVzdHM6IHBvcnQgc29tZSBtb3JlIHRvIDEuMAoKMjAxMi0wNC0xMCAxNzoyMjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTA0LTEwIDE3OjIyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogdHdlYWsgY2FwcyBuZWdvdGlhdGlvbgoJICAuLi4gc28gYXMgdG8gYXZvaWQgbGVha2luZyBjYXBzIG9yIG1hbmlwdWxhdGluZyBOVUxMIGNhcHMuCgoyMDEyLTA0LTEwIDE3OjIyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGF2b2lkIGxlYWtpbmcgcGFkIHRlbXBsYXRlIGNhcHMgYW5kIHN1cGVyZmx1b3VzIGNvcHkKCjIwMTItMDQtMTAgMTc6MjE6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogZml4IHBhZCByZWxlYXNlIGFuZCBjbGVhbnVwCgoyMDEyLTA0LTA2IDE0OjUyOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoKMjAxMi0wNC0wNiAxNDoyNzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHR3ZWFrIGRlZmF1bHQgc2V0dGluZyBvZiBmb3JtYXQgYW5kIGFsaWdubWVudCBpbiBjb2RlY19kYXRhIGNhc2UKCSAgLi4uIHdoaWNoIHNob3VsZCBwcm9tb3RlIGVuZGluZyB1cCBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMi0wNC0wNiAxNDoyMzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCB1c2UgX3VuY2hlY2tlZCBieXRld3JpdGVyIHZhcmlhbnRzIHRvIGluc2VydCBjb25maWcKCSAgLi4gc2luY2UgdGhlIGJ5dGV3cml0ZXIgaXMgZXhwbGljaXRseSBjcmVhdGVkIHdpdGggbm9uLWZpeGVkIHNpemUgdG8KCSAgYWxsb3cgKHZlcnkgbXVjaCBzbyBleHBlY3RlZCkgZ3Jvd3RoLgoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyBjb21taXQgMjA2NjlkNDYxYTQ5NTNlYjVlZDAxMzc0ZDVhYjYyOGI0ZGM3M2I2NCB3aGlsZQoJICB0cnlpbmcgdG8ga2VlcCAoc29tZT8pIGNvbXBpbGVycyBoYXBweS4KCSAgSUlSQywgdGhlIHB1cnBvc2Ugb2YgR3N0Qnl0ZVdyaXRlciBpbiB0aGUgZmlyc3QgcGxhY2Ugd2FzIChhdCBsZWFzdCkKCSAgYmVpbmcgYWJsZSB0byBkdW1wIGRhdGEgd2l0aG91dCBoYXZpbmcgdG8gZnVzcyB3aXRoIG1lbW9yeSBleHBhbnNpb24KCSAgYW5kIHNpemUgaXNzdWVzIC4uLgoJICBGaXhlcyAjNjczNDg1LgoKMjAxMi0wNC0wNSAxNzoxNToxMSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgoyMDEyLTA0LTA1IDE4OjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2ZkYTUyNCB0byA0NjRmZTE1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qcDJrL2dzdGpwMmsuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxMTo1MTo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogU29tZSBtb3JlIGRlYnVnZ2luZwoKMjAxMi0wMy0xNSAxNDo0Mjo0NCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBSZXBsYWNlIHRoZSBmZXRjaGVyIGNvZGUgd2l0aCBhIEdzdFVSSURvd25sb2FkZXIgb2JqZWN0CgoyMDEyLTAzLTE0IDE3OjAxOjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiBNaW5vciBjbGVhbnVwIGluIEdzdFVyaURvd25sb2FkZXIKCjIwMTItMDMtMTQgMTc6MDY6MjIgLTA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGhsc2RlbXV4OiBGYWN0b3Igb3V0IGFsbCB0aGUgZmV0Y2hlciBjb2RlIGluIGEgR3N0VVJJRG93bmxvYWRlciBjbGFzcwoJICBUaGlzIGNsYXNzIGlzIG1lYW50IHRvIGJlIHJldXNhYmxlIGJ5IG90aGVyIGNvbXBvbmVudHMKCjIwMTItMDQtMDUgMTA6MjI6MjkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzOiBEbyBub3QgYWRkIHJlZmVyZW5jZSB0byBidWZmZXJzIHBhc3NlZCBpbiBHc3RGcmFnbWVudAoJICBXZSBqdXN0IHN0ZWFsIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciwgd2hpY2ggbWVhbnMgd2UgY2FuIGtlZXAgd3JpdGluZyBtZXRhZGF0YXMKCSAgb24gdGhlIGJ1ZmZlcnMuCgoyMDEyLTAzLTEzIDE1OjE4OjIyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkgIGhsczogTWlub3IgR3N0RnJhZ21lbnQgY2xlYW51cAoKMjAxMS0wNy0wOCAwMTowOTowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJICBobHM6IEFkZCBhIEdzdEZyYWdtZW50IGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIGZyYWdtZW50IGluIGEgbTN1IHBsYXlsaXN0CgoyMDEyLTAzLTE1IDE4OjIxOjU4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzOiBNYWtlIHRoZSB1cGRhdGVzIHRocmVhZCBhIEdzdFRhc2sKCjIwMTItMDQtMDUgMTM6Mjg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTEuODkuMQoKMjAxMi0wNC0wNSAwOToxNjoyNyArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMTItMDQtMDUgMDY6MTg6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2V0IGNvcnJlY3QgbmV3c2VnbWVudCBmaWVsZHMgb24gX1RJTUUgc2Vla3MKCSAgRm9yd2FyZCB0aGUgc2VlayByYXRlIGFuZCBzZXQgTlMuc3RhcnQgdG8gdGhlIHNlZWsgdGFyZ2V0IHNvIHRoYXQgZGVjb2RlcnMgY2FuCgkgIGFwcGx5IGNsaXBwaW5nIHdoZXJlIG5lY2Vzc2FyeS4KCjIwMTItMDQtMDUgMDg6NTQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29yZXZpZGVvYnVmZmVyIGFmdGVyIGJ1ZmZlciBtZXRhIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6NTM6NDEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29yZW1lZGlhYnVmZmVyIGFmdGVyIGJ1ZmZlciBtZXRhIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6NTI6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiB1cGRhdGUgYWZ0ZXIgQmFzZVNyYzo6Zml4YXRlIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6MjQ6MzEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggY29tcGlsZSB3YXJuaW5nCgoyMDEyLTA0LTA1IDA2OjE4OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNldCBjb3JyZWN0IG5ld3NlZ21lbnQgZmllbGRzIG9uIF9USU1FIHNlZWtzCgkgIEZvcndhcmQgdGhlIHNlZWsgcmF0ZSBhbmQgc2V0IE5TLnN0YXJ0IHRvIHRoZSBzZWVrIHRhcmdldCBzbyB0aGF0IGRlY29kZXJzIGNhbgoJICBhcHBseSBjbGlwcGluZyB3aGVyZSBuZWNlc3NhcnkuCgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvY29tcGlsaW5nLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTI6MDY6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgoyMDEyLTA0LTA0IDA3OjI0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IGl0ZXJhdG9yIHRvIE5VTEwgYWZ0ZXIgaXQncyBmcmVlCgkgIEZpeGVzIHBvc3NpYmxlIGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBnc3RfdHNfZGVtdXhfc3RyZWFtX2ZsdXNoCgoyMDEyLTA0LTAyIDE1OjMxOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCjIwMTItMDQtMDIgMTU6MjY6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYXIgYnVmZmVybGlzdC9pdGVyYXRvciB3aGVuIHJlbW92aW5nIHN0cmVhbXMKCjIwMTItMDQtMDIgMTU6MjU6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgbGVhayBidWZmZXIgaW4gZmFzdCB2YXJpYW50CgoyMDEyLTA0LTAyIDE1OjI1OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGxlYWsgY29ycnVwdCBzZWN0aW9uIHBhY2tldCBidWZmZXIKCjIwMTItMDQtMDIgMTE6MTM6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHVzZSB0cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2gKCjIwMTItMDQtMDIgMTE6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0zMCAxOToxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2V2ZXJhbCBsZWFrcwoJICAqIGRvbnQnIGxlYWsgYnVmZmVycyB3aGVuIGEgc3RyZWFtIGlzIGluIGRpc2NvbnQgc3RhdGUKCSAgKiBkb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHByb2dyYW0gaXMgcmVtb3ZlZC9kZWFjdGl2YXRlZAoJICAqIHJlbW92ZSBhbGwgcHJvZ3JhbXMgd2hlbiBkaXNwb3NpbmcKCjIwMTItMDMtMzAgMTk6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNldmVyYWwgbGVha3MKCSAgKiBkb250JyBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHN0cmVhbSBpcyBpbiBkaXNjb250IHN0YXRlCgkgICogZG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gYSBwcm9ncmFtIGlzIHJlbW92ZWQvZGVhY3RpdmF0ZWQKCSAgKiByZW1vdmUgYWxsIHByb2dyYW1zIHdoZW4gZGlzcG9zaW5nCgoyMDEyLTAzLTMwIDE4OjEzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDE3OjA5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4dXAgbWVyZ2UKCjIwMTItMDMtMzAgMTM6MjM6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBGaXggY29tcGlsYXRpb24KCjIwMTItMDMtMzAgMTI6NTU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X2hlYWRlcnMoKSBBUEkKCjIwMTItMDMtMzAgMTI6MjI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMzAgMTI6MDI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVcGRhdGUgZm9yIGJhc2VwYXJzZSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0zMCAxMTo1Mzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGV4dDogVXBkYXRlIGZvciBhdWRpbyBkZWNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI5IDE4OjA0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDEyLTAzLTI5IDE4OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogRml4IGEgbWVyZ2UgbWlzdGFrZQoKMjAxMi0wMy0yOSAxNzo1NTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmV2ZXJ0IHRvIDAuMTAgc3RhdGUgYXMgdGhpcyBpcyB1bm1lcmdlYWJsZSwgYWxzbyBwdXQgaXQgaW50byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zIGFnYWluCgoyMDEyLTAzLTI5IDE3OjUxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbWVyZ2UgbWlzdGFrZQoKMjAxMi0wMy0yOSAxNzo0MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBORVdTCgkgIFJFTEVBU0UKCSAgY29tbW9uCgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHkKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sCgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYwoJICBleHQvZHRzL2dzdGR0c2RlYy5jCgkgIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2MKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmgKCSAgZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYwoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oCgkgIGdzdC9teGYvbXhmZGVtdXguYwoJICBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jCgkgIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMKCSAgc3lzL3NobS9nc3RzaG1zcmMuYwoJICBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmMKCSAgc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jCgkgIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDEyLTAzLTI5IDE2OjA4OjM0ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTItMDMtMjggMTI6NDk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMjcgMTU6MTM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXM6IFJhbmsgcnRwIHBheS9kZXBheQoJICBUaGlzIHdheSB0aGV5IGNhbiBiZSBhdXRvLXBsdWdnZWQuCgoyMDEyLTAzLTI3IDA5OjM2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIHRoZSBsaW5rZXIgZmxhZ3MKCjIwMTItMDMtMjYgMTI6MTM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBSZXBsYWNlIG1hc3RlciB3aXRoIDAuMTEKCjIwMTItMDMtMjMgMTg6MzY6MjEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBtZW1vcnkgaGFuZGxpbmcgY2xlYW51cAoJICBEb24ndCBsZWFrIHRoZSBDU291bmRGaWxlLiBVc2UgZGVmaW5lIGZvciBjb21tZW50IGJ1ZmZlciBzaXplIGFuZCBlbnN1cmUgaXQgaXMgMAoJICB0ZXJtaW5hdGVkLgoKMjAxMi0wMy0yMyAxODoxODowNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsdGU6IGNvbW1lbnQgY2xlYW51cAoJICBSZW1vdmUgY29tbWVudGVkIG91dCBjb2RlIGZvciBhIGZsaXRlc3ludGggdGhhdCB3ZSBkb24ndCBoYXZlIGluIGdpdCBhbnl3YXkuIEFkZAoJICBhIGNvbW1lbnQgcmVnYXJkaW5nIHRoZSBmbGl0ZSB2b2ljZXMuCgoyMDEyLTAzLTIzIDE4OjE2OjA4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogd29yayBhcm91bmQgbWVtb3J5IHRyYXNoaW5nIGluIGxpYm1vZHBsdWcgKDAuOC43KQoJICBBbGxvY2F0ZSBkb3VibGUgc2l6ZWQgYnVmZmVycy4gQWxzbyBhZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMi0wMy0yMyAxMzowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogTWFrZSBidWZmZXItdGltZSBzaWduZWQgdG8gZGVhbCB3aXRoIGJhY2t3YXJkIGp1bXBzIGluIHRpbWVzdGFtcHMKCjIwMTItMDMtMjMgMTM6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IE1ha2UgYnVmZmVyLXRpbWUgc2lnbmVkIHRvIGRlYWwgd2l0aCBiYWNrd2FyZCBqdW1wcyBpbiB0aW1lc3RhbXBzCgoyMDEyLTAzLTIyIDE1OjU1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjIgPT09CgoyMDEyLTAzLTIyIDE1OjUyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuMgoKMjAxMi0wMy0yMSAyMzowNDozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2gtb3N4LmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElTdHJlYW1pbmcuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkgIGRlY2tsaW5rOiBBZGQgZGVja2xpbmsgZGlzcGF0Y2ggY29kZSBmb3IgT1MvWAoKMjAxMi0wMy0yMSAxMzoyMzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTIxIDA5OjQxOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBiYXllciBjYXBzCgoyMDEyLTAzLTIwIDIwOjA3OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFByZXZlbnQgYWNjZXNzIHRvIHRoZSB0cmFuc2Zvcm0gbWFwIHdoZW4gaXQgaXMgbnVsbAoJICBDaGVjayBpZiB0aGUgbWFwIGRvZXNuJ3QgZXhpc3Qgd2hlbiByZWNlaXZpbmcgYSBuZXcgY2FwcyBhbmQgY3JlYXRlCgkgIGEgbmV3IG9uZS4gVGhpcyBwcmV2ZW50cyB0aGF0IHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRyeSB0byBhY2Nlc3MKCSAgdGhlIG1hcCB3aGVuIGl0IGRvZXNuJ3QgZXhpc3QuCgoyMDEyLTAzLTIwIDE5OjE5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBzb21lIG1vcmUgbG9nIG1lc3NhZ2VzCgoyMDEyLTAzLTIwIDE3OjMyOjAwIC0wMzAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogYXZvaWQgcmVzZXRpbmcgY2FwcyB0byB0aGUgc2FtZSB2YWx1ZQoJICBSZWR1Y2VzIGNhcHR1cmUgbGF0ZW5jeSB3aGVuIHRoZSBuZXcgY2FwcyBhcmUgdGhlIHNhbWUgYXMgdGhlIG9sZAoJICBvbmUsIGF2b2lkaW5nIHJlc2V0dGluZyB0aGUgc291cmNlIHN0YXRlIGZvciBhIGZvcmNlZCByZW5lZ290aWF0aW9uLgoKMjAxMi0wMy0yMSAwMDoxNzo0NyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICB3aW5zY3JlZW5jYXA6IEZpeCBjb21waWxpbmcgd2l0aCBtaW5ndwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNTA1CgoyMDEyLTAzLTIwIDIwOjIxOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIwIDIwOjIxOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIwIDE2OjQ0OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBhZGQgc29tZSBjaGFubmVsIG1hcCBkZWJ1ZwoKMjAxMi0wMy0yMCAxNjozNDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBvcHRpbWl6ZSBjaGFubmVsIHJlbWFwLCBhdm9pZCBwb3RlbnRpYWwgbWVtY3B5CgkgIENvbWJpbmUgdGhlIGNoYW5uZWwgcmVtYXAgYW5kIGNvcHkgaW4gb25lIG9wZXJhdGlvbi4gQ2FsY3VsYXRlIHRoZSBjaGFubmVsIHJlbWFwCgkgIHRhYmxlIG9ubHkgb25jZSwgbWFrZSBhIHNob3J0Y3V0IHdoZW4gd2UgYXJlIG5vdCBkb2luZyBhbnkgcmVtYXBwaW5nLgoKMjAxMi0wMy0yMCAxNTozODozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIG9yYzogZG9uJ3QgY29tcGlsZSBldmVyeXRoaW5nIGF0IHN0YXJ0dXAKCjIwMTItMDMtMTkgMjI6NTg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBzeXM6IHNvcnQgc3ViZGlycyBpbiBNYWtlZmlsZSBhbHBoYWJldGljYWxseQoKMjAxMi0wMy0xOSAyMzo0OToxNyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogSW50ZWdyYXRlIGludG8gYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMDMxCgoyMDEyLTAzLTE4IDIzOjE1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IEdTVF9CQVNFX0xJQlMgYWxyZWFkeSBjb250YWlucyAtbGdzdGJhc2UtMC4xMAoKMjAxMi0wMy0xOCAxNDo0MzoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBBZGQgLWxnc3RiYXNlLTAuMTAKCjIwMTItMDMtMTggMTg6MzM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1c2UgbmV3IHN0eWxlIGF1ZGlvIGNhcHMKCSAgQWxzbyBkbyBub3QgcHJldGVuZCB0byBuZWdvdGlhdGUgb3V0cHV0IGNhcHMgd2hlbiB0aGVyZQoJICBpcyBub3QgbXVjaCBpbiBvdXRwdXQgdG8gYmVnaW4gd2l0aC4KCjIwMTItMDMtMTggMTg6MzI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICBzbW9vdGg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMDE6MTg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBmaXggYnVpbGQgYWZ0ZXIgYmFzZSB0cmFuc2Zvcm0gY2hhbmdlcwoKMjAxMi0wMy0xOCAwMDo1MTozMiArMDAwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZml4IHN0cnVjdHVyZSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyOTQKCjIwMTItMDMtMTcgMTU6MDk6MjEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBvcGVuY3Y6IGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjk1CgoyMDEyLTAzLTE1IDIyOjEyOjU5ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZml4IHJlZ3Jlc3Npb24gc2V0dGluZyB3aW5kb3cgaGFuZGxlIGluIHBhdXNlL3BsYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkwNQoKMjAxMi0wMy0xNyAxNTowNzo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgZGV2aWNlIHByb3BlcnR5CgkgIEFsc28gYWRkIHByb3BlcnR5IHByb2JlIGZvciBkZXZpY2UgcHJvcGVydHksIHNpbWlsYXIgdG8gZGVja2xpbmtzcmMuCgoyMDExLTEwLTMxIDE4OjU4OjM0IC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogbWFrZSBzdXJlIHdlIGNhbiBhY2NlcHQgY2FwcyBiZWZvcmUgcmV0dXJuaW5nIHRydWUKCSAgY2FwcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgcGx1Z2luJ3MgcHJvcGVydGllcywgc28gd2Ugc2hvdWxkIGNoZWNrIHRoZQoJICBpbmNvbWluZyBjYXBzIHRvIHNlZSBpZiB0aGV5IGFncmVlLiAgRml4ZXM6ICM2Njc3MjIuCgoyMDExLTEwLTMxIDE4OjU3OjIyIC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogZGlzYWJsZSBwdWxsIG1vZGUKCSAgZGVja2xpbmsgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBhbnkgcHVsbCBtb2RlIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eS4KCSAgaXQncyBtb3JlIGxpa2UgYSBsaXZlIHNvdXJjZSwgeW91IHNlZS4gRml4ZXM6ICM2Njc3MjAuCgoyMDEyLTAyLTExIDIyOjQ5OjEwIC0wODAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogcHVzaCBuZXcgbmV3IHNlZ21lbnQgZXZlbnQgdG8gYWxsIHBhZHMKCSAgVGFrZSBjYXJlIHRvIHB1c2ggdGhlIGV2ZW50IHRvIGFsbCBwYWRzLCBidXQgZmF2b3IgdGhlIHZpZGVvIHNyYyBwYWQuCgkgIEZpeGVzOiAjNjY3NzE2LgoKMjAxMi0wMy0xNyAxMTo0MTowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuICBGaXggbWVtbGVhayByZWxlYXNpbmcgcmVzb3VyY2VzLgoKMjAxMi0wMy0xNyAxMTozOTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVpbmRlbnQKCjIwMTEtMTAtMzEgMTg6NTY6MjMgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkgIGRlY2tsaW5rc3JjOiBoYW5kbGUgZmxvdyByZXR1cm4gcHJvcGVybHkgYW5kIHByb3ZpZGUgYmV0dGVyIG1lc3NhZ2UKCSAgKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoKMjAxMi0wMy0wNyAxOToyMjoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBwcm9iaW5nCgkgIFJlbmFtZXMgdGhlIHN1YmRldmljZSBwcm9wZXJ0eSB0byBqdXN0IGRldmljZSwgYW5kIGhhcyBpdAoJICByZXR1cm4gdGhlIG51bWJlciBvZiBkZXZpY2VzIGluIHRoZSBzeXN0ZW0gaW4gcmVzcG9uc2UgdG8KCSAgYSBwcm9iZS4gVGhpcyBpcyB1c2VmdWwgYm90aCBmb3IgdXNpbmcgbXVsdGlwbGUgY2FwdHVyZQoJICBjYXJkcywgYW5kIGZvciBkZXRlY3Rpbmcgd2hldGhlciBpdCdzIHdvcnRoIGFkZGluZyB0aGUKCSAgZWxlbWVudCB0byBhIHBpcGVsaW5lLgoJICBBbHNvIGNsZWFucyB1cCB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAxMi0wMy0xNyAxMTo0NTozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJICBlbGVtZW50LXRlbXBsYXRlczogY2hhaW4gcXVlcnkvZXZlbnQgZnVuY3Rpb25zCgkgIENoYWluIHVwIHRvIHBhcmVudCBjbGFzcy4gIFRoaXMgZml4IHNob3VsZCBiZSBkb25lIHRvIGFsbCBvZiB0aGUKCSAgdGVtcGxhdGVzLgoKMjAxMi0wMy0xNyAxMTozNToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBBZGQgY2hhbm5lbCBwcm9wZXJ0eQoJICBUaGUgY2hhbm5lbCBwcm9wZXJ0eSBhbGxvd3MgbXVsdGlwbGUgaW50ZXJzcmMvc2luayBwYWlycyB0byBmaW5kCgkgIGVhY2ggb3RoZXIuICBJdCdzIGEgZnJlZS1mb3JtIHRleHQgc3RyaW5nIHRoYXQgbXVzdCBtYXRjaCBhbW9uZwoJICB2YXJpb3VzIGludGVyIGVsZW1lbnRzLiAgQWxzbyBmaXhlZCB1cCBkb2N1bWVudGF0aW9uIGFuZCBsYXRlbmN5CgkgIGhhbmRsaW5nLgoKMjAxMi0wMy0xNyAxNjowOTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBmaXggLXRlbXBsYXRlLXZpZGVvIGNhcHMgc3RyaW5nCgkgIERvbid0IGZvcmdldCBzZXBhcmF0b3IuCgoyMDEyLTAzLTE3IDE2OjA1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBhZGQgdmlkZW8gcGFkIHRlbXBsYXRlIGFuZCB1c2UgaXQgaW4gdmlkZW9maWx0ZXIgY2xhc3MKCSAgV291bGQgYmUgbmljZXIgaWYgb25lIGNvdWxkIGp1c3Qgc3VwcGxlbWVudCB0aGUgZ2VuZXJpYyB0ZW1wbGF0ZQoJICBmcm9tIHRoZSBlbGVtZW50IHRlbXBsYXRlIHRob3VnaC4KCSAgQWxzbywgSSB3b3VsZCByZWFsbHkgaGF2ZSBsaWtlZCB0byBqdXN0IGFkZCB0aG9zZSBzZWN0aW9ucyBmcm9tIHRoZQoJICBwYWRzIHRlbXBsYXRlIGludG8gdGhlIGVsZW1lbnQgdGVtcGxldCBkaXJlY3RseSAoc28gSSBjYW4gY2F0ZXIgZm9yCgkgIHNyYyB0ZW1wbGF0ZSBjYXBzID09IHNpbmsgdGVtcGxhdGUgY2FwcyksIGJ1dCB0aGF0IGRpZG4ndCBzZWVtIHRvCgkgIHdvcmsuCgoyMDEyLTAzLTE3IDE1OjQ5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBhZGQge3NyYyxzaW5rfXBhZC10ZW1wbGF0ZSwgc2luY2UgbWFueSBiYXNlIGNsYXNzZXMgY3JlYXRlIHBhZHMgZm9yIHVzCgkgIEFuZCB1c2UgdGhlbSBpbiB0aGUgdmlkZW9maWx0ZXIgdGVtcGxhdGUuCgoyMDEyLTAzLTE3IDE1OjE2OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICB0b29sczogYWRkIHZpZGVvZmlsdGVyIHRlbXBsYXRlIGZvciBnc3QtZWxlbWVudC1tYWtlcgoKMjAxMi0wMy0xNyAxMjo0Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG9wZW5jdjogZml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgYnVpbGQgd2l0aCBvcGVuY3YgMi4xCgkgIEFDX0NIRUNLX0hFQURFUlMoKSBjYWxscyBhY3Rpb24taWYtbm90LWZvdW5kIGFsc28gaWYganVzdCBvbmUgb2YKCSAgdGhlIGhlYWRlcnMgY2hlY2tlZCBmb3IgaXMgbWlzc2luZywgd2hpY2ggaXMgbm90IHdoYXQgd2Ugd2FudGVkLgoJICBBbHNvLCBjaGVjayBmb3IgaGlnaGd1aV9jLmggaW5zdGVhZCBvZiBoaWdoZ3VpLmhwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjIyNgoKMjAxMi0wMy0xNiAyMTo0NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZG9uJ3QgcGFzcyByYW5kb20gcG9pbnRlcnMgdG8gcHVsbF9yYW5nZQoKMjAxMi0wMy0xNiAxNzowNzo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBpbml0aWFsaXplIHNvbWUgYXJiaXRyYXJ5IHZhcmlhYmxlIHRoYXQgZ2NjLTQuNiBjYW4gdHJhY2sgcHJvcGVybHkKCSAgVGhlIGFjY2VzcyB0byB0aGVtIGlzIGNsZWFybHkgZ3VhcmRlZCBieSB0aGUgYm9vbGVhbnMgdGhvdWdoLgoKMjAxMi0wMy0xNiAxMzoxNDo0OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBvcGVuY3Y6IGNvc21ldGljIGNvZGUgY2hhbmdlcwoJICBDaGVjayBmb3IgdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgZGV0ZWN0b3JzIGluIHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9uIHRvIGF2b2lkCgkgIHNldHRpbmcgdXAgdGhlIFJPSXMuIFVzZSB0aGUgYm9vbGVhbnMgZm9yIGhhdmVfeHh4IG1vcmUuCgoyMDEyLTAzLTE2IDEyOjU3OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBvcGVuY3YgcHJlZml4IGZyb20gcGtnY29uZmlnIHRvIGxvb2t1cCBkYXRhZmlsZXMKCSAgRG9uJ3QgaGFyZGNvbmRlIC91c3IgdG8gbG9va3VwIGRhdGFmaWxlcyAoc3VjaCBhcyBoYWFyIGNhc2NhZGVzKS4KCjIwMTItMDMtMTUgMTc6MTA6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJzbmR2ZHNyYzogcG9zdCBhIG1lc3NhZ2Ugd2l0aCB0aXRsZSBudW1iZXIgYW5kIGR1cmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMTY1CgoyMDEyLTAzLTE2IDEyOjEwOjEwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiByZW1vdmUgYmxhbmsgbGluZSBpbiBndGstZG9jIGNvbW1lbnQKCjIwMTItMDMtMTYgMTI6MDQ6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogc2tpcCBkZXRlY3Rpb24gZm9yIHVuYXZhaWxhYmxlIGRldGVjdG9ycwoKMjAxMi0wMy0xNSAyMzoxNzo1NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBtb3ZlIHRoZSBkZXRlY3RvciB0byBhbiBvd24gbWV0aG9kIHRvIGhpZGUgdGhlIHVnbHkgaWZkZWZzCgkgIFRoaXMgaW1wcm92ZXMgdGhlIHJlYWRhYmlsaXR5IGluIHRoZSBhY3R1YWwgcHJvY2Vzc2luZyBmdW5jdGlvbi4KCjIwMTItMDMtMTUgMjM6MDg6MDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogYWx3YXlzIHNlbmQgZmFjZWRldGVjdCBtZXNzYWdlCgkgIFRoZSBhcHBsaWNhdGlvbiBtaWdodCBsaWtlIHRvIGtub3csIHdoZW4gd2UgZG9uJ3Qgc2VlIHRoZSBmYWNlIGFueW1vcmUuCgoyMDEyLTAzLTE1IDIyOjU4OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBjb2RlIGNsZWFudXBzCgkgIFVzZSBnbGliIHR5cGVzIGFuZCBzaW1wbHkgZXhwcmVzc2lvbnMgaW4gdGhlIG1lc3NhZ2UgaGFuZGxlci4KCjIwMTItMDMtMTUgMjI6NDk6NTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGRvbid0IGFjY2VzcyBtZXNzYWdlIGZpZWxkcyBkaXJlY3RseQoKMjAxMi0wMy0xNSAyMjoyMjoxMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBkb24ndCBza2lwIGZhY2VzCgkgIFNraXBwaW5nIGZhY2VzIGF0IHRoaXMgcG9pbnQgbWFrZXMgdXMgbGllIGFib3V0IHRoZSBudW0tYmVyIG9mIGZhY2VzIGFuZCBhbHNvCgkgIGNhdXNlcyBsZWFrcy4KCjIwMTItMDMtMTUgMjI6MTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIwOjM4OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wMy0xNSAxODoyODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogY29zbWV0aWMgY2hhbmdlCgkgIFJlbmFtZSBQUk9QX0ZJTEVOQU1FIHRvIFBST1BfTE9DQVRJT04gdG8gbWF0Y2ggdGhlIG5hbWUgb2YKCSAgdGhlIHByb3BlcnR5LiBBZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMi0wMy0xNSAxODoyNjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGNsZWFyIG92ZXJsYXkgaWYgdGhlIGZhY2UgZGlzYXBwZWFycwoKMjAxMi0wMy0xNSAxODoyMTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGFkZCBzb21lIGxvY2tpbmcgZm9yIHByb3BlcnRpZXMsIGZyZWUgcHJldmlvdXMgbG9jYXRpb24gd2hlbiBpdCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDE4OjA4OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IGRvbid0IG1ha2UgcnN2Z292ZXJsYXkgcmVsb2FkIHRoZSBTVkcgZm9yIGV2ZXJ5IHNpbmdsZSBmcmFtZQoJICBPbmx5IHNldCBsb2NhdGlvbiBvbiByc3Znb3ZlcmxheSBpZiBpdCBoYXMgY2hhbmdlZC4KCjIwMTItMDMtMTUgMTc6NDc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBtb3ZlIGZhY2UgaGFuZGxpbmcgaW50byBvd24gZnVuY3Rpb24gYW5kIGhhbmRsZSAwIGZhY2UgY291bnQKCSAgV2hlbiBhIGZhY2UgZGlzYXBwZWFycywgd2Ugc2VlbSB0byBnZXQgYSBtZXNzYWdlIGZyb20gZmFjZWRldGVjdCB3aXRoCgkgIGEgZmFjZSBjb3VudCBvZiAwLCB3aGljaCB3ZSB3YW50IHRvIGp1c3QgaWdub3JlIGluc3RlYWQgb2YgdHJ5aW5nIHRvCgkgIGFjY2VzcyBmYWNlICMtMSwgd2hpY2ggY2F1c2VzIG5hc3R5IHdhcm5pbmdzLgoKMjAxMi0wMy0xNSAxNzo0Mjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGZpeCBwYWQgdGVtcGxhdGVzCgkgIFVzZSBnZW5lcmljIGFuZCB1bnNwZWNpZmlmZWQgcmdiL2NhcHMgZm9yIG5vdy4gVGhlIGV4YWN0IGNhcHMKCSAgc3VwcG9ydGVkIGRlcGVuZCBvbiB0aGUgZmFjZWRldGVjdCBlbGVtZW50IGFuZCByc3Znb3ZlcmxheS4gSXQncwoJICBub3QgY2xlYXIgaG93IHRoaXMgd29ya2VkIGJlZm9yZSwgc2luY2UgZmFjZWRldGVjdCBvbmx5IGFjY2VwdHMKCSAgMjQtYml0IFJHQiwgYnV0IHRoZSBjYXBzIGFkdmVydGlzZWQgMzItYml0IEFSR0IvQkdSQS4gSW4gYW55IGNhc2UsCgkgIHdlIGRvbid0IHdhbnQgdG8gZm9yY2UgYW55dGhpbmcgcmVhbGx5LCBzbyB0aGF0IGlmIGFueSBvZiB0aG9zZQoJICBlbGVtZW50cyBhY3F1aXJlcyBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIGZvcm1hdHMgd2UgcGljayB0aG9zZSB1cAoJICBhdXRvbWF0aWNhbGx5LgoKMjAxMi0wMy0xNSAxNzoyNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogZml4IGNyYXNoIGR1ZSB0byBkb3VibGUgYWRhcHRlciB1bnJlZgoKMjAxMi0wMy0xNSAxNjo1Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBmaXggd2VpcmQgcGFkIGNyZWF0aW9uIGNvZGUKCSAgVGhlIGVsZW1lbnQgd291bGQgY3JlYXRlIG5vcm1hbCBwYWRzIGluIGl0cyBpbnN0YW5jZV9pbml0IGZ1bmN0aW9uLAoJICBhbmQgdGhlbiBsYXRlciBpbiBOVUxMLT5SRUFEWSBjcmVhdGUgdGhlIGVsZW1lbnRzIGl0IG5lZWRzLCByZW1vdmUKCSAgdGhlIHBhZHMgY3JlYXRlZCBpbiB0aGUgaW5zdGFuY2VfaW5pdCBmdW5jdGlvbiwgYW5kIGFkZCBuZXcgZ2hvc3QKCSAgcGFkcyBpbnN0ZWFkLiBOb3Qgd2l0aG91dCBzYXZpbmcgdGhlIGV4dGVybmFsIHBlZXIgcGFkcyBvZiB0aGUgb2xkCgkgIHBhZHMgb2YgY291cnNlLCB3aGljaCBpdCB3b3VsZCBwcm9tcHRseSByZS1saW5rIHRvIHRoZSBuZXcgZ2hvc3QKCSAgcGFkcy4gRG8gYWxsIG9mIHRoYXQgYSBiaXQgZGlmZmVyZW50bHkuCgkgIEZpeGVzIHRoZSBnZW5lcmljL3N0YXRlcy5jaGVjayB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA1ODgKCjIwMTItMDMtMTUgMTU6NDc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBtaW5vciBjb3NtZXRpYyBjaGFuZ2VzCgkgIFJlbW92ZSB0ZW1wbGF0ZSBtYWtlciBjb21tZW50cywgdXNlIG91ciBkZWZpbmVzIGZvcgoJICBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbi4KCjIwMTItMDMtMTUgMTQ6MDg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgYXBpIGNoYW5nZQoKMjAxMi0wMy0xNSAxMzozNzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNSAwMDoxMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHRlc3QgYmluYXJpZXMgYW5kIHN0YW1wIGZpbGVzCgoyMDEyLTAzLTE1IDAwOjA1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiBtYWtlIGJ1aWxkIHdpdGggb3BlbmN2IDIuMy4xIGFzIGluIGRlYmlhbiBzaWQKCSAgV2hlcmUgaGlnaGd1aS5oIGRvZXNuJ3QgZXhpc3QgYW55IG1vcmUsIGJ1dCBvbmx5IG9wZW5jdjIvaGlnaGd1aS9oaWdoZ3VpLmhwcC4KCSAgQWxzbywgbm90IHF1aXRlIHN1cmUgd2h5IHdlJ3JlIGNoZWNraW5nIGZvciBjdmF1eC5oLCBpdCdzIG5vdCB1c2VkIGFueXdoZXJlLgoKMjAxMi0wMy0xNCAxOTo1MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGFrZSBwYWRkaW5nIGludG8gYWNjb3VudAoKMjAxMi0wMy0xNCAxNzo0ODo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBhbHNvIGNsZWFyIGluaXRpYWxpemVkIG11dGV4IGFuZCBjb25kCgoyMDEyLTAzLTE0IDExOjIwOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGFkanVzdCB0byBzb21lIG1vZGlmaWVkIGNhcHMgcmVsYXRlZCBBUEkgY2hhbmdlcwoKMjAxMi0wMy0xNCAxMDoyNDowNSArMDEwMCAgRG1pdHJ5IEtldG92IDxka2V0b3ZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEludGVncmF0ZSBpbnRvIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgRml4ZXMgYnVnICM2NzIwMzEuCgoyMDEyLTAzLTEzIDIwOjUwOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogZml4IHdhcm5pbmdzIHdoZW4gZ3N0LWluc3BlY3RpbmcgaW50ZXJhdWRpb3tzcmMsc2lua30KCSAgVGhlIGNoYW5uZWwgcHJvcGVydHkgaXNuJ3QgaW1wbGVtZW50ZWQsIHNvIGRvbid0IHJlZ2lzdGVyIGl0LgoKMjAxMi0wMy0wOCAwMTo0ODo1NiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IEZpeCB3YXJuaW5ncywgcHJvcGVyIHN0cnVjdHVyaW5nLCBkZWFkIGNvZGUgcmVtb3ZhbCwgYWRkaW5nIGRvYyBzZWN0aW9uLgoKMjAxMi0wMy0xMyAxMzowMjo1NCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG1vdmUgc3BjIHBsdWdpbiB0byBOT05fUE9SVEVEIGxpc3QoRml4IGJ1aWxkIGVycm9yKQoKMjAxMi0wMy0xMyAwOTo1NDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgdXNlIGdzdF9jYXBzX21lcmdlIGluc3RlYWQgb2YgZ3N0X2NhcHNfdW5pb24KCjIwMTItMDMtMTIgMTU6NDI6MDQgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHN1cmUgZ3QtPm1hcCBub3QgZnJlZWQgdHdpY2UKCSAgY3VycmVudCBjaGVlc2UgY2FuIGNyZWF0ZSBzaXR1YXRpb24gd2hlcmUgZ3QtPm1hcCBpcyBmcmVlZCB0d2ljZS4KCSAgVGhpcyBwYXRjaCBzZXQgbWFwIHRvIG51bGwgdG8gYXZvaWQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTAKCjIwMTItMDMtMTIgMTc6MDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlCgoyMDEyLTAzLTEyIDE2OjUxOjE5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIDIuMzEuMTQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMQoKMjAxMi0wMi0yOCAxNjo0MDozMSArMDEwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGFkZCBmbG9hdGluZyBwb2ludCBzZWdtZW50IGR1cmF0aW9uIHN1cHBvcnQKCjIwMTItMDMtMTIgMTI6MjM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBjYXBzIF9ub3JtYWxpemUgY2hhbmdlcwoKMjAxMi0wMy0xMiAxMTo0MDoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiBmaXggZm9yIGNhcHMgQVBJIGNoYW5nZQoKMjAxMi0wMy0xMiAxMDo0NDoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIF9kb19zaW1wbGlmeSBjaGFuZ2VzCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEwIDIwOjUzOjU0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBGaXggYW4gdW53YW50ZWQgZG91YmxlIG5lZ2F0aW9uIGZyb20gbGFzdCBjb21taXQKCjIwMTItMDMtMTAgMTk6MTA6NTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICBGaXggJ2lnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiBmdW5jdGlvbiBkZWNsYXJlZCB3aXRoIGNvbnN0IGF0dHJpYnV0ZScKCSAgVGhpcyBhbHdheXMgaGFwcGVucyB3aXRoIEdzdEJ5dGVSZWFkZXIvV3JpdGVyIGFuZCBmcmllbmRzIHdoZW4KCSAgbm90IHRha2luZyBpbnRvIGFjY291bnQgcmV0dXJuZWQgYm9vbGVhbiBvZiB0aGUgX3JlYWQvX3dyaXRlIGZ1bmN0aW9ucwoJICAod2hpY2ggaXMgYWN0dWFsbHkgd3JvbmcpLgoJICBNYWtlIHVzZSBvZiB0aGUgKl91bmNoZWNrZWQgdmFyaWFudCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBvciB0YWtlIHRoZQoJICByZXR1cm5lZCB2YWx1ZSBpbnRvIGFjY291bnQuCgoyMDEyLTAzLTEwIDExOjM2OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogYXZvaWQgcnVuYXdheSBsb29wIHdoZW4gcmVzeW5jaW5nIGR1cmluZyBwYXJzZQoJICAuLi4gYnkgY2hlY2tpbmcgZm9yIHRoZSBjb3JyZWN0IChkZWNyZW1lbnRlZCkgc2l6ZSB2YXJpYWJsZS4KCSAgRml4ZXMgIzY3MTc1Ni4KCjIwMTItMDMtMDkgMTc6MTY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IEFDX0xBTkdfU09VUkNFLXJlbGF0ZWQgd2FybmluZ3Mgd2hlbiBkb2luZyBhdXRvZ2VuLnNoCgoyMDEyLTAzLTAxIDE0OjU5OjU1IC0wMzAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIEZpeGluZyBydHB2cDggY29tcGF0aWJpbGl0eSB3aXRoIHRoZSB0aGlyZCBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMDczCgoyMDEyLTAzLTA4IDExOjMyOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIGNhcHMKCjIwMTItMDMtMDcgMTc6MTQ6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBwb3J0IHRvIHVwZGF0ZWQgMC4xMQoKMjAxMi0wMy0wNyAxMDoxODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDcgMTI6NTk6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBvbmx5IHJlcXVlc3QgYW5kIHByb2Nlc3MgMSBmcmFtZSBhdCBhIHRpbWUKCSAgLi4uIHNpbmNlIGl0IGlzIHNwZWNpZmllZCBpbiBfZmluaXNoX2ZyYW1lIHRoYXQgaW5wdXQgYnVmZmVyIG1heSBiZSBpbnZhbGlkYXRlZAoJICBhZnRlciBjYWxsaW5nIGl0LCBhbmQgaXMgYXMgc3VjaCBub3QgcmVsaWFibHkgYXZhaWxhYmxlIGZvciBmdXJ0aGVyIGVuY29kaW5nLgoJICBBbHNvLCByZXF1ZXN0aW5nIG9yIGFsbG93aW5nIHNldmVyYWwgZnJhbWVzIGlzIG9ubHkgdXNlZnVsIGlmIHN1YmNsYXNzIGludGVuZHMKCSAgdG8gcHJvY2VzcyB0aGVzZSAiaW4gMSBydW4iIChhcyBpbiwgMSBvdXRwdXQgYnVmZmVyKSwgbm90IGZvciBoYXZpbmcgYW5vdGhlcgoJICAoaW5uZXIpIGxvb3AgaW4gc3ViY2xhc3Mgd2hlcmUgdGhlIGJhc2VjbGFzcyBvbmUgd2lsbCBkbyBqdXN0IGZpbmUuCgoyMDEyLTAzLTA3IDEyOjU1OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogY29uZmlndXJlIGJhc2VjbGFzcyByZXF1ZXN0ZWQgc2FtcGxlcyByZWFsbHkgaW4gc2FtcGxlcwoJICAuLi4gYXMgb3Bwb3NlZCB0byBieXRlcy4KCjIwMTItMDMtMDYgMTg6NDk6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICB2aWRlbzogVXBkYXRlL2FkZCBkb2NzCgoyMDEyLTAzLTA2IDE4OjExOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICBBZGQgbWlzc2luZyBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgU3VwcHJlc3Mgd2FybmluZ3MgYWJvdXQgZGVwcmVjYXRlZCB0aHJlYWRpbmcgYW5kIEdWYWx1ZUFycmF5CgkgIEFQSSwgc28gZ2l0IGNvbXBpbGVzIHdpdGggLVdlcnJvci4KCjIwMTItMDMtMDYgMTg6MzM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBzaXJlbmRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDMtMDYgMTg6MzM6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMy0wNiAxNjoxMTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxNjoxMTozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxODozMjowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IGF2b2lkIGluZGVmaW5pdGUgbG9vcGluZyB1cG9uIGVycm9yCgkgIC4uLiBhbmQgZml4ICd1bmluaXRpYWxpemVkJyBjb21waWxhdGlvbiB3YXJuaW5nIGFzIHdlbGwuCgoyMDEyLTAzLTA2IDE1OjIxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjU3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJICBnc2V0dGluZ3M6IEZpeCAnaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5JyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjU2OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBGaXggJ2ltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdEaXJlY3RSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdERkJSZXN1bHQnJyBjb21waWxlciB3YXJuaW5nCgkgIFdlJ3JlIG5vdCBjaGVja2luZyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoYXQgZnVuY3Rpb24gYW55d2F5LgoKMjAxMi0wMy0wNiAxNDo1MTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsOiBGaXggJ2VxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmVudGhlc2VzJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjUxOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUgZm9yIHJldHVybiB2YWx1ZQoKMjAxMi0wMy0wNiAxNDo1MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBGaXggbG9vcCB0byBub3QgcmVhZCBiZWZvcmUgdGhlIHZhbGlkIG1lbW9yeSBhcmVhCgoyMDEyLTAzLTA2IDE0OjQ3OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQ0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZpeCAndmFyaWFibGUgJ3BpZCcgaXMgdW5pbml0aWFsaXplZCB3aGVuIHVzZWQgaGVyZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0MzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCAnZXhwcmVzc2lvbiByZXN1bHQgdW51c2VkJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDozODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDUgMTI6NDY6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIHJvbGxvdmVyIGluIG9mZnNldCBjYWxjdWxhdGlvbnMKCjIwMTItMDMtMDUgMTI6NDM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgeC1yYXctYmF5ZXIgLT4geC1iYXllcgoKMjAxMi0wMy0wNSAxMjowMzoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHVzZSBuZXcgc3R5bGUgY2FwcwoKMjAxMi0wMy0wNSAxMToyNzo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBwcmludGYgZml4CgoyMDEyLTAzLTA1IDEwOjE0OjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJICB0c2RlbXV4OiBVcGRhdGUgVE9ETwoKMjAxMi0wMy0wNSAwOTo0NjoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogU3dpdGNoIHJhbmsgb2YgbXBlZ3RzZGVtdXggYW5kIHRzZGVtdXgKCSAgTW9yZSBlZmZvcnQgaGFzIGJlZW4gcHV0IGxhdGVseSBpbiB0c2RlbXV4IGFuZCB3b3JrcyBpbiBtb3JlIHVzZSBjYXNlcwoKMjAxMi0wMy0wNSAwOTozODo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIHBhY2tldHMgYXMgZWFybHkgYXMgcG9zc2libGUKCSAgV2hlbiB0aGUgUEVTIGhlYWRlciB0ZWxscyB1cyBob3cgYmlnIHRoZSBvdXRnb2luZyBwYWNrZXQgaXMsIHB1c2ggdGhlCgkgIHBhY2tldCBkb3duc3RyZWFtIGFzIHNvb24gYXMgd2UgaGF2ZSB0aGUgc3BlY2lmaWVkIHNpemUgaW5zdGVhZCBvZiB3YWl0aW5nCgkgIGZvciB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IHBhY2tldC4KCSAgUmVkdWNlcyBsYXRlbmN5IGFuZCByZW1vdmVzIGlzc3VlcyB3aXRoIHZlcnkgc3BhcnNlIHN0cmVhbXMgKGxpa2Ugc3VidGl0bGVzCgkgIGFuZCBzdWJwaWN0dXJlcykuCgoyMDEyLTAzLTA0IDIxOjU0OjA4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogYWRkIG1pbmltYWwgZG9jIGJsb2JzCgoyMDEyLTAyLTI4IDIxOjAwOjI0ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRml4IGluIHNoZWxsX3N1cmZhY2Vfc2V0X2Z1bGxzY3JlZW4KCjIwMTItMDItMTYgMjI6Mjc6MjMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBNb3JlIGZpeGVzIC0tIHVwZGF0ZSB0byBXYXlsYW5kIDAuODUgcHJvdG9jb2wgLS0gQWRkZWQgc2hlbGwgc3VyZmFjZSAtLSBBZGRlZCBmb3JtYXQgcXVlcnkgZm9yIHNobSBmb3JtYXQgLS0gQ3JlYXRlIHRoZSB3aW5kb3cgYmFzZWQgb24gd2lkdGggYW5kIGhlaWdodCBvZiB2aWRlbyBleHRyYWN0ZWQgZnJvbSB1cHN0cmVhbSBjYXBzLgoKMjAxMS0xMS0wMiAxNjoyMzowMiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgVXBkYXRlIHdpdGggbmV3IEFQSXMgaW4gd2F5bGFuZC1jbGllbnQuCgoyMDExLTExLTAyIDEzOjUxOjEzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBNb3JlIEZpeGVzOiAqIEFkZGluZyBidWZmZXJfYWxsb2MgKiBwZXJmb3JtIGJ1ZmZlcl9kYW1hZ2UgYmVmb3JlIHN1cmZhY2VfYXR0YWNoICogRml4IHR5cG8sIFJlbW92ZSBEZWFkIGNvZGUgZXRjLgoKMjAxMS0xMS0wMiAxMTowMjoxMSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBJbml0aWFsIENvbW1pdDogQWRkaW5nIFdheWxhbmQgVmlkZW8gU2luawoKMjAxMS0xMi0xMyAyMzo0Mzo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogc2VuZCBkdXJhdGlvbiBtZXNzYWdlIG9uIGR1cmF0aW9uIHVwZGF0ZXMKCSAgV2hlbiB3ZSBrbm93IGEgbmV3IGR1cmF0aW9uLCByZXBvcnQgaXQuIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDExLTEyLTEzIDEwOjI2OjUwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBwbGFubmluZyArIGV4YW1wbGUgdXBkYXRlCgoyMDEyLTAzLTAzIDE5OjAzOjExICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRkZWMKCjIwMTItMDMtMDMgMTg6NTc6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIHNpZ25hdHVyZSBvZiBDTVNhbXBsZUJ1ZmZlckNyZWF0ZSBhbmQgQ01CbG9ja0J1ZmZlckNyZWF0ZVdpdGhNZW1vcnlCbG9jawoJICBDaGFuZ2UgZGF0YSB0eXBlIGZvciBjb3VudGVycyBwYXNzZWQgb24gdGhlIHN0YWNrIGZyb20gVUludDMyIHRvIHNpemVfdC4gRml4ZXMKCSAgNjRiaXQgYnVpbGRzLgoKMjAxMi0wMy0wMiAwODoxMzoxMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9ybWF0IGRlc2NyaXB0aW9uIGhlbHBlciBzaWduYXR1cmUKCSAgVXBkYXRlIHRoZSBGaWdWaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlV2l0aFNhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbQoJICBzaWduYXR1cmUgdG8gbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uIG9uIE9TWCBMaW9uLgoKMjAxMi0wMy0wMiAyMTo0MTozOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhbmQgYnVpbGQgZmFpbHVyZSB3aXRoIG1pbmd3CgkgIHNoYXJlZC5kM2RkZXYgd2FzIHJlbW92ZWQgYSB3aGlsZSBiYWNrLCBub3Qgc3VyZSBob3cgdGhpcyBzdGlsbAoJICBjb21waWxlcyBmb3IgYW55b25lICh0cG0pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzE4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAxNDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkwNQoKMjAxMi0wMy0wMyAxNTo1NzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIEFTX0xJQlRPT0wgYW5kIGJ1bXAgdmVyc2lvbiBmb3IgQUJJIGNoYW5nZSBpbiBoLjI2NCBjb2RlYyBwYXJzZXIKCSAgQmFja3BvcnRlZCBmcm9tIHRoZSAwLjEwIHJlbGVhc2UgYnJhbmNoLCB3aGVyZSB2LjIzIHdhcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjAzCgoyMDEyLTAzLTAyIDExOjQ1OjQxICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIG51bWJlciBvZiBlbXVsYXRpb24gcHJldmVudGlvbiBieXRlcyBpbiBzbGljZV9oZWFkZXIoKS4KCSAgU29tZSBoYXJkd2FyZSB2aWRlbyBkZWNvZGUgYWNjZWxlcmF0aW9uIEFQSSAoVkEtQVBJLCBEWFZBKSByZXF1aXJlCgkgIGEgYml0IGNvdW50IHRvIHRoZSBmaXJzdCBtYWNyb2Jsb2NrLCBtaW51cyB0aGUgbnVtYmVyIG9mIGVtdWxhdGlvbgoJICBwcmV2ZW50aW9uIGJ5dGVzLiBTbywgaW5zdGVhZCBvZiBoYXZpbmcgdGhlIGNvbnN1bWVyIG9mIHRoZSBsaWJyYXJ5CgkgIHNjYW4gdGhlIHNsaWNlX2hlYWRlcigpIGFnYWluLCBqdXN0IHJlY29yZCB0aGF0IG51bWJlciB3aGlsZSBwYXJzaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMDMKCjIwMTItMDMtMDMgMTU6NDc6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgdHNkZW11eDogZml4IGNvbmZ1c2luZyB2YXJpYWJsZSBuYW1lCgoyMDEyLTAzLTAyIDE3OjExOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZWdtZW50IHN0YXJ0IHBvc2l0aW9uCgkgIElmIHdlICpyZWFsbHkqIGNhbid0IGZpZ3VyZSBvdXQgdGhlIGZpcnN0IHN0YXJ0IHBvc2l0aW9uLCB0aGF0IG1vc3QKCSAgbGlrZWx5IG1lYW5zIHRoZSBkYXRhIHRvIHB1c2ggb3V0IGRvZXNuJ3QgaGF2ZSBhbnkgdGltZXN0YW1wLgoJICBVc2UgYSBkZWZhdWx0IHZhbHVlIG9mIDAgdGhlbgoKMjAxMi0wMy0wMiAxNzoxMDoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBvdXQgdGhlIHBhY2tldGl6ZXIgb24gZmx1c2hpbmcgc2Vla3MKCSAgLi4uIGVsc2Ugd2UgZW5kIHVwIHdpdGggYm9ndXMgZGF0YS9vZmZzZXRzCgoyMDEyLTAyLTI5IDExOjE0OjE1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBY3RpdmF0ZSBwYWRzIG9ubHkgd2hlbiByZWNlaXZpbmcgZGF0YSBmb3IgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTIxCgoyMDEyLTAzLTAyIDE1OjM3OjU3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBhZGQgbWlzc2luZyBkaXJlY3R4IGhlYWRlcnMKCjIwMTItMDMtMDIgMTE6MDc6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGxldmVsIGNvZGUKCSAgVmFsaWQgcmFuZ2VzICAgICAgICAgICAgYXJlIGZyb20gNCB0byAxMAoJICBWYWxpZCByYW5nZXMgPj4gMSAgICAgICBhcmUgZnJvbSAyIHRvIDUKCSAgVmFsaWQgcmFuZ2VzID4+IDEgLSAyICAgYXJlIGZyb20gMCB0byAzCgkgIChhbmQgbm90IGZyb20gMSB0byA0KQoKMjAxMi0wMy0wMiAxMDo1NDo0OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDaGVjayBoYXJkZXIgZm9yIHByb2dyYW0gY2hhbmdlcwoJICBBbmQgZG9uJ3QganVzdCByZWx5IG9uIHRoZSBzZWN0aW9uIGNyYy92ZXJzaW9uX251bWJlciBjaGFuZ2luZyB0bwoJICBpbmRpY2F0ZSB0aGF0IHRoZSBwcm9ncmFtIGFjdHVhbGx5IGNoYW5nZWQuCgoyMDEyLTAzLTAxIDE4OjQ2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSAgdmRwYXU6IHJlbGljZW5zZSBmb3VyIHNvdXJjZSBmaWxlcyBmcm9tIEdQTDMrIHRvIExHUEwyKwoJICBUaGVzZSBzb3VyY2UgZmlsZXMgd2VyZSBtaXN0YWtlbmx5IGxpY2Vuc2VkIGFzIEdQTDMsIHRoZQoJICBhdXRob3IgKENhcmwtQW50b24gSW5nbWFyc3NvbikgaGFzIGdpdmVuIHBlcm1pc3Npb24gdG8KCSAgcmVsaWNlbnNlIHRoZW0gdG8gTEdQTDIrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTQyCgoyMDEyLTAzLTAxIDE4OjA1OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IFJlZmFjdG9yIHNlZWsgYW5kIHNlZ21lbnQgaGFuZGxpbmcKCSAgQWxsIGNhbGN1bGF0aW9ucyBnbyB0aHJvdWdoIHRoZSBtcGVndHNwYWNrZXRpemVyCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzL2NvZGUKCjIwMTItMDMtMDEgMTc6NTk6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRXJyb3Igb3V0IG9uIEVPUyB3aXRob3V0IGFueSBwYWQKCSAgQXZvaWRzIGVuZGluZyB1cCB3aXRoIGhhbmdpbmcgcGlwZWxpbmVzCgoyMDEyLTAzLTAxIDE3OjU2OjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE9mZnNldCBjYWxjdWxhdGlvbgoJICBBbGxvd3MgUENSPD0+UFRTPD0+b2Zmc2V0IGVzdGltYXRpb24vY2FsY3VsYXRpb24KCSAgUmlnaHQgbm93IHRoZSBjYWxjdWxhdGlvbiBpcyB2ZXJ5IG5haXZlLCBidXQgY2FuIGJlIGV4dGVuZGVkIGxhdGVyIG9uCgkgIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgY29kZSBpbiB0c2RlbXV4L21wZWd0c2Jhc2UKCjIwMTItMDMtMDEgMTc6NTM6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogY2xvY2sgZml4IGFuZCBtaW5vciBhZGRpdGlvbgoJICAqIERvbid0IHRha2UgaW50byBhY2NvdW50IHBhY2tldHMgdGhhdCBhcnJpdmVkIGF0IHRoZSBzYW1lIHRpbWUgYXMKCSAgcHJldmlvdXMgb25lcyBmb3IgY2xvY2sgc2tldyBlc3RpbWF0aW9uCgkgICogQWRkIGNvbnZlbmllbmNlIG1ldGhvZCBmb3IgcHJvY2Vzc2luZyB0aGUgbmV4dCB0cyBwYWNrZXQKCjIwMTItMDItMjkgMTg6MTk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndHNkZW11eDogTm90IGFwcGx5IHZhcmlvdXMgdGltZSB0aGUgc2FtZSBQTVQgdG8gYSBwcm9ncmFtIHdoZW4gcmVwZXRlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGNiMGU4N2Y1NjIzODM2ZGRjMzYxZWI5MWRjZjliNTBiNDgwNDhlNy4KCSAgbXBlZ3RzcGFja2V0aXplciBhbHJlYWR5IGNoZWNrcyBpZiBpdCdzIGEgbmV3IFBNVCBvciBub3QKCjIwMTItMDItMjkgMTA6MzM6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFJlbW92ZSBhbGwgc2Vla2luZyBjb2RlCgkgIEl0IHdhcyBtb3JlIHRoYW4gYm9ndXMKCjIwMTItMDItMjkgMTc6MjY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZXMKCjIwMTItMDItMTQgMTE6NTc6MDAgKzAxMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBzZXQgdGhlIGZldGNoZXIncyBsb2NhdGlvbiB0d2ljZQoJICBDYWxsaW5nIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkgYWxyZWFkeSBkb2VzIGl0IGFuZCBmaWxlc3JjCgkgIGZhaWxzIHdoZW4gdXNpbmcgZmlsZSBwcm90b2NvbCBpbiBhIGxvY2F0aW9uCgoyMDEyLTAyLTI4IDE2OjI3OjU1ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBBZGQgbWlzc2luZyBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgU3VwcHJlc3Mgd2FybmluZ3MgYWJvdXQgZGVwcmVjYXRlZCB0aHJlYWRpbmcgYW5kIEdWYWx1ZUFycmF5CgkgIEFQSSwgc28gZ2l0IGNvbXBpbGVzIHdpdGggLVdlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDk4MgoKMjAxMi0wMi0yNCAwOTo1NDozNSArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGZhaWwgZm9yIHBsYXlsaXN0cyBzbWFsbGVyIHRoYW4gZnJhZ21lbnRzLWNhY2hlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5NjMKCjIwMTItMDItMjggMTE6Mzk6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSB0YWdzCgoyMDEyLTAyLTI4IDA4OjEzOjA0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBwb3J0IHF0a2l0dmlkZW9zcmMKCjIwMTItMDItMjcgMDk6NDU6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGNhdGNoIHNlY3Rpb24gbGVuZ3RocyBleHRlbmRpbmcgcGFzdCB0aGUgYnVmZmVyIGxlbmd0aAoJICBUaGlzIGlzIHByb2JhYmx5IHRoZSBjYXVzZSBmb3IgYW4gb2NjYXNpb25hbCBjcmFzaCB3aGlsZSBzdHJlYW1pbmcKCSAgTVBFRy4gQmxpbmQgZml4IGFmdGVyIHN0YXJpbmcgYXQgdGhlIGNvZGUgYW5kIGZvbGxvd2luZyBsb2dpYywgc28KCSAgbWF5IG9yIG1heSBub3QgZml4IHRoZSBpc3N1ZSwgSSBjYW5ub3QgdGVzdC4KCSAgKFBvcnQgb2YgNDI3NWE3MGNiNTVkMzc1YWZhNzAyOTE3ZjczNTllYzExN2VkNDlkNCBmcm9tIG1wZWdkZW11eCkKCjIwMTItMDItMjcgMDk6NDI6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHN1cHBvcnQgbW9yZSBjaGFyYWN0ZXIgc2V0IGVuY29kaW5ncwoJICBTdXBwb3J0IFVURi0xNkJFLCBFVUMtS1IgKEtTWDEwMDEpLCBHQjIzMTIgYW5kIElTTy0xMDY0Ni9VVEY4IHRleHQKCSAgZW5jb2RpbmcgYW5kIGZpeGVkIG5ldyBsaW5lIGZvciBtdWx0aWJ5dGUgZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI1NwoJICAoUG9ydCBvZiA5NzU5ZDY2NDA3ZjJiZThlYzI5OTc1YjBlZmYzMjMwYmIxZGFlMGVmIGZyb20gdGhlIG1wZWd0c2RlbXV4CgkgIGVsZW1lbnQpCgoyMDEyLTAyLTI3IDEzOjEzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI2IDIwOjQzOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IGxpbmsgdG8gbGliZ3N0YmFzZQoKMjAxMi0wMi0yNCAxOTowODo0MCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiBGaXggcGFyc2luZyBvZiBQU0kgdGFibGUgSURzCgkgIChQb3J0ZWQgZnJvbSBtcGVndHNkZW11eCBkOGZkODc0ZjUyOTBlNDkxMTQzNzEyMDA1N2VlODg1Y2RiNjhiNGFmKQoKMjAxMi0wMi0yNCAxNToyNjoyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQXZvaWQgdW5saW5rZWx5IGxlYWtzIGFuZCBzZWdmYXVsdAoKMjAxMi0wMi0yNCAxNzo1Mzo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgbmV3IGNsb2NrIHNrZXcgZXN0aW1hdGlvbiBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcwoJICBPbmx5IHVzZWQgaW4gbGl2ZSBtb2RlCgoyMDEyLTAyLTI0IDE3OjUyOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFZhcmlvdXMgY29kZSBjbGVhbnVwIGFuZCBkZWFkIGNvZGUgcmVtb3ZhbAoKMjAxMi0wMi0yNCAxNzo0NzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggaXNzdWVzIHdpdGggc2tldyBjb2RlCgkgICogQWx3YXlzIHRyeSB0byBnZXQgYSB0aW1lc3RhbXAgZm9yIHRoZSBhbGdvcml0aG0KCSAgKiBSZW1vdmUgZGVhZCB2YXJpYWJsZQoJICAqIFJldHVybiBwcm9wZXIgZGVmYXVsdCB2YWx1ZQoKMjAxMi0wMi0yNCAxNzowNzo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFRpbWVzdGFtcCBvdXRwdXQgYnkgZGVmYXVsdAoJICBBbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSBkZW11eGVycyBvciBwYXJzZXJzKSB0byBkbyByZW1vdGUKCSAgY2xvY2sgcmF0ZS9za2V3IGVzdGltYXRpb24uCgoyMDEyLTAyLTI0IDEyOjUzOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGZpeCBkb2NzIGFuZCB1bml0IHRlc3QKCjIwMTItMDItMjMgMTQ6NDY6MDkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEVzdGltYXRlIGNsb2NrIHNrZXcgYW5kIHJldGltZXN0YW1wcyBidWZmZXJzIG1vcmUgcHJlY2lzbHkKCSAgQXBwbHkgdGhlIEVQVExBIGFsZ290aXRobSB0byBlc3RpbWF0ZSBjbG9jayBza2V3LgoJICBSZXVzaW5nIGNvZGUgZnJvbSAgLWdvb2QvZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmMKCjIwMTItMDItMjEgMTE6MTI6NTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFuIHVwIEFBQyBjYXBzIG1lc3MKCjIwMTItMDItMjAgMTc6NDc6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICB0c2RlbXV4OiBSZWluZGVudCBnc3RtcGVnZGVzYy5oCgoyMDEyLTAyLTIwIDE3OjMyOjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU3VwcG9ydCBtb3JlIERUUy9BQzMgZGVzY3JpcHRvcnMKCjIwMTItMDItMjMgMTg6MTc6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVzZWxlc3MgZmluYWxpemUoKQoKMjAxMi0wMi0yNCAxMDoyNjo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIGNoYW5nZXMKCjIwMTItMDItMjQgMTA6MjE6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogZml4IHNvbWUgY2FwcwoKMjAxMi0wMi0yMyAyMjowNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeHVwIG5hc3R5IHR5cG8gYnJlYWtpbmcgY29tcGlsYXRpb24KCjIwMTItMDItMjMgMjE6MTc6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb25zaWRlciBuYWxfbGVuZ3RoX3NpemUgd2hlbiBjb25zdHJ1Y3RpbmcgY29kZWNfZGF0YQoJICBGaXhlcyAjNjcwNjk5LgoKMjAxMi0wMi0yMyAyMToxNjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRpc2NhcmQgZnJhbWUgdXBvbiBkZWNvZGluZyBlcnJvcgoKMjAxMS0xMS0wOCAyMDoxOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBVc2UgaW5jb21pbmcgdGltZXN0YW1wcyBpbiBsaXZlIG1vZGUKCjIwMTEtMTEtMDggMjA6MTI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVwb3J0IGxhdGVuY3kgKDcwMG1zKQoKMjAxMS0xMS0wOCAwOTo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBRdWVyeSB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUgb3Igbm90CgoyMDEyLTAyLTIzIDExOjU1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJ1bXAgdmVyc2lvbiBhZnRlciByZWxlYXNlCgoyMDEyLTAyLTIyIDE1OjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgdGVzdDogcG9ydCBzY2hyb2VuYyB1bml0IHRlc3QKCjIwMTItMDItMjIgMTE6NDQ6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogUG9ydCB0byAwLjExCgkgIFdvcmtzIHdpdGggc29tZSBzYW1wbGUgZmlsZXMuIFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgdGltZXN0YW1waW5nIGlzc3VlIHRob3VnaCwKCSAgYnV0IHRoZSAwLjEwIHZlcnNpb24gYWxzbyBjb21wbGFpbnMgYWJvdXQgdGhhdCB0b28uCgoyMDEyLTAyLTIxIDE4OjU2OjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGF2b2lkIHRvdWNoaW5nIC5wbyBmaWxlcyBkdXJpbmcgJ21ha2UnCgkgIEEgc2ltcGxlIHdvcmthcm91bmQgdG8gZGVhbCB3aXRoIEdOVSBnZXR0ZXh0IGF1dG9tYWtlIGludGVncmF0aW9uCgkgIGZhaWxpbmcgdG8gZGVhbCB3aXRoIGdpdC4gIEZpeGVzICM2NjkyMDcKCjIwMTItMDItMjIgMDI6MDY6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMjEgMTY6NTM6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIHZpZGVvOiBNb3JlIGRvY3VtZW50YXRpb24KCjIwMTItMDItMjEgMTY6NTI6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiBEb2N1bWVudCBzdHJ1Y3R1cmVzCgoyMDEyLTAyLTIxIDEwOjA2OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMi0wMi0yMCAyMDoxMToxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCB2MjEwIHdyaXRpbmcgb3V0IG9mIGJvdW5kcwoKMjAxMi0wMi0yMCAxODo0Mzo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgR1NUX0VSUk9SCgoyMDEyLTAyLTIwIDExOjQyOjIzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtcHJvamVjdC1tYWtlcjogQ3JlYXRlIHRvb2xzLCBwYXNzIG1ha2UgZGlzdGNoZWNrCgkgIENyZWF0ZSBhIHRvb2xzIGRpcmVjdG9yeSBmb3IgYW4gYXBwbGljYXRpb24uICBBZGQgc291cmNlIGNvZGUKCSAgc3R1YnMgdG8gYWxsb3cgdGhlIHByb2plY3QgdG8gY29tcGlsZSBhbmQgcGFzcyBtYWtlIGRpc3RjaGVjay4KCSAgQWRkIG5vdGVzIGluIHNvdXJjZSBjb2RlIHRvIHRlbGwgdGhlIHVzZXIgaG93IHRvIGNyZWF0ZSBwbHVnaW4KCSAgb3IgYXBwIGNvZGUgdXNpbmcgdGhlIG90aGVyIC1tYWtlciBzY3JpcHRzLgoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMi0yMCAxNjowNzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTItMDEtMjYgMTY6MzI6MTcgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHUgc2hvdWxkIGZvcndhcmQgdmlkZW8gY2FwcyBldmVudAoKMjAxMi0wMi0yMCAxNDozMjoxMiArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IGZpbGVzIHRvIHNwZWMKCjIwMTItMDItMjAgMTI6NDI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIGFuZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gZml4IHRoZSBidWlsZAoKMjAxMi0wMi0yMCAxMDo1ODowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIHRvIGRpc3QKCjIwMTItMDItMTkgMTU6NTQ6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1wcm9qZWN0LW1ha2VyOiBDcmVhdGUgYXV0b3Rvb2xzIHByb2plY3QKCSAgVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciBnc3QtdGVtcGxhdGUgdGhhdCBjcmVhdGVzIGFuIGVudGlyZQoJICBhdXRvdG9vbHMgcHJvamVjdCAoY3VzdG9taXplZCB0byBwYWNrYWdlIG5hbWUpLCBhbmQgcG9wdWxhdGVzCgkgIGl0IHdpdGggdGhlIHNvdXJjZSBmb3IgYSBHU3RyZWFtZXIgcGx1Z2luIChidXQgbm8gcGx1Z2luIGZlYXR1cmVzLAoJICB0aG9zZSBjb21lIGZyb20gZ3N0LWVsZW1lbnQtbWFrZXIpLiAgRml4ZXM6ICM2NjU3MjcuCgoyMDEyLTAyLTE5IDEyOjU3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEyLTAyLTE5IDAwOjE1OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogY2xhbXAgaW50ZXJtZWRpYXRlcyB3aGVuIGRpdGhlcmluZwoKMjAxMi0wMS0yMyAwOTowNToyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGluazogQWRkIDEwLWJpdCBzdXBwb3J0CgoyMDEyLTAxLTIzIDA5OjAyOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgc2Nocm86IEFkZCBSR0Igc3VwcG9ydAoJICBUaGlzIHVzZXMgdGhlIGF1dG9tYXRpYyBZQ29DZyBjb252ZXJzaW9uIGluc2lkZSBTY2hyb2VkaW5nZXIgdG8KCSAgZW5jb2RlL2RlY29kZSBSR0IuICBPbmx5IHdvcmtzIGluIGludHJhLW9ubHkgbW9kZSwgc2ltaWxhciB0byAxMC0KCSAgYW5kIDE2LWJpdCwgc2luY2UgUkdCIGlzIHRlY2huaWNhbGx5IGEgPjgtYml0IGZvcm1hdCBmb3IgRGlyYWMKCSAgcHVycG9zZXMuICBUaGlzIGRlcGVuZHMgb24gc2Nocm9lZGluZ2VyLTEuMC4xMiwgd2hpY2ggaXMgdW5yZWxlYXNlZC4KCjIwMTItMDItMTggMDA6MDE6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGRldmVsb3BtZW50CgoyMDEyLTAyLTE3IDEyOjE1OjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogTm90IGFwcGx5IHZhcmlvdXMgdGltZSB0aGUgc2FtZSBQTVQgdG8gYSBwcm9ncmFtIHdoZW4gcmVwZXRlYWQKCSAgU29tZXRpbWVzIHRoZWlyIGFyZSBzZXZlcmFsIHRpbWVzIHRoZSBzYW1lIFBNVCBhcHBseWluZyB0byBhIHNhbWUgcHJvZ3JhbSBpbiBhIHN0cmVhbSwKCSAgdHNkZW11eCB3YXMgdG90YWxseSBiYWZmbGVkIHdoZW4gdGhpcyB3YXMgaGFwcGVuaW5nLCB3ZSBub3cga2VlcCB0aGUgb25lIHdlCgkgIGFscmVhZHkgYXBwbGllZCBzbyBpdCB3b3JrcyBwcm9wZXJseS4KCjIwMTItMDItMTYgMDk6NTQ6MjQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBnbGliIGRlcHJlY2F0aW9uCgoyMDEyLTAyLTE3IDExOjA2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjEgPT09CgoyMDEyLTAyLTE3IDExOjA1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSRUxFQVNFIDAuMTEuMQoKMjAxMi0wMi0xNyAwOTowMTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTYgMTY6MzA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHV0IHNvdXJjZSB0byBudWxsIHdoZW4gcmVzZXR0aW5nIGNhcHMKCSAgSXQgc2VlbXMgdGhhdCB2NGwyc3JjIGlzbid0IGhhcHB5IHdoZW4gc3dpdGNoaW5nIGZvcm1hdHMgb24gcmVhZHkKCSAgc3RhdGUsIGl0IHdvcmtzIHdoZW4gcHV0dGluZyBpdCB0byBOVUxMLiBLZWVwIHRoaXMgd29ya2Fyb3VuZCBpbgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIHdoaWxlIHY0bDJzcmMgaXNuJ3QgZml4ZWQuCgkgIEZpeGVzICM4NDk4MzIKCjIwMTItMDItMTYgMTQ6MzM6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jCgoyMDEyLTAyLTE2IDAxOjEyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1dCBzb3VyY2UgaW4gTlVMTCB3aGVuIGl0IGZhaWxzIGNoYW5naW5nIHN0YXRlCgkgIFdoZW4gc291cmNlIGlzIGJlaW5nIHJlc2V0IHRvIGNoYW5nZSBjYXBzLCBjaGVjayB0aGUgcmV0dXJuIG9mCgkgIHRoZSBzdGF0ZSBzeW5jaW5nIGZ1bmN0aW9uIHRvIGF2b2lkIGxlYXZpbmcgdGhlIHNvdXJjZSBpbiBhbgoJICB1bmNvbnNpc3RlbnQgc3RhdGUuCgoyMDEyLTAyLTE2IDAwOjMwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgbXZlOiBkb24ndCByZXR1cm4gYSBib29sZWFuIGZvciBhIEdzdEZsb3dSZXR1cm4KCSAgZml4ZXMgcGxheWJhY2suCgoyMDEyLTAyLTE1IDEwOjMyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBdm9pZCB0aHJvd2luZyBGTE9XX0VSUk9SIG9uIGxhc3QgUENSIHByb2Nlc3NpbmcgZXJyb3IKCSAgSW4gdGhlIGNhc2Ugb2Ygc2Nhbm5pbmcgbGFzdCBwY3IsIGVycm9ycyBhcmUgbm90IGNyaXRpY2FsLCBzbyB3ZSBrZWVwCgkgIHRoZSBzdHJlYW0gZmxvd2luZy4KCjIwMTItMDItMTQgMTE6NDQ6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgQUFDIGxhdG0gc3VwcG9ydAoKMjAxMi0wMi0xNSAxMTowNjo1NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWlub3IgcmVmYWN0b3JpbmcvY29kZSBjbGVhbmluZwoJICAuLi4gYWRkIHNvbWUgZGVidWdnaW5nIHN5bWJvbHMgaW4gdGhlIG1lYW4gdGltZS4KCjIwMTItMDItMTUgMTY6Mzg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZW1vdmUgX2NoYWluIGhhY2sKCSAgQXMgd2UgY2FuIG5vdyByZWx5IHVwb24gYmVpbmcgcGFzc2VkIHVwc3RyZWFtIGRlbGluZWF0ZWQgZGF0YSBpbgoJICA6OmhhbmRsZV9mcmFtZSgpLCB0aGUgbGF0dGVyIGNhbiBhbHNvIHBhcnNlIGF2YyBmb3JtYXR0ZWQgZGF0YQoJICB3aXRob3V0IGhhdmluZyB0byBpbnRlcmNlcHQgYmFzZXBhcnNlJ3MgY2hhaW4gZnVuY3Rpb24uCgkgIFdoaWxlIHRoaXMgZXZpZGVudGx5IHJlcXVpcmVzIDIgc2VwYXJhdGUgcGFyc2luZyBwYXRocywgZWFjaCBjYW4KCSAgYmUgc3RyZWFtbGluZWQgYWNjb3JkaW5nbHkuCgoyMDEyLTAyLTE1IDExOjU5OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGp1c3QgdG8gc3RhbmRhcmRpemVkIGJhc2VwYXJzZSBmcmFtZSBzdGF0ZSB0cmFja2luZwoKMjAxMi0wMi0xNSAxNzoxNDozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE1IDE1OjA3OjM1ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBTRUkgcGFyc2luZwoJICAuLi4gaW4gdGhlIHByZXNlbmNlIG9mIGVtdWxhdGlvbl9wcmV2ZW50aW9uX3RocmVlX2J5dGUuCgkgIEZpeGVzICM2NjgzODEuCgoyMDEyLTAyLTE1IDE0OjI5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHByb3BlciBOQUxVIG9mZnNldCBmb3IgY29uZmlnIGRhdGEgaW5zZXJ0aW9uCgkgIC4uLiB3aGljaCBoYXMgdG8gYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdGFydCBjb2RlLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzCgkgIGJ1dCBuZWVkIG5vdCBiZSA0IGJ5dGVzLgoKMjAxMi0wMi0xNSAxMzozOToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAyLTE1IDEzOjAyOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBkb24ndCBsZWFrIGV2ZW50CgkgIFVucmVmIHRoZSBldmVudCB3aGVuIHdlIGRvbid0IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQKCjIwMTItMDItMTUgMTI6NTY6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgkgIENoYWluIHVwIHRvIHRoZSBwYXJlbnQgZXZlbnQgaGFuZGxlciB0byBnZXQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIGluc3RlYWQgb2YKCSAgcmV0dXJuaW5nIEZBTFNFLgoKMjAxMi0wMi0xNCAxMToxOTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjcgMjA6NTg6NDggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCB3YXJuaW5ncyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIGdzdGRpcmVjdGRyYXdzaW5rLmM6MTU2MToyNDogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlCgkgIGdzdGRpcmVjdGRyYXdzaW5rLmM6MjAyODozOiBlcnJvcjogZm9ybWF0ICclZCcgZXhwZWN0cyB0eXBlICdpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnc2l6ZV90JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NTIyCgoyMDEyLTAyLTEzIDE4OjQ0OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTE6MTY6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTI6MjY6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXh1cCBtZXJnZQoKMjAxMi0wMi0xMyAxNDoyMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogX3VubWFwIGJ1ZmZlciB1cG9uIGV4aXQKCjIwMTItMDItMTMgMjM6MDQ6MTIgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogVHJpdmlhbCBidWcgZml4LiBEb24ndCBjb3B5IGRhdGEgZnJvbSBhbiB1bmluaXRlZCBidWZmZXIuCgoyMDEyLTAyLTEyIDIyOjU5OjUyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay8uZ2l0aWdub3JlOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHJlZmFjdG9yZWQgaW4gLWJhc2UKCjIwMTItMDItMTAgMTY6NTI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlcG9ydCBhZnRlciBtZXJnZQoKMjAxMi0wMi0xMCAxNjo0Njo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYwoJICBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW0KCSAgZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmMKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jCgkgIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYwoJICB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jCgoyMDEyLTAyLTEwIDE0OjQ2OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogdW5vYmZ1c2NhdGUgZnJhbWUgcGFyc2luZyBjb2RlCgoyMDEyLTAyLTA4IDIxOjIxOjQ3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBmaXggaW5kZWZpbml0ZSB3YWl0IGFmdGVyIGFkZGluZyBhIG5ldyBmZCB0byB0aGUgcG9sbCBzZXQKCSAgSWYgdGhlIHNlY29uZCBjYWxsIHRvIF93YWl0IGJsb2Nrcywgd2Ugd2lsbCBub3Qgc2lnbmFsIHRoZSBjb25kaXRpb24KCSAgdmFyaWFibGUsIHNvIGVuc3VyZSB0aGF0IHNlY29uZCBjYWxsIGlzIG5vdCBibG9ja2luZy4KCSAgU2VlIHJhdGlvbmFsZSBhbmQgaW5mb3JtYXRpb24gaW4gdGhlIGxpbmtlZCBidWc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2OTcKCjIwMTItMDItMDkgMTg6MDg6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wOSAxNDo0MjoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHJlZmNvdW50IGVycm9yCgoyMDEyLTAyLTA5IDAwOjA5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogZG9uJ3QgdXNlIGdzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzKCkKCSAgSXQncyBhYm91dCB0byBiZSByZW1vdmVkLgoKMjAxMi0wMi0wOCAyMDowOTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBSZW1vdmUgbGVnYWN5aDI2NHBhcnNlIGVsZW1lbnQKCSAgT25lIGgyNjQgcGFyc2VyIG91Z2h0IHRvIGJlIGVub3VnaCBmb3IgYW55Ym9keS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwMgoKMjAxMi0wMi0wOCAxNjozNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDcgMTc6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMDgtMjIgMTY6MzE6MzggKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBjcmVhdGUgYSBkM2QgZGV2aWNlIGZvciBlYWNoIHNpbmsgYW5kIHVzZSB0aGUgZGVmYXVsdCBzd2FwIGNoYWluIGluIGNvbm5lY3Rpb24gd2l0aCBmbHVzaGluZyB0aGUgR1BVIGFuZCBub3QgcmVjcmVhdGluZyB0aGUgc3dhcCBjaGFpbiB0aGlzIGF2b2lkcyB0ZWFyaW5nIGFsc28gdXNlIEdTVF94eF9ERUJVRyBtYWNyb3Mgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMTEtMDgtMjIgMTQ6NDY6NDggKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmbHVzaCBHUFUgYmVmb3JlIFByZXNlbnQgYWRkZWQgYWx0ZXJuYXRlIHdhaXQgZm9yIHZzeW5jIG1ldGhvZCBiYXNlZCBvbiBHZXRSYXN0ZXJTdGF0dXMKCjIwMTEtMDgtMjIgMTQ6MzA6NDMgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBjaGVjayBmb3IgaGFyZHdhcmUgY2FwYWJpbGl0aWVzLCB3aGVuIG5lZ290aWF0aW5nCgoyMDExLTA4LTIyIDE0OjE5OjA2ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVkcmF3IGxhc3QgYnVmZmVyIHdoZW4gbmV3IHdpbmRvdyBoYW5kbGUgaGFzIGJlZW4gc2V0LgoKMjAxMS0wOC0yMiAxNDoxMzozMCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGFkZGVkIE5WMTIgKyBlbmFibGVkIFJHQiBzdXBwb3J0CgoyMDExLTA4LTI3IDEzOjA3OjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggZGV2aWNlIGluaXRpYWxpemF0aW9uIGNoZWNrCgoyMDEyLTAyLTA3IDEyOjE0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDcgMTI6MDI6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTItMDItMDcgMTI6MDI6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXM6IHBvcnQgdG8gMC4xMSBzb21lIG1vcmUKCjIwMTItMDItMDIgMTM6MzM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcHJldmVudCBjYXB0dXJlcyBmcm9tIGJlaW5nIGxvc3Qgd2hlbiBzd2l0Y2hpbmcgcmVzb2x1dGlvbnMKCSAgV2hlbiBzd2l0Y2hpbmcgY2FwdHVyZSBjYXBzLCBjYW1lcmFiaW4xIHJlc2V0cyBpdHMgc3RhdGUgdG8gcmVhZHkKCSAgdG8gZm9yY2UgYSBuZXcgY2FwcyB0byBiZSBuZWdvdGlhdGVkLiBUaGlzIGNhdXNlcyBvbmdvaW5nIGNhcHR1cmVzCgkgIHRvIGJlIGFib3J0ZWQuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBjb25kaXRpb24gdG8gd2FpdCBmb3IgY2FwdHVyZXMgdG8gZmluaXNoIGJlZm9yZQoJICBnb2luZyB0byByZWFkeSBzdGF0ZS4KCjIwMTItMDItMDIgMTI6MjI6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogSW1wcm92ZSBkZWJ1ZyBtZXNzYWdlIGFib3V0IHByb2Nlc3NpbmcgY291bnRlcgoJICBNZW50aW9uIG9uIHRoZSBsb2dzIGhvdyBtYW55IGNhcHR1cmUgb3BlcmF0aW9ucyBtaWdodCBoYXZlIGJlZW4KCSAgbG9zdAoKMjAxMi0wMi0wNCAyMjowNjo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IGFuZ2xlIGlzIGluIHJhZGlhbnMgYWxyZWFkeSwgZG8gbm90IHNjYWxlIGl0CgkgIE90aGVyIHBsdWdpbnMgdXNlIHJhZGlhbnMsIGFuZCB0aGUgYW5nbGUgZG9jdW1lbnRhdGlvbiBzYXlzIHJhZGlhbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNjUKCjIwMTItMDItMDQgMjI6MDY6MTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBmaXggZGVzY3JpcHRpb24gc3RyaW5nIHRvIG1hdGNoIHdoYXQgdGhlIGVsZW1lbnQgZG9lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzY1CgoyMDEyLTAyLTAzIDExOjA4OjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCBlbWl0IG5vLW1vcmUtcGFkcwoJICBEb2luZyBzbyBtYXkgZml4IHNvbWUgdGhpbmdzLCBidXQgYnJlYWtzIG90aGVycyAobmV3IHN0cmVhbXMgYmVpbmcKCSAgYWRkZWQgaW4gdGhlIGZ1dHVyZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4MTQKCjIwMTItMDItMDMgMTE6MjY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNyZWFzZSBwYXNzdGhyb3VnaCBuZWdvdGlhdGlvbiBwcmVmZXJlbmNlCgkgIEFsc28gZW5zdXJlIHBhcnNpbmcgZml4ZWQgY2FwcyB3aGVuIG5lZ290aWF0aW5nIHJhdGhlciB0aGFuIGZhaWxpbmcgdG8KCSAgaGFuZGxlIG5vbi1maXhlZCBsaXN0IGNhc2VzLgoJICBTZWUgIzY2ODQ3MS4KCjIwMTItMDItMDMgMDA6NTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBidWlsZDogZml4IENGTEFHUyBvcmRlciBhbmQgTElCUyBvcmRlcgoJICBfQkFEX0NGTEFHUyBzaG91bGQgYWx3YXlzIGNvbWUgZmlyc3QsIHRoZW4gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MsCgkgIHRoZW4gR1NUX0JBU0VfQ0ZMQUdTIHRoZW4gR1NUX0NGTEFHUy4gU2FtZSBmb3IgbGliczogZmlyc3QgcGx1Z2lucwoJICBiYXNlIGxpYnMsIHRoZW4gR1NUX0JBU0VfTElCIHRoZW4gR1NUX0xJQlMuCgoyMDEyLTAyLTAyIDIzOjIxOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWd1dGlsczogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAyIDExOjQxOjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogaW5jbHVkZSBzcGVjaWZpYyBBQUMgc3RyZWFtLWZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgkgIFRoaXMgZWxlbWVudHMgc2VlbXMgdG8gc3VwcG9ydCByYXcgYW5kIGFkdHMgQUFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjM3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCBleHBsaWNpdCBzdXBwb3J0ZWQgQUFDIHN0cmVhbS1mb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjMxOjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogaW5jbHVkZSBzcGVjaWZpYyBzdXBwb3J0IEFBQyBzdHJlYW0gZm9ybWF0cyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6Mjc6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBzcGVjaWZ5IGluIHRlbXBsYXRlIGNhcHMgd2Ugb25seSB0YWtlIHJhdy9hZHRzIEFBQyBmb3JtYXQKCSAgVGhpcyBhcHBlYXJzIHRvIGJlIHdoYXQgdGhpcyBlbGVtZW50IHN1cHBvcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjIwOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBpbmNsdWRlIHNwZWNpZmljIEFBQyBzdHJlYW0tZm9ybWF0IHR5cGVzIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMDo1OTo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogYmV0dGVyIGVycm9yL2RlYnVnIHJlcG9ydGluZwoJICBJbmNsdWRlIHRleHQgbWVzc2FnZXMgaW5zdGVhZCBvZiBlcnJvciBjb2Rlcy4KCjIwMTItMDItMDEgMTk6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBmaXggcGFyZW50IHN0cnVjdHVyZSBpbiBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMi0wMi0wMSAxNzo1Mzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGlnbm9yZSBHVmFsdWVBcnJheSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgdW50aWwgdGhpcyBnZXRzIHNvcnRlZCBvdXQgd2l0aCB0aGUgR0xpYiBmb2xrcyBhbmQgd2UgaGF2ZSBhCgkgIHZpYWJsZSBhbHRlcm5hdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wMi0wMSAxNzo0Njo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMSAxNzowNjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGZpeCB1cCBmb3IgR3N0QXVkaW9EZWNvZGVyIEFQSSBjaGFuZ2UKCjIwMTItMDItMDEgMTY6Mjc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0czogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjIzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbTogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDEyOjQ3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogZGlzYWJsZSBvcHRpbWl6ZWQgcGFja2V0aXplZCBwcm9jZXNzaW5nIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIC4uLiBhcyBiYXNlcGFyc2UgdGhlbiBwcm92aWRlcyB3aG9sZSBjaHVua3Mgb2YgZGF0YSAoYXMgaXQgc2hvdWxkKSBhdCBvbmNlCgkgIHRvIGJlIHBhcnNlZCwgYW5kIHNvIHRoZSBhc3N1bXB0aW9ucyB1c2VkIHRvIG9wdGltaXplIGFyZSBubyBsb25nZXIgdmFsaWQuCgkgIEZpeGVzICM2Njc1NjAuCgoyMDEyLTAyLTAxIDEyOjIzOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYWxzbyBtaW5kIFNFSSBwb3NpdGlvbiBmb3IgY29uZmlnIGRhdGEgaW5zZXJ0aW9uCgkgIEZpeGVzICM2Njg2MjcuCgoyMDEyLTAyLTAxIDEyOjAzOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogdW5icmVhayBvcHRpbWl6ZWQgcGFja2V0aXplZCBOQUxVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZwoJICAuLi4gaW4gdGhhdCBpdCB3YXMgc28gb3B0aW1pemVkIGl0IGRpZCBub3QgY29uc2lkZXIgZ3JvdXBpbmcgTkFMVSBpbnRvIEFVCgkgIGFsdG9nZXRoZXIuCgkgIEZpeGVzICM2Njg2MjcuCgoyMDExLTEyLTE0IDE5OjI3OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogdXNlIHRoZSBuZXcgcHJlbXVsdGlwbGllZCBzdXBwb3J0IGluIGdzdHZpZGVvCgoyMDEyLTAxLTMwIDE4OjQ2OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZml4IHdlZGdlIGluIHByZXJvbGwgd2hlbiBwbGF5YmluMiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQKCSAgV2hlbiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQsIGFuIGV4dHJhIGNvbG9yc3BhY2UgZWxlbWVudCBpcyBhZGRlZC4KCSAgQ29sb3JzcGFjZSBpcyBhIGJhc2V0cmFuc2Zvcm0sIGFuZCBpcyB0aGVuIHRoZSBvbmx5IGJhc2V0cmFuc2Zvcm0KCSAgZWxlbWVudCBvbiB0aGUgdmlkZW8gcGF0aC4gQSB3aGlsZSBhZ28sIGJhc2V0cmFuc2Zvcm0gc3RhcnRlZCBkZWxheWluZwoJICBldmVudHMgdGlsbCBjYXBzIHdlcmUgc2V0IG9uIGl0cyBzb3VyY2UgcGFkLiBUaGVzZSB0aGluZ3MgY29uc3BpcmVkCgkgIHRvIGVuZCB1cCBzZW5kaW5nIHRoZSBEVkQgaGlnaGxpZ2h0IGV2ZW50cyBvbnRvIGEgYmxvY2tlZCBwYWQgb24KCSAgc3VidGl0bGVvdmVybGF5LgoJICBFbnN1cmluZyB0aGVzZSBoaWdobGlnaHQgZXZlbnRzIGFyZSBvbmx5IHNlbnQgb25jZSB3ZSdyZSBpbiBwbGF5aW5nCgkgIG1vZGUgZml4ZXMgdGhlIGlzc3VlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NzYyCgoyMDEyLTAyLTAxIDAyOjEzOjQ4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogRml4IGNvbXBpbGF0aW9uIHdpdGggMS4wLjEwCgoyMDExLTEyLTI2IDIxOjU3OjQ4IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2Vyczogc2V0IGludGVybGFjZWQgZmllbGQgaW4gY2FwcyBmb3IgbXBlZzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIxOAoKMjAxMi0wMS0zMSAxMjoyOToxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbC1zb3VyY2UgdHlwZSBjaGFuZ2VzCgoyMDEyLTAxLTMxIDA4OjQ0OjA0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdXBkYXRlIGFmdGVyIGNvbGxlY3RwYWRzMiBjaGFuZ2VzCgoyMDEyLTAxLTMwIDIyOjQxOjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiByZW5hbWUgY29udHJvbC1iaW5kaW5ncwoJICBnc3RfY29udHJvbF9iaW5kaW5nX3h4eCAtPiBnc3RfeHh4X2NvbnRyb2xfYmluZGluZyBmb3IgY29uc2lzdGVuY3kuCgoyMDEyLTAxLTMwIDE3OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTItMDEtMjUgMTM6NTc6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwYXJzaW5nIG9mIFZVSSBwYXJhbWV0ZXJzLgoJICBtYXhfZGVjX2ZyYW1lX2J1ZmZlcmluZyB3YXMgbWlzLXBhcnNlZCBiZWNhdXNlIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbAoJICB3YXMgcGFyc2VkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjYwCgoyMDEyLTAxLTI5IDE4OjAxOjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBub24tZm9yd2FyZGVkIGV2ZW50cwoJICBBbHNvLCBkb24ndCB1bnJlZiBmb3J3YXJkZWQgb25lcwoKMjAxMi0wMS0yOCAyMDowMTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IGluaXQgZGVidWcgY2F0ZWdvcnkKCjIwMTItMDEtMjggMjA6MDE6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBpbml0IGRlYnVnIGNhdGVnb3J5CgoyMDEyLTAxLTI4IDE2OjU3OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXN5bmMgaXRlcmF0b3Igb24gcmVzeW5jCgoyMDEyLTAxLTI4IDEyOjMyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogcmVtb3ZlICdmbHVzaCBldmVyeSBwYWNrZXQnIGhhY2sKCSAgVGhpcyBpcyBhIGJhZCBoYWNrIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBNYXRyb3NrYSwgYW5kIGlzIG5vdwoJICBvYnNvbGV0ZSBhcyBzaW1pbGFyIGNvZGUgaXMgbm90IGluY2x1ZGVkIGluIG9nZ211eC9vZ2dzdHJlYW0uCgoyMDEyLTAxLTI3IDEyOjA4OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZS1wdXNoIHN0aWNreSBldmVudHMgb24gaW5wdXQgcGFkIGNoYW5nZQoKMjAxMi0wMS0yNyAxMjowNzo0MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogVXNlIG5ldy1zdHlsZSBjYXBzCgoyMDEyLTAxLTI3IDE3OjAwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgbXBlZ2RlbXV4IHRvIHRoZSBsaXN0IG9mIHBvcnRlZCBwbHVnaW5zCgoyMDEyLTAxLTI3IDE2OjU2OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRG9uJ3QgbGVhayB0aGUgU0NIRURVTElORyBxdWVyeQoKMjAxMi0wMS0yNiAwNzoxMzowNiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIFBvcnQgbXBlZ2RlbXV4IHRvIDAuMTEKCjIwMTItMDEtMjcgMTQ6NDk6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgcGxlbnR5OiBmaXh1cCBnbGliIGRlcHJlY2F0aW9ucwoKMjAxMi0wMS0yNyAwNzozNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgdmlld2ZpbmRlciBjb2xvcnNwYWNlIGNvbnZlcnNpb24gdG8gZGVmYXVsdCBmbGFncwoJICBUaGlzIG1ha2UgdGhlIGRlZmF1bHQgc2V0dGluZ3MgbW9yZSBsaWtlbHkgdG8gd29yay4gSWYgbmVlZGVkLCBvbmUKCSAgY2FuIG9wdGltaXplIGJ5IGRpc2FibGluZyBjb252ZXJzaW9ucyB3aXRoIHRoZSBmbGFncy4KCjIwMTItMDEtMjMgMDg6MDQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVtb3Zpbmcgc29sdmVkIFRPRE8gYW5kIGZpeGluZyBhIHR5cG8KCjIwMTItMDEtMjYgMjM6Mjg6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAyMzoyODoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAyMzoyODowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDE1OjAzOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgdGhlIERWQiBwbHVnaW4gdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucwoJICBJdCBuZWVkcyB0aGUgTVBFRyBUUyBwYXJzZXIgYW5kIGN1cnJlbnRseSBjcmFzaGVzIGR1cmluZyBpbnN0YW50aWF0aW9uCgkgIGJlY2F1c2UgaXQgY2FuJ3QgY3JlYXRlIHRoZSBNUEVHIFRTIHBhcnNlci4KCjIwMTItMDEtMjUgMTg6MjU6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgIG1wZWcyZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTg6NDk6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgkgIEZpeGVzICM2Njg2NzcuCgoyMDEyLTAxLTI1IDE2OjM3OjIyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxNjo1Nzo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IEludGVyc2VjdCB0cmFuc2Zvcm1lZCBjYXBzIHdpdGggZmlsdGVyCgoyMDEyLTAxLTI1IDE1OjQzOjAxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGd2YWx1ZSBmcm9tIGl0ZXJhdG9yCgoyMDEyLTAxLTI1IDE2OjQ2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE2OjIwOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTQ6NTA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEzOjU4OjE5ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDYzYmMwIHRvIDdmZGE1MjQKCjIwMTItMDEtMjUgMTM6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBleHQva2F0ZS9nc3RrYXRlZW5jLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jCgoyMDEyLTAxLTE4IDEyOjA0OjUyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBsaW1pdCB0aGUgYW1vdW50IG9mIHNjYW5uaW5nIGRvbmUgb24gZHVyYXRpb24gcXVlcmllcwoJICBMaW1pdCB0aGUgYW1vdW50IG9mIGRhdGEgc2Nhbm5lZCB3aGVuIGxvb2tpbmcgZm9yIFBUU2VzIGluIGR1cmF0aW9uIHF1ZXJpZXMgYXMgYQoJICBmYWlsc2FmZSBmb3Iga2luZGEgYnJva2VuLCBwb3RlbnRpYWxseSBsYXJnZSBmaWxlcyB3aXRoIHNwYXJzZSBvciBubyBQVFNlcy4KCjIwMTItMDEtMTggMTE6Mjg6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGRvbid0IHNjYW4gZm9yIHRoZSBsYXN0IFBUUyBpZiB0aGUgZmlyc3Qgd2Fzbid0IGZvdW5kCgoyMDEyLTAxLTI1IDExOjIxOjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMDo0NTo1MSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDIyOjE0OjM5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBSZW1vdmUsIHZpZGVvcmF0ZSBpbmNsdWRlcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IG5vdwoKMjAxMi0wMS0yNCAxNDoyMDo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMTozODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJhNTkwMTYgdG8gYzQ2M2JjMAoKMjAxMi0wMS0yNCAxMTo1NjozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBtYWtlIGNvbnN0YW50IHN0YXRpYyBhcnJheXMgYWN0dWFsbHkgc3RhdGljCgoyMDEyLTAxLTI0IDExOjUzOjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGZpeCB1bmluaXRpYWxpemVkIHJldHVybiB2YWx1ZQoKMjAxMi0wMS0yNCAxMToyMjo0NiArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHRyYWNlIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgYWRkIGluZm8gbGV2ZWwgcHJpbnRzIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMjMgMjI6MjA6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogZml4IGNhcHMgcmVmY291bnQgZXJyb3IKCSAgL21lIGJhZCBtb25rZXkuCgoyMDEyLTAxLTIzIDE4OjMwOjE5ICswMDAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGZpeCBnc3RfaDI2NF9wYXJzZV9jbG9ja190aW1lc3RhbXAgYWx3YXlzIGZhaWxpbmcKCjIwMTItMDEtMjMgMTg6MDE6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogUkVRVUlSRU1FTlRTOgoJICBSRVFVSVJFTUVOVFM6IHdlIG5lZWQgbGlicnRtcCBmb3IgcnRtcCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg1MjEKCjIwMTItMDEtMjMgMTg6NTE6MzQgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVhZCB0aGUgY2JyX2ZsYWcgaW4gaDI2NF9wYXJzZV9ocmRfcGFyYW1ldGVycwoKMjAxMi0wMS0yMyAxNzo0Nzo0NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggZnJlcXVlbnQgZGVhZGxvY2sgZGVtdXhpbmcgTVBFRyBUUwoJICBBIHByZXZpb3VzIHBhdGNoIHRvIGFkZCBzdHJlYW1zIGVhcmx5IHRvIGZpeCBwbGF5YmFjayBvZgoJICBsb3cgYml0cmF0ZSBzdHJlYW1zIGNhdXNlcyBmcmVxdWVudCBkZWFkbG9jayBvZiBhIG5hdHVyZQoJICBJJ20gYXQgbG9zcyBob3cgdG8gZml4LgoJICBJJ20gbm90IGNlcnRhaW4gd2hldGhlciBpdCdzIGEgYnVnIGluIGRlY29kZWJpbjIsIG9yIGluCgkgIHRoYXQgbXBlZ3RzZGVtdXggcGF0Y2guCgkgIFNpbmNlIGl0IGNhdXNlcyBhIG1ham9yIHJlZ3Jlc3Npb24sIGxldCBpdCBiZSBkaXNhYmxlZCBmb3Igbm93LgoKMjAxMi0wMS0yMyAxNDoxMDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYnJlYWsgb3V0IHdoZW4gc3RyZWFtIGlkZW50aWZpZWQKCjIwMTItMDEtMjMgMTQ6MDY6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGF2b2lkIE5VTEwgbWFuaXB1bGF0aW9uIGlmIGludmFsaWQgaW5wdXQKCjIwMTItMDEtMjMgMTQ6MDU6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIE5VTEwgbWFuaXB1bGF0aW9uIGlmIGludmFsaWQgaW5wdXQKCjIwMTItMDEtMjMgMTQ6MDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIHNvbWUgdW5saWtlbHkgbGVha3MKCjIwMTItMDEtMjMgMTM6NTg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBwcmV2ZW50IHNvbWUgZmFsbC10aHJvdWdoIGNhc2VzCgoyMDEyLTAxLTIzIDEzOjU4OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkgIG12ZTogdXNlIHNpZ25lZCBsb29wIHZhcmlhYmxlCgkgIC4uLiB3aGVuIHVzaW5nIGl0IGluIGkgPj0gMC4KCjIwMTItMDEtMjMgMTM6NTc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkgIG12ZTogZW5zdXJlIGJlc3QgdGFyZ2V0IGZvdW5kCgoyMDEyLTAxLTIzIDEzOjU2OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZW5oYW5jZSBzb21lIGVycm9yIGNhc2UgaGFuZGxpbmcKCjIwMTItMDEtMjMgMTM6NTU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBjaGVjayBkaXJlY3RseSBmb3IgdmFsaWQgYnVmZmVyCgkgIC4uLiByYXRoZXIgdGhhbiBkb2luZyBzbyBpbmRpcmVjdGx5IGluIChpbmNvbXBsZXRlKSBzZW1hbnRpYyB3YXkuCgoyMDEyLTAxLTIzIDEzOjU0OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGZpeCBwYXJhbWV0ZXIgc2FuaXR5IGNoZWNrCgoyMDEyLTAxLTIzIDExOjU0OjA4ICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gd29yawoKMjAxMi0wMS0yMCAxNTozNDoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogZml4IHByZXJvbGwgb24gdGl0bGVzIHdpdGggbm8gYXVkaW8gdHJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAxMi0wMS0yMCAxMjoyNTowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcnNuZHZkc3JjOiBmaXggbGVhawoKMjAxMi0wMS0yMCAxMjoxNToyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IGZpeCB2aWRlby9hdWRpbyBtaXh1cCBpbiBlcnJvciBtZXNzYWdlCgoyMDEyLTAxLTIwIDEwOjQyOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJzbmF1ZGlvbXVuZ2U6IGtlZXAgdGhlIG9iamVjdCByZWYgbG9uZ2VyCgkgIFNpbmNlIHdlIGRvIG5vdCBnZXQgYSByZWYgdG8gdGhlIHBhZCwgSSdtIG5vdCBjZXJ0YWluIGl0J3Mgc2FmZQoJICB0byBkcm9wIHRoZSBvYmplY3QgYW5kIHVzZSB0aGUgcGFkIGxhdGVyLCBzbyBob2xkIHRoZSBvYmplY3QgcmVmCgkgIHRpbGwgd2UncmUgZG9uZSB3aXRoIHRoZSBwYWQuCgoyMDEyLTAxLTIxIDIwOjA4OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBtb3ZlIGZyb20gY29udHJvbC1iaW5kaW5nIHRvIGNvbnRyb2wtYmluZGluZy1kaXJlY3QKCjIwMTItMDEtMjIgMTY6NTk6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBSZXZlcnQgIiFjb2xvcnNwYWNlOiBmaXggb2RkIHNpemUgcHJvYmxlbXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTJlNmZkY2I2YjI2NWRiMjAxZjE5MTk1MmFlZWQ0MjllODVlODM0ZS4KCSAgVW50ZXN0ZWQgY29tbWl0IHdhcyBhY2NpZGVudGFsbHkgcHVzaGVkLgoKMjAxMi0wMS0yMiAxNjo1ODo1OSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIFJldmVydCAiY29sb3JzcGFjZTogRml4IG91dC1vZi1ib3VuZCBlcnJvcnMgZm9yIHYyMTAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2I4Yjg3Y2I2YzIxN2I5ZjBiNTJjZmEzMDc5YzRhMzZhZmQxYzQyNC4KCSAgVW50ZXN0ZWQgY29tbWl0IHdhcyBhY2NpZGVudGFsbHkgcHVzaGVkLgoKMjAxMi0wMS0yMiAxNjo1NTo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcjogRml4IGNvbXBpbGF0aW9uCgkgIEZpeCB1cCBwcmV2aW91c2x5IGJvdGNoZWQgcmViYXNlLgoKMjAxMi0wMS0wOSAyMTo1OTo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBvdXQtb2YtYm91bmQgZXJyb3JzIGZvciB2MjEwCgoyMDExLTEyLTMxIDE3OjE0OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgIWNvbG9yc3BhY2U6IGZpeCBvZGQgc2l6ZSBwcm9ibGVtcwoKMjAxMi0wMS0yMiAxNTo0OToxMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBBZGQgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxMi0wMS0yMiAxNTo0ODoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBIYW5kbGUgMTAgYW5kIDE2LWJpdCBmb3JtYXRzCgoyMDExLTEyLTMxIDE3OjEzOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkgIGF2YzogZml4IGJyb2tlbiBsaW5lIGNvbnRpbnVhdGlvbgoKMjAxMS0wOC0xOCAxOTo0OTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBqcGVnIGNvbG9yLW1hdHJpeCBjb252ZXJzaW9uCgoyMDExLTA4LTA5IDA5OjE5OjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXI6IEFkZCBzdWJ0aXRsZSBpbnRlciBlbGVtZW50cwoKMjAxMS0wOC0wNCAxMzowNToyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IERvbid0IGVycm9yIG9uIGVtcHR5IGlucHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjIgMTk6Mjc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLnZjcHJvajoKCSAgUmVtb3ZlIGxlZ2FjeSBtcGVndmlkZW9wYXJzZSBwbHVnaW4KCSAgVGhlcmUncyBhIG5ldyBvbmUgaW4gdGhlIHZpZGVvcGFyc2VycyBwbHVnaW4uCgoyMDEyLTAxLTIyIDE5OjEzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay8uZ2l0aWdub3JlOgoJICBtdWx0aWZkc2luazogbWFrZSBnaXQgaWdub3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAxMi0wMS0yMiAxOToxMToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IG1ha2UgbGV2ZWwgYW5kIHByb2ZpbGUgZmllbGRzIGluIGNhcHMgc3RyaW5ncwoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDM4CgoyMDEyLTAxLTE4IDE2OjM1OjE2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKQoJICBUaGUgZW50cmllcyB3ZXJlIG5vdCBmaWxsZWQgaW4gbGluZWFybHkgYW5kIHRoZSB0ZXJtaW5hdGlvbiB3YXMgbm90CgkgIHJlY29yZGVkIGVpdGhlci4gTm93LCB0aGUgYWN0dWFsIG51bWJlciBvZiBtb2RpZmljYXRpb25zIGlzIHJlY29yZGVkCgkgIHNpbWlsYXJseSB0byBkZWNfcmVmX3BpY19tYXJraW5nKCkuIGkuZS4gYW4gZXhwbGljaXQgY291bnRlciBpbnN0ZWFkCgkgIG9mIHN0b3JpbmcgdGhlIHRlcm1pbmF0aW9uIHZhbHVlIGluIHRoZSBhcnJheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODE5MgoKMjAxMi0wMS0yMCAxNjoxMjowMiArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIGZvciBhY3R1YWxseSBwb3J0ZWQgZWxlbWVudHMKCjIwMTItMDEtMjAgMTU6MjM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb25seSBjaGVjayBmb3IgZ3N0LXBsdWdpbnMte2dvb2QsdWdseSxmZm1wZWd9IGluIHVuaW5zdGFsbGVkIHNldHVwcwoJICBXZSBkb24ndCBpbnN0YWxsIC5wYyBmaWxlcyBmb3IgcGx1Z2luIG1vZHVsZXMsIGJlY2F1c2Ugd2Ugb25seSBuZWVkCgkgIHRoZW0gaW4gdW5pbnN0YWxsZWQgc2V0dXBzLCBzbyB3ZSBjYW4gZmluZCB0aGUgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cwoJICAoZXZlbiB3aGVuIHJ1biBhIGNvdXBsZSBvZiBkaXJlY3RvcmllcyBkZWVwZXIgb3Igb3V0LW9mLXRyZWUgZHVyaW5nCgkgIG1ha2UgZGlzdGNoZWNrKS4KCSAgVHJ5IHRvIGF2b2lkIGNvbmZ1c2lvbiwgc28gb25seSBjaGVjayBmb3IgdGhvc2UgaWYgdGhpcyBpcyBpbiBmYWN0CgkgIGFuIHVuaW5zdGFsbGVkIHNldHVwLiBGb3IgaW5zdGFsbGVkIHNldHVwcyB0aGVyZSdzIG5vIHByb2JsZW0gZmluZGluZwoJICB0aGUgcGx1Z2lucywgd2UgYXNzdW1lIHRoZXkgYXJlIGFsbCBpbiB0aGUgcGx1Z2luZGlyIHNwZWNpZmllZCBieQoJICBHU3RyZWFtZXIgY29yZSdzIC5wYyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzExCgoyMDEyLTAxLTIwIDE0OjQ2OjAwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sIGJpbmRpbmcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxMTo0MDowMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbGxlciBhcGkgY2hhbmdlcwoJICBEb24ndCB1c2UgdGhlIGNvbnZlbmllbmNlIGFwaSBmb3IgY29udHJvbCBzb3VyY2VzLgoKMjAxMi0wMS0yMCAwMDo1Mzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkgIGNocm9tYXByaW50OiBtaW5vciBjbGVhbi11cHMKCSAgRmxlc2ggb3V0IGRvY3MgYSBiaXQsIGZpeCBlbGVtZW50IGNsYXNzLgoKMjAxMS0wMS0wMiAxOTozNDowNCArMDAwMCAgTHVrw6HFoSBMYWxpbnNrw70gPGxhbGluc2t5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSAgY2hyb21hcHJpbnQ6IGltcG9ydCBBY291c3RpZCBhdWRpbyBmaW5nZXJwcmludGluZyBwbHVnaW4KCSAgSW1wb3J0ZWQgZnJvbSBodHRwczovL2xhdW5jaHBhZC5uZXQvZ3N0LWNocm9tYXByaW50CgoyMDEyLTAxLTEwIDAwOjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBoYW5kbGUgY29ybmVyLWNhc2Ugb2Ygc2hvcnQgcmVhZCBpbiBwdWxsX2J1ZmZlciBiZXR0ZXIKCSAgSXQncyBleHRyZW1lbHkgdW5saWtlbHksIGJ1dCB0aGVyZSBhcmUgY29ybmVyIGNhc2VzIHdoZXJlIGEgc2hvcnQKCSAgcmVhZCBtaWdodCBoYXBwZW4sIHNvIGhhbmRsZSB0aGF0LCBqdXN0IGluIGNhc2UuCgoyMDEyLTAxLTE5IDE1OjQzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbWVuYzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDEtMTkgMTU6MTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtLWRpc2FibGUtZmF0YWwtd2FybmluZ3MgY29uZmlndXJlIG9wdGlvbgoKMjAxMi0wMS0xOSAxMTozNDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBwb3J0IHRvIG5ldyBndGhyZWFkIEFQSQoKMjAxMi0wMS0xOCAxNzowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEdJTyBjaGVjaywgdGhpcyBpcyBpbiBnc3QtZ2xpYjIubTQgbm93CgoyMDEyLTAxLTE4IDE2OjQ2OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwNzE4NyB0byAyYTU5MDE2CgoyMDEyLTAxLTE4IDE2OjM1OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiBQb3J0IHRvIEdJTyBhbmQgdGhlIG5ldyB1ZHBzcmMvc2luayBwcm9wZXJ0aWVzCgoyMDEyLTAxLTE4IDE2OjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgb3B1cyB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zCgkgIEl0IG5lZWRzIHRvIGJlIHVwZGF0ZWQgZm9yIHRoZSBuZXcgbXVsdGljaGFubmVsIEFQSS4KCjIwMTItMDEtMTggMTU6NDg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJICBtdWx0aWZkc2luazogQWRkICQoR1NUX1BMVUdJTlNfQkFEX0NGTEFHUykgZm9yIHRoZSBpMThuIGhlYWRlciBmaWxlCgoyMDEyLTAxLTE3IDIxOjM2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMS0xNyAyMTozNjowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDEtMTcgMTg6MzM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgZ3NtZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMS0xNyAxODozMjoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBnc21lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAxLTE3IDEzOjEyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgbXVsdGlmZHNpbms6IEFkZCB0byB0aGUgZG9jcwoKMjAxMi0wMS0xNiAyMjo1MjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJICBtcGxleDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDIyOjUyOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMjI6NTE6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIGlydHNwcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAxNzozMDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3NweTogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTE2IDE3OjA3OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgIG1wZWdkZW11eDogZml4IG1pc3NpbmcgZmluYWxpemUgY2hhaW5pbmcgdG8gcGFyZW50CgkgIFRoaXMgY29kZSBkb2VzIG5vdCBzZWVtIHRvIHRyaWdnZXIgb24gbXkgdGVzdCBzdHJlYW1zLCBzbyBpdCdzCgkgIGEgYml0IG9mIGEgYmxpbmQgZml4LCBidXQgc2VlbXMgc2FmZSBlbm91Z2ggdG8gcHVzaC4KCjIwMTItMDEtMTYgMTc6MDI6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogZml4IG1pc3NpbmcgZmluYWxpemUgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcy4KCjIwMTItMDEtMTYgMTc6MDE6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBmaXggbWlzc2luZyBkaXNwb3NlIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuCgoyMDEyLTAxLTE2IDE2OjU5OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZml4IG1pc3NpbmcgZGlzcG9zZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGV2ZW4gY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIGRlcGVuZGVuY2llcyBuZWVkZWQuCgoyMDEyLTAxLTE2IDExOjI5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmstbWFyc2hhbC5saXN0OgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJICBtdWx0aWZkc2luazogTW92ZSBtdWx0aWZkc2luayBmcm9tIGdzdC1wbHVnaW5zLWJhc2UgdG8gZ3N0LXBsdWdpbnMtYmFkCgoyMDEyLTAxLTEzIDE1OjU3OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgQW5kcm9pZCwgRml4IHdyb25nIGRpbmFtaWMgbGlua2luZyBhdHRlbXB0CgkgIGdzdGNvZGVjcGFyc2VycyBpcyBidWlsdCBhcyBhbiBzdGF0aWMgbGlicmFyeS4KCSAgVGhpcyBjaGFuZ2UgZml4ZXMgYnVpbGRpbmcgd2l0aCB0aGUgQW5kcm9pZCBidWlsZHN5c3RlbS4KCjIwMTItMDEtMTMgMTM6MzA6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggZmluYWxpemUgbm90IGNhbGxpbmcgYmFzZSBjbGFzcyAoYW5kIGxlYWtpbmcpCgoyMDEyLTAxLTEzIDEyOjU1OjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogc2lnbmFsIGNoYWluIGZ1bmN0aW9ucyB0byBleGl0IG9uIGZsdXNoLXN0YXJ0CgoyMDEyLTAxLTEzIDEyOjA4OjI4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbmVuYzogZml4IGJhc2UgY2xhc3MgY2FsbCBtaXh1cCBpbiBmaW5hbGl6ZQoKMjAxMi0wMS0xMyAxMToyMjo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCB0eXBvIHVzaW5nIHRoZSB3cm9uZyBwYWQKCjIwMTItMDEtMTMgMTE6MjI6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcG9zc2libGUgYnVmZmVyIGxlYWsKCjIwMTItMDEtMTMgMTA6MzI6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkgIGxpbnN5c3NkaTogZml4IGxlYWtzCgoyMDEyLTAxLTEzIDEwOjI1OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBmaXggYWRhcHRlciBsZWFrCgoyMDEyLTAxLTEzIDAwOjExOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMS0xMiAxNzoxNjozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwYWQgbGVha3MKCjIwMTItMDEtMTIgMTc6MTE6MTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJICBwYXRjaGRldGVjdDogcmVtb3ZlIChsZWFraW5nKSBkZWFkIGNvZGUKCjIwMTItMDEtMTIgMTY6NDU6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiByZW1vdmUgKGxlYWtpbmcpIGRlYWQgY29kZQoKMjAxMi0wMS0xMiAxNjozNjoxOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBiYWxhbmNlIGVuY29kZXIgYW5kIHZpZGVvIGZvcm1hdCBhbGxvYy9kZWFsbG9jCgkgIFRoZXkgd291bGQgbGVhayBpZiBqdXN0IGNvbnN0cnVjdGluZyBhbmQgZnJlZWluZyBhbiBvYmplY3QsCgkgIGFuZCBwcm9iYWJseSBjcmFzaCBpZiBnb2luZyBmcm9tIFBMQVlJTkcgdG8gUkVBRFkgYW5kIGJhY2sKCSAgYWdhaW4gKHRob3VnaCBJIGhhdmVuJ3QgdGVzdGVkIHRoYXQpLgoKMjAxMi0wMS0xMiAxNTo1ODozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggcXVldWUgbGVhawoKMjAxMi0wMS0xMiAxNTo0Mzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICBkY2NwY2xpZW50c2luazogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTEyIDE1OjE5OjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogZml4IGV2ZW50IGxlYWsKCjIwMTItMDEtMTIgMTQ6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBmaXggbWVtb3J5IGxlYWsKCjIwMTItMDEtMTIgMTA6MjY6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBhbHNvIGluZGljYXRlIG1vbm8gYXVkaW8gaW4gc2luayBjYXBzCgoyMDEyLTAxLTEyIDEwOjI1OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWxzbyBpbmRpY2F0ZSBtb25vIGF1ZGlvIGluIHNpbmsgY2FwcwoKMjAxMi0wMS0xMSAxODoyNDo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBmaXggdGFnIGxlYWsKCjIwMTItMDEtMTEgMTg6MTI6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogdGFrZSBvdXQgdW51c2VkIGxlYWtpbmcgYnVmZmVyCgoyMDEyLTAxLTExIDE4OjM3OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTEgMTY6MzQ6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMSAxNjozMjozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggc2xpc3QgbGVhawoKMjAxMi0wMS0xMSAxMzozMjozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3RzOiBmaXggYnVmZmVyIGxlYWtzIGluIG9wdXMgdGVzdHMKCjIwMTItMDEtMTEgMTI6NTg6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggc29tZSBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlciBtYXAgYW5kIHJlZiBoYW5kbGluZwoKMjAxMi0wMS0xMSAxMjo1NzoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGJhc2UgY2xhc3MgYXVkaW8gaW5mbyBpcyBub3QgeWV0IHNldCBkdXJpbmcgc2V0X2Zvcm1hdAoJICAuLi4gc2luY2UgaXQgd2lsbCBvbmx5IGJlIGNvbW1pdHRlZCBhZnRlciBpdCBoYXMgYmVlbiBhY2NlcHRlZCBieSBzdWJjbGFzcy4KCSAgSW4gcGFydGljdWxhciwgc3ViY2xhc3Mgc2hvdWxkIG5vdCByZWx5IG9uIGl0IGR1cmluZyBpdHMgc2V0dXAuCgoyMDEyLTAxLTExIDEyOjU1OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogc3ByaW5rbGUgc29tZSBtb3JlIGxheW91dCBpbmZvIGluIGNhcHMKCjIwMTItMDEtMTEgMTI6Mzk6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBmaXggYXVkaW8gZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTItMDEtMTEgMTI6MjQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMSAxMDo1MDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVuc2V0IHRoZSBVTlBPU0lUSU9ORUQgZmxhZyBpZiB3ZSBoYXZlIHZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgoyMDEyLTAxLTEwIDE3OjI3OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTAgMTY6NTk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMCAxNTo1MDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYwoKMjAxMi0wMS0xMCAxMzozODo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBzbGlzdCBsZWFrCgoyMDEyLTAxLTEwIDEzOjM4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMCAxMzoyNTowNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBjYXBzIGxlYWtzCgoyMDEyLTAxLTEwIDEzOjI0OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IHJlZiBsZWFrCgoyMDEyLTAxLTEwIDExOjQxOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHByb3ZpZGUgYm9ndXMgdmFsdWVzIGluIG5vbi1USU1FIHB1c2gtbW9kZQoJICBPbmx5IHRha2UgdGhlIHVwc3RyZWFtIHNlZ21lbnQgdmFsdWVzIGluIEdTVF9GT1JNQVRfVElNRQoKMjAxMi0wMS0xMCAxMTozNzoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBIYW5kbGUgcm9sbG92ZXIgaW4gUFRTIGFuZCBEVFMKCSAgQWxzbyBoYW5kcyBiYWNrLXJvbGxvdmVyIHdoaWNoIGNhbiBoYXBwZW4gd2l0aCBQVFMKCjIwMTItMDEtMDQgMTE6MDU6NDggKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiB1c2UgaXNfYWx0X2RhdGEgb3B0aW9uIHRvIHByZXZlbnQgdGltZXN0YW1wIGNvbGxpc2lvbnMKCSAgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgdXN1YWxseSBzdG9yZWQgaW4gY29udGFpbmVyIHdpdGggc2FtZSB0aW1lc3RhbXAgYXMKCSAgZGVwZW5kZXQgZnJhbWUuIFRoaXMgbWFrZSBiYXNldmlkZW9kZWNvZGVyIHRvIHVwZGF0ZSB0aW1lc3RhbXAgZm9yIGRlcGVuZGV0CgkgIGZyYW1lIGFuZCBjb3VzZSBUUyBjb2xpc2lvbiBvbiBuZXh0IGZyYW1lOgoJICBeLSBoZXJlIGlzIGFsdHJlZgoJICB0aW1lICAgICA6IDEgMiAzIDQgNSA2IDcgOCA5CgkgIHdlYm0gdHMgIDogMSAgIDMgNSA1ICAgNyAgIDkKCSAgdnA4ZGVjIHRzOiAxICAgMyAgIDcgICA3ICAgOQoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNCAxMTowOToyMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIG9wdGlvbiB0byBoYW5kZSBhbHQgZnJhbWUgZGF0YQoJICBhbHRyZWYvaW52aXNpYmxlICdmcmFtZScgZG8gbm90IGRlc2NyaWJlIHNvbWUgZnJhbWUgZGlyZWN0bHksIHNvIGl0IGNhbid0IGJlCgkgIGRpc3BsYXllZCBhbmQgdGltZXN0YW1wcyBzaG91bGQgbm90IGJlIHVwZGF0ZWQuCgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA5IDE0OjU2OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZml4IHBhcnNpbmcgd2hlbiByZWN1cnNpdmVseSBza2lwcGluZyB1c2VyIGRhdGEKCjIwMTItMDEtMDkgMTQ6NTk6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBNYWtlIHN1cmUgdGhhdCB0aGUgc3JjcGFkIGhhcyBjYXBzIGJlZm9yZSBmaW5pc2hpbmcgYWN0dWFsIGF1ZGlvIGRhdGEKCjIwMTItMDEtMDkgMTQ6Mzk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCB1cGRhdGUgY2FwcyBvbiBldmVyeSBidWZmZXIKCjIwMTItMDEtMDkgMTQ6Mjg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCBjYWxsIGdzdF9idWZmZXJfbWVtY21wKCkgd2l0aCBhIE5VTEwgYnVmZmVyCgoyMDEyLTAxLTA5IDExOjAzOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHRoZSBmcmFtZXJhdGUgdGhhdCB3YXMgY29waWVkIGEgZmV3IGxpbmVzIGFib3ZlCgoyMDEyLTAxLTA5IDEwOjU4OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFkZCBhIGNvdXBsZSBjb25zdHMgb24gc3RyaW5nIGxpdGVyYWwgYXJyYXlzCgoyMDEyLTAxLTA5IDA4OjQwOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogR3N0QmFzZUNhbWVyYVNyYyBpcyB0aGUgYmFzZSBjbGFzcywgbm90IEdzdEJpbgoKMjAxMi0wMS0wOSAwODozNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdm9hbXJ3YmVuYywgbHYyIGFuZCB0ZWxleHRkZWMgYXJlIG5vdCBwb3J0ZWQgeWV0CgoyMDExLTEyLTE5IDExOjI0OjMxIC0wNTAwICBEYXZpZCBCaW9tZWNoMzYwIDxkZGVzMzEwQHlhaG9vLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogYWRkZWQgc3VwcG9ydCBmb3IgYSB2aXN1YWwgbWFnbmlmaWVyIGNvbG9yIGZpbHRlciB0byBiZSB1c2VkIGluIGdub21lLXZpZGVvLWVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjU0MgoKMjAxMi0wMS0wNiAxMDo1MjozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB0ZXN0IGFuZCBzZXQgbm90IHVzaW5nIHRoZSBzYW1lIGlucHV0CgkgIFRoaXMgZml4ZXMgSC4yNjQgb3V0cHV0IG5vdCBoYXZpbmcgYSBzZXQgZnJhbWVyYXRlLCBhbmQKCSAgY29uZnVzaW5nIHNvbWUgb2YgdGhlIGVsZW1lbnRzIGRvd25zdHJlYW0gKHN1Y2ggYXMgaW50ZXJsYWNlKS4KCjIwMTItMDEtMDYgMTA6Mzk6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBhdm9pZCBkaXZpZGluZyBieSB6ZXJvIG9uIHVua2Jvd24gZnJhbWVyYXRlCgkgIElmIHRoZSBmcmFtZXJhdGUgaXMgdW5rbm93biwgd2UgY2Fubm90IGdlbmVyYXRlIG1lYW5pbmdmdWwKCSAgYnVmZmVyIHRpbWVzdGFtcHMvZHVyYXRpb25zLCBzbyBzZXQgdGhlbSB0byBfTk9ORSBpbnN0ZWFkIG9mCgkgIGNhbGN1bGF0aW5nIHNvbWV0aGluZyB3cm9uZyBhbmQgZGl2aWRpbmcgYnkgMC4KCjIwMTItMDEtMDIgMDg6Mjg6MTMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IGFkZCBpbml0aWFsIHByZXNldCBmaWxlCgkgIFRoaXMgaXMgaW5pdGlhbCBwcmVzZXQgZmlsZSwgY3VycmVudGx5IHdpdGggb25seSBvbmUgcHJvZmlsZQoJICBmb3IgcmVhbHRpbWUgZW5jb2RpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNSAxNDozMDoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBsaW5rIGFnYWluc3QgdmlkZW8gbGlicmFyeQoKMjAxMS0xMi0wOCAxMjoxNTozOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZW1vdmUgaDI2MyBnb2IgcGFyc2luZywgc2luY2UgdGhlcmUgaXMgbm8gZ29iIGltbWVkaWF0ZSBhZnRlciBzdmgKCjIwMTEtMTItMDggMTI6MTM6MzggKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogYWRkIG1pc3NpbmcgemVyb19iaXRzIGluIGgyNjMgcGFyc2luZwoKMjAxMS0xMi0wOCAxMjoxMjoyMSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBpbmNsdWRlcyBzdGFydF9tYXJrZXIgaW4gaDI2MyBoZWFkZXIgZm9yIHBhcnNpbmcKCjIwMTEtMTItMDggMTI6MDc6NDIgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IG9mZnNldCBpc3N1ZSBpbiBoMjYzIHBhcnNlCgoyMDExLTEyLTA4IDExOjI3OjU2ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBtYXNrIHBhdHRlcm4gZm9yIGgyNjMgc3RhcnQgbWFya2VyCgoyMDEyLTAxLTA1IDExOjAxOjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgdGVzdHM6IHRlc3QgZm9yIEdUSyAyLjI0IGZvciBuZXcgc3ltYm9scyB1c2VkIGluIGNhbWVyYWJpbjIgdGVzdHMKCSAgVGhlIHdob2xlIHRyZWUgaXMgbGlrZWx5IHRvIHN3aXRjaCB0byBHVEsgMy4wIGF0IHNvbWUgcG9pbnQsIGJ1dAoJICB3ZSBtaWdodCBhcyB3ZWxsIGNvbnRpbnVlIGJ1aWxkaW5nIHdpdGggc2xpZ2h0bHkgbGVzcyBuZXcgdmVyc2lvbnMKCSAgaWYgaXQncyBub3QgaGFyZCB0byBkby4KCjIwMTItMDEtMDUgMTA6Mzg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBUaGUgbXVsdGljaGFubmVsLmggaGVhZGVyIGlzIGdvbmUgbm93CgoyMDEyLTAxLTA1IDEwOjIzOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMDk6NTI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IFBvcnQgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAwOTozNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogVXBkYXRlIHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTY6MTM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE5OjUyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDU0NmU1OCB0byAwODA3MTg3CgoyMDEyLTAxLTA0IDE4OjQyOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogcmVtb3ZlIHRlbXBvcmFyeSBmaWxlcyB3aGVuIGRvbmUgaW4gY2FtZXJhYmluLCBjYW1lcmFiaW4yIGFuZCBqaWZtdXggdGVzdHMKCjIwMTItMDEtMDQgMTE6Mjg6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IHBvcnQgc29tZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTItMDEtMDQgMTA6NTY6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBmaXggYW5kIHR3ZWFrIGZyYW1lIHRpbWVzdGFtcGluZwoJICAuLi4gdG8gcnVuIHdpdGggcHJvcGVybHkgaW5pdCdlZCB2YXJpYWJsZXMsIGFuZCB0byBvbmx5IHBlcmZvcm0gaW50ZXJwb2xhdGlvbgoJICBpbiBzYWZlIGNhc2VzLgoKMjAxMi0wMS0wNCAxMDowMjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDMgMjI6MDk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcmVmZXIgbmVnb3RpYXRpbmcgcGFzcy10aHJvdWdoCgoyMDEyLTAxLTAzIDIxOjU5OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWFyayBieXRlLXN0cmVhbSBBVSBmcmFtZSB3aXRoIGluc2VydGVkIGNvZGVjIE5BTHMgYXMga2V5ZnJhbWUKCjIwMTItMDEtMDMgMjA6MjM6MTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcm9wZXJseSBkZXRlcm1pbmUgc2tpcCBhbW91bnQgd2hlbiBubyBOQUwgc3RhcnQgZm91bmQgeWV0CgoyMDEyLTAxLTAzIDIwOjIxOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc29tZSBtb3JlIHByb3BlciBwYXJzZSBzdGF0ZSByZXNldAoKMjAxMi0wMS0wMyAxNToyNjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMiAxNTo1NToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGVuY29kaW5nIHByb2ZpbGVzIGFyZSBvYmplY3RzIGluIDAuMTEKCjIwMTItMDEtMDIgMTU6NTI6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBleGFtcGxlczogRml4IGJ1aWxkCgoyMDExLTEyLTMxIDA5OjU1OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTMwIDE5OjA4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1cGRhdGUgZm9yIGdkcCBkYXRhcHJvdG9jb2wgbGlicmFyeSByZW1vdmFsCgoyMDExLTEyLTMwIDE4OjE4OjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFN3YWxsb3cgaW5jb21pbmcgY2FwcyBldmVudAoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIGFza2luZyBzdWJjbGFzc2VzIHRvIHB1c2ggdGhlIGV2ZW50IGZvcndhcmQsCgkgIHdoaWNoIHdpbGwgZmFpbCBzaW5jZSBubyBwYWRzIGFyZSBjcmVhdGVkIHlldC4KCjIwMTEtMTItMzAgMTg6MTc6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHJvcGVybHkgY2Fycnkgb3ZlciB0aGUgdGltZXN0YW1wCgoyMDExLTExLTA4IDIwOjE5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFVzZSBpbmNvbWluZyB0aW1lc3RhbXBzIGluIGxpdmUgbW9kZQoKMjAxMS0xMS0wOCAyMDoxMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXBvcnQgbGF0ZW5jeSAoNzAwbXMpCgoyMDExLTExLTA4IDA5OjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFF1ZXJ5IHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZSBvciBub3QKCjIwMTEtMTItMDYgMTc6Mzc6NDUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmdzIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTY3NwoKMjAxMS0xMi0zMCAxMTo0OToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtCgoyMDExLTEyLTMwIDExOjQxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMS1wcmVtZXJnZQoJICBDb25mbGljdHM6CgkgIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoJICBleHQva2F0ZS9nc3RrYXRldGlnZXIuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jCgkgIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYwoJICBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmMKCSAgZ3N0L21wZWdwc211eC9tcGVncHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCSAgZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMi0zMCAwMDowMjo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBSZXNldCBzaG91bGQgcmVzZXQgY3VycmVudCBjYXBzCgkgIE5ldyBjYXBzIHdpbGwgbmVlZCB0byBiZSBuZWdvdGlhdGVkIHdoZW4gcmVzZXQgaGFwcGVucwoJICAoUEFVU0VEIHRvIFJFQURZKS4gV2l0aG91dCByZXNldGluZyB0aGUgaW50ZXJuYWwKCSAgc3RvcmVkIGZvcm1hdCwgYmFzZXZpZGVvZW5jb2Rlci9kZWNvZGVyIHdvdWxkbid0IGNhbGwgdGhlCgkgIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gd2hlbiB0aGUgc2FtZSBjYXBzIHdhcyBuZWdvdGlhdGVkCgkgIGFnYWluIGFzIHRoZXkgd291bGQgYmVsaWV2ZSB0aGlzIHdhcyB0aGUgc2FtZSBjYXBzIGFzIGJlZm9yZS4KCSAgVGhlIGlzc3VlIGlzIHRoYXQgX3N0b3AgaGFzIGJlZW4gY2FsbGVkIHdoZW4gZ29pbmcgdG8gUkVBRFkgYW5kCgkgIHRoZSBlbGVtZW50cyB3b3VsZCBoYXZlIHJlc2V0IHRoZWlyIGludGVybmFsIGNvZGVjIGxpYnMvc3RhdGUgYXMKCSAgd2VsbC4gQSBuZXcgY29uZmlndXJhdGlvbiBzaG91bGQgYmUgZG9uZS4KCjIwMTEtMTItMzAgMDA6MDI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogY2xhcmlmeSBzb21lIG1lc3NhZ2UgbG9ncwoJICBCZSBleHBsaWNpdCBvbiB3aGljaCBlbmNvZGViaW4gd2UncmUgc3dpdGNoaW5nIHByb2ZpbGVzIG9uIHRoZQoJICBsb2cgbWVzc2FnZXMKCjIwMTEtMTItMjkgMTM6MzA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBzb21lIGVycm9yIGhhbmRsaW5nIGZvciBmb3JtYXQgY2hhbmdpbmcKCSAgQ2hlY2sgdGhhdCB0aGUgZm9ybWF0IGNvdWxkIGJlIGluaXRpYWxpemVkIGFuZCBzaG93cyBhIG1vZGFsIGRpYWxvZwoJICBpbiBjYXNlIGl0IGNvdWxkbid0LgoKMjAxMS0xMi0yOSAxMjo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgZm9ybWF0IHNlbGVjdGlvbiBmb3IgY2FtZXJhYmluMiBleGFtcGxlCgkgIEFkZHMgYSBjb21ib2JveCBmb3Igc2VsZWN0aW5nIHRoZSB2aWRlbyBwcm9maWxlIGZvciByZWNvcmRpbmdzLgoJICBVc2VmdWwgZm9yIHRlc3RpbmcgbXVsdGlwbGUgZm9ybWF0cyBhL3Ygc3luYyB3aGVuIHJlY29yZGluZy4KCjIwMTEtMTItMjggMTY6NTk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVtb3ZlIGNvbW1lbnQgZm9yIGFscmVhZHkgZml4ZWQgaXNzdWVzIG9uIG1ha2VmaWxlCgkgIFNvbWUgaXNzdWVzIG9uIGNhbWVyYWJpbjIgYW5kIGppZm11eCB0ZXN0cyB3ZXJlIGZpeGVkIHNvbWUKCSAgdGltZSBhZ28sIHJlbW92ZSB0aGUgY29tbWVudHMgYWJvdXQgdGhlbQoKMjAxMS0xMi0yOCAxNjo1NzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IG1lc3NhZ2UgbGVhayBpbiB0ZXN0cwoKMjAxMS0xMi0yNyAxMTo1OToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBmaXggZ3ZhbHVlIGxlYWsKCjIwMTEtMTItMjcgMTA6MjM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGZpeCBtYWlubG9vcCBsZWFrcwoKMjAxMS0xMi0yNyAxMDoyMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBzZWN1cmUgZXZlbnQgcmVmIHdoZW4gc2VuZGluZyBldmVudCB0byBwYXJlbnQgY2xhc3MKCSAgY2FtZXJhYmluMiBuZWVkcyB0byBob2xkIGFuIGV4dHJhIHJlZiBvbiBzZW5kX2V2ZW50IGJlZm9yZSBzZW5kaW5nCgkgIGl0IHRvIHRoZSBwYXJlbnQgY2xhc3MgYXMgaXQgd2lsbCBuZWVkIHRvIHVzZSBpdCBhZnRlciB0aGUgcGFyZW50CgkgIGhhbmRsZXMgaXQuCgoyMDExLTEyLTI0IDE0OjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMTItMjMgMTY6MzM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTItMjMgMDk6MzA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBzdGFuZGFyZGl6ZSBzb21lIGZpZWxkIGRhdGEgdHlwZXMKCSAgRml4ZXMgIzY2Njc1MC4KCjIwMTEtMTItMjIgMTU6MTk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiByZW1vdmUgcmVkdW5kYW50IGZ1bmN0aW9ucwoJICBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2Ugc2hvdWxkIGJlIGVub3VnaCBmb3IgYXBwbGljYXRpb25zLgoJICBIYXZlbid0IHNlZW4gYW55b25lIHVzaW5nIHRob3NlIG90aGVyIHRoYW4gd3JhcHBlcmNhbWVyYWJpbnNyYy4KCjIwMTEtMTItMjIgMTU6MDE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIGhlbHBlciBmdW5jdGlvbgoJICBUaGlzIGRyb3BfZW9zX3Byb2JlIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGFueW1vcmUsIHJlbW92ZSBpdAoKMjAxMS0xMi0yMiAxNzoxNToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlY3JlYXRlIGVuY29kZXIgYWZ0ZXIgZmx1c2hpbmcKCSAgLi4uIHNpbmNlIGl0IGFwcGVhcnMgdGhlIGV4aXN0aW5nIG9uZSBjYW4ndCBiZSBib3RoZXJlZCBhbnltb3JlIHRvIHByb2R1Y2UKCSAgc29tZSBvdXRwdXQuCgoyMDExLTEyLTIyIDE3OjE0OjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVmYWN0b3IgZW5jb2RlciBsaWJyYXJ5IHNldHVwCgoyMDExLTEyLTIyIDE3OjEwOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogbm8gbmVlZCB0byBkdXBsaWNhdGUgYmFzZWNsYXNzIHNhbml0eSBjaGVja3MKCjIwMTEtMTItMjIgMTc6MDk6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBubyBuZWVkIHRvIGR1cGxpY2F0ZSBiYXNlY2xhc3Mgc2FuaXR5IGNoZWNrcwoKMjAxMS0xMi0yMSAyMzo1MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIGNoYW5nZXMKCjIwMTEtMTItMjEgMTE6MzM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIHRlc3RzOiBhdm9pZCB1c2VsZXNzIGluY2x1ZGUKCjIwMTEtMTItMTkgMTY6NDk6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBGaXggQS9WIHN5bmMgZm9yIGNhcHR1cmVzCgkgIEF1ZGlvIHNyYyB3YXMgcHVzaGluZyBuZXdzZWdtZW50cyBzdGFydGluZyBmcm9tIDAsIGV2ZW4gd2hlbiBpdHMgYnVmZmVycwoJICB3ZXJlIG5vdCBzdGFydGluZyB3aXRoIDAgYXMgdGhlaXIgdGltZXN0YW1wcy4gQWRkIGEgYnVmZmVyIHByb2JlIHRoYXQKCSAgY2hlY2tzIHRoZSB0cyBvZiB0aGUgZmlyc3QgYnVmZmVyIGFuZCB1c2VzIHRoYXQgdG8gcHVzaCBhIG5ld3NlZ21lbnQsCgkgIGp1c3QgbGlrZSB3ZSBkbyBmb3IgdmlkZW8gb24gd3JhcHBlcmNhbWVyYWJpbnNyYy4KCjIwMTEtMTItMTkgMTU6MTc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY2FtZXJhYmluMjogZW5hYmxlIHRlc3RzCgkgIFRlc3RzIGFyZSBwYXNzaW5nIG5vdywgZW5hYmxlIHRoZW0KCjIwMTEtMTItMTkgMTU6MTY6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHVzaCBuZXdzZWdtZW50cyBvbiB2aWRlbyBjYXB0dXJlIHN0YXJ0CgkgIFB1c2hpbmcgbmV3c2VnbWVudHMgdG8gaW5mb3JtIG11eGVycyBhYm91dCB0aGUgc3RhcnQgdGltZSBvZiB0aGUKCSAgdmlkZW8gYnVmZmVyIHRpbWVzdGFtcHMuCgoyMDExLTEyLTIwIDE0OjA0OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsZWFyIHNlaSBtZXNzYWdlIHByaW9yIHRvIHBhcnNpbmcKCSAgRml4ZXMgIzY2NjU4NC4KCjIwMTEtMTItMTkgMjM6NTE6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGludGVycG9sYXRpb24tbW9kZSBhcGkKCjIwMTEtMTItMTkgMjI6NTQ6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgYXBpCgoyMDExLTEyLTE5IDE4OjQ0OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtOiB1cGRhdGUgZm9yIG5ldyBpbnRlcmxhY2UgY2FwcwoKMjAxMS0xMi0xOSAxMzoxODo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBvbmx5IHdhcm4gd2hlbiB3ZSBzZWUgYSBQSUQgd2l0aCB1bmtub3duIHR5cGUKCSAgVGhpcyBpcyBxdWl0ZSBmcmVxdWVudCwgYW5kIHdlIHdpbGwganVzdCBpZ25vcmUgdGhhdCBzdHJlYW0sCgkgIHNvIGFuIGVycm9yIGlzIG5vdCB3YXJyYW50ZWQuCgoyMDExLTEyLTE5IDEyOjMyOjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYXZvaWQgcHVzaGluZyBTUFMvUFBTIGF0IHN0YXJ0IG9ubHkgaWYgYm90aCBhcmUgZm91bmQgaW4gc3RyZWFtCgkgIEF2b2lkIGluamVjdGluZyBTUFMvUFBTIG5hbHMgb25seSBpZiBib3RoIGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHN0cmVhbS4KCSAgRml4ZXMgc29tZSBBVkMgY2xpcHMgdGhhdCBoYXBwZW4gdG8gaGF2ZSBvbmx5IFBQUyBuYWxzIGluIHN0cmVhbS4KCjIwMTEtMTItMTggMTg6Mzc6MDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgoyMDExLTEyLTE4IDE3OjQwOjU3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gd2FpdCBmb3IgYSBrZXlmcmFtZSB3aGVuIGhhbmRsaW5nIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBBbHRob3VnaCBzb21lIGRlY29kZXJzIGNhbiBzdGFydCBkZWNvZGluZyB3aXRoIGp1c3QgUFBTIGFuZCBTUFMgYW5kIHdhaXRpbmcgZm9yCgkgIGEga2V5ZnJhbWUgaXMgYmFkIHdoZW4gdGhlIGtleWZyYW1lIGludGVydmFsIGlzIGxhcmdlLCBnc3QtZmZtcGVnIGRvZXMgbmVlZCBhCgkgIGtleWZyYW1lIHRvIHN0YXJ0IGRlY29kaW5nLgoKMjAxMS0xMi0xOCAxNzozMjoxMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVuc2V0IHRoZSBjdXJyZW50IFBDUiBzdHJlYW0gd2hlbiBzdGFydGluZyBhIG5ldyB1bml0CgkgIFVuc2V0IHRoZSBjdXJyZW50IFBDUiBzdHJlYW0gd2hlbiBzdGFydGluZyBhIG5ldyB1bml0IHNvIHRoYXQgYWZ0ZXJ3YXJkcyBhIG5ldwoJICBzdHJlYW0gaXMgc2VsZWN0ZWQgYXMgUENSIGFuZCBQQVQgYW5kIFBNVCB0YWJsZXMgYXJlIHJlZ2VuZXJhdGVkLgoKMjAxMS0xMi0xOCAxNzozMToxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBrZXkgdW5pdCBldmVudCBoYW5kbGluZyB3aGVuIG11eGluZyBib3RoIGF1ZGlvIGFuZCB2aWRlbwoJICBUYWtlIG9ubHkgdmlkZW8gYnVmZmVycyBpbnRvIGFjY291bnQgd2hlbiBkZWNpZGluZyB3aGVuIHRvIGN1dCBzbyB0aGF0IG5ldyB1bml0cwoJICBzdGFydCB3aXRoIGEgdmlkZW8ga2V5ZnJhbWUuCgoyMDExLTEyLTE1IDE4OjE0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRldGlnZXI6IGRvbid0IHVucmVmIE5VTEwgYnVmZmVyCgoyMDExLTEyLTE1IDE2OjQyOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGZpeCBiYWQgbWVyZ2UgKHN0cmF5IHVubWFwLCB1bmRlY2xhcmVkIHZhcikKCjIwMTEtMTItMTUgMTE6MTE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogamlmbXV4OiByZS1lbmFibGUgamlmbXV4J3MgdGVzdHMKCSAgRml4IGZvciBpdHMgdGVzdCBpcyBub3cgYXZhaWxhYmxlIG9uIC1iYXNlIG1vZHVsZS4KCSAgRW5hYmxpbmcgYWdhaW4uCgoyMDExLTEyLTE1IDEzOjQ3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEzOjM5OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgT25seSB0ZXN0ZWQgd2l0aCBhdWRpbywgSSBjYW4ndCBnZXQgaXQgdG8gYWNjZXB0IHZpZGVvIChiZWZvcmUKCSAgdGhlIHBvcnQpLgoKMjAxMS0xMi0xNSAxMzoyMjoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIEkgKnRoaW5rKiB0aGUgc3RyZWFtIGxvY2sgdXNlIGlzIGNvcnJlY3QsIG5vdCAxMDAlIHN1cmUuCgoyMDExLTEyLTE1IDEzOjA4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTM6MDQ6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkgIGZyZWkwcjogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgVW50ZXN0ZWQsIG5vIHNhbXBsZSBwaXBlbGluZSBtZW50aW9uZWQsIGFuZCBJJ3ZlIG5vIGlkZWEgd2hhdAoJICB0aGlzIHBsdWdpbiBkb2VzLCBidXQgc2luY2UgYWxsIHRoZSBwcmV2aW91cyBwb3J0cyB3b3JrIG91dCBvZgoJICB0aGUgYm94LCB0aGlzIGlzIGRlZW1lZCB0byB3b3JrIHVudGlsIGV2aWRlbmNlIGl0IGRvZXNuJ3QuCgoyMDExLTEyLTE1IDEzOjAyOjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJICBjb21wYXJlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMjo1OTo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSAgYXNmbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxNzozNjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGF2b2lkIGNyYXNoaW5nIHVwb24gZHJhaW5pbmcKCSAgLi4uIGFuZCBjbGVhbiB1cCBzb21lIHZhcmlhYmxlIGluaXQgYW5kIGRlYnVnIHN0YXRlbWVudC4KCjIwMTEtMTItMTQgMDg6NTQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTEyLTE0IDA4OjMyOjUwIC0wMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGZpeCBsZWFrIG9uIGVycm9yIGhhbmRsaW5nCgkgIENhbWVyYWJpbjIgcGFyc2VzIHdhcm5pbmcgbWVzc2FnZXMgd2l0aCBnc3RfbWVzc2FnZV9wYXJzZV93YXJuaW5nKG1lc3NhZ2UsCgkgICZlcnIsICZkZWJ1ZykgYnV0IGRvZXNuJ3QgZnJlZSBnaXZlbiBHRXJyb3IgYW5kIGRlYnVnIHN0cmluZ3MuCgkgIERvY3VtZW50YXRpb24gc2hvd3MgdGhhdCB0aGUgb3duZXJzaGlwIG9mIHRob3NlIGZpZWxkcyBpcyB0cmFuc2ZlcnJlZAoJICB0byBjYWxsZXIgKHRoZXkgYXJlIG1hcmtlZCAiW3RyYW5zZmVyIGZ1bGxdIiBpbiB0aGUgQVBJIGRvY3MpLgoKMjAxMS0xMi0xMiAxNTo1MjoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzCgkgIEZpeCBidWcgIzY2NTk4OAoKMjAxMS0xMi0xMyAxMDo0NDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTYyOTc4ZDA0NWQ1N2VlOWZlZDc1OThjMDJiOTAxN2ViOTc0ZWEzNi4KCjIwMTEtMTItMTMgMTA6MTc6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBEb24ndCB1c2UgR19UWVBFX1JFR0lTVEVSX0JPWEVEKCkgeWV0CgkgIFRoaXMgd291bGQgcmVxdWlyZSBHTGliIDIuMjYuCgoyMDExLTEyLTEyIDIwOjAxOjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogYWR2ZXJ0aXNlIGFsbCB0aGUgbmV3IFlVViBmb3JtYXRzIHdlIGNhbiBub3cgdXNlCgoyMDExLTEyLTEyIDE5OjM0OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IHJlcGxhY2UgdGhlIG5ldyBZVVYgYmxpdHRpbmcgY29kZSB3aXRoIHRoZSBuZXdlciBvdmVybGF5IGNvZGUKCjIwMTEtMTItMTIgMTQ6NTQ6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cwoKMjAxMS0xMi0xMiAxMzo1OTozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0xMi0wNSAxODo1NzowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBNYWtlIGZyYW1lc3RhdGUgYSByZWZlcmVuY2UgY291bnRlZCBib3hlZCBvYmplY3QKCSAgLi4uYW5kIGFsc28gY2xlYXIgYWxsIGV4aXN0aW5nIGZyYW1lcyB3aGVuIHJlc2V0dGluZyB0aGUgZGVjb2RlciBvciBlbmNvZGVyLgoKMjAxMS0xMi0wNSAxODo1NzowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBNYWtlIEdzdFZpZGVvRnJhbWUgYSByZWZlcmVuY2UgY291bnRlZCBib3hlZCBvYmplY3QKCSAgLi4uYW5kIGFsc28gY2xlYXIgYWxsIGV4aXN0aW5nIGZyYW1lcyB3aGVuIHJlc2V0dGluZyB0aGUgZGVjb2RlciBvciBlbmNvZGVyLgoKMjAxMS0xMi0xMiAxMDo0MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHRlbGV0ZXh0ZGVjOiBQcm9wZXJseSBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDExLTEyLTEyIDEwOjI4OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgIGR0czogQWRkICQoR1NUX0JBU0VfTElCUykgYW5kIENGTEFHUyB0byB0aGUgYnVpbGQKCSAgZHRzZGVjIG5vdyB1c2VzIEdzdEFkYXB0ZXIsIHdoaWNoIGlzIGluIGxpYmdzdGJhc2UuIEFsc28gcmVvcmRlcgoJICBDRkxBR1MgYW5kIExJQkFERC4KCjIwMTEtMTItMTEgMTY6MDc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggbWFrZSBkaXN0Y2hlY2sKCSAgU2V0IERPQ19PVkVSUklERVMsIHNvIHRoZSAtb3ZlcnJpZGVzLnR4dCBmaWxlIHdoaWNoIGlzIGFwcGFyZW50bHkKCSAgY3JlYXRlZCBhbnl3YXksIGdldHMgY2xlYW5lZCB1cCBwcm9wZXJseS4KCjIwMTEtMTItMTEgMTY6MDU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBtaW5vciBNYWtlZmlsZS5hbSBjbGVhbi11cAoJICBHU1RfQkFEX0NGTEFHUyBhbmQgR1NUX0JBRF9MSUJTIGRvbid0IGV4aXN0LgoKMjAxMS0xMi0xMSAxNToyOTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc2FibGUgZmFpbGluZyBqaWZtdXgsIGNhbWVyYWJpbjIsIGFuZCBjb2xvcnNwYWNlIHRlc3RzCgkgIGppZm11eDogZ2VuZXJhbDp0ZXN0X2ppZm11eF90YWdzOjA6IEFzc2VydGlvbiAnZW50cnktPmNvbXBvbmVudHMgPT0gMicgZmFpbGVkCgkgIGNhbWVyYWJpbjI6IHRlc3RfbXVsdGlwbGVfdmlkZW9fcmVjb3JkaW5nczowOiBnc3RfY2Fwc19nZXRfc3RydWN0dXJlOiBhc3NlcnRpb24gYEdTVF9JU19DQVBTIChjYXBzKQoJICBjb2xvcnNwYWNlOiBiYWQgbWVtb3J5IGFjY2Vzc2VzIGluIG9yYyBjb2RlIGZvciBvZGQgd2lkdGggYnVmZmVycyAoc2VlIGJ1ZyAjNjYzMjQ4KQoKMjAxMS0xMi0xMSAxNTowMzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBmaXggZ191c2xlZXAoKSBpbiBjYW1lcmFiaW4yIHRlc3QKCSAgZ191c2xlZXAoKSB0YWtlcyBhIG1pY3Jvc2Vjb25kIHZhbHVlLCBHU1RfU0VDT05EIGlzIG5hbm9zZWNvbmRzLCBzbwoJICB3ZSB3ZXJlIHNsZWVwaW5nIGZvciBtb3JlIHRoYW4gMyBtaW51dGVzIGhlcmUgaW5zdGVhZCBvZiAyMDBtcy4KCjIwMTEtMTItMTEgMDA6NTk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9nbC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTA5LTI1IDIzOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJICBtcGVncHNtdXg6IHB1dCBzdHJlYW0gaGVhZGVycyBpbnRvIG91dHB1dCBjYXBzCgkgIEJhc2ljIHZlcnNpb24gd2l0aCBvbmx5IHRoZSBzeXN0ZW0gaGVhZGVyIGFuZCB0aGUgcHJvZ3JhbQoJICBzdHJlYW0gbWFwLiBBbiBhZHZhbmNlZCB2ZXJzaW9uIGNvdWxkIGluY2x1ZGUgY29kZWMtc3BlY2lmaWMKCSAgYml0cyBsaWtlIFNQUy9QUFMgdG9vLiBUaGlzIGlzIHVzZWZ1bCBpbiBjb25uZWN0aW9uIHdpdGgKCSAgZS5nLiBtdWx0aWZpbGVzaW5rIHRvIG1ha2Ugc3VyZSBuZXcgZmlsZXMgYWx3YXlzIHN0YXJ0IHdpdGgKCSAgdGhlIHN0cmVhbSBoZWFkZXJzLgoKMjAxMS0wOS0xNiAxOTozMjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IGFkZCAiYWdncmVnYXRlLWdvcHMiIHByb3BlcnR5IHRvIGFnZ3JlZ2F0ZSBHT1BzIGludG8gYnVmZmVyIGxpc3RzCgkgIFVzZWZ1bCBpbiBjb25uZWN0aW9uIHdpdGggbXVsdGlmaWxlc2luaywgZm9yIGV4YW1wbGUsIHRvIG1ha2Ugc3VyZQoJICB0aGUgbmV3IGZpbGUgYWx3YXlzIHN0YXJ0cyB3aXRoIGEga2V5ZnJhbWUuCgoyMDExLTEyLTEwIDIwOjA4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcmVtZW1iZXIgcHJpbWFyeSB2aWRlbyBzdHJlYW0KCjIwMTEtMDgtMzEgMTk6NDA6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogcmVtZW1iZXIgd2hldGhlciBhbiBpbmNvbWluZyBidWZmZXIgaXMgYSBrZXl1bml0IG9yIG5vdAoKMjAxMS0xMi0wOSAxNzoyNTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c2VuYzogYWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBtdWx0aXN0cmVhbSBhYmlsaXR5CgkgIFRoaXMgd2lsbCBoZWxwIGVsZW1lbnRzIHRoYXQgY2Fubm90IGRlYWwgd2l0aCBtdWx0aXN0cmVhbSwKCSAgc3VjaCBhcyB0aGUgUlRQIHBheWxvYWRlci4KCSAgVGhlIGNhcHMgbm93IGRvIG5vdCBpbmNsdWRlIGEgInN0cmVhbXMiIGZpZWxkIGFueW1vcmUsIGJ1dAoJICBhICJtdWx0aXN0cmVhbSIgYm9vbGVhbiwgc2luY2Ugd2UgaGF2ZSBubyByZWFsIHVzZSBmb3Iga25vd2luZwoJICB0aGUgZXhhY3QgYW1vdW50IG9mIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTU6MTM6MTEgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkgIEFkZGluZyBvcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZWxlbWVudAoJICBBZGRpbmcgT1BVUyBSVFAgbW9kdWxlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRyYWZ0OgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaWQvZHJhZnQtc3BpdHRrYS1wYXlsb2FkLXJ0cC1vcHVzLTAwLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE3CgoyMDExLTEyLTA4IDE5OjQ3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogaW5jbHVkZSBzdHJlYW1zIGNvdW50IGluIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wOCAxODo0NToyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBwcm9wZXJseSBjcmVhdGUgY2hhbm5lbCBtYXBwaW5nIHRhYmxlcwoJICBUaGVyZSBhcmUgdHdvIG9mIHRoZW0sIHVuaW50dWl0aXZlbHkgZW5vdWdoOyB0aGUgb25lIHBhc3NlZAoJICB0byB0aGUgZW5jb2RlciBzaG91bGQgbm90IGJlIHRoZSBvbmUgdGhhdCBnZXRzIHdyaXR0ZW4gdG8gdGhlCgkgIGZpbGUuIFRoZSBmb3JtZXIgbWFwcyB0aGUgaW5wdXQgdG8gYW4gb3JkZXJpbmcgd2hpY2ggcHV0cwoJICBwYWlyZWQgY2hhbm5lbHMgZmlyc3QsIHdoaWxlIHRoZSBsYXR0ZXIgbW92ZXMgdGhlIGNoYW5uZWxzCgkgIHRvIFZvcmJpcyBvcmRlci4gU28gYWRkIGNvZGUgdG8gY2FsY3VsYXRlIGJvdGgsIGFuZCB3ZSBub3cKCSAgaGF2ZSBwcm9wZXJseSBwYWlyZWQgY2hhbm5lbHMgd2hlcmUgYXBwcm9wcmlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDggMjI6NDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0xMi0wOCAxMjo0Mjo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBvbmx5IG9mZnNldCB0aW1lc3RhbXBzIHdoZW4gbGl2ZQoJICBUaGlzIGNvZGUgaXMgdG8gc3luYyB0byBhIGxpdmUgc291cmNlIHdoZW4gdGhlcmUgaXMgYSBkZWxheQoJICBiZXR3ZWVuIHN0YXJ0IGFuZCB3aGVuIHdlIHJlY2VpdmUgdGhlIGZpcnN0IGJ1ZmZlciwgc28gaXQgZG9lcwoJICBub3QgbWFrZSBzZW5zZSBpbiBhIG5vbiBsaXZlIGNhc2UuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aGVyZSB0aGUgaW5wdXQgdGltZXN0YW1wcyBhcmUKCSAgYmFzZWQgb2ZmIHNvbWUgYXJiaXRyYXJ5IG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1NgoKMjAxMS0xMi0wOCAxMTo1MTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IG1ha2UgdGhlIGhlYWRlciBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUsIG5vdCB0aGUgYnVmZmVyCgoyMDExLTEyLTA4IDEwOjE5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEZpeCBoYW5kbGluZyBvZiBmb3JjZS1rZXl1bml0IGV2ZW50cwoKMjAxMS0xMi0wNyAwMDowNjoxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogaGVhZGVyIGNsZWFudXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAwMDowNjoxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVHJ1bmNhdGUgY2FwcyBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTExLTI4IDE5OjQ3OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZGVmYXVsdCB0byBzdGVyZW8gNDgwMDAgSHogaWYgcG9zc2libGUgd2hlbiBubyBoZWFkZXJzIHNlZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxMzo0ODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJzbmRlYzogRG9uJ3QgdXNlIHRoZSBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IG9uIGF1dG9jb252ZXJ0CgkgIEl0IHdhcyByZW1vdmVkLCBzZWUgYnVnICM1OTk0NjksICM2NjUyMDUKCjIwMTEtMTItMDcgMTM6NDY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHRoZSBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IGZyb20gYXV0b2NvbnZlcnQKCSAgSW5pdGlhbGx5IGNyZWF0aW5nIGFuIGlkZW50aXR5IGVsZW1lbnQgdG8gZm9yd2FyZCBzZXJpYWxpemVkCgkgIGV2ZW50cyBkb3duc3RyZWFtIGJlZm9yZSBhbnkgY2FwcyBhcmUga25vd24gaXMgYnJva2VuIGJlaGF2aW91ci4KCSAgU2VyaWFsaXplZCBldmVudHMgc2hvdWxkIG9ubHkgYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0gaWYgdGhlCgkgIGNhcHMgYXJlIGFscmVhZHkga25vd24sIG90aGVyd2lzZSBhdXRvcGx1Z2dlcnMgYW5kIG90aGVyIGVsZW1lbnRzCgkgIHVzaW5nIHBhZC1ibG9ja3Mgd2lsbCBmYWlsLgoJICBUaGlzIGJlaGF2aW91ciBhbHNvIGRvZXNuJ3Qgd29yayBhbnltb3JlIGFmdGVyIGJhc2V0cmFuc2Zvcm0KCSAgd2FzIGZpeGVkIHRvIHF1ZXVlIHNlcmlhbGl6ZWQgZXZlbnRzIHVudGlsIHRoZSBjYXBzIGFyZSBrbm93bgoJICBhcyBhIHJlc3VsdCBvZiBmaXhpbmcgYnVnICM2NTk1NzEuCgkgIFNlZSBidWcgIzU5OTQ2OSwgIzY2NTIwNS4KCjIwMTEtMTItMDYgMTY6Mjc6MjUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRG8gbm90IG5vdCBza2lwIHN0YXJ0Y29kZSB3aGVuIG5lZWRlZAoJICBGaXg6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU2MzEKCjIwMTEtMTItMDYgMDg6NTU6MTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZmlyc3QgdmlkZW9fcGFja2V0X2hlYWRlciBkb2Vzbid0IHN0YXJ0IHdpdGggcmVzeW5jX21hcmtlcgoKMjAxMS0xMi0wNiAwODo1MzowNyArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZXR1cm4gTk9fUEFDS0VUIGlmIG5lZWRlZAoKMjAxMS0xMi0wNiAwODozMToxNCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggYW4gaXNzdWUgaW4gY2hlY2sgcmVzeW5jIG1hcmtlcgoKMjAxMS0xMi0wNiAwODoyNTo1OSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggYW4gaXNzdWUgaW4gZmluZGluZyB0aGUgbGFzdCB2aWRlbyBwYWNrZXQgaW4gdm9wCgoyMDExLTEyLTA2IDA4OjIxOjE5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGluY2x1ZGUgcmVzeW5jIG1hcmtlciBpbiB2aWRlbyBwYWNrZXQgc2l6ZQoKMjAxMS0xMi0wNiAwODoxOTowNSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBzY2FuIG5leHQgcmVzeW5jIG1hcmtlciBhZnRlciBjdXJyZW50IG9uZQoKMjAxMS0xMi0wNiAwODoxNzozOCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggPCAwIGlzc3VlIG9mIGd1aW50IGluIG1wZWc0IHBhcnNlcgoJICBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIHJldHVybnMgYSBndWludCwgbm90IGEgZ2ludCwgd2hpY2gKCSAgZXhwbGFpbnMgdGhlIGlzc3VlIHdlIHNvbWV0aW1lIGdldCB1c2luZyA8IDAgaW5zdGVhZCBvZiA9PSAtMTsKCjIwMTEtMTItMDYgMDg6MTU6NDYgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IHBhdHRlcm4vbWFzayBvZiByZXN5bmNfbWFya2VyIHBhcnNpbmcgb2YgbXBlZzQKCjIwMTEtMTItMDYgMTM6MDY6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBoYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIFNlbmQgU1BTL1BQUyBvbiBmb3JjZSBrZXkgdW5pdCBldmVudHMuIFVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHNlcnZpbmcgSExTCgkgIHdpdGhvdXQgdHJhbnNjb2RpbmcuCgoyMDExLTEyLTA2IDEyOjU1OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggY29tcGlsZSB3YXJuaW5ncyBpbiBnc3RtcGVnNHBhcnNlci5jCgoyMDExLTEyLTA1IDExOjU2OjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCBtb3JlIGZpbGVzIHRvIC5naXRpZ25vcmUKCjIwMTEtMTItMDUgMTE6NTA6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2UgZmFzdGVyIHBhcnNpbmcgdmFyaWFudCB3aGVuIGlucHV0IGlzIHBhY2tldGl6ZWQKCSAgUmVkdWNlcyBsYXRlbmN5IGFuZCBjcHUgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTU4NAoKMjAxMS0xMi0wNSAxMTo0Nzo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVmFyaWFudCBvZiBfaWRlbnRpZnlfbmFsdSB3aXRob3V0IGNoZWNrcwoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgdGhlIGNhbGxlciAqa25vd3MqIHRoYXQgdGhlIHByb3ZpZGVkCgkgIGlucHV0IGNvbnRhaW5zIGEgd2hvbGUgTkFMVSBhbmQgY2FuIHRoZXJlZm9yZSBhdm9pZDoKCSAgKiB0aGUgZXhwZW5zaXZlIGNoZWNrcyBmb3IgdGhlIG5leHQgc3RhcnQgY29kZSAod2hpY2ggd29uJ3QgYmUgcHJlc2VudCkKCSAgKiBkZWxheWluZyB0aGUgaW5wdXQgcGFyc2luZyAoc2luY2Ugd2Ugd291bGQgbmVlZCB0aGUgbmV4dCBpbmNvbWluZyBOQUxVCgkgIGluIG9yZGVyIGZvciB0aGUgcGFyc2luZyBjb2RlIHRvIGRldGVjdCB0aGUgbmV4dCBzdGFydCBjb2RlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NTg0CgoyMDExLTEyLTA1IDEzOjA5OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmbG93IHNsaWNlIG5hbCBwcm9jZXNzaW5nCgoyMDExLTEyLTA1IDEyOjU3OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3B0aW1pemUgc2xpY2UgbmFsIHByb2Nlc3NpbmcKCSAgT25seSBtaW5pbWFsIHNsaWNlIGluZm8gaXMgbmVlZGVkIGhlcmUgdG8gZGV0ZXJtaW5lIHJlYWwgZnJhbWUgc3RhcnQsCgkgIHNvIG5vIG5lZWQgdG8gcGFyc2UgZXh0ZW5zaXZlbHkuCgkgIEZpeGVzICM2NjU0MTguCgoyMDExLTEyLTA1IDEyOjUzOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogdW5icmVhayBoMjY0IHNsaWNlIGhlYWRlciBwYXJzaW5nCgkgIC4uIGludHJvZHVjZWQgYnkgcmVmYWN0b3JpbmcgaW4gY29tbWl0IDE3NzQ1MWM5MjE2ZjRlMzk1OWU3MzU4Njc1ZmJiOTczMWQyYzgxYTIKCjIwMTEtMTItMDEgMTg6Mjg6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJICBwdnIyZDogUG9ydCB0byAwLjExCgkgIEhhbmRsZXMgR3N0VmlkZW9NZXRhIGFuZCBHc3RWaWRlb0Nyb3BNZXRhCgkgIFByb3ZpZGVzIEdzdEJ1ZmZlclBvb2wKCSAgTmV3IEdzdFBWUk1ldGEgdG8gaGFuZGxlIHRoZSB3cmFwcGVkIFBWUiBtZW1fc3JjCgoyMDExLTEyLTAyIDE3OjUzOjIzICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRml4IHJlZmVyZW5jZSBjb3VudGluZyBvZiBjb2RlY19kYXRhCgoyMDExLTEyLTA1IDA4OjU2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogSW1wbGVtZW50IGl0ZXJhdGVfaW50ZXJuYWxfbGlua3MgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQgYW5kIHNyY3BhZAoKMjAxMS0xMS0yOCAxOTozODozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGd1YXJkIGFnYWluc3QgZGVjb2RpbmcgMCBzYW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDIgMTE6NDY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgWFZJRCBBUEkgPj0gNC4zCgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGVuY29kaW5nIHRoZSBzaW1wbGUgcHJvZmlsZQoJICB3aXRoIGxldmVscyA0YSwgNSBvciA2LgoJICBGaXhlcyBidWcgIzY2NTM3OC4KCjIwMTEtMTItMDEgMTY6NTk6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogdXNlIEdzdFNhbXBsZSBmb3IgdGhlIHByZXZpZXcKCjIwMTEtMTItMDEgMTA6NTQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBEb24ndCBhZGQgdGhlIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIHZpZGVvL3gteHZpZCBjYXBzCgoyMDExLTEyLTAxIDA5OjU0OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkZW5jOiBBZGQgcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcyBhbmQgbmVnb3RpYXRlIHRoZW0gd2l0aCBkb3duc3RyZWFtCgkgIFN0aWxsIGtlZXAgdGhlIHByb2ZpbGUgcHJvcGVydHkgdG8gc2VsZWN0IHByb2ZpbGUvbGV2ZWwgaWYgdGhlcmUKCSAgYXJlIG5vIGRvd25zdHJlYW0gY29uc3RyYWludHMuCgkgIEZpeGVzIGJ1ZyAjNjUyMjYxLgoKMjAxMS0xMi0wMSAwOTozOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEFkZCBzdXBwb3J0IGZvciBsZXZlbHMgNGEvNS82IG9mIHRoZSBzaW1wbGUgcHJvZmlsZQoKMjAxMS0xMi0wMSAwOTowMjo0NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGxldCB1cHN0cmVhbSBQQVIgb3ZlcnJpZGUgaW4tc3RyZWFtIFBBUgoKMjAxMS0xMS0yMyAxODoyNjo0NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmV3b3JrIFBBUiBwYXJzaW5nCgkgIEFuZCBpbiB0aGUgcHJvY2VzcyByZWZhY3RvciBfdXBkYXRlX3NyY19jYXBzIGEgYml0CgoyMDExLTExLTE2IDAwOjAzOjEyIC0wNTAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZXNwZWN0IHBpeGVsLWFzcGVjdC1yYXRpbwoJICBQYXJzZSBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gdnVpIGluZm9ybWF0aW9uLgoKMjAxMS0xMS0zMCAyMjoxMjoyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNwYWNlOiB3aGl0ZXNwYWNlIGNsZWFudXBzCgoyMDExLTExLTMwIDIyOjExOjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICB3YXZlc2NhcGU6IGFsc28gYWRkIGNvbG9ybW9kZXMgbGlrZSBpbiBzcGFjZXNjb3BlCgoyMDExLTExLTMwIDE1OjEzOjA0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHVwZGF0ZSBSRUFETUUKCjIwMTEtMTEtMzAgMTQ6MjA6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzY29wZTogYWRkIGNvbG9yLW1vZGVzCgkgIEluIGNvbG9ybW9kZSB3ZSBzcGxpdCB0aGUgc2lnbmFsIGluIGxvdyxtaWQsaGlnaCBmcmVxdWVuY3kgcGFydHMgYW5kIGRyYXcgdGhlbQoJICBzZXBhcmF0ZWx5IGludG8gcmVkLCBncmVlLCBibHVlIGNvbG9yIGNoYW5uZWxzLgoKMjAxMS0wOC0zMCAxNDozNzo0MiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgcmVwbGFjZSBwcm9wc2V0X211dGV4IHdpdGggR1NUX09CSkVDVF9MT0NLCgoyMDExLTExLTI1IDIyOjMyOjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSAgYXVkaW92aXN1YWxpemVyczogc3RyZWFtbGluZSB0aGUgbGluZV9hYSBjb2RlCgkgIEhhdmUgYSByZXVzYWJsZSBkb3RfYWEgY29kZSBhbmQgcmV1c2UgaW4gdGhlIGxpbmUgZHJhd2luZy4KCjIwMTEtMTEtMzAgMTA6MzU6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzbXV4OiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIC1iYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ0ZMQUdTLCBmaXggb3JkZXIgb2YgTElCUy4KCjIwMTEtMDgtMjEgMTE6MDE6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgSGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cyBvdXRwdXR0aW5nIFBBVCBhbmQgUE1UIHdoZW4gYWxsX2hlYWRlcnM9VFJVRQoKMjAxMS0xMS0yOSAyMzo0MToyMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBhbGxvdyB0byBidWlsZCBhZ2FpbnN0IDIuMy4xCgoyMDExLTExLTI5IDE4OjE4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBtcGVnNHZpZGVvcGFyc2UgZGlyZWN0b3J5IHRvIENSVUZUX0RJUlMKCjIwMTEtMTEtMjkgMTk6MTE6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZml4IGZvciBtb3ZlZCBpbnRlcmZhY2VzCgoyMDExLTExLTIyIDA5OjQ3OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKS4KCjIwMTEtMTEtMjIgMDk6NDc6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlbmFtZSByZWZfcGljX2xpc3RfcmVvcmRlcmluZygpIHRvIHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKS4KCSAgVXBncmFkZSB0byBjdXJyZW50IEFWQyBzcGVjaWZpY2F0aW9uLgoKMjAxMS0xMS0yOSAxMjoyMDo1MSArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHJlY2FsY3VsYXRlIGFkanVzdCBpZiBkaWZmZXJlbmNlIGlzIG5lZ2F0aXZlCgkgIE9uZSBvZiBteSBkdmRzIGp1bXAgb24gc29tZSBwb3NpdGlvbiBhbmQgbWlzcyBhYm91dCAxIG1pbnV0ZSBvZiBzdHJlYW0uCgkgIFRoZSByZWFzb24gd2FzIG1wZWcgdGltZXN0YW1wcy4gT24gc29tZSBwb3NpdGlvbiBzY3IgZGlmZmVyZW5jZSBpcyBuZWdhdGl2ZS4KCSAgSXQgcHJvZHVjZWQgbmVnYXRpdmUgdGltZXN0YW1wcy4gU2luY2UgaXQgd2FzIGNvbnZlcnRlZCB0byB1bnNpZ25lZCB2YWx1ZSwKCSAgZ3N0cmVhbWVyIHRpbWVzdGFtcHMgd2FzIGludmFsaWQuIEluc3RlYWQgb2YgaW5jcmVhc2luZyBtcGVnIHRzLAoJICB0aGV5IHdhcyBkZWNyZWFzaW5nIHRpbGwgaXQgc3RhcnRlZCB0byBiZSBwb3NpdGl2ZS4KCSAgVGhlIGp1bXAgaW4gdGltZXN0YW1wcyBjYXVzZWQgbXBlZzJkZWMgdG8gc2tpcCBmcmFtZXMgdG8gbWFrZSBRb1MgaGFwcHkuCgkgIFRoaXMgcGF0Y2gganVzdCBtYWtlIGRpZmYgdW5zaWduZWQgdG8gYXZvaWQgbmVnYXRpdmUgdmFsdWVzLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYxMTUKCjIwMTEtMTEtMjkgMTI6MTI6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFBhc3MgdGhlIGFsbC1oZWFkZXJzIGZpZWxkIG9mIHRoZSBmb3JjZS1rZXktdW5pdCBldmVudCB0byB0aGUgc3ViY2xhc3MKCjIwMTEtMTEtMjkgMTI6MTI6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogSW1wbGVtZW50IGZ1bGwgc3VwcG9ydCBmb3IgdGhlIG5ldyBmb3JjZS1rZXktdW5pdCBldmVudAoJICBJbmNsdWRpbmcgc3VwcG9ydCBmb3IgdGhlIHJ1bm5pbmctdGltZSBhbmQgY291bnQgZmllbGRzLgoKMjAxMS0xMS0yOSAwOTozMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBVc2UgbmV3IGZvcmNlLWtleXVuaXQgZXZlbnQgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxMS0xMS0yOSAwOToxODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGp1c3RpbmcgcGFkZGluZyBpcyBub3QgcmVxdWlyZWQgZm9yIC1iYWQgbGlicmFyaWVzCgoyMDExLTExLTI4IDE5OjQ4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1vdmUgc29tZSBmaWVsZHMgdG8gdGhlIHByaXZhdGUgcGFydCBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0CgoyMDExLTExLTI4IDE5OjM2OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1ha2UgaGVhZGVycyBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgcHVzaGluZyBkb3duc3RyZWFtCgkgIFRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uLCBldGMgb2YgdGhlIGhlYWRlcnMgaGFzIHRvIGJlIGNoYW5nZWQuCgoyMDExLTExLTI4IDE5OjM1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFB1c2ggdGhlIGRvd25zdHJlYW0gZm9yY2Uta2V5ZnJhbWUgZXZlbnQgYWZ0ZXIgdGhlIG5leHQga2V5ZnJhbWUKCSAgRXZlbiBpZiB0aGUgY29ycmVzcG9uZGluZyBHc3RWaWRlb0ZyYW1lIGRvZXNuJ3QgaGF2ZSB0aGUgaXNfc3luY19wb2ludAoJICBmbGFnIHNldC4KCjIwMTEtMTEtMjggMTk6Mjk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRG9uJ3QgcHVzaCBhbiB1cHN0cmVhbSBmb3JjZS1rZXl1bml0IGV2ZW50IGRvd25zdHJlYW0KCjIwMTEtMTEtMjUgMTE6NDg6MDggKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIGFsbC1oZWFkZXJzIGZpZWxkIG9mIHRoZSBmb3JjZS1rZXlmcmFtZSBldmVudAoJICBTZWUgYnVnICM2MDc3NDIuCgoyMDExLTExLTI5IDA5OjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggc2V0LWJ1dC1ub3QtdXNlZC12YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGdzdGthdGV0aWdlci5jOjExNTY6MTU6IGVycm9yOiB2YXJpYWJsZSAnaGVpZ2h0JyBzZXQgYnV0IG5vdCB1c2VkCgkgIGdzdGthdGV0aWdlci5jOjExNTY6ODogZXJyb3I6IHZhcmlhYmxlICd3aWR0aCcgc2V0IGJ1dCBub3QgdXNlZAoKMjAxMS0xMS0yOSAwOToxNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtaW5vciBmaXhlcwoJICBDb25zdC1pZnkgb25lIG1vcmUgVkxDIHRhYmxlLiBGaXggc3BlbGxpbmcgb2YgJ2h5YnJpZCcuCgkgIE5vIG5lZWQgdG8gZXhwbGljaXRseSBjYWxsIGVuc3VyZV9kZWJ1Z19jYXRlZ29yeSgpIGV2ZXJ5d2hlcmUsCgkgIHRoYXQgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgZnJvbSBHU1RfTE9HKCkgYW5kIGZyaWVuZHMKCSAgdmlhIEdTVF9DQVRfREVGQVVMVC4KCjIwMTEtMTEtMDggMTA6NDQ6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBjb2RlY3BhcnNlcjogbXBlZzQ6IExvb2sgZm9yIHJlc3luYyBjb2RlIGluIF9tcGVnNF9wYXJzZQoJICBUaGlzIHdheSB0aGUgQVBJIGlzIHNpbXBsZXIgYW5kIHVzZXJzIGNhbiBjYWxsIDEgc2luZ2xlIGZ1bmN0aW9uIGZvciBwYWNrZXQKCSAgZGV0ZWN0aW9uLgoKMjAxMS0wOS0yOSAxNDozNzo1OSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQcm9wZXJseSBoYW5kbGUgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBGaXggIzY2MDIzNAoKMjAxMS0wOS0yNiAxNjo1ODo1OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtcGVnNHBhcnNlciBsaWJyYXJ5CgoyMDExLTA5LTI2IDEwOjM5OjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuaDoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IE1vdmUgdG8gdGhlIHZpZGVvcGFyc2VycyBwbHVnaW4KCSAgUmVuYW1lIGEgZmV3IHZhcmlhYmxlcyB0byB1c2UgdGhlIHNhbWUgY29udmVudGlvbiBhcyBvdGhlcnMgZWxlbWVudHMgaW4gdGhpcwoJICBwbHVnaW4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTExLTAyIDA5OjE0OjQyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IERlY2xhcmUgcHJpdmF0ZSBhcnJheXMgYXMgc3RhdGljIGFsbCBhcm91bmQKCjIwMTEtMDktMjEgMTk6NDk6MzYgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBJbXBsZW1lbnQgYW4gTXBlZzQgcGFydCAyIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wOS0yMSAxOTo0MDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogTW92ZSBzaGFyZWQgY29kZSB0byBhIHBhcnNlciB1dGlscyBmaWxlCgoyMDExLTA5LTI5IDE2OjI1OjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2djb25maWc6IHJlbW92ZSByZWZlcmVuY2VzIHRvIGNvZGVjcGFyc2VycyBmcm9tIC1iYWQucGMuaW4KCjIwMTEtMTEtMjggMjM6MjA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIzOjIwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnNzUyMWI1OTdmNGRjNDlkOGQxNjhmMzY4ZjBlN2ViYWY5OGE3MjE1NicgaW50byAwLjExCgoyMDExLTExLTI4IDIzOjIwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnMjZkNmFkZDk0NTdmMDBjZThlYzEzODQ0MzY4NDY2ZjBlMzgxNmU1ZCcgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYwoKMjAxMS0xMS0yOCAxODo0Nzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiB1c2UgZmFzdGVyIGNhc3QgbWFjcm8KCSAgVXNlIGNhc3QgbWFjcm8gd2l0aG91dCB0eXBlIGNoZWNrcyB3aGVuIHdlIGtub3cgaXQgc2hvdWxkIHdvcmsuCgoyMDExLTExLTI4IDE4OjQzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IExpbmsgZWxlbWVudHMgZGlyZWN0bHkgdG8gdXNlIGZhc3RlciB2ZXJzaW9uCgkgIGZmbXBlZ2NvbG9yc3BhY2UgYW5kIHZpZGVvc2NhbGUgc2hvdWxkIGFsd2F5cyBsaW5rIHN1Y2Nlc3NmdWxseSwgdXNlCgkgIHRoZSBmYXN0IHBhZCBsaW5raW5nIHZlcnNpb24gaW5zdGVhZCBvZiBjYWxsaW5nIHRoZSBnZW5lcmljIGhlbHBlcgoJICBmdW5jdGlvbi4KCjIwMTEtMTEtMjggMTY6MzU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBtaWNybyBvcHRpbWl6ZSBsaW5raW5nIHNvbWUgbW9yZQoKMjAxMS0wOS0yOSAyMjo0MzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAga2F0ZTogc3VwcG9ydCBmb3IgcmVuZGVyaW5nIG9uIHNldmVyYWwgWVVWIGZvcm1hdHMKCSAgVGhpcyBzcGVlZHMgdXAgcmVuZGVyaW5nIGEgZmFpciBiaXQgYnkgbm90IHJlcXVpcmluZyBjb2xvcnNwYWNlCgkgIGNvbnZlcnNpb24sIHdoZXRoZXIgdGhlcmUgaXMgYW55dGhpbmcgdG8gb3ZlcmxheSBvciBub3QuCgkgIFRoZSBibGVuZGluZyBjb2RlIHdhcyBuaWNrZWQgZnJvbSB0ZXh0b3ZlcmxheS4gSSB3b3VsZCB0aGluawoJICB0aGlzIG1pZ2h0IGJlIGEgaGVscGZ1bCB0aGluZyB0byBwdXQgaW4sIHNheSwgbGliZ3N0dmlkZW8gYXQKCSAgc29tZSBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUyOAoKMjAxMS0wOC0xOCAxMTozOTozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggbnVtYmVyIG9mIGJ5dGVzIHJlYWQgZm9yIGZpeGVkIHRpbWUgaW5jcmVtZW50CgkgIFRoZSBzcGVjIEkgZm91bmQgc2F5cyAiMTYgYml0cyIuCgkgIFRoZSBleGlzdGluZyBjb2RlIHVzZWQgbG9nMihzb21ldmFsdWUpKzEuCgkgIGZmbXBlZyB1c2VzIGxvZzIoc29tZXZhbHVlLTEpKzEuCgkgIFRoZSBjb2RlIG5vdyB1c2VzIGxvZzIoc29tZXZhbHVlLTEpKzEsIGFuZCB0aGlzIG1ha2VzIGl0IHdvcmsgd2l0aAoJICBzb21lIHNhbXBsZSB2aWRlbyB3aXRob3V0IGJyZWFraW5nIGFub3RoZXIgc2FtcGxlLgoJICBOb3csIEknbSBmYXIgZnJvbSBjZXJ0YWluIEkndmUgZ290IHRoZSByaWdodCBzcGVjLCBJIGZvdW5kIGl0IGJ5CgkgIHNlYXJjaGluZyB0aGUgaW50ZXJuZXQsIHNvLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ2NjYKCjIwMTEtMTEtMjggMTU6MTA6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogVHJ5IHRvIGFkZCBhbGwgc3RyZWFtcyBlYXJseQoJICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gc2lnbmFsIG5vLW1vcmUtcGFkcyB0byBhdm9pZCBoaXR0aW5nCgkgIHRoZSBkZWNvZGViaW4yIG92ZXJydW4uCgoyMDExLTA5LTI2IDEyOjQzOjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGhhbmRsZSBwYWRzIHdpdGggbm8gZGF0YQoJICBTb21lIHN0cmVhbXMgZGVjbGFyZSBQSURzIGJ1dCB3aWxsIG5vdCBzZW5kIGRhdGEgZm9yIHRoZW0uCgkgIEVuc3VyZSB3ZSB0aW1lIG91dCBvbiB0aG9zZSwgYW5kIGJvdGggc2VuZCBuZXcgc2VnbWVudHMgdG8KCSAga2VlcCB0aGVpciB0aW1lIHN5bmNocm9uaXplZCB3aXRoIHRoZSByZXN0LCBhbmQgZG8gbm90IHdhaXQKCSAgZm9yZXZlciBiZWZvcmUgZGVjaWRpbmcgdG8gc2lnbmFsIG5vLW1vcmUtcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTkyNAoKMjAxMS0wOS0yNiAxMjoxNjozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBhcHByb3ByaWF0ZQoJICBXZSB0cmFjayBzdHJlYW1zIGZvciB3aGljaCBhIGRhdGEgY2FsbGJhY2sgaXMgc2V0IChhbmQgZm9yIHdoaWNoCgkgIHBhZHMgd2lsbCBiZSBhZGRlZCBvbmx5IHdoZW4gZGF0YSBpcyByZWNlaXZlZCksIGFuZCBzaWduYWwKCSAgbm8tbW9yZS1wYWRzIHdoZW4gdGhlIGxhc3QgcGFkIGlzIGFkZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTI0CgoyMDExLTA5LTA1IDE3OjQwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IHRha2UgaW50byBhY2NvdW50IG9mZnNldCBvZiBmaXJzdCBidWZmZXIKCSAgVGhpcyBmaXhlcyBwbGF5YmFjayB3aGVuIHRoZSBzb3VyY2Ugc3RhcnRzIGxhdGVyIHRoYW4gdGhlIHBsYXliYWNrCgkgIHBpcGVsaW5lLCBhbmQgd2hlbiBhIHNvdXJjZSBkcm9wcyBmb3IgYSB3aGlsZSB0aGVuIHJlc3RhcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3Nzk0CgoyMDExLTA5LTAzIDE0OjM3OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggc29tZSBtb3JlIHZpZGVvIGZyZWV6aW5nCgkgIFRoZXJlIHdhcyBhIHNlY29uZCB0aHJlc2hvbGQsIHdoaWNoIGFwcGFyZW50bHkgbmVlZHMgdG8gYmUgc21hbGxlcgoJICB0aGFuIHRoZSBmaXJzdCwgdGhvdWdoIEknbSBub3QgY2VydGFpbiBvZiBpdCBhcyBJIGRvbid0IHVuZGVyc3RhbmQKCSAgeWV0IHRoaXMgbmVzdCBvZiB3dGYgdGhhdCBpcyB0aGUgbXBlZyBkZW11eGVyIHRpbWluZyBsb2dpYy4KCSAgRml4ZXMgdmlkZW8gZnJlZXppbmcgb24gb25lIChjb3JydXB0ZWQpIE1QRUcgc2FtcGxlLiBJdCB3b3VsZAoJICBwcmV2aW91c2x5IG5ldmVyIHRoaW5rIGl0IHdhcyBvdXQgb2YgdGhlIGRpc2NvbnRpbnVpdHksIGFuZCB3b3VsZAoJICBwdXNoIGJ1ZmZlcnMgd2l0aCBubyB0aW1lc3RhbXAuCgkgIE5vdyB0aGlzIHRvb2sgbWUgbW9yZSB0aGFuIGEgZGF5J3MgcG9raW5nIGF0IHRoZSB0aGluZywgZm9yIGp1c3QKCSAgb25lIGNvbnN0YW50IGNoYW5nZSwgYW5kIEknbSBzY2FyZWQgdG8gaGF2ZSB0byB0b3VjaCB0aGlzIGFnYWluIDpTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU4MDQKCjIwMTEtMDgtMzAgMTQ6NTA6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogY2F0Y2ggc21hbGxlciBQVFMgZGljb250aW51aXRpZXMKCSAgSW4gYSB0ZXN0IHN0cmVhbSwgSSBnZXQgb25lIGJ1ZmZlciB3aXRoIGEgUFRTIG9mIGFib3V0IDE1IHNlY29uZHMKCSAgaW4gdGhlIGZ1dHVyZSBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgb25lLCBhbmQgbmV4dCBidWZmZXJzIHdpdGgKCSAgdGltZXN0YW1wcyBjb250aW51aW5nIHdoZXJlIHRoZSBvcmlnaW5hbCBvbmVzIGxlZnQgb2ZmLgoJICBUaGlzIGNhdXNlZCB0aGUgc2luayB0byB3YWl0IDE1IHNlY29uZHMgdG8gZGlzcGxheSB0aGUgZnJhbWUgd2hpbGUKCSAgbW9yZSBmcmFtZXMgcXVldWVkIHVwLCBhbmQgdGhlbiBkdW1wIGFsbCB0aGUgc3Vic2VxdWVudCBmcmFtZXMgYXMKCSAgdGhleSAiYXJyaXZlZCB0b28gbGF0ZSIuCgkgIE1heWJlIHRoYXQgdGhyZXNob2xkIHNob3VsZCBiZSBtYWRlIGNvbmZpZ3VyYWJsZSwgYnV0IGZvciBub3csCgkgIG1ha2UgaXQgbW9yZSBzbWFsbGVyIHRvIGNhdGNoIG1vcmUgb2YgdGhlc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU4MDQKCSAgTm9uIEFWIHN0cmVhbXMga2VlcCB1c2luZyB0aGUgbGFyZ2VyIHRocmVzaG9sZCAoMTAgbWludXRlcyksIGFzCgkgIHN1YnRpdGxlcyBtYXkgYXJyaXZlIG9ubHkgZXZlcnkgc28gb2Z0ZW4uCgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTAtMDYgMTc6NDM6MTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBhZGQgV1NBU3RhcnR1cCBhbmQgV1NBQ2xlYW51cCBvbiBXaW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMDk4CgoyMDExLTExLTI3IDIwOjI0OjM5ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZml4IGZvcm1hdCB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTI3IDIzOjMzOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yNCAxMzo0OToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogZXh0cmFjdCBJRDMgdGFncyBlbWJlZGRlZCBpbiBJRDMgY2h1bmtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ3MjUKCjIwMTEtMTEtMjYgMTU6Mzc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaAoKMjAxMS0xMS0yNSAyMzoxMTozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBvcGVuY3Y6IHBvcnQgYmFzZWNsYXNzIHRvIDAuMTEKCjIwMTEtMTEtMjUgMTE6NDE6MTkgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBGaXhpbmcgIlVudXNlZCB2YXIiIGNvbXBpbGluZyBlcnJvciBmb3Igb3B1cyBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE1CgoyMDExLTExLTI1IDE0OjAwOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzZW5jOiBvbmx5IHVzZSBtb25vIHN0cmVhbXMgZm9yID4gMiBjaGFubmVscwoJICBJJ20gZ2V0dGluZyBvZGQgcmVzdWx0cyB3aXRoIHBhY2tpbmcgc3RyZWFtcyBpbnRvIHN0ZXJlbwoJICBzdHJlYW1zLCBhbmQgdXNpbmcgb25seSBtb25vIHN0cmVhbXMgaXMgZW5vdWdoIGluIGFsbCBjYXNlcy4KCjIwMTEtMTEtMjUgMTI6NDc6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm9ybWF0aW9uIGFib3V0IGNoYW5uZWwgbWFwcGluZwoKMjAxMS0xMS0yNSAxMjo0Njo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiByZW1vdmUgZGVhZCBhc3NpZ21lbnRzCgkgIFdlIG5vdyBvbmx5IGtlZXAgYSByZWYgdG8gdGhlIGhlYWRlcnMgZm9yIGxhdGVyIHJldXNlLgoKMjAxMS0xMS0yNSAxMjo0MDozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBjYXVzZSB0aGUgZGVjb2RlciB0byBhcHBseSB0aGUgY2hhbm5lbCBtYXBwaW5nIGFnYWluCgkgIFNpbmNlIHdlIGFscmVhZHkgcmVvcmRlciBjaGFubmVscywgd2UgZG8gbm90IHdhbnQgdG8gd3JpdGUgdGhhdAoJICByZW9yZGVyaW5nIGluIHRoZSBoZWFkZXIsIG9yIHRoZSBkZWNvZGVyIHdpbGwgZG8gaXQgYWdhaW4uCgoyMDExLTExLTI1IDEyOjM5OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGJvZ3VzIGFzc2VydGlvbgoKMjAxMS0xMS0yNSAxNTo0OTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3Igdm9hbXJ3YmVuYwoKMjAxMS0xMS0yNSAxMjo0ODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmFhYy9nc3RmYWFjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDExLTExLTI1IDExOjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHNvbWUgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDExLTExLTI1IDExOjM2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogdXNlIG5ldyBiYXNldmlkZW9kZWNvZGVyIEFQSSB0byBkcm9wIGZyYW1lcyBhbmQgZ2V0IFFvUyBtZXNzYWdlcyBwb3N0ZWQKCjIwMTEtMTEtMjMgMjA6MDM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIEFQSSB0byBkcm9wIGEgZnJhbWUgYW5kIHBvc3QgYSBRb1MgbWVzc2FnZSBvbiB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMTcKCSAgQVBJOiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2Ryb3BfZnJhbWUoKQoKMjAxMS0wOC0zMCAyMzozOTozNiAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvZHJpMl93cy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ19kZWZzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX3R5cGVzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvcHZyMmQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzZXh0Lmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvd3NlZ2wuaDoKCSAgQWRkIHB2cnZpZGVvc2luayBlbGVtZW50CgkgIFBWUlZpZGVvU2luayB1c2VzIFBWUjJEIGxpYnJhcnkgdG8gYmxpdCBpbWFnZXMuCgkgIEF1dGhvcjogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCSAgQXV0aG9yOiBMdWNpYW5hIEZ1amlpIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCjIwMTEtMTEtMjQgMjE6NTI6NTUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIHVzYWdlIGluIHBhcnNlciB0ZXN0IGhlbHBlcgoJICBGaXhlcyBwcmV2aW91cyBjb21taXQ7IHVzZXJzIGNhbiBjYWxsIHRoaXMgd2l0aCBOVUxMIGNhcHMuCgoyMDExLTExLTI0IDIxOjQyOjM5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMS0xMS0yNCAxOTowMzoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGFhLWxpbmUgY29kZSBhbmQgdXNlciBmb3Igd2F2ZS9zcGFjZS1zY29wZQoKMjAxMS0xMS0yNCAxMzozODo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IHByZS1za2lwIGFuZCBvdXRwdXQgZ2FpbiBhcmUgbGl0dGxlIGVuZGlhbiwgcmVtb3ZlIHJlbWluZGVyIG5vdGUKCjIwMTEtMTEtMjQgMTM6Mjk6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IG11bHRpY2hhbm5lbCBzdXBwb3J0CgoyMDExLTExLTIzIDE3OjQ5OjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogc3dpdGNoIHRvIG11bHRpc3RyZWFtIEFQSQoJICBJdCdzIHZlcnkgc2ltaWxhciB0byB0aGUgYmFzaWMgQVBJLCBhbmQgaXMgYSBzdXBlcnNldCBvdCBpdCwKCSAgd2hpY2ggd2lsbCBhbGxvdyBlbmNvZGluZyBhbmQgZGVjb2RpbmcgbW9yZSB0aGFuIDIgY2hhbm5lbHMuCgoyMDExLTExLTIzIDE3OjMyOjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogc2h1ZmZsZSBzdXBwb3J0ZWQgc2FtcGxlIHJhdGVzIHRvIGZhdm9yIDQ4MDAwCgoyMDExLTExLTIzIDE2OjM2OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiByZW1vdmUgdXNlbGVzcyBzZXR1cCBmaWVsZAoKMjAxMS0xMS0yNCAxMjowMTo0OCArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBwb3J0IHRvIDAuMTEKCSAgVW5pdCB0ZXN0cyBtaXNzaW5nIGZvciBub3cuCgoyMDExLTExLTI0IDExOjU5OjE5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IHBvcnQgdG8gMC4xMQoJICBPbmx5IHRvIGZpeCB0aGUgYnVpbGQgcmVhbGx5IChndGstZG9jIGlzIHRyeWluZyB0byBwaWNrIHVwIHRoZSB1bmJ1aWxkYWJsZQoJICBsaWIpLiBOb3QgdGVzdGVkIGF0IGFsbCAoYnV0IHByZXR0eSB0cml2aWFsIGNhc2UgYW55d2F5cykuCgoyMDExLTExLTAyIDEzOjI1OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IHdpZHRoL2hlaWdodCBtaXNtYXRjaGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzgKCjIwMTEtMTEtMjQgMTA6MjY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgdGhlIHNpbmtwYWQgdGVtcGxhdGUgY2FwcyBhcyBhIGZhbGxiYWNrLCBub3QgdGhlIHNyY3BhZCBvbmVzCgoyMDExLTExLTI0IDEwOjE0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowOTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA0OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDAxOjU2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiByZW1vdmUgaXJhZGlvLSogcHJvcGVydGllcwoJICBTaG91bGQgc2VuZCB0YWdzIGluc3RlYWQuCgoyMDExLTExLTI0IDAxOjUyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiB1bmNvbmRpdGlvbmFsbHkgc2VuZCBpY2VjYXN0IHJlcXVlc3QgaGVhZGVyLCByZW1vdmUgaXJhZGlvLW1vZGUgcHJvcGVydHkKCjIwMTEtMTEtMjQgMDE6MjI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgbW1zc3JjOiBtYWtlIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkgYSBndWludDY0CgkgIEV2ZW4gaWYgdGhlIGxpYnJhcnkgbGltaXRzIGl0IHRvIGFuIGludC4KCjIwMTEtMTEtMjQgMDA6NTY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogdXBkYXRlIGZvciBnc3RydHBiaW4gLT4gcnRwYmluIHJlbmFtaW5nCgoyMDExLTExLTIzIDIzOjQyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgZmFhYywgcnRtcDogbW9yZSBwcmludGYgZm9ybWF0IGZpeGVzIGluIGRlYnVnIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjEgMjI6NDU6MTUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCAvIDY0IGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTIzIDIzOjMwOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZG8gbm90IGxlYWsgYnVmZmVyIHdoZW4gbm8gZW5jb2RlZCBkYXRhIHlldCBvciBlbmNvZGluZyBlcnJvcgoKMjAxMS0xMS0yMyAyMzoyOToxMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTExLTIzIDE2OjAxOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHNtb290aDogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ2MzEKCjIwMTEtMTEtMjMgMTM6NDc6MTEgKzAxMDAgIEtyenlzenRvZiBLcmFrb3dpYWsgPGtyenlzenRvZi5rcmFrb3dpYWtAZ21haWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogZml4IG1vZHVsZXMgcGxheWluZyBhcyBtb25vIGluc3RlYWQgb2Ygc3RlcmVvCgkgIHJlcGxhY2VkIGJyb2tlbiBpZi1yZXR1cm4gbG9naWMgZm9yIGZpeGF0aW5nIHJhdGUgYW5kIG51bWJlcgoJICBvZiBjaGFubmVscyB0aGF0IGNhdXNlZCB0aGF0IG1vZHVsZXMgd2VyZSBhbHdheXMgKGFmdGVyCgkgIHN1Y2Nlc3NmdWwgZml4YXRpb24gb2YgcmF0ZSkgcGxheWVkIGFzIG1vbm8gKGluc3RlYWQgb2YKCSAgc3RlcmVvKSBieSBjb3JyZWN0IG9uZSB3aXRoIGFwcHJvcGlhdGUgd2FybmluZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTkwMzUKCjIwMTEtMTEtMjMgMTM6MjI6MTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGltcGxlbWVudCByZXBsYXkgZ2FpbgoJICBJdCB3b3VsZCBpZGVhbGx5IGJlIGJldHRlciB0byBsZWF2ZSB0aGlzIHRvIGEgcmd2b2x1bWUgZWxlbWVudCwKCSAgYnV0IHdlIGRvbid0IGNvbnRyb2wgdGhlIHBpcGVsaW5lLiBTbyBkbyBpdCBieSBkZWZhdWx0LCBhbmQgYWxsb3cKCSAgZGlzYWJsaW5nIGl0IHZpYSBhIHByb3BlcnR5LCBzbyB0aGUgY29ycmVjdCB2b2x1bWUgc2hvdWxkIGFsd2F5cwoJICBiZSBvdXRwdXQuCgoyMDExLTExLTIzIDExOjU4OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBhZGQgaW4tYmFuZCBGRUMgc3VwcG9ydAoJICBUaGlzIGFsbG93cyByZWNvbnN0cnVjdGlvbiBvZiBsb3N0IHBhY2tldHMgaWYgRkVDIGluZm8gaXMgaW5jbHVkZWQKCSAgaW4gdGhlIG5leHQgcGFja2V0LCBhdCB0aGUgY29zdCBvZiBleHRyYSBsYXRlbmN5LiBTaW5jZSB3ZSBkbyBub3QKCSAga25vdyBpZiB0aGUgc3RyZWFtIGhhcyBGRUMgKGFuZCB0aGlzIGNhbiBjaGFuZ2UgYXQgcnVudGltZSksIHdlCgkgIGFsd2F5cyBpbmN1ciB0aGUgbGF0ZW5jeSwgZXZlbiBpZiB3ZSBuZXZlciBsb3NlIGFueSBmcmFtZSwgb3Igc2VlCgkgIGFueSBGRUMgaW5mb3JtYXRpb24uIE9mZiBieSBkZWZhdWx0LgoKMjAxMS0xMS0yMyAxMjo0MTozMiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogbm9ybWFsaXplIGJvb2xlYW4gcHJvcGVydHkgZGVmYXVsdCB2YWx1ZXMgdG8gVFJVRS9GQUxTRQoJICBHbGliIGJhcmtzIGF0IHVzIHdpdGggYSB3YXJuaW5nIHdoZW4gd2UgcGFzcyBlLmcuIDQuCgoyMDExLTExLTIzIDExOjU5OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGFhYW5kIGZpeCBteSBsYXN0IGNvbW1pdAoKMjAxMS0xMS0yMyAxMTo1NTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBGaXggZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbgoKMjAxMS0xMS0yMyAxMTozMTo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSAgYXVkaW92aXN1YWxpemVyczogdXBkYXRlIFJFQURNRSBhbmQgVE9ETyBjb21tZW50cwoKMjAxMS0xMS0yMyAxMToyMToxNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNjb3BlOiB1c2UgdGhlIGRyYXdoZWxwZXJzIGFuZCBhZGQgYSBkcmF3LXN0eWxlIHByb3BlcnR5CgkgIExpa2UgaW4gd2F2ZXNjb3BlIHN1cHBvcnQgZHJhd2luZyBkb3RzIGFuZCBsaW5lcy4KCjIwMTEtMTEtMjMgMTE6MDg6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvZmlsdGVyL01ha2VmaWxlLmFtCgkgIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmMKCSAgZ3N0L2ZpbHRlci9nc3RpaXIuYwoJICBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jCgoyMDExLTExLTIzIDA4OjQwOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgc29tZSBzaW1wbGUgZHJhd2luZyBoZWxwZXJzIGZvciByZXVzZQoJICBBZGQgYSAodW5pbnN0YWxsZWQpIGhlYWRlciB3aXRoIHNpbXBsZSBkcmF3aW5nIG1hY3JvcwoKMjAxMS0xMS0yMyAwODoxNzowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICBzbW9vdGh3YXZlOiByZW1vdmUgZWxlbWVudCB1bnBvcnRlZCBmcm9tIDAuOAoJICBUaGUgd2F2ZXNjb3BlIGVsZW1lbnQgZG9lcyBhY2hpZXZlIHRoZSBzYW1lIGVmZmVjdC4KCjIwMTEtMTEtMjMgMDg6MTQ6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIHdhdmVzY29wZTogYWRkIGEgc3R5bGUgcHJvcGVydHkgZm9yIGRyYXdpbmcgbW9kZXMKCSAgQWRkIGEgc3R5bGUgZW51bSBvZiB7IGRvdHMsIGxpbmVzfS4gTm93IHRoaXMgZWxlbWVudHMgaXMgYSBzdXBlcnNldCBvZiBzbW9vdGh3YXZlLgoKMjAxMS0xMS0yMiAyMzowNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBkb2NzOiBmaXggY29tbWVudCBpbiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2dldF9tYXhfZGVjb2RlX3RpbWUoKSBkb2NzCgoyMDExLTExLTIyIDIwOjI3OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbWFyayBwcm9wZXJ0aWVzIGNoYW5nZWFibGUgYXQgcnVudGltZSB3aXRoIEdTVF9QQVJBTV9NVVRBQkxFX1BMQVlJTkcKCjIwMTEtMTEtMjIgMTk6NTc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4IHdlaXJkIGV2ZW50IGxpc3QgaGFuZGxpbmcKCSAgR2V0IHJpZCBvZiB3ZWlyZCBjb2RlIHRoYXQgY29waWVzIGEgbGlzdCBtYW51YWxseSwgdGFraW5nCgkgIG93bmVyc2hpcCBvZiB0aGUgZWxlbWVudHMgYW5kIHRoZW4gZnJlZXMgdGhlIG9sZCBsaXN0LiBJbnN0ZWFkLAoJICBqdXN0IHRha2Ugb3ZlciB0aGUgb2xkIGxpc3QgZW50aXJlbHkuIChJZiB0aGUgaW50ZW50IHdhcyB0bwoJICByZXZlcnNlIHRoZSBsaXN0LCBvbmUgY291bGQgdXNlIGdfbGlzdF9yZXZlcnNlKCkgaW5zdGVhZCkuCgkgIFRoZW4sIHB1c2ggZXZlbnRzIGluIHRoZSBsaXN0IG91dCBmcm9tIGxhc3QgdG8gZmlyc3QgKHNpbmNlIHRoZXkKCSAgd2VyZSBwcmVwZW5kZWQgYXMgdGhleSBjYW1lIGluKSBpbnN0ZWFkIG9mIGp1c3QgcHVzaGluZyBvdXQgdGhlCgkgIGxhc3QgaW4gdGhlIGxpc3QgYW5kIGxlYWtpbmcgdGhlIG90aGVycy4KCjIwMTEtMTEtMjIgMTg6MzM6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogYWRkIHRlc3QKCjIwMTEtMTEtMjIgMTc6MDQ6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGFsbG93IHNldHRpbmcgbW9zdCBwcm9wZXJ0aWVzIGF0IFBMQVlJTkcgdGltZQoJICBPcHVzIGFsbG93cyB0aGVzZSB0byBiZSBjaGFuZ2VkIGR1cmluZyBlbmNvZGluZywgdHJhbnNwYXJlbnRseQoJICB0byB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMjIgMTY6MTQ6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBib3VuZCB0aGUgYml0cmF0ZSB0byBtb3JlIHNlbnNpYmxlIHZhbHVlcwoJICBHbyBmcm9tIHRoZSBib3VuZHMgbWVudGlvbmVkIGluIHRoZSBzcGVjLCBhbmQgYWxsb3cgc29tZSBtb3JlCgkgIHZhcmlhdGlvbi4KCSAgSW4gcGFydGljdWxhciwgZG9uJ3QgYWxsb3cgc2lsbHkgbG93IGJpdHJhdGVzLCBhbmQgYWxsb3cgcmVhY2hpbmcKCSAgdGhlIG1heGltdW0gdXNlZnVsIGJpdHJhdGUuCgoyMDExLTExLTIyIDE1OjMzOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBmaXggY3Jhc2ggb24gcGF0aG9sb2dpY2FsIHBhcmFtZXRlcnMKCSAgQXNraW5nIGZvciAxIGJpdC9zIHdvdWxkIHNlbGVjdCBhIDAgYnl0ZSBidWZmZXIsIGxlYWRpbmcKCSAgdG8gYSBjcmFzaC4gQnVmZmVyIHNpemUgaXMgbm93IGNvbnRyb2xsZWQgYnkgYSBtYXgtcGF5bG9hZC1zaXplCgkgIHByb3BlcnR5LCB3aGljaCBjYW4ndCBiZSBsZXNzIHRoYW4gMi4KCjIwMTEtMTEtMjEgMTg6MTI6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZG8gbm90IHNlbmQgaGVhZGVycyB0aHJvdWdoIGRhdGEgcGF0aAoJICBBZGRpdGlvbmFsbHksIHNpbmNlIE9wdXMgcGFja2V0cyBtYXkgY2hhbmdlIGJldHdlZW4gc3RlcmVvCgkgIGFuZCBtb25vIGFzIHRoZSBlbmNvZGVyIHNlZXMgZml0LCBhc3N1bWUgdHdvIGNoYW5uZWxzIHdoZW4KCSAgd2UgZG8gbm90IHNlZSBhIGhlYWRlciwgYW5kIHVzZSB0aGUgaGVhZGVyIHZhbHVlIG90aGVyd2lzZS4KCjIwMTEtMTEtMjEgMTc6NDg6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSAgb3B1czogbW92ZSBoZWFkZXIgbWFnaWMgdGVzdGluZyB0byBnc3RvcHVzaGVhZGVyCgoyMDExLTExLTIxIDE3OjAxOjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogc2tpcCBwcmUtc2tpcCBzYW1wbGVzCgoyMDExLTExLTIxIDEyOjUwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZWFkIHByZS1za2lwIGZyb20gZmlyc3QgaGVhZGVyIGlmIGF2YWlsYWJsZQoKMjAxMS0xMS0xNyAxMTozMzo1NiArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHN1cHBvcnQgbW9yZSBjaGFyYWN0ZXIgc2V0IGVuY29kaW5ncwoJICBTdXBwb3J0IFVURi0xNkJFLCBFVUMtS1IgKEtTWDEwMDEpLCBHQjIzMTIgYW5kIElTTy0xMDY0Ni9VVEY4IHRleHQKCSAgZW5jb2RpbmcgYW5kIGZpeGVkIG5ldyBsaW5lIGZvciBtdWx0aWJ5dGUgZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI1NwoKMjAxMS0xMS0yMiAwOToxMTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbGF5b25kZW1hbmQvLmdpdGlnbm9yZToKCSogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSogZ3N0L3BsYXlvbmRlbWFuZC9kZW1vLW1wMy5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2ZpbHRlci5mdW5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICBwbGF5b25kZW1hbmQ6IHJlbW92ZSB1bnBvcnRlZCBwbHVnaW4gZnJvbSAwLjgKCSAgVGhlc2UgZGF5cyBvbmUgd291bGQgZG8gdGhlIGVmZmVjdCBlLmcuIHVzaW5nIGdub25saW4uCgoyMDExLTExLTIyIDA5OjEwOjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiB0aW55IGRvYyBibG9iIGNsYXJpZmljYXRpb24KCjIwMTEtMTEtMjEgMjI6NTU6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJICBmcmVldmVyYjogYWRkIGEgZnJlZXZlcmIgcG9ydAoJICBGcmVldmVyYiBpcyBhIHB1YmxpYyBkb21haW4gcmV2ZXJiIGltcGxlbWVudGF0aW9uLiBQb3J0IGl0IGFzIGEgZ3N0cmVhbWVyCgkgIGVsZW1lbnQgYW5kIG1ha2UgdXNlIG9mIGdzdHJlYW1lciBzcGVjaWZpYyBmZWF0dXJlcyAoZ2FwIGF3YXJlLCBkaXNjb250cywKCSAgY29udHJvbGxlciwgLi4uKS4KCjIwMTEtMTEtMjEgMTM6Mzc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB1cGRhdGUgZm9yIGFjdGl2YXRpb24gY2hhbmdlcwoKMjAxMS0xMS0yMSAxMjowMjoyOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHJlc2V0IHRhZ3NldHRlciBpbnRlcmZhY2Ugb24gc3RvcAoKMjAxMS0xMS0yMSAxMTo0NDowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGhhbmRsZSBOVUxMIHBhY2tldHMgKHVzZWQgZm9yIFBMQykKCjIwMTEtMTEtMjEgMTE6Mjg6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBsaWdodCBjbGVhbnVwCgoyMDExLTExLTIwIDEzOjA3OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHBhcnNlIHJhdyBvcHVzIHBhY2tldHMKCjIwMTEtMTEtMjAgMDk6NTg6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgcHVzaCBoZWFkZXIgYnVmZmVycwoJICBPcHVzIGhlYWRlcnMgYXBwZWFyIG9ubHkgd2hlbiBtdXhlZCBpbiBPZ2csIHNvIG9ubHkgcGxhY2UgdGhlbQoJICBvbiB0aGUgY2Fwcywgd2hlcmUgb2dnbXV4IHdpbGwgZmluZCB0aGVtLCBidXQgb3RoZXIgZWxlbWVudHMgd2lsbAoJICBiZSBibGl0aGVseSB1bmF3YXJlIG9mIHRoZW0uCgoyMDExLTExLTIwIDA5OjUyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IG1ha2Ugb3B1c3BhcnNlIHNldCBoZWFkZXJzIG9uIGNhcHMKCSAgSGVhZGVyLW9uLWNhcHMgY29kZSBtb3ZlZCB0byBhIG5ldyBzaGFyZWQgbG9jYXRpb24gdG8gYXZvaWQKCSAgZHVwbGljYXRpbmcgdGhlIGNvZGUuCgoyMDExLTExLTIxIDEwOjU0OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUG9ydCB0byBuZXcgcGFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMKCjIwMTEtMTEtMjEgMDg6MjA6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgIHNtb290aDogcG9ydCB0byAwLjEwCgkgIFBvcnQgZnJvbSBHc3RFbGVtZW50IHRvIEdzdFZpZGVvRmlsdGVyLiBGaXggRklYTUVzLiBDbGVhbnVwIG5hbWluZy4gRXhwb3NlIGxlZnQKCSAgb3V0IHByb3BlcnR5IChrdW1hLW9ubHkpLgoKMjAxMS0xMS0yMCAyMDoxNjowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wYXNzdGhyb3VnaC8uZ2l0aWdub3JlOgoJKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXNzdGhyb3VnaC9maWx0ZXIuZnVuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJKiBnc3QvcGFzc3Rocm91Z2gvcGFzc3Rocm91Z2gudmNwcm9qOgoJICBwYXNzdGhyb3VnaDogcmVtb3ZlIG9ic29sZXRlIGVsZW1lbnQKCSAgSXQgaXMgbm90IGJ1aWx0IGJ5IGRlZmF1bHQuIFdlIGhhdmUgaWRlbnRpdHkgZm9yIHNvbWUgb2YgdGhlIG5lZWRzIGFuZCBvdGhlcndpc2UKCSAgYXVkaW8vdmlkZW9maWx0ZXIgYmFzZSBjbGFzc2VzLgoKMjAxMS0xMS0yMCAyMDowODo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9maWx0ZXIvZmlsdGVyLnZjcHJvajoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSogZ3N0L2ZpbHRlci9paXIuYzoKCSogZ3N0L2ZpbHRlci9paXIuaDoKCSAgZmlsdGVyOiByZW1vdmUgZmlsdGVyIHBsdWdpbgoJICBXZSBkb24ndCBidWlsZCBpdCBhbnl3YXkgYW5kIHdlIGhhdmUgYXVkaW9paXJmaWx0ZXIgaW4gZ29vZC4KCjIwMTEtMTEtMjAgMjA6MDY6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZml4IGxlZnRvdmVyIGJvaWxlcnBsYWNlIGNvbW1lbnRzCgoyMDExLTExLTE4IDAzOjMxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsc28gcmVzZXQgdmlkZW8vYXVkaW8gZmlsdGVycyBiZWZvcmUgY2FwdHVyaW5nCgkgIFZpZGVvIGFuZCBhdWRpbyBjdXN0b20gZmlsdGVyIGVsZW1lbnQgc2hvdWxkIGFsc28gYmUgcmVzZXQgYmVmb3JlCgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUsIG90aGVyd2lzZSB3ZSBnZXQgd3Jvbmctc3RhdGUgZXJyb3JzCgoyMDExLTExLTE5IDE1OjU4OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHRlcm1pbmF0aW5nIE5VTCBiZWluZyB3cml0dGVuIGluIHNpZ25hdHVyZQoKMjAxMS0xMS0xNiAxOTo0MDoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1ha2UgZnJhbWUtc2l6ZSBhbiBlbnVtCgkgIEl0IG9ubHkgc3VwcG9ydHMgYSBzZXQgbnVtYmVyIG9mIHNwZWNpZmljIHZhbHVlcyAoaW5jbHVkaW5nCgkgIGEgbm9uIGludGVnZXIgb25lKS4KCjIwMTEtMTEtMTYgMTk6MjI6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB0aGUgZW5jb2RlciBtaWdodCBub3QgbWFrZSB1c2Ugb2YgYWxsIHRoZSBieXRlcwoKMjAxMS0xMS0xOCAxOToyODoyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG9wZW5jdjogdXNlIGNhcHMgY29uc3RhbnRzIG1vcmUKCjIwMTEtMTEtMTggMTk6MTk6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IGZpeHVwIGRvYyBibG9icwoKMjAxMS0xMS0xOCAxOToxNToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogZml4dXAgZ29iamVjdCBuYW1pbmcgY29udmVudGlvbnMKCjIwMTEtMTEtMTggMTc6NTk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTExLTE4IDE3OjE4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBjb2RlCgkgIC4uLiBub3cgdGhhdCB3aGF0IHNob3VsZCBub3QgYmUgbmVlZGVkIGlzIHJlYWxseSBub3QgbmVlZGVkIGFueW1vcmUgdG8gY292ZXIKCSAgdXAgYm9ndXMgc3R1ZmYgdGhhdCBoYXMgYmVlbiBGSVhNRWQuCgoyMDExLTExLTE4IDEyOjMyOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHVwIEFVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZwoJICBPbiB0aGUgb25lIGhhbmQsIG5vIG5lZWQgdG8gY29sbGVjdCBuYWwgaWYgcHJvY2Vzc2luZyBsYXN0IG9uZS4KCSAgT24gdGhlIG90aGVyIGhhbmQsIGVuc3VyZSBBVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcgdG8gaGF2ZSBzdWZmaWNpZW50CgkgIG5leHQgTkFMIGRhdGEgaW4gbm9ybWFsIGNhc2VzLgoJICBGaXhlcyAjNjYzMTgwLgoKMjAxMS0xMS0xOCAxNToxMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1pbmQgdG8tYmUtc2tpcHBlZCBkYXRhIGluIHN1YnNlcXVlbnQgcmUtdXNlZCBvZmZzZXRzCgoyMDExLTExLTE4IDE1OjEwOjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgYWRkaXRpb25hbCBOQUwgcGFyc2luZyBpZiBubyBBVSBjb2xsZWN0aW9uIGlzIG5lZWRlZAoKMjAxMS0xMS0xOCAxNToxMDoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNvbWUgbW9yZSBnZXRfY2FwcyB0d2Vha2luZwoJICAuLi4gYnkgaGF2aW5nIGl0IHVzZSBzaW5rIHRlbXBsYXRlIHJhdGhlciB0aGFuIHNyYyB0ZW1wbGF0ZSwgYW5kIG5vdAoJICBwYXNzaW5nIGFuIGRvd25zdHJlYW0gcGFyc2VkKD10cnVlKSB0byB1cHN0cmVhbS4KCjIwMTEtMTEtMTggMTU6MDc6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGluaXRpYWxpemUgYWRkaXRpb25hbCBzcHMgZmllbGQgdmFsdWUKCSAgRml4ZXMgIzY2MzU1Mi4KCjIwMTEtMTEtMTggMTM6NTg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBhZGQgcGFyZW50IHRvIGFjdGl2YXRlIGZ1bmN0aW9ucwoKMjAxMS0xMS0xOCAxMjozODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIGZpeCBmb3Igc2NoZWR1bGluZyBtb2RlIHJlbmFtZQoKMjAxMS0xMS0xOCAwODoyOTozMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkgIG9wZW5jdjogcmVtb3ZlIGVtcHR5IGZpbmFsaXplIGltcGxlbWVudGF0aW9ucwoKMjAxMS0xMS0xNyAyMzowMzowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkgIHZvYW1yd2JlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE3IDIzOjAyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogc29tZSBjb2RlIHNodWZmbGUgY2xlYW51cAoKMjAxMS0xMS0xNyAyMzowMjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE3IDIzOjAyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogcHJvcGVybHkgcmVwb3J0IGVycm9yIGNhc2UKCjIwMTEtMTEtMTcgMjM6MDI6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiByZW1vdmUgdW51c2VkIGluc3RhbmNlIHZhcmlhYmxlCgoyMDExLTExLTE3IDEwOjMzOjQyIC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgY2FsbCA6OnJlc2V0IG9uY2UgaW4gUkVBRFktPlBBVVNFRAoKMjAxMS0xMS0xNyAxNzozMjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuaAoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5oCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgoyMDExLTExLTE3IDE1OjUzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTE3IDEwOjA3OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBsaWJzLWRvY3M6IGFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJCgoyMDExLTExLTE3IDA5OjU2OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBwb3J0IGZvciBwYWRfcXVlcnkgYXBpIGNoYW5nZQoKMjAxMS0xMS0xNyAwODoyNToyOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIGNvbGxlY3RwYWRzOiBwb3J0IEFQSSBjaGFuZ2VzCgoyMDExLTExLTE2IDIwOjUzOjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBkZXRlY3QgZmFjZSBmZWF0dXJlcwoJICBBbHNvIGRldGVjdCBtb3V0aCwgbm9zZSBhbmQgZXllcy4gRHJvcCBmYWNlcyB0aGF0IGRvbid0IGhhdmUgdGhlbS4gRml4ZXMgbGVha2luZyB0aGUKCSAgY2FzY2FkZXMuIEFkZHMgbW9yZSBkb2NzLgoKMjAxMS0xMS0xNiAyMDo1MToyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogR3N0ZmFjZWRldGVjdCAtPiBHc3RGYWNlZGV0ZWN0CgoyMDExLTExLTE0IDExOjA1OjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGNvZGUgbWFpbnRlbmFuY2UKCSAgVXBkYXRlIGV4YW1wbGUgdG8gYmUgdXNlZnVsLiBEcmF3IGNvbG9yZWQgZWxsaXBzZXMgaW5zdGVhZCBvZiB1bmljb2xvciBjaXJjbGVzLgoJICBSZWZsb3cgY29kZSBmb3IgbW9yZSBsb2NhbCB2YXJpYWJsZXMuIEltcHJvdmUgcGFyYW1ldGVyIGRlc2NyaXB0aW9ucy4KCjIwMTEtMTEtMTYgMTA6NTc6NTUgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBDaGFuZ2UgcmFuayB0byBQUklNQVJZKzEKCjIwMTEtMTEtMTYgMTA6NDU6NTIgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCByZXF1aXJlIHBhcnNlZD1mYWxzZSBvbiB0aGUgc2lua3BhZCBjYXBzCgoyMDExLTExLTE2IDE4OjQ5OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IGluY2x1ZGUgdmFyaWFibGUgZmllbGRzIGluIGNhcHMKCSAgVGhvc2UgY2FuIHZhcnkgZnJvbSBvbmUgcGFja2V0IHRvIHRoZSBuZXh0LCBzbyBoYXZlIG5vIHJlYXNvbgoJICB0byBiZSBpbiB0aGUgY2Fwcy4KCjIwMTEtMTEtMTYgMTg6NDM6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY29uc3RyYWluZWQtdmJyIHByb3BlcnR5IG5hbWUgdHlwbwoKMjAxMS0xMS0xNiAxMDozODo0OSAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEltcGxlbWVudCA6OnNpbmtfZ2V0X2NhcHMgdG8gYWxsb3cgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGFnYWluCgkgIEp1c3QgcHJveHlpbmcgdGhlIGRvd25zdHJlYW0gY2FwcyB3aWxsIHByZXZlbnQgaDI2NHBhcnNlIGZyb20KCSAgYWNjZXB0aW5nIGEgZGlmZmVyZW50IHN0cmVhbS1mb3JtYXQgdGhhbiB3aGF0IGlzIHN1cHBvcnRlZAoJICBkb3duc3RyZWFtLCBhbHRob3VnaCBpdCBjb3VsZCBjb252ZXJ0IHRvIGEgZGlmZmVyZW50IHN0cmVhbS1mb3JtYXQuCgoyMDExLTExLTE2IDE4OjM1OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIGFsbCB0aW1pbmcKCjIwMTEtMTEtMTYgMTk6MTg6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTExLTE2IDE5OjExOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTUgMTk6NTM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzcGFyc2U6IGFkZCBvcHVzcGFyc2UgZWxlbWVudAoJICBBIHZlcnkgc2ltcGxlIGVsZW1lbnQgdGhhdCBwYXJzZXMgT3B1cyBzdHJlYW1zIGZyb20gdGhlIGFkIGhvYwoJICBmcmFtaW5nIHVzZWQgYnkgdGhlIE9wdXMgdGVzdCB2ZWN0b3JzLgoKMjAxMS0xMS0xNiAxNzoyNDoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGFsbG93IG5lZ290aWF0aW9uIG9mIHJhdGUvY2hhbm5lbHMgd2l0aCBkb3duc3RyZWFtCgkgIFNpbmNlIGFuIG9wdXMgc3RyZWFtIG1heSBiZSBkZWNvZGVkIHRvIGFueSAoc2Vuc2libGUpIHJhdGUsCgkgIGFuZCBlaXRoZXIgc3RlcmVvIG9yIG1vbm8sIHdlIHRyeSB0byBhY2NvbW9kYXRlIGRvd25zdHJlYW0uCgoyMDExLTExLTE2IDE3OjA1OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZXdyaXRlIGxvZ2ljCgkgIFBhcmFtZXRlcnMgc3VjaCBhcyBmcmFtZSBzaXplLCBldGMsIGFyZSB2YXJpYWJsZS4gUHJldHR5IG11Y2gKCSAgZXZlcnl0aGluZyBjYW4gY2hhbmdlIHdpdGhpbiBhIHN0cmVhbSwgc28gYmUgcHJlcGFyZWQgYWJvdXQgaXQsCgkgIGFuZCBkbyBub3QgY2FjaGUgcGFyYW1ldGVycyBpbiB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMTYgMTY6NTY6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogcG9ydCB0byBiYXNlIGF1ZGlvIGVuY29kZXIvZGVjb2RlcgoKMjAxMS0xMS0xNiAxNzoyODoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgYWRkIHBhcmVudCB0byBxdWVyeSBmdW5jdGlvbgoKMjAxMS0xMS0xNiAxMzoyNjozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGFsbG93IG5lZ290aWF0aW9uIG9mIHJhdGUvY2hhbm5lbHMgd2l0aCBkb3duc3RyZWFtCgkgIFNpbmNlIGFuIG9wdXMgc3RyZWFtIG1heSBiZSBkZWNvZGVkIHRvIGFueSAoc2Vuc2libGUpIHJhdGUsCgkgIGFuZCBlaXRoZXIgc3RlcmVvIG9yIG1vbm8sIHdlIHRyeSB0byBhY2NvbW9kYXRlIGRvd25zdHJlYW0uCgoyMDExLTExLTE2IDAxOjE0OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZXdyaXRlIGxvZ2ljCgkgIFBhcmFtZXRlcnMgc3VjaCBhcyBmcmFtZSBzaXplLCBldGMsIGFyZSB2YXJpYWJsZS4gUHJldHR5IG11Y2gKCSAgZXZlcnl0aGluZyBjYW4gY2hhbmdlIHdpdGhpbiBhIHN0cmVhbSwgc28gYmUgcHJlcGFyZWQgYWJvdXQgaXQsCgkgIGFuZCBkbyBub3QgY2FjaGUgcGFyYW1ldGVycyBpbiB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMTUgMjM6MDA6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJlbW92ZSBidWZmZXIgcG9vbCwgYnVmZmVycyBhcmUgbm90IGNvbnN0YW50IHNpemUKCjIwMTEtMTEtMTUgMTk6NTM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzcGFyc2U6IGFkZCBvcHVzcGFyc2UgZWxlbWVudAoJICBBIHZlcnkgc2ltcGxlIGVsZW1lbnQgdGhhdCBwYXJzZXMgT3B1cyBzdHJlYW1zIGZyb20gdGhlIGFkIGhvYwoJICBmcmFtaW5nIHVzZWQgYnkgdGhlIE9wdXMgdGVzdCB2ZWN0b3JzLgoKMjAxMS0xMS0xNiAxMjo0NjowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIG5vdGVzIG9uIHN5bmNocm9uaXphdGlvbiBhbmQgc2NoZWR1bGluZwoKMjAxMS0xMS0xNiAxMjo0MDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciByZW5hbWVkIGZsYWdzCgkgIFVzZSB0aGUgX2NoZWNrX3JlY29uZmlndXJlIG1ldGhvZCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZsYWdzLgoKMjAxMS0xMS0xNiAxMDo1NjoyNCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG91dGdvaW5nIGJ5dGUgc3RyZWFtIHByZWZpeCBhbHdheXMgaGFzIHNpemUgNAoJICBGaXhlcyAjNjY0MTIzLgoKMjAxMS0xMS0xNSAxNzo0OTo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBwb2ludGVyIG1pc21hdGNoIGluIG1lbWNweSBvbiBkcmFpbgoKMjAxMS0xMS0xNSAxNzo1NTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIF9xdWVyeV9wZWVyXyooKSAtPiBfcGVlcl9xdWVyeV8qKCkKCjIwMTEtMTEtMTUgMTc6MjQ6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgX3BlZXJfZ2V0X2NhcHMoKSAtPiBfcGVlcl9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6MzQ6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGNoYW5nZSBnZXRjYXBzIHRvIHF1ZXJ5CgoyMDExLTExLTE0IDExOjMwOjEzICswMTAwICBEYXZpZCBLaW5nIDxhbWlnYWRhdmVAYW1pZ2FkYXZlLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG9jdW1lbnQgcmVxdWlyZW1lbnQgZm9yIFBMQVlJTkcgc3RhdGUKCSAgQXMgZGVzY3JpYmVkIGluIEdOT01FIGJ1ZyA2NjM5OTgsIHRoZSBlbGVtZW50IG11c3QgYmUgaW4gdGhlIFBMQVlJTkcKCSAgc3RhdGUgYmVmb3JlIGNhbGxpbmcgY2FwdHVyZS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDA0OAoKMjAxMS0xMS0xNCAxODozNDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggc29tZSByYWN5bmVzcyBpbiB0ZXN0cwoJICBGaXggc29tZSByYWN5bmVzcyBhcyB0aGUgdGVzdCB3YXMgY2hlY2tpbmcgdGhlIGlkbGUgcHJvcGVydHkKCSAgcmlnaHQgYWZ0ZXIgaXQgZ290IHRoZSBwcmV2aWV3IG1lc3NhZ2UgZm9yIHZpZGVvIHJlY29yZGluZ3MuIEluIHNvbWUKCSAgY29uZGl0aW9ucywgaXQgbWlnaHQgaGFwcGVuIHRoYXQgY2FtZXJhYmluMiBzdGlsbCBoYXNuJ3QgZGVjcmVtZW50ZWQKCSAgdGhlIHByb2Nlc3NpbmcgY291bnRlciBhZnRlciBwb3N0aW5nIHRoZSBwcmV2aWV3IGFuZC9vciB0aGUgaW1hZ2UvdmlkZW8tZG9uZQoJICBtZXNzYWdlIGFuZCB0aGUgdGVzdCB3aWxsIGdldCBpZGxlPWZhbHNlIGFuZCBmYWlsLgoJICBUaGUgYXBwcm9hY2ggZm9yIGNoZWNraW5nIGZvciB0aGUgaWRsZSBwcm9wZXJ0eSB3YXMgYSBidXN5IGxvb3Agd2l0aAoJICBhIHNsZWVwLiBGYXIgZnJvbSBlbGVnYW50LCBidXQgZ29vZCBlbm91Z2ggZm9yIHRoZXNlIHRlc3RzLgoKMjAxMS0xMS0xNCAxNjo1NTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHNvIHJlc2V0IGF1ZGlvIGVsZW1lbnRzIHdoZW4gdmlkZW8gY2FwdHVyZSBmaW5pc2hlcwoJICBBdWRpbyBlbGVtZW50cyBhbHNvIG5lZWQgdG8gYmUgcmVzZXQgYWZ0ZXIgZWFjaCBjYXB0dXJlLCBkbyBpdAoJICB0b2dldGhlciB3aXRoIHRoZSB2aWRlbyBlbGVtZW50cycgcmVzZXQKCjIwMTEtMTEtMTEgMDk6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIG9uZSBkZWJ1ZyBsaW5lIGFib3V0IGNhbWVyYWJpbjIgYmVpbmcgaWRsZQoKMjAxMS0xMS0xMCAxNjo1Mzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSB2aWRlbyBlbGVtZW50cycgc3RhdGUgY2xlYXJpbmcgZnJvbSBzdGFydC1jYXB0dXJlCgkgIFJlZHVjZSBzdGFydC1jYXB0dXJlIHdvcmtsb2FkIGJ5IG1vdmluZyB0aGUgZWxlbWVudHMnIHN0YXRlIHJlc2V0aW5nIHRvIHRoZQoJICBmaW5pc2hpbmcgc3RlcHMgb2YgdGhlIGNhcHR1cmUuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSBzdGFydC1jYXB0dXJlIHRha2VzIHRvCgkgIGFjdHVhbGx5IHN0YXJ0IGEgY2FwdHVyZSBhbmQgcmV0dXJuIHRvIGl0cyBjYWxsZXIsIGltcHJvdmluZyB1c2VyIGV4cGVyaWVuY2UuCgkgIEFzIHRoZSBlbGVtZW50cycgc3RhdGUgcmVzZXQgaXMgbm93IHRyaWdnZXJlZCBmcm9tIHRoZSBtZXNzYWdlIGhhbmRsaW5nCgkgIGZ1bmN0aW9uLCBpdCBuZWVkcyB0byBzcGF3biBhIG5ldyB0aHJlYWQsIGNoYW5naW5nIHN0YXRlIGZyb20gdGhlIHBhZCdzCgkgIHRhc2sgd291bGQgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTEtMTEtMTAgMTY6MTE6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBrZWVwIHRyYWNrIG9mIHZpZGVvIHJlY29yZGluZyBzdGF0ZQoJICBBZGRzIGEgbmV3IHZhcmlhYmxlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIG9mIHRoZSB2aWRlbwoJICByZWNvcmRpbmcgaW4gY2FtZXJhYmluMi4gVGhpcyBhbGxvd3Mgc3RhcnQtY2FwdHVyZSB0byByZWplY3QKCSAgbmV3IHZpZGVvIHJlY29yZGluZyByZXF1ZXN0cyB3aGVuIG9uZSBpcyBhbHJlYWR5IG9uZ29pbmcuIFRoaXMKCSAgZml4ZXMgb25lIG9mIGNoZWNrIHRlc3RzLgoKMjAxMS0xMS0xNCAxMzo0MTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBwb3J0IHRvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzZXMKCjIwMTEtMTEtMDMgMTQ6MDk6NTIgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlOkNvcnJlY3QgdGhlIHNraXBwaW5nIG9mIHZidl9kZWxheSBpbiBwaWN0dXJlIGhlYWRlciBhbmQgc29tZSB0eXBvIGZpeGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzA5CgoyMDExLTExLTEzIDIzOjU1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBnZXRfcHJvdG9jb2xzKCkgY2hhbmdlcwoKMjAxMS0xMS0xMSAxNzo0Njo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMTAgMTU6MTM6MzQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbWltaWMsIG9wZW5jdiwgdnA4LCBhY21tcDNkZWMsIGxpbnN5czogRG9uJ3QgYnVpbGQgc3RhdGljIHBsdWdpbnMKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGV2ZXJ5d2hlcmUgd2hlcmUgaXQncyBiZWVuIGZvcmdvdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzY4CgoyMDExLTExLTExIDEwOjM5OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxOTo0Mjo0MCAtMDMwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogYWRkIHN1cHBvcnQgZm9yIHByb2dyZXNzaXZlIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzgyCgoyMDExLTExLTA5IDIwOjA5OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMTAgMTg6MzQ6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBSZW1vdmUgcXVlcnlfdHlwZXMKCjIwMTEtMTEtMTAgMTg6MzQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDE4OjI1OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZQoKMjAxMS0xMS0xMCAxNzoxMzo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBiYW5kd2lkdGggcHJvcGVydHkgdHlwZSBtaXNtYXRjaAoKMjAxMS0xMS0xMCAxMjoxNDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTI6MTE6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkgIGNoYWluIHVwIGluIHNldF9jbG9jawoKMjAxMS0xMS0wOSAxMjoyMTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IHByb3RlY3QgaW1hZ2UgbG9jYXRpb24gbGlzdCB3aXRoIG11dGV4CgkgIFJlbmFtZSB0aGUgaW1hZ2UgdGFnbGlzdHMnIG11dGV4IGludG8gaW1hZ2UgY2FwdHVyZSBtdXRleCBhbmQKCSAgdXNlIGl0IGFsc28gZm9yIHRoZSBpbWFnZSBjYXB0dXJlIGxpc3QgdG8gcHJldmVudCBjb25jdXJyZW50CgkgIGFjY2VzcyBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIChhcHBsaWNhdGlvbiBhbmQgY2FwdHVyZSB0aHJlYWRzKS4KCjIwMTEtMTEtMDkgMTE6NDU6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIG51bGwgdGFnbGlzdHMgZm9yIGltYWdlcwoJICBBZGQgTlVMTCBhbmQgY2hlY2sgZm9yIHRoZW0gdG8gdGhlIGltYWdlIGNhcHR1cmUgdGFnbGlzdCBsaXN0LCByZXByZXNlbnRpbmcKCSAgdGhhdCBhIGNhcHR1cmUgaGFzIG5vIGFwcGxpY2F0aW9uIHRhZ3Mgc2V0LgoKMjAxMS0xMS0wOSAxMToxNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEb24ndCBzdG9yZSBwcmV2aWV3IGxvY2F0aW9uIGlmIHByZXZpZXcgaXNuJ3QgcmVxdWVzdGVkCgkgIERvIG5vdCBzdG9yZSBwcmV2aWV3IGxvY2F0aW9uIGlzIHBvc3QtcHJldmlld3MgaXMgZmFsc2UsIHRoaXMgd291bGQKCSAgbWVzcyB1cCBwcmV2aWV3IG5hbWluZyBpbiBjYXNlIGFwcGxpY2F0aW9uIHN3aXRjaGVzIGJldHdlZW4gZW5hYmxpbmcKCSAgYW5kIGRpc2FibGluZyBwcmV2aWV3cwoKMjAxMS0xMS0wOSAwOTo0MTo0NCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEF2b2lkIGJsb2NraW5nIGluIHN0YXJ0LWNhcHR1cmUgYW5kIHNlbmQgYXBwbGljYXRpb24gdGFncyBsYXRlcgoJICBUYWdzIGFyZSBjdXJyZW50bHkgc2VudCBmcm9tIHN0YXJ0LWNhcHR1cmUsIHdoaWNoIGlzIHJ1biBpbiB0aGUKCSAgYXBwbGljYXRpb24gdGhyZWFkLiBGb3IgaW1hZ2VzIHdlIGNhbiBkZWxheSB0aGUgdGFncyBwdXNoaW5nIHRvIHRoZQoJICBidWZmZXIgcHJvYmUgYW5kIHB1c2ggdGhlIHRhZ3Mgd2l0aCB0aGUgbG9jYXRpb24gZXZlbnQgYW5kIHJlZHVjZQoJICBzdGFydC1jYXB0dXJlIHRpbWUuCgoyMDExLTExLTA5IDEyOjI0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wOSAxMjoxOTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTEtMTEtMDkgMTI6MDA6MDUgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBmaXggZG9jdW1lbnRhdGlvbiB0eXBvCgoyMDExLTExLTA5IDExOjU2OjA3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IGZpeCBjb21waWxlciB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhbHVlcwoKMjAxMS0xMS0wOSAxMTo1NToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHJlbW92ZSBxdWVyeSB0eXBlcwoKMjAxMS0xMS0wNCAxNzo1NDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogUmVqZWN0IHN0YXJ0L3N0b3AgcmVxdWVzdHMgdGhhdCBjb21lIG91dCBvZiBvcmRlcgoKMjAxMS0xMC0yOSAxODoyNDoyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBQb3N0IG1lc3NhZ2VzIHdoZW4gc3RhcnRpbmcgdG8gc2VuZC9yZWNlaXZlIERUTUYKCSAgVGhpcyB3YXksIHRoZSBVSSBjYW4gZGlzcGxheSB0aGUgRFRNRiBldmVudHMgYXMgdGhleSBhcyBiZWluZyBzZW50LgoKMjAxMS0xMS0wOCAwODowODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEZWNyZW1lbnQgcHJvY2Vzc2luZyBjb3VudGVyIHdoZW4gbWVzc2FnZSBoYW5kbGluZyBmaW5pc2hlcwoJICBTb21lIG1lc3NhZ2VzIG1pZ2h0IGJlIGludGVyZXN0aW5nIHRvIGFwcGxpY2F0aW9ucywgc28gd2UgY2FuIG9ubHkKCSAgZGVjcmVtZW50IHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgYW5kIHNlbmQgdGhlIGlkbGUgbm90aWZpY2F0aW9uCgkgIHdoZW4gdGhvc2UgbWVzc2FnZXMgYXJlIHBvc3RlZCBvbiB0aGUgcGlwbGluZSdzIGJ1cwoKMjAxMS0xMS0wOCAwNzozMzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1cGRhdGUgdGVzdHMgdG8gc2V0IHBvc3QtcHJldmlld3MgdG8gdHJ1ZQoJICBNYWtlcyBtb3N0IG9mIGNhbWVyYWJpbjIgdGVzdHMgcGFzcyBhZ2FpbgoKMjAxMS0xMS0wOCAxMToyODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIHVwZGF0ZSBmb3IgcHJvYmUgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMDggMDc6MDk6NDEgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogY2hhbmdlIHBvc3QtcHJldmlld3MgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZSBhcyBmYWxzZQoJICBHZW5lcmF0aW5nIGFuZCBwb3N0aW5nIHByZXZpZXcgaW1hZ2UgYWx3YXlzIGNvbWVzIHdpdGggYSBwZXJmb3JtYW5jZQoJICBwZW5hbHR5IHNvIHNldCBkZWZhdWx0IHZhbHVlIGFzIGZhbHNlLiBUaGUgcHJldmlldy1jYXBzIHByb3BlcnR5IHRoYXQKCSAgZGVmaW5lcyB0aGUgcHJldmlldyBpbWFnZSBmb3JtYXQgaXMgYWxzbyBOVUxMIGJ5IGRlZmF1bHQsIHNvIGluc3RlYWQKCSAgb2YgZ2VuZXJhdGluZyBwcmV2aWV3IGltYWdlIG9mIHVuc3BlY2lmaWVkIGZvcm1hdCBieSBkZWZhdWx0IGV4cGxpY2l0CgkgIGFjdGlvbiBmcm9tIGFwcGxpY2F0aW9uIHNob3VsZCBiZSByZXF1aXJlZCBmb3IgZW5hYmxpbmcgcHJldmlldyBpbWFnZQoJICBwb3N0aW5nIGZlYXR1cmUuCgkgIEFwcGxpY2F0aW9uIGFsc28gaGFzIHRvIGFkZCBjdXN0b20gY29kZSB0byBiZSBhYmxlCgkgIHRvIGhhbmRsZSBwcmV2aWV3IG1lc3NhZ2VzIG9uIGl0cyBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIGFueXdheS4KCjIwMTEtMTEtMDcgMjA6Mzk6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBBZGQgQW5kcm9pZCBidWlsZHN5c3RlbSBob29rcyBmb3IgY29kZWNwYXJzZXJzCgoyMDExLTExLTAxIDIwOjM3OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IHIyMTAgd3JpdGluZyBvbmx5IGhhbGYgYSBzY2FubGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjAzCgoyMDExLTExLTA3IDE2OjQxOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY206IGFkZCBtb3JlIGNvbnN0cywgZXNwY2lhbGx5IGZvciBzdGF0aWMgY29uc3QgZGF0YQoKMjAxMS0xMS0wNyAxNzoxMzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmRiYXNlYmluOiBmaXggZm9yIHBhZCBwcm9iZXMgdXBkYXRlCgoyMDExLTExLTAzIDE4OjU1OjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogbWVyZ2UgY2FwcyBpbnN0ZWFkIG9mIHVzaW5nIHVuaW9uCgkgIEl0J3MgYSBsb3QgZmFzdGVyLCBhbmQgcHJlc2VydmVzIGNhcHMgb3JkZXJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzNDYKCjIwMTEtMTAtMjcgMTU6NTM6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogYWRkIGEgJ3NpbGVudCcgcHJvcGVydHkgdG8gc2tpcCByZW5kZXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjg1NwoKMjAxMS0wOC0yOSAxMzowMDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBjYXRjaCBzZWN0aW9uIGxlbmd0aHMgZXh0ZW5kaW5nIHBhc3QgdGhlIGJ1ZmZlciBsZW5ndGgKCSAgVGhpcyBpcyBwcm9iYWJseSB0aGUgY2F1c2UgZm9yIGFuIG9jY2FzaW9uYWwgY3Jhc2ggd2hpbGUgc3RyZWFtaW5nCgkgIE1QRUcuIEJsaW5kIGZpeCBhZnRlciBzdGFyaW5nIGF0IHRoZSBjb2RlIGFuZCBmb2xsb3dpbmcgbG9naWMsIHNvCgkgIG1heSBvciBtYXkgbm90IGZpeCB0aGUgaXNzdWUsIEkgY2Fubm90IHRlc3QuCgoyMDExLTEwLTIwIDEwOjQyOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogZG8gbm90IHRyeSB0byBzZWVrIGJlZm9yZSB0aGUgZmlyc3QgY2hhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg5MDY0CgoyMDExLTEwLTA1IDE4OjMwOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZml4IGxhdGVuY3kgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjQyMQoKMjAxMS0xMC0wNSAxODoyNTo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIFRoaXMgbWFrZXMgbGl2ZSAnYXVkaW9zcmMgISBvcHVzZW5jICEgb3B1c2RlYyAhIGF1ZGlvc2luaycgcGlwZWxpbmVzCgkgIGFjdHVhbGx5IHdvcmsgd2l0aG91dCBhbGwgYXVkaW8gYmVpbmcgZHVtcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwOTk5CgoyMDExLTEwLTA1IDE1OjQ3OjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdXNlIGRlYnVnIGxldmVsIGZvciBkZWJ1ZyBpbmZvLCBub3QgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDk5OQoKMjAxMS0wOS0yOSAxNDoyMjo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGZpeCBjYWxjdWxhdGlvbiBvZiBmaWxsZXIgZGF0YSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA0NjkKCjIwMTEtMDktMjkgMTQ6MjI6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY2FsY3VsYXRpb24gb2YgZmlsbGVyIGRhdGEgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNDY5CgoyMDExLTEwLTAzIDE4OjI4OjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdwc2RlbXV4OiBmaXggemVybyBsZW5ndGggcGFja2V0IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MTYKCjIwMTEtMTEtMDIgMTI6NDE6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IG1hcmsgdGVzdCBpbnB1dCBkYXRhIGNvbnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzUKCjIwMTEtMTEtMDIgMTI6NDE6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBpbnB1dCBkYXRhIGlzIGNvbnN0LCBtYXJrIGl0IHNvCgoyMDExLTExLTAyIDEyOjM4OjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBhbGxvdyBidWlsZGluZyB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGdsaWIgKGdfbGlzdF9mcmVlX2Z1bGwpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzQKCjIwMTEtMTEtMDcgMTA6MDI6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA0IDE4OjA2OjUxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBGaXggbWlzc2luZyBzb3VyY2VzIG9uIGJheWVyJ3MgYnVpbGRzeXN0ZW0gYW5kcm9nZW5pemVyIGNhbGwKCjIwMTEtMTEtMDQgMTg6NTI6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDExLTExLTA0IDE2OjM0OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjM6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgZXhhbXBsZXMgOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDQgMTM6MDQ6MTkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogYWRkIG1vcmUgc2l6ZSBjaGVja3MgYW5kIGltcHJvdmUgZXhpc3RpbmcKCSAgRG9uJ3Qgc3VidHJhY3Qgd2l0aCB1bnNpZ25lZCB2YWx1ZXMsIHRoYXQgd2lsbCBiaXRlIHVzLiBBbHNvIGZpeCBmb3JtYXQKCSAgc3BlY2lmaWVyIGluIHRoZSBsb2cgbWVzc2FnZS4KCjIwMTEtMTEtMDQgMTI6MzE6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTI6MjI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBtYWtlIHJlcXVlc3QgcGFkcyB0YWtlIF8ldQoKMjAxMS0xMS0wNCAxMToyNDo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSAgdmlkZW86IHBvcnQgc29tZXdoYXQgdG8gMC4xMQoJICBJbiAwLjExIHRoaXMgc2hvdWxkIGJlIGRvbmUgZGlmZmVyZW50bHkKCjIwMTEtMTEtMDQgMTE6MDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA0IDEwOjE3OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRml4IGZvciByZW1vdmFsIG9mIGdzdF9lbGVtZW50X2ZvdW5kX3RhZ3NfZm9yX3BhZCgpCgoyMDExLTExLTAzIDE3OjE3OjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSAgc3VyZmFjZWNvbnZlcnRlcjogUmVtb3ZlIGR1cGxpY2F0ZWQgZm9yd2FyZCBkZWNsYXJhdGlvbgoJICBJdCBzZWVtcyB0aGF0IHNvbWUgY29tcGlsZXJzIGRvbid0IGxpa2UgZHVwbGljYXRlZCB0eXBlZGVmcy4KCjIwMTEtMTEtMDMgMTY6NTc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICB2aWRlb2VuYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMTEtMDMgMTY6NTc6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmlkZW86IGZpeCBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZQoKMjAxMS0xMS0wMyAxNDowMTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUG9ydCB0byAwLjExCgoyMDExLTExLTAzIDEzOjU2OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBsaWJzL3ZpZGVvOiBGaW5pc2ggcG9ydGluZyB0byAwLjExCgoyMDExLTA5LTI4IDE5OjI5OjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJICB2aWRlbzogQWRkIGxpYmdzdGJhc2V2aWRlbyBQQyBmaWxlCgoyMDExLTEwLTE5IDE2OjE5OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSAgdmlkZW86IEFkZCBHc3RWaWRlb0NvbnRleHQgaW50ZXJmYWNlCgkgIFRoaXMgaW50ZXJmYWNlIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdmlkZW8gY29udGV4dCBzaGFyaW5nLiBUaG9zZQoJICBjb250ZXh0IGNvdWxkIGJlIFgxMSBEaXNwbGF5LCBWYURpc3BsYXksIGV0Yy4KCjIwMTEtMTAtMDcgMTk6MDU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSAgdmlkZW86IEFic3RyYWN0IHN1cmZhY2UgQVBJIGZvciBIVyBhY2NlbGVyYXRlZCBjb2RlY3MKCjIwMTEtMTAtMjYgMTY6MzE6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdGVzdHM6IG1ha2UgY29uc3QgZGF0YSBjb25zdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNzc2CgoyMDExLTEwLTI2IDE2OjI5OjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZG8gbm90IG92ZXJ3cml0ZSBidWZmZXIKCSAgSSBkbyBub3Qga25vdyB0aGUgYml0c3RyZWFtIGZvcm1hdCwgYnV0IHRoaXMgc2VlbXMgbGlrZWx5CgkgIHRvIGJlIHdoYXQgd2FzIGludGVuZGVkLiBBbHNvIGFkZCBhIGNoZWNrIG9uIHRoZSBudW1iZXIgb2YKCSAgaXRlbXMgdG8gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjc3NgoKMjAxMS0xMC0yMSAxMzoxODoyNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBmaXggcGFyc2luZyBvZiBSQU5HRVJFREZSTQoKMjAxMS0xMS0wMiAxMjoxMDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0YWc6IHVwZGF0ZSBmb3IgdGFnIEFQSSByZW1vdmFsCgoyMDExLTExLTAyIDEwOjMxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wMiAwOToxNDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXBkYXRlIGZvciB0YWdsaXN0IGFwaSBjaGFuZ2VzCgoyMDExLTEwLTI5IDA5OjA5OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgc3RydWN0dXJlOiBmaXggZm9yIGFwaSB1cGRhdGUKCjIwMTEtMTAtMjkgMDg6MjU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGNhcHM6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0xMS0wMSAxMTo0Nzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPbiBjYXB0dXJlIGVycm9yLCBza2lwIHByZXZpZXdzCgkgIFdoZW4gdGhlIGNhbWVyYSBzb3VyY2UgZmFpbHMgdG8gZG8gc29tZSBjYXB0dXJlLCBza2lwIHRoZSBuZXh0CgkgIHByZXZpZXcgYW5kIGRlY3JlbWVudCBwcm9jZXNzaW5nIGNvdW50ZXIuCgoyMDExLTExLTAxIDEwOjM4OjMzIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRyYWNrIGFsc28gcHJldmlldyBpbWFnZXMgd2l0aCBwcm9jZXNzaW5nIGNvdW50ZXIKCSAgTWFrZXMgY2FtZXJhYmluMiBvbmx5IHNpZ25hbCB0aGF0IGl0IGlzIGlkbGUgYWZ0ZXIgYWxsIHByZXZpZXdzIGhhdmUKCSAgYmVlbiBnZW5lcmF0ZWQsIGltYWdlcyBhcmUgY2FwdHVyZWQgYW5kIHNhdmVkLCBhbmQgdmlkZW9zIGhhdmUKCSAgYmVlbiBmaW5pc2hlZCBwcm9wZXJseS4KCjIwMTEtMTEtMDEgMTU6MDg6MjYgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IGFjY2VzcyB0byB1bmluaXRpYWxpemVkIG1lbW9yeQoJICBXaGVuIHZ1aS0+dGltaW5nX2luZm9fcHJlc2VudCBpcyAwLCB2dWktPmZpeGVkX2ZyYW1lX3JhdGVfZmxhZyBhbmQgb3RoZXJzCgkgIGNhbm5vdCBiZSBhY2Nlc3NlZCBzaW5jZSB0aGV5IGhhdmUgbm90IGJlZW4gc2V0LgoJICBJdCB3YXMgYWxzbyBwb3NzaWJsZSB0aGF0IHNwcy0+ZnBzX3tudW0sZGVufSBlbmQgdXAgaW5pdGlhbGl6ZWQgaGVyZS4KCjIwMTEtMTEtMDEgMTE6MTE6NDcgKzAwMDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGhhY2sgYXJvdW5kIGJyb2tlbiBtcGxleCAyLjAuMCBoZWFkZXJzIGluIG1wbGV4IGNoZWNrCgkgIER1ZSB0byB0aGUgYWRkaXRpb24gb2YgYW4gdW5jb25kaXRpb25hbCBpbmNsdXNpb24gb2YgY29uZmlnLmggaW4KCSAgbWpwZWd0b29sIDIuMC4wJ3Mgc3RyZWFtX3BhcmFtcy5oIGhlYWRlciB0aGUgYXV0b2NvbmYgdGVzdCBmb3IgdGhlCgkgIG1wbGV4IG1vZHVsZSBmYWlsZWQuIEhhY2sgYXJvdW5kIHRoaXMgaW4gdGhlIHNhbWUgd2F5IHdlIGRpZCBmb3IKCSAgbXBlZzJlbmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MTQKCjIwMTEtMTEtMDEgMTE6MDk6NTIgKzAwMDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB0eXBvIGluIG1wZWcyZW5jIGNoZWNrIHNvIENQUEZMQUdTIGdldCByZXN0b3JlZCBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYxNAoKMjAxMS0xMS0wMSAxMjoyOTozNSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggTUFYX1NQUy9QUFMgYm91bmRhcnkgY2hlY2tzCgoyMDExLTExLTAxIDEyOjEyOjU2ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGZpeCBleGl0IGNvZGUKCjIwMTEtMTEtMDEgMDA6NDU6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBVcGRhdGUgZm9yIHBhZCBBUEkgY2hhbmdlcwoJICBHc3RQcm9iZVR5cGUsIEdzdFByb2JlUmV0dXJuIGFuZCBHc3RBY3RpdmF0ZU1vZGUgLT4gR3N0UGFkKgoKMjAxMS0xMC0yOCAxMToxMDowNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBEb24ndCByZXNldCB0aGUgY29udGV4dCBvbiBESVNDT05UCgkgIE9uIGRpc2NvbnQsIHRoZSBxdWV1ZSBvZiBmcmFtZXMgd2FzIGJlaW5nIGNsZWFyZWQsIGJ1dCBhbHNvIHRoZQoJICBjb250ZXh0IHJlc2V0LiBXZSBvbmx5IG5lZWQgdG8gY2xlYXIgdGhlIHF1ZXVlLgoKMjAxMS0xMC0zMSAxNDo1MTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMzEgMTQ6NTE6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIGthdGUsIGJheWVyLCB0c2RlbXV4OiB1cGRhdGUgZm9yIGNhcHMgYW5kIHRhZ2xpc3QgQVBJIGNoYW5nZXMKCjIwMTEtMTAtMzEgMTQ6NTA6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBrYXRlIGFuZCBteXRodHYgdG8gbm9uLXBvcnRlZCBsaXN0CgkgIGthdGV0aWdlciBpc24ndCBwb3J0ZWQsIHNvIHBsdWdpbiBkb2Vzbid0IGJ1aWxkIGlmIGxpYnRpZ2VyIGlzIHByZXNlbnQuCgoyMDExLTEwLTMxIDExOjM2OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaGFuZGxlIGZhaWx1cmVzIGluIHN0YXJ0KCkgYW5kIHN0b3AoKQoKMjAxMS0xMC0zMSAwNjo1OTo1MyAtMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhc3JjOiBvcHRpbWl6ZSBzdGF0ZSBjaGFuZ2luZyBzcGVlZAoJICBDcmVhdGUgcHJldmlldyBwaXBlbGluZSBhbHJlYWR5IGluIGluaXRpYWxpemF0aW9uIHBoYXNlLiBUaGlzIHNwZWVkcwoJICB1cCBOVUxMX1RPX1JFQURZIHN0YXRlIGNoYW5nZS4gQWxzbyBpbXBsZW1lbnQgYSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IKCSAgc2V0dGluZyB0aGUgcHJldmlldyBmaWx0ZXIgZWxlbWVudC4KCSAgVGhpcyBhbHNvIHJlc3RyaWN0cyB0aGUgcHJldmlldyBmaWx0ZXIgcHJvcGVydHkgdG8gd29yayBvbmx5IG9uCgkgIE5VTEwgc3RhdGUuCgoyMDExLTEwLTI4IDE1OjE2OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbWFrZSBlbGVtZW50cyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yNyAxNjoyMzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI3IDE2OjIyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBhZGQgc3BhbmRzcCB0byBub24tcG9ydGVkCgoyMDExLTEwLTI3IDE2OjEzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0yMSAxNTowNDowNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkgIGludGVyZmFjZXM6IGNsZWFuIHVwIHRoZSB1c2Ugb2YgaWZhY2UgYW5kIGNsYXNzL2tsYXNzCgoyMDExLTEwLTE5IDEwOjI0OjUyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IENvcnJlY3QgdGhlIHBhcnNpbmcgb2YgRlJNUlRRX1BPU1RQUk9DIGFuZCBCSVRSVFFfUE9TVFBST0MKCjIwMTEtMTAtMjEgMTE6NDA6NTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogQ29ycmVjdCB0aGUgcGFyc2luZyBvZiBzZXF1ZWNlIGxheWVyLgoKMjAxMS0xMC0yMCAwOTozOToxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIERpc2FibGUgZXh0L2ZhYWQgZm9yIHRoZSBhbmRyb2lkIG5kayBidWlsZAoJICBJdCBjdXJyZW50bHkgbWFrZXMgdGhlIGJ1aWxkIGZhaWwuIElkZWEgaXMgdG8gZW5hYmxlCgkgIGl0IGJhY2sgYWdhaW4gb25jZSBpdHMgYnVpbGRpbmcgcHJvYmxlbXMgZ2V0IHNvcnRlZAoJICBvdXQuCgoyMDExLTEwLTE4IDE0OjQxOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBhc3NyZW5kZXIsIG51dmRlbXV4OiB1bnJlZiBidWZmZXJzIHdpdGggZ3N0X2J1ZmZlcl91bnJlZigpCgoyMDExLTEwLTE4IDE0OjMyOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xOCAxNDoyODowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdDogc3RhcnQgb2YgMC4xMSBwb3J0CgoyMDExLTEwLTE0IDExOjA3OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogQ29tcHV0ZSBwYXIgYW5kIGZwcyBpbiBhZHZhbmNlZCBwcm9maWxlCgoyMDExLTEwLTEwIDE0OjE5OjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSGFuZGxlIGludGVybGFjZWQgZmllbGRzCgoyMDExLTEwLTEwIDEwOjE0OjEyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSGFuZGxlIGludGVybGFjZWQgZnJhbWVzIHByb3Blcmx5CgoyMDExLTEwLTA3IDEzOjExOjU1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogVXNlIGVudW1zIHdoZW4gcG9zc2libGUKCSAgQWRkIEdzdFZDMUZyYW1lQ29kaW5nTW9kZSBhbmQgdXNlIGl0IGZvciB0aGUgZmNtIGZpZWxkCgkgIFVzZSBHc3RWQzFQaWN0dXJlVHlwZSBhcyB2YXJpYWJsZSB0eXBlIGZvciBwdHlwZQoJICBVc2UgR3N0VkMxTGV2ZWwgYXMgdmFyaWFibGUgdHlwZSBmb3IgbGV2ZWwKCjIwMTEtMTAtMDcgMTc6NDI6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChjaGVjayBmb3IgZXJyb3JzKS4KCjIwMTEtMTAtMDcgMTU6MjE6MzQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChJTlZFUlQgbW9kZSkuCgoyMDExLTEwLTA3IDEzOjU5OjI5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IE1WTU9ERSBhbmQgTVZNT0RFMiBwYXJzaW5nLgoKMjAxMS0xMC0wNSAxNzozOTo1OSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGhhbmRsZSBza2lwcGVkIHBpY3R1cmVzIGdyYWNlZnVsbHkuCgoyMDExLTEwLTA0IDE3OjM5OjQyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IGJpdHBsYW5lcyBkaWZmIG9wZXJhdG9yCgoyMDExLTEwLTA0IDE3OjM5OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogU29tZSBjb3NtZXRpY3MgYW5kIGRlYnVnIGxvZ2dpbmcgZW5oYW5jZW1lbnRzCgoyMDExLTEwLTA0IDE1OjE2OjA0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogSW1wbGVtZW50IGJpdHBsYW5lcyBoYW5kbGluZyBwcm9wZXJseQoJICBBZGQgYSBuZXcgR3N0VkMxQml0UGxhbmVzIEFQSS4KCjIwMTEtMTAtMDQgMTQ6MDQ6NDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggQkZSQUNUSU9OIHBhcnNlciAodmFsdWVzIHJhbmdlICsgb3ZlcmZsb3cpLgoKMjAxMS0xMC0wNCAxMTo1NzozNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBWTEMgZGVjb2RpbmcuCgoyMDExLTEwLTA1IDE2OjQwOjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IEZyYW1lTGF5ZXIgcGFyc2luZwoKMjAxMS0xMC0wNSAxMjoxNTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBTZXF1ZW5jZSBMYXllciBEYXRhIFN0cnVjdHVyZXMKCSAgSW5zdGVhZCBvZiBoYXZpbmcgYSBzaW5nbGUgVkMxU2VxdWVuY2VIZWFkZXIgc3RydWN0dXJlLCB1c2UgdGhlIDMgc3RydWN0cwoJICBmcm9tIHRoZSAiVGFibGUgMjY1OiBTZXF1ZW5jZSBMYXllciBEYXRhIFN0cnVjdHVyZSIgb2YgdGhlIHNwZWNpZmljYXRpb24KCSAgZm9yIHRoZSBsaWJyYXJ5IHRvIGJlIG1vcmUgZmxleGlibGUuCgkgIEltcGxlbWVudCB0aGUgZnVuY3Rpb25zIHRvIHBhcnNlIHRoZW0KCjIwMTEtMTAtMDUgMDg6MjY6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBDb21wdXRlIGZyYW1lcmF0ZSBhbmQgYml0cmF0ZSBpbiBzaW1wbGUvbWFpbiBwcm9maWxlcwoKMjAxMS0xMC0wMyAxNDoyNTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IGNvbXB1dGUgTUIgaGVpZ2h0IGFuZCB3aWR0aAoJICBBZGQgdGhlbSB0byBHc3RWQzFTZXF1ZW5jZUhkcgoKMjAxMS0xMC0wMyAxNTozNjowOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGRlYnVnIGNvc21ldGljcy4KCjIwMTEtMTAtMDMgMTE6NDI6MzIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiByZWNvcmQgcGljdHVyZSBsYXllciBoZWFkZXIgc2l6ZSBpbiBiaXRzLgoKMjAxMS0xMC0wMyAxMToxNDoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGNvbXB1dGUgYWx0cHF1YW50LgoKMjAxMS0xMC0wMyAxNDoyMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEZpeCBhZnRlciBHc3RWQzFQYXJzZXJSZXN1bHQgcmVuYW1pbmcKCjIwMTEtMDktMzAgMTI6NDE6MTMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiB1c2UgR3N0VkMxUGFyc2VyUmVzdWx0IHR5cGUgbmFtZSBzaW1pbGFybHkgdG8gb3RoZXIgcGFyc2Vycy4KCjIwMTEtMDktMzAgMTE6Mzg6MTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBoYW5kbGUgRW5kLW9mLVNlcXVlbmNlIGNvcnJlY3RseS4KCjIwMTEtMDktMTQgMTQ6MjE6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGZpeCBxdWFudF9tYXRyaXhfZXh0ZW5zaW9uKCkgcGFyc2VyIGZvciBjaHJvbWEgaW50cmEgUU0uCgoyMDExLTEwLTEzIDE2OjUyOjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgZGVidWcgbWVzc2FnZSBhbmQgcmVtb3ZlIHNvbWUgZGVhZCBjb2RlCgkgIFNlZSAjNjYxMTEzLgoKMjAxMS0xMC0wNiAxNjo1NTo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IHBhcnNpbmcgb2YgIm51bWJlck9mUGljdHVyZVBhcmFtZXRlclNldHMiCgkgIFNlZSAjNjYxMTEzLgoKMjAxMS0xMC0xNyAxMDoxOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogRml4IHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTEwLTE2IDE3OjQxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG06IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNjo0NToyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTY6Mjg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIGJheWVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTU6Mjg6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEzIDE2OjU3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBnc3RfYnVmZmVyX2pvaW4gaW5zdGVhZCBvZiBidWZmZXJsaXN0cwoJICBUaGlzIGlzICpyZWFsbHkqIGluZWZmaWNpZW50LiBXZSBzaG91bGQgdHJhY2sgbGlzdCBvZiBHc3RNZW1vcnkKCSAgaW5zdGVhZC4KCjIwMTEtMTAtMTMgMTY6NTc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUGx1ZyBtb3JlIGxlYWtzCgoyMDExLTEwLTEzIDE2OjU1OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIHNjYW4gbG9vcAoJICBBdm9pZHMgZW5kaW5nIHVwIGxlYWtpbmcgcGFja2V0cyB3aGVuIHdlIGdvdCBvbmUgYW5kIHJlcyB3YXMgZGlmZmVyZW50CgkgIGZyb20gR1NUX0ZMT1dfT0suCgkgIEl0IGFsc28gbG9va3MgbW9yZSBjb21wcmVoZW5zaWJsZQoKMjAxMS0xMC0xMyAxNjo1NTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBsZWFrIHVwc3RyZWFtIGV2ZW50cwoKMjAxMS0xMC0xMyAxNjo1NTowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBjb2RlIHRvIGNvcGUgd2l0aCBnX2hhc2hfdGFibGVfZm9yZWFjaF9yZW1vdmUoKQoKMjAxMS0xMC0xMiAxODowNTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4L3RzcGFyc2U6IFBvcnQgdG8gMC4xMQoJICBUaGlzIGlzIGEgbmFpdmUgcG9ydCB0aGF0IHNvbWV3aGF0IHdvcmtzIGJ1dCBpcyBpbmVmZmljaWVudC4KCSAgSSBuZWVkIHRvIHJldGhpbmsgaG93IHRvIG1ha2UgdGhlIGJlc3Qgb3V0IG9mIEdzdE1lbW9yeS9Hc3RCdWZmZXIKCjIwMTEtMTAtMTIgMTI6MDk6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hlY2sgYmVmb3JlIGFjZXNzaW5nIHByZXZpZXcgbG9jYXRpb24gbGlzdAoJICBPbmx5IGFjY2VzcyB0aGUgcHJldmlldyBsb2NhdGlvbiBpZiBpdCBleGlzdHMsIHRvIGF2b2lkIGFjZXNzaW5nCgkgIGEgTlVMTCB2YXJpYWJsZS4gSWYgdGhlIHByZXZpZXcgbG9jYXRpb24gbGlzdCBkb2Vzbid0IGV4aXN0LCBpdCBpcwoJICBsaWtlbHkgYmVjYXVzZSB0aGUgc291cmNlIGhhcyBwb3N0ZWQgYSBwcmV2aWV3IG1lc3NhZ2UgYWZ0ZXIgY2FtZXJhYmluMgoJICBoYXMgYmVlbiBwdXQgdG8gUkVBRFkuCgoyMDExLTA4LTA3IDE3OjAxOjQ4ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htOiBBZGQgYnVmZmVyLXRpbWUgcHJvcGVydHkKCSAgQWRkIGEgYnVmZmVyLXRpbWUgcHJvcGVydHkgdG8gbGltaXQgdGhlIHNpemUgb2YgdGhlIGFtb3VudCBvZiBkYXRhCgkgIHF1ZXVlZCBpbiB0aGUgc2htc2luayBidWZmZXIgaW4gbmFub3NlY29uZHMuCgkgIEZpeGVzOiAjNjU2MTA3CgoyMDExLTA4LTA3IDE2OjM2OjMyICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgYWJpbGl0eSB0byBhZGQgdWludDY0IHRhZ3Mgb24gYnVmZmVycwoKMjAxMS0xMC0xMSAyMzozMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBTZXQgcHJldmlldyBwaXBlbGluZSB0byByZWFkeSB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIFRoZSBwcmV2aWV3IHBpcGVsaW5lIHNob3VsZCBnbyB0byByZWFkeSB3aGVuIHRoZSBjYW1lcmFzcmMgZ29lcwoJICB0byByZWFkeSwgYXMgaW4gcmVhZHkgZWxlbWVudHMgc2hvdWxkbid0IGJlIHByb2Nlc3NpbmcgZGF0YS4KCjIwMTEtMTAtMTEgMjM6MTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBtdXRleCB0byBhdm9pZCBjb25jdXJyZW50IGFjY2VzcyBvZiBwcmV2aWV3IGZpbGVuYW1lIGxpc3RzCgkgIFRoZSBwcmV2aWV3IGZpbGVuYW1lIGxpc3QgaXMgYWNlc3NlZCB3aGVuZXZlciBhIG5ldyBjYXB0dXJlIGlzIHN0YXJ0ZWQsIHdoZW4KCSAgY2FtZXJhLXNvdXJjZSBwb3N0cyBhIG5ldyBwcmV2aWV3IG1lc3NhZ2Ugb3Igb24gc3RhdGUgY2hhbmdlcy4gQWxsIG9mIHRob3NlIGNhbgoJICBvY2N1ciBzaW11bHRhbmVvdXNseSwgc28gYWRkIGEgbXV0ZXggdG8gcHJldmVudCBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMTEtMTAtMDcgMTA6NDg6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVzZXQgYXVkaW9zcmMgdGltZXN0YW1waW5nCgkgIFJlc2V0IGF1ZGlvc3JjJ3MgdGltZXN0YW1waW5nIGRhdGEgYnkgc2V0dGluZwoJICBpdCB0byBOVUxMIHRvIHJlc2V0IHRoZSByaW5nYnVmZmVyIGFuZCB0aGVuIHJlLXNldGluZwoJICB0aGUgY2xvY2sgdGhhdCBjYW1lcmFiaW4gbWlnaHQgbm90IHJlZGlzdHJpYnV0ZQoKMjAxMS0xMC0xMSAxNjoyNzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IFByZXZlbnQgYXVkaW8gc291cmNlIGZyb20gcHJvdmlkaW5nIGNsb2NrCgkgIGNhbWVyYWJpbidzIGF1ZGlvIHNvdXJjZSBtaWdodCBiZSBwdXQgdG8gTlVMTCBkdXJpbmcgaXRzCgkgIHVzZSwgc28gdGhlIGNsb2NrIHdvdWxkIGJlIGxvc3QuIEJldHRlciBub3QgYWxsb3cgaXQgdG8KCSAgcHJvdmlkZSBhIGNsb2NrIGF0IGFsbC4KCjIwMTEtMTAtMTEgMTE6MDU6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG9wZW5hbCBpcyBub3QgcG9ydGVkIHlldAoKMjAxMS0xMC0xMCAxMTo0MTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEwOjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDE1OjE2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDE0OjIyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDEzOjE0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRpc2FibGUgZGlyZWN0ZmIKCjIwMTEtMTAtMDggMTI6MDc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjU3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NDA6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMToxNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDYgMjM6MjI6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGV4YW1wbGVzOiBGaXhlcyBmb3IgY29tcGlsaW5nIHdpdGggR1RLKyAzLjAKCSAgY2FtZXJhYmluZyBleGFtcGxlIGhhZCBhIG1pc3NpbmcgJyknIGFuZCB0aGUgZml4IHRvIGJ1aWxkIGFnYWluc3QgR1RLKzMKCSAgdGhhdCB3YXMgaW50cm9kdWNlZCBpbiBjb21taXQgNTE2Yzk3N2M3NmJhNGNkODZhNzE0N2FhYjc0MTZhMzNkNzZmODcwZgoJICBpcyBhbHNvIGFwcGxpZWQgdG8gdGhlIGNhbWVyYWJpbjIgZXhhbXBsZS4KCSAgVGhlIHNjYWxldGVtcG8gZGVtbyB3YXMgdXNpbmcgQVBJIHdoaWNoIGhhcyBiZWVuIHJlbW92ZWQsIHNvIHRoYXQncwoJICB3cmFwcGVkIGluIGEgdmVyc2lvbiBjaGVjay4KCjIwMTEtMTAtMDYgMTc6NTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGJlZ2lubmluZyBvZiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDYgMTI6MTU6NDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTWFrZSBwcm9wZXIgdXNlIG9mIHRoZSBoMjY0cGFyc2VyIGxpYiBpbiBwYXJzZV9jaGFpbgoJICBNaW5vciBkZWJ1Z2dpbmcgbG9ncyBmaXhlcwoKMjAxMS0xMC0wNiAxNDowNTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDYgMTQ6MDM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA2IDEyOjI1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJvcGVybHkgaW50ZXJwcmV0IGJhc2VwYXJzZSBkcmFpbmluZyBzdGF0ZQoJICAuLi4gd2hpY2ggbWVhbnMgdGhlIGlucHV0IGRhdGEgaGFzIHJlYWNoZWQgdGhlIGVuZCwgYnV0IG5lZWQgbm90IGV4Y2x1ZGUKCSAgbWFueSBzZXBhcmF0ZSBmcmFtZXMgbWF5IHN0aWxsIG5lZWQgcGFyc2luZy4KCSAgRml4ZXMgbWVyZ2luZyBOQUxzIGludG8gQVUuCgoyMDExLTEwLTA1IDIzOjE0OjIzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgdGhlIHNpemUgYXJndW1lbnQgb2YgZ3N0X2gyNjRfcGFyc2VyX2lkZW50aWZ5X25hbHVfYXZjKCkKCjIwMTEtMTAtMDUgMTI6MDk6MDQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWluaW11bSBzaXplIG9mIHBhcnNhYmxlIGF2Y0MgZGF0YSBzaG91bGQgYmUgOAoKMjAxMS0xMC0wNiAxMDo1ODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDUgMjA6MDY6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNSAxMjo1MzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IG1vcmUgcG9ydGluZwoKMjAxMS0xMC0wNCAxODo1NDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTg6Mzg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDE4OjM1OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtb3JlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMDQgMTQ6MzA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICB0ZXN0czogcG9ydAoKMjAxMS0xMC0wNCAxNDoyNzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgdmlkZW86IHN0YXJ0IHBvcnRpbmcgc29tZSBiYXNlIGNsYXNzZXMKCjIwMTEtMTAtMDQgMTQ6Mjc6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTEtMTAtMDQgMTQ6MjY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogcmVtb3JlIGltcGxlbWVudC1pbnRlcmZhY2UKCjIwMTEtMTAtMDQgMTQ6MjU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1vcmUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0wNCAxMzozMzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDEzOjMzOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2UgcmlnaHQgY2FwcwoKMjAxMS0xMC0wNCAxMzoyOToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDQgMTI6MzE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBPbmx5IGZhaWwgdG8gaW5pdGlhbGl6ZSB0aGUgcGx1Z2luIGlmIGFsbCBwYXJzZXJzIGNhbid0IGJlIHJlZ2lzdGVyZWQKCjIwMTEtMTAtMDMgMTU6MjY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBJbml0aWFsaXplIGNhbWVyYWJpbjIgcHJldmlldyBwaXBlbGluZSBkYXRhIHdpdGggMAoJICBVc2UgZ19uZXcwIHRvIGluaXRpYWxpemUgYWxsIGZpZWxkcyB3aXRoIDAgdG8gb25seSBjbGVhbnVwIHdoYXQgaGFzIGJlZW4KCSAgaW5pdGlhbGl6ZWQuIFRoaXMgbWFrZXMgY2xlYW51cCB3b3JrIGNvcnJlY3RseSB3aGVuIHNvbWUgaW5pdGlhbGl6YXRpb24KCSAgZmFpbHMgYW5kIHBvaW50ZXJzIGFyZSBsZWZ0IGluIHNvbWUgaW5jb25zaXN0ZW50IHN0YXRlLgoKMjAxMS0xMC0wMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IEZpeCB0eXBvCgoyMDExLTA5LTIzIDIyOjU4OjMwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IFVwZGF0ZSB0aGUgcGF5L2RlcGF5IHRvIHRoZSBpZXRmLWRyYWZ0LTAxIHNwZWMKCjIwMTEtMTAtMDMgMTE6MjQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI4IDE0OjU3OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGRlY29kaW5nCgkgIEEgc2ltcGxlIC4uLiBvcHVzZW5jICEgb3B1c2RlYyAuLi4gcGlwZWxpbmUgbm93IHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDE0OjU2OjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbW9hbiBpZiB3ZSBnZXQgYW4gdW5leHBlY3RlZCBhbW91bnQgb2YgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDE0OjIyOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBwcm9wZXJseSBzZXR1cCBjYXBzIGFuZCBpbml0IHN0YXRlIGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI1OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdXNlIHRoZSBzYW1lIGZyYW1lIHNpemUgc2V0dXAgYXMgdGhlIG9wdXMgdGVzdCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjQ6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBvcHVzIHN1cHBvcnRzIGEgc2VsZWN0IHNldCBvZiBzYW1wbGluZyByYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI0OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBtYWtlIGl0IGJ1aWxkIGFnYWluc3QgY3VycmVudCwgYW5kIHJlbW92ZSBjcnVmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTMwIDE4OjU0OjA0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzY2FubmluZyBzdG9wcGluZyB0b28gZWFybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODI0NQoKMjAxMS0wOS0yOSAyMDo1NToyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBhdm9pZCByZW5kZXJpbmcgd2hlbiB3ZSBrbm93IHRoZXJlIGlzIG5vdGhpbmcgdG8gcmVuZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MjgKCjIwMTEtMTAtMDEgMTQ6MzA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHJhY2UgY29uZGl0aW9uIG9uIFBBVVNFRC0+UkVBRFkgc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA2MzAKCjIwMTEtMDktMjEgMTQ6NTM6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHRha2UgaW50byBhY2NvdW50IFNDUiBvZmZzZXQgd2hlbiBzZWVraW5nCgkgIFNpbmNlIHRoZSBzZWVraW5nIGJ5dGUgb2Zmc2V0IGlzIGNob3NlbiBieSBsaW5lYXIgaW50ZXJwb2xhdGlvbgoJICBmcm9tIFNDUiB2YWx1ZXMsIHdlIG5lZWQgdG8gdGFrZSB0aGF0IGZpcnN0IFNDUiBpbnRvIGFjY291bnQKCSAgdG8gZW5kIHVwIG5lYXIgdGhlIGNvcnJlY3Qgb2Zmc2V0LiBPdGhlcndpc2UsIGFzIHRoZSBjb2RlIGRvZXMKCSAgYSBsaW5lYXIgc2VhcmNoIGFmdGVyIHRoYXQgZmlyc3Qgc2VlaywgaXQgd2lsbCB0YWtlIGEgTE9PT09PT05HCgkgIHRpbWUgdG8gZ2V0IHRoZXJlIGZvciBzdHJlYW1zIHdoaWNoIGRvbid0IHN0YXJ0IGF0IHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjEgMTc6Mjk6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhbnN3ZXIgcG9zaXRpb24gcXVlcnkgd2l0aCBhIHN0cmVhbSB0aW1lIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjAgMTU6MjE6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yOSAxODoyMDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBSZWZhY3RvciB0ZXN0cyBhIGxpdHRsZQoJICBSZWZhY3RvciBjYW1lcmFiaW4yIHRlc3RzIGEgbGl0dGxlCgoyMDExLTA5LTI5IDEzOjAzOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGFkZGluZyB0ZXN0cyB0byBjaGVjayBmb3IgcHJldmlldyBtZXNzYWdlIGZpbGVuYW1lcwoJICBQcmV2aWV3IG1lc3NhZ2VzIG5vdyBoYXZlIGZpbGVuYW1lcywgYWRkIHRlc3RzIHRvIGNoZWNrIHRoYXQgdGhleSBhcmUKCSAgY29ycmVjdAoKMjAxMS0wOS0yOSAxODowMzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogYWRkIGxvY2F0aW9uIHRvIHByZXZpZXcgaW1hZ2UgbWVzc2FnZXMKCSAgTWFrZXMgY2FtZXJhYmluMiBpbnRlcmNlcHQgcHJldmlldy1pbWFnZSBtZXNzYWdlcyBhbmQgYWRkCgkgIHRoZSBmaWxlbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBtZXNzYWdlIHN0cnVjdHVyZSBpbiB0aGUKCSAgJ2xvY2F0aW9uJyBmaWVsZC4KCSAgTWFrZXMgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMgdG8gdHJhY2sgcHJldmlldyBpbWFnZXMKCjIwMTEtMDktMjcgMTM6MDQ6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92aW5nIGNhcHNmaWx0ZXIgZnJvbSBwcmV2aWV3IHBpcGVsaW5lCgkgIGFwcHNpbmsgYWxyZWFkeSBoYXMgYSBjYXBzIHByb3BlcnR5LCBzbyB3ZSBkb24ndCBuZWVkIHRoZQoJICBjYXBzZmlsdGVyIGhlcmUKCjIwMTEtMDktMjkgMTY6MjI6MDAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHBvdGVudGlhbCBsb3NzIG9mIEVPUyBldmVudAoJICBTZXR0aW5nIHRoZSBhdWRpbyBzb3VyY2UgdG8gTlVMTCBqdXN0IGFmdGVyIHB1c2hpbmcgdGhlIEVPUyBldmVudAoJICBvbiBpdCBjb3VsZCBwb3RlbnRpYWxseSBjYXVzZSBsb3NzIG9mIHNhaWQgRU9TIGV2ZW50LiBJbnN0ZWFkLCB3ZQoJICBjYW4gc2V0IHRoZSBhdWRpbyBzb3VyY2UgdG8gTlVMTCB3aGVuIHJlYWR5LWZvci1jYXB0dXJlIGlzCgkgIHNpZ25hbGxlZCBhbmQgdGhlIGJvb2xlYW4gdmFsdWUgaXMgdHJ1ZSBhcyB0aGlzIGluZGljYXRlcyB3ZSBhcmUKCSAgbm90IGN1cnJlbnRseSBjYXB0dXJpbmcgdmlkZW8uCgoyMDExLTA5LTI4IDEzOjAxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBwb3J0ZWQgZmFhZCBhbmQgc2RwIGVsZW1lbnRzCgoyMDExLTA5LTI4IDEyOjU0OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IHJlbW92ZSBpbXBsZW1lbnRzLWludGVyZmFjZSBwcmVyZXF1aXNpdGUKCjIwMTEtMDktMjggMTI6NTQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIHVzZSB0aGUgMC4xMSBicmFuY2ggb2YgY29tbW9uCgoyMDExLTA5LTI3IDEzOjIyOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjYgMjI6MzE6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI2IDIyOjMwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDE3OjIzOjQxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFN0b3AgdGhlIGF1ZGlvIHNvdXJjZSBiZXR3ZWVuIGNhcHR1cmVzCgkgIE1vdmUgdGhlIGF1ZGlvIHNvdXJjZSBzZXR0aW5nIG9mIHN0YXRlIHRvIE5VTEwgdG8gX3N0b3BfY2FwdHVyZSAoKSB0bwoJICBhdm9pZCB0aGUgYXVkaW8gc291cmNlIHJ1bm5pbmcgYmV0d2VlbiBjYXB0dXJlcy4KCjIwMTEtMDktMjYgMTY6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBbHNvIHNldCBtYXhpbXVtIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgdGhlIHN1YmNsYXNzIHdhbnRzCgoyMDExLTA5LTI2IDE2OjA1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogU2ltcGxlIGZpeCBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMDgtMjMgMTg6MjU6MjAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogVkMxOiBJbXBsZW1lbnQgYSBWQzEgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA5LTE2IDE5OjAzOjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogRGVjbGFyZSB0aGUgbmV3IEFQSXMgYXMgdW5zdGFibGUgZm9yIHRoZSB0aW1lIGJlaW5nCgoyMDExLTA5LTI2IDExOjQ0OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGtlZXAgQ1JDIHRhYmxlIGluIC5yb2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDExOAoKMjAxMS0wOS0yMCAxNjoyOTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkgIGlydHNwcGFyc2U6IGFkZCBJbnRlcmxlYXZlZCBSVFNQIHBhcnNlciBlbGVtZW50CgoyMDExLTA5LTIzIDEwOjEwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZmFhZC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2ZhYWRfcGFyc2UnOgoJICBnc3RmYWFkLmM6NjE1OjExOiBlcnJvcjogJ2xlbicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDExLTA5LTIzIDA5OjU3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcGFyc2Ugd2FudHMgYSBHc3RGbG93UmV0dXJuIHJldHVybiB2YWx1ZSwgbm90IGEgZ2Jvb2xlYW4KCjIwMTEtMDktMjIgMjA6MTE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJICBwc211eDogZml4IHdyaXRpbmcgb2Ygc3lzdGVtIGhlYWRlciwgd2hpY2ggbWFrZXMgVkxDIG5vdCBza2lwIHRoZSBhZGphY2VudCBQU00gYW5kIHBsYXkgZW1iZWRkZWQgSC4yNjQgc3RyZWFtcwoJICBoZWFkZXJfbGVuZ3RoIGNvbnRhaW5zIHRoZSBsZW5ndGggaW4gYnl0ZXMgYWZ0ZXIgdGhlIGhlYWRlcl9sZW5ndGgKCSAgZmllbGQsIGV4Y2x1ZGluZyB0aGUgNiBieXRlIHN0YXJ0IGNvZGUgYW5kIGhlYWRlcl9sZW5ndGggZmllbGQuCgkgIEguMjY0IHN0cmVhbXMgYW5kIHNvbWUgb3RoZXIgZm9ybWF0cyBuZWVkIHRvIGJlIGFubm91bmNlZCBpbiB0aGUgUFNNLgoJICBWTEMgd291bGRuJ3QgcGxheSBmaWxlcyBjcmVhdGVkIHdpdGggbXBlZ3BzbXV4IGNvbnRhaW5pbmcgSC4yNjQgYmVjYXVzZQoJICB3ZSBjbGFpbSB0aGUgc3lzdGVtIGhlYWRlciBpcyBsYXJnZXIgdGhhbiBpdCBhY3R1YWxseSBpcywgd2hpY2ggbWFrZXMKCSAgVkxDIHNraXAgdGhlIHByb2dyYW0gc3RyZWFtIG1hcCB3aGljaCBmb2xsb3dzIHRoZSBzeXN0ZW0gaGVhZGVyLCB3aGljaAoJICBpbiB0dXJuIG1ha2VzIGl0IG5vdCByZWNvZ25pc2Ugb3VyIEguMjY0IHZpZGVvIHN0cmVhbS4KCjIwMTEtMDktMjIgMjA6MDk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzLy5naXRpZ25vcmU6CgkgIGRvY3M6IGFkZCBpZ25vcmUgcnVsZXMgZm9yIGxpYnMgZG9jcyBkaXJlY3RvcnkKCjIwMTEtMDktMjIgMTg6MjM6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXh1cCBtaXN1bmRlcnN0YW5kaW5nIGluIHNhbXBsZSBjb3VudGluZwoJICAuLi4gYmV0d2VlbiBjb2RlYyBhbmQgYXVkaW9lbmNvZGVyIHJlZ2FyZGluZyB3aGV0aGVyIG9yIG5vdCBjaGFubmVsCgkgIGNvdW50IGlzIGFscmVhZHkgY29uc2lkZXJlZC4KCSAgRml4ZXMgIzY1OTgzNi4KCjIwMTEtMDktMjIgMTY6MDE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDExLTA5LTIyIDA5OjQ5OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMDktMjEgMTY6MTE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDExLTA5LTIxIDE2OjAxOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjAgMTY6NTQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZvcndhcmQgcmV0dXJuIGNvZGUgZnJvbSBzZXR0aW5nIHNyYyBwYWQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjA2CgoyMDExLTA5LTIwIDEzOjAwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhc3JjOiBGYWlsIHN0YXRlIGNoYW5nZSBpZiBwcmV2aWV3IHBpcGVsaW5lIGZhaWxzIGNyZWF0aW9uCgkgIElmIHRoZSBwcmV2aWV3IHBpcGVsaW5lIGZhaWxzIGNyZWF0aW9uLCBmb3IgYW55IHJlYXNvbiwgd2Ugc2hvdWxkCgkgIGZhaWwgYmFzZWNhbWVyYXNyYyBzdGF0ZSBjaGFuZ2UuCgkgIEFsc28gYWRkcyBhIG1pc3NpbmcgZ19yZXR1cm5faWZfZmFpbCBjaGVjayB0byBwcmV2aWV3IHBpcGVsaW5lCgkgIGZ1bmN0aW9ucwoKMjAxMS0wOS0xOSAxNjozMjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBjaGVja3MgdG8gaW5wdXQsIGFuZCBmaXggc2l6ZSBjaGVja2luZwoKMjAxMS0wOS0xOSAxNDo1NDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGJyaW5nIGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gZGVzaXJlZCBzcGVjcwoKMjAxMS0wOS0xOSAxNDowNzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGJyaW5nIGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gZGVzaXJlZCBzcGVjcwoKMjAxMS0wOS0xOSAxMzo0MTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2luZ2xpYnM6IERvYyBhbmQgaW5kZW50YXRpb24gZml4ZXMKCjIwMTEtMDktMTAgMTE6MzE6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBmaXggYml0c3RyZWFtIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGtpbmQgb2YgYml0cmVhZGVyCgkgIFZQOCB1c2VzIGEgcHJvYmFiaWxpc3RpYyBib29sIGNvZGVyLCBub3QgYSBzdHJhaWdodCBiaXQgY29kZXIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyB3aGVuIGVycm9yLXJlc2lsaWVudCBpcyBzZXQuCgkgIFRoaXMgY29tbWl0IGluY2x1ZGVzIGEgY29weSBvZiBsaWJ2cHgncyBib29sIGNvZGVyLCBCU0QgbGljZW5zZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2OTQKCjIwMTEtMDktMTQgMjA6MjI6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IGEgYml0IG1vcmUgZXJyb3IgY2hlY2tpbmcgb24gaGVhZGVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxOTo1Njo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGNsZWFudXAgaGVhZGVyIGNyZWF0aW9uCgkgIEF2b2lkIGFuIGV4dHJhIGNvcHkgdmlhIGEgdGVtcG9yYXJ5IGZpeGVkIHNpemUgc3RhY2sgYnVmZmVyLgoJICBVc2UgbGliY2VsdCdzIGhlYWRlciBzaXplIHRvIGFsbG9jYXRlIGEgYnVmZmVyIG9mIHRoZSBjb3JyZWN0CgkgIHNpemUgaW4gdGhlIGZpcnN0IHBsYWNlIChsaWJjZWx0IGhhcyBhbiBvZmYgYnkgNCB0aGVyZSwgc28KCSAgYWNjb3VudCBmb3IgdGhpcykuCgkgIFdoaWxlIHRoZXJlLCBtYWtlIHNpemUgdW5zaWduZWQsIGFuZCBncmFucG9zIHNpZ25lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxOTowOTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE3OjI2OjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogZml4IGVycm9yIGNoZWNraW5nIHdpdGggbGliY2VsdCAwLjExCgkgIFRoZSByZXR1cm4gdmFsdWUgb2YgY2VsdF9kZWNvZGUgaGFzIGNoYW5nZWQsIG5ld2VyIHZlcnNpb25zCgkgIG5vdyByZXR1cm4gcG9zaXRpdmUgdmFsdWVzIG9uIHN1Y2Nlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTc6MDc6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IGFsbG93IGFjdHVhbGx5IG92ZXJyaWRpbmcgZnJhbWUgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTEzIDE2OjI0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmbHVzaCBvbiBzZWVrLCBhbmQgZW5zdXJlIHdlIGNhbmNlbCBhbnkgd2FpdGluZyBidWZmZXIKCSAgVGhpcyBpcyB3aGF0IHBhbmdvIHRleHRvdmVybGF5IGRvZXMsIGFuZCBJJ3ZlIGhhZCB0aGF0IGNvbmRpdGlvbgoJICB2YXJpYWJsZSBnZXQgc3R1Y2sgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODk0MAoKMjAxMS0wOS0xMiAxMToxNzoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3QgdHJ5IHRvIHJlYWQgZnJvbSBhIG5vbiBleGlzdGVudCBWVUkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODgwMAoKMjAxMS0wOS0xNiAwMDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyAyIG1vcmUgbG9nIG1lc3NhZ2VzCgoyMDExLTA5LTE0IDE1OjIwOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogcmVwbGFjZSBkZXByZWNhdGVkIGdfYXRvbWljX2ludF9leGNoYW5nZV9hbmRfYWRkCgkgIEl0IHdhcyByZXBsYWNlZCBieSBnX2F0b21pY19pbnRfYWRkLCB3aGljaCBub3cgcmV0dXJucyB0aGUKCSAgb2xkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDYxCgoyMDExLTA5LTE1IDE3OjM1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVzZXQgbGFzdCBzdGF0ZSBjaGFuZ2UgcmVzdWx0IG9uIHN0YXRlLWxvY2tlZCBlbGVtZW50cwoJICBBbiBlbGVtZW50IHN0b3JlcyB0aGUgcmVzdWx0IGZvciB0aGUgbGFzdCBzdGF0ZSBjaGFuZ2UgaXQgZGlkIGFuZAoJICBHc3RCaW4ncyBzdGF0ZSBjaGFuZ2UgaGFuZGxlciB3aWxsIHVzZSB0aGlzIGxhc3QgcmVzdWx0IGZvciBzdGF0ZQoJICBsb2NrZWQgZWxlbWVudHMgdG8gZGVjaWRlIGlmIGl0cyBzdGF0ZSBjaGFuZ2Ugd2FzIHN1Y2Nlc3NmdWxsIG9yIG5vdC4KCSAgSW4gY2FtZXJhYmluMiwgdGhlIGZpbGVzaW5rcyBoYXZlIHRoZWlyIHN0YXRlIGxvY2tlZCBhbmQgd2hlbiB0aGV5CgkgIGZhaWwgc3dpdGNoaW5nIHN0YXRlcywgdGhpcyBsYXN0IGZhaWx1cmUgd2lsbCBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbgoJICB0cmllcyB0byBjaGFuZ2UgY2FtZXJhYmluMidzIHN0YXRlLCBjYXVzaW5nIGFueSBzdGF0ZSBjaGFuZ2UgdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBjYW1lcmFiaW4yIHJlc2V0IHRoaXMgbGFzdCBjaGFuZ2UgZmFpbHVyZSwgYXZvaWRpbmcKCSAgdGhhdCBjYW1lcmFiaW4yIGZhaWxzIG9uIGl0cyBuZXh0IHN0YXRlIGNoYW5nZXMuCgoyMDExLTA5LTE1IDE4OjE3OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFucGxjOiBGaXggdHlwb3MKCjIwMTEtMDktMTMgMjA6NDA6MzUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEhhbmRsZSBwcm9wZXJseSBmcmFtZSBkZXRlY3Rpb24KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgYnVmZmVycyBjb250YWluaW5nIG5vIHN0YXJ0Y29kZQoJICBpbiB0aGUgbWlkZGxlIG9mIGEgZnJhbWUgcHJvcGVybHkuCgoyMDExLTA5LTEzIDIwOjM4OjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogRGVidWdnaW5nIHN5bWJvbHMgZW5oYW5jZW1lbnRzCgoyMDExLTA5LTEyIDEzOjU0OjM3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQWRkIHRoZSBDaHJvbWFUeXBlIGVudW0KCjIwMTEtMDktMTIgMTM6NDE6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBDaGFuZ2UgYnJva2VuX2dvcCB0byBicm9rZW5fbGluawoJICBUaGlzIHdheSB3ZSByZXNwZWN0IHRoZSBzdGFuZGFyZCBuYW1pbmcKCjIwMTEtMDktMTQgMTY6MTQ6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBzZW5kIGEgdmlkZW8tY29kZWMgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkzMDUKCjIwMTEtMDktMTIgMTY6NTA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGVjayB6b29tIG5vdGlmeSBjYWxsYmFjayBmcm9tIGNhbWVyYS1zb3VyY2UKCSAgQ2FtZXJhYmluMiBoYXMgYSB6b29tIHByb3BlcnR5IHRoYXQgaXMgc2ltcGx5IHByb3hpZWQgdG8gaXRzCgkgIGludGVybmFsIGNhbWVyYS1zb3VyY2UgZWxlbWVudC4gVGhpcyBwYXRjaCBtYWtlcyBjYW1lcmFiaW4yIGxpc3RlbgoJICB0byAnbm90aWZ5JyBzaWduYWxzIGZyb20gaXQgc28gaXQgY2FuIHVwZGF0ZSBpdHMgem9vbSBwcm9wZXJ0eSB2YWx1ZQoJICB3aGVuIGNhbWVyYS1zb3VyY2UgY2hhbmdlcyBpdHMgem9vbSBhcyBhIHNpZGUtZWZmZWN0IG9mIGFub3RoZXIgb3BlcmF0aW9uCgkgIG9yIGJlY2F1c2UgdGhlIHVzZXIgc2V0IHRoZSB6b29tIGRpcmVjdGx5IHRvIGl0LCBpbnN0ZWFkIG9mIGRvaW5nCgkgIGl0IGZyb20gY2FtZXJhYmluMi4KCjIwMTEtMDgtMjkgMDg6MDA6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGRvbid0IGJsb2NrIHRoZSBtYWluIHRocmVhZCB3aXRoIFJUTVBfQ29ubmVjdAoJICBNb3ZlIHRoZSBSVE1QX0Nvbm5lY3QgY2FsbCBmcm9tIHRoZSBtYWluIHRocmVhZCAoOjpzdGFydCkgdG8gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgKDo6cmVuZGVyKS4KCjIwMTEtMDktMTIgMTA6MzM6MDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA5LTEyIDEwOjIzOjE5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOS0wOSAxNDoyMjozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNYWtlIHVzZSBvZiB0aGUgaDI2NF9uYWxfcGFyc2VyX2ZyZWUgZnVuY3Rpb24KCjIwMTEtMDktMDkgMTQ6MTU6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBJbXBsZW1lbnQgdGhlIG5hbF9wYXJzZXJfZnJlZSBmdW5jdGlvbgoKMjAxMS0wOS0wNiAyMToyOToyOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IFVzZSBnX3NsaWNlIGluc3RlYWQgb2YgZ19tYWxsb2MgaW4gbmFsX3BhcnNlcl9uZXcKCjIwMTEtMDktMDYgMjE6Mjg6NDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbgoJICBGaXggYSBmZXcgZXJyb3IuCgkgIERvY3VtZW50IG1pc3NpbmcgcGFydHMuCgkgIEFkZCBsaW5rcyB0byB0aGUgc3BlY2lmaWNhdGlvbnMKCjIwMTEtMDktMDkgMTI6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggbWVyZ2UgbWlzdGFrZSBmcm9tIGxhc3QgY29tbWl0CgoyMDExLTA5LTA4IDIzOjU2OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlcG9ydCB0aGUgY29ycmVjdCB0aW1lc3RhbXAgZm9yIGxpdmUgc3RyZWFtcwoJICBCdWZmZXJzIHdvdWxkIGFsd2F5cyBzdGFydCB3aXRoIHRpbWVzdGFtcCAwIGFuZCB3ZSdkIHN0YXJ0IHN0cmVhbWluZwoJICBmcm9tIHRoZSBmaXJzdCBidWZmZXIsIGJ1dCBsaXZlIHN0cmVhbXMgYWx3YXlzIHN0YXJ0IHN0cmVhbWluZyBmcm9tCgkgIHRoZSBsYXN0IGZyYWdtZW50IC0gMyBmcmFnbWVudHMgaW4gdGhlIHBsYXlsaXN0LCB3aGljaCBtYWtlcyBpdHMKCSAgdGltZXN0YW1wLCBhcyByZXR1cm5lZCBieSBnZXRfbmV4dF9mcmFnbWVudCwgYmUgd2hhdGV2ZXIgcG9zaXRpb24KCSAgdGhleSBoYWQgaW4gdGhlIHBsYXlsaXN0LiBUaGlzIG1ha2VzIHN1cmUgdGhlIHBvc2l0aW9uIGNvcnJlY3RseQoJICByZXBvcnRzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyIGluIHRoZSBwbGF5bGlzdCwgYW5kIGFkZGVkIGEgc2hpZnRpbmcKCSAgdmFyaWFibGUgdG8gYWxsb3cgc2Vla2luZyBpbiB0aGUgbWlkZGxlIG9mIGZyYWdtZW50cy4KCjIwMTEtMDktMDggMjI6MTM6MTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIGhsc2RlbXV4L3RzZGVtdXg6IEFkZCBIUCBjb3B5cmlnaHQgb24gd29yayBkb25lIG9uIEhMUwoKMjAxMS0wOS0wOCAyMDoyOTo0MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCBwbGF5bGlzdCB0byBOVUxMIGFmdGVyIHVucmVmZmluZyBpdCB0byBhdm9pZCBhIGRvdWJsZS11bnJlZiBpbiB0aGUgZGlzcG9zZQoKMjAxMS0wOS0wOCAxODoyNTowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBsb2NrIHRoZSBtdXRleCBvZiB0aGUgZmV0Y2hlciBkdXJpbmcgRU9TCgkgIFRoZSBmZXRjaF9sb2NhdGlvbiBtaWdodCBjYWxsIHN0b3BfZmV0Y2hlciB3aGljaCBjb3VsZCBnZW5lcmF0ZSBhbiBFT1MKCSAgYW5kIGNhdXNlIGEgZGVhZGxvY2sKCjIwMTEtMDktMDYgMjI6MTE6MDYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkgIHNwYW5kc3A6IEFkZGluZyBzcGFuZHNwIHBsdWdpbiB3aXRoIHNwYW5wbGMgZWxlbWVudCBmb3IgcGFja2V0IGxvc3MgY29uY2VhbG1lbnQKCjIwMTEtMDktMDcgMjA6MDk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgam9pbiB0aGUgdGFzayBmcm9tIHRoZSB0YXNrJ3MgdGhyZWFkIGl0c2VsZi4gam9pbiBpdCBvbmx5IGluIHRoZSBzdGF0ZSBjaGFuZ2UKCjIwMTEtMDktMDcgMTU6NDg6MzMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogY2xlYW51cCBtYWtlZmlsZXMKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgcGFydHMgdGhhdCB3ZSBkb24ndCBuZWVkLiBSZW1vdmUgInRoZSB3aW5nbyBhZGRpdGlvbiIgLSBubwoJICBzbyB1c2VmdWwgYWZ0ZXIgYWxsLiBOYXJyb3cgZG93biBmaWxlLWdsb2JzIGZvciBwbHVnaW4gZG9jcy4KCjIwMTEtMDktMDcgMTU6NDI6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggY2FtZXJhYmluMiBuYW1lcyBpbiBzZWN0aW9ucy50eHQKCjIwMTEtMDktMDcgMTU6Mzc6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSAga2F0ZXBhcnNlOiBmaXggY3JhcCBpbiBvYmplY3QgbWFjcm9zCgoyMDExLTA5LTA3IDEyOjMyOjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IG1ha2UgdGhpcyBidWlsZCB3aXRoIG9sZGVyIGdsaWIKCSAgZ19saXN0X2ZyZWVfZnVsbCBpcyBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbi4KCSAgUmVwbGFjZSBpdCB3aXRoIGdfbGlzdF9mb3JlYWNoIGFuZCBnX2xpc3RfZnJlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQ1MAoKMjAxMS0wOS0wNyAxMzo0Njo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBNYWtlIHRoZSBoMjYzIGFuZCAobmV3KSBtcGVnIHZpZGVvIHBhcnNlciBhdXRvcGx1Z2dhYmxlCgoyMDExLTA5LTA1IDIwOjAyOjU3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBJRFIgcG9zaXRpb24gbWFya2luZyB3aGVuIHRoZSBJRFIgaXMgc3BsaXQgaW50byBzZXZlcmFsIE5BTHMKCjIwMTEtMDktMDcgMTE6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBBZGQgYWxsIGFsd2F5cyBwcmVzZW50IGZpZWxkcyB0byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDktMDcgMTE6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEFkZCBhbGwgZmllbGRzIHRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMS0wOS0wNyAxMToyMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEFsbG93IHBhcnNlZCBzdHJlYW1zIHRvIGJlIHBhc3NlZCB0aHJvdWdoIHRoZSBwYXJzZXJzCgoyMDExLTA5LTA3IDExOjE3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUHV0IHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBpbnRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoJICBBbHNvIHJlbW92ZSB0aGUgcGFyc2VkIGZpZWxkIGZyb20gdGhlIHNpbmsgdGVtcGxhdGUgY2Fwcy4KCjIwMTEtMDktMDcgMTE6MTQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgaDI2NHBhcnNlOiBDaGFuZ2UgcmFuayB0byBQUklNQVJZKzEgdG8gaGF2ZSBoMjY0cGFyc2UgYXV0b3BsdWdnZWQKCjIwMTEtMDktMDcgMTE6MDY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBDb25zdGlmeSBzb21lIGFycmF5cwoKMjAxMS0wOS0wNiAxMDo0OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IE5vIG5lZWQgZm9yIGFwcHNpbmsgdG8gc3RvcmUgdGhlIGxhc3QgYnVmZmVyCgkgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHByZXZpZXcncyBhcHBzaW5rIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGxhc3QgYnVmZmVyLAoJICBzbyBkaXNhYmxlIHRoZSBwcm9wZXJ0eSB0byBtYWtlIGl0IHVucmVmIHRoZSBidWZmZXJzIHNvb25lci4KCjIwMTEtMDktMDYgMjI6NDg6MzAgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBsYXRlc3QgbmV3IHBsdWdpbnMgYW5kIG1vdmVkIHBsdWdpbnMKCjIwMTEtMDktMDYgMjE6MjU6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzOWViODMgdG8gMTFmMGNkNQoKMjAxMS0wOS0wNiAxNjoxMzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMDYgMTU6NDA6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxMzoyMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBDb252ZXJ0ZXIgdG8gY2xhc3NpZmljYXRpb24KCSAgVGhpcyBwYXJzZXIgY2FuIGNvbnZlcnQgYmV0d2VlbiBkaWZmZXJlbnQgYWxpZ25tZW50cyBhbmQgc3RyZWFtLWZvcm1hdHMuCgoyMDExLTA5LTA1IDE0OjM5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogQXBwc2luayBkb2Vzbid0IG5lZWQgdG8gc3luYwoJICBTZXQgc3luYyB0byBmYWxzZSBvbiBwcmV2aWV3J3MgcGlwZWxpbmUgYXBwc2luawoKMjAxMS0wOS0wNSAwOTo1NTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IFJlbW92ZSBvbmUgb2YgdGhlIHR3byBjb2xvcnNwYWNlIGNvbnZlcnRlcnMKCSAgVGhlIHByZXZpZXcgcGlwZWxpbmUgZG9lc24ndCBuZWVkIDIgY29sb3JzcGFjZSBjb252ZXJ0ZXJzLCByZW1vdmUKCSAgb25lIHRvIHNwZWVkIHVwIGNhcHMgbmVnb3RpYXRpb24gYW5kIHJlZHVjZSB0aGUgZGVsYXkgb24gZ2V0dGluZwoJICB0aGUgZmlyc3QgcHJldmlldyBidWZmZXIgb3V0IG9mIHRoZSBwcmV2aWV3IHBpcGVsaW5lLgoJICBJdCBzaG91bGRuJ3QgY2F1c2UgcHJvYmxlbXMgYXMgdmlkZW9zY2FsZSBhbmQgZmZtcGVnY29sb3JzcGFjZSBzZWVtcwoJICB0byBoYW5kbGUgdGhlIHNhbWUgY2Fwcywgc28gbm8gY29udmVyc2lvbiBzaG91bGQgYmUgbmVlZGVkIGZvcgoJICB2aWRlb3NjYWxlLiBBZGRpdGlvbmFsbHksIGNhbWVyYWJpbjEgaGFzIGJlZW4gd29ya2luZyB3aXRoIGEgc2ltaWxhcgoJICBwaXBlbGluZSB3aXRoIGEgc2luZ2xlIGZmbXBlZ2NvbG9yc3BhY2UgYW5kIG5vIGJ1Z3MgaGF2ZSBiZWVuIG9wZW4gYWJvdXQgaXQKCSAgc28gZmFyLgoKMjAxMS0wOS0wMSAyMDowMTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IERpc2FibGUgYXBwc3JjIHNpZ25hbHMgZW1pc3Npb24KCSAgQ2FtZXJhYmluMiBkb2Vzbid0IGNoZWNrIGFwcHNyYydzIHNpZ25hbHMsIHNvIGRpc2FibGUgdGhlbQoKMjAxMS0wOC0yNiAxMDo1MDozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmM6IGRvIG5vdCB0cnkgdG8gY2FsY3VsYXRlIGxhdGVuY3kgZnJvbSBhbiB1bmtub3duIGZyYW1lcmF0ZQoJICBJdCdsbCBkaXZpZGUgYnkgemVybywgYW5kIGxhdGVuY3kgaXMgdW5rbm93biBmb3IgYW4gdW5rbm93biBmcmFtZXJhdGUuCgkgIEZpeGVzIGFuIGFzc2VydCBpbiB0aGUgc2Nocm9lbmMgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzQxOQoKMjAxMS0wOS0wMyAwMDozNjozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIGEgZmV0Y2ggZmFpbHMsIGRlY3JlbWVudCB0aGUgc2VxdWVuY2UgbnVtYmVyCgoyMDExLTA5LTAyIDIzOjQ5OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBobHNkZW11eCBsb2NrL3VubG9jayB0aGUgbTN1OCBjbGllbnQgd2hlbiBpdCBhY2Nlc3NlcyBpdAoKMjAxMS0wOS0wMiAyMzo0ODoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFkZCBhIGdldF90YXJnZXRfZHVyYXRpb24gYW5kIGdldF9jdXJyZW50X3VyaSBhcGkgdG8gbTN1OF9jbGllbnQKCjIwMTEtMDktMDIgMjM6NDg6MDMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBNYWtlIHRoZSBtM3U4IGNsaWVudCB0aHJlYWQtc2FmZQoKMjAxMS0wOS0wMiAxOTo0NDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCBpbiBQQVVTRUQtPlJFQURZIGFmdGVyIGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MKCSAgT3RoZXJ3aXNlIHRoZXJlIGFyZSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMgd2l0aCB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDktMDIgMTY6MDg6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGRvY3M6IG1pbm9yIGZpeGVzCgoyMDExLTA4LTMxIDEwOjEyOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5Ly5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS52Y3Byb2o6CgkgIGdzdC1saWJzOiBSZW1vdmUgcGxheSBkaXJlY3RvcnkuIFdhcyB1bnBvcnRlZCBzaW5jZSAwLjgKCjIwMTEtMDgtMzEgMTA6MTA6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBBZGQgbW9yZSBzZWN0aW9ucyB0byB0aGUgZ3N0LWxpYnMgQVBJIGRvY3MKCjIwMTEtMDgtMjkgMTM6NTI6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBQUFMgcGFyc2VyCgkgIEZpeCB0cmFuc2Zvcm1fOHg4X21vZGVfZmxhZyBhbmQgc2Vjb25kX2Nocm9tYV9xcF9pbmRleF9vZmZzZXQKCjIwMTEtMDgtMjkgMTM6NTI6MTYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBOQUwgcmVhZGVyIGluaXRpYWxpemF0aW9uLgoKMjAxMS0wOC0yNiAxNTo1NDo1MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogaGFuZGxlIGVuZC1vZi1zZXEgYW5kIGVuZC1vZi1zdHJlYW0gTkFMIGdyYWNlZnVsbHkuCgoyMDExLTA4LTI2IDE2OjA1OjU4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmVmX3BpY19saXN0X3Jlb3JkZXJpbmcoKS4KCjIwMTEtMDgtMTYgMTY6MTk6MDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcHJlZF93ZWlnaHRfdGFibGUoKSBwYXJzaW5nLgoJICBVc2UgMTYtYml0IHNpZ25lZCBpbnRlZ2VyIHZhbHVlcyBmb3Igd2VpZ2h0IHZhbHVlcyBiZWNhdXNlIHZhbGlkCgkgIHJhbmdlcyBhcmUgLTEyOCB0byArMTI4IGluY2x1c2l2ZS4KCjIwMTEtMDgtMTYgMTU6MjE6MTggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCBzbGljZV9oZWFkZXIoKSBzaXplIGluIGJpdHMuCgoyMDExLTA4LTE2IDE1OjE0OjAzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNsaWNlX2hlYWRlcigpIHBhcnNpbmcuCgkgIFdlIHdlcmUgbm90IHBhcnNpbmcgdGhlIHNsaWNlIGhlYWRlcnMgdW50aWwgdGhlIGFjdHVhbCBlbmQsIHdlIGFyZSBub3cKCSAgcGFyc2luZyB1bnRpbCB0aGUgZW5kLgoKMjAxMS0wOC0xMiAxMzoxOToyOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGZpbGxlci1kYXRhIE5BTCB1bml0IHR5cGUgbmFtZS4KCjIwMTEtMDgtMTIgMTA6MTc6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMucGMuaW46CgkgIGNvZGVjcGFyc2VyczogYWRkIHBrZ2NvbmZpZyBmaWxlLgoJICBBZGRzIGEgbmV3IHBrZ2NvbmZpZyBmaWxlIGZvciBjb2RlY3BhcnNlcnMuIFRoZXkgZG9uJ3QgaGF2ZQoJICBhbnkgc3BlY2lmaWMgZGVwZW5kZW5jeSBvbiBnc3QtcGx1Z2lucy1iYWQgYW5kIHRoZXkgY291bGQgcXVpdGUgYmUKCSAgaW5kZXBlbmRlbnQgYml0c3RyZWFtIHBhcnNlcnMuCgoyMDExLTA4LTA1IDExOjIxOjA1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IGFkZCB1c2VyLWRhdGEgcGFja2V0IHN0YXJ0IGNvZGUgZGVmaW5pdGlvbi4KCjIwMTEtMDgtMDMgMTc6MzE6NTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogZml4IFBpY3R1cmVfQ29kaW5nX0V4dGVuc2lvbiBwYXJzZXIuCgoyMDExLTA4LTAyIDEyOjM3OjAyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBoLjI2NCBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDctMjkgMTA6NTY6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogQWRkIGFuIGguMjY0IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDYtMjMgMTI6NTQ6NDMgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtcGVnIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNy0xOSAxMzo1MjowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IEFkZCBhbiBtcGVnIHZpZGVvIGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkKCSAgQ3JlYXRlIGEgbmV3IGNvZGVjcGFyc2VycyBsaWJyYXJ5CgoyMDExLTA4LTMwIDE0OjUwOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2NvbXBpbGluZy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtb3ZlcnJpZGVzLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiBCdWlsZCBkb2N1bWVudGF0aW9ucyBmb3IgbGlicmFyaWVzCgoyMDExLTA5LTAyIDE1OjAwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnQKCjIwMTEtMDktMDIgMTQ6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgdGhlIGludGVybmFsIHN0YXRlIGdvaW5nIHRvL2Zyb20gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgIFRoaXMgdGhlb3JldGljYWxseSBhbGxvd3MgcmV1c2Ugb2YgdGhlIGVsZW1lbnQgd2hlbiBzZXR0aW5nIGl0IHRvIFJFQURZCgkgIGluc3RlYWQgb2YgTlVMTC4KCjIwMTEtMDktMDIgMTQ6NTQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IHBsYXlsaXN0IHBhcnNpbmcgaGVscGVyIG9iamVjdCB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCjIwMTEtMDktMDEgMjM6MTg6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbGxvdyB1cCB0byAzIGNvbnNlY3V0aXZlIGZhaWxlZCBkb3dubG9hZHMgYmVmb3JlIGVycm9yaW5nCgkgIEluIHNvbWUgbmV0d29ya3MsIGVzcGVjaWFsbCBpbiAzRywgYSBmcmFnbWVudCBkb3dubG9hZCBvciBwbGF5bGlzdAoJICB1cGRhdGUgbWF5IGZhaWwuIFdlIGFsbG93IGZvciB1cCB0byAzIGNvbnNlY3V0aXZlIGZhaWx1cmVzLCB3aGlsZSB1c2luZwoJICB0aGUgcmZjJ3Mgc3BlY3MgZm9yIHJldHJ5IGRlbGF5cyBiZWZvcmUgY29uc2lkZXJpbmcgdGhhdCB0aGVyZSB3YXMgYW4KCSAgZXJyb3Igb24gdGhlIHN0cmVhbS4KCjIwMTEtMDktMDEgMjI6NDY6MTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGFyZ3VtZW50CgoyMDExLTA4LTIxIDIwOjE1OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IGRyb3AtZnJhbWUgcHJvcGVydHkKCSAgRml4ZXMgIzY1NjkyOS4KCjIwMTEtMDktMDEgMTU6NTc6NTAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBmbGFnIHRvIGRpc2FibGUgaW1hZ2UgY29udmVyc2lvbiBlbGVtZW50cwoJICBJZiB3ZSBrbm93IHRoYXQgb3VyIGNhbWVyYSBzb3VyY2UgZWxlbWVudCBwcm9kdWNlcyBidWZmZXJzIGF0IHRoZSBzYW1lCgkgIHJlc29sdXRpb24gYW5kIGFwcHJvcHJpYXRlIGNvbG91cnNwYWNlIGZvciB0aGUgb3V0cHV0LCB3ZSBkb24ndCBuZWVkIGFueQoJICBvZiB0aGUgZ2VuZXJpYyBjb252ZXJzaW9uIGVsZW1lbnRzIGluIGVuY29kZWJpbi4gVGhpcyByZWR1Y2VzIGNhcHMKCSAgbmVnb3RpYXRpb24gb3ZlcmhlYWRzIGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTEtMDgtMzEgMjM6MDY6NTMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZml4IHdhcm5pbmdzIHJlbGF0ZWQgdG8gdGhlIGZvcm1hdCBvbiB0aGUgZGVidWcgbGluZXMuCgoyMDExLTA4LTMxIDEzOjI5OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWljcm8gb3B0aW1pemUgZW5jb2RlYmluIHBhZHMgbGlua2luZwoJICBSZWR1Y2Ugb25lIGNoZWNrIGluIGVuY29kZWJpbiBwYWRzIGxpbmtpbmcgb24gY2FtZXJhYmluMiBieQoJICB1c2luZyB0aGUgbGlua19wYWRzX2Z1bGwgdmVyc2lvbgoKMjAxMS0wOC0zMSAxMzoyODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IE9wdGltaXplIHByZXZpZXcgcGlwZWxpbmUgc3RhcnR1cAoJICBVc2UgZ3N0X2VsZW1lbnRfbGlua19wYWRzX2Z1bGwgdG8gb3B0aW1pemUgcHJldmlldyBwaXBlbGluZSBzdGFydHVwLAoJICBsZWFkaW5nIHRvIGEgZmFzdGVyIGNhbWVyYWJpbjIgc3RhcnR1cCBhcyB3ZWxsLgoKMjAxMS0wOC0zMSAxNTozMzoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBleHBsaWNpdCBib29sZWFuIGxpdGVyYWxzIHRvIG1ha2UgZ29iamVjdCBoYXBweQoJICBnb2JqZWN0IGJvb2xlYW4gcHJvcGVydGllcyBhcmUgc3RyaWN0IGFuZCBvbmx5IGFjY2VwdCAxIG9yIDAsIG90aGVyd2lzZQoJICB0aGV5IHRocm93IGFuIGFzc2VydGlvbi4KCjIwMTEtMDgtMzEgMTQ6NDg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSnVzdCBqb2luIHRoZSB0YXNrCgkgIGdzdF90YXNrX2pvaW4oKSB3aWxsIGFscmVhZHkgc3RvcCB0aGUgdGFzaywgbm8gbmVlZAoJICB0byBzdG9wIGl0IGFkZGl0aW9uYWxseS4KCjIwMTEtMDgtMzEgMTQ6NDc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSm9pbiB0aGUgdGFzayBpbnN0ZWFkIG9mIGp1c3Qgc3RvcHBpbmcgaXQgYW5kIG5vdCB3YWl0aW5nIGZvciBpdCB0byBmaW5pc2gKCSAgRml4ZXMgaW50ZXJlc3RpbmcgcmFjZSBjb25kaXRpb25zIHRoYXQgY2F1c2UgY3Jhc2hlcyBpbiBkZWNvZGViaW4yCgkgIGJlY2F1c2UgcGFkcyBhcmUgYWRkZWQvcmVtb3ZlZCBmcm9tIGNoaWxkIGVsZW1lbnRzIGFsdGhvdWdoIHRoZXkKCSAgc2hvdWxkIGJlIGluIFJFQURZIHN0YXRlIGFscmVhZHkuCgoyMDExLTA4LTMxIDEyOjEyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDgtMzEgMDM6NDc6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzd2l0Y2ggdG8gaGlnaGVyL2xvd2VyIGJpdHJhdGUgYnkgbW9yZSB0aGFuIG9uZSBzdGVwIGF0IGEgdGltZQoKMjAxMS0wOC0zMSAwMzoyMDo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBzcGFtbWluZyBHU1RfTE9HX09CSkVDVAoKMjAxMS0wOC0zMSAwMzowNzo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIHBhdXNlZCwgZG8gbm90IGNhY2hlIGZyYWdtZW50cyB1bnRpbCBvdXQgb2YgbWVtb3J5IGVycm9yIQoJICBXZSBzaG91bGQgc3RvcCB0aGUgdXBkYXRlIHRocmVhZCBpbiBQQVVTRUQgc3RhdGUgYW5kIGF2b2lkIGZldGNoaW5nCgkgIG5ldyBmcmFnbWVudHMgd2hlbiB0aGUgcXVldWUgaXMgbm90IGVtcHR5LiBUaGUgcXVldWUgc2hvdWxkIGFsd2F5cyBiZQoJICBlbXB0eSBzaW5jZSB3ZSBwdXNoIGRhdGEgaW50byBhIHF1ZXVlLiBBbHNvLCBpbiB0b3RlbSwgaWYgd2Ugc2VlayBhbmQKCSAgcGF1c2UgdGhlIHN0cmVhbSB3aGlsZSBpdCdzIGJ1ZmZlcmluZywgdGhlbiB0aGUgc3RhdGUgd2lsbCBzdGF5IHBsYXlpbmcKCSAgZm9yIHNvbWUgcmVhc29uLCBzbyBpdCdzIGJlc3Qgbm90IHRvIGNvbnRpbnVlIGZldGNoaW5nIGZyYWdtZW50cyBmb3JldmVyLgoKMjAxMS0wOC0zMSAwMzowMTo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0YXJ0L3N0b3AgdXBkYXRlIHRocmVhZCBhbmQga2VlcCB0cmFjayBvZiBzdGF0dXMKCjIwMTEtMDgtMzEgMDI6MDU6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQb3N0IGR1cmF0aW9uIG1lc3NhZ2Ugd2hlbiB3ZSBwYXJzZSB0aGUgcGxheWxpc3QKCjIwMTEtMDgtMzEgMDE6MDg6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGEgZmx1c2gtc3RvcCB3aGVuIHN3aXRjaGluZyBwYWRzLiBGaXhlcyBBLT5BL1Ygc3luYyBpc3N1ZS4KCSAgVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB3ZSByZXNldCB0aGUgYWNjdW11bGF0ZSBzZWdtZW50IG9uIHRoZSBzaW5rcwoJICBzbyBpZiB3ZSBzdGFydCB3aXRoIGF1ZGlvIG9ubHkgdGhlbiBzd2l0Y2ggdG8gYXVkaW8rdmlkZW8sIHRoZW4gYm90aAoJICBzaW5rcyB3aWxsIGhhdmUgdGhlIHNhbWUgc2VnbWVudHMgYW5kIHdpbGwgYmUgc3luY2hyb25pemVkLgoKMjAxMS0wOC0yNiAyMjo0ODowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNlZW1zIHRoZXJlIHdhcyBhIHR5cG8sIGZyZWUgdGhlIGFkYXB0ZXIgaWYgaXQgY29udGFpbnMgZGF0YSwgbm90IGlmIGFscmVhZHkgZW1wdHkKCjIwMTEtMDgtMjYgMjI6NDc6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvdXBzLCB3ZSBuZWVkIHRvIGVtcHR5IHRoZSBxdWV1ZSBhZnRlciBmcmVlaW5nIGl0cyBjb250ZW50CgoyMDExLTA4LTI2IDIyOjQ0OjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTmVlZCB0byBmbHVzaCBhbGwgc3RyZWFtcyB3aGVuIHdlIHJlY2VpdmUgYSBmbHVzaC1zdGFydAoKMjAxMS0wOC0yNiAyMTo0NjowNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBicm9hZGNhc3QgdGhlIGZldGNoZXJfY29uZCBvbiBidXMgZXJyb3IgaWYgd2UncmUgY2FuY2VsbGVkCgkgIElmIHdlIGNhbmNlbCB0aGUgZmV0Y2ggYW5kIGNhbGwgdGhlIHN0b3BfZmV0Y2hlciwgd2hpY2ggaG9sZHMgdGhlIGxvY2ssCgkgIHdoZW4gaXQgc2V0cyB0aGUgZmV0Y2hlcidzIHN0YXRlIHRvIE5VTEwsIGl0IG1pZ2h0IHNlbmQgYW4gZXJyb3IKCSAgb24gdGhlIGJ1cy4gSW4gdGhhdCBjYXNlLCB3ZSBtdXN0IGlnbm9yZSBpdCwgb3RoZXJ3aXNlIGl0IHdpbGwgdHJ5CgkgIHRvIHRha2UgdGhlIGxvY2sgYW5kIHdpbGwgYmxvY2sgZm9yZXZlci4KCjIwMTEtMDgtMjYgMTk6Mjk6MDYgKzAwMDAgIEpvbmFzIExhcnNzb24gPEpvbmFzLkxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTcGxpdCBwbGF5c2xpc3Qgb24gXHJcbiBub3QganVzdCBcbgoKMjAxMS0wOC0yNiAxOToxMDo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzdWNjZWVkIGEgZG93bmxvYWQgaWYgdGhlIGZldGNoZXIgaGFkIGFuIGVycm9yCgoyMDExLTA4LTI2IDE5OjEwOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVuYW1lIGZ1bmN0aW9ucyB0aGF0IG5lZWQgdG8gYmUgY2FsbGVkIHdpdGggYSBsb2NrZWQgbXV0ZXgKCjIwMTEtMDgtMjYgMTk6MDk6NTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXZSBtdXN0IHNpZ25hbCB0aGUgZmV0Y2hlcl9jb25kIHdoaWxlIGhvbGRpbmcgaXRzIGxvY2sKCjIwMTEtMDgtMjYgMTc6NTQ6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXZSBkbyBub3QgbmVlZCB0byBzZXQgdGhlIGN1cnJlbnQgcGxheWxpc3QgdG8gdGhlIG1haW4gb25lCgkgIFdoZW4gY2FjaGluZyBmcmFnbWVudHMsIGlmIHdlIHNldCB0aGUgY3VycmVudCBwbGF5bGlzdCB0byBtYWluLCB0aGVuCgkgIGl0IHdpbGwgYWx3YXlzIHRoaW5rIGl0J3MgYSBsaXZlIHN0cmVhbSAobm8gZW5kbGlzdCBpbiBpdCkgc28gaXQgd2lsbAoJICBmb3JjZSB0aGUgcmVkb3dubG9hZCBvZiB0aGUgbWFpbiBwbGF5bGlzdCBhZnRlciBldmVyeSBzZWVrLCB3aGljaCBpcwoJICB1bm5lY2Vzc2FyeS4gQWxzbywgaXQgY2F1c2VzIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgYSBzZWVrIG1pZ2ggaGFwcGVuCgkgIGR1cmluZyB0aGF0IHJlZG93bmxvYWQsIGFuZCB3ZSdsbCB0aGluayB3ZSdyZSB0cnlpbmcgdG8gc2VlayBhIGxpdmUgcGlwZWxpbmUuCgoyMDExLTA4LTMwIDE3OjQzOjIyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIHNvdW5kdG91Y2g6IEhhbmRsaW5nIGluY29taW5nIHJhdGUgd2hlbiByZXF1ZXN0ZWQuCgkgIEFic29yYiBpbmJvdW5kIHNlZ21lbnRzIHdpdGggcmF0ZSAhPSAxLjAgYW5kIG91dHB1dCBhIHNlZ21lbnQgd2l0aAoJICByYXRlIHRha2VuIGZyb20gdGhlIG5ldyBvdXRwdXQtcmF0ZSBwcm9wZXJ0eSwgYWRqdXN0aW5nIHRoZSBzZWdtZW50CgkgIGFwcGxpZWRfcmF0ZSwgc3RyZWFtIGR1cmF0aW9uIGFuZCB0aW1lc3RhbXBzIGFzIG5lY2Vzc2FyeSB0bwoJICBjb21wZW5zYXRlCgoyMDExLTA4LTE1IDE3OjU3OjUzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBmaXggdmFsZ3JpbmQgd2FybmluZyBhYm91dCBDb25kaXRpb25hbCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRpYWxpc2VkIHZhbHVlKHMpCgoyMDExLTA4LTE3IDA5OjQyOjA3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBNb3ZlIG1fcHByZXZGcmFtZSBmcmVlIGp1c3QgYmVmb3JlIHRoZSBjbG9uZSBvZiB0aGUgbGF0ZXN0IGZyYW1lIGZvciByZWFkYWJpbGl0eQoKMjAxMS0wOC0yNiAwOTo0MzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1ha2Ugdmlld2ZpbmRlcidzIHF1ZXVlIGEgdGhyZWFkIGxpbWl0IG9ubHkKCSAgUmVkdWNlIHRoZSB2aWV3ZmluZGVyIHF1ZXVlIGxpbWl0cyB0byBvbmx5IGFsbG93IGl0IHRvIHN0b3JlCgkgIG9uZSBidWZmZXIsIHByZXZlbnRpbmcgdGhlIHF1ZXVlIGZyb20gaG9sZGluZyBvbGQgYnVmZmVycyBmb3IKCSAgdG9vIGxvbmcuIFRoaXMgYWxzbyBhdm9pZHMgc2hvd2luZyBzbGlnaHRseSBvdXRkYXRlZCBmcmFtZXMgb24KCSAgdGhlIHZpZXdmaW5kZXIgd2hlbiB0aGUgc291cmNlIGhhcyBhbHJlYWR5IHByb2R1Y2VkIG5ldyBvbmVzCgkgIGFuZCBpbXByb3ZlcyB0aGUgYnVmZmVyIHJlY3ljbGluZyByYXRlLCBpbXBvcnRhbnQgZm9yIHNvdXJjZXMKCSAgdGhhdCB1c2UgYnVmZmVycG9vbHMuCgoyMDExLTA4LTI1IDE5OjU2OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGZpeCBlbGVtZW50IGxlYWsKCSAgYW5kIHRoaXMgY29uY2x1ZGVzIGFuIGhvdXIgb2YgeWVsbGluZyBhdCB0aGUgYmxvb2R5IHRlc3QgZmFpbGluZywKCSAgb25seSB0byB0cmFjayBkb3duIHRoZSBwcm9ibGVtIG5vdCBiZWluZyBpbiB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM2OAoKMjAxMS0wOC0yNiAwMDo1Mjo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IEluIHB1c2ggbW9kZSwgZG8gbm90IHN0YXJ0IHB1bGwgbG9vcCBpZiB1cHN0cmVhbSBzZWVrIGZhaWxzCgoyMDExLTA4LTI2IDAwOjQ3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IG1ha2UgdGhlIHVwZGF0ZV90aHJlYWQgam9pbmFibGUKCjIwMTEtMDgtMjYgMDA6MjY6MjkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFbnN1cmUgdGhlIHRhc2sgaXMgcGF1c2VkIGluIGNhc2Ugb2YgY2FjaGUgZXJyb3IKCjIwMTEtMDgtMjUgMjM6Mzc6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdG9wIHRoZSB0aHJlYWRzIGluIHRoZSBwcm9wZXIgb3JkZXIKCSAgZmlyc3QgcGF1c2UgdGhlIHRhc2ssIHRoZW4gc3RvcCBhbGwgZmV0Y2hlcnMsIHRoZW4gc3RvcCB0aGUgdXBkYXRlIHRocmVhZAoJICB0aGVuIHBhdXNlIHRoZSB0YXNrIGFnYWluLCBzaW5jZSBpdCBtaWdodCBoYXZlIGJlZW4gcmVzdGFydGVkIGJ5CgkgIGFub3RoZXIgdGhyZWFkIGluIHRoZSBtZWFudGltZQoKMjAxMS0wOC0yNSAyMzozNzoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBwb3N0IGFuIGVycm9yIGlmIHdlIHNlZWsvY2FuY2VsIGR1cmluZyBjYWNoaW5nIG9mIGZyYWdtZW50cwoKMjAxMS0wOC0yNSAyMzozNzowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGlmIHdlJ3JlIGNhbmNlbGluZyBhIGZldGNoZXIsIHdlIG11c3Qgc3RvcCBpdHMgdGhyZWFkCgoyMDExLTA4LTI1IDIzOjM2OjI3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayB0aGUgdXBkYXRlX3RocmVhZCBtdXRleCBiZWZvcmUgc3RvcHBpbmcgaXQKCjIwMTEtMDgtMjUgMjM6MzU6NTUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIHRoZSBmZXRjaGVyIG11dGV4IGJlZm9yZSBzdG9wcGluZyBpdAoKMjAxMS0wOC0yNSAyMzozMzoxMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBhbGxvdyB0d28gZmV0Y2hlcnMgdG8gcnVuIHNpbXVsdGFub3VzbHkKCjIwMTEtMDgtMjMgMjA6NDk6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9wIHRoZSBzdHJlYW1pbmcgdGFzayBvbiBQQVVTRURfVE9fUkVBRFkgc3RhdGUgY2hhbmdlCgoyMDExLTA4LTI1IDE5OjI0OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbWFrZSBjYW1lcmFiaW4yIHRlc3QgYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM2MwoKMjAxMS0wOC0yNSAxMjo0OToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jCgoyMDExLTA3LTEyIDIxOjQ4OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IEFkZCBtb3JlIGRlYnVnCgoyMDExLTA3LTEyIDE5OjA5OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogTWF4IGV2ZW50IHR5cGUgaXMgMTUKCjIwMTEtMDQtMTQgMTU6NDY6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBBbGlnbiBEVE1GIHNvdW5kIGJ1ZmZlcnMgd2l0aCBsYXN0LXN0b3AgZnJvbSBldmVudAoJICBBbHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBuZXZlciBnbyBiYWNrd2FyZHMKCjIwMTEtMDctMTEgMjE6MzE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENvcnJlY3RseSByZWNvZ25pemUgdGhlIGVuZCBvZiBhIGJ1ZmZlcgoKMjAxMS0wNy0xMSAyMDo0NzoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogTWFrZSBzdXJlIHJ0cGR0bWZzcmMgdGltZXN0YW1wcyBkb24ndCBvdmVybGFwCgoyMDExLTA3LTExIDIwOjQ2OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQdXQgdGhlIGludGVyIGRpZ2l0IGludGVydmFsIGF0IHRoZSBlbmQsIG5vdCBhdCB0aGUgc3RhcnQKCSAgVGhlIHJlYXNvbiBpcyB0byBsZXQgcnRwZHRtZm11eCBkcm9wIGJ1ZmZlcnMgZHVyaW5nIHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCwKCSAgdGhpcyB3YXksIHRoZXJlIHdpbGwgYmUgbW9yZSBzaWxlbmNlIGFyb3VuZCB0aGUgRFRNRiB0b25lcyBzbyBJVkZzIHdpbGwgaGF2ZQoJICBhIGJldHRlciBjaGFuY2UgcmVjb2duaXppbmcgdGhlbS4KCjIwMTEtMDQtMTQgMTc6MDg6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBTdGFydCBhdCB0aGUgbGFzdF9zdG9wIGZyb20gdGhlIHN0YXJ0IGV2ZW50IGlmIHRoZXJlIHdhcyBvbmUKCSAgVGhlIGdvYWwgaXMgdG8gdHJ5IHRvIG5vdCBoYXZlIGEgR0FQIGJldHdlZW4gdGhlIGF1ZGlvIGFuZCB0aGUgRFRNRgoKMjAxMS0wNC0xNCAxNDozNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBsYXN0LXN0b3AgdG8gZHRtZi1ldmVudCB1cHN0cmVhbSBldmVudHMKCSAgQWRkIHRoZSBydW5uaW5nIHRpbWUgb2YgdGhlIGxhc3Qgb3V0cHV0dGVkIGJ1ZmZlciB0byB0aGUKCSAgdXBzdHJlYW0gImR0bWYtZXZlbnQiIGV2ZW50cyBzbyB0aGF0IHRoZSBkdG1mIHNvdXJjZSBkb2VzIG5vdAoJICBsZWF2ZSBhIGdhcC4KCjIwMTEtMDQtMTQgMTY6NDk6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBSZXNwZWN0IHB0aW1lIGZyb20gdGhlIGNhcHMKCSAgUmVzcGVjdCB0aGUgcHRpbWUgZnJvbSB0aGUgY2FwcyBmb3IgdGhlIERUTUYgcGFja2V0cwoKMjAxMS0wNy0xMSAyMTozMDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gY2xvY2sKCjIwMTEtMDgtMjQgMTY6NTM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFrZSBnc3Rfa2F0ZV91dGlsX2lzX3V0Zjhfc3RyaW5nKCkgaW5saW5lIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggb2xkZXIgbGlia2F0ZSB2ZXJzaW9ucwoJICBnc3RrYXRldXRpbC5jOjIzMDoxOiBlcnJvcjogJ2dzdF9rYXRlX3V0aWxfaXNfdXRmOF9zdHJpbmcnIGRlZmluZWQgYnV0IG5vdCB1c2VkCgoyMDExLTA4LTI0IDE1OjMyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIHJzbmR2ZDogZW5zdXJlIG1ldGFkYXRhIGlzIHdyaXRhYmxlIHdoZW4gd3JpdGluZyB0byBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MjUwCgoyMDExLTA4LTI0IDA5OjM1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBGQUxTRSBpbnN0ZWFkIG9mIDAgZm9yIGJvb2wgcGFyYW1ldGVyCgoyMDExLTA4LTIzIDIyOjQ0OjE3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTmVlZCB0byBzZW5kIGEgbmV3c2VnbWVudCBhZnRlciBhIHNlZWsKCjIwMTEtMDgtMjMgMjI6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGJ1ZmZlcmluZyBtZXNzYWdlcyBvbiB0aGUgYnVzCgoyMDExLTA4LTIzIDIyOjM4OjA1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2FjaGUgdGhlIG51bWJlciBvZiBmcmFnbWVudHMgd2UgYXJlIHJlcXVpcmVkIHRvIGNhY2hlCgoyMDExLTA4LTIzIDIyOjQwOjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRm9yd2FyZCBzZWVrL2R1cmF0aW9uIHF1ZXJ5L2V2ZW50IHRvIHRoZSBzaW5rcGFkCgoyMDExLTA4LTI0IDAxOjAzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT3B0aW1pemUgc3RhcnQgdXAgYSBsaXR0bGUgYnkgcmVtb3Zpbmcgc29tZSBwYWQgY2hlY2tzCgkgIFNvbWUgcGFkIGNoZWNrcyBhcmUgZ3VhcmFudGVlZCB0byB3b3JrLCBzbyB3ZSBjYW4gZGlzYWJsZSB0aGVtCgkgIGJ5IHVzaW5nIGdzdF9lbGVtZW50X2xpbmtfcGFkc19mdWxsCgoyMDExLTA4LTIzIDE5OjI2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogUmVtb3ZlIGZyb20gZXhwZXJpbWVudGFsCgkgIFJlbW92ZSBjYW1lcmFiaW4yIGZyb20gZXhwZXJpbWVudGFsLCBhbGxvd2luZyBpdCB0byBiZSBidWlsdAoJICB3aXRob3V0IG5lZWRpbmcgdG8gcGFzcyAtLWVuYWJsZS1leHBlcmltZW50YWwgb24gY29uZmlndXJlLgoKMjAxMS0wOC0yMyAxOToxMzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsd2F5cyBzZXQgZW5jb2RlYmluIGZsYWdzIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgV2hlbiBnb2luZyBmcm9tIE5VTEwgdG8gUkVBRFkgd2Ugd2FudCB0aGUgZW5jb2RlYmluIGZsYWdzIHRvIGJlCgkgIHNldCwgYW5kIG5vdCBvbmx5IGFmdGVyIGNyZWF0aW5nIGVuY29kZWJpbiAob24gdGhlIGZpcnN0IHJ1bikKCjIwMTEtMDgtMjMgMTE6NTg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBuZXcgZW50cnkgdG8gZmxhZ3MgcHJvcGVydHkKCSAgQWRkcyBhIG5ldyBlbnRyeSB0byBjYW1lcmFiaW4yIGZsYWdzIHRvIGRpc2FibGUgdmlld2ZpbmRlcgoJICBjb252ZXJzaW9uIGVsZW1lbnRzLgoKMjAxMS0wOC0yMyAxMToxOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogQWRkIHByb3BlcnR5IGZvciBkaXNhYmxpbmcgY29udmVydGVycwoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIGRpc2FibGUgY29udmVydGVycyBlbGVtZW50cyBmb3IgcGVyZm9ybWFuY2UKCSAgcmVhc29ucy4gSXQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGUgYXBwbGljYXRpb24ga25vd3MgdGhleSBhcmVuJ3QKCSAgbmVlZGVkLgoKMjAxMS0wOC0xOSAxNzoyODo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3QgdHJ5IHRvIGNvbXBhcmUgYSBQQ1Igd2l0aCBpdHNlbGYgZm9yIHN0YXRpc3RpY3MKCSAgRXNwZWNpYWxseSBhcyBvbmUgb2YgdGhlIGxvZ3Mgd2lsbCBjYXVzZSBhIGRpdmlkZSBieSB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI3CgoyMDExLTA4LTE5IDEzOjMyOjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBrZWVwIGEgZGFuZ2xpbmcgcG9pbnRlcgoJICBXaGVuIHJlbW92aW5nIHRoZSBjdXJyZW50IHByb2dyYW0sIGl0IHdpbGwgZ2V0IGZyZWVkIGJ5IHRoZQoJICBoYXNoIHRhYmxlIHJlbW92YWwgY2FsbGJhY2ssIHNvIGVuc3VyZSB3ZSBjbGVhciBvdXIgcG9pbnRlcgoJICB0byBpdC4KCSAgRml4ZXMgYSBjcmFzaCBsYXRlciBvbiBpbiBnc3RfdHNfZGVtdXhfcHVzaCB0cnlpbmcgdG8gYWNjZXNzIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI3CgoyMDExLTA4LTIxIDIwOjM2OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogcGFzcyBvbiB0aW1lZCBldmVudCBtZXRhZGF0YSBhcyB0YWdzIHdoZW4gd2UgY2FuCgkgIE1ldGFkYXRhIGF0dGFjaGVkIHRvIG90aGVyIG9iamVjdHMgdGhhdCBtYXkgYmUgdXNlZCBpbiB0aGlzCgkgIGV2ZW50IGFyZSBub3QgcGFzc2VkLCBhcyBpcyBiaW5hcnkgbWV0YWRhdGEuCgoyMDExLTA4LTIzIDEwOjMyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgQUNfTVNHX0NIRUNLSU5HKCkgdG8gdGhlIFZQOEVfU0VUX1RVTklORyBwcmVzZW5jZSBjaGVjawoKMjAxMS0wOC0xOSAxOToxNzoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogcHJvYmUgZm9yIHRoZSBuZXcgdHVuaW5nIEFQSSB0byBrZWVwIGJ1aWxkaW5nIHdpdGggb2xkZXIgbGlidnB4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjgKCjIwMTEtMDgtMTggMTM6MjE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmdkZWM6IHVzZSBpbnB1dCBidWZmZXIgdGltaW5ncyBpZiBwb3NzaWJsZQoJICBTVkcgZGF0YSBtYXkgY29tZSB0aHJvdWdoIG11bHRpcGxlIGJ1ZmZlcnMsIHNvIGtlZXAgdHJhY2sgb2YgdGhlCgkgIHRpbWVzdGFtcCBvZiB0aGUgZmlyc3QgYnVmZmVyLCBhbmQgdXNlIGl0IGluIHByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgyODQKCjIwMTEtMDgtMjIgMTc6MTA6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBkbyBub3QgY29uc2lkZXIgYW4gZW1wdHkgU1BVIHRvIGJlIGEgZmF0YWwgZXJyb3IKCSAgSW5zdGVhZCwganVzdCBlbmNvZGUgbm90aGluZyBhbmQgZ28gb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwOTEKCjIwMTEtMDgtMjIgMTc6MTU6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBkbyBub3QgY2xlYXIgb3V0IGhpZ2ggYml0cyBmcm9tIGRpc3BsYXkgYXJlYQoJICBodHRwOi8vZHZkLnNvdXJjZWZvcmdlLm5ldC9zcHVfbm90ZXMgZG9lcyBub3QgbWVudGlvbiB0aGF0IGhpZ2ggYml0cwoJICBhcmUgdG8gYmUgbWFza2VkLCBhbmQgbm90IGNsZWFyaW5nIHRoZW0gbWFrZXMgYSBzYW1wbGUgd29yaywgd2hlcmUKCSAgY2xlYXJpbmcgdGhlbSB5aWVsZGVkIGxlZnQgPiByaWdodC4KCSAgSGlzdG9yeSBmcm9tIHRoZSBkdmRzcHUgcGx1Z2luLCBmcm9tIHdoZXJlIHRoaXMgY29kZSB3YXMgY29waWVkLAoJICBkb2VzIG5vdCBzaGVkIGFueSBsaWdodCwgYXMgdHJhY2luZyB0aGlzIGNvZGUncyBvcmlnaW4gc2hvd3MKCSAgdGhlIHNhbWUgYml0bWFza3MgYmVpbmcgdGhlcmUgaW4gMjAwNyB3aGVuIGl0IHdhcyBpbXBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA5MQoKMjAxMS0wOC0yMiAxNjo1MjoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBkbyBub3QgY2xlYXIgb3V0IGhpZ2ggYml0cyBmcm9tIGRpc3BsYXkgYXJlYQoJICBodHRwOi8vZHZkLnNvdXJjZWZvcmdlLm5ldC9zcHVfbm90ZXMgZG9lcyBub3QgbWVudGlvbiB0aGF0IGhpZ2ggYml0cwoJICBhcmUgdG8gYmUgbWFza2VkLCBhbmQgbm90IGNsZWFyaW5nIHRoZW0gbWFrZXMgYSBzYW1wbGUgd29yaywgd2hlcmUKCSAgY2xlYXJpbmcgdGhlbSB5aWVsZGVkIGxlZnQgPiByaWdodC4KCSAgSGlzdG9yeSBkb2VzIG5vdCBzaGVkIGFueSBsaWdodCwgYXMgdHJhY2luZyB0aGlzIGNvZGUncyBvcmlnaW4gc2hvd3MKCSAgdGhlIHNhbWUgYml0bWFza3MgYmVpbmcgdGhlcmUgaW4gMjAwNyB3aGVuIGl0IHdhcyBpbXBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDExOQoKMjAxMS0wOC0yMyAwOTo1MjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXJzdCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyBzZWVraW5nIGluIFRJTUUgZm9ybWF0IGJlZm9yZSBzZWVraW5nIGluIHRoZSBkZW11eGVyCgoyMDExLTA4LTIzIDA5OjQwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpcnN0IHNlbmQgU0VFS0lORyBxdWVyaWVzIHVwc3RyZWFtCgoyMDExLTA4LTIzIDA5OjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNlbmQgRFVSQVRJT04gcXVlcnkgdXBzdHJlYW0gZmlyc3QKCjIwMTEtMDgtMjMgMDk6MjM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXNlIEZBTFNFIGluc3RlYWQgb2YgMCBmb3IgYSBib29sIHBhcmFtZXRlcgoKMjAxMS0wOC0xNiAxOTo1MzozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN3aXRjaCBwYWRzIHdoZW4gd2Ugc2VlayAobmVlZF9zZWdtZW50KSBzaW5jZSB0c2RlbXV4IGRvZXNuJ3QgY29wZSB3ZWxsIHdpdGggYSByZXNldAoKMjAxMS0wOC0yMyAwMjozNjoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBhIEZJWE1FIGNvbW1lbnQuIGxvb3AgdGFzayBzaG91bGQgYmUgYSBwYWQgdGFzawoKMjAxMS0wOC0yMiAyMzo0MTozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzZWVrIGluIGEgbGl2ZSBzdHJlYW0KCjIwMTEtMDgtMjIgMjM6NDE6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgdGFrZSB0aGUgcGFkIHN0cmVhbSBsb2NrLCB1c2UgdGhlIHRhc2sncyBsb2NrIGluc3RlYWQKCjIwMTEtMDgtMTYgMTk6NDY6NDkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBFVkVOVF9TRUVLCgoyMDExLTA4LTIzIDAxOjU0OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IHRoZSBHU1RfUVVFUllfU0VFS0lORyBwcm9wZXJseQoKMjAxMS0wOC0yMyAwMTo1NDowMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBjb3JyZWN0bHkgdGhlIEdTVF9RVUVSWV9EVVJBVElPTgoKMjAxMS0wOC0xNiAxOTo0MTowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCB1c2UgR1NUX1RBU0tfV0FJVCBpbiB0aGUgdGFzayBmdW5jdGlvbgoJICBUaGUgdGFzayBmdW5jdGlvbiB1c2VzIEdTVF9UQVNLX1dBSVQgd2hpY2ggZG9lcyBhIGdfY29uZF93YWl0IGdpdmluZyBpdAoJICB0aGUgR1NUX09CSkVDVF9HRVRfTE9DSyBvZiB0aGUgdGFzay4gVGhlIG11dGV4IGdldHMgbG9ja2VkIHdoZW4KCSAgZ19jb25kX3dhaXQgcmV0dXJucywgc28gaWYgd2UgZG9uJ3QgbG9jay91bmxvY2sgaXQsIGl0IHdpbGwKCSAgc3RheSBsb2NrZWQgZm9yZXZlciwgcHJldmVudGluZyB0aGUgdGFzayBmcm9tIGV2ZXIgZmluaXNoaW5nLgoJICBXZSBzaG91bGRuJ3QgbG9jayB0aGUgdGFzayBvYmplY3QgbG9jaywgc28gbGV0J3MgcmVtb3ZlIHRoZSBHU1RfVEFTS19XQUlUCgkgIGFuZCBtYWtlIHRoZSB0YXNrIHBhdXNlIGluc3RlYWQgaWYgdGhlcmUgYXJlIG5vIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLgoKMjAxMS0wOC0xOCAyMzo1MjozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBzZW5kIGEgbmV3LXNlZ21lbnQgb24gc3RyZWFtIHJlbW92YWwKCSAgV2hlbiBhIHByb2dyYW0gaXMgY2hhbmdlZCwgc3RyZWFtX2FkZGVkIGlzIGNhbGxlZCB3aGljaCBzZXRzIHRoZQoJICBuZWVkX25ld3NlZ21lbnQgdG8gVFJVRSwgdGhlbiBzdHJlYW1fcmVtb3ZlZCBpcyBjYWxsZWQsIHdoaWNoIGNhbGxzCgkgIHRoZSBmbHVzaF9wZW5kaW5nX2RhdGEsIHdoaWNoIGNoZWNrcyBmb3IgdGhlIG5ld3NlZ21lbnQgYW5kIGNhdXNlcwoJICBpdCB0byBzZW5kIGEgbmV3LXNlZ21lbnQuCgkgIFdlIG11c3Qgbm90IHNlbmQgdGhlIG5ld3NlZ21lbnQgd2hlbiBmbHVzaGluZyB0aGUgcGVuZGluZyBkYXRhIG9uIHRoZQoJICByZW1vdmVkIHN0cmVhbS4gV2Ugc2hvdWxkIG9ubHkgcHVzaCBpdCB3aGVuIGZsdXNoaW5nIGRhdGEgb24gdGhlIG5ld2x5CgkgIGFkZGVkIHN0cmVhbXMgKGFmdGVyIHRoZXkgZmluaXNoIHBhcnNpbmcgdGhlaXIgUFRTIGhlYWRlcikKCjIwMTEtMDgtMTYgMjI6MDU6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggbmV3c2VnbWVudCB3aGVuIHN3aXRjaGluZyBwcm9ncmFtcwoJICBJZiBhIHByb2dyYW0vc3RyZWFtIGlzIGNoYW5nZWQsIHRoZW4gYSBuZXdzZWdtZW50IGlzIHNlbnQgd2hpY2ggbXVzdAoJICBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGJhc2Ugc2VnbWVudCBzaW5jZSBpdCBoYXBwZW5zIGxhdGVyLiBXZSBtdXN0CgkgIHNoaWZ0IHRoZSBzdGFydCBwb3NpdGlvbiBieSB0aGUgdGltZSBlbGFwc2VkIHNpbmNlIHRoZSBuZXdzZWdtZW50CgkgIGFuZCB0aGUgY3VycmVudCBQVFMgb2YgdGhlIHN0cmVhbQoKMjAxMS0wOC0xNiAxOTo1NDowNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGludGVycG9sYXRlIGdhcCBhbmQgZml4IHRpbWVzdGFtcHMgZGVwZW5kaW5nIG9uIHVwc3RyZWFtIHNlZ21lbnQKCjIwMTEtMDgtMTggMjM6NTQ6NTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEtlZXAgYSBzZXBhcmF0ZSB2YXJpYWJsZSBmb3IgdGhlIGN1cnJlbnQgdmFyaWFudCB1c2VkCgkgIEJ5IHVzaW5nIGEgc2VwYXJhdGUgdmFyaWFibGUsIGZpcnN0IGl0IGFsbG93cyB1cyB0byBzb3J0IHRoZSBsaXN0cwoJICBvZiBhbHRlcm5hdGVzIGJ1dCBrZWVwIHRoZSBwb2ludGVyIG9uIHRoZSBmaXJzdCBvY2N1cmVuY2UgaW4gdGhlIG1haW4KCSAgcGxheWxpc3QgKHRvIHJlc3BlY3QgdGhlIHNwZWMgb2Ygc3RhcnRpbmcgd2l0aCB0aGUgYml0cmF0ZSBzcGVjaWZpZWQKCSAgZmlyc3QgaW4gdGhlIG1haW4gcGxheWxpc3QpLiBJdCBhbHNvIGF2b2lkIHBsYXlpbmcgd2l0aCB0aGUgbGlzdHMgdmFyaWFibGUKCSAgd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gc3RvcmUgdGhlIGxpc3Qgb2YgcGxheWxpc3RzIGFuZCBub3QgYXMgYSBwb2ludGVyCgkgIHRvIHRoZSBjdXJyZW50IG9uZS4KCSAgQWxzbyBmaXhlcyBhIG1lbWxlYWsgd2l0aCB0aGUgZ19saXN0X2ZvcmVhY2ggZnJlZWluZyB0aGUgbGlzdHMsIGlmIGl0IHdhc24ndAoJICBwb2ludGluZyB0byB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbGlzdC4KCjIwMTEtMDgtMjEgMTg6NDQ6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGZpeCBjb21waWxhdGlvbiBvbiBMaW51eAoKMjAxMS0wOC0xOCAxNDoyOTo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBzdWJkZXZpY2UgcHJvcGVydHkKCjIwMTEtMDctMDcgMTY6NDQ6MzEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9saW51eC9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElfaS5jOgoJICBkZWNrbGluazogYWRkIHN1cHBvcnQgZm9yIFdpbmRvd3MKCSAgQnVpbGRzIHdpdGggTVNWQywgbm90IHRlc3RlZCBpbiBNaW5HVyBvciBhbnl0aGluZyBlbHNlLiBBZGRlZAoJICBDT00gaGFuZGxpbmcgY29kZSwgYm9ycm93ZWQgZnJvbSBkc2hvd3ZpZGVvc2luay4gTW92ZWQgTGludXgKCSAgc3BlY2lmaWMgZmlsZXMgdG8gLi9saW51eCBhbmQgYWRkZWQgV2luZG93cyBzcGVjaWZpYyBmaWxlcyB0bwoJICAuL3dpbiAoZ2VuZXJhdGVkIGZyb20gSURMIGZpbGVzIGluIFZTOSkuIEFkZGVkIG1hY3JvcyB0byBoYW5kbGUKCSAgQlNUUiBhbmQgZGVmaW5lZCBib29sIGFzIEJPT0wuICBGaXhlcyAjNjU1MzYyLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MzQ6MDEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogaW1wcm92ZSBmcmFtZSBoYW5kbGluZwoJICBTZW5kIE5FV1NFR01FTlQgb24gc3RhcnQuIFNlbmQgd2FybmluZyBpbnN0ZWFkIG9mIGVycm9yIG9uCgkgIGRyb3BwZWQgZnJhbWVzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MjA6MzcgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogZml4IGRlYnVnZ2luZyBpbiBjYXB0dXJlLmNwcCBieSBtYWtpbmcgY2F0ZWdvcnkgZXh0ZXJuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDoxMzowMCAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSAgZGVja2xpbms6IHVzZSBtdXRleGVzIGZyb20gZ2xpYiBpbnN0ZWFkIG9mIHB0aHJlYWQKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE2IDE3OjE5OjQ5IC0wMzAwICBUaWFnbyBDw6lzYXIgS2F0Y2lwaXMgPHRpYWdva2F0Y2lwaXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmg6CgkgIHJlbW92ZXNpbGVuY2U6IG5ldyBwbHVnaW4KCSAgRml4ZXM6ICM1OTc4MjIuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0yMSAxNDo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUHJldmVudCBhdWRpb3NyYyBmcm9tIHNlbmRpbmcgdW5kZXNpcmVkIGVvcwoJICBCYXNlc3JjIGRlcml2ZWQgY2xhc3NlcyBzZW5kIGFuIGVvcyB3aGVuIHRoZXkgY2hhbmdlIHN0YXRlCgkgIGZyb20gcGF1c2VkIHRvIHJlYWR5IGFuZCB0aGF0IGJyZWFrcyB2aWRlbyByZWNvcmRpbmdzIG9uIGNhbWVyYWJpbjIKCSAgYXMgaXQgbWFrZXMgdGhlIHdob2xlIGF1ZGlvIGJyYW5jaCBwYWRzIGZsdXNoaW5nLgoJICBQcmV2ZW50IGl0IGJ5IHVzaW5nIGEgcGFkIHByb2JlIHRoYXQgb25seSBhbGxvd3MgdGhlIGVvcyB0byBwYXNzCgkgIHdoZW4gaXQgaXMgY2F1c2VkIGJ5IGEgc3RvcC1jYXB0dXJlIGFjdGlvbi4KCjIwMTEtMDgtMjEgMTQ6MDc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogVXNlIGF1ZGlvdGVzdHNyYyBvbiB0ZXN0cwoJICBVc2UgYXVkaW90ZXN0c3JjIG9uIHRlc3RzIGluc3RlYWQgb2YgdXNpbmcgdGhlIHN5c3RlbSdzIGRlZmF1bHQKCSAgYXVkaW9zcmMsIGF2b2lkaW5nIGFueSBwcm9ibGVtcyB0aGF0IGEgbG9jYWwgYXVkaW8gc2V0dXAgbWlnaHQKCSAgaGF2ZS4KCjIwMTEtMDgtMTggMTg6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZ3N0X3BhZF9zZW5kX2V2ZW50IGluc3RlYWQgb2YgZXZlbnRmdW5jIG1hY3JvCgoyMDExLTA4LTE0IDA0OjQxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEltcHJvdmluZyB0ZXN0cwoJICBBZGRpbmcgc29tZSBhZGRpdGlvbmFsIGNoZWNrcyBmb3IgY3VzdG9tIGNhbWVyYWJpbjIgbWVzc2FnZXMKCSAgQWxzbyBpbXByb3ZlcyByZWxpYWJpbGl0eSBvZiB0aGUgdGVzdHMgYnkgd2FpdGluZyBmb3IgdGhlIHByZXZpZXctYnVmZmVyIG1lc3NhZ2UuCgkgIFRoaXMgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgcHJldmlldyBwaXBlbGluZSwgYW5kIG1pZ2h0IGFycml2ZSBsYXRlciB0aGFuIHRoZQoJICBpbWFnZS92aWRlby1kb25lIGZyb20gdGhlIG1haW4gY2FtZXJhYmluMiBwaXBlbGluZSwgdGhlIHRlc3RzIG5lZWQgdG8gd2FpdCBmb3IgaXQgZXZlbgoJICBhZnRlciBnZXR0aW5nIHRoZSBpbWFnZS92aWRlby1kb25lLgoKMjAxMS0wOC0xOCAxNToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEF2b2lkIGFzc2VydGlvbnMgd2hlbiBwbHVnaW4gY3JlYXRpb24gZmFpbHMKCSAgQ2Fwc2ZpbHRlcnMgYXJlIGNyZWF0ZWQgb24gdGhlIGNvbnN0cnVjdG9yIGFuZCB0aGVpciBwcm9wZXJ0aWVzIGNhbgoJICBiZSBzZXQvZ2V0IGZyb20gY2FtZXJhYmluMidzIHNldC9nZXRfcHJvcGVydHkgZnVuY3Rpb25zLiBUaGUgdXNlciB3aXRoCgkgIGEgYnJva2VuIHNldHVwIHdvdWxkIGNhdXNlIGFzc2VydGlvbnMgd2hlbiB0cnlpbmcgdG8gc2V0L2dldCB0aGUKCSAgY2FwdHVyZSBjYXBzIG9mIHRoaXMgY2FtZXJhYmluMi4KCSAgQSBwcm9wZXIgbWlzc2luZy1wbHVnaW4gbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvCgkgIHNldCBjYW1lcmFiaW4yIHRvIFJFQURZIHN0YXRlLgoKMjAxMS0wOC0yMCAwMDo0ODoyMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIHJlbW92ZSBhbiBpZiAoYmVzdCkgY2hlY2sgd2hlcmUgYmVzdCAhPSBOVUxMIGhhcyBhbHJlYWR5IGJlZW4gY2hlY2tlZAoKMjAxMS0wOC0xNiAxOTo1MTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogcmVpbml0aWF0ZSBzZWdtZW50IGF0IGZsdXNoLXN0b3AgZXZlbnQgb25seQoKMjAxMS0wOC0xNiAxOTo0MzowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogU2V0IGJ1ZmZlciB0aW1lc3RhbXAgc2luY2Ugd2Ugc2VuZCBhIFRJTUUgc2VnbWVudAoKMjAxMS0wOC0wMiAxOToyMTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsbG93IGJhbmR3aWR0aCBzd2l0Y2hpbmcgZHVyaW5nIGNhY2hpbmcgb2YgZnJhZ21lbnRzCgoyMDExLTA4LTAyIDE5OjIxOjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHRoZSBwYWQncyBjYXBzIGJlZm9yZSBhZGRpbmcgaXQKCjIwMTEtMDgtMTcgMTE6MDI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBmaW5nZXJwcmludCBjcmVhdGlvbiBjYW4gZmFpbAoJICBUaGVyZSBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd2F5IHRvIHJldHJpZXZlIGluZm9ybWF0aW9uCgkgIGFib3V0IHdoeSBmYWlsdXJlIG9jY3VyZWQsIHVuZm9ydHVuYXRlbHkuCgkgIFdoZW4gZmFpbHVyZSBvY2N1cnMsIGRvIG5vdCBwb3N0IGEgTlVMTCBmaW5nZXJwcmludCB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTcgMTA6NTU6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBjbGVhbnVwCgkgIEF2b2lkIHJlcGVhdGluZyBjYXN0aW5nIHRvIEdzdEF1ZGlvRmlsdGVyIHdoZW4gb25lIHdpbGwgZG8KCSAgVXNlIG9iamVjdCByZWxhdGVkIGxvZ2dpbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZ2V0IGp1c3QgdGhlIGxvZ3Mgd2Ugd2FudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE3IDExOjA3OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZG8gbm90IGNyZWF0ZSBmaW5nZXJwcmludCBvbiBFT1MgaWYgcmVjb3JkIGlzIEZBTFNFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTggMTA6Mzk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIHZhcmlhYmxlIGluIHRhZ3MgaGFuZGxpbmcKCjIwMTEtMDgtMTggMDg6MDI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IEZpeCBsb2NraW5nLCBlc3BlY2lhbGx5IGlmIGJvdGggcGFkcyBoYXZlIGRpZmZlcmVudCBzdHJlYW1pbmcgdGhyZWFkcwoKMjAxMS0wOC0xOCAwNzo0MjowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IERvbid0IGNhbGwgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KCkgaW4gY2xhc3NfaW5pdAoJICBUaGlzIGlzIGFscmVhZHkgZG9uZSBieSB0aGUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMS0wOC0xNyAxOTowMTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTYgMTA6MjQ6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkgIGFpZmZtdXg6IGRyb3AgZGF0YSBhZnRlciA0aXNoIEdCIGFuZCBtb2FuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTA6MDI6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiB1c2UgZ3VpbnQzMiBmb3IgZ3VpbnQzMiBwYXJhbWV0ZXJzCgkgIFRoaXMgbWFrZXMgZXhwbGljaXQgdGhhdCB0aGUgcmFuZ2UgaXMgbGltaXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxMDowMjoxMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IGF2b2lkIGludGVnZXIgb3ZlcmZsb3cKCSAgVGhlc2UgdmFsdWVzIGFyZSAzMiBiaXRzLCBhbmQgd2lkdGggaXMgYSBtdWx0aXBsZSBvZiA4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDE5OjM5OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogbWFrZSB0aGlzIGNvbXBpbGUgd2l0aCBnaXQgbGliY2VsdAoJICBjZWx0X21vZGVfaW5mbyB3YXMgcmVtb3ZlZCwgaW4gZmF2b3Igb2YgYSBfY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2Njg2CgoyMDExLTA4LTE2IDE4OjM0OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZG9uJ3QgY3Jhc2ggd2hlbiB0aGVyZSdzIG5vIGRhdGEgdG8gY3JlYXRlIGEgZmluZ2VycHJpbnQgZnJvbQoJICBGaXhlcyBhIGNyYXNoIHdoZW4gbm8gZGF0YSBmbG93ZWQgdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNiAxOTo0NzowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGdzdF9iaXRfcmVhZGVyX3NraXAgdG8gc2tpcCBtb3JlIHRoYW4gMzIgYml0cy4KCSAgR0VUX0JJVFMgaXMgYSBtYWNybyBmb3IgZ3N0X2JpdF9yZWFkZXJfZ2V0X2JpdHNfdWludDMyLCB3aGljaCBjYW5ub3QKCSAgcmVhZCBtb3JlIHRoYW4gMzIgYml0cyBhbmQgd2lsbCBmYWlsIGluIHRoaXMgY2FzZSB3aGVyZSBpdCBpcyBjYWxsZWQKCSAgdG8gcmVhZCA3OSBiaXRzLiBTaW5jZSB3ZSB3YW50IHRvIHNraXAgdGhvc2UgYml0cywgZ3N0X2JpdF9yZWFkZXJfc2tpcAoJICBpcyBtb3JlIGFwcHJvcHJpYXRlIGluIHRoaXMgY2FzZS4KCjIwMTEtMDgtMTUgMDI6MDg6MTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBnZXQgdGhlIGZyYW1lcmF0ZSBmcm9tIGNhcHMKCSAgLi4uYW5kIGNvbmZpZ3VyZSBRVEtpdCBhY2NvcmRpbmdseS4gSGFyZGNvZGluZyB0byAzMGZwcyB3YXMgcHJldHR5IC1iYWQuCgoyMDExLTA4LTEzIDE1OjU1OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCB0ZXN0IGZvciBhdWRpby1maWx0ZXIgcHJvcGVydHkKCSAgQ2hlY2tzIHRoYXQgdGhlIGF1ZGlvLWZpbHRlciBpcyBwcm9wZXJseSBwbHVnZ2VkIGluIHRoZSBwaXBlbGluZQoJICBhbmQgcmVjZWl2ZXMgYnVmZmVycyB3aGVuIHJlY29yZGluZyBhIHZpZGVvLgoKMjAxMS0wOC0xMSAxODo1OTowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGF1ZGlvLWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gYWRkIGEgY3VzdG9tIEdzdEVsZW1lbnQgdG8gdGhlIGF1ZGlvCgkgIGJyYW5jaCBvZiB0aGUgcGlwZWxpbmUuIFRoaXMgYWxsb3dzIHRoZSB1c2VyIHRvIGRvIGN1c3RvbSBhdWRpbwoJICBwcm9jZXNzaW5nL2FuYWx5c2lzIHdoZW4gcmVjb3JkaW5nIHZpZGVvcy4KCjIwMTEtMDgtMTIgMjI6Mzk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBiYXNldmlzdWFsaXplcjogYWRkIG1vcmUgc2hhZGVyIHZhcmlhbnRzIGFuZCBzaW1wbGlmeSBjb2RlCgkgIFVzZSBtYWNyb3MgdG8gc2ltcGx5ZnkgdGhlIHNoYWRpbmcgY29kZS4gVGhvc2Ugd2lsbCBlYXNlIHRvIGFkZCBzdXBwb3J0IGZvcgoJICBvdGhlciBjb2xvcnNwYWNlcyBpbiB0aGUgZnV0dXJlLiBBZGQgbW9yZSB2YXJpYW50cyBmb3IgdGhlIHNoYWRpbmcgKGxlZnQscmlnaHQsCgkgIGhvcml6LWluLCB2ZXJ0LW91dCwgdmVydC1pbikuCgoyMDExLTA4LTEyIDIxOjIyOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2V2aXN1YWxpemVyOiBtb3JlIGRvY3MKCjIwMTEtMDgtMTIgMjE6MTg6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBwcm90ZWN0IGNvbmZpZyB3aXRoIGEgbG9jawoJICBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gY3Jhc2ggdGhlIGVsZW1lbnRzIHdoZW4gdXNpbmcgYSB4aW1hZ2VzaW5rIGFuZCB0cmlnZ2VyaW5nCgkgIHJlbmVnb3RpYXRpb24gYnkgcmVzaXppbmcuCgoyMDExLTA4LTEyIDE2OjU3OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBtYWtlIGEgY29weSBvZiB0aGUgYXVkaW9kYXRhIGJlZm9yZSBkb3dubWl4aW5nIGFuZCB3aW5kb3dpbmcKCSAgVGhlIGJ1ZmZlcnMgY29tZSBmcm9tIHRoZSBhZGFwdGVyIGFuZCB0aGUgZGF0YSBtaWdodCBvdmVybGFwLiBXZSBkb24ndCB3YW50IHRvCgkgIG1vZGlmeSBpdCBpbiBwbGFjZS4KCjIwMTEtMDgtMTIgMTI6MjU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUHJveHkgdGhlIHdpZHRoL2hlaWdodC9mcmFtZXJhdGUvUEFSIGNvbnN0cmFpbnRzIG9mIGRvd25zdHJlYW0gY2FwcyB0byB1cHN0cmVhbQoJICBUaGlzIGFsbG93cyB0byBzcGVjaWZ5IGNvbnN0cmFpbnRzIG9uIHRoZSBjb21wcmVzc2VkIGRvd25zdHJlYW0gY2FwcwoJICBieSBtdXhlcnMgb3IgY2Fwc2ZpbHRlcnMsIHdoaWNoIHdpbGwgdGhlbiBiZSBmb3J3YXJkZWQgdG8gdXBzdHJlYW0KCSAgYW5kIGFsbG93cyB2aWRlbyBjb252ZXJ0ZXJzIHRvIGZ1bGZpbGwgdGhlIGNvbnN0cmFpbnRzLgoJICBDb2RlIGJhc2VkIG9uIE1hcmsgTmF1d2VsYWVydHMgYXVkaW8gZW5jb2RlciBiYXNlIGNsYXNzLgoKMjAxMS0wOC0xMiAxMjoxMzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBSZW1vdmUgb2xkIDo6Z2V0Y2FwcygpIGNvbW1lbnQKCjIwMTEtMDgtMTIgMTI6MDg6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBSZW1vdmUgOjpnZXRfY2FwcygpIHZmdW5jCgkgIFN1YmNsYXNzZXMgY2FuIHNldCB0aGUgY2FwcyBtb3JlIGVmZmljaWVudGx5IGFuZCB0aGlzIG9ubHkKCSAgY2F1c2VkIGFkZGl0aW9uYWwgaW5kaXJlY3Rpb25zLgoKMjAxMS0wOC0wOSAwOToyOToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogZG8gbm90IGFzc2VydCBvbiB0aGUgdmFsdWVzIG9mIGRhdGEgcmVhZCBmcm9tIGlucHV0CgkgIEluc3RlYWQsIGxvZyBhIHdhcm5pbmcsIGFuZCByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM4MjcKCjIwMTEtMDgtMDMgMTY6MDI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVXNlIHRoZSBjYWNoZWQgdmlkZW8gZnJhbWUgc2l6ZSBpbnN0ZWFkIG9mIHJlY2FsY3VsYXRpbmcgaXQKCjIwMTEtMDgtMDggMTc6NTM6MTYgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgdHJpZ2dlcnMgInNldCBidXQgdW51c2VkIHZhcmlhYmxlcyIKCSAgZnJvbSBHY2MgNC42LiAgRml4ZXMgIzY1NjE2NgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMDggMTY6NDQ6MjAgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlcwoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCB0cmlnZ2VycyAic2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzIiBmcm9tIEdjYwoJICA0LjYuICBGaXhlcyAjNjU2MTY0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMDYgMTI6MTM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdmlkZW8tZG9uZSBtZXNzYWdlCgkgIHZpZGVvLWRvbmUgbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCB3aGVuIGEgdmlkZW8gcmVjb3JkaW5nIGlzCgkgIGZpbmlzaGVkLiBTaW1pbGFyIHRvIGltYWdlLWRvbmUgbWVzc2FnZS4KCjIwMTEtMDgtMDUgMTU6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdG9wLWxldmVsIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxMS0wOC0wNSAxMzozNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeGluZyB0eXBvCgoyMDExLTA4LTA0IDEzOjMzOjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAZ29vZ2xlLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG1vdGlvbmNlbGxzOiB0dXJuIHR3byBnbG9iYWwgdmFycyBpbnRvIHN0YXRpYyB2YXJpYWJsZXMKCSAgTW92ZSAyIHZhcmlhYmxlIHRvIG1vdGlvbmNlbGxzX3dhcnBwZXIgYW5kIG1ha2UgdGhlbSBzdGF0aWMuCgoyMDExLTA4LTA0IDEzOjMzOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlCgoyMDExLTA4LTA0IDExOjI4OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCBnc3RkZWNrbGluay5oIHRvIGxpc3Qgb2YgaGVhZGVycwoKMjAxMS0wOC0wNCAwOTo0OTo0NiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBzZXF1ZW5jZSBoZWFkZXIgcGFyc2luZwoJICBBZnRlciBiaXRyYXRlIHRoZXJlJ3MgMTEgYml0cyAoMSBtYXJrZXIgYml0ICsgVkJWIGJ1ZmZlciBzaXplKSBiZWZvcmUgdGhlIGxvYWQKCSAgaW50cmEgcXVhbnRpc2VyIGZsYWcuCgoyMDExLTA4LTA0IDA5OjQwOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0wNCAwOTozNjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgY29uZmlndXJlLmFjCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmgKCSAgZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jCgoyMDExLTA3LTIxIDA4OjU4OjI3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIG1pc3NpbmcgRkxJQ0tFUl9SRURVQ1RJT04gY2FwYWJpbGl0eQoJICBHc3RQaG90b2dyYXBoeSBBUEkgY29udGFpbnMgZnVuY3Rpb25zIHRvIGdldC9zZXQgZmxpY2tlciByZWR1Y3Rpb24KCSAgbW9kZSwgYnV0IEdzdFBob3RvQ2FwcyBlbnVtZXJhdGlvbiBkb2Vzbid0IGhhdmUgaXRlbSBmb3IgaXQsIHNvIGVsZW1lbnRzCgkgIGFyZSBub3QgYWJsZSB0byByZXBvcnQgd2hldGhlciB0aGV5IHN1cHBvcnQgdGhpcyBmZWF0dXJlIG9yIG5vdC4KCSAgQWxzbyBhZGQgdXNlZnVsIEdTVF9QSE9UT0dSQVBIWV9DQVBTX0FMTCBmb3IgZWFzaWx5IHNlbGVjdGluZyBhbGwKCSAgY2FwYWJpbGl0aWVzIGF0IG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUzMTgKCjIwMTEtMDgtMDMgMTM6Mzc6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuaDoKCSAgc3ViZW5jOiBBZGQgd2VidnR0ZW5jIGVsZW1lbnQKCjIwMTEtMDgtMDMgMTM6MzU6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBGaXggdW5pbml0aWFsaXplZCBlcnJvcgoKMjAxMS0wNy0wOSAyMzoyMjoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgc2hhcGVfb3V0cHV0IGhhbmRsaW5nCgoyMDExLTA3LTA5IDIzOjA3OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFJlbW92ZSB1bnVzZWQgc2hhcGVfb3V0cHV0IGNvZGUKCjIwMTEtMDctMDkgMTg6NTM6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgbW9yZSBwcm9wZXJ0aWVzCgoyMDExLTA2LTE5IDE2OjA2OjQ2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGFkZCBtaW4vbWF4c2VjdGlvbi1wY3Qgb3B0aW9uCgkgIFRoaXMgb3B0aW9ucyBzaG91bGQgYmUgZ29vZCB0byByZWRldWNlIGRlY29kZSBDUFUgbG9hZC4KCSAgZm9yIGxvd2VuZCBoYXJkd2FyZToKCSAgbWluc2VjdGlvbi1wY3Q9MTUgbWF4c2VjdGlvbi1wY3Q9NDAwCgkgIGZvciBoaWVuZCBodzoKCSAgbWluc2VjdGlvbi1wY3Q9NSBtYXhzZWN0aW9uLXBjdD04MDAKCSAgc2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX3Zicl9lbmNvZGluZ19mb3Jfc21vb3RoX3BsYXliYWNrX29uX2xvdy1lbmRfaGFyZHdhcmUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMTE6MDU6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogYWRkIGxhZy1pbi1mcmFtZXMgb3B0aW9uLgoJICBUaGlzIG9wdGlvbiBzZXQgbWF4aW11bSBvZiBmcmFtZXMgY29kZWMgc2hvdWxkIHJlbWVtYmVyLAoJICB0byBtYWtlIGJldHRlciBwcmVkaWt0aW9uIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgU2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX2Jlc3RfcXVhbGl0eV92YnJfZW5jb2RpbmcKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMDc6MTY6NTcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdXNlIG11bHRpcGFzcy5jYWNoZSBmaWxlIG5hbWUgYXMgZGVmYXVsdCBmb3IgbXVsdGlwYXNzIG1vZGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA5IDE2OjA1OjA3IC0wNDAwICBNdWt1bCBNYWptdWRhciA8bXVrdWwubWFqbXVkYXJAZ21haWwuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IEFkZCBwcm9wZXJ0aWVzIGZvciBWQlIgZW5jb2RpbmcKCSAgUHJvcGVydHkgInF1YWxpdHkiIHRvIHNwZWNpZnkgVkJSIHF1YW50aXplciBxdWFsaXR5IGFuZCBwcm9wZXJ0eQoJICAiYnJ0eXBlIiB0byBjaG9vc2UgYmV0d2VlbiBBQlIgYW5kIFZCUiBlbmNvZGluZy4gVGhlIGRlZmF1bHQgaXMgbm93IFZCUgoJICB3aXRoIHF1YWxpdHk9MTAwLgoJICBGaXhlcyBidWcgIzY1NDMxMC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE2OjA3OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBhdWRpby1pbnB1dCBwcm9wZXJ0eQoKMjAxMS0wNy0xOCAxNToyNTowNSArMTAwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkgIGludGVyOiBBZGRpbmcgbWlzc2luZyBiYXNlIHJlcXVpcmVtZW50cy4KCSAgRml4ZXM6ICM2NTQ4MDYuCgoyMDExLTA4LTAzIDE1OjIxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogYWRkIG1vcmUgbWlzc2luZyBwbHVnaW4gY2hlY2tzCgkgIFNwcmlua2xlIHNvbWUgbW9yZSBtaXNzaW5nIHBsdWdpbiBjaGVja3MgYXJvdW5kCgoyMDExLTA4LTAzIDEzOjEyOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIGEgbWlzc2luZyBlbGVtZW50IGNoZWNrIGFuZCByZW1vdmUgVE9ETwoJICBBZGQgbWlzc2luZyBlbGVtZW50IGNoZWNrcyBmb3IgZWxlbWVudHMgY3JlYXRlZCBhdCBfaW5pdAoJICBmdW5jdGlvbnMgYW5kIHJlbW92ZSBUT0RPIGFib3V0IGl0CgoyMDExLTA4LTAzIDEzOjU3OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgcmVkdW5kYW50IGltYWdlLXF1ZXVlCgkgIEVuY29kZWJpbiBpcyB1c2VkIGZvciBpbWFnZSBlbmNvZGluZyBhbmQgaXQgYWxyZWFkeSBjb250YWlucwoJICBhIHF1ZXVlLCBzbyB3ZSBjYW4gcmVtb3ZlIGNhbWVyYWJpbjIgaW1hZ2UgcXVldWUuCgoyMDExLTA4LTAzIDEzOjQyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCB1cCBjb3B5cmlnaHRzCgoyMDExLTA2LTI5IDE1OjE0OjI5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogQWRkIGF1ZGlvIGNhcHR1cmUgY2FwcyBvcHRpb24KCjIwMTEtMDgtMDIgMTU6MTQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTWFrZSBhY2Nlc3MgdG8gdGhlIGxpc3Qgb2YgZnJhbWVzIHRocmVhZHNhZmUKCjIwMTEtMDgtMDIgMjM6NTM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBiYXllcjogYmFjayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3MgaW4gb3JjLWdlbmVyYXRlZCBjb2RlIGJ5IGRpc2FibGluZyAtV2Vycm9yIGZvciB0aGlzIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjc3CgoyMDExLTA4LTAyIDIyOjU3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBGaXggc29tZSBtb3JlIHZhcmlhYmxlLXNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDgtMDIgMjE6MTQ6MDYgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEZpeCBjYW1lcmFiaW4yIEdfT0JKRUNUIGNhc3QKCSAgQWRkcyBtaXNzaW5nIGNhc3QgdG8gZml4IGJ1aWxkIGVycm9yLgoKMjAxMS0wOC0wMiAxMDo0OTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFdvcmthcm91bmQgZm9yIHJpbmdidWZmZXIgbm90IHJlc3luY2luZyBvbiBSRUFEWQoJICBBZGQgYSB3b3JrYXJvdW5kIHRvIGZpeCB0aW1lc3RhbXBzIG1lYW53aGlsZSBidWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODM1OSBpcyBmaXhlZC4KCjIwMTEtMDctMzAgMTY6MTI6MzEgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjIgcmVtb3ZlIHJlZHVuZGFudCB2aWV3ZmluZGVyLWNvbG9yc3BhY2UgYW5kIHZpZXdmaW5kZXItc2NhbGUKCSAgY2FtcmFiaW4yIGNvbm5lY3RzIGEgdmlld2ZpbmRlcmJpbiBvbiAidmZzcmMiLiB2aWV3ZmluZGVyYmluIGlzIG1hZGUgb2Y6CgkgIHZmYmluLWNzcCAhIHZmYmluLXZpZGVvc2NhbGUgISB2aWRlb3NpbmsuCgkgIHdlIHNob3VsZCBlaXRoZXIgcmVtb3ZlIGNzcC92aWRlb3NjYWxlIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyAoYXMKCSAgZG9uZSBpbiB0aGlzIHBhdGNoKSBvciB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB2aWV3ZmluZGVyYmluIGFsdG9nZXRoZXIuCgoyMDExLTA3LTI2IDA2OjA0OjQxICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogcmVtb3ZlIHVudXNlZCBnZXRfYWxsb3dlZF9pbnB1dF9jYXBzCgkgIFRoZSB1c2Ugb2YgdGhpcyBtZXRob2Qgd2FzIHJlbW92ZWQgaW46CgkgIGNvbW1pdCA1MzlmMTBmNGQ5OWUxYTA3NDg4MTI4OTI1NGQxZDEwOTE1OWNmOWU1CgkgIGJhc2VjYW1lcmFzcmM6IE1vcmUgY2xlYW51cAoJICBUaGUgY29kZSBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgaXMgZnJvbSB2NGwyY2FtZXJhc3JjIGJ1dCBpcyB1bnVzZWQ6CgkgIGdldF9hbGxvd2VkX2lucHV0X2NhcHMgaXMgbm90IGNhbGxlZCBhbnl3aGVyZS4KCjIwMTEtMDctMjYgMDU6NTk6MDkgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogZG9uJ3QgdXNlIGNsYXNzIG9mZnNldHMgZm9yIHN0YXJ0L3N0b3AtY2FwdHVyZSBzaWduYWwgaGFuZGxlcnMKCjIwMTEtMDctMjYgMDU6NDM6MzQgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGRvY3VtZW50IHdoeSB3ZSBzZXQgcHJldmlldyB0byBQTEFZSU5HCgoyMDExLTA3LTI2IDA0OjQyOjQ5ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBkb2N1bWVudCBjYWxsYmFja3MKCSAgTm90ZSBmb3IgZWFjaCBjYWxsYmFjazoKCSAgLSB3aGVuIGl0IGlzIGNhbGxlZCwKCSAgLSB3aGV0aGVyIGl0IGlzIG1hbmRhdG9yeSBvciBvcHRpb25hbC4KCjIwMTEtMDctMjYgMDM6MDQ6NDcgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHByZXZpZXc6IHJlbW92ZSB1bnVzZWQgbmV3X3ByZXJvbGwgY2FsbGJhY2sKCjIwMTEtMDctMjggMTM6MTg6NTcgLTAzMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU3luY2hyb25pemUgY2xvY2sgYW5kIGJhc2UgdGltZSB0byBhdWRpb3NyYwoJICBXaGVuIGF1ZGlvIHNvdXJjZSBnb2VzIHRvIFJFQURZIGl0IGxvc2VzIGl0cyBjbG9jayBhbmQgYmFzZSB0aW1lLAoJICB0aGlzIHBhdGNoIHNldHMgdGhlbSBiYWNrIGFmdGVyIGJyaW5naW5nIHRoZSBhdWRpbyBzb3VyY2UgYmFjayB0byBQQVVTRUQuCgoyMDExLTA3LTI4IDEyOjU2OjEyIC0wMzAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFByZXZlbnQgYXVkaW8gc291cmNlIGZyb20gcHJvdmlkaW5nIGNsb2NrCgkgIFRoZSBhdWRpbyBzb3VyY2UgaW5zaWRlIGNhbWVyYWJpbjIgaXMgcHV0IHRvIFJFQURZIGFuZCBiYWNrIHRvCgkgIFBMQVlJTkcgd2hlbiBzdGFydGluZyBjYXB0dXJlLCBjYXVzaW5nIHRoZSBwaXBlbGluZSB0byBsb3NlIGl0cwoJICBjbG9jay4gQXMgY2FtZXJhYmluMiBpc24ndCBwdXQgdG8gUEFVU0VELT5QTEFZSU5HIGFnYWluIGR1cmluZwoJICB0aGlzLCBhIG5ldyBjbG9jayBpc24ndCBzZWxlY3RlZCBmb3IgZWxlbWVudHMuCgoyMDExLTA2LTMwIDExOjA5OjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBmbGFncyBwcm9wIHRvIHRvZ2dsZSBlbmNvZGViaW4gY29udmVyc2lvbiBlbGVtZW50cwoJICBBIGZsYWdzIHByb3BlcnR5IGhhcyBiZWVuIGFkZGVkIHRvIGVuY29kZWJpbiB0byB0b2dnbGUgd2hldGhlciB0aGUKCSAgY29udmVyc2lvbiBlbGVtZW50cyAoZmZtcGVnY29sb3JzcGFjZSwgdmlkZW9zY2FsZSwgYXVkaW9jb252ZXJ0LAoJICBhdWRpb3Jlc2FtcGxlLCBhdWRpb3JhdGUpIGFyZSBjcmVhdGVkIGFuZCBsaW5rZWQgaW50byB0aGUgYXBwcm9wcmlhdGUKCSAgYnJhbmNoZXMgb2YgZW5jb2RlYmluLgoJICBOb3QgaW5jbHVkaW5nIHRoZXNlIGVsZW1lbnRzIGF2b2lkcyBzb21lIHNsb3cgY2FwcyBuZWdvdGlhdGlvbiBhbmQKCSAgYWxsb3dzIHRoZSBmaXJzdCBidWZmZXJzIHRvIGZsb3cgdGhyb3VnaCBlbmNvZGViaW4gbXVjaCBtb3JlIHF1aWNrbHkuCgkgIEhvd2V2ZXIsIGl0IGltcG9zZXMgdGhhdCB0aGUgdW5jb21wcmVzc2VkIGlucHV0IGlzIGFwcHJvcHJpYXRlIGZvciB0aGUKCSAgdGFyZ2V0IHByb2ZpbGUgYW5kIGVsZW1lbnRzIHNlbGVjdGVkIHRvIG1lZXQgdGhhdCBwcm9maWxlLgoKMjAxMS0wNi0yOSAxNTozNTo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBQcmVwYXJlIGF1ZGlvc3JjIGJlZm9yZSBzdGFydC1jYXB0dXJlCgkgIElmIHdlIGJyaW5nIHRoZSBhdWRpbyBzb3VyY2UgdXAgdG8gdGhlIFBBVVNFRCBzdGF0ZSBiZWZvcmUgZW1pdHRpbmcgdGhlCgkgIHN0YXJ0LWNhcHR1cmUgc2lnbmFsIHRvIHRoZSBjYW1lcmEgc291cmNlLCB3aGVuIHN1YmVxdWVudGx5IHRha2luZyB0aGUKCSAgYXVkaW8gc291cmNlIHRvIHRoZSBQTEFZSU5HIHN0YXRlLCBpdCB3aWxsIGJlZ2luIGNhcHR1cmUgbW9yZSBxdWlja2x5LgoKMjAxMS0wNi0yOSAxNToxODo0NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSByZWR1bmRhbnQgZWxlbWVudHMKCSAgU2luY2UgY2FtZXJhYmluMiBoYXMgc3dpdGNoZWQgdG8gZW5jb2RlYmluIGFuZCBlbmNvZGViaW4gaGFzIGl0cyBvd24KCSAgcXVldWVzIGFuZCBjb252ZXJzaW9uIGVsZW1lbnRzLCB0aG9zZSBwcmVjZWRpbmcgZW5jb2RlYmluIGFyZSBubyBsb25nZXIKCSAgbmVjZXNzYXJ5IGFuZCBhcyBzdWNoIGNhbiBiZSByZW1vdmVkLgoKMjAxMS0wOC0wMiAxMjoyNDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRGVmaW5lIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAyIDExOjQyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCjIwMTEtMDgtMDEgMTg6NDk6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVGFrZSBpbnRvIGFjY291bnQgdXBzdHJlYW0gbmV3c2VnbWVudCBldmVudHMKCSAgSWYgdGhlIGluY29taW5nIG5ld3NlZ21lbnQgZXZlbnQgd2FzIGluIHRpbWUsIHVzZSB0aGF0IHBvc2l0aW9uIHZhbHVlCgkgIGZvciB0aGUgZG93bnN0cmVhbSBuZXdzZWdtZW50cy4KCjIwMTEtMDgtMDEgMTg6NDg6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTZW5kIE5FV1NFR01FTlQgZXZlbnRzCgkgIFByZXZpb3VzbHkgaGxzZGVtdXggd2Fzbid0IHNlbmRpbmcgb3V0IGFueSBuZXdzZWdtZW50LgoJICBIZXJlIHdlIHB1c2ggYSBHU1RfRk9STUFUX1RJTUUgbmV3c2VnbWVudCwgYW5kIHdoZW5ldmVyIHBvc3NpYmxlIHdlCgkgIHRyeSB0byBpbmRpY2F0ZSB0aGUgcHJvcGVyIHN0YXJ0IHRpbWUuCgkgIFRoaXMgYWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgdG8gcmVsYXkgdGhlIHN0YXJ0L3RpbWUgdmFsdWVzIHByb3Blcmx5CgkgIHRvIHRoZSBzaW5rcywgYWxsb3dpbmcgYmV0dGVyIHN0cmVhbSBzd2l0Y2hpbmcuCgoyMDExLTA4LTAxIDE1OjQ2OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSBwcm9ncmFtcyBvbiBFT1MKCSAgQWxsb3dzIHN1YmNsYXNzZXMgdG8gcHJvcGVybHkgZmx1c2ggb3V0IHBlbmRpbmcgZGF0YS4KCjIwMTEtMDgtMDEgMTA6NTQ6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmYWN0b3Igc3RyZWFtL3Byb2dyYW0gcmVtb3ZhbAoJICBUaGUgcHJvZ3JhbV9zdG9wcGVkIHZtZXRob2Qgd2FzIGNhbGxlZCBiZWZvcmUgc3RyZWFtX3JlbW92ZWQgdm1ldGhvZAoJICB3YXMgYmVpbmcgY2FsbGVkLiBTaW5jZSB3ZSBvbmx5IGRpZCBzdHJlYW0tcmVsYXRlZCBvcGVyYXRpb25zIGluIHRoZXJlLAoJICB3ZSBqdXN0IHJlbW92ZSB0aGUgcHJvZ3JhbV9zdG9wcGVkIHZtZXRob2QgYW5kIGRvIGV2ZXJ5dGhpbmcgaW4gdGhlCgkgIHN0cmVhbV9yZW1vdmVkIG9uZS4KCSAgQWxzbywgbWFrZSBzdXJlIHdlIGZsdXNoIG91dCBhbGwgcGVuZGluZyBkYXRhIGJlZm9yZSBzZW5kaW5nIEVPUy4KCjIwMTEtMDctMjggMTg6MjE6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFByZXZlbnQgc3RhY2sgZ2FyZGVuaW5nIGJ5IHVzaW5nIHRoZSByaWdodCB0eXBlCgkgIHN0cmVhbV90eXBlIGlzIHN0b3JlZCBhcyBndWludCBpbnNpZGUgdGhlIEdzdFN0cnVjdHVyZSBidXQgd2FzIHJldHJlaXZlZAoJICB1c2luZyB2YWxpc3Qgd2l0aCBhIHBvaW50ZXIgdG8gZ3VpbnQxNi4gVGhpcyB3b3VsZCBjYXVzZSBzdGFjayBnYXJkZW5pbmcKCSAgd2hlbiBjb2RlIGlzIGNvbXBpbGVkIHdpdGhvdXQgb3B0aW1pc2F0aW9uIChlLmcuIGluIC1PMCB0aGUgY29tcGlsZXIgd29udAoJICBwYWQgdGhlIHN0YWNrIHRvIG9wdGltaXNlIG91dCByZXF1aXJlZCBtYXNrKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTU0MAoKMjAxMS0wNy0yOSAyMToyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBmYWFkIHVuaXQgdGVzdAoKMjAxMS0wNy0yOSAxOTo0MzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDNtdXg6IHVzZSBub3ctcHVibGljIEdzdFRhZ011eCBiYXNlIGNsYXNzIGZyb20gbGliZ3N0dGFnCgoyMDExLTA3LTI4IDIwOjM4OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIHRhZ211eDogcmVxdWlyZSBzdWJjbGFzcyB0byBpbnN0YWxsIHNpbmsgcGFkIHRlbXBsYXRlCgkgIFJlcXVpcmUgdGhlIHN1YmNsYXNzIHRvIGluc3RhbGwgYm90aCBzb3VyY2UgYW5kIHNpbmsgcGFkCgkgIHRlbXBsYXRlcy4gQWxzbywgcHJpbnQgc29tZSB3YXJuaW5ncyBpZiB0aGUgc3ViY2xhc3MgZG9lc24ndAoJICBkbyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NDM3CgoyMDExLTA3LTI3IDIyOjM0OjIzICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0OiB0ZXN0IHRvb2wgd2hhdCBjYW4gdG8gZG8gZHluYW1pYyBjaGFuZ2UgcHJvcGVydGllcwoKMjAxMS0wNy0yNyAxODo1ODoxNSArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgbW90aW9uY2VsbHM6IG5ldyBlbGVtZW50IHRvIGRldGVjdCBhcmVhcyBvZiBtb3Rpb24KCjIwMTEtMDctMjYgMTc6MDI6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhzbGRlbXV4OiBIYW5kbGUgY2hhbmdlIG9mIG1lZGlhIHR5cGVzCgkgIFdoZW4gc3dpdGNoaW5nIGJpdHJhdGVzLCB3ZSBtaWdodCBlbmQgdXAgc3dpdGNoaW5nIHRvIGEgZGlmZmVyZW50CgkgIG1lZGlhLXR5cGUgKGxpa2UgZnJvbSBhYWMgdG8vZnJvbSBtcGVnLXRzKS4KCSAgRm9yIHRoaXMgc3dpdGNoIHRvIGJlaGF2ZSBwcm9wZXJseSBpbiBkZWNvZGViaW4yLCB0aGlzIHBhdGNoIGFkZHM6CgkgICogZHluYW1pYyBzb3VyY2UgcGFkcyAod2hpY2ggd2lsbCBiZSBhZGRlZC9yZW1vdmVkIHdoZW5ldmVyIGEgc3RyZWFtCgkgIG1lZGlhIHR5cGUgY2hhbmdlcwoJICAqIHJlLWNoZWNraW5nIHRoZSBmcmFnbWVudCBtZWRpYSB0eXBlIHdoZW5ldmVyIHdlIHN3aXRjaCB0byBhIGRpZmZlcmVudAoJICBwbGF5bGlzdAoKMjAxMS0wNy0yNiAxMzo0NzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gb2xkIGNvbXBpbGVycwoKMjAxMS0wNy0yNyAxMTowMjo0MSArMDEwMCAgT2xhZiBTZWliZXJ0IDxyaGlhbHRvQGF6ZW5vbWVpLmtudWZmZWwubmV0PgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHdyb25nIHVzYWdlIG9mIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvcyBhbmQgY29tcGlsYXRpb24gb24gTmV0QlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUzMTkKCjIwMTEtMDctMjcgMTA6NTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RwY2FwcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9wY2FwX3BhcnNlX2NoYWluJzoKCSAgZ3N0cGNhcHBhcnNlLmM6MzgxOjY6IGVycm9yOiAnZXRoX3R5cGUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj11bmluaXRpYWxpemVkXQoJICBnc3RwY2FwcGFyc2UuYzozNTQ6MTE6IG5vdGU6ICdldGhfdHlwZScgd2FzIGRlY2xhcmVkIGhlcmUKCjIwMTEtMDctMjYgMTk6MTE6MTYgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggU0xMIHBhcnNpbmcKCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBub3QgY2hlY2tpbmcgZm9yIGV0aGVybmV0IHR5cGUsIGFzIGl0J3Mgc3VwcG9zZWQgdG8sCgkgIGJ1dCBsaW5rIGxheWVyIGRldmljZSB0eXBlIGFuZCBpdCdzIGhhcmQtY29kZWQgdG8gb25seSBhY2NlcHQgZHVtcHMgZnJvbQoJICBldGhlcm5ldCAoQVJQSFJEX0VUSEVSOyAxKS4gV2UgZG9uJ3QgY2FyZSB3aGVyZSB0aGUgZHVtcCB3YXMgZmV0Y2hlZAoJICBmcm9tICh3bGFuLCAzRywgZXRjLikKCSAgV2hhdCB3ZSBjYXJlIGFib3V0IGlzIHRoZSB0aGF0IHRoZSBldGhlcm5ldCB0eXBlIGlzIElQIChFVEhFUk5FVF9JUDsKCSAgMHg4MDApLCB3aGljaCBpcyBjbGVhcmx5IGZpZWxkIDE0OgoJICBodHRwOi8vd3d3LnRjcGR1bXAub3JnL3BjYXAzX21hbi5odG1sCgkgIEFuZCBkbyBhIGJpdCBvZiBjbGVhbnVwLgoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDctMjEgMTM6MjY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBGaXggc3RyZWFtL3BhZCBhY3RpdmF0aW9uIG9yZGVyCgkgIFdlIGZpcnN0IGFjdGl2YXRlIG5ldyBzdHJlYW1zIGJlZm9yZSBzaHV0dGluZyBkb3duIG9sZCBvbmVzLgoJICBXZSBlbWl0IG5vLW1vcmUtcGFkcyBhZnRlciB3ZSBhZGQgbmV3IHN0cmVhbXMgYW5kIGVtaXQgRU9TIGJlZm9yZQoJICByZW1vdmluZyBvbGQgb25lcy4KCSAgQWxzbyBjbGVhbnVwL3JlZmFjdG9yIGEgYml0IG1vcmUgb2YgdGhlIGNvZGUgYWNjb3JkaW5nbHkKCjIwMTEtMDctMjIgMTI6MjY6MDcgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBhZGQgbG9jYXRpb249TlVMTCBkb2NzIHRvIFBPUlRJTkcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTkxOAoKMjAxMS0wNy0yMiAxMTozODozMCArMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IElmIGxvY2F0aW9uIGlzIE5VTEwgZG8gbm90IGVuY29kZSBpbWFnZXMKCSAgVXNpbmcgYSBOVUxMIHN0cmluZyBmb3IgbG9jYXRpb24gbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24KCSAgZG9lc24ndCB3YW50IHRoZSBpbWFnZSB0byBiZSBlbmNvZGVkLCBidXQgd2FudHMgdG8gcmVjZWl2ZQoJICB0aGUgcHJldmlldyBpbWFnZS4gKE9ubHkgd29ya3MgZm9yIGltYWdlIGNhcHR1cmVzKQoJICBVc2VmdWwgZm9yIGFwcGxpY2F0aW9uIHRoYXQgd2FudCB0aGUgY2FwdHVyZSBpbiBtZW1vcnkgb25seSwgbGlrZQoJICBkaXNwbGF5aW5nIHRvIHRoZSB1c2VyIGJlZm9yZSBpdCBjaG9zZXMgdG8gZW5jb2RlIG9yIHRha2UgYW5vdGhlcgoJICBwaWN0dXJlIGluIGF2YXRhciBjYXB0dXJpbmcgc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxOTE4CgoyMDExLTA3LTIxIDA4OjA0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwODowMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwODowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDU6NDQ6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWxsb3cgZmluaXNoaW5nIG9mIGZyYW1lcyB3aXRoIG5vIHNyY19idWZmZXIgdG8gZHJvcC9mcmVlIHRoZSBHc3RWaWRlb0ZyYW1lCgoyMDExLTA3LTIwIDA4OjM5OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgZ2V0IGNhcHMgZnJvbSB0aGUgc3ViY2xhc3MgaWYgdGhleSB3ZXJlIG5vdCBzZXQgeWV0IGJ5IHRoZSBzdWJjbGFzcwoKMjAxMS0wNy0yMCAwOToyNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEZWxheSBzZW5kaW5nIG9mIHNlcmlhbGl6ZWQgc2luayBldmVudHMgdW50aWwgZmluaXNoX2ZyYW1lKCkKCjIwMTEtMDctMjAgMDk6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRkIDo6cmVzZXQgdmZ1bmMgYW5kIGhhbmRsZSA6OnJlc2V0Lzo6ZmluaXNoIHRoZSBzYW1lIHdheSBhcyBpbiB0aGUgZGVjb2RlcgoKMjAxMS0wNy0yMCAxOToxNjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHBlc3BhcnNlOiBGaXggc3R1ZmZpbmcgYnl0ZSBoYW5kbGluZwoJICBXZSBpbiBmYWN0IGdldCB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIChpbmNsdWRpbmcgc3R1ZmZpbmcgYnl0ZXMpLCB0aGVyZWZvcmUKCSAgdXNlIHRoYXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gc2tpcCAweGZmIGJ5dGVzIG91cnNlbHZlcyBzaW5jZSBzb21lIG1lZGlhCgkgIHN0cmVhbXMgZG8gc3RhcnQgd2l0aCAweGZmIChsaWtlIG1wZWcgYXVkaW8ncyBpbml0aWFsIDB4ZmZmKS4KCjIwMTEtMDctMTggMTQ6NTM6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICBGaXggY29tcGlsYXRpb24gZm9yIHVudXNlZCBidXQgbm90IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTcyCgoyMDExLTA3LTIwIDA4OjU3OjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTE5IDEyOjUwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFVzZSBhIHRlbXBvcmFyeSBHc3RWaWRlb1N0YXRlIHVudGlsIHRoZSBzdWJjbGFzcyBhY2NlcHRlZCB0aGUgY2FwcwoJICBBbHNvIHN0b3JlIHRoZSBjYXBzIGluIHRoZSBHc3RWaWRlb1N0YXRlIGFuZCBhc3N1bWUgYSBQQVIgb2YgMS8xIGluc3RlYWQKCSAgb2YgMC8xIGlmIG5vIFBBUiBpcyBzcGVjaWZpZWQgaW4gdGhlIGNhcHMuCgoyMDExLTA3LTE5IDA5OjM2OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBBZGQgbW9yZSBjb21tZW50cyBhbmQgcmVtb3ZhbCB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDctMTkgMDk6MzY6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBdm9pZCBkb3VibGUgcmVtb3ZhbCBvZiBzdHJlYW1zCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgUENSIHBpZCBpcyB0aGUgc2FtZSBhcyBhIGF1ZGlvL3ZpZGVvIFBJRC4KCjIwMTEtMDctMTkgMDk6MzQ6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlOiBBZGQgYSBHTGlzdCBvZiBzdHJlYW1zIHRvIHRoZSBwcm9ncmFtCgkgIEFsbG93cyBmYXN0ZXIgaXRlcmF0aW9uIG9mIGFsbCBwcm9ncmFtIHN0cmVhbXMuCgkgIFdlIHN0aWxsIGtlZXAgdGhlIEFycmF5IHRvIGFsbG93IGZhc3QgcmV0cmlldmFsIG9mIHN0cmVhbSBieSBQSUQuCgoyMDExLTA3LTE5IDA4OjQ1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZTogVXNlIGEgYml0IGFycmF5IGluc3RlYWQgb2YgYW4gYXJyYXkgb2YgZ2Jvb2xlYW4KCSAgTWFrZXMga25vd19wc2kgYW5kIGlzX3BlcyAzMiB0aW1lcyBzbWFsbGVyCgoyMDExLTA3LTE5IDA4OjM3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNy0xOCAxNDoxNDozMSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGZpeCBoYXJtbGVzcyB0eXBvIGluIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NDAKCjIwMTEtMDctMTIgMTk6MDQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBhIGNoZWNrIG1hZGUgdXNlbGVzcyBieSB0aGUgbGFzdCBjb21taXQKCjIwMTEtMDctMTIgMTk6MDE6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFzc3VtZSBieXRlLXN0cmVhbSBpZiBzdHJlYW0tZm9ybWF0IGFuZCBjb2RlY19kYXRhIGFyZSBtaXNzaW5nIGZyb20gaW5wdXQgY2FwcwoKMjAxMS0wNy0wNiAyMzoyNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaWdub3JlIGNvZGVjX2RhdGEgaWYgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbQoJICBTb21lIGVuY29kZXJzIHNldCBjb2RlY19kYXRhIGV2ZW4gd2hlbiBvdXRwdXR0aW5nIGJ5dGUtc3RyZWFtLiBCZWZvcmUgdGhpcyBwYXRjaAoJICBoMjY0cGFyc2Ugd291bGQgaW5jb3JyZWN0bHkgZGV0ZWN0IHN1Y2ggc3RyZWFtcyBhcyBBVkMuCgoyMDExLTA3LTE4IDA5OjEyOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIHN0YW5kYWxvbmUgUEVTIHBhcnNlcgoKMjAxMS0wNy0xNyAxNDoxNzoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBtcGVndHNkZW11eDogQWRkIHN0YW5kYWxvbmUgUEVTIHBhcnNlcgoKMjAxMS0wNy0xNyAwOTo0OTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVmczogY2xhcmlmeSBzb21lIHN0cmVhbSBpZHMKCjIwMTEtMDctMTYgMTM6NTE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiB3aG9vcHMsIHRzZGVtdXggaXNuJ3QgcmVhZHkgeWV0IGZvciBwcmltYXJ5IHJhbmsgOikKCjIwMTEtMDctMTYgMTM6NDc6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IENsZWFudXBzIGFuZCBjb21tZW50cwoKMjAxMS0wNy0xNiAxMzo0NDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBuZXdzZWdtZW50IGNyZWF0aW9uIGZvciBwdXNoIG1vZGUKCSAgQW5kIGFsbCByZWxldmVudCBjb21tZW50cyB0byB3aGF0IGl0IHNob3VsZCBiZSBkb2luZywgcmVmYWN0b3IgZXZlcnl0aGluZwoJICBhIGJpdC4gU3RpbGwgbm90IHBlcmZlY3QgLi4uIGJ1dCBiZXR0ZXIuCgkgIEZpeGVzICM2NTQ2NTcKCjIwMTEtMDctMTUgMTI6MDg6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3RvcmUgaW5jb21pbmcgbmV3c2VnbWVudHMKCjIwMTEtMDctMTUgMjA6NTc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgdGFnbXV4OiBjb25zdC1pZnkgR3N0VGFnTGlzdCBhcmd1bWVudCBvZiByZW5kZXIgdmZ1bmNzCgoyMDExLTA3LTE1IDIwOjM5OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIHRhZ211eDogZml4IHVwIHByaXZhdGUgYmFzZSBjbGFzcyBoZWFkZXIgc28gaXQgY2FuIGJlIG1hZGUgcHVibGljCgkgIE1vdmUgcHJpdmF0ZSBiaXRzIGludG8gYSBwcml2YXRlIHN0cnVjdCwgYWRkIHNvbWUgcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTQzNwoKMjAxMS0wNy0xNSAxNjoxMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgY29yZS9iYXNlIGZyb20gZ2l0CgkgIFVwZGF0ZSByZXF1aXJlbWVudHMgYWZ0ZXIgb3V0LW9mLW9yZGVyIDAuMTAuMzUgcmVsZWFzZQoKMjAxMS0wNy0xMyAxNzoxNTozNiArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGZpeCBuYW1lIG9mICdpbWFnZS1kb25lJyBidXMgbWVzc2FnZQoJICBVc2UgdGhlIGNvcnJlY3QgYnVzIG1lc3NhZ2UgZm9yIGNhbWVyYWJpbjIgaW1hZ2UgZG9uZSBhbmQgcmVtb3ZlcwoJICBjaGVjayB0aGF0IGlzIG5vIGxvbmdlciBuZWVkZWQgZm9yIHRoZXNlIHRlc3RzLgoKMjAxMS0wNy0xNSAxMDowNDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHJlbmFtZSBvZmZzZXQgcHJvcGVydHkgdG8gdHMtb2Zmc2V0CgkgIC4uLiBzbyBhcyB0byBwcm9tb3RlIGNvbnNpc3RlbmN5IHdpdGggc29tZSBvdGhlciBlbGVtZW50cyBpbiB0aGUgd2lsZC4KCjIwMTEtMDctMTQgMTk6MzA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogZml4IHNvbWUgdmFyaWFibGUtc2V0LWJ1dC11bnVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTUgMDA6MDM6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogYWN0dWFsbHkgc2V0IHNlZW5fcGF0PVRSVUUgd2hlbiB3ZSBzZWUgYSBQQVQKCjIwMTEtMDYtMjYgMjA6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGltcGxlbWVudCBVUkkgcXVlcnkKCjIwMTEtMDctMTQgMjI6MDg6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTcGxpdCB1cCB3aGV0aGVyIHdlIHNhdyBhIFBBVCBhbmQgaXRzIG9mZnNldAoJICBGaXhlcyB0aGUgaXNzdWUgd2l0aCBzdHJlYW1zIHRoYXQgZG9uJ3Qgc2V0IGFuIG9mZnNldCBvbiB0aGVpciBidWZmZXJzLAoJICBsaWtlIHRob3NlIGNvbWluZyBmcm9tIGhsc2RlbXV4LgoJICBGaXhlcyAjNjUzNDgxCgoyMDExLTA3LTE0IDE3OjA2OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcHJvcGVybHkgYXBwbHkgdHMgb2Zmc2V0CgoyMDExLTA3LTE0IDE2OjUwOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogb3B0aW9uYWxseSBvdXRwdXQgcmVsYXRpdmUgdGltZXN0YW1wcywgcG9zc2libHkgc2hpZnRlZCBieSBvZmZzZXQKCSAgVGhhdCBpcywgb3V0cHV0IHRpbWVzdGFtcHMgY2FuIHRoZW4gZWl0aGVyIGJlIHRoZSBhYnNvbHV0ZSBjYXB0dXJlIHRpbWUsCgkgIG9yIHRoZSByZWxhdGl2ZSBjYXB0dXJlIHRpbWUgKHcuci50LiB0byBmaXJzdCBvdXRwdXQgYnVmZmVyKSwgb3IgdGhlIHJlbGF0aXZlCgkgIGNhcHR1cmUgdGltZSBpbmNyZW1lbnRlZCBieSBzb21lIG9mZnNldC4KCjIwMTEtMDctMTQgMTY6NDA6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBhbHNvIHN1cHBvcnQgZXh0cmFjdGluZyB0Y3AgZGF0YQoKMjAxMS0wNy0xNCAxNDozNzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBzb21lIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzIHRvIC5naXRpZ25vcmUKCjIwMTEtMDctMTMgMTM6NDQ6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgZG9jczogUmV2ZXJ0IHdyb25nbHkgY29tbWl0dGVkIGNoYW5nZXMgdG8gLmFyZ3MvLmhpZXJhcmNoeQoKMjAxMS0wNy0xMyAxMzo0MjowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogUmVzdG9yZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgYXMgY29tbWVudHMKCjIwMTEtMDctMTMgMTM6Mzk6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogUmVzdG9yZSBlcnJvbmVvdXNseSByZW1vdmVkIGRhdGErKwoJICBBbHNvLCBwdXQgYmFjayBzb21lIHVudXNlZCBjb2RlIGluIGNvbW1lbnQgYW5kIHJlcGxhY2UgLy8gY29tbWVudHMgYnkgLyogKi8KCjIwMTEtMDctMTMgMTM6Mzg6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBSZXN0b3JlIGVycm9uZW91c2x5IHJlbW92ZWQgZGF0YSsrCgkgIEFsc28sIHB1dCBiYWNrIHNvbWUgdW51c2VkIGNvZGUgaW4gY29tbWVudCBhbmQgcmVwbGFjZSAvLyBjb21tZW50cyBieSAvKiAqLwoKMjAxMS0wNy0xMyAxMDo0MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBGaXggY29tcGlsYXRpb24gYW5kIHNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTMgMTA6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogRml4IGNvbXBpbGF0aW9uIGJ5IGluY2x1ZGluZyB0aGUgbmV3IGdzdGJhc2V2aWRlb3V0aWxzLmggaGVhZGVyIGFuZCBmaXhpbmcgc29tZSBzZXQgYnV0IG5vdCB1c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjIyOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgZXhhbXBsZXMvY2FtZXJhYmluOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MjA6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMms6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxODozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJlc2luZHZkOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTY6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxMzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBkdmI6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxMDo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDk6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJICB0dGE6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowODoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSAgc2RpOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDU6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowMzo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogUmVqZWN0IHVua25vd24gYml0c3RyZWFtIHZlcnNpb25zCgoyMDExLTA3LTEyIDE3OjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTc6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1NjoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjUzOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB1bnVzZWQtYnV0LXNldCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAwMToxODoxNiArMDUzMCAgU2FtZWVyIE5haWsgPHNhbWVlci5zdWJzY3JpcHRpb25zQGRhbWFnZWhlYWQuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggc2VnZmF1bHQgaWYgZ3N0X2NvbGxlY3RfcGFkc19wb3AgKCkgcmV0dXJucyBubyBidWZmZXIKCSAgSW4gbXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSAoKSBjYWxsIGlmIHRoZSBnc3RfY29sbGVjdF9wYWRzX3BvcCAoKSBjYWxsCgkgIHJldHVybnMgbm8gYnVmZmVyIChOVUxMKSwgdGhlIHBsdWdpbiBTZWdGYXVsdHMgaW4gdGhlIGdzdF9idWZmZXJfdW5yZWYgY2FsbC4KCSAgVG8gZml4IHRoaXMgd2UgY2hlY2sgaWYgYSB2YWxpZCBidWZmZXIgaXMgcmV0dXJuZWQgYmVmb3JlIGNhbGxpbmcKCSAgZ3N0X2J1ZmZlcl91bnJlZiAoKS4KCSAgRml4ZXMgYnVnICM2NTQ0MTYuCgoyMDExLTA3LTExIDEyOjU5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpcnN0IGluZm9ybSBzdWJjbGFzcyBhYm91dCByZXNldHRpbmcgYmVmb3JlIHJlc2V0dGluZy9mcmVlaW5nIGFsbCBpbnRlcm5hbCBzdGF0ZQoJICBUaGUgc3ViY2xhc3MgbWlnaHQgd2FudCB0byBhY2Nlc3MgdGhlIG9sZCBzdGF0ZS4KCjIwMTEtMDctMTEgMTI6MzY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVHJhY2sgcHJlc2VudCBwb3NpdGlvbiBvbiBkaXNjb250IGJlZm9yZSByZXNldHRpbmcgaXQKCjIwMTEtMDctMTEgMTE6NTI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogQWxzbyBwcm90ZWN0IHRoZSBsaXN0IG9mIHBlbmRpbmcgZnJhbWVzIGZyb20gY29uY3VycmVudCBhY2Nlc3Mgd2hlbiBwdXNoaW5nIGFsbCBwZW5kaW5ncyBldmVudHMKCjIwMTEtMDctMTEgMTE6Mjg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogUHJvdGVjdCBhY2Nlc3MgdG8gdGhlIGxpc3Qgb2YgcGVuZGluZyBmcmFtZXMgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhpcyBpcyByZXF1aXJlZCBpZiA6OmZpbmlzaF9mcmFtZSgpIGFuZCBhbGwgYnVmZmVyIG91dHB1dCBoYXBwZW5zCgkgIG9uIGEgZGlmZmVyZW50IHRocmVhZCB0aGFuIHRoZSBzaW5rcGFkIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA3LTExIDA5OjM1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFNldCB0aGUgY29ycmVjdCBsaXN0cyB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCjIwMTEtMDctMTEgMDg6NTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogV29yayB3aXRoIGEgY29weSBvZiB0aGUgR3N0VmlkZW9TdGF0ZSBpbiBzZXRjYXBzIHVudGlsIHRoZSBjYXBzIGFyZSBhY2NlcHRlZAoJICBBbHNvIGZpeCBhIHJlZmNvdW50IHByb2JsZW0gd2l0aCB0aGUgY29kZWNfZGF0YS4KCjIwMTEtMDctMDkgMTE6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgdGhlIHV0aWxzIGZyb20gdGhlIGNvZGVjIGhlYWRlciB0byBpdHMgb3duIGhlYWRlcgoKMjAxMS0wNy0wOSAxMTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBkZXN0cm95IG5vdGlmeSB0byBmcmVlIHRoZSBjb2RlciBob29rCgoyMDExLTA3LTA5IDExOjA5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgR3N0VmlkZW9GcmFtZSBhbmQgZG9uJ3QgZHVwbGljYXRlIGNvZGUgaW4gdGhlIGRlY29kZXIgYmFzZSBjbGFzcwoKMjAxMS0wNi0yOCAxMTo0NzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IHJlb3JkZXIgc2VyaWFsaXplZCBzcmMgZXZlbnRzCgkgIEFuZCBhbGxvdyB0byBkcm9wIEVPUyBieSB0aGUgc3ViY2xhc3MgaWYgOjpmaW5pc2ggcmV0dXJucwoJICBEUk9QUEVELiBUaGlzIHJlcXVpcmVzIHRoYXQgdGhlIHN1YmNsYXNzIHNlbmRzIEVPUyBtYW51YWxseSBsYXRlci4KCSAgRml4ZXMgYnVnICM2NTM1NDQuCgoyMDExLTA2LTI3IDA5OjQxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgdGhlIGNhcHMgdG8gdGhlIEdzdFZpZGVvU3RhdGUgYW5kIGNsZWFuIHVwIGNhcHMvY29kZWNfZGF0YSBwcm9wZXJseQoJICBIYXZpbmcgYWNjZXNzIHRvIHRoZSBjYXBzIGluIDo6c2V0X2Zvcm1hdCBjYW4gYmUgdXNlZnVsIGlmCgkgIG5vbi1zdGFuZGFyZCBjYXBzIGZpZWxkcyBsaWtlIHRoZSBoMjY0IGFsaWdubWVudCBtdXN0IGJlIGFjY2Vzc2VkLgoKMjAxMS0wNy0wOSAxMDo1Nzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGRlc3Ryb3kgbm90aWZ5IGZvciB0aGUgY29kZXJfaG9vayB0byBwcmV2ZW50IG1lbW9yeSBsZWFrcwoJICBGaXhlcyBidWcgIzY1NDI5My4KCjIwMTEtMDctMDggMTE6NTI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogUHJvcGVybHkgcmV0dXJuIHNlZWtpbmcgZXJyb3JzIGlmIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24gY2FuJ3QgYmUgZm91bmQKCjIwMTEtMDctMDcgMTY6MDA6NDQgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlci8uZ2l0aWdub3JlOgoJICBpbnRlcjogYWRkIGlnbm9yZSBmaWxlIGZvciBpbnRlcm1lZGlhdGUgZmlsZXMKCjIwMTEtMDctMDcgMTU6NTk6MDUgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkgIGRvY3M6IGFkZCBjYW1lcmFiaW4yIHRvIHRoZSBkb2NzIGFuZCB1cGRhdGUgdGhlIGRvYyBmaWxlcwoKMjAxMS0wNy0wNyAxNTo1NTo1OSAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IG1lc3Mgd2l0aCBjYW1lcmFiaW4gKDEpIG5hbWVzcGFjZQoJICBVc2UgYW4gZXh0cmEgJzInIHRvIHN0YXkgb3V0IG9mIHRoZSBvbGQgbmFtZXNwYWNlLgoKMjAxMS0wNy0wNyAxMToxMTo0MiAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczoga2VlcCBzZWN0aW9uIGZpbGUgc29ydGVkCgoyMDExLTA3LTA3IDEwOjUyOjUwIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGltcHJvdmUgdGhlIGRvY3MKCSAgRml4IHRoZSBzeW50YXgsIGFkZCBtb3JlIGV4cGxhbmF0aW9uIGFuZCB4cmVmIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMS0wNi0wNSAwMDo1NDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBkdXBsaWNhdGUgZnJvbSBDRUxUCgkgIENvcHkgdGhlIGNlbHQgcGx1Z2luIGFuZCBjb252ZXJ0IGl0IHRvIE9wdXMuICBNb3N0bHkgd29ya3MuCgoyMDExLTA3LTA2IDE1OjU2OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBIRCBtb2RlcyBhcmUgc3F1YXJlIHBpeGVscwoKMjAxMS0wNy0wNSAxMDoxOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIHRvIHRoZSBjb21waWxlciBmbGFncyB0byBhdm9pZCB3YXJuaW5ncwoKMjAxMS0wNy0wNCAxNjoxODoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkgIGRpcmFjcGFyc2U6IG1ha2UgZGlyYWNwYXJzZSB3b3JrIGNvcnJlY3RseQoKMjAxMS0wNy0wMyAxODozMjozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcHJvcGVybHkgc2V0IHVwIGFuYWxvZyBpbnB1dAoKMjAxMS0wNi0yOCAyMzo0NzoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBtb3JlIG1vZGVzCgoyMDExLTA2LTAzIDE5OjQxOjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBuZXcgaW50ZXJtZWRpYXRlIHN1cmZhY2UgcGx1Z2luCgkgIFRoaXMgc2V0IG9mIGVsZW1lbnRzIGFsbG93cyBlYXNpbHkgcmVuZGVyaW5nIGF1ZGlvIGFuZCB2aWRlbyB0bwoJICBhbiBpbnRlcm1lZGlhdGUgc3VyZmFjZSB0aGF0IGlzIHRoZW4gdXNlZCBhcyBhIHNvdXJjZSBpbiBhIGRpZmZlcmVudAoJICBwaXBlbGluZS4KCjIwMTEtMDYtMTggMTU6NTE6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIEpQRUcgWUNiQ3IgbWF0cml4CgoyMDExLTA2LTE4IDE1OjU2OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdXBkYXRlIGZvciBuZXcgbGlidnB4IGFwaQoKMjAxMS0wNi0yNiAxOToyOToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IEZpeCBidWZmZXIgZHVyYXRpb24KCjIwMTEtMDYtMjYgMTU6MTU6NTQgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZ2VuZXJhdGUgYSB0aW1lc3RhbXAgZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBJdCB3aWxsIGZpeCBoYW5kbGluZyBvZiBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyBzaW5jZSBtYXRyb3NrYS1tdXgKCSAgZHJvcCBhbnkgZnJhbSB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgc2VlIGFsc286CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvY29udGFpbmVyLwoJICBUaGUgZW5jb2RlciB3aWxsIGN1cnJlbnRseSBzZXQgdGhlIEFSJ3MgdGltZXN0YW1wIGFzIGNsb3NlIGFzIHBvc3NpYmxlCgkgIHRvIHRoZSBwcmV2aW91cyBmcmFtZSB3aGlsZSBhdHRlbXB0aW5nIHRvIHByb3ZpZGUgYSB0aW1lc3RhbXAgdGhhdCBpcwoJICBzdHJpY3RseSBpbmNyZWFzaW5nLiBJbiBjYXNlcyB3aGVyZSB0aGUgdGltZSBiYXNlIGdpdmVuIHRvIHRoZSBlbmNvZGVyCgkgIGF0IGNvbmZpZ3VyZSB0aW1lIGlzIG5vdCBncmFudWxhciBlbm91Z2ggdG8gYWxsb3cgZm9yIHRoaXMgdGhlIEFSCgkgIHdpbGwgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIEQsIGJ1dCBzaG91bGQgYmUKCSAgdHJlYXRlZCBhcyBoYXZpbmcgbm8gZHVyYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjUyOTUxCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMjUgMjM6NTU6MjggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3aW5pbmV0OiBGaXggY29uZmlndXJlIGNoZWNrIGJ5IGluY2x1ZGluZyB3aW5kb3dzLmgKCSAgRml4ZXMgYnVnICM2NTMxNjEuCgoyMDExLTA2LTA3IDEzOjU1OjM4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIG1ha2VmaWxlcwoJICBGaXhlcyBidWcgIzY1MjAzNS4KCjIwMTEtMDYtMjUgMTU6MTI6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGE6IGRlY3JlYXNlIHJhbmsgdG8gTk9ORQoJICBBcHBlYXJzIHRvIGJlIHV0dGVybHkgaW5jYXBhYmxlIG9mIHBhcnNpbmcgYW5kIGRlY29kaW5nIFRUQSBzdHJlYW1zLgoJICBIYXNuJ3QgYmVlbiB1cGRhdGVkIHRvIGRvIFRUQTIuICBJZiB5b3Ugd2FudCB0aGlzIGVsZW1lbnQgdG8gd29yaywKCSAgZml4IHRoZSBibG9vZHkgdGhpbmcuICBUaGUgZ3N0LWZmbXBlZyBkZWNvZGVyIHdvcmtzIGZpbmUuCgkgIEFsc28gZml4ZWQgYW4gb2J2aW91cyBlbmRpYW5uZXNzIGlzc3VlIGFsb25nIHRoZSB3YXkuCgkgIEZpeGVzOiAjNjUyOTI0CgoyMDExLTA2LTE4IDE3OjQ3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGFkZCBjaGVjayBpZiB3ZSBoYXZlIGxlZ2FsIGFzcGVjdC1yYXRpbyBiZWZvcmUgcmVzZXQgaXQuCgkgIHRoZSBjb21taXQgZjliNTUyZjA0OTRlICh2cDhkZWM6IHNldCBwYXIgdG8gMS8xKQoJICB3aWxsIGZpeCBzaXR1YXRpb24gd2hlcmUgbm8gYXNwZWN0LXJhdGlvIGlzIHNldCwgYnV0IGl0IGJyYWtlCgkgIHN0cmVhbSB3aXRoIGF2YWlsYWJsZSBhc3BlY3QtcmF0aW8uIFRoaXMgcGF0Y2ggZml4IGl0LgoJICBGaXhlczogIzY1MjkwMi4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0yMyAyMDoxMTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IHVzZSBHTGliIDIuMjggQVBJCgkgIERvbid0IHVzZSBHTGliIDIuMjggQVBJLCB3ZSBzdGlsbCBvbmx5IHJlcXVpcmUgPj0gMi4yNC4KCjIwMTEtMDYtMjMgMTE6Mjg6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2OWI5ODFmIHRvIDYwNWNkOWEKCjIwMTEtMDYtMjIgMjI6MjU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgdGFnc2V0dGVycyB0byBtZXJnZSByZXBsYWNlIG1vZGUKCSAgVGhlIGRlZmF1bHQgZm9yIHRhZ3NldHRlcnMgaXMgdG8gdXNlIG1lcmdlIGtlZXAgbW9kZSwgc28gdGFncwoJICB3b3VsZCBuZXZlciBiZSByZXBsYWNlZCBhbmQgYWxsIGNhcHR1cmVzIHdvdWxkIGhhdmUgdGhlIHNhbWUgdGFncy4KCSAgVGhpcyBjb21taXQgd2F0Y2hlcyBhbGwgZWxlbWVudHMgYWRkZWQgaW50byBlbmNvZGViaW4gYW5kIHNldHMKCSAgYWxsIHRhZ3NldHRlcnMgdG8gbWVyZ2UgcmVwbGFjZSBtb2RlCgoyMDExLTA2LTIyIDE4OjU4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBhIHNpbmdsZSBsb2NhdGlvbiBmb3IgYm90aCBtb2RlcwoJICBJbXBsZW1lbnQgdGhlIGxvY2F0aW9uIHByb3BlcnR5IGp1c3QgbGlrZSBpdCB3b3JrcyBpbiBjYW1lcmFiaW4sIHRoZQoJICBzYW1lIGxvY2F0aW9uIGlzIHVzZWQgZm9yIGJvdGggaW1hZ2VzIGFuZCB2aWRlb3MKCjIwMTEtMDYtMjIgMTY6Mjc6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFNlbmQgc2VyaWFsaXplZCBjdXN0b20gZXZlbnRzIGZvciBmaWxlbmFtZSBjaGFuZ2VzIGluIGltYWdlIHNpbmsKCSAgVXNpbmcgc2VyaWFsaXplZCBjdXN0b20gZXZlbnRzIGZvciBzd2l0Y2hpbmcgaW1hZ2UgY2FwdHVyZSBzYXZpbmcKCSAgbG9jYXRpb24gbWFrZXMgY2FtZXJhYmluMiBzYXZlIGVhY2ggY2FwdHVyZSBjb3JyZWN0bHkgdG8gdGhlIGxvY2F0aW9uCgkgIHRoYXQgd2FzIHNldCBkdXJpbmcgdGhlIG1vbWVudCBzdGFydC1jYXB0dXJlIHdhcyBjYWxsZWQsIGFuZCBub3QKCSAgdGhlIG1vbWVudCB0aGUgZmlsZXNpbmsgd2FzIHdyaXRpbmcgdG8gZGlzay4KCSAgVGhpcyBwcmV2ZW50cyBjYXB0dXJlcyB0byBiZSBvdmVyd3JpdGVuIGJ5IHJhY3luZXNzIGFtb25nIHN0YXJ0LWNhcHR1cmUKCSAgYW5kIHNldHRpbmcgbG9jYXRpb24gZm9yIGltYWdlcy4KCjIwMTEtMDYtMjIgMTU6NTY6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBObyBuZWVkIHRvIGNoYW5nZSBzdGF0ZSBvZiB0aGUgd2hvbGUgaW1hZ2UgYnJhbmNoCgkgIFdlIG9ubHkgbmVlZCB0byBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBmaWxlc2luayB0byBzd2l0Y2ggaXRzCgkgIHNhdmluZyBsb2NhdGlvbi4gVGhpcyBtaWdodCBzdGlsbCBjYXVzZSBzb21lIHByb2JsZW1zIG9mIGRyb3BwaW5nCgkgIGNhcHR1cmVkIGJ1ZmZlcnMsIGJ1dCBpdCBpcyBiZXR0ZXIgdGhhbiBjaGFuZ2luZyB0aGUgc3RhdGUgb2YKCSAgdGhlIHdob2xlIGJyYW5jaC4KCjIwMTEtMDYtMjIgMTU6Mzc6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgbmFtZXMgZm9yIGltYWdlIGFuZCB2aWRlbyBlbmNvZGViaW4KCSAgTmFtaW5nIGVuY29kZWJpbnMgYXMgaW1hZ2UtZW5jb2RlYmluIGFuZCB2aWRlby1lbmNvZGViaW4gdG8gbWFrZQoJICBpdCBlYXNpZXIgZm9yIGRlYnVnZ2luZyBjYW1lcmFiaW4yLgoKMjAxMS0wNi0xNyAxNzoyNjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNi0xNyAxNDozMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIG5ldyB0ZXN0IHRvIGNoZWNrIGltYWdlIGxvY2F0aW9uIGNvcnJlY3RuZXNzCgkgIFRoaXMgbmV3IHRlc3QgY2hlY2tzIHRoYXQgaW1hZ2VzIGFyZSBzYXZlZCB3aXRoIHRoZSBmaWxlbmFtZSBzZXR0aW5nCgkgIG9uIGxvY2F0aW9uIG9uIHRoZSBtb21lbnQgb2YgdGhlIHN0YXJ0LWNhcHR1cmUKCjIwMTEtMDYtMTUgMDg6MjA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNaW5vciBkZWJ1ZyBtZXNzYWdlIGZpeAoKMjAxMS0wNS0xMyAxMToyNToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEFkZHMgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnQgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIHBlcmZvcm1hbmNlICh0aW1pbmcpIG1lYXN1cmUgZmVhdHVyZSB0byBnc3QtY2FtZXJhYmluMi10ZXN0LCBpdCBhbGxvd3MKCSAgdXNlcnMgdG8gc3BlY2lmeSBzb21lIHRhcmdldCB2YWx1ZXMgZm9yIGNvbW1vbmx5IG1lYXN1cmVkIHRpbWVzIGFuZCB0aGUKCSAgYXBwbGljYXRpb24gd2lsbCBwcmludCBvdXQgYSB0YWJsZSBvZiB2YWx1ZXMgYXQgdGhlIGVuZCBvZiBpdHMgZXhlY3V0aW9uCgkgIHdpdGggdGhlIG1lYXN1cmVkIHRpbWVzIGFuZCBhdmVyYWdlcyBvZiB0aGVtLgoKMjAxMS0wNi0yMiAxMDoxMzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGNyZWF0ZSBjb3JyZWN0IGF2YyBjb2RlYy1kYXRhCgkgIEZpeGVzICM2NTMwMTMuCgoyMDExLTA2LTIxIDEyOjQ1OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogZml4IG91dHB1dCBjYXBzIGFsaWdubWVudCBmb3IgYXZjIGlucHV0CgkgIC4uLiBwYXJ0aWN1bGFybHkgd2hlbiBzcGxpdHRpbmcgcGFja2V0aXplZCBpbnB1dC4KCSAgRml4ZXMgIzY1Mjk5NS4KCjIwMTEtMDYtMjEgMTI6NDM6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdmMgaW5wdXQgbXVzdCBlaXRoZXIgcGFzcy10aHJvdWdoIG9yIGJlIHNwbGl0IGludG8gYnl0ZXN0cmVhbSBjaHVua3MKCSAgLi4uIHNpbmNlIHBhcnNpbmcgY29kZSBpcyBub3QgbWVhbnQgdG8gcmVjZWl2ZSBhdmMgZGF0YS4KCSAgRml4ZXMgIzY1MzA4Ny4KCjIwMTEtMDYtMjEgMTI6NDE6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBib2d1cyBmcmFtZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA2LTIwIDEyOjQ3OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkgIGRlY2tsaW5rOiB1cGRhdGUgRGVja0xpbmsgQVBJIHdyYXBwZXJzCgoyMDExLTA2LTIwIDAwOjM4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBjb25uZWN0aW9uIHR5cGUKCjIwMTEtMDYtMDUgMjE6MTk6NTggLTA3MDAgIFJhZmFlbCBEaW5peiA8cmFmYWVsQHJpc2V1cC5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogQWRkIGF1ZGlvIHN1cHBvcnQKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDIxOjI0OjU4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHZhcmlvdXMgZmVhdHVyZXMKCSAgQmV0dGVyIG1vZGUgc3VwcG9ydCwgaW5wdXQgc291cmNlIHByb3BlcnR5LCBhdWRpbyBzdXBwb3J0LgoKMjAxMS0wNi0wNSAyMToyNDozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkgIGRlY2tsaW5rOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDYtMDUgMjE6MTc6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVpbmRlbnQKCjIwMTEtMDYtMTcgMTY6MTI6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogb25seSBmcmVlIHRoZSBpbmRleCBhcnJheSBpZiBpdCBleGlzdHMKCSAgT25seSBmcmVlIHRoZSBhcnJheSBpZiBpdCBleGlzdHMuCgkgIENvbnRhaW5zIGFuIHVucmVsYXRlZCBpbmRlbnRhdGlvbiBmaXgsIGNvdXJ0ZXN5IG9mIGdzdC1pbmRlbnQKCjIwMTEtMDYtMTggMDE6MTE6MDUgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgdXBkYXRlIGRvY3MgZ2VuZXJhdGVkIGZpbGVzCgoyMDExLTA2LTE4IDAxOjA5OjUxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBSVE1QOiBhZGQgcnRtcHNpbmsgZWxlbWVudCBmb3Igb3V0cHV0IHRvIGFuIFJUTVAgc2VydmVyCgoyMDExLTA2LTE2IDE3OjE3OjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogYWRkIGNvbG9yc3BhY2UgdW5pdCB0ZXN0CgkgIENvbXBhcmVzIGNvbG9yc3BhY2UgcmVzdWx0IHdpdGggZmZtcGVnY29sb3JzcGFjZSBvdXRwdXQgdXNpbmcgU1NJTS4KCSAgQWxzbyBwcm9iZXMgZm9yIHBvc3NpYmxlIGNyYXNoZXMgZm9yIG9kZCB3aWR0aCBhbmQgaGVpZ2h0IGltYWdlIGJ5IGFwcGx5aW5nCgkgIGFsbCBwb3NzaWJsZSBjb2xvcnNwYWNlIHRyYW5zZm9ybWF0aW9ucy4KCjIwMTEtMDYtMTcgMTI6MTA6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkgIGRlYnVndXRpbHM6IGFkZCBjb21wYXJlIGVsZW1lbnQKCjIwMTEtMDYtMTUgMTg6MjA6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggb2RkIHdpZHRoIGFuZCBoZWlnaHQgaGFuZGxpbmcgaW4gc29tZSBmYXN0cGF0aCBjYXNlcwoKMjAxMS0wNi0xNiAxOTowNjowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEltcHJvdmUgZG9jdW1lbnRhdGlvbiBvZiBpbnRlcm5hbCBzaG1waXBlCgoyMDExLTA2LTE1IDE2OjMyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UudmNwcm9qOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgTW92ZWQgJ2NvbG9yc3BhY2UnIGZyb20gLWJhZCB0byAtYmFzZQoKMjAxMS0wNi0xNSAxNjowNjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBhbmRyb2lkL2FhY3BhcnNlLm1rCgkgIGFuZHJvaWQvYW1ycGFyc2UubWsKCSAgYW5kcm9pZC9oMjY0cGFyc2UubWsKCSAgYW5kcm9pZC9tZXRhZGF0YS5tawoJICBhbmRyb2lkL3F0bXV4Lm1rCgkgIGFuZHJvaWQvc2RwZWxlbS5tawoJICBjb25maWd1cmUuYWMKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTA2LTEzIDExOjEyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldHNyYzogZG9uJ3QgdXNlIEdfQ09OU1RfUkVUVVJOCgkgIEl0J3MgZ29pbmcgdG8gYmUgZGVwcmVjYXRlZCByZWFsbHkgc29vbi4KCjIwMTEtMDYtMTIgMTI6NTU6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogU3BlZWQgdXAgdGhlIHN0YXJ0IGNvZGUgc2VhcmNoIGFsZ29yaXRobQoJICBCYXNlZCBvbiA5NmE3ZjljOGIxMTk1MTI5ZjBjMjE1N2NiYmNiYWE2Y2FiNDUwNTZlCgkgIE1ha2VzIGl0IDMtNCB0aW1lcyBmYXN0ZXIKCjIwMTEtMDYtMTIgMTI6NDA6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHNpbmsgcGFkIHRlbXBsYXRlCgkgIG5vIHdvbmRlciBpdCB3YXMgbmV2ZXIgcGlja2VkIHVwIC4uLgoKMjAxMS0wNi0xMiAxMToyNzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGZyZWUgdW5leGlzdGVudCBQQVQKCSAgQW5kIGNsZWFudXAgZmluZF90aW1lc3RhbXBzIGEgYml0CgoyMDExLTA1LTE4IDE5OjMzOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTW9yZSBmaXhlcyB0byBoYW5kbGUgbm9uLTE4OCBieXRlIHBhY2tldHMKCjIwMTEtMDUtMTUgMTQ6MDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBTdG9wIHNjYW5uaW5nIGZvciBrZXlmcmFtZXMgYXMgZWFybHkgYXMgcG9zc2libGUKCjIwMTEtMDMtMzEgMTQ6MzY6MDIgKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhbHdheXMgdHJ5IHRvIHNlZWsgZm9yIHRvIGEga2V5ZnJhbWUKCSAga2V5ZnJhbWUgaXMgZXhwZWN0ZWQgdG8gbGllIGluIHRoZSB0aGUgbmV4dCB+MjUwMCBtcwoKMjAxMS0wMy0yMyAxODo1MDoyNSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCB0aW1lc3RhbXBzIGluIG5ld3NlZ2VtZW50IGV2ZW50IGFmdGVyIHNlZWtpbmcKCjIwMTEtMDMtMzAgMTE6MjY6MTggKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcGF5bG9hZCBwYXJzaW5nIGZvciBILjI2NAoKMjAxMS0wMy0yOCAxMDoyMDo0MyArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGltcGxlbWVudCBrZXlfdW5pdCBzZWVraW5nIGZvciBNUEVHMiB2aWRlbwoKMjAxMS0wMy0yMiAxNjo0OToxMyArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFjY3VyYXRlIHNlZWtpbmcKCSAgKiBwZXMgaGVhZGVyIHBhcnNpbmcgZm9yIHB0cyBpcyB1Z2x5LCByZWZhY3RvcgoJICAqIHRpbWVzdGFtcHMvbmV3c2VnbWVudCBhZnRlciBzZWVraW5nIGlzIHN0aWxsIG9mZgoKMjAxMS0wMi0yMiAxMjozMzo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHB1c2ggYmFzZWQgc2Vla2luZyBiYXNlZCBvbiBQQ1IKCSAgYnVmZmVyIHRpbWVzdGFtcHMgYXJlIGNvbnZlcnRlZCB0byBHc3RDbG9ja1RpbWUgdG8gY292ZXIgcGNyL3B0cyB3cmFwcy4KCSAgbXVsdGlwbGUgcGNyL3B0cyB3cmFwcyBhcmUgaGFuZGxlZCB3aXRoIGFuIGluZGV4IHdoaWNoIGVuc3VyZXMgYXQgbW9zdAoJICBhIHNpbmdsZSBwY3Igd3JhcGFyb3VuZCBiZXR3ZWVuIHR3byBlbnRyaWVzLgoJICB0aGUgbGFzdCBzZWVuIHBjciBpcyByZWNvcmRlZCB0byBoYXZlIGEgbmVhcmJ5IGluZGV4IHBvaW50IGZvciBzaG9ydCBzZWVrcwoJICByZXN1bWluZyBwbGF5YmFjayBtaWdodCBiZSBkZWxheWVkIGlmIHRoZSBwb3N0aW9uIGlzIG5vdCBhIGtleWZyYW1lCgkgIFRPRE86IHJlcGxhY2UgbWFudWFsIHBhY2tldCBzY2FubmluZyBhbmQgcGFyc2luZyBpbiB0aGUgaW5pdGlhbCBkdXJhdGlvbiBlc3RpbWF0aW9uCgoyMDExLTAyLTIzIDE1OjIxOjIyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogY3JlYXRlIGZ1bmN0aW9uIGZvciBwY3IgcGFyc2luZwoKMjAxMS0wNC0xMSAxNDo1MzoyOCArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGFkYXB0YXRpb24gZmllbGQgbGVuZ3RoID09IDAgaXMgdmFsaWQKCSAgaXQgY2FuIGJlIHVzZWQgdG8gaW5zZXJ0IGEgc2luZ2xlIHN0dWZmaW5nIGJ5dGUKCSAgZG8gbm90IHBhcnNlIHRoZSBmb2xsb3dpbmcgcGF5bG9hZCBhcyBhZGFwdGF0aW9uIGZpZWxkCgoyMDExLTA2LTA3IDE0OjE0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBBZGQgZ3N0L2ludnRlbGVjaW5lIHRvIENSVUZUX0RJUlMKCjIwMTEtMDYtMDcgMTM6NDQ6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgR0xpYiA+PSAyLjI0CgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDExLTA2LTA2IDE1OjIzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3IgYmFzZWF1ZGlvdmlzdWFsaXplcgoKMjAxMS0wNi0wNiAxNToyMDozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBmaXggbGFzdCBibG9jayBjb25kaXRpb24KCSAgQWxzbyBwdXNoIG91dCB0aGUgbGFzdCBmcmFtZSBpZiB3ZSBoYXZlIGV4YWN0IGFtb3VudCBvZiBzYW1wbGVzLiBGaXggdGhlIGFkYXB0ZXIKCSAgZmx1c2hpbmcgdG8gbm90IGNhdXNlIGVuZGxlc3MgbG9vcHMuIERyb3AgYSByZWR1bmRhbnQgYXZhaWwoKSBjaGVjay4KCjIwMTEtMDYtMDQgMjA6NDE6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGEgUkVBRE1FIHdpdGggY29tbWVudHMgYW5kIHBsYW5zCgoyMDExLTA2LTA0IDIwOjM0OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzNkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnNwZWN0IGZpbGVzCgoyMDExLTA2LTA0IDE2OjEyOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJICBkb2NzOiBhZGQgbmV3IGF1ZGlvdmlzdWFsaXplcnMgdG8gdGhlIHBsdWdpbiBkb2NzCgoyMDExLTA2LTA0IDE1OjU2OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW1vdmUgc29tZSBub3QgbmVlZGVkIGJvaWxlcnBsYXRlCgoyMDExLTA2LTA0IDE1OjUyOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYSBzcGFjZXNjb3BlIGVsZW1lbnQKCSAgQWRkIGFub3RoZXIgZWxlbWVudCB0aGF0IG1hcHMgbGVmdC9yaWdodCBjaGFubmVsIHRvIHgseSBjb29yZGluYXRlcy4KCjIwMTEtMDYtMDQgMTU6Mzg6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSAgc3luYWVzY29wZTogdHdlYWsgdGhlIGFsZ29yaXRobQoJICBTcGVlZC11cCB0aGUgY2FsY3VsYXRpb24gYSBiaXQuIEtlZXAgYSBmZXcgdmFsdWVzIGFzIGRvdWJsZXMuIFR1bmUgdGhlIHNjYWxpbmcKCSAgdG8gZ2V0IG5pY2VzIGNvbG9ycy4KCjIwMTEtMDYtMDQgMTQ6Mzc6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogZG9jLWJsb2IgYW5kIGNvbW1lbnQgdXBkYXRlcwoKMjAxMS0wNi0wNCAxNDozMzoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyczogcmVuYW1lIGJhc2VjbGFzcyBmcm9tIGJhc2VzY29wZSB0byBiYXNlYXVkaW92aXN1YWxpemVyCgoyMDExLTA2LTA0IDE0OjI1OjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyczogcmVuYW1lIHNjb3BlcyBwbHVnaW4gdG8gYXVkaW92aXN1YWxpemVycwoKMjAxMS0wNS0zMSAxNDo0Mjo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkgIHNjb3BlczogZml4IGVsZW1lbnRzIGRlc2NyaXB0aW9ucwoKMjAxMS0wNS0zMCAyMzo0NToxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiB1c2UgYWRkX3BpeGVsIGZvciBub24td2hpdGUgcGl4ZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMzAgMjM6MzY6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBhZGQgYSBuZXcgZWxlbWVudCBzaW1pbGFyIHRvIHN5bmFlc3RoZXNpYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDIzOjIyOjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJICBzY29wZXM6IGRyYXcgcGl4ZWxzIHdpdGggc2lnbmxlIDMyYml0IHdyaXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDE0OjM2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJICBiYXNlc2NvcGU6IGFkZCBtb3JlIHNoYWRpbmcgZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDE0OjA4OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJICBiYXNlc2NvcGU6IGFkZCBhIHByb3BlcnR5IHRvIG1vZGlmeSB0aGUgYW1tb3VudCBvZiBzaGFkaW5nCgkgIEFkZCBhbm90aGVyIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIHNoYWRpbmcgcGVyIGNvbG9yIGNoYW5uZWwuIEZpeCBlbmRpYW5lc3MKCSAgaXNzdWVzIGluIHRoZSBzaGFkaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjM6MjU6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIGJhc2VzY29wZTogYWRkIGEgYmFja2J1ZmZlciBhbmQgYXBwbHkgc2hhZGluZyBlZmZlY3RzCgkgIEtlZXAgdGhlIGxhc3QgZnJhbWUgYW5kIGFwcGx5IHNoYWRlIGFuZCBnZW9tZXRyeSBlZmZlY3RzLiBFeHBvc2UgdGhlIHNoYWRpbmcKCSAgZWZmZWN0cyBhcyBhIGNvbnRyb2xsYWJsZSBnb2JqZWN0IHByb3BlcnR5IG9uIHRoZSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjM6MTI6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIGJhc2VzY29wZTogYWxsb3cgc3ViY2xhc3NlcyB0ZWxsaW5nIGhvdyBtYW55IHNhbXBsZSB0aGV5IG5lZWQgcGVyIGZyYW1lCgkgIFRoaXMgYWxsb3dzIGUuZy4gRkZUIGJhc2VkIGVsZW1lbnRzIHRvIHJlcXVpcmUgZW5vdWdoIGRhdGEuIElmIHRoZXkgbmVlZCBtb3JlCgkgIGRhdGEgdGhhbiB3aGF0IHdlIGdldCwgd2UgZmx1c2ggbGVzcyBmcm9tIHRoZSBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIyOjUzOjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJICBiYXNlc2NvcGU6IHJlbW92ZSBzb21lIGNvbW1lbnRzCgkgIFRob3NlIGNvbW1lbnRzIHdoZXJlIHBvaW50aW5nIHRvIGV4YW1wbGUgY2FsbHMgdGhhdCB3ZSBkbyBpbiB0aGUgc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMTQ6NDM6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogYWRkIGEgc2ltcGxlIGZmdCBiYXNlZCBzY29wZQoJICBBZGQgYSAybmQgZGVtbyBzY29wZSB0aGF0IHVzZXMgYSBmZnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMTE6MTQ6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBmaXJzdCB2ZXJzaW9uIG9mIGEgc2NvcGVzIHBsdWdpbiB1c2luZyBhIG5ldyBiYXNlY2xhc3MKCSAgQWRkIGEgbmV3IGJhc2VjbGFzcyBmb3Igd3JpdGluZyB2aXN1YWxpc2F0aW9uIHBsdWdpbnMuIFByb3ZpZGUgYSBzaW1wbGUgd2F2ZQoJICBvc2NpbGxvc2NvcGUgYXMgYSBmaXJzdCBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNC0yOSAxMzozMzo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEF2b2lkIGRvdWJsZSBzY2FubmluZyBvZiBwaWN0dXJlcwoJICBUaGUgaW5jb21pbmcgZGF0YSBoYXMgYWxyZWFkeSBiZWVuIHNjYW5uZWQgaW4gbXBlZ19wYWNrZXRpemVyX2FkZF9idWYuCgkgIFdlIGNhbiB0aGVyZWZvcmUgc3RvcCBzY2FubmluZyBmb3IgcGljdHVyZSBkYXRhIGFzIHNvb24gYXMgd2UndmUgcGFyc2VkCgkgIHRoZSBoZWFkZXIuIE1ha2VzIG1wZWd2aWRlb3BhcnNlIDIgdGltZXMgZmFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTMzCgoyMDExLTA2LTA1IDEzOjU2OjA4IC0wNzAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGxvd2VyIHJhbmsgdG8gc2Vjb25kYXJ5CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAxMzozODo0NiAtMDcwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBjb21waWxlIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMTA6MzQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogUmVtb3ZlIGluIGZhdm9yIG9mIGZpZWxkYW5hbHlzaXMKCjIwMTEtMDYtMDQgMTg6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgRml4ZXM6ICM2NTE3NzkuICBGcm9tIFJhaW1vIErDpHJ2aS4KCjIwMTEtMDYtMDQgMTg6NDM6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBwbHVnaW4KCSAgRml4ZXMgIzY1MTc4Mi4gIFBhdGNoIGZyb20gdmFyaW91cyBhdXRob3JzLCBieSB3YXkgb2Ygb3NzYnVpbGQuCgoyMDExLTA2LTA0IDE0OjA0OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA2LTA0IDEzOjUxOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdTogcmVtb3ZlIG9sZCBnbGliIGNvbXBhdGliaWxpdHkgY29kZQoKMjAxMS0wNi0wMyAxOTozNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHNldCBwYXIgdG8gMS8xCgoyMDExLTA2LTAzIDE5OjM2OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEJldHRlciBoYW5kbGluZyBvZiBpbnZhbGlkIHBhcgoKMjAxMS0wNS0zMCAxNzowMzoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJICB2aWRlb2ZpbHRlcjI6IEZpeCBjb3B5cmlnaHQKCjIwMTEtMDYtMDQgMjA6MzU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIGdzdDogc29tZSBtb3JlIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgZml4ZXMKCjIwMTEtMDUtMzAgMTc6NTQ6MjYgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJICBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlIG5ldyAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIGFkZGVkIGluCgkgIEdDQyA0LjY6IGh0dHA6Ly9nY2MuZ251Lm9yZy9nY2MtNC42L2NoYW5nZXMuaHRtbAoKMjAxMS0wNS0wOSAxNDozNTo0MiAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGEgZmlsdGVyIHRvIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgQ2FtZXJhYmluMiBhbGxvd3Mgc2V0dGluZyBhIGZpbHRlciBmb3IgaW1hZ2UsIHZpZGVvIG9yIHZpZXdmaW5kZXIsIGJ1dAoJICBub3Qgb25lIGZpbHRlciBmb3IgYWxsIHRocmVlIGF0IHRoZSBzYW1lIHRpbWUuIEkgYWRkZWQgYSBmaWx0ZXIgdG8KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyB0byBhbGxvdyBzZXR0aW5nIGEgZ2xvYmFsIGZpbHRlciB3aGVuIHVzaW5nIHRoaXMKCSAgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5ODIyCgoyMDExLTA1LTI2IDAwOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgdmFyCgoyMDExLTA1LTI1IDIzOjI5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZnVsbCBuYW1lcyBpbiBwcm9wZXJ0aWVzCgkgIEltcHJvdmUgQVBJIGJ5IHVzaW5nIHNvdXJjZSBpbnN0ZWFkIG9mIHNyYyBpbiBwcm9wZXJ0aWVzCgoyMDExLTA1LTIzIDEzOjM2OjI3ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvIG5vdCB1bnJlZiBwYWQgdGVtcGxhdGUKCjIwMTEtMDUtMjkgMTM6MTY6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBhdmMgY2hlY2sgc28gdGhhdCBpdCB0cmllcyB0byBsaW5rIHRvIEFWQ1ZpZGVvU2VydmljZXMKCSAgQXZvaWRzIGF2YyBwbHVnaW4gZnJvbSBiZWluZyBidWlsdCB3aGVuIEFWQ1ZpZGVvU2VydmljZXMgaXMgbm90IGluc3RhbGxlZAoKMjAxMS0wNS0yNiAxMjoyMzowMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBBZGQgLS1pbWFnZS1mb3JtYXR0ZXIgY29tbWFuZC1saW5lIG9wdGlvbgoJICBBZGQgY29tbWFuZC1saW5lIG9wdGlvbiB0byBnc3QtY2FtZXJhYmluLXRlc3QgZm9yIGNvbmZpZ3VyaW5nIGNhbWVyYWJpbgoJICBtZXRhZGF0YSBmb3JtYXR0ZXIgZWxlbWVudC4KCjIwMTEtMDUtMzEgMTM6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBGaXggdW5pdCB0ZXN0IGFmdGVyIGxhdGVzdCBmYWFjIGNoYW5nZXMKCjIwMTEtMDUtMzEgMTI6NTU6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNjYW5uaW5nIG9uIHNtYWxsIGZpbGVzCgkgIFdlIHdlcmUgcHJldmlvdXNseToKCSAgKiBTdG9wcGluZyBlYXJseSBpbiB0aGUgaW5pdGlhbCBQQ1Igc2NhbgoJICAqIEdpdmluZyBhIG5lZ2F0aXZlIG9mZnNldCBmb3IgdGhlIHNlY29uZCBQQ1Igc2NhbgoKMjAxMS0wNS0zMSAxMjo1NDo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBjYWxsIHByb2dyYW1fc3RvcHBlZCB3aXRoIGEgTlVMTCBwcm9ncmFtCgoyMDExLTA1LTE5IDEyOjU1OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogRGVsYXkgcHVzaGluZyBidWZmZXJzIHVudGlsIHdlIGhhdmUgd2lkdGgvaGVpZ2h0CgoyMDExLTA1LTI3IDExOjEzOjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IHJlbW92ZSB0ZW1wbGF0ZSBzdGFtcCBjb21tZW50CgoyMDExLTA1LTMwIDIzOjQzOjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJICBiYXllcjJyZ2I6IENvbnZlcnQgdG8gT3JjCgkgIFNlcmlvdXNseSBmYXN0ZXIuICBBbGdvcml0aG0gaXMgbmVhcmx5IHRoZSBzYW1lIGFzIGJpbGluZWFyLCB3aGljaAoJICBnaXZlbiB0aGUgc3BlZWQgb2YgdGhpcyBjb2RlLCBzaG91bGQgYmUgY29uc2lkZXJlZCB0aGUgYmFzZWxpbmUgb2YKCSAgcXVhbGl0eS4gIFNwZWVkIGFwcGVhcnMgdG8gYmUgbGltaXRlZCBieSBtZW1vcnkgYmFuZHdpZHRoLCBzbyBJCgkgIGRpZG4ndCBib3RoZXIgdHJ5aW5nIHRvIG1ha2UgaXQgYW55IGZhc3Rlci4KCjIwMTEtMDUtMzAgMTY6NTY6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFJld3JpdGUgc2lnbmFsIHByb2Nlc3NpbmcuIE11Y2ggZmFzdGVyLgoKMjAxMS0wNS0zMCAxNzo1NDoyNiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBUaGlzIGlzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZSBuZXcgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBhZGRlZCBpbgoJICBHQ0MgNC42OiBodHRwOi8vZ2NjLmdudS5vcmcvZ2NjLTQuNi9jaGFuZ2VzLmh0bWwKCjIwMTEtMDUtMzAgMTM6MDE6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZXZlcnQgImR2ZHNwdTogRml4IHBhZCB0ZW1wbGF0ZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzMyODI4ZTMxY2JhY2U1OWU2Y2U0ZjI2MmI4MzM5ZTQzZWQwYzYzMS4KCSAgSXQgd2FzIGluIGZhY3QgYW4gaXNzdWUgaW4gY29yZQoKMjAxMS0wNS0zMCAxMzowMToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFByb3RlY3QgYWdhaW5zdCBwcm9ncmFtIGJlaW5nIHJlbW92ZWQKCjIwMTEtMDUtMzAgMTI6Mjc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJICBmYWNlb3ZlcmxheTogQWRkIGdzdC1wbHVnaW5zLWJhc2UgQ0ZMQUdTIGFuZCBMSUJTIHRvIGZpeCBjb21waWxhdGlvbgoKMjAxMS0wNS0zMCAxMjoyNDozMSArMDIwMCAgTGF1cmEgTHVjYXMgQWxkYXkgPGxhdXJhbHVjYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IEFkZCBlbGVtZW50IHRoYXQgZGlzcGxheXMgYW4gU1ZHIGltYWdlIG92ZXIgYSBkZXRlY3RlZCBmYWNlCgkgIEZpeGVzIGJ1ZyAjNjQyNzU5LgoKMjAxMS0wNS0zMCAwODo0ODoyOSArMDIwMCAgVG9tIERlc2V5biA8dG9tLmRlc2V5bkBiYXJjby5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogQWxzbyBjb25zaWRlciBub24tYWNjZWxlcmF0ZWQgRGlyZWN0RkIgc3VyZmFjZXMKCSAgRml4ZXMgYnVnICM2MzEzOTAuCgoyMDEwLTA5LTAyIDIzOjMxOjIzICswMzAwICBNYXJ0aW4gU3RvcnNqbyA8bWFydGluQG1hcnRpbi5zdD4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IERlY29kZSBhdWRpbyB1bnRpbCBhbGwgaW5wdXQgZGF0YSBpcyBjb25zdW1lZAoJICBUaGUgc3BlY2lhbCByZXR1cm4gdmFsdWUgaXMgcmV0dXJuZWQgZnJvbSBvdXIgYnVmZmVyIGNhbGxiYWNrCgkgIHdoZW4gYWxsIGlucHV0IGRhdGEgaGFzIGJlZW4gY29uc3VtZWQuCgoyMDExLTA1LTAzIDE0OjE0OjIwICswMzAwICBNYXJ0aW4gU3RvcnNqbyA8bWFydGluQG1hcnRpbi5zdD4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IFJlcGxhY2UgdGhlIGhhY2tpc2ggNDIgbWFnaWMgbnVtYmVyIHdpdGggYSBkZWZpbmUKCjIwMTEtMDUtMzAgMDg6NDM6NTkgKzAyMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlY3dyYXBwZXI6IEZpeCBDT00gaW5pdGlhbGl6YXRpb24KCSAgRml4ZXMgYnVnICM2MjUxOTAuCgoyMDExLTA1LTMwIDA4OjQzOjQwICswMjAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogRml4IGVsZW1lbnQgcmVnaXN0cmF0aW9uIHVzaW5nIGRhdGEgaW4gdGhlIHR5cGUgaW5zdGVhZCBvZiBhIGdsb2JhbAoKMjAxMS0wNS0yOSAxODoxNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRml4IHBhZCB0ZW1wbGF0ZXMKCSAgT3VyIGNhcHMgaW50ZXJzZWN0aW9uIGNvZGUgaXMgYSBiaXQgdG9vIHRvdWNoeSBhYm91dCB3aGF0IGFuIGVsZW1lbnQKCSAgcmV0dXJucyBjb21wYXJlZCB0byBpdHMgcGFkIHRlbXBsYXRlcy4KCjIwMTEtMDUtMjkgMTM6MDU6MzEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjaGVjayBmb3Igb3V0IG9mIHJhbmdlIHBwc19pZCBvbmUgbGF5ZXIgdXAKCjIwMTEtMDUtMjkgMTM6MDM6MzggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNS0yOSAxMjo1NDo0MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGNoZWNrIGZvciBvdXQgb2YgcmFuZ2UgcHBzX2lkIG9uZSBsYXllciB1cAoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIGNvbXBhcmluZyBndWludDggYW5kIE1BWF9QUFNfQ09VTlQgd2hpY2ggaXMgPiBHX01BWFVJTlQ4CgoyMDExLTA1LTI3IDExOjA1OjQ2ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBGaXggbWlzc2luZyBoZWFkZXIgZmlsZSBhbmQgdXBkYXRlIHNwZWMgdG8gd29yayBhcm91bmQgY3VycmVudCBjb21waWxlciBpc3N1ZXMKCjIwMTEtMDUtMjcgMTA6NDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGZhYWM6IGZpeCBDRkxBR1MgYW5kIExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDUtMjcgMTA6NDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBTZXQgdGhlIGNvcnJlY3QsIHZhbGlkIHNhbXBsZSByYXRlcyBpbiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDUtMjcgMTA6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBNYWtlIHN1cmUgdG8gYWxzbyByZXR1cm4gb25seSBhIHN1YnNldCBvZiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaW4gZ2V0Y2FwcwoKMjAxMS0wNS0yNyAxMDozNTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFNldCB0aGUgY29ycmVjdCwgdmFsaWQgc2FtcGxlIHJhdGVzIGluIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0wNS0yNyAxMDozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFRoZSBlbmNvZGVyIGxpYnJhcnkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgMSBvciAyIGNoYW5uZWxzCgoyMDExLTA1LTI3IDEwOjMxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM2NTA1OTUuCgoyMDExLTA1LTI3IDEwOjExOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogQWRkIHRoZSBwcm9maWxlIGFuZCBsZXZlbCB0byB0aGUgY2FwcwoJICBBbHNvIG5lZ290aWF0ZSB0aGUgcHJvZmlsZSBmcm9tIHRoZSBkb3duc3RyZWFtIHBlZXIgY2FwcwoJICBpbnN0ZWFkIG9mIHVzaW5nIGEgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNjUwNTk0LgoKMjAxMS0wNS0yNyAwOTo0MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHRoZSBwcm9wZXJ0eSBlbnVtcwoKMjAxMS0wNS0yNiAwOTo1OTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3NweTogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTEtMDEtMTQgMTc6NDI6NTAgKzAxMDAgIEd1aWxsYXVtZSBFbW9udCA8Z2Vtb250QGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5oOgoJICBkZWJ1Z3NweTogYWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBhbGxvd3MgeW91IHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBidWZmZXJzIHdpdGggYnVzIG1lc3NhZ2VzLiBJdAoJICBwcm92aWRlcyB0aGUgc2FtZSBraW5kIG9mIGluZm9ybWF0aW9uIGFzIGlkZW50aXR5IGRvZXMgdGhyb3VnaCBhIG5vdGlmeSBzaWduYWwKCSAgb24gYSBzdHJpbmcgcHJvcGVydHksIGJ1dCBpbiBhIG1vcmUgcHJvZ3JhbW1lci1mcmllbmRseSB3YXkuCgoyMDExLTA1LTI2IDA5OjQ2OjU4ICswMjAwICBHYWJyaWVsIFN0cmltdHUgPGdhYnJpZWxzdHJpbXR1QHlhaG9vLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZpeCBwYXJzaW5nIG9mIFBTSSB0YWJsZSBJRHMKCSAgRml4ZXMgYnVnICM2MzU5MTcuCgoyMDExLTA1LTI2IDA5OjIyOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NHNyYzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCSAgQmFzZWQgb24gdGhlIExBVEVOQ1kgcXVlcnkgY29kZSBpbiB2NGwyc3JjIGFuZCB0aGUgcGF0Y2gKCSAgYnkgVHJpc3RhbiBNYXR0aGV3cy4gRml4ZXMgYnVnICM2MjU1MjAuCgoyMDExLTA1LTI1IDIzOjE0OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBtb3JlIHN5cyBlbGVtZW50cyBmcm9tIHRoZSBzdGF0ZSB0ZXN0cwoJICBBbHNvIHdyYXAgdGhlIGxpc3Qgb2YgYmxhY2tsaXN0ZWQgZWxlbWVudHMgYW5kIHRyaW0gc29tZSB3aGl0ZXNwYWNlLgoKMjAxMS0wNS0yNSAyMzoxMzoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBlbnN1cmUgdW5pcWUgcHJvcGVydHkgbmFtZXMKCSAgQ29weSBhbmQgYWRqdXN0IHRoZSBjb2RlIGZyb20gbGFkc3BhIHBsdWdpbiB0byBlbnN1cmUgdW5pcXVlIGdvYmplY3QgcHJvcGVydHkKCSAgbmFtZXMuCgoyMDExLTA1LTI1IDIwOjUyOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGEgbnVtYmVyIG9mIHZpZGVvIHBhcnNlcnMKCjIwMTEtMDUtMjUgMjA6NDk6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBhZGRpdGlvbmFsIG9mZnNldCB0cmFja2luZyBpbiBwYXJzZXIgdGVzdCBoZWxwZXIKCjIwMTEtMDUtMjUgMjA6NDg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICB0ZXN0czogYWRkaXRpb25hbCBwYXJhbWV0ZXJpemF0aW9uIGZvciBwYXJzZXIgdGVzdCBoZWxwZXIKCSAgQWxsb3cgY29udGV4dCBjYWxsYmFja3MgdG8gcGVyZm9ybSBjdXN0b20gYnVmZmVyIHZlcmlmaWNhdGlvbgoJICBhbmQgY3VzdG9tIGVsZW1lbnQgc2V0dXAuICBBbHNvIG1vdmUgc29tZSBzdGF0aWMgdHJhY2tpbmcgdmFyaWFibGVzCgkgIGludG8gaGVscGVyIHN0cnVjdCBhbmQgZXhwb3NlIHRoZSBsYXR0ZXIgc3RydWN0IGZvciB1c2UgYnkgdW5pdCB0ZXN0CgkgIChjYWxsYmFja3MpLgoKMjAxMS0wNS0yNSAxNToyNjowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBsdWcgc29tZSBtb3JlIGJ1ZmZlciBsZWFrcwoKMjAxMS0wNS0yNSAxMzo1Mzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbXBlbnNhdGUgZm9yIHNraXBwZWQgYnl0ZXMgaW4gcGFyc2luZyBzdGF0ZSBvZmZzZXRzCgoyMDExLTA1LTI1IDEzOjUzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNsZWFyaW5nIGFkYXB0ZXIgZm9ybWluZyBhdmMgb3V0cHV0IGZyYW1lCgkgIC4uLiB3aGljaCBuZWVkcyB0byBiZSByZXNldCB1cG9uIGEgbmV3IGZyYW1lIGFuZCBvdGhlcndpc2UgKG9ubHkpCgkgIGZvciBhdmMgaW5wdXQgaW4gcGFzc3Rocm91Z2ggbW9kZSAocmF0aGVyIHRoYW4gb24gZXZlcnkgY2hhaW4gY2FsbCkuCgoyMDExLTA1LTI1IDExOjUwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaGFuZGxlIGFsbCB2YWxpZCBwcHNfaWQKCSAgLi4uIHdoaWNoIGFyZSBpbiByYW5nZSAwLTI1NS4KCjIwMTEtMDUtMTUgMTM6MjM6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbGxvdyBmdWxsIG5lZ290aWF0aW9uIGZvciBwYWNrZXRpemVkIGlucHV0CgkgIC4uLiBieSBkZWZhdWx0aW5nIHRvIGFsbG93IHNwbGl0dGluZyBwYWNrZXRpemVkIGlucHV0IGFuZCBoYXZpbmcKCSAgbmVnb3RpYXRpb24gd2l0aCBkb3duc3RyZWFtIGRlY2lkaW5nIHdoZXRoZXIgb3Igbm90IHRoaXMgYXBwbGllcy4KCSAgQWxzbyBlbmFibGUgcGFzcy10aHJvdWdoIHBhcnNpbmcgbW9kZSBpZiBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdAoJICAoc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50KSBtYXRjaC4KCSAgQVBJOiBHc3RIMjY0UGFyc2U6c3BsaXQtcGFja2V0aXplZCAocmVtb3ZlZCkKCSAgRml4ZXMgIzY1MDIyOC4KCjIwMTEtMDUtMjQgMjE6NTA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBhbHNvIGV4dHJhY3Qgd2lkdGggYW5kIGhlaWdodCBpbnRvIGNhcHMKCjIwMTEtMDQtMjEgMjI6NDI6NDUgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdW5pdCB0ZXN0IGZvciBBUFAxL2V4aWYgJiBjb21tZW50IHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODQ3OAoKMjAxMS0wNS0yNSAxNDo0MjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgIG1wZWcyZW5jOiBmaXggYnVpbGQgd2l0aCAxLjkuMCByZWxlYXNlIGFnYWluIGFmdGVyIHJlY2VudCBmaXhlcyBmb3IgbWpwZWd0b29scyAyLjAuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTcwCgoyMDExLTA1LTI1IDE1OjEwOjE5ICswMjAwICBBbmRyZWFzIEZyaXNjaCA8ZnJheGluYXNAb3BlbmRyZWFtYm94Lm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBvaW50ZXIgb3V0cHV0IGluIHN0cmVhbS1ub3QtYXNzb2NpYXRlZCBkZWJ1ZyBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1MAoKMjAxMS0wNS0yNCAxNTo0Mjo0NCArMDIwMCAgR8O2dHogV2FzY2hrIDx3YXNjaGtAbWFuZHJpdmEub3JnPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgbXBlZzJlbmM6IHN1cHBvcnQgbWpwZWd0b29scyAyLjAKCSAgVGhpcyBhZGRzIGNvbmRpdGlvbmFsIGluY2x1ZGVzIGZvciB0aGUgcmVuYW1lZCBoZWFkZXJzIGluIG1qcGVndG9vbHMgMi4wLgoJICBGaXhlczogIzY1MDk3MC4KCjIwMTEtMDUtMjMgMTc6Mjk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICB4dmlkZGVjOiBBZGQgdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00IHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjA5NjM5LgoKMjAxMS0wNS0yMCAxNzowNjo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIGltYWdlLWZvcm1hdHRlciBwcm9wZXJ0eQoJICBBZGQgaW1hZ2UtZm9ybWF0dGVyIHByb3BlcnR5IGluIG9yZGVyIHRvIGxldCBhcHBsaWNhdGlvbiBjb25maWd1cmUKCSAgdGhlIGZvcm1hdHRlciBlbGVtZW50IGZvciBtZXRhZGF0YS4KCjIwMTEtMDUtMjMgMTM6NTQ6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWRkaXRpb25hbCBkZWJ1ZyB0cmFjaW5nCgoyMDExLTA1LTIzIDEyOjA2OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgbmV3IG1wZWd2aWRlb3BhcnNlCgoyMDExLTA1LTIzIDEyOjAyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcmVuYW1lIHRvIGxlZ2FjeW1wZWd2aWRlb3BhcnNlCgoyMDExLTA1LTE4IDA5OjQ3OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgc3RhbGUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNS0xNyAyMjo0Mjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjo0MjoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjozOToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjoxODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGF2b2lkIHN0YWxlIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDUtMTIgMTI6MDc6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5oOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgoyMDExLTA1LTIzIDE1OjAzOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIC1jb3JlLy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMzQuMQoJICAuLi4gc2luY2UgbGF0ZXN0IGJhc2VwYXJzZSBBUEkgaXMgcmVxdWlyZWQgZm9yIHZpZGVvcGFyc2Vycy4KCjIwMTEtMDUtMjMgMTQ6NDE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBncmFjZWZ1bGx5IGhhbmRsZSB0cnVuY2F0ZWQgaW5wdXQgTkFMIHVuaXRzCgkgIFJhdGhlciB0aGFuIGFzc2VydCdpbmcgaW4gc3VjaCBjYXNlLCBlbWl0IHdhcm5pbmcgaWYgdGhlIGxlbmd0aCBvZiBhIE5BTCB1bml0CgkgIGlzIGxlc3MgdGhhbiBleHBlY3RlZCAyIGFuZCBkaXNjYXJkIGl0LgoJICBCYXNlZCBvbiBwYXRjaCBieSBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgkgIEZpeGVzICM2NTA0MTYuCgoyMDExLTA1LTIzIDE2OjQ3OjMxICswMjAwICBWaW5jZW50IEfDqW5pZXV4IDx2Z2VuaWV1eEBmcmVlLmZyPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBBZGQgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIEdzdFBvbGwgaW5zdGVhZCBvZiBwb2xsCgkgIFRoaXMgYWxsb3dzIHRvIHVzZSBtdWNoIGhpZ2hlciB0aW1lb3V0IHZhbHVlcyBiZWNhdXNlIEdzdFBvbGwKCSAgaXMgaW50ZXJydXB0aWJsZSBhbmQga2VlcHMgdGhlIG51bWJlciBvZiB3YWtldXBzIGR1cmluZyBzaWduYWwKCSAgbG9zcyBsb3dlci4KCSAgRml4ZXMgYnVnICM2MDgxNzEuCgoyMDExLTA1LTIzIDE0OjU4OjA4ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBidWlsZCBvZiBvcGVuYWwgcGx1Z2luIGZyb20gZGlzdGVkIHRhcmJhbGwKCjIwMTEtMDUtMjMgMTU6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgdGVsZXRleHRkZWM6IE1pbm9yIGNsZWFudXAgYW5kIGluZGVudGlvbiBmaXhlcwoKMjAxMS0wNS0yMyAxNToyMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDExLTA1LTIzIDE1OjE0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRml4IGJ1ZmZlciBkYXRhIGxlYWsKCjIwMTAtMDktMTAgMTQ6MzQ6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSAgdGVsZXRleHRkZWM6IEFkZCBzdXBwb3J0IGZvciBwYW5nbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEyOjQ0OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkgIHRlbGV0ZXh0ZGVjOiBhZGQgYSBuZXcgbWV0aG9kIHRvIGNvbnZlcnQgYSBwYWdlIGluIGEgbGlzdCBvZiBzdHJpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDktMDkgMTY6NDE6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogYWRkIHNvbWUgZGF0YSBpbiB0aGUgcHJlcm9sbCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMzo1NTozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBmaXggZGVhZGxvY2sgb24gYSBzdHJlYW0gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMjo0Mjo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBkb24ndCB0cnkgdG8gcHVzaCBhbiBldmVudCBvbiBhIHBhZCB0aGF0IHJldHVybmVkIGFuIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDktMTMgMTE6NTk6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHRlbGV0ZXh0ZGVjOiBOZXcgdGVsZXRleHQgZGVjb2RlciBwbHVnaW4gYmFzZWQgaW4genZiaQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDExLTA1LTIzIDE0OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkgIG9wZW5hbDogQWRkIG5ldyBvcGVuYWxzcmMgZWxlbWVudAoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5IFZpY3RvciBMaW4gPGJvcm5zdHViQGdtYWlsLmNvbT4KCSAgRml4ZXMgYnVnICM1NTAyMzAuCgoyMDExLTA1LTIzIDEzOjQxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkgIG9wZW5hbDogQWRkIG5ldyBPcGVuQUwgc2luayBlbGVtZW50CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQ2hyaXMgUm9iaW5zb24gPGNocmlzLmtjYXRAZ21haWwuY29tPgoJICBGaXhlcyBidWcgIzYxNTYxNS4KCjIwMTEtMDUtMjAgMTU6MjU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEbyBub3Qgc2VnZmF1bHQgb24gbnVsbCBsb2NhdGlvbnMKCSAgUHJldmVudCBjYXB0dXJlIGZyb20gc3RhcnRpbmcgd2hlbiBzYXZpbmcgbG9jYXRpb24gaXMgc2V0IHRvCgkgIE5VTEwKCjIwMTEtMDUtMjAgMTM6MDQ6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkgIGNhbWFwcGxpY2F0aW9uaW5mbzogZml4IHBvc3NpYmxlIGFycmF5IG92ZXJydW4KCjIwMTEtMDUtMjAgMDk6NTg6NTAgKzAyMDAgIFJhZmFlbCBEaW5peiA8cmFmYWVsQHJpc2V1cC5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ1twdF1zZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBBQUMgTEFUTS9MT0FTIHN0cmVhbXMKCSAgRml4ZXMgYnVnICM2MTU2ODEuCgoyMDExLTA1LTE5IDA4OjA1OjE0ICswMjAwICBXLiBNaWNoYWVsIFBldHVsbG8gPG1pa2VAZmx5bi5vcmc+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSAgYXBleHNpbms6IEFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW9uIDIgQWlyVHVuZXMgaGFyZHdhcmUKCSAgRml4ZXMgYnVnICM2NDk5MzEuCgoyMDExLTA1LTIwIDAwOjM1OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBmaXggdGhlIHsgfSBzY29wZQoKMjAxMS0wNS0yMCAwMDoyMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBkb24ndCBsZWFrIGZkIG9uIGVycm9yCgoyMDExLTA1LTIwIDAwOjE2OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBkb24ndCBsZWFrIHBhc3N3b3JkIG9uIGVycm9yCgoyMDExLTA1LTE5IDIzOjU3OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50ZWQgb3V0IHBhcnQKCSAgV2UgZG9uJ3QgaGF2ZSB0aGlzIGluIHRoZSBvdGhlciBtb2R1bGVzIGFuZCBpdHMgbm90IG5lZWRlZC4KCjIwMTEtMDUtMTkgMjM6NTA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhCgkgIE5vdyBtb3JlIGZpbGVzIGFyZSBtZXJnZWQgYW5kIHByb2R1Y2VkIGluIGEgY2Fub25pY2FsIGZhc2hpb24sIHdoaWNoIGhvcGVmdWxseQoJICBjcmVhdGVzIGxlc3Mgb3Igbm8gZGVsdGEgaW4gdGhlIGZ1dHVyZS4KCjIwMTEtMDUtMTkgMjI6NTg6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWU1YmJkNSB0byA2OWI5ODFmCgoyMDExLTA1LTE5IDE0OjU4OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIHZpZGVvLWRldmljZSBhcmd1bWVudAoJICBBZGRzIGFuIGFyZ3VtZW50IHRvIHNlbGVjdCB3aGljaCB2aWRlbyBkZXZpY2Ugc2hvdWxkIGJlIHVzZWQKCSAgb24gdGhlIHZpZGVvIHNvdXJjZSBlbGVtZW50IGluIGNhbWVyYWJpbjIKCjIwMTEtMDUtMTkgMTQ6NTI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBGaXggdHlwbyBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBUaGUgcHJvcGVydHkgaXMgYXVkaW8tc3JjIGFuZCBub3QgYXVkaW8tc291cmNlCgoyMDExLTA1LTE5IDE0OjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIGF1ZGlvLXNvdXJjZSBwYXJhbWV0ZXIgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIGFuIG9wdGlvbiB0byBzZWxlY3QgdGhlIGF1ZGlvIHNvdXJjZSB0byBiZSB1c2VkIG9uIHZpZGVvCgkgIHJlY29yZGluZ3Mgb24gY2FtZXJhYmluMiB0ZXN0IGFwcGxpY2F0aW9uCgoyMDExLTA1LTE5IDE0OjIzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbWlzc2luZyBbCgkgIEFkZHMgbWlzc2luZyBbIHRvIGNvbmZpZ3VyZSBvbiB0aGUgQ0RBVURJTyBwa2cgY29uZmlnIGNoZWNrCgoyMDExLTA1LTE5IDE4OjQ1OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAgamFzcGVyZW5jOiByZW1vdmUgdW51c2VkICdtaW1ldHlwZScgdmFyaWFibGUKCSAgQXMgbWltZXR5cGUgaXMgbm90IHVzZWQsIHdlIGRvbid0IG5lZWQgdG8gZmV0Y2ggaXQgYW5kIHRoZXJlZm9yZSBuZWl0aGVyIG5lZWQKCSAgdGhlIHN0cnVjdHVyZSBzLgoKMjAxMS0wNS0xOSAxNToyNjozOCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIGZpdCB3aXRoIGxhdGVzdCB1cHN0cmVhbSBzcGVjIGZpbGVzCgoyMDExLTA1LTE4IDE1OjQ0OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2UgZ2NjIDQuNiBoYXBweQoJICBSZW1vdmUgd2FybmluZ3MgZHVlIHRvIGluaXRpYWxpemVkIGJ1dCBuZXZlciB1c2VkIHdhcm5pbmdzCgoyMDExLTA1LTE4IDEzOjM1OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogbWF4IHBwcyBpcyAyNTUKCSAgRml4ZXMgIzY1MDQ4NC4KCjIwMTEtMDUtMTIgMjI6NTQ6NDQgKzAzMDAgIEJyaWFuIEdpdG9uZ2EgTWFyZXRlIDxtYXJldGVAdG9zaG5peC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IENoYW5nZSBjb3VudGVycyB0byA2NCBiaXQgdW5zaWduZWQgaW50ZWdlcnMuCgoyMDExLTA1LTEwIDE2OjE0OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzd2l0Y2ggbGliY2RhdWRpbyB0byBwa2ctY29uZmlnCgoyMDExLTA0LTI0IDE5OjExOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogdXNlIGdzdCBkZWJ1ZyBmb3IgdHNtdXggbGlicmFyeQoKMjAxMS0wNC0xOSAxNTowNDowNSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IGF2Y3NyYyBpcyBhbHdheXMgZW5hYmxlZAoKMjAxMS0wNC0xOSAxNTowMToxNSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEluY2x1ZGUgMjAwIGJ1cyBjeWNsZXMgaW4gZWFjaCBidWZmZXIgKGFib3V0IDMwMCBUUyBwYWNrZXRzKQoKMjAxMS0wNC0xOSAxNTowMDo1MyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEVtaXQgYSBzaW5nbGUgYnVmZmVyIHBlciBjYWxsYmFjawoKMjAxMS0wNC0xOSAxMzo1Mzo1NCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IFRyYWNrIHRoZSBudW1iZXIgb2YgZW5xdWV1ZWQgYW5kIGRlcXVldWVkIHBhY2tldHMKCjIwMTEtMDQtMTkgMTM6NTM6MjMgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBEdW1wIHRpbWVzdGFtcCBpbmZvcm1hdGlvbgoKMjAxMS0wNC0xOCAxNTozNzo1NyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IFNhdmUgQVZDIG9iamVjdHMgaW4gdGhlIEdzdEFWQ1NyYyBvYmplY3QKCSAgYW5kIHN0b3AgdGhlbSB3aGVuIHRoZSBwaXBlbGluZSBpcyBzdG9wcGVkCgoyMDExLTA0LTE4IDE1OjE2OjAwIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogQ3ljbGUgYW5kIHBhY2tldCBhcmUgdW5zaWduZWQKCjIwMTEtMDQtMTggMTU6MTU6MjggLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBhdmNzcmMgaXMgYSBsaXZlIHNvdXJjZQoKMjAxMS0wNC0xOCAxNToxNDo1NSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSAgYXZjOiBMb29rIGluIEFWQ1ZpZGVvU2VydmljZXMgZm9yIGhlYWRlcnMKCjIwMTEtMDQtMTggMTI6Mjg6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBhdmM6IGF0dGVtcHQgbmV3IGNvbmZpZ3VyZQoKMjAxMS0wNC0xNiAxOTo0MjowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9nc3RhdmNwbHVnaW4uY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogQWRkIEFWQyBWaWRlbyBTZXJ2aWNlcyBwbHVnaW4gZm9yIE9TL1gKCjIwMTEtMDUtMTggMTY6MTA6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQzNTA3MyB0byA5ZTViYmQ1CgoyMDExLTA1LTE4IDEzOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTmFtZSBtYXgvbWluIHF1YW50aXplciBwcm9wZXJ0aWVzIHttYXgsbWlufS1xdWFudGl6ZXIKCSAgQWxzbyBpbXByb3ZlIHF1YWxpdHkgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDExLTA1LTE4IDEzOjI2OjIzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCBhIG1heGltdW0gYW5kIG1pbmltdW0gcXVhbnRpemVyCgkgIEZpeGVzIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMzoxODo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggcXVhbGl0eSB0byAoY29uc3RhbnQpIHF1YW50aXplciBtYXBwaW5nCgkgIFRoaXMgbm93IGFsbG93cyB0byBzZWxlY3QgYWxsIHBvc3NpYmxlIHF1YW50aXplcnMgYmV0d2VlbgoJICAwIGFuZCA2My4KCSAgU2VlIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMjoyNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDQtMjggMTU6NTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgdmFyaW91czogZml4IGF1dGhvciB0YWcgaW4gZWxlbWVudCBkZXRhaWxzCgoyMDExLTA0LTI3IDE2OjU2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGltcHJvdmUgdGhlIGF1ZGlvZmlsdGVyIHRlbXBsYXRlCgkgIEFkZCBjb21tZW50cy4gQWRkIHN0YXJ0L3N0b3AgbWV0aG9kcy4gQWRkIChjb21tZW50ZWQpIGluc3RhbmNlIGNhc3RzIGF0IHRoZQoJICBiZWdpbiBvZiB0aGUgbWV0aG9kLiBNYWtlIHRyYW5zZm9ybV9pcCByZXR1cm5pbmcgRkxPV19PSyBieSBkZWZhdWx0LgoKMjAxMS0wNC0yNyAxNjo1MTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgcGx1Z2luX2luaXQoKQoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfZWxlbWVudF9yZWdpc3RlcigpLiBVc2UgdGhlIFRZUEUgbWFjcm8gaW5zdGVhZCBvZiB0aGUKCSAgX2dldF90eXBlKCkgZnVuY3Rpb24uCgoyMDExLTA1LTEyIDExOjU3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHNvbWUgYnVmZmVyIGxlYWtzCgkgIEZpeGVzICM2NTAzMjMuCgoyMDExLTA1LTEyIDExOjU2OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4dXAgYm9pbGVycGxhdGUgYW5kIGRlYnVnIGNvZGUgc3R5bGUKCjIwMTEtMDUtMTMgMTc6MTg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgb2Jzb2xldGUgaW1hZ2VjYXB0dXJlYmluCgkgIGltYWdlY2FwdHVyZWJpbiBoYXMgYmVlbiByZXBsYWNlZCBieSBlbmNvZGViaW4sIG5vIG5lZWQKCSAgZm9yIGl0IGFueW1vcmUKCjIwMTEtMDUtMTMgMTY6Mjc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UganBlZyBhcyBhIGNvbnRhaW5lciB0byBmb3JjZSBqaWZtdXggdXNhZ2UKCSAgSmlmbXV4IHNob3VsZCBiZSB1c2VkIGFzIGl0IGNhbiBkbyB4bXAvZXhpZiB0YWdnaW5nLCBzbyB0aGlzIHBhdGNoCgkgIHNldHMganBlZyBhcyBhIGNvbnRhaW5lciB0byBmb3JjZSBpdCB0byBiZSB1c2VkIHRvZ2V0aGVyIHdpdGgKCSAgYSBqcGVnIGVuY29kZXIKCjIwMTEtMDUtMTIgMTE6MTc6MjggKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvIHByb3BlciBFT1MgaGFuZGxpbmcgb24gc2VuZF9ldmVudChlb3MpCgkgIFdlIGZpcnN0IGxldCB0aGUgaW5uZXIgY2FtZXJhIEVPUy4gVGhlbiB3ZSBtYW51YWxseSBwb3N0IEVPUyBvbiB0aGUgaW1hZ2UgYW5kCgkgIHZpZGVvIHNpbmtzIGlmIHRob3NlIGFyZSA8PSBSRUFEWSBhbmQgc28gaGF2ZSBpZ25vcmVkIEVPUyBldmVudHMuCgoyMDExLTA0LTI4IDE1OjExOjM2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBlbmNvZGViaW4gdG8gZW5jb2RlIGltYWdlcwoKMjAxMS0wNS0xMyAxNToxNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkgIGppZm11eDogQnVtcCByYW5rIHRvIHNlY29uZGFyeQoJICBqaWZtdXggaXMgYmVpbmcgdXNlZCBmb3IgcXVpdGUgc29tZSB0aW1lIGFuZCBoYXMgbm8gb3BlbiBidWdzCgkgIGN1cnJlbnRseSwgc28gd2UgY2FuIGdpdmUgaXQgYSBzZWNvbmRhcnkgcmFuayBhdCBsZWFzdC4KCSAgRml4ZXMgIzY0OTM5MQoKMjAxMS0wNS0xMyAxNToxNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBDaGFuZ2UgY2xhc3MgdG8gZm9ybWF0dGVyCgkgIGppZm11eCBpcyBhIGZvcm1hdHRlciBhbmQgbm90IGEgbXV4ZXIKCSAgRml4ZXMgIzY0OTM5MQoKMjAxMS0wNS0xMyAwOToxMTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEZpeCBHT3B0aW9uRW50cnkgYXJyYXkKCSAgVXNlIG5vIGZsYWdzIGluc3RlYWQgb2YgcGFzc2luZyBHX09QVElPTl9BUkdfT1BUSU9OQUwgdG8gb3B0aW9ucyB0aGF0CgkgIG11c3QgaGF2ZSBhbiBhcmd1bWVudAoKMjAxMS0wNS0xMiAxMTozOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogYnVpbGQgZml4ZXMKCSAgQWRkIHNvbWUgbWlzc2luZyBkZXBlbmRlbmNpZXMKCjIwMTEtMDUtMTEgMTg6MzU6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGFuZ2luZyBob3cgc29tZSBwcm9wZXJ0aWVzIHdvcmsKCSAgU29tZSBwcm9wZXJ0aWVzIChsaWtlIHZpZXdmaW5kZXItZmlsdGVyKSBvbmx5IGFyZSB0YWtlbiBpbnRvIHVzZQoJICBvbiBOVUxMLT5SRUFEWSB0cmFuc2l0aW9ucyBhbmQgdGhlIGdldC9zZXQgcHJvcGVydHkgd2FzIHJldHVybmluZwoJICB0aGUgY3VycmVudGx5IGluIHVzZSB2YWx1ZSwgaW5zdGVhZCBvZiB0aGUgbGFzdCBzZXQuCgkgIFRoaXMgaXMgYmFkLCBhcyBhZnRlciBzZXR0aW5nICdhJyB0byAneCcsIHlvdSBleHBlY3QgdGhhdCBnZXR0aW5nICdhJwoJICB3aWxsIHJldHVybiAneCcuIFRoaXMgcGF0Y2ggZml4ZXMgaXQuCgkgIElmIG5lZWRlZCwgbGF0ZXIgd2UgY291bGQgYWRkIGN1cnJlbnQtKiBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWRvbmx5CgkgIGFuZCBnZXQgdGhlIGN1cnJlbnQgdmFsdWUgaW4gdXNlLgoKMjAxMS0wNC0yOSAwODo1NDo1NiAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRpbmcgUE9SVElORyBmaWxlCgoyMDExLTA0LTI4IDE2OjA1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIG1pc3NpbmcgcGx1Z2luIGVycm9yIG1lc3NhZ2VzCgkgIFdoZW5ldmVyIGEgcmVxdWlyZWQgcGx1Z2luIGlzIG1pc3NpbmcsIGNhbWVyYWJpbjIgc2hvdWxkIHBvc3QKCSAgYSBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlIHRvIHRoZSBidXMKCjIwMTEtMDQtMjggMTQ6Mzc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBlbmNvZGViaW4gbWlnaHQgbm90IGhhdmUgdGhlIHJlcXVlc3RlZCBwYWQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGVuY29kZWJpbiBkb2Vzbid0IGhhdmUgdGhlIHBhZAoJICBjYW1lcmFiaW4yIGlzIHJlcXVlc3RpbmcsIGVpdGhlciBiZWNhdXNlIG9mIGl0cyBjdXJyZW50IHByb2ZpbGUKCSAgb3IgYmVjYXVzZSBvZiBtaXNzaW5nIGVsZW1lbnRzLCBtYWtpbmcgaXQgZmFpbCB0byBwcm92aWRlCgkgIHRoZSBwYWQKCjIwMTEtMDQtMjcgMTU6MTI6MTggLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogQWRkIG1vcmUgYXJndW1lbnRzCgkgIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3Igc2V0dGluZyBpbWFnZS1jYXB0dXJlLCB2aWV3ZmluZGVyCgkgIGFuZCB2aWRlby1jYXB0dXJlIGNhcHMgYXMgc3RyaW5ncy4KCSAgVGhlIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcyBhcmUgbm93IHVzZWQgb25seSBpZiB0aGVzZSBuZXcgY2FwcwoJICBwcm9wZXJ0aWVzIGFyZW4ndCBzZXQuCgoyMDExLTA0LTI2IDE1OjIxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW46IEZpeCB0YWdzIG1lcmdpbmcgbW9kZQoJICBVc2UgbWVyZ2UgcmVwbGFjZSBtb2RlIHRvIGFsbG93IG5ldyB0YWdzIHRvIG92ZXJyaWRlIG9sZCBvbmVzCgkgIGFuZCBmaXggdGhlIHVzZSBjYXNlIHdoZXJlIHRoZSBsYXN0IHNlbnQgdGFncyBzaG91bGQgYmUgc2VyaWFsaXplZAoJICB0byB0aGUgY2FwdHVyZWQgaW1hZ2VzLgoKMjAxMS0wNC0yNiAxNDo1MzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCB0YWcgaGFuZGxpbmcgZm9yIHZpZGVvcwoJICBJbiB2aWRlbyBtb2RlIHRoZSB0YWdzIHNob3VsZCBiZSBwdXNoZWQgYWZ0ZXIgc2VuZGluZyB0aGUgc3RhcnQgY2FwdHVyZQoJICB0byB0aGUgc291cmNlLCB0aGlzIGFsbG93cyB0aGUgdmlkZW8gcmVjb3JkaW5nIGVsZW1lbnRzIHRvIGJlIHJlc2V0CgkgIGFuZCBsZWF2ZSB0aGUgZmx1c2hpbmcgc3RhdGUgdGhleSB3ZXJlIGF0IGFmdGVyIGEgcHJldmlvdXMgY2FwdHVyZS4KCSAgVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB3aGVyZSB0YWdzIG9ubHkgd29yayBmb3IgdGhlIGZpcnN0IHZpZGVvIGNhcHR1cmUKCjIwMTEtMDQtMjYgMTQ6NTA6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzCgoyMDExLTA0LTI2IDE0OjQ5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCB0YWdzIHNldHRpbmcgdGVzdHMKCSAgRml4ZXMgdGhlIHRhZ3Mgc2V0dGluZyB0ZXN0cyB0byByZXZlYWwgYSBidWcgaW4gY2FtZXJhYmluMgoJICB0YWcgc2V0dGluZyBsb2dpYy4KCjIwMTEtMDQtMjUgMTY6MDQ6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluMi1zcmMudHh0OgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgY2FtZXJhIHNvdXJjZSBkb2N1bWVudGF0aW9uIGZpbGUKCSAgQWRkcyBhIHNtYWxsIHRleHQgZmlsZSB3aXRoIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YKCSAgd2hhdCBpcyBleHBlY3RlZCBmcm9tIGEgY2FtZXJhYmluMiBzb3VyY2UgZWxlbWVudAoKMjAxMS0wNC0xMSAxNTozMzoyMCAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogSGFuZGxlIGVycm9ycyBmcm9tIHByZXZpZXcgcGlwZWxpbmUKCSAgSW1wbGVtZW50cyBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gcHJldmlldyBwaXBlbGluZSBidXMuCgkgIElmIEdTVF9NRVNTQUdFX0VSUk9SIGlzIHNlZW4sIGNvbnNpZGVycyBwcmV2aWV3IHBpcGVsaW5lIHVuYWJsZQoJICB0byBkbyBpdHMgam9iIGFuZCBwb3N0cyBhbiBlcnJvciBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uLgoJICBTZXRzIHBpcGVsaW5lIGVsZW1lbnQgdG8gTlVMTCBzbyB0aGF0IHN1YnNlcXVlbnQgY2FsbHMgdG8gcG9zdF9wcmV2aWV3CgkgIGFuZCBzZXRfY2FwcyBmdW5jdGlvbnMganVzdCByZXR1cm5zIHdpdGhvdXQgcHVzaGluZyBhbnl0aGluZyB0byB0aGUKCSAgZGlzcG9zZWQgcHJldmlldyBwaXBlbGluZS4gTGVhdmVzIGZ1cnRoZXIgYWN0aW9ucyB0byB0aGUgYXBwbGljYXRpb24uCgoyMDExLTA0LTA4IDA5OjIyOjExIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IFByb3RlY3Rpb24gZm9yIHByZXZpZXdwaXBlbGluZSB3aGVuIHNldHRpbmcgbmV3IHByZXZpZXcgY2FwcwoJICBJbXBsZW1lbnRzIGEgc3RhdGUgaW5kaWNhdGluZyBmbGFnIHRvIHByZXZpZXcgcGlwZWxpbmUsCgkgIHNvIHRoYXQgbmV3IGNhcHMgYXJlIG5vdCBzZXQgaWYgdGhlIHBpcGVsaW5lIGlzIHByb2Nlc3NpbmcgYQoJICBwcmV2aWV3LiBUaGUgY2FwcyBhcmUgc2V0IGFzIHBlbmRpbmcgYW5kIGFwcGxpZWQgd2hlbiB0aGUKCSAgbmV4dCBwcmV2aWV3IHBvc3QgaXMgY2FsbGVkLgoJICBJbiB0aGlzIGNhc2UgYSB3YWl0IHdhcyBpbXBsZW1lbnRlZCBpbiB0aGUgcG9zdF9wcmV2aWV3IGZ1bmN0aW9uLAoJICBzbyB0aGF0IG5ldyBwcmV2aWV3IGltYWdlIGJ1ZmZlciB3aWxsIHdhaXQgdW50aWwgdGhlIG90aGVyIHByZXZpZXdzCgkgIGhhdmUgYmVlbiBwb3N0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uIGFuZCB0aGUgbmV3IGNhcHMgY2FuIGJlIHVzZWQKCSAgc2FmZWx5LgoKMjAxMS0wMy0yOSAxMzo0NjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEZpeCBjb21waWxlIHByb2JsZW0gd2l0aCBkZWJ1ZyBkaXNhYmxlZAoKMjAxMS0wMy0yMyAxODo0MTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IFBvc3QgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMKCSAgTWFrZXMgdmlld2ZpbmRlcmJpbiBwb3N0IG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzIHdoZW4gaXQKCSAgY2FuJ3QgY3JlYXRlIGFuIGludGVybmFsIGVsZW1lbnRzCgoyMDExLTAzLTIzIDE4OjQwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluMjogSW1wcm92ZSBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlCgkgIEltcHJvdmVzIHRoZSBtZXNzYWdlIHRleHQgZm9yIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzIGZyb20KCSAgY2FtZXJhYmluMgoKMjAxMS0wMy0yMyAxNzo0Njo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgcG9ydGluZyBmaWxlCgkgIFVwZGF0ZSBwb3J0aW5nIGZpbGUgd2l0aCBtZW50aW9uIHRoYXQgc3RvcC1jYXB0dXJlIGlzIG5vdwoJICBhc3luYy4KCjIwMTEtMDQtMDggMTc6NTg6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBBbGxvdyBnc3QtbGF1bmNoIHBpcGVsaW5lcyBmb3Igc2lua3MKCSAgVXNlIGdzdF9wYXJzZV9sYXVuY2ggKCkgdG8gcGFyc2UgdGhlIHNpbmsgc3RyaW5ncyB0byBhbGxvdyBzcGVjaWZpY2F0aW9uCgkgIG9mIHByb3BlcnRpZXMgdG8gc2lua3MgYW5kIG9mIG1vcmUgYWR2YW5jZWQgc2luayBncmFwaHMuCgoyMDExLTA0LTA0IDEzOjI4OjMyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBkZWJ1ZyBwcmludCB0byBzaG93IGF1ZGlvL3ZpZGVvIGRlcGVuZGluZyBvbiBwYWQgdHlwZQoKMjAxMS0wMy0zMSAxMzowODo0OCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggb3JkZXIgb2YgZWxlbWVudCBzdGF0ZSBjaGFuZ2UKCSAgVG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiBlbGVtZW50cyBpbiBhIHBpcGVsaW5lLCB3ZSBzaG91bGQgbWlycm9yIHRoZQoJICBiZWhhdmlvdXIgb2YgR3N0QmluIHdoaWNoIHN0YXJ0cyBhdCB0aGUgc2luayBlbGVtZW50IGFuZCB3b3JrcyBpdHMgd2F5CgkgIHVwc3RyZWFtLgoKMjAxMS0wNC0wMSAyMjoxMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTM6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBwcm9wYWdhdGUgZG93bnN0cmVhbSBmbG93IHJldHVybiB0byB1cHN0cmVhbQoKMjAxMS0wNC0wMyAyMjozNToxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBoYW5kbGUgbWlzc2luZyBmcmFtZXJhdGUgd2hlbiBjYWxjdWxhdGluZyB0aW1lc3RhbXAKCjIwMTEtMDQtMDMgMjI6MzI6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMjozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiB0dW5lIHBhcnNpbmcgc2luayBjYXBzIGludG8gdmlkZW8gc3RhdGUKCSAgLi4uIHRvIHByb3ZpZGUgc3ViY2xhc3Mgd2l0aCBtb3JlIGluZm9ybWF0aW9uIHcuci50LiBvcmlnaW5hbCBjYXBzLgoKMjAxMS0wNC0wMSAxODo0OToxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiB2aWRlbyBzdGF0ZSByZWZlcmVuY2UgdG8gY29kZWNfZGF0YSBpcyBub3QgcmVmY291bnRlZAoJICAuLi4gYnV0IHJhdGhlciBpbXBsaWNpdGx5IHZhbGlkIGFzIGxvbmcgYXMgc2luayBjYXBzIGFyZSBub3QgbW9kaWZpZWQuCgoyMDExLTA0LTAxIDE4OjAwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGltcHJvdmUgZ2xpdGNoIHJlc2lsaWVuY2UKCSAgUHJvdmlkZSBhIHJlcGxhY2VtZW50IGZvciBHU1RfRUxFTUVOVF9FUlJPUiB0byBhdm9pZCBhYm9ydGluZyBhdCB0aGUgZmlyc3QKCSAgYXRvbSBvdXQgb2YgcGxhY2UsIHdoaWxlIG9uIHRoZSBvdGhlciBoYW5kIG5vdCBmYWlsaW5nIGluZGVmaW5pdGVseS4KCjIwMTEtMDMtMzEgMTQ6NDc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0CgoyMDExLTAzLTMwIDEwOjI4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHVzZSBiYXNldmlkZW9jb2RlYyBkaXNjb250IGZpZWxkCgoyMDExLTAzLTMwIDEwOjE4OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVhbGx5IGFuZCBvbmx5IHNldCBzcmMgcGFkIGNhcHMgd2hlbmV2ZXIgcmVxdWVzdGVkCgkgIC4uLiBzaW5jZSBzdWJjbGFzcyBpcyBleHBlY3RlZCB0byBiZSB3aXNlIGVub3VnaCB0byBrbm93IHdoZW4gdG8gZG8gc28uCgoyMDExLTAzLTMwIDA5OjE3OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBzb21lIHNhbml0eSBlbmZvcmNpbmcKCjIwMTEtMDMtMzAgMDk6MTU6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGRvY3VtZW50YXRpb24KCSAgLi4uIGFuZCByZW1vdmUgc29tZSBtb3JlIHN0cmF5IHVudXNlZCBjb2RlIGFuZCBtZXRob2RzLgoKMjAxMS0wMy0yOSAxNTo0MTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IGZ1bGx5IGZyZWUgdmlkZW8gZnJhbWUKCjIwMTEtMDMtMjkgMTU6NDE6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc3RyZWFtbGluZSBkaXNjb250LCBmbHVzaCBhbmQgcmVzZXQgaGFuZGxpbmcKCSAgLi4uIHdoaWNoIGlzIG5vdCB0byBzYXkgdGhlcmUgaXMgbm8gcm9vbSBmb3IgZnVydGhlciB0d2Vha2luZyAuLi4KCjIwMTEtMDMtMjkgMTU6Mzk6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIHNvbWUgaGVhZGVyIGNvbW1lbnRhcnkKCjIwMTEtMDMtMjkgMTI6NTc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIChhbG1vc3QpIHVudXNlZCBmaWVsZHMKCSAgLi4uIGFuZCBhbHNvIHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCjIwMTEtMDMtMjkgMTA6NDE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgYW5kIHVzZSBzZXRfZm9ybWF0CgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBBUEkgc2xpZ2h0bHkgKGUuZy4gYWN0dWFsbHkgdXNlcyBzZXRfZm9ybWF0IG5vdyksIHdoaWNoIGlzIE9LCgkgIGZvciB1bnN0YWJsZSBBUEksIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIG90aGVyd2lzZSBubyBzdWJjbGFzcyBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIChnbG9iYWwgYWN0aXZhdGlvbiB0aW1lKQoJICBNb3Jlb3Zlciwgc3ViY2xhc3Nlc2UgYXJlIGVpdGhlciB1bmFmZmVjdGVkIG9yIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDQtMjggMTI6MDI6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4dXAgdHdlYWsKCjIwMTEtMDMtMjggMTY6MTU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGFuZCB0d2VhayBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTAzLTI4IDEzOjMyOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhcnJhbmdlIGZvciBsaW1pdGVkIGxlZ2FjeSBzZWVraW5nIHN1cHBvcnQKCSAgSW4gcGFydGljdWxhciwgdHdlYWsgc3JjIHF1ZXJ5IGFuZCBldmVudCBoYW5kbGluZyB0byBwcm92aWRlIGZvcgoJICBieXRlIDwtPiB0aW1lIGNvbnZlcnNpb24uCgoyMDExLTAzLTI4IDExOjE1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBjYXRlciBmb3IgZm9ybWF0IGNvbnZlcnNpb24KCjIwMTEtMDMtMjggMTA6NTE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICB2aWRlb2NvZGVjOiByZW1vdmUgdW51c2VkIGZpZWxkcyBhbmQgY29kZQoKMjAxMS0wMy0yOCAwOToxNDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXggY29weS1hbmQtcGFzdGUgdmFyaWFibGUgbWlzbm9tZXIKCjIwMTEtMDMtMjggMDg6NTk6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc3Vic3VtZSBza2lwX2ZyYW1lIGludG8gZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI4IDA4OjU2OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wMy0yNyAyMjoyNzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBjb2RlIGNsZWFudXAgYW5kIGRlYnVnIHN0eWxlIGZpeGVzCgoyMDExLTAzLTI3IDE2OjM2OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBwYXNzIGFsb25nIGJ1ZmZlciBkaXNjb250IGZsYWcKCjIwMTEtMDMtMjUgMTU6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMTEtMDMtMjUgMDk6Mjg6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogYWRkIGRvY3VtZW50YXRpb24gYW5kIHJlbGF0ZWQgY29zbWV0aWNzCgoyMDExLTAzLTI0IDE0OjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcHJvdmlkZSBwcm9wZXIgdXBzdHJlYW0gZmxvdyByZXR1cm4gaGFuZGxpbmcKCjIwMTEtMDMtMjQgMTM6NTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBtaW5vciBvcHRpbWl6YXRpb24gaW4gc2V0dGluZyB1cCBpbWFnZSBidWZmZXIKCjIwMTEtMDMtMjQgMTI6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiByZWZhY3RvciBmcmFtZSBwcm9jZXNzaW5nCgoyMDExLTAzLTI0IDExOjU1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZG8gaW5pdCBhdCBzZXRfZm9ybWF0IHRpbWUKCjIwMTEtMDMtMjQgMTA6MTU6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBmaXgga2V5ZnJhbWUgZm9yY2luZwoKMjAxMS0wMy0yNCAwODoyMzoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbmhhbmNlIHNldF9jYXBzCgkgIFNwZWNpZmljYWxseSwgb25seSBpbnZva2Ugc2V0X2Zvcm1hdCBpZiBpbmNvbWluZyBmb3JtYXQgcmVhbGx5IGNoYW5nZWQsCgkgIGFuZCBmaW5pc2ggY3VycmVudCBmb3JtYXQgaWYgc28gKGFuZCBpZiBhbnkgY3VycmVudCkuCgoyMDExLTAzLTIzIDIyOjE3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVsYWJvcmF0ZSBmaW5pc2ggdG8gZHJhaW5pbmcKCjIwMTEtMDMtMjQgMDk6MjE6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlCgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBvcmRlciB3LnIudC4gc2V0X2Zvcm1hdCwgd2hpY2ggaXMgT0sgZm9yIHVuc3RhYmxlIEFQSSwKCSAgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogbGl0dGxlIGJlbmVmaXQgaW4gaW52b2tpbmcgMiBzdWJjbGFzcyB2aXJ0dWFsIG1ldGhvZHMgKHNldF9mb3JtYXQgYW5kIHN0YXJ0KQoJICBpbiBpbW1lZGlhdGUgc3VjY2Vzc2lvbjsgYWxsIGFjdGlvbnMgaW4gdGhlIHNlY29uZCBjb3VsZCBiZSBkb25lIGluIHRoZSBmaXJzdAoJICB3aGVyZWFzIHN1YmNsYXNzIGhhcyBubyBjaGFuY2UgdG8gZG8gYW55dGhpbmcgJ2dsb2JhbCcgYXQgYWN0aXZhdGlvbiB0aW1lCgkgIE1vcmVvdmVyLCBjdXJyZW50IC1iYWQgc3ViY2xhc3MgcmVsZXZhbnQgbWV0aG9kcyBlaXRoZXIgdHJpdmlhbGx5IGNvbW11dGUKCSAgb3IgYXJlIGVpdGhlciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTAzLTI0IDA4OjIxOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVuYWJsZSBjbGlwcGluZyBieSBkZWZhdWx0CgoyMDExLTAzLTI0IDA4OjE3OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHJlc2V0IG1vcmUgc3RhdGUKCjIwMTEtMDMtMjQgMDg6NTY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaGVhZGVyIGNvc21ldGljIGFuZCBkb2MgZml4ZXMKCjIwMTEtMDMtMjMgMDk6NDU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSByZWR1bmRhbnQgY2FwcyBmaWVsZAoJICAuLi4gYXMgaXQgaXMgYWxyZWFkeSBhdCBoYW5kIGFzIHRoZSBzcmMgcGFkJ3MgbmVnb3RpYXRlZCBjYXBzLgoKMjAxMS0wMy0yMyAwOTozMjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDMtMjMgMDg6NTA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiB1c2UgYmFzZWNsYXNzIGV2ZW50IHZpcnR1YWwgaGFuZGxlcgoKMjAxMS0wMy0yMyAwODo0OTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBhZGQgZXZlbnQgdmlydHVhbCBtZXRob2QgdG8gYWxsb3cgc3ViY2xhc3MgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDMtMjMgMDg6MzU6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW1wcm92ZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDMtMjIgMTM6MTk6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBkZWJ1ZyBzdHlsZSBmaXhlcwoKMjAxMS0wMy0yMSAxODowMjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgdW51c2VkIGNvZGUgY2x1dHRlcmluZyB1cCB0aGUgcGxhY2UKCSAgQWxzbyBtaW5vciBkZWJ1ZyBzdHlsZSBmaXhlcy4KCjIwMTEtMDMtMjEgMTc6NDQ6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2Rlcjogc2ltcGxpZnkgbmVnb3RpYXRlZCBjaGVja2luZwoJICAuLi4gYnkgYXZvaWRpbmcgc29tZSBleHRyYW5lb3VzICh1bilyZWYnaW5nLgoKMjAxMS0wMy0yNCAxNDoxNjoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBjb2RlIGNsZWFudXAgYW5kIHNvbWUgZGVidWcKCSAgQWxzbyBhZGQgc29tZSBtaW5vciBsb2NraW5nIGFuZCByZW1vdmUgdW51c2VkIGJpdHMuCgoyMDExLTA1LTE2IDA5OjA3OjU3ICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgdXNlIFBBVEhfTUFYCgkgIFBBVEhfTUFYIGlzIG5vdCBkZWZpbmVkIG9uIEdOVSBIdXJkIGFuZCBvdGhlcnMuIEFsc28gZml4CgkgIGZvcm1hdCBzdHJpbmcuCgoyMDExLTA1LTE0IDE0OjQ4OjU2ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSAgZ3N0L2RjY3A6IGZpeCBidWlsZCBvbiBuZXdlciBtaW5ndwoJICBGaXggdGhpcyBidWlsZCBlcnJvcjoKCSAgQ0MgICAgIGxpYmdzdGRjY3BfbGEtZ3N0ZGNjcHBsdWdpbi5sbwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOjI5OjAsCgkgIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI0OgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOjMyOjA6IHdhcm5pbmc6IFdJTlZFUiByZWRlZmluZWQgW2VuYWJsZWQgYnkgZGVmYXVsdF0KCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjQ6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOjU4OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNTowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOjc0OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNjowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOjY3OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNzowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6NTg6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBtYWtlOiAqKiogW2xpYmdzdGRjY3BfbGEtZ3N0ZGNjcHBsdWdpbi5sb10gRXJyb3IgMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMTcxCgoyMDExLTA1LTE1IDEwOjA0OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBidW1wIHRoZSByYW5rIG9mIHF0a2l0dmlkZW9zcmMgdG8gUFJJTUFSWQoKMjAxMS0wNS0xNSAxMDowMDo0NCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzOiBmaXggaGFuZGxpbmcgb2Ygc3Ryb2woKSBvdmVyZmxvd3MKCjIwMTEtMDUtMTQgMTI6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgZXh0L2FtcndiZW5jIGRpcmVjdG9yeSwgaXQncyBleHQvdm9hbXJ3YmVuYyBub3cKCjIwMTEtMDUtMTMgMDE6MDM6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVlbmNvZGVyOiBGaXggdXNlIGFmdGVyIGZyZWUgYWZ0ZXIgc3RhdGUgY2hhbmdlIHRyYW5zaXRpb24KCjIwMTEtMDQtMTggMjM6NDA6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzb21lIG1pbm9yIGRvYyBjaGFuZ2VzLgoKMjAxMS0wNC0yNCAyMTowNjoyOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNvbWUgbWlub3IgZG9jIGNoYW5nZXMKCjIwMTEtMDQtMTkgMTk6MDk6MzAgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuZGViZXRoZW5jb3VydEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDExLTA0LTE5IDEwOjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSAgYWFjZW5jOiBJbnRlZ3JhdGUgaW50byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAxMS0wNC0xOSAxMDowNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvR3N0QW1yd2JFbmMucHJzOgoJKiBleHQvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9SRUFETUU6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmg6CgkqIGV4dC92b2FtcndiZW5jL0dzdFZvQW1yd2JFbmMucHJzOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSAgYW1yd2JlbmM6IFN3aXRjaCB0byB0aGUgZnJlZSB2by1hbXJ3YmVuYyBsaWJyYXJ5CgkgIEFuZCByZW5hbWUgZXZlcnl0aGluZyB0byB2b2FtcndiZW5jIGluc3RlYWQgb2YgYW1yd2JlbmMuCgoyMDExLTA0LTE1IDExOjE5OjIwICswMjAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBEZXRlY3Qgb3V0cHV0IGZvcm1hdCBmcm9tIGRvd25zdHJlYW0gY2FwcyBjaGFuZ2UgdW5pdCB0ZXN0CgoyMDExLTA0LTE5IDA5OjUyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2b2FhZW5jOiBGaXggQ0ZMQUdTL0xJQlMgb2YgdGhlIHVuaXQgdGVzdAoKMjAxMS0wNC0xOSAwOTo0OTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBPbmx5IGdlbmVyYXRlIHNpbmtjYXBzIG9uY2UgYW5kIGluIGEgdGhyZWFkc2FmZSB3YXkKCjIwMTEtMDQtMTkgMDk6NDI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgTlVMTCB0ZXJtaW5hdG9yIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3KCkKCjIwMTEtMDQtMTkgMDk6NDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogU29tZSBtaW5vciBjbGVhbnVwCgoyMDExLTA0LTE5IDA5OjM0OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSAgdm9hYWNlbmM6IEZpeCBDRkxBR1MgYW5kIExJQlMKCjIwMTEtMDQtMTggMTc6MTk6MDAgKzAyMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgbmV3IHBsdWdpbiBmb3IgYXVkaW8gQUFDIGVuY29kZXIgYmFzZWQgb24gdm8tYWFjZW5jIGxpYgoJICBBZGQgcGx1Z2luIGFuZCB1bml0IHRlc3QuCgkgIEZpeGVzIGJ1ZyAjNjQ3NzQ4LgoKMjAxMS0wNS0xNCAxMDoxOTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIyID09PQoKMjAxMS0wNS0xMCAxMTozNTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIyCgkgIEhpZ2hsaWdodHM6CgkgIC0gaGxzZGVtdXg6IEFkZCBIVFRQIGxpdmUgc3RyZWFtaW5nIHBhcnNlci9kZW11eGVyIGVsZW1lbnQKCSAgLSBuZXcgZWxlbWVudHM6IGgyNjNwYXJzZSwgemVicmFzdHJpcGUsIHBhdGNoZGV0ZWN0CgkgIC0gc2NlbmVjaGFuZ2U6IG5ldyBzY2VuZSBjaGFuZ2UgZGV0ZWN0aW9uIGVsZW1lbnQKCSAgLSByZW1vdmVkIGF1ZGlvcGFyc2Vyc2JhZCBwbHVnaW4sIGl0IGhhcyBiZWVuIG1vdmVkIHRvIC1nb29kCgkgIC0gbWFrZSBvcGVuY3YgcGx1Z2luIHdvcmsgd2l0aCBPcGVuQ1YgMi4yCgkgIC0gY291bnRsZXNzIChzdGlsbCBleHBlcmltZW50YWwpIGNhbWVyYWJpbjIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoJICAtIGV4cGVyaW1lbnRhbCBWUDggUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciAoUlRQIHBheWxvYWRpbmcgbm90IGZpbmFsaXNlZCB5ZXQpCgkgIC0gY3VybHNpbms6IGFkZCBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudCAoYWN0cyBhcyBjbGllbnQsIG5vdCBzZXJ2ZXIpCgkgIC0gZGVja2xpbms6IGFkZCBkZWNrbGluayBwbHVnaW4KCSAgLSBsaW5zeXM6IGFkZCBwbHVnaW4gZm9yIExpbmVhciBTeXN0ZW1zIFNESSBib2FyZHMKCSAgLSBzZGk6IGFkZCByYXcgU0RJIG11eGluZy9kZW11eGluZyBlbGVtZW50cwoJICAtIGNhbWVyYWJpbiBub3cgcmVsaWVzIG9uIG11eGVycyB0byBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lIChpZS4gbGF0ZXN0IGJhc2UvZ29vZC91Z2x5IHJlbGVhc2VzKQoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAwOTo1NDozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiBVc2UgcnVubmluZyB0aW1lIGZvciBtdXhpbmcKCSAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBhdWRpbyBzb3VyY2UgYnVmZmVyIHByb2JlIHRoYXQgd2FzIHVzZWQKCSAgdG8gcmUtdGltZXN0YW1wIGJ1ZmZlcnMgdG8gbWFrZSB0aGVtIHN0YXJ0IGZyb20gMC4gQXMgbXV4ZXJzCgkgIGhhdmUgYmVlbiBmaXhlZCB0byB1c2UgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgdGltZXN0YW1wcywgdGhpcwoJICBpcyBub3QgbmVlZGVkIGFueW1vcmUuCgkgIEZpeGVzIGJ1ZyAjNjQ2MjExCgoyMDExLTA0LTIxIDE5OjU4OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBGaXggdHlwbwoKMjAxMS0wNS0wNCAxMjozNjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGRvIG5vdCBsZWFrIHBlZXIgcGFkIHJlZmVyZW5jZQoKMjAxMS0wNS0wMyAxNTo0NzowMiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEFsd2F5cyByZXR1cm4gcmVmZmVkIGNhcHMgZnJvbSBfZ2V0Y2FwcwoJICBOb3QgcmV0dXJuaW5nIHJlZiBjYXBzIHdpbGwgbGVhZHMgdG8gY3Jhc2hlcyBhbmQgcmVmY291bnRpbmcgaXNzdWVzIGluCgkgIHVwc3RyZWFtIGVsZW1lbnRzCgoyMDExLTA0LTE0IDEzOjM0OjUzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHNldCBkdXJhdGlvbiBpbiBvdXRnb2luZyBidWZmZXJzCgkgIEN1cnJlbnRseSB3ZSBwdXNoIGVhY2ggZnJhZ21lbnQgYXMgYSBzaW5nbGUgYnVmZmVyLgoKMjAxMS0wNS0wMyAxMjowMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggRFVSQVRJT04gcXVlcnkgaGFuZGxpbmcKCSAgT25seSBhbnN3ZXIgZHVyYXRpb24gcXVlcmllcyBpbiBUSU1FIGZvcm1hdCB3aXRoIGEgZHVyYXRpb24KCSAgaW4gc2Vjb25kcy4gTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzCgkgIGR1cmF0aW9uICh3aGljaCBpcyBub24tMCwgYnV0IHN0aWxsIGludmFsaWQvdXNlbGVzcykuCgoyMDExLTA1LTAzIDExOjUxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDExLTA1LTAzIDA5OjU1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IFVzZSB0aGUgdXNlciBjb25maWcgZGlyIGluc3RlYWQgb2YgdGhlIGNhY2hlIGRpciBmb3IgdGhlIGNoYW5uZWxzIGNvbmZpZ3VyYXRpb24KCjIwMTEtMDQtMjkgMTQ6Mzc6MDQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBtb3ZlZCBkdmItY2hhbm5lbHMuY29uZiB0byAkWERHX0NBQ0hFX0hPTUUKCjIwMTEtMDQtMzAgMTk6NDc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2ZyLnBvOgoJKiBwby91ay5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTk6NDY6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSAgVXBkYXRlIG9yYy1nZW5lcmF0ZWQgZGlzdGVkIEMgYmFja3VwIGNvZGUgdG8gb3JjIDAuNC4xNAoKMjAxMS0wNC0zMCAxOToxNToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IGRvbid0IHB1c2ggYnVmZmVycyBzbWFsbGVyIHRoYW4gbWluLXNpemUgb24gZW9zCgkgIFdoZW4gcHVzaGluZyB0aGUgcmVtYWluaW5nIGRhdGEgb24gRU9TLCBkb24ndCBqdXN0IHB1c2ggd2hhdGV2ZXIKCSAgZGF0YSBpcyBsZWZ0IGluIHRoZSBhZGFwdGVyLCBidXQgb25seSBwdXNoIGRhdGEgdGhhdCdzIGF0IGxlYXN0CgkgIG9mIG1pbi1zaXplLgoKMjAxMS0wNC0zMCAxOTowODoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IGRvbid0IG1lc3Mgd2l0aCBhZGFwdGVyIGZyb20gbm9uLXN0cmVhbWluZyB0aHJlYWQgb24gRkxVU0hfU1RBUlQKCSAgRG9uJ3QgdHJ5IHRvIHB1c2ggcmVtYWluaW5nIGRhdGEgaW4gdGhlIGFkYXB0ZXIgb24gcmVjZWl2aW5nIGEgRkxVU0ggZXZlbnQsCgkgIGp1c3QgZmx1c2ggdGhlIGFkYXB0ZXIuIERvIHRoaXMgb24gRkxVU0hfU1RPUCwgaG93ZXZlciwgd2hpY2ggaXMgc2VyaWFsaXplZCwKCSAgdW5saWtlIEZMVVNIX1NUQVJULCBzbyB3ZSBkb24ndCBtZXNzIHdpdGggdGhlIGFkYXB0ZXIgYXQgdGhlIHNhbWUgdGltZSBhcwoJICB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDQtMzAgMTE6Mjg6MDMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGFkZCBwbHVnaW4gZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTAwNQoKMjAxMS0wNC0yOSAxMjozOTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBsZWFrIGJ1ZmZlcmxpc3Qgb24gc3RyZWFtcyB3aXRob3V0IHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjozODozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBVbnJlZiBidWZmZXJzIHdlIGRvbid0IHVzZS4KCSAgQXZvaWRzIGEgbWFzc2l2ZSBsZWFrIDopCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6MDg6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdGhlIHByb2dyYW0gc3RyZWFtcyBhcnJheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjA4OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZyZWUgcGFja2V0IGJ1ZmZlciBldmVuIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQKCSAgVGhpcyBjYW4gaGFwcGVuIHdpdGggQUZDLW9ubHkgcGFja2V0cy4gQXZvaWRzIGxlYWtpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOCAxMDowNzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRlY2tsaW5rOiBDaGVjayBmb3IgcHRocmVhZC5oIGFuZCBsaW5rIHdpdGggLWxwdGhyZWFkCgoyMDExLTA0LTI4IDEwOjA0OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCB0byBTVUJESVJTCgoyMDExLTA0LTI4IDAwOjAwOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogcG8vYmcucG86CgkqIHBvL2phLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4zIHByZS1yZWxlYXNlCgoyMDExLTA0LTI3IDIzOjQzOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICB0b29sczogZGlzYWJsZSBuZXcgZ3N0LWVsZW1lbnQtbWFrZXIgdGVzdAoJICBJdCBkb2Vzbid0IHNlZW0gdG8gd29yayBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cCwgYW5kCgkgIGJyZWFrcyBtYWtlIGRpc3RjaGVjayBmb3IgbWUuCgoyMDExLTA0LTI3IDAxOjE0OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogdGhlIGJyb2VrbiB0ZW1wbGF0ZXMgYXJlIG5vdCBicm9la24sIGJ1dCBkZXBlbmRlbmNpZXMKCSAgUmVuYW1lIHRoZSBsaXN0IGFuZCBkaXN0IHRoZW0uIFdlIG5lZWQgdGhlbSBmb3IgdGhlIGFjdHVhbCB0ZW1wbGF0ZXMuCgoyMDExLTA0LTI2IDE1OjEzOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IHNldCBDUFBGTEFHUyB0byBtYWtlIHRlbXBsYXRlcyB1c2luZyB1bmluc3RhbGxlZCBoZWFkZXJzIHdvcmsKCjIwMTEtMDQtMjYgMTQ6MjE6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJICBlbGVtZW50LW1ha2VyOiBmaXh1cCBnb2JqZWN0IHRlbXBsYXRlIGEgYml0IGJ1dCBkaXNhYmxlIGZvciBub3cKCSAgVGhlIHRlbXBsYXRlIGNvbnRhaW5zIHRoaW5ncyB3ZSBhbHJlYWR5IGRlZmluZSBieSBkZWZhdWx0LgoKMjAxMS0wNC0yNiAxNDoxMDowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBmaXggdGVtcGxhdGVzCgkgIFVzZSB0aGUgb2JqZWN0IGNsYXNzIGFuZCBub3QgdGhlIG9iamVjdCBpbiB0aGUgaW5pdCBmdW5jdGlvbi4gU2V0IHRoZSB2bWV0aG9kcy4KCSAgQWRkIGRlZmF1bHQgcmV0dXJucy4KCjIwMTEtMDQtMjYgMTQ6MDg6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiBkb24ndCBkaXN0IGluY29tcGxldGUgdGVtcGxhdGVzCgkgIE1vdmUgbm90IHdvcmtpbmcgdGVtcGxhdGVzIHRvIGEgc2VwYXJhdGUgdmFyaWFibGUgdG8gaGlnaGxpZ2h0IHRoZSBmYWN0IHRoYXQKCSAgdGhleSBuZWVkIG1vcmUgd29yay4gVGhlc2UgbmVlZCBhdCBsZWFzdCB0aGUgY2xhc3MgYW5kIHR5cGUgZmllbGRzIGZpbGxlZC4KCjIwMTEtMDQtMjYgMTM6NDQ6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlci10ZXN0LnNoOgoJICBlbGVtZW50LW1ha2VyLXRlc3Q6IHRyeSB0byBydW4gZWxlbWVudC1tYWtlciBmb3IgYWxsIHRlbXBsYXRlcwoJICBBZGQgYW4gZWFzeSB3YXkgdG8gY2hlY2sgdGhlIGVsZW1lbnQtbWFrZXIgdGVtcGxhdGVzLgoKMjAxMS0wNC0yNiAxMzo0Mjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IG1ha2UgaXQgZmFpbCwgd2hlbiBjb21waWxhdGlvbiBmYWlscwoKMjAxMS0wNC0xOSAxNTowOTo1NCAtMDQwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGFsbG93IHRvIHJ1biBmcm9tIGEgZGlmZmVyZW50IHdvcmtpbmcgZGlyZWN0b3J5CgkgIEdldCB0aGUgZGlybmFtZSBmb3IgdGhlIHNjcmlwdCBhbmQgdXNlIHRoYXQgdG8gcmVmZXJlbmNlIHRoZSB0ZW1wbGF0ZXMuIFVzZSB0aGUKCSAgdGVtcGxhdGVkaXIgdmFyaWFibGUgdG8gY2hlY2sgZm9yIHRlbXBsYXRlcy4KCjIwMTEtMDQtMTYgMTk6NDI6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGxvd2VyY2FzaWZ5IGlucHV0CgkgIFRoaXMgYWxsb3dzIHVzaW5nIGNhcGl0YWxpemVkIGFjcm9ueW1zIGluIGNsYXNzIG5hbWVzLCBzbyB1c2luZwoJICAiQVZDX3NyYyIgb24gdGhlIGNvbW1hbmQgbGluZSB3aWxsIGNyZWF0ZSBmaWxlbmFtZSBnc3RhdmNzcmMuYywKCSAgY2xhc3MgbmFtZSBHc3RBVkNTcmMsIGFuZCBzeW1ib2wgbmFtZXMgZ3N0X2F2Y19zcmNfKi4KCjIwMTEtMDQtMjQgMTY6NDI6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eCx0c2RlbXV4OiBBZGQgYnl0ZS1zdHJlYW0gdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIuCgoyMDExLTA0LTI0IDE2OjAwOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERvbid0IGFsbG93IGJ1ZmZlcnMgYWZ0ZXIgRU9TCgkgIEZpeGVzICM2NDc4NTIuCgoyMDExLTA0LTI0IDE1OjQ5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRG9uJ3QgZHVwbGljYXRlIGNvZGUgaW4gYmFzZXZpZGVvY29kZWMKCSAgQm90aCBiYXNldmlkZW9lbmNvZGVyIGFuZCBiYXNldmlkZW9jb2RlYyB3ZXJlIHNldHRpbmcKCSAgc3lzdGVtX2ZyYW1lX251bWJlciwgbGVhZGluZyB0byBjb25mdXNpb24uICBGaXhlcyAjNjQ3ODUzLgoKMjAxMS0wNC0xNCAxNjoyMToxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IENoZWNrIGlmIGNhcHMgYXJlIHNldCBkaXJlY3RseQoJICBGaXhlcyAjNjQ3ODU0LgoKMjAxMS0wNC0xNyAwMDowODozOSArMDEwMCAgTWloYWkgRHJhZ2hpY2lvaXUgPG1paGFpLmRyYWdoaWNpb2l1QGdtYWlsLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogZml4IGluZmluaXRlIGxvb3BpbmcgYnkgZmFkaW5nIG91dCBhZnRlciB0d28gbG9vcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzM2NAoKMjAxMS0wNC0yNCAxNDowNDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMzY2FmZTEgdG8gNDZkZmNlYQoKMjAxMS0wNC0yMiAwOTozNzoyOSArMDEwMCAgRmFicml6aW8gTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBtYWtlIHdvcmsgd2l0aCBvcGVuQ1YgMi4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE3OTYKCjIwMTEtMDQtMTkgMTc6MDI6NDUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMS0wNC0xNSAyMjoyNToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEFkZCBieXRlLXN0cmVhbSB0byBoMjY0IGNhcHMKCjIwMTEtMDQtMTggMTI6MDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgd2F2cGFjazogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjU3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo1MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogUmVtb3ZlIHVudXNlZC91bm5lZWRlZCBDRkxBR1MvTElCUyBhbmQgbW92ZSAkKExJQk0pIHRvIExJQkFERAoKMjAxMS0wNC0xOCAxMTo0MzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBsaW5zeXM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBiYXNlc2luay9iYXNlc3JjCgkgIEFuZCByZW1vdmUgZW1wdHkgYW5kIHVudXNlZCB2YXJpYWJsZXMuCgoyMDExLTA0LTE3IDE5OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IERpc3QgYWxsIGhlYWRlcnMgYW5kIHB1dCB0aGVtIGluIG5vaW5zdF9IRUFERVJTCgoyMDExLTA0LTE3IDE5OjA5OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIGxpbnN5czogRGlzdCBhbGwgaGVhZGVycyBhbmQgcHV0IHRoZW0gaW4gbm9pbnN0X0hFQURFUlMKCjIwMTEtMDQtMTcgMTE6NTQ6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBsaW5zeXMvZGVja2xpbmsgY2hlY2tzIGZvciBMaW51eAoKMjAxMS0wNC0xNyAwMToxMDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE3IDAxOjA5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSAgZXh0LCBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGJhY2t1cCBmaWxlcwoKMjAxMS0wNC0xNyAwMDo1NDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE2OjM2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDExLTA0LTE0IDIwOjQ2OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVmYWN0b3IgYmxpdHRpbmcsIGF2b2lkIHdyaXRpbmcgcGFzdCBlbmQgb2YgYnVmZmVyCgkgIFByZXZpb3VzIGJsaXR0aW5nIGNvZGUgY291bGQgcG90ZW50aWFsbHkgd3JpdGUgcGFzdCB0aGUKCSAgZW5kIG9mIHRoZSBidWZmZXIgaWYgdGhlIHggb3IgeSBwb3NpdGlvbiB3YXMgb2RkLCBhbmQgZm9yCgkgIHRoZSBzYW1lIHVuZGVybHlpbmcgcmVhc29uLCBkaWRuJ3QgZ2V0IHRoZSBjaHJvbWEgcmVnaXN0cmF0aW9uCgkgIGNvcnJlY3QgaW4gdGhlIG9kZCBwb3NpdGlvbiBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3ODMwCgoyMDExLTA0LTE2IDExOjE4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTEtMDQtMTQgMjA6Mzk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgdGhlIGZmbXBlZ2NvbG9yc3BhY2UKCSAgRG8gbm90IGxlYWsgdGhlIGZmbXBlZ2NvbG9yc3BhY2UgYnkgdW5yZWZpbmcgaXQgYXQgZGlzcG9zZQoKMjAxMS0wNC0xNCAxNjo0ODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdDogY2FtZXJhYmluOiBNb3JlIGxlYWsgZml4ZXMKCjIwMTEtMDQtMTUgMTA6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvZ3NldHRpbmdzLm00OgoJICBtNDogVXBkYXRlIGdzZXR0aW5ncyBtNCBtYWNyb3MKCjIwMTEtMDQtMTQgMTY6MjQ6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIG9yYyByZXF1aXJlbWVudCB0byAwLjQuMTEKCjIwMTEtMDQtMTUgMDA6MDk6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIEZpeCBzb21lIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxOTo1MzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJICBlbGVtZW50LXRlbXBsYXRlczogY2xlYW4gdXAgZ29iamVjdCB0ZW1wbGF0ZSBhIGJpdAoJICBSZW1vdmUgcG9pbnRsZXNzIGdfcmV0dXJuX2lmX2ZhaWwgKEdfSVNfRk9PIChvYmopKSBjaGVja3MgaW4KCSAgdmZ1bmMgaW1wbGVtZW50YXRpb25zLiBDb21tZW50IG91dCB1bnVzZWQgdmFyaWFibGVzIHRvIGF2b2lkCgkgIHdhcm5pbmdzIHdpdGggZ2NjIDQuNi4KCjIwMTEtMDQtMTQgMTg6MzY6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgYXNmbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE4OjM2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTQ6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogTGVhayBmaXhlcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgTGVhayBmaXhlcyByZWxhdGVkIHRvIG5vdCByZW1vdmluZyB0aGUgc291cmNlIHJldHVybmVkIGZyb20KCSAgZ3N0X2J1c19hZGRfd2F0Y2gKCjIwMTEtMDQtMTQgMTM6Mjc6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IFNvbWUgbGVhayBmaXhlcwoJICBMZWFrIGZpeGVzIHJlbGF0ZWQgdG8gcmVtb3ZpbmcgdGhlIHNvdXJjZSByZXR1cm5lZCBmcm9tCgkgIGdzdF9idXNfYWRkX3dhdGNoCgoyMDExLTA0LTEzIDE1OjA1OjE1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkby52ZXJkZWpvQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0dzdEFuZHJvaWQuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnJpbmdidWZmZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5jOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmg6CgkgIFJlbW92ZSBhdWRpb2ZsaW5nZXJzaW5rCgkgIFJlbW92ZSBhdWRpb2ZsaW5nZXJzaW5rLCBpdCdzIGluIGdzdC1hbmRyb2lkIG5vdy4KCjIwMTEtMDQtMTQgMTY6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxNjoxNDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYXNyYzogYWRkIHVuc3RhYmxlLUFQSSB3YXJuaW5ncyBpZiBHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBub3QgZGVmaW5lZAoJICBTbyBwZW9wbGUga25vdyB0aGlzIGlzIHVuc3RhYmxlIEFQSSBldmVuIGlmIGl0IGVuZHMgdXAgcmlnaHQgbmV4dAoJICB0byBvdXIgb3RoZXIgQVBJLgoKMjAxMS0wNC0xNCAxNjoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbWVkaWEtaW5mby8uZ2l0aWdub3JlOgoJICBsaWJzOiByZW1vdmUgbGVmdG92ZXIgbWVkaWEtaW5mbyBkaXJlY3RvcnkKCjIwMTEtMDQtMTMgMjI6NDg6MjggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IHJldHVybiBkdXJhdGlvbiBpbiBuYW5vc2Vjb25kcwoKMjAxMS0wNC0xMyAyMzozNTo1MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBoYW5kbGluZyBvZiBlbmQgb2YgcGxheWxpc3QKCSAgRG9uJ3Qgc2VuZCB0aGUgRU9TIGV2ZW50IHVudGlsIHdlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QKCSAgYW5kIHRoZSBxdWV1ZSBpcyByZWFsbHkgZW1wdHkuCgoyMDExLTA0LTEzIDIyOjI1OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUKCjIwMTEtMDQtMTMgMjM6MDY6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpZ25vcmUgc2VlayBldmVudHMgdW50aWwgaXQncyBpbXBsZW1lbnRlZAoKMjAxMS0wNC0xMyAyMjoxNzowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRpc3Bvc2UgdGhlIGZldGNoZXIgZnJvbSB0aGUgc2FtZSB0aHJlYWQgaXQncyBjcmVhdGVkCgoyMDExLTA0LTE0IDExOjI4OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOjogZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgR0xpYgoJICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoKSBpcyBuZXcgaW4gR0xpYiAyLjI2LCBidXQgd2Ugb25seSByZXF1aXJlIDIuMjIuCgoyMDExLTA0LTE0IDA3OjIxOjUwICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBhIGxvdCBvZiBuZXcgcGx1Z2lucwoKMjAxMS0wNC0xMyAyMzo1OTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0IGZvciBuZXcgZXhwb3N1cmUgY29tcGVuc2F0aW9uIHRhZwoJICBBZGRzIGEgdGVzdCBmb3IgR1NUX1RBR19DQVBUVVJJTkdfRVhQT1NVUkVfQ09NUEVOU0FUSU9OIG9uCgkgIGppZm11eCBjaGVjayB0ZXN0cy4KCjIwMTEtMDQtMTMgMjE6NTg6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mOiBNb3ZlIGR1cGxpY2F0ZSAjZGVmaW5lcyBpbnRvIGEgY29tbW9uIGluY2x1ZGUKCSAgQ2VudHJhbGl6ZSBkdXBsaWNhdGVkIGNvbnN0YW50cyBzbyB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUuCgkgIEFsc28gc3RhbmRhcmRpc2UgbWluaW11bSB0b25lIGR1cmF0aW9uIHRvIDI1MG1zIGFuZCBtaW5pbXVtIGludGVyLXRvbmUKCSAgaW50ZXJ2YWwgdG8gMTAwbXMuCgoyMDExLTA0LTEzIDIyOjMzOjM3IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFByZXNlcnZlIHVudXNlZCBpbWFnZWJpbiBvciB2aWRlb2JpbiBvbiBOVUxMCgkgIElmIHZpZGVvIG9yIGltYWdlIG1vZGUgaXMgbmV2ZXIgc2VsZWN0ZWQgdGhlbiByZXNwZWN0aXZlIGJpbiBpcyBpbiBOVUxMIHN0YXRlLgoJICBQcmVzZXJ2ZSB0aGlzIHN0YXRlIHdoZW4gcmVzZXR0aW5nIGNhbWVyYWJpbiBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCjIwMTEtMDQtMTMgMjI6MDc6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkgIHBubTogYWRkIExJQlRPT0xGTEFHUyA9IC0tdGFnPWRpc2FibGUtc3RhdGljCgoyMDExLTA0LTEzIDIwOjI2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24KCSAgVGhpcyBhbGxvd3MgdG8gc2V0IHdpZHRoL2hlaWdodC9ldGMgcmVzdHJpY3Rpb25zIHRvIGJlIHNldCBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzY0NzQ5OC4KCjIwMTEtMDQtMTIgMjE6NDc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgcXRtdXg6IHJlbW92ZSBxdG11eCBwbHVnaW4sIGl0IGhhcyBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTEzIDE2OjMxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbGliZXhpZiBwa2ctY29uZmlnIGNoZWNrCgkgIFRoZXJlJ3Mgbm8gZXhpZiBwbHVnaW4gc28gZG9uJ3QgdXNlIEFHX0dTVF9DSEVDS19GRUFUVVJFLgoJICBGaXhlcyBidWcgIzY0NzU2NC4KCjIwMTEtMDQtMTIgMTY6NDI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgbGVmdG92ZXIgTUFFTU9fQlJPS0VOIGRlZmluZXMKCSAgUmVtb3ZlIGRlZmluZXMgdG8gd29yayBhcm91bmQgYnVncyBpbiBvbGQgTWFlbW8gcmVsZWFzZXMKCjIwMTEtMDQtMTEgMTQ6NDQ6MTcgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNvcm5lciBjYXNlIGZvciBwcmV2aWV3IHBvc3RpbmcKCSAgRml4IGNvcm5lciBjYXNlIHdoZXJlIHZpZGVvIHByZXZpZXcgaW1hZ2UgaXMgbm90IHBvc3RlZCBpZiBzdG9wcGluZwoJICB2aWRlbyBjYXB0dXJlIGltbWVkaWF0ZWx5IGFmdGVyIGNhcHR1cmUgc3RhcnQuCgoyMDExLTA0LTExIDE4OjMxOjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBzdWJ0cmFjdCBpZC1zdHIgc2l6ZSBmcm9tIHRoZSByZW1haW5pbmcgcmVhZAoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gZnJvbSB0aGUgcGF0Y2hlcyBpbiBidWcgIzYyNjYxOC4KCjIwMTEtMDQtMTEgMTg6MzA6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGpwZWc6IHNldCB0YWdzIHRvIE5VTEwgYXQgaW5pdCB0aW1lIGFuZCBhZnRlciBmcmVlaW5nIHRoZW0KCjIwMTEtMDQtMTEgMTg6Mjk6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBqcGVnOiBjb21tZW50IGFuZCBsb2dnaW5nIGNoYW5nZXMKCjIwMTEtMDQtMTAgMTk6NTM6MzUgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdzdF9qcGVnX3BhcnNlX3JlbW92ZV9tYXJrZXIoKQoJICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVtb3ZlIHRoZSB3aG9sZSBtYXJrZXIgZnJvbSB0aGUgYnVmZmVyLgoJICBBbHNvIHdlIHNldCBpdCBhcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgbWFya2VyIEpQR3swLTEzfT8gaW4gb3JkZXIgdG8gYXZvaWQKCSAgYSB1c2VsZXNzICNpZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTA4LTEzIDEyOjM4OjAyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJlZmFjdG9yIENPTSBwYXJzaW5nCgkgIGFkZCBnc3RfanBlZ19wYXJzZV9jb20gKCkgYW5kIGdldF91dGY4X2Zyb21fZGF0YSAoKSB0byBleHRyYWN0IGFuZAoJICB2YWxpZGF0ZSBjb21tZW50IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE4OjIyOjA3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJlZmFjdG9yIEFQUDEgcGFyc2luZwoJICBhZGQgZ3N0X2pwZWdfcGFyc2VfYXBwMSAoKSBhbmQgZXh0cmFjdF9hbmRfcXVldWVfdGFncyAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTIxIDE1OjA1OjQzICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGxvZyBpZCB3aGVuIHNraXBwaW5nIGFuIHVuaGFuZGxlZCBBUFAgbWFya2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTc6NDc6MTcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogc2tpcCBhbGwgQVBQIG1hcmtlcnMsIGV4Y2VwdGluZyBBUFAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMjEgMTU6MDk6MTcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdldF90YWdfbGlzdCAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDExLTA0LTExIDAwOjM2OjM1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMTAgMDA6MjI6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IGRpc3QgbmV3IHZpZGVvZmlsdGVyMiB0ZW1wbGF0ZQoKMjAxMS0wNC0wOSAxMzo0MDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDExLTA0LTA5IDEwOjAzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGQgbGFzdC1tZXNzYWdlIHByb3BlcnR5IGFuZCBuZXZlciBwcmludCBhbnl0aGluZyB0byBzdGRvdXQKCSAgSW5zdGVhZCBldmVyeXRoaW5nIHdpbGwgYmUgcHV0IGludG8gdGhlIGxhc3QtbWVzc2FnZSBwcm9wZXJ0eSBhbmQKCSAgZ3N0LWxhdW5jaCAtdiB3aWxsIHByaW50IGFsbCBjaGFuZ2VzIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBtYWtlcwoJICB0aGUgYmVoYXZpb3VyIG9mIGZwc2Rpc3BsYXkgY29uc2lzdGVudCB3aXRoIHRoZSBmYWtlc2luay9pZGVudGl0eS9ldGMKCSAgYmVoYXZpb3VyLgoKMjAxMS0wNC0wOSAwOTo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogUmVuYW1lIHZlcmJvc2UgcHJvcGVydHkgdG8gc2lsZW50IGZvciBjb25zaXN0ZW5jeQoKMjAxMS0wNC0wOSAwMDozNzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSAgYmFzZXBhcnNlOiByZW1vdmUgLWJhZCB2ZXJzaW9uIG9mIGJhc2VwYXJzZSBsaWJyYXJ5LCBub3cgaW4gY29yZQoKMjAxMS0wNC0wMiAxODozMDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIHZpZGVvcGFyc2VyczogcG9ydCB0byBiYXNlcGFyc2UsIHdoaWNoIGlzIG5vdyBpbiBsaWJnc3RiYXNlIGluIGNvcmUKCjIwMTEtMDQtMDggMTI6MTE6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkgIHNjZW5lY2hhbmdlOiBuZXcgc2NlbmUgY2hhbmdlIGRldGVjdGlvbiBlbGVtZW50CgoyMDExLTA0LTA4IDEwOjI2OjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyMjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIHZpZGVvZmlsdGVyMiB0ZW1wbGF0ZQoKMjAxMS0wNC0wOCAxOTozMjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgUmVtb3ZlIGF1ZGlvcGFyc2VycyBwbHVnaW4sIGl0IGhhcyBiZWVuIG1vdmVkIHRvIC1nb29kCgoyMDExLTA0LTA4IDE0OjA4OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHRoZSBwcm9wZXJ0eSBlbnVtcwoKMjAxMS0wNC0wNyAxNToxNTo1NyArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXk6IEFkZCB2ZXJib3NlIHByb3BlcnR5CgkgIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gVFJVRSB0aGUgZWxlbWVudCB3aWxsIGRpc3BsYXkgc3RhdGlzdGljcwoJICBvbiBzdGRvdXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcwMzAKCjIwMTEtMDQtMDUgMjE6MDQ6NTQgKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IHVwZGF0ZSBmb3IgbGF0ZXN0IEdzdFhPdmVybGF5IGNoYW5nZXMKCSAgRnJvbSB4d2luZG93X2lkIHRvIHdpbmRvd19oYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTUKCjIwMTEtMDQtMDcgMTg6MzA6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVsYXggc3luYyBtYXRjaCBhIGJpdCB3aGVuIGRyYWluaW5nCgkgIC4uLiB0byBhdCBsZWFzdCBhbGxvdyBpbml0aWFsIGNhcHMgY2hhbmdlIChidXQgbm8gZnVydGhlciBjYXBzIGppdHRlcikuCgoyMDExLTA0LTA2IDE1OjU4OjA3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSAgZmllbGRhbmFseXNpczogVXNlIFJGRiBmbGFnIHRvIGluZGljYXRlIGJ1ZmZlcnMgdG8gZHJvcCBkb3duc3RyZWFtCgkgIFVzZSBvZiB0aGUgR0FQIGZsYWcgaXMgbm90IHJlYWxseSBjb3JyZWN0IGhlcmUgYW5kIG1ha2VzIGl0IGRpZmZpY3VsdCB0bwoJICBoYW5kbGUgcmVhbCBHQVAgYnVmZmVycyBpbiBkZWludGVybGFjZS4gVGhlIFJGRiBmbGFnIGlzIHVudXNlZCBhbmQgY2FuCgkgIGJlIHJldXNlZCB3aXRoIHNpbWlsYXIgc2VtYW50aWNzIC0gdGhlIGJ1ZmZlcnMgbWFya2VkIHdpdGggUkZGIHRoYXQgYXJlCgkgIGluIGEgdGVsZWNpbmUgc3RhdGUgY29udGFpbiBvbmx5IHVubmVlZGVkIHJlcGVhdGVkIGZpZWxkcyBhbmQgc28gY2FuIGJlCgkgIGRyb3BwZWQuCgoyMDExLTA0LTA1IDE5OjI2OjE1ICswMzAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBlbnN1cmUgZ3N0X3BvbGxfd2FpdCBpcyBjYWxsZWQgZmlyc3Qgb24gZGVzY3JpcHRvcnMKCSAgV2UgbmVlZCB0byBjYWxsIGdzdF9wb2xsX3dhaXQgYmVmb3JlIGNhbGxpbmcgZ3N0X3BvbGxfKiBzdGF0dXMKCSAgZnVuY3Rpb25zIG9uIHRoYXQgbmV3IGRlc2NyaXB0b3IsIHNvIHJlc3RhcnQgdGhlIGxvb3AsIHNvIF93YWl0CgkgIHdpbGwgaGF2ZSBiZWVuIGNhbGxlZCBvbiBhbGwgZWxlbWVudHMgb2Ygc2VsZi0+cG9sbCwgd2hldGhlcgoJICB0aGV5IGhhdmUganVzdCBiZWVuIGFkZGVkIG9yIG5vdC4gKi8KCjIwMTEtMDQtMDYgMjA6NDA6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2htOiBGaXggTVNHX05PU0lHTkFMIGNoZWNrCgkgIEluY2x1ZGUgc3lzL3NvY2tldC5oIGJlZm9yZSBjaGVja2luZyBmb3IgTVNHX05PU0lHTkFMLCBhbHNvCgkgIGNoZWNrIHRoYXQgc3lzL3NvY2tldC5oIGJlZm9yZSBkb2luZyBhbnkgb3RoZXIgY2hlY2tzIGZvciBzaG0KCjIwMTAtMTItMTUgMTA6Mzk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCByZWx5IG9uIHRoZSBhcHBsaWNhdGlvbiBydW5uaW5nIHRoZSBkZWZhdWx0IEdMaWIgbWFpbiBsb29wCgkgIERvbid0IHVzZSBnX2lkbGVfYWRkKCkgYW5kIGZyaWVuZHMgdG8gc2NoZWR1bGUgdGhpbmdzIHdlIGNhbid0IGRvIGZyb20gdGhlCgkgIHN0cmVhbWluZyB0aHJlYWQgaW4gYW5vdGhlciB0aHJlYWQuIFRoZSBhcHAgbWF5IG5vdCBiZSBydW5uaW5nIHRoZSBkZWZhdWx0CgkgIEdMaWIgbWFpbiBsb29wLiBJbnN0ZWFkLCBqdXN0IHNwYXduIGEgdGhyZWFkLgoJICBBbHNvLCB3ZSBuZWVkIHRvIGNhcmUgZm9yIHdoZW4gYWNlc3NpbmcgYSBwYWQgdmFyaWFibGUsIGFzIGFub3RoZXIgdGhyZWFkCgkgIG1pZ2h0IGhhdmUgdGFrZW4gY2FtZXJhYmluIHRvIE5VTEwgd2hpbGUgdGhpcyBnc3RfY2FtZXJhYmluX2ltZ2Jpbl9maW5pc2hlZAoJICBkaWRuJ3QgcnVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1NjU1CgoyMDExLTA0LTA0IDIwOjU1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlcXVpcmUgdGlnaHRlciBzeW5jIG1hdGNoIHdoZW4gZHJhaW5pbmcKCjIwMTEtMDQtMDQgMTU6NTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWNjYmUwOSB0byBjM2NhZmUxCgoyMDExLTA0LTA0IDEyOjIxOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogbW9yZSBoZWxwZnVsIGRlYnVnIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBuZWVkZWQgZHVyYXRpb24gb24gaW5wdXQgYnVmZmVycwoJICBGaXhlcyAjNjQ2MjU2LgoKMjAxMS0wNC0wMiAwMToyMTozNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHZhbGlkYXRlIHByb3Blcmx5IHV0Zi04IHBsYXlsaXN0CgoyMDExLTA0LTAyIDAxOjEwOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhciB0aGUgbGlzdCBvZiBtZWRpYSBmaWxlcyBiZWZvcmUgdXBkYXRpbmcgdGhlIHBsYXlsaXN0CgoyMDExLTA0LTAyIDAxOjA4OjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiB1c2UgYW5kIGFkYXB0ZXIgaW5zdGVhZCBvZiBjb3N0ZnVsIGJ1ZmZlciBqb2lucwoKMjAxMS0wNC0wMSAxMzo1MzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzZXR0aW5nIG9mIHBsdWdpbmRpciBmcm9tIE1ha2VmaWxlcwoKMjAxMS0wMy0yNiAxNzo1NTozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEZpeCBuZWdvdGlhdGlvbiBlcnJvcnMKCjIwMTEtMDMtMjYgMTc6NDM6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW86IEFkZCBmdW5jdGlvbiB0byBhbGxvY2F0ZSBzcmMgYnVmZmVyCgoyMDExLTA0LTAxIDE2OjUyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFub3RoZXIgd2luZG93cyBidWlsZCBmaXgKCSAgUmVwbGFjZSAlbGxkIHdpdGggJXUgYXMgR1NUX0JVRkZFUl9TSVpFIGlzIGEgZ3VpbnQKCjIwMTEtMDQtMDEgMTY6MTI6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsczogRml4IGNvbXBpbGF0aW9uIG9uIHdpbmRvd3MKCSAgVXNlIHN0cmluZyBsaXRlcmFsIG9uIHByaW50aW5nIGZvcm1hdAoKMjAxMS0wNC0wMSAxMzozOTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFByb2Nlc3Npbmcgc2hvdWxkIHN0b3Agb24gUkVBRFkKCSAgVGhlIHZpZGVvYmluIGFuZCBpbWFnZWJpbiBmcm9tIGNhbWVyYWJpbiBoYXZlIHRoZWlyIHN0YXRlcwoJICBsb2NrZWQgYW5kIGFyZW4ndCBwdXQgdG8gUkVBRFkgd2hlbiBhbGwgdGhlIHJlc3Qgb2YgY2FtZXJhYmluCgkgIGlzIHNldCB0byBpdC4KCSAgVGhpcyBtaWdodCBjYXVzZSBvbmUgb2YgdGhlbSB0byBiZSBzdGlsbCBwcm9jZXNzaW5nIGFuZCBwb3N0CgkgIGFuIEVPUyBhZnRlciBjYW1lcmFiaW4gaXNuJ3QgZXhwZWN0aW5nIGl0IGFueW1vcmUsIHRoaXMgY2F1c2VzCgkgIGFuIGFzc2VydGlvbiBhcyB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIHdvdWxkIGFscmVhZHkgYmUgMCBhbmQKCSAgd291bGQgYmUgZGVjcmVtZW50ZWQuCgoyMDExLTA0LTAxIDE1OjAwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogS2VlcCBhIHJlZmVyZW5jZSBvZiBldmVudHMgdW50aWwgdGhlIGV2ZW50IGlzIHBhcnNlZAoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTMxIDE2OjIxOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htOiBNYWtlIGRlZmF1bHQgcGVybSB1K3J3IGcrciBmb3Igc2htIGFyZWEKCjIwMTEtMDMtMzAgMTU6NTM6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXBkYXRlIGZvciBtZWRpYSB0eXBlIHdhcyByZW5hbWluZyBmcm9tIHBsYXlsaXN0L20zdTggdG8gYXBwbGljYXRpb24veC1obHMKCjIwMTEtMDMtMzAgMTE6MzM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBobHMgcGx1Z2luCgoyMDExLTAzLTMwIDEwOjExOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNvbWUgbWlub3IgY2xlYW51cAoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTEtMDMtMzAgMDM6MzQ6MzkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW5kZW50YXRpb24gYW5kIGRvY3Mgc2VjdGlvbnMKCjIwMTEtMDMtMjkgMjM6MTg6MjQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBsZWVrIHRoZSBxdWVyeQoKMjAxMS0wMy0yOSAyMzowNjoxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNoZWNrIGlmIHRoZSB0YXNrJ3MgY29uZCB3YXMgc2lnbmFsZWQgYmVjYXVzZSBpdCdzIHRoZSBlbmQgb2YgcGxheWxpc3QKCjIwMTEtMDMtMTIgMTM6MzI6NTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwb3N0IGEgbWVzc2FnZSBpbiB0aGUgYnVzIHdoZW4gdGhlIHBsYXlsaXN0IGNoYW5nZXMKCjIwMTEtMDMtMTIgMTM6MTU6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCB1cGRhdGUgdGhlIHBsYXlsaXN0IGlmIHdlIHN0YXkgaW4gdGhlIHNhbWUgYml0cmF0ZQoKMjAxMS0wMy0xMiAxMzowMDowNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBVUkkgcXVlcmllcwoKMjAxMS0wMy0xMiAxMjo1MDoyNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBkdXJhdGlvbiBxdWVyaWVzCgoyMDExLTAzLTEyIDEyOjI4OjQyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogcHJvdGVjdCBwdWJsaWMgbWV0aG9kcyBwcm9wZXJseQoKMjAxMS0wMy0xMiAxMjoyMDozMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGFkZCBzdXBwb3J0IHRvIGdldCB0aGUgZHVyYXRpb24gZnJvbSBhIHBsYXlsaXN0CgoyMDExLTAyLTE2IDAzOjUxOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgcHJpbnQgYW4gZXJyb3IgaWYgdGhlIGRvd25sb2FkIHdhcyBjYW5jZWxsZWQKCjIwMTEtMDItMTYgMDM6NDk6NDkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgdGhlIGZldGNoZXIgc3RhdGUgY2hhbmdlIGlzIGNvbXBsZXRlIGJlZm9yZSBjb250aW51aW5nCgoyMDExLTAyLTE2IDAxOjE5OjQ1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgbGVhayB0aGUgZmlyc3QgYnVmZmVyCgoyMDExLTAyLTE2IDAwOjU1OjMwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2xlYW4gdXAgY29kZSBhIGxpdHRsZSBiaXQKCjIwMTEtMDItMTYgMDA6NTM6NDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvbmx5IGNoZWNrIGZvciB0aGUgZW5kIG9mIHBsYXlsaXN0IHdoZW4gdGhlIHF1ZXVlIGlzIGVtcHR5CgoyMDExLTAyLTE1IDIyOjQwOjIxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgdG8gc3RvcCBmcmFnbWVudHMgY2FjaGUgaWYgc29tZXRoaW5nIGNhbmNlbGxlZCBpdAoKMjAxMS0wMi0xNSAyMTo1NToyNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJldXNlIHRoZSBjb2RlIGluIHJlc2V0KCkgdG8gZnJlZSByZXNvdXJjZXMgaW4gZGlzcG9zZSgpCgoyMDExLTAyLTE1IDIxOjQ5OjIwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiB1c2UgYSB0eXBlZmluZGVyIHRvIHNldCB0aGUgY2FwcyBpbiB0aGUgc291cmNlIHBhZAoKMjAxMS0wMi0xNSAwNDozOTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBtb3JlIGNvbW1lbnRzIGFuZCBkb2N1bWVudCBiZXR0ZXIgYWxsIHRoZSB0aHJlYWRzIGludm9sdmVkCgoyMDExLTAyLTE1IDAzOjQyOjI5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIDQwNCBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudAoKMjAxMS0wMi0xNSAwMzo0MTo0MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0b3AgdGhlIGZldGNoZXIgaW4gdGhlIFBBVVNFRF9UT19SRUFEWSB0cmFuc2l0aW9uLCBub3Qgd2hlbiBkaXNwb3NpbmcoKQoKMjAxMS0wMi0xNSAwMzo0MTowMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHdlIGRvbid0IHN0b3AgdGhlIGZldGNoZXIgdHdpY2UgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcwoKMjAxMS0wMi0xNSAwMjoxMzo1NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHF1ZXJ5IHRoZSB1cmkgdXBzdHJlYW0gYmVmb3JlIHVwZGF0aW5nIHRoZSBwbGF5bGlzdAoKMjAxMS0wMi0xNCAxODo1MTozMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgSFRUUCBsaXZlIHN0cmVhbWluZyBkZW11eGVyIGVsZW1lbnQKCSAgQmFzZWQgb24gcHJldmlvdXMgd29yayBieSBNYXJjLUFuZHLDqSBMdXJlYXUKCjIwMTEtMDMtMjEgMTA6NTc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEFkZCBHc3RUYWdYbXBXcml0ZXIgc3VwcG9ydAoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UgdG8gamlmbXV4IGVsZW1lbnQKCjIwMTEtMDMtMjEgMTA6NTY6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHN1cHBvcnQgdG8gcXRtdXgKCjIwMTEtMDMtMjcgMjM6NTA6MjQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmg6CgkgIG9wZW5jdiB0ZXh0IG92ZXJsYXk6IHJlbmFtZSBhbmQgZG9jdWVtbnQKCSAgUmVuYW1lIHRoZSBlbGVtZW50IHRleHR3cml0ZSB0byBvcGVuY3Z0ZXh0b3ZlcmxheS4gQWRkIHByb3BlciBzdHJ1Y3R1cmluZyB0bwoJICBvcGVuY3YgdGV4dG92ZXJsYXkgZWxlbWVudC4KCSAgRml4ZXM6ICM2NDA1NjEKCjIwMTEtMDMtMjcgMTM6NTc6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggNjQtYml0IHByaW50ZiBmb3JtYXQgcHJvYmxlbQoKMjAxMS0wMy0yNyAyMDowOTo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogZml4IGJ1ZyB3aGVyZSB3ZSBkaWRuJ3Qgc2V0dXAgdmRwYXUgb24gYSB1c2VyIHNldCB3aW5kb3cKCjIwMTEtMDMtMjcgMTk6NDc6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkgIHZkcGF1OiBmaXh1cCBHc3RGbG93UmV0dXJuIGhhbmRsaW5nCgkgIFByZXZpb3VzbHkgdGhlIGRpZmZlcmVudCBkZWNvZGVycyB3b3VsZCBkaXNjYXJkIGVycm91bm91cyBHc3RGbG93UmV0dXJucyBjb21pbmcKCSAgZnJvbSBkb3duc3RyZWFtLiBOb3cgd2UgcHJvcGVybHkgcmV0dXJuIHRoZXNlIGZ1cnRoZXIgdXBzdHJlYW0gc28gdGhhdCB3ZQoJICBwcm9wZXJseSBlcnJvciBvdXQgb24gZWcuIG5lZ290aWF0aW9uIHByb2JsZW1zLgoKMjAxMS0wMy0yNyAxOTo0MDo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50YXRpb24gZml4CgoyMDEwLTA5LTA2IDE3OjQyOjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9maW5pc2hfZnJhbWUKCjIwMTEtMDMtMjcgMTc6NDI6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93OiBmaXggbGlzdCBpdGVyYXRpb24gY29kZQoKMjAxMS0wMy0yNyAxNzoyMjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICBkY2Nwc2VydmVyc2luazogZml4IGxpc3QgaXRlcmF0aW9uIGNvZGUKCSAgRml4IHN1Ym9wdGltYWwgbGlzdCBpdGVyYXRpb24gY29kZSwgYW5kIGFkZCBzb21lIEZJWE1Fcy4KCjIwMTEtMDMtMjYgMTI6NDU6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJICBwYXRjaGRldGVjdDogbGluayBhZ2FpbnN0IGxpYm0KCSAgTGluayBhZ2FpbnN0IGxpYm0uIEluY2x1ZGUgbWF0aC1jb21wYXQuaCBoZWFkZXIuIERvbid0IGxpbmsgYWdhaW5zdAoJICBvcmMsIHNpbmNlIGl0J3Mgbm90IGFjdHVhbGx5IHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDU3MTEKCjIwMTEtMDMtMjYgMTY6MTI6MTggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgVXNlIGNvcnJlY3QgY2xvY2sgd2hlbiBjaGVja2luZyB3aGV0aGVyIHRvIHdyaXRlIGEgbmV3IFBDUgoJICBUaGUgUENSIGNsb2NrcyBhZ2FpbnN0IHRoZSAyN01IeiBTQ1IgY2xvY2ssIHNvIGNoZWNrIGl0IGNvcnJlY3RseQoJICB0byBhdm9pZCB3cml0aW5nIHRoZSBQQ1IgdG9vIG9mdGVuLgoJICBQYXJ0aWFsbHkgZml4ZXM6ICM2MTEwNDYKCjIwMTEtMDMtMjYgMTU6NTg6MjEgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIFJld3JpdGUgTTJUUyBwYWNrZXQgb3V0cHV0CgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHdyaXRlIHRoZSBib3R0b20gMzAgYml0cyBvZiB0aGUgUENSIHRvIHRoZSBtMnRzIGhlYWRlci4KCSAgRG9uJ3QgdXNlIGZsb2F0aW5nIHBvaW50IGNvbXB1dGF0aW9uIGZvciBpdCwgYW5kIHJlbW92ZSB3ZWlyZCBiaXQgZmlkZGxpbmcKCSAgdGhhdCBtZXNzZXMgdXAgdGhlIFBDUiBpbiBhIHdheSBJIGNhbid0IGZpbmQgYW55CgkgIGp1c3RpZmljYXRpb24vZG9jdW1lbnRhdGlvbiBmb3IuCgkgIERvbid0IGFjY2lkZW50YWxseSBsb3NlIFBDUiBwYWNrZXRzIGZyb20gdGhlIG91dHB1dC4KCSAgRml4IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIG0ydHMtbW9kZSBwcm9wZXJ0eSBzbyBpdCdzIGNsZWFyIGl0J3MgYSBmbGFnLAoJICBhbmQgd2hpY2ggc2V0dGluZyBkb2VzIHdoYXQuCgkgIEZpeGVzOiAjNjExMDYxICM2NDQ0MjkKCSAgUGFydGlhbGx5IGZpeGVzOiAjNjQ1MDA2CgoyMDExLTAzLTI2IDExOjE0OjAxICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBGaXggYSBGSVhNRSwgYW5kIHNvbWUgd2hpdGVzcGFjZS9jb2RlIHN0eWxlIGJpdHMuCgkgIEFsc28sIGFkZCBhIG5ldyBjb3B5cmlnaHQgbm90aWNlIGZvciBtZS4KCjIwMTEtMDMtMjUgMjI6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOTNiNzE3IHRvIDFjY2JlMDkKCjIwMTEtMDMtMjUgMTQ6NTY6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjc3ZTJiZiB0byAxOTNiNzE3CgoyMDExLTAzLTI1IDA5OjMyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDg4MTRiNiB0byBiNzdlMmJmCgoyMDExLTAzLTI1IDA5OjA4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFhYTI4NiB0byBkODgxNGI2CgoyMDExLTAzLTI1IDA4OjMzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEFkZCBmbG9hdCBjYXBzIHRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDExLTAzLTI0IDE2OjE2OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCB3aW4zMiBidWlsZAoKMjAxMS0wMy0yNCAyMjozMjo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGVuc3VyZSBjbGVhbnVwIG9mIHBlcy9zZWN0aW9uIGZpbHRlciBoZWxwZXIgc3RydWN0dXJlcwoJICBJbiBwYXJ0aWN1bGFyLCB0aGUgc2VjdGlvbl9maWx0ZXIgd291bGQgbm90IGJlIGNsZWFyZWQgZm9yIGEgcHJpdmF0ZSBzZWN0aW9uCgkgIHN0cmVhbSwgbGVha2luZyBhIEdzdEFkYXB0ZXIuIFNlZW4gb24gYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIyOjEwOjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG9uJ3QgbGVhayBwYWQgbmFtZQoJICBBcyBzZWVuIG9uIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMTo0NjowOSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZnJlZSBQUFMgTkFMIGJ1ZmZlcnMgb24gY2xlYW51cAoJICBPYnZpb3VzbHkgYSB0eXBvLiBGaXhlcyBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjE6NDQ6MDcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IGxlYWsgYWxsIE5BTCBidWZmZXJzCgkgIGdzdF9idWZmZXJfcmVwbGFjZSgpIGRvZXNuJ3Qgc3RlYWwgdGhlIHJlZi4gUGFydGlhbCBmaXggZm9yIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAxODo0OTo1NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWVjNmI5IHRvIDZhYWEyODYKCjIwMTEtMDMtMjQgMTQ6NTE6MTIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc3RyZWFtX2luZm8gZGVzY3JpcHRvciBwYXJzaW5nCgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTI0IDEwOjA4OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgMzIgYml0IGFuZCA2NCBiaXQgZmxvYXRpbmcgcG9pbnQgZm9ybWF0cwoKMjAxMS0wMy0yNCAwOTo1ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBUaGUgU1NORCBoZWFkZXIgaXMgMTYgYnl0ZXMgbGFyZ2UsIG5vdCA4ICsgMTYgYnl0ZXMKCSAgRml4ZXMgYnVnICM2NDU1NjggYW5kIHBsYXliYWNrIGluIHB1bGwgbW9kZSBmb3Igc2FtcGxlIHdpZHRocyA+IDggdGhhdAoJICBhcmUgbm90IGEgbXVsdGlwbGUgb2YgMiBieXRlcyAoZS5nLiAyNCBiaXQgc2FtcGxlcykuCgoyMDExLTAzLTI0IDA5OjI5OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfY2VpbCgpIGluc3RlYWQgb2YgYSBjdXN0b20gZnVuY3Rpb24KCjIwMTEtMDMtMjQgMTM6NDM6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBEb24ndCBleHBvcnQgYml0cmF0ZSBpZiBvcGVuL3ZhcmlhYmxlL2xvc3NsZXNzCgkgIGxpYmRjYSByZXR1cm5zIHRoZSBiaXRyYXRlIGFzIDEvMi8zIGZvciBvcGVuL3ZhcmlhYmxlL2xvc3NsZXNzIGZpbGVzCgkgIHJlc3BlY3RpdmVseS4gVGhpcyBtYWtlcyBzdXJlIHdlIGRvbid0IGVtaXQgdGhlc2UgdmFsdWVzLgoKMjAxMS0wMy0yNCAwOToyMjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IFJlYWQgdGhlIGFkZGl0aW9uYWwsIG9wdGlvbmFsIGV4dHJhIGhlYWRlcnMgZnJvbSB0aGUgY2FwcyB0b28KCjIwMTEtMDMtMjQgMDk6MTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IEdldCBhbmQgdXNlIHN0cmVhbWhlYWRlcnMgZnJvbSB0aGUgY2FwcyBpZiBwb3NzaWJsZQoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBmaWxlcyB3aGVyZSB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMgd2VyZQoJICBkcm9wcGVkIGZvciBzb21lIHJlYXNvbiBhbmQgYWxzbyBzZXRzIHRoZSBzcmNwYWQgY2FwcyBlYXJsaWVyLgoKMjAxMS0wMy0yMyAyMjo1Mzo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0CgkgIEl0IGFwcGVhcnMgdGhlIHBhdGNoLCB3aGljaCBJJ3ZlIGJlZW4gY2FycnlpbmcgYXJvdW5kIGZvcmV2ZXIsCgkgIGhhZCBiZWVuIGFscmVhZHkgYXBwbGllZC4KCjIwMTEtMDItMjAgMTQ6MTY6MTggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IG1lcmdlIHV0aWxzIGhlYWRlciBpbnRvIGJhc2V2aWRlb2NvZGVjCgoyMDEwLTEyLTMwIDE4OjI1OjA0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IE91dHB1dCBlbGVtZW50IG1lc3NhZ2Ugd2l0aCBmcmFtZSBzdGF0cwoKMjAxMS0wMi0yNiAwMDoyODozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJICBwYXRjaGRldGVjdDogbmV3IGVsZW1lbnQKCSAgRGV0ZWN0cyBNdW5zZWxsIENvbG9yQ2hlY2tlciBpbiBhIHZpZGVvIGltYWdlIGFuZCBhdXRvbWF0aWNhbGx5CgkgIHdoaXRlIGJhbGFuY2VzIGFuZCBjb2xvciBjb3JyZWN0cyBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgdmFsdWVzLgoJICBUaGlzIGVsZW1lbnQgaXMgb25seSBhIGRlbW9uc3RyYXRpb24gYXQgdGhpcyBzdGFnZSwgaXQgbmVlZHMgdG8KCSAgYmUgc2VwYXJhdGVkIGludG8gdHdvIGVsZW1lbnRzLgoKMjAxMS0wMi0yNyAwMDo0ODoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAZW50cm9weXdhdmUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgZGVja2xpbmsgcGx1Z2luCgkgIFNvdXJjZSBhbmQgc2luayBlbGVtZW50cyBmb3IgQmxhY2tNYWdpYyBEZWNrTGluayBTREkgY2FyZHMuCgoyMDExLTAzLTE3IDE3OjM4OjU4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9hc2kuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL21hc3Rlci5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGlhdWRpby5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpdmlkZW8uaDoKCSAgbGluc3lzOiBBZGQgcGx1Z2luIGZvciBMaW5lYXIgU3lzdGVtcyBTREkgYm9hcmRzCgoyMDEwLTA5LTE0IDExOjMwOjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkgIHNkaTogQWRkIHJhdyBTREkgbXV4aW5nL2RlbXV4aW5nIGVsZW1lbnRzCgoyMDExLTAzLTE3IDE5OjAzOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJICBsb2dvaW5zZXJ0OiBGaXggbWVtbGVha3MsIGFkZCB0ZXN0CgoyMDEwLTExLTE1IDExOjM3OjEyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBsb2dvaW5zZXJ0OiBBZGQgZGF0YSBwcm9wZXJ0eQoKMjAxMS0wMy0yMyAxNTo0OToxOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEZpeCBwcmVtYXR1cmUgc2h1dGRvd24KCSAgV2UgbXVzdCB3YWl0IGZvciBjYW1lcmFiaW4yJ3Mgc3RvcC1jYXB0dXJlIHByb2NlZHVyZXMgdG8gZmluaXNoIGJlZm9yZSBxdWl0dGluZwoJICB0aGUgbWFpbiBsb29wIG9yIGZpcmluZyBvZmYgdGhlIG5leHQgY2FwdHVyZS4gSWYgd2UgZ2V0IHN0dWNrIHdhaXRpbmcgZm9yCgkgIGNhbWVyYWJpbjIgdG8gYmVjb21lIGlkbGUsIHRoaXMgaXMgYSBidWcgdGhhdCBuZWVkcyBmaXhpbmcuCgoyMDExLTAzLTIzIDE2OjMyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT25seSBtYXJrIHZpZGVvIGNhcHR1cmUgYXMgZmluaXNoZWQgYWZ0ZXIgRU9TCgkgIEluc3RlYWQgb2YgcHJvYmluZyB0aGUgdmlkZW9zaW5rIHNpbmtwYWQgZm9yIHBhc3NpbmcgRU9TLCBiZXR0ZXIKCSAgdG8gd2FpdCBmb3IgRU9TIGZyb20gdGhlIGJ1cy4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoZSBmaWxlc2luayBoYXMgYWxyZWFkeSBwcm9jZXNzZWQgaXQgYW5kIGlzCgkgIHJlYWR5IHRvIGNsb3NlIHRoZSBmaWxlLiBUaGlzIGlzIHVzZWQgdG8gbm90aWZ5IGFwcGxpY2F0aW9ucwoJICB0aGF0IGNhbWVyYWJpbjIgaXMgaWRsZSBhbmQgY2FuIGJlIHNodXQgZG93bi4KCjIwMTEtMDMtMTggMTU6NDk6MTIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBjYW1lcmFiaW4yOiB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgcmVhZC1vbmx5IG1heC16b29tIHByb3AKCSAgVGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gYW55IG9mIG91ciByZWFsIHNvdXJjZXMgdG8gd2hpY2ggd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBtaWdodCBjb25uZWN0IGJ1dCB0aGlzIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgaW1wbGVtZW50ZWQgYXQgYW55IHRpbWUuIEEKCSAgbGltaXQgb24gdGhlIHNvZnR3YXJlIHpvb20gbGV2ZWwgdXNpbmcgdmlkZW97Y3JvcCxzY2FsZX0gd291bGQgYmUgYXJiaXRyYXJ5LgoKMjAxMS0wMy0yMyAxMjozODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJbXByb3ZlIGlkbGUgcHJvcGVydHkgdXNhZ2UKCSAgVXNlIHJlc291cmNlIHdhcm5pbmcgbWVzc2FnZXMgdG8gbm90aWZ5IGNhbWVyYWJpbjIgdGhhdCBhIGNhcHR1cmUKCSAgYXMgYWJvcnRlZCBvciBjb3VsZG4ndCBiZSBzdGFydGVkLCBtYWtpbmcgaXQgZGVjcmVtZW50IHRoZQoJICBwcm9jZXNzaW5nIGNvdW50ZXIgYW5kIG1ha2luZyB0aGUgaWRsZSBwcm9wZXJ0eSBtb3JlIHJlbGlhYmxlLgoKMjAxMS0wMy0yMiAxMjowNDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE5vIG5lZWQgdG8gZm9yY2UgYXVkaW9zcmMgdG8gbnVsbCBvbiBzdG9wX2NhcHR1cmUKCSAgU2V0dGluZyB0aGUgYXVkaW8gc291cmNlIHRvIG51bGwgaXNuJ3QgbmVlZGVkIGFuZCBpdCBjb3VsZAoJICBtYWtlIHRoZSBFT1MgdGhhdCBpcyBzdGlsbCBmbG93aW5nIGJlIGRyb3BwZWQgaWYgYXV0b2F1ZGlvc3JjCgkgIGlzIHVzZWQgYmVjYXVzZSBpdHMgcGFkcyBnbyBmbHVzaGluZyBiZWZvcmUgdGhlIEVPUyBnZXRzIHB1c2hlZAoJICBmcm9tIHRoZSByZWFsIHNvdXJjZS4KCjIwMTEtMDMtMjIgMDg6MzI6NDggLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IENoZWNrIGlmIHNldCBwcmV2aWV3IGNhcHMgYXJlIHRoZSBzYW1lCgkgIENoZWNrcyBpZiB0aGUgbmV3IHJlY2VpdmVkIHByZXZpZXctY2FwcyBhcmUgZXF1YWwgdG8gd2hhdCBpcwoJICBhbHJlYWR5IGluIHVzZSwgc2tpcHMgdGhlIHByZXZpZXctY2FwcyBzZXR0aW5nIGxvZ2ljIGluIGNhc2UKCSAgbmV3IGNhcHMgYXJlIHNhbWUgYXMgY3VycmVudCBvbmVzLgoKMjAxMS0wMy0xNSAxNTo0NzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIGFub3RoZXIgJ2lkbGUnIHRlc3QKCSAgQWRkcyBhbm90aGVyIHRlc3QgdGhhdCBjaGVja3MgdGhhdCB0aGUgaWRsZSBwcm9wZXJ0eSB3b3JrcwoJICBjb3JyZWN0bHkgd2hlbiBib2d1cyBzdGFydC1jYXB0dXJlIGNhbGxzIGFyZSBtYWRlLgoJICBUaGlzIGZhaWxzIGN1cnJlbnRseSwgYnV0IHNob3VsZCByZW1pbmQgdXMgb2YgZml4aW5nIGl0IGluCgkgIHRoZSBmdXR1cmUgYnkgZGVmaW5pbmcgYSBwcm9wZXIgZXJyb3IgcmVwb3J0aW5nIGZyb20gY2FtZXJhCgkgIHNvdXJjZXMgdG8gY2FtZXJhYmluMgoKMjAxMS0wMy0xNSAxNTozNDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBTcHJpbmtsZSBzb21lICdpZGxlJyBwcm9wZXJ0eSBjaGVja3MKCSAgQWRkcyBzb21lIGNoZWNrcyBmb3IgJ2lkbGUnIHByb3BlcnR5IGluIGNhbWVyYWJpbjIgdGVzdHMKCjIwMTEtMDMtMTUgMTU6MTE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZHMgbmV3IGlkbGUgcHJvcGVydHkKCSAgQWRkcyBpZGxlIHByb3BlcnR5IChqdXN0IGxpa2UgY2FtZXJhYmluMSksIGEgYm9vbGVhbiB0aGF0CgkgIGlzIHRydWUgd2hlbiBjYW1lcmFiaW4yIGlzbid0IHByb2Nlc3NpbmcgYW5kIGNhbiBiZSBzaHV0IGRvd24KCSAgd2l0aG91dCBsb3NpbmcgZGF0YS4KCjIwMTEtMDMtMTUgMTA6NTA6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyB0ZXN0cyBmb3IgbmV3IGltYWdlIGNhcHR1cmUgcHJvcGVydGllcwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIHRoYXQgY2hhbmdpbmcgZW5jb2Rlci9tdXhlciBmb3IgaW1hZ2UgY2FwdHVyZQoJICB3b3JrcwoKMjAxMS0wMy0xNSAxMDoxMTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBwcm9wZXJ0aWVzIGZvciBpbWFnZSBjYXB0dXJlIHNldHRpbmdzCgkgIEFkZHMgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIGltYWdlIGVuY29kZXIgYW5kIG11eGVyIGZvcgoJICBpbWFnZSBjYXB0dXJlCgoyMDExLTAzLTE0IDE0OjMzOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTW9yZSBkZWJ1ZyBsb2cKCSAgU21hbGwgcmVmYWN0b3JpbmcgYW5kIGFkZGluZyBtb3JlIGRlYnVnIGxvZyB0byBlbmNvZGViaW4gcmVsYXRlZAoJICBwYXRocwoKMjAxMS0wMy0xNCAxNDozMDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFNldCBwcmV2aWV3IHBpcGVsaW5lIE5VTEwKCSAgU2V0IHByZXZpZXcgcGlwZWxpbmUgdG8gTlVMTCB3aGVuIGZyZWVkIHRvIGJlIGFibGUgdG8KCSAgcmVjcmVhdGUgaXQgb24gdGhlIGZvbGxvd2luZyBsaW5lcwoKMjAxMS0wMy0yMyAyMjowMjozNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBmcmFtZSBzaXplIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBzaXplIG9mIHRoZSBmcmFtZSAobnVtYmVyIG9mIGJ5dGVzIGZyb20gb25lIHN5bmMgcG9pbnQKCSAgdG8gdGhlIG5leHQpIGFzIHRoZSAiZnJhbWVfc2l6ZSIgZmllbGQgaW4gY2Fwcy4KCjIwMTEtMDMtMDkgMjM6MDM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgYmxvY2sgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgc2V0cyB0aGUgImJsb2NrX3NpemUiIGZpZWxkIG9uIGNhcHMgYXMgdGhlIG51bWJlciBvZiBzYW1wbGVzCgkgIGVuY29kZWQgaW4gb25lIGZyYW1lLgoKMjAxMS0wMy0yMiAyMDo1MzowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYWxzbyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxMzoxODowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNoYWluIHVwIHRvIHBhcmVudCBmaW5hbGl6ZQoKMjAxMS0wMy0yMiAxMzo0Njo0MiArMDEwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBDb3JyZWN0bHkgaGFuZGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggc3RvcD09LTEKCSAgRml4ZXMgYnVnICM2NDU0MjAuCgoyMDExLTAzLTIyIDEyOjM0OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKQoJICBjbGVhbmVkIHRoZSByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkgaW4gY29uZmlndXJlLmFjCgoyMDExLTAzLTE4IDE5OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogd2luZ28gc2lnbmVkIGNvbW1lbnQKCjIwMTEtMDMtMjEgMTM6MzE6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHplYnJhc3RyaXBlOiBBZGQgbmV3IEdzdFZpZGVvRmlsdGVyMiBiYXNlIGNsYXNzCgkgIEFuIGV4cGVyaW1lbnQuICBOb3QgY29tcGxldGVseSBoYXBweSB3aXRoIGl0LgoKMjAxMS0wMy0yMSAyMDo0MDoxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIGFsbCBJU084ODU5LXggZW5jb2RpbmdzIGluIGdldF9lbmNvZGluZygpCgkgIC4uLiBhY2NvcmRpbmcgdG8gRVRTSSBFTiAzMDAgNDY4LCAiU2VsZWN0aW9uIG9mIGNoYXJhY3RlciB0YWJsZSIKCjIwMTEtMDItMjEgMTE6NDQ6MDEgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgdHJ5IHRvIHBhcnNlIHBhY2tldHMgY29udGFpbmluZyBzZWN0aW9uIGRhdGEgYXMgUEVTCgoyMDExLTAyLTIxIDExOjQyOjU0ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBzdHJlYW0gdHlwZXMgZm9yIERTTSBDQyBBLCBCLCBDLCBECgoyMDExLTAzLTIxIDE4OjU0OjQ2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZml4IHBsYXliYWNrIGlmIFBNVCBpcyBzZWVuIGJlZm9yZSBQQVQKCSAgVGhlIHN0cmVhbSBmb3IgdGhlIFBNVCBwaWQgaGFzIHRvIGJlIGNsZWFyZWQgc2luY2UgdGhlIHZlcnNpb24gY2hlY2tpbmcKCSAgaW4gdGhlIHBhY2tldGl6ZXIgd29uJ3QgZW1pdCB0aGUgc2FtZSBQTVQgYWdhaW4gb3RoZXJ3aXNlLgoKMjAxMS0wMy0yMSAxNjo1MToxNiArMDEwMCAgQW5kcmVhcyBGcmlzY2ggPGFuZHJlYXMuZnJpc2NoQG11bHRpbWVkaWEtbGFicy5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU2V0IHBhcnNlZD10cnVlIGluIHRoZSBzcmNwYWQgY2FwcwoJICBGaXhlcyBidWcgIzY0NTQxMi4KCjIwMTEtMDMtMjEgMTA6Mzg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogTG93ZXIgdGhlIHJhbmsgdG8gTUFSR0lOQUwKCSAgVGhlIHJhdGlvbmFsZSBpcyB0aGF0IGl0IGNhbid0IGJlIHByb3Blcmx5IHVzZWQgcmlnaHQgbm93IHdoZW4gdXNpbmcKCSAgaXQgdG8gZW5jb2RlIG1wZWcydmlkZW8gYmVjYXVzZSBvZiB0aGUgbmVlZHMtdG8tYmUtcmV3cml0dGVuIHByb3BlcnRpZXMKCSAgYW5kIGZvcm1hdCBuZWdvdGlhdGlvbi4gT3RoZXIgZW5jb2RlcnMgd2lsbCBuZWdvdGlhdGUgaW4gYSBtdWNoIHNhbmVyCgkgIGZhc2hpb24uCgkgIE9uZSBzdWNoIGV4YW1wbGUgaXMgdGhhdCB3aGVuIHlvdSBwaWNrIG1wZWcyZW5jIGZvciBtcGVnMnZpZGVvLCB0aGUKCSAgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlICdmb3JtYXQnIHByb3BlcnR5IGlzICJHZW5lcmljIE1QRUctMSIsIHdoaWNoIGlzCgkgIGNvbXBsZXRlbHkgd3JvbmcgaWYgZG93bnN0cmVhbSBjYXBzIGFyZSBtcGVnMi4gVGhlIHdob2xlIG5lZ290aWF0aW9uCgkgIGNvZGUgbmVlZHMgc29tZSBzZXJpb3VzIGxvdmluZyBiZWZvcmUgdGhpcyBwbHVnaW4gY2FuIGJlIGJ1bXBlZCBiYWNrCgkgIHVwIHRvIGEgaGlnaGVyIHJhbmsuCgoyMDExLTAzLTE2IDA5OjUwOjM0ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBhZGQgImZyYW1lcy1kcm9wcGVkIiBhbmQgImZyYW1lcy1yZW5kZXJlZCIgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNDY5CgoyMDExLTAzLTE4IDA5OjMzOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBpbiB0aGUgSTQyMCBibGVuZGluZyBmdW5jdGlvbgoKMjAxMS0wMy0xNyAyMDoxOToyNyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCB1c2luZyBhbHBoYSB2YWx1ZXMgaW4gYmxpdHRpbmcuCgkgIFVzZSBlYWNoIHBpeGVsJ3Mgb3duIGFscGhhIHZhbHVlIGluc3RlYWQgb2YgYXZlcmFnZSBhbHBoYSB2YWx1ZSB3aGVuCgkgIGNhbGN1bGF0aW5nIGNvbG9yIGNvbXBvbmVudHMuIEZpeGVzIGJ1ZyAjNjM5NzYzLgoKMjAxMS0wMy0xNyAxNjozNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDMtMTYgMTU6NTM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIEZJWE1FIGZvciBtYWtpbmcgdGhlIGJhc2UgY2xhc3MgdXNlIHhpbmcgc2VlayB0YWJsZXMgYmV0dGVyCgoyMDExLTAzLTE3IDE2OjQxOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCB1c2UgInN1biIgYXMgYSB2YXJpYWJsZSBuYW1lLCBicmVha3Mgb24gU29sYXJpcwoJICBTZWVtcyBsaWtlIHRoZSBTb2xhcmlzIGNvbXBpbGVyIGhhcyAtRHN1bj0xLCBzbyBkb24ndCB1c2UKCSAgc3VuIGFzIGEgdmFyaWFibGUgbmFtZQoJICBQYXRjaCBieSBUaW0gTW9vbmV5IDxtb29uZXlAZG9nYmVydC5jYy5uZHN1Lm5vZGFrLmVkdT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTA1MwoKMjAxMS0wMy0xNyAxNToyNzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzaG06IENoZWNrIGZvciBNU0dfTk9TSUdOQUwgbWFjcm8KCSAgRG9uJ3QgYnVpbGQgdGhlIHBsdWdpbiBpcyBNU0dfTk9TSUdOQUwgaXMgbm90IGRlZmluZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTA1MwoKMjAxMS0wMy0xNiAxODo1MjoyNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogS2VlcCBzaG1zaW5rIHJlZmVyZW5jZWQgd2hpbGUgdGhlcmUgYXJlIHN0aWxsIGJ1ZmZlcnMgYXJvdW5kCgoyMDExLTAzLTE2IDE4OjUxOjUwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBbGxvdyBTaG1QaXBlIHRvIHNhdmUgYSBkYXRhIHBvaW50ZXIgZm9yIGFwcGxpY2F0aW9ucwoKMjAxMS0wMy0xNiAxODo1MTowMiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBLZWVwIHRoZSBTaG1QaXBlIGFsaXZlIGFzIGxvbmcgYXMgdGhlcmUgYXJlIGJsb2NrcyBsZWZ0CgoyMDExLTAzLTA5IDE5OjM0OjM5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IE9ubHkgY29ubmVjdCB0byBzaW5rIGluIFBMQVlJTkcgaW4gbGl2ZSBtb2RlCgoyMDExLTAzLTA5IDE5OjM0OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEtlZXAgR3N0UG9sbCBmb3Igd2hvbGUgc3JjIGxpZmV0aW1lCgoyMDExLTAzLTE1IDA5OjE1OjM1IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgYW4gYXNzZXJ0aW9uIHRvIHByZXZpZXcgcGlwZWxpbmUgZ2VuZXJhdGlvbgoJICBBZGRzIGFuIGFzc2VydGlvbiBpbiBjYXNlIHRoZSBwcmV2aWV3IHBpcGVsaW5lIGlzIE5VTEwgYW5kIGFsc28KCSAgZXhwbGljaXRseSBpbml0aWFsaXplcyBwcmV2aWV3IGNhcHMgdG8gTlVMTCBmb3IgY2xhcml0eS4KCjIwMTEtMDMtMTQgMTg6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBBZGQgZGVwdGggYW5kIGVuZGlhbm5lc3MgdG8gdGhlIGNhcHMKCSAgU29tZSBkZWNvZGVycyBjYW4gb25seSBoYW5kbGUgc3BlY2lmaWMgZW5kaWFubmVzcyBvciBhIGZpeGVkCgkgIGRlcHRoIGFuZCB0aGlzIGFsbG93cyBiZXR0ZXIgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjQ0MjA4LgoKMjAxMS0wMy0xNCAxMjozOToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBicm9rZW4gcGFkIGNhcHMgcmVmY291bnQgaGFuZGxpbmcKCSAgZ3N0X2NhcHNfbWFrZV93cml0YWJsZSgpIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQgaW4sIGJ1dAoJICB0aGUgY2FsbGVyIGRvZXNuJ3Qgb3duIGEgcmVmIHRvIHRoZSBjYXBzIGhlcmUsIGJlY2F1c2UgR1NUX1BBRF9DQVBTCgkgIGRvZXNuJ3QgcmV0dXJuIGEgcmVmLiBMb29rcyBsaWtlIHRoZSBjb2RlIHJlbGllZCBvbiBhIGNhcHMgbGVhawoJICBlbHNld2hlcmUgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS4KCjIwMTEtMDMtMTQgMTI6MzM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBlcnJvciBvdXQgaWYgZG93bnN0cmVhbSBmYWlscyB0byBoYW5kbGUgdGhlIG5ld3NlZ21lbnQgZXZlbnQKCSAgSWYgZG93bnN0cmVhbSBkb2Vzbid0IGhhbmRsZSB0aGUgbmV3c2VnbWVudCBldmVudCwgZG9uJ3QgZXJyb3Igb3V0IChlc3AuCgkgIG5vdCB3aXRob3V0IHBvc3RpbmcgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzKSwgYnV0IGp1c3QgY29udGludWUuCgkgIElmIHRoZXJlJ3MgYSBwcm9ibGVtLCB3ZSdsbCBmaW5kIG91dCB3aGVuIHdlIHN0YXJ0IHB1c2hpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxMS0wMy0xMSAxNDo0MDo0NCArMDAwMCAgQW5kcmVhcyBGcmlzY2ggPGFuZHJlYXMuZnJpc2NoQG11bHRpbWVkaWEtbGFicy5kZT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wMy0xMSAxODoyMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBxdWV1ZXMgdG8gc2lsZW50CgkgIE9wdGltaXplIGEgbGl0dGxlIGJ5IHNldHRpbmcgcXVldWVzIHRvIHNpbGVudAoKMjAxMS0wMy0xMSAxNjoyMDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVmYWN0b3JpbmcgZW5jb2RlYmluIHVzYWdlCgkgIFJlZmFjdG9yIHNvbWUgY29tbW9uIGNvZGUgcmVnYXJkaW5nIGVuY29kZWJpbiB1c2FnZSBpbiBjYW1lcmFiaW4yCgoyMDExLTAzLTExIDE3OjA3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBudW1iZXIgb2YgaXRlcmF0aW9uIG9mIHRlc3RzCgkgIFRoZXJlIGFyZSAzIHRhZ2xpc3QgdGVzdHMsIG5vdCAyCgoyMDExLTAzLTExIDEwOjMyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBTb21lIG1lbWxlYWsgZml4ZXMKCjIwMTEtMDMtMDggMDk6NDM6NTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgYmFzZWNhbWVyYXNyYzogd3JhcHBlcmNhbWVyYWJpbnNyYzogY2FtZXJhYmluMjogRXhwb3NlL2FkZCBmbG9hdGluZyBwb2ludCB6b29tIHByb3BlcnR5CgoyMDExLTAzLTA0IDE1OjUzOjQyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSBkZWFkIGRlZmluaXRpb24KCSAgVGhpcyBkZWZpbml0aW9uIGlzIHVudXNlZCBpbiB0aGlzIGNvZGUuCgoyMDExLTAzLTEwIDExOjM4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQXZvaWQgY2xlYXJpbmcgcmVjb3JkaW5nIGNhcHMKCSAgV2hlbiByZWNvcmRpbmcgMiB2aWRlb3MgaW4gc2VxdWVuY2Ugd2l0aCB0aGUgc2FtZSB2aWRlby1jYXB0dXJlLWNhcHMsCgkgIHRoZSBzZWNvbmQgdmlkZW8gd291bGQgZ2V0IGEgbm90LW5lZ290aWF0ZWQgZXJyb3IgYmVjYXVzZSB0aGUKCSAgc3JjIGNhcHMgd2VyZSBiZWluZyBjbGVhcmVkIHdpdGhvdXQgYW55IGludGVudGlvbiBvZgoJICByZW5lZ290aWF0aW5nIGl0IGJhY2sgdG8gdGhlIHJlcXVlc3RlZCBjYXB0dXJlIGNhcHMuCgkgIFRoaXMgcGF0Y2ggYXZvaWRzIHRoaXMgY2FwcyByZXNldCBwcm9jZWR1cmUgdW5sZXNzIGEgbmV3CgkgIGNhcHMgd2FzIHNldC4KCjIwMTEtMDMtMTEgMTQ6Mzc6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEFkZCBjb3JyZWN0IHRlbXBsYXRlIGNhcHMgYW5kIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wMy0xMSAxMDo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZml4IExEQUREL0xJQlMgcGF0aCBvcmRlciBmb3IgY2FtZXJhYmluMiBleGFtcGxlCgoyMDExLTAzLTExIDEwOjM0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgbGVhayBlbGVtZW50IG5hbWUgc3RyaW5ncwoJICBEb24ndCBsZWFrIHN0cmluZyBjb3B5IHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2dldF9uYW1lKCkuIEFsc28sIGNoZWNrCgkgIGZvciBjZXJ0YWluIGVsZW1lbnRzIGJ5IGNoZWNraW5nIHRoZSBwbHVnaW4gZmVhdHVyZSAvIGZhY3RvcnkgbmFtZSwgbm90CgkgIHRoZSBhc3NpZ25lZCBvYmplY3QgbmFtZS4KCjIwMTEtMDMtMTEgMTA6MjY6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICBidWlsZDogcmVtb3ZlIG1vcmUgdGFya2luL3RoZW9yYWV4cCBidWlsZCBjcnVmdAoKMjAxMS0wMy0xMCAxMzozOTo0MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSogZXh0L3Rhcmtpbi9SRUFETUU6CgkqIGV4dC90YXJraW4vVE9ETzoKCSogZXh0L3Rhcmtpbi9XSEFUX1RIRV9IRUNLX0lTX1RISVNfQ09ERV9ET0lORzoKCSogZXh0L3Rhcmtpbi9iaXRjb2Rlci5oOgoJKiBleHQvdGFya2luL2dvbG9tYi5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbi5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJKiBleHQvdGFya2luL2luZm8uYzoKCSogZXh0L3Rhcmtpbi9tZW0uYzoKCSogZXh0L3Rhcmtpbi9tZW0uaDoKCSogZXh0L3Rhcmtpbi9ybGUuaDoKCSogZXh0L3Rhcmtpbi90YXJraW4uYzoKCSogZXh0L3Rhcmtpbi90YXJraW4uaDoKCSogZXh0L3Rhcmtpbi93YXZlbGV0LmM6CgkqIGV4dC90YXJraW4vd2F2ZWxldC5oOgoJKiBleHQvdGFya2luL3dhdmVsZXRfY29lZmYuYzoKCSogZXh0L3Rhcmtpbi93YXZlbGV0X3hmb3JtLmM6CgkqIGV4dC90YXJraW4veXV2LmM6CgkqIGV4dC90YXJraW4veXV2Lmg6CgkqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgdGhlb3JhLHRhcmtpbjogUmVtb3ZlIGFuY2llbnQgdW51c2VkIGNvZGUKCjIwMTEtMDMtMTAgMTY6MDM6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIGZvciBQVFMgbWV0YWRhdGEgd2hlbiBzbyBjb25maWd1cmVkCgkgIC4uLiBhbmQgbm90IG9ubHkgd2hlbiBzb3J0LW9mIGZlZWxpbmcgbGlrZSBpdC4KCSAgSW4gYW55IGNhc2UsIGlmIGl0IHR1cm5zIG91dCBhbGwgcmVhbGx5IGlzIGluIG9yZGVyLAoJICBhbmQgcHJlc3VtYWJseSBEVFMgPT0gUFRTLCB0aGVuIG5vIGN0dHMgd2lsbCBiZSBwcm9kdWNlZCBhbnl3YXkuCgoyMDExLTAzLTEwIDE2OjAyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWxzbyB0cmFjayBvcmlnaW5hbCBQVFMgYnVmZmVyIHRpbWVzdGFtcCBpbiByZW9yZGVyIGR0cy1tZXRob2QKCjIwMTEtMDMtMDkgMTQ6NTM6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGb3JjZSBFT1Mgb24gYXVkaW8gc3JjCgkgIFdlIGNhbid0IHJlbHkgb24gYXVkaW8gc291cmNlcyBwdXNoaW5nIEVPUyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgYmVjYXVzZSB0aGlzIGlzIGEgYmFzZXNyYyBiYWhhdmlvciBhbmQgd2hlbiB1c2VkIGluc2lkZSBhdXRvYXVkaW9zcmMKCSAgdGhlIGdob3N0cGFkIGdvZXMgZmx1c2hpbmcgYmVmb3JlIHRoZSByZWFsIHNvdXJjZSBwdXNoZXMgdGhlIEVPUywKCSAgc28gaXQgaXMgZHJvcHBlZC4KCjIwMTEtMDMtMDQgMDY6MDY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBObyBuZWVkIGZvciBzdGFydGluZyBzZWdtZW50CgoyMDExLTAzLTA0IDA2OjA5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBnc3RjYW1lcmFiaW4yOiBTZXQgZW5jb2RlYmluJ3MgdmlkZW9yYXRlIGFuZCBhdWRpb3JhdGUgcHJvcGVydGllcwoJICBMaXN0ZW4gdG8gZW5jb2RlYmluJ3MgZWxlbWVudC1hZGRlZCBzaWduYWwgdG8gYmUgYWJsZSB0byBzZXQKCSAgc2tpcC10by1maXJzdCBvbiBib3RoIGF1ZGlvcmF0ZXMgYW5kIHZpZGVvcmF0ZXMuCgoyMDExLTAyLTE1IDE0OjU4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIGF1ZGlvIGVsZW1lbnRzIHN0YXRlcwoJICBBdWRpbyBlbGVtZW50cyBhcmUgcHV0IGludG8gYmluIG9ubHkgd2hlbiBuZWVkZWQsIHNvIHdlIG5lZWQKCSAgdG8gYmUgY2FyZWZ1bCB3aXRoIHRoZWlyIHN0YXRlcyBhcyBjYW1lcmFiaW4yIHdvbid0IG1hbmFnZQoJICB0aGVtIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIGJpbi4KCSAgQWxzbyB3ZSBzaG91bGQgcmVzZXQgdGhlaXIgcGFkJ3MgZmx1c2hpbmcgc3RhdHVzIGJlZm9yZQoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlLgoKMjAxMS0wMS0yMSAxMjo0Nzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRlc3RzOiBVcGRhdGUgdGVzdHMgdG8gY2hlY2sgZm9yIGF1ZGlvIHN0cmVhbXMKCSAgQWRkIGEgY2hlY2sgdGhhdCByZXN1bHRpbmcgcmVjb3JkZWQgdmlkZW8gZmlsZXMgaGF2ZSBhdWRpbyBzdHJlYW1zLgoKMjAxMS0wMS0yMSAxMDo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluOiBhZGRpbmcgYXVkaW8gcmVsYXRlZCBwcm9wZXJ0aWVzCgkgIEFkZHMgNCBhdWRpbyBwcm9wZXJ0aWVzIHJlbGF0ZWQgdG8gYXVkaW8gcmVjb3JkaW5nCgkgICogYXVkaW8tc3JjCgkgICogbXV0ZQoJICAqIGF1ZGlvLXN1cHBvcnRlZC1jYXB0dXJlLWNhcHMKCSAgKiBhdWRpby1jYXB0dXJlLWNhcHMKCjIwMTEtMDEtMjAgMDk6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBhdWRpbyBzdXBwb3J0IGZvciB2aWRlbyByZWNvcmRpbmdzCgkgIEFkZHMgYW4gYXVkaW8gc291cmNlIGFuZCBhdWRpbyBjYXBzZmlsdGVyL3F1ZXVlL2NvbnZlcnQsIGNyZWF0aW5nCgkgIGEgbmV3IGJyYW5jaCBvbiBjYW1lcmFiaW4yIHRoYXQgaXMgdXNlZCB0byBmZWVkIGVuY29kZWJpbiB3aXRoCgkgIGF1ZGlvIGJ1ZmZlcnMgZm9yIHZpZGVvIHJlY29yZGluZy4KCjIwMTEtMDItMjggMTU6NDM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgbG9nZ2luZyBmb3Igc3RvcC1jYXB0dXJlIHNpZ25hbAoKMjAxMS0wMi0yNCAxODoyODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB2aWV3ZmluZGVyIGNhcHMgcmVsYXRlZCBwcm9wZXJ0aWVzCgkgIEFkZHMgcHJvcGVydGllcyB0byBjaGVjayB3aGF0IGNhcHMgYXJlIHN1cHBvcnRlZCBvbiB0aGUKCSAgdmlld2ZpbmRlciAoZnJvbSB0aGUgY2FtZXJhc3JjIHZpZXdmaW5kZXIgcGFkKSBhbmQgYW5vdGhlcgoJICBvbmUgdG8gc2V0IGEgY2FwcyBmb3IgdGhlIHZpZXdmaW5kZXIuCgoyMDExLTAyLTI0IDE3OjQyOjIxIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGFkZCB2aXJ0dWFsIGZ1bmN0aW9uIHRvIG5vdGlmeSBzdWJjbGFzcyBvZiBjaGFuZ2luZyBwcmV2aWV3IGNhcHMKCSAgQWRkcyBhIHZpcnR1YWwgZnVuY3Rpb24gdG8gYmFzZWNhbWVyYXNyYyBpbiBjYXNlIHN1YmNsYXNzZXMgd2FudCB0byBiZQoJICBub3RpZmllZCBvZiBjaGFuZ2luZyBwcmV2aWV3IGNhcHMuIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBzdWJjbGFzcyB3YW50cwoJICB0byBwb3N0IHRoZSBwcmV2aWV3IGl0c2VsZiBvciBpZiBpdCB3YW50cyB0byBwcm92aWRlIGEgcHJldmlldyBidWZmZXIKCSAgYXMgY2xvc2UgdG8gYXMgcG9zc2libGUgdG8gdGhlIHVzZXIncyByZXF1ZXN0ZWQgcmVzb2x1dGlvbiB0byB0aGUKCSAgcHJldmlldyBnZW5lcmF0aW9uIHBpcGVsaW5lLgoKMjAxMS0wMi0yMiAxMzoxMDoxNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgb3B0aW9uIGZvciBzZXR0aW5nIHRoZSB3cmFwcGVyIGNhbWVyYSBzb3VyY2UKCjIwMTEtMDItMjEgMTc6MDQ6MDYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIGVuY29kaW5nIHByb2ZpbGUgbG9hZGluZwoKMjAxMS0wMi0xNyAxNDo1MToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBuZXdzZWdtZW50IHB1c2hpbmcKCSAgU2VuZCB1cGRhdGUgbmV3c2VnbWVudHMgaW5zdGVhZCBvZiBub24tdXBkYXRlIG9uZXMKCSAgZm9yIHRoZSB2aWRlbyBicmFuY2ggd2hlbiBzdGFydGluZyByZWNvcmRpbmdzCgoyMDExLTAyLTE1IDE0OjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHNvbWUgcXVldWUncyBwcm9wZXJ0aWVzCgkgIFNldHMgdmlld2ZpbmRlciBxdWV1ZSB0byBsZWFreSBhbmQgdGVsbCBpbWFnZSBicmFuY2gKCSAgcXVldWUgdG8gZG9uJ3QgY2FyZSBhYm91dCBkdXJhdGlvbnMKCjIwMTEtMDItMTAgMTE6NTA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWFkeSBpcyBlbm91Z2ggZm9yIGZvcmNpbmcgYSBjYXBzIGNoYW5nZQoKMjAxMS0wMi0wOSAxOToxNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IENoZWNrIGZvciBkb3duc3RyZWFtIGNhcHMgb24gZmlyc3QgY2FwdHVyZXMKCSAgVXNlIHZpZGVvX3JlbmVnb3RpYXRlIGFuZCBpbWFnZV9yZW5lZ290aWF0ZSBib29sZWFucyB0byBtYWtlCgkgIHRoZSB2aWRlb3NyYyBuZWdvdGlhdGUgdGhlIGNhcHR1cmUgY2FwcyBvbiB0aGUgZmlyc3QgY2FwdHVyZSBiZWNhdXNlCgkgIHRoZSBjYXBzIG1pZ2h0IGJlIHNldCBiZWZvcmUgd3JhcHBlcmNhbWVyYWJpbnNyYyBnb2VzIGludG8gUExBWUlORwoJICBhbmQgcGFkcyBkcm9wIHRoZSBpbnRlcm5hbCByZW5lZ290aWF0ZSBldmVudC4KCSAgVGhpcyBpcyByZXF1aXJlZCBhcyB0aGUgb3V0cHV0LXNlbGVjdG9yIGlzIHVzaW5nIHRoZSAnbm9uZScgbmVnb3RpYXRpb24KCSAgbW9kZS4KCjIwMTEtMDItMDkgMTk6MDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBdm9pZCBmaXhhdGluZyBjYXB0dXJlIGNhcHMKCSAgV2hlbiBzZXR0aW5nIHRoZSBpbnRlcm5hbCBjYXBzZmlsdGVyIGNhcHMgZm9yIGNhcHR1cmUgd2Ugc2hvdWxkIHB1dAoJICB0aGUgZnVsbCBjYXBzIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGZpeGF0ZSBpdCBvdXJzZWx2ZXMuIFRoaXMgd2F5IHdlIGxldAoJICB0aGUgZWxlbWVudHMgKGFuZCBtb3N0bHkgdGhlIHNvdXJjZSkgc2VsZWN0IHRoZSBiZXN0IGZvcm1hdCBpbnN0ZWFkCgkgIG9mIGRlZmF1bHRpbmcgdG8gd2hhdCB0aGUgcGFkIGZpeGF0aW9uIGZ1bmN0aW9uIHBpY2tzLgoKMjAxMS0wMi0wOSAwODoyNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFsbG93IGZyZWUgaW1hZ2UgZGltZW5zaW9ucwoJICBDaGFuZ2VzIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodCBvZiBjYXB0dXJlcyBzbyB0aGF0IGl0IHdpbGwKCSAgYmUgYXV0b3BpY2tlZCBieSBjYW1lcmFiaW4yIGluc3RlYWQgb2YgaGFyZGNvZGluZyBhbiBvcHRpb24KCjIwMTEtMDItMDkgMDg6MTU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBCYWNrcG9ydCBmaXggZnJvbSBjYW1lcmFiaW4gZXhhbXBsZQoJICBXZSBzaG91bGQgb25seSBjaGVjayBpZiB0aGUgeHdpbmRvdyBzaG91bGQgYmUgY3JlYXRlZCBpZiB3ZSBhbHJlYWR5CgkgIHBhcnNlZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcm9ncmFtCgoyMDExLTAyLTA0IDE0OjUzOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogTW92aW5nIHByZXZpZXcgaW1hZ2UgcHJvcGVydGllcyB0byBiYXNlY2FtZXJhc3JjCgkgIE1vdmVzIHByZXZpZXcgaW1hZ2UgcmVsYXRlZCBwcm9wZXJ0aWVzIHRvIGJhc2VjYW1lcmFzcmMgYXMgdGhhdAoJICBzaG91bGQgYmUgcHJlc2VudCBvbiBhbGwgY2FtZXJhc3JjcwoKMjAxMS0wMi0wOCAxNTo1MTo0MiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBGaXggZ2V0dGluZyBlbGVtZW50IGltcGxlbWVudGluZyBwaG90b2dyYXBoeSBpZmFjZQoKMjAxMS0wMi0wMyAxMjowMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgcHJldmlldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGJhc2VjYW1lcmFiaW5zcmMKCSAgTW92ZSBwcmV2aWV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYmFzZWFjYW1lcmFiaW5zcmMgc28gdGhleSBjYW4KCSAgYmUgcmV1c2VkIGJ5IG11bHRpcGxlIGNhbWVyYWJpbjIgc291cmNlcy4KCjIwMTEtMDItMDMgMTY6NTg6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgZ3N0LWNhbWVyYWJpbjItdGVzdCBleGFtcGxlIGFwcGxpY2F0aW9uLCBzaW1pbGFyIHRvCgkgIGdzdC1jYW1lcmFiaW4tdGVzdCBmb3IgY2FtZXJhYmluLgoJICBJdCBpcyB1c2VmdWwgZm9yIHRha2luZyBwaWN0dXJlcyBhbmQgcmVjb3JkaW5nIHZpZGVvcyB1c2luZwoJICBjYW1lcmFiaW4yIGFuZCBwcm92aWRpbmcgYXJndW1lbnRzIGZvciBtb3N0IG9mIGNhbWVyYWJpbjIKCSAgcHJvcGVydGllcwoKMjAxMS0wMi0wNCAxMjozNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB2aWV3ZmluZGVyLXNpbmsgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldCB0aGUgdmlld2ZpbmRlcidzIHNpbmsgb2YgY2FtZXJhYmluMgoKMjAxMS0wMy0wOSAxMzoxOTo1MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogZml4IGRvdWJsZSBmcmVlKCkgY3Jhc2hlcwoKMjAxMS0wMy0wOCAxNzoyOToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDggMTc6MDM6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIG1ldGE6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0wMy0wOCAxMToxOTo0MSArMDAwMCAgQnllb25nLXJ5ZW9sIEtpbSA8YnJvZmtpbXNAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9maWx0ZXJzOiBsaW5rIHRvIGxpYm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDE3NgoKMjAxMS0wMy0wNyAyMjo0MTozMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiB1cGRhdGUgdXJsIGZvciBwb3J0LWdyb3VwcyBleHRlbnNpb24KCjIwMTEtMDMtMDcgMTA6MzY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBUaGUgcGtnLWNvbmZpZyBmaWxlIGluIHZlcnNpb24gMS41IGlzIGNhbGxlZCBzb3VuZHRvdWNoCgoyMDExLTAyLTI2IDE2OjIwOjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHplYnJhc3RyaXBlOiBOZXcgZWxlbWVudAoJICBBZGRzIHplYnJhIHN0cmlwZXMgdG8gb3ZlcmV4cG9zZWQgdmlkZW8uCgoyMDExLTAzLTA0IDE3OjM3OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZXh0OiBBbHdheXMgZGlzdCB0aGUgY3VybCBkaXJlY3RvcnkKCSAgRXZlbnQgaWYgd2UgY2FuJ3QgYnVpbGQgaXQuIEZpeGVzIG1ha2UgZGlzdAoKMjAxMS0wMy0wNCAxNzoyNjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICBzZnNpbms6IHVzZSBiYXNlc2luayBwcmVyb2xsIGxvY2sKCjIwMTEtMDMtMDQgMTM6Mzk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBkaXNhYmxlIHVudGlsIHNvbWVvbmUgcG9ydHMgaXQKCjIwMTEtMDMtMDQgMTM6Mjk6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA0IDEyOjExOjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5CgoyMDExLTAzLTA0IDEyOjEwOjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmxzaW5rOiBGaXggcHJpbnQtcmVsYXRlZCBpc3N1ZXMKCjIwMTEtMDMtMDQgMTE6NTk6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5LgoKMjAxMS0wMy0wNCAwOToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkgIGZpZWxkYW5hbHlzaXM6IGFkZCBiYWNrdXAgZmlsZXMgZm9yIGNvbXBpbGluZyB3aXRob3V0IG9yYwoKMjAxMS0wMy0wMyAwMDo1NzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IGFsbG9jYXRlIEgyNjNQYXJhbXMgc3RydWN0IG9uIHRoZSBzdGFjawoJICBJdCdzIGZsYXQgYW5kIG5vdCBrZXB0IGFyb3VuZCBmb3IgbG9uZ2VyLgoKMjAxMS0wMy0wMyAwMDo0NToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IG1pbm9yIGNsZWFuLXVwcwoJICBjb25zdC1pZnkgc29tZSBhcmd1bWVudHMgYW5kIHJlLWluZGVudCBoZWFkZXIgYSBsaXR0bGUuCgoyMDExLTAyLTI4IDExOjUxOjU0ICswMTAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IGZpeCBzeW5jIHByb3BlcnR5IGRlZmF1bHQgdmFsdWUKCjIwMTEtMDMtMDIgMjM6NDM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogRml4IGNvbXBpbGF0aW9uIHdpdGggY2VsdCA+PSAwLjExLjAKCSAgRml4ZXMgYnVnICM2NDM2MDcuCgoyMDEwLTA5LTE1IDE3OjMyOjA5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIGZpZWxkYW5hbHlzaXM6IEFkZCBmaWVsZGFuYWx5c2lzIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGFuYWx5c2VzIHZpZGVvIGJ1ZmZlcnMgdG8gaWRlbnRpZnkgaWYgdGhleSBhcmUgcHJvZ3Jlc3NpdmUsCgkgIGludGVybGFjZWQgb3IgdGVsZWNpbmVkIGFuZCBvdXRwdXRzIGJ1ZmZlcnMgd2l0aCBhcHByb3ByaWF0ZSBmbGFncyBmb3IgYQoJICBkb3duc3RyZWFtIGVsZW1lbnQgKHdoaWNoIHdpbGwgYmUgdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQsIGFmdGVyIHNvbWUKCSAgZm9ydGhjb21pbmcgbW9kaWZpY2F0aW9ucykgdG8gYmUgYWJsZSB0byBvdXRwdXQgcHJvZ3Jlc3NpdmUgZnJhbWVzIGFuZAoJICBhZGp1c3QgdGltZXN0YW1wcyByZXN1bHRpbmcgaW4gYSBwcm9ncmVzc2l2ZSBzdHJlYW0uCgoyMDExLTAzLTAxIDExOjIzOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciByZWNlbnQgY2hhbmdlcyBpbiBnaXQKCjIwMTEtMDMtMDEgMTE6MTY6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGRvY3M6IGFkZCBuZXcgY3VybCBwbHVnaW4gYW5kIGN1cmxzaW5rIGVsZW1lbnQgdG8gZG9jcwoKMjAxMS0wMy0wMSAxMDo0OTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBjaGVjayBmb3IgcGxhdGZvcm0gc29ja2V0IGhlYWRlcnMgbmVlZGVkIGJ5IGN1cmxzaW5rIGVsZW1lbnQKCjIwMTEtMDMtMDEgMTA6MDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSAgY3VybHNpbms6IG5vIG5lZWQgZm9yIGEgcHJpdmF0ZSBpbnN0YW5jZSBzdHJ1Y3R1cmUKCSAgVGhlIGVudGlyZSBpbnN0YW5jZSBzdHJ1Y3R1cmUgaXMgcHJpdmF0ZSBhbnl3YXkuCgoyMDExLTAzLTAxIDA5OjU2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmxzaW5rOiBjbGVhbiB1cCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gY29kZQoJICBGaXggc29tZSB0eXBvcywgdXNlIHNhbWUgc3R5bGUgYXMgaW4gYWxsIG90aGVyIHBsdWdpbnMsIGF2b2lkaW5nCgkgIHVubmVjZXNzYXJ5IHRlbXBvcmFyeSBHUGFyYW1TcGVjIHZhcmlhYmxlczsgdXNlIEdfUEFSQU1fU1BFQ19TVEFUSUNfU1RSSU5HUy4KCjIwMTEtMDItMjYgMjA6MjE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGN1cmw6IGFkZCBjb25maWd1cmUgY2hlY2sgYW5kIGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgoyMDExLTAyLTI2IDIwOjIwOjMzICswMDAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkgIGN1cmw6IGFkZCBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudAoJICBTaW5rIGFjdHMgYXMgYSBjbGllbnQgYW5kIGNhbiBjb25uZWN0IHRvIHNlcnZlcnMgdG8KCSAgdXBsb2FkIG1lZGlhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDk2CgoyMDExLTAyLTI1IDE0OjI0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJICBqcDJrZGVjOiBwb3N0IHByb3BlciBlcnJvciB3aGVuIHRoZSBpbWFnZSdzIGNvbG91ciBzcGFjZSBpcyBub3Qgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMxMTUKCjIwMTEtMDItMjggMjA6MTk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGN5Z3dpbi9taW5ndzsgZW5hYmxlIHBsdWdpbiBsaW5raW5nIHRvIHN0YXRpYyBsaWIKCSAgVXNlZnVsIGZvciBEaXJlY3RYIHBsdWdpbihzKS4KCSAgRml4ZXMgIzY0MjUwNy4KCjIwMTEtMDItMjggMTk6NTg6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGV4cG9ydCBwbHVnaW4gZGVzY3JpcHRpb24gbW9yZSBwbGF0Zm9ybSBpbmRlcGVuZGVudAoJICBGaXhlcyAjNjQyNTA0LgoKMjAxMS0wMi0yOCAxODozMzoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFkZTdmNmEgdG8gNmFlYzZiOQoKMjAxMS0wMi0yNyAxOTozOTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIG1ldGE6IGZpeCBmb3IgbmV3IG1ldGFkYXRhIGFwaQoKMjAxMS0wMi0yNiAxNDo1NDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGY6IGZpeCBjbGFzcyBzdHJ1Y3QKCSAgRml4IGNsYXNzIHBhcmVudCBzdHJ1Y3R1cmUKCSAgTWV0YWRhdGEgaXMgbm93IEdPYmplY3QKCjIwMTEtMDItMjYgMTQ6MjI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIG1pbmlvYmplY3Q6IHBvcnQgcnNuZHZkCgoyMDExLTAyLTI2IDEzOjM5OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgbWluaW9iamVjdDogcG9ydCB0byBuZXcgMC4xMSBBUEkKCSAgUmVtb3ZlIG1pbmlvYmplY3QgYW5kIGJ1ZmZlciBzdWJjbGFzc2VzdXNpbmcgR09iamVjdCBzdWJjbGFzc2VzIGFuZAoJICBtZXRhZGF0YS4KCjIwMTEtMDItMjggMTI6MDY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wMi0yNiAxMzo1Mzo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ5Yjg5ZDVjNWExMjQ0ZmEwZGNiOGJiNDk5NmUzOGZiOWJmZjllNS4KCjIwMTEtMDItMjUgMTk6NTk6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBzZXQgZGl0aGVyaW5nIGVudW0gZGlyZWN0bHkKCjIwMTEtMDItMjUgMTk6NTc6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciByMjEwCgoyMDExLTAyLTIzIDE3OjI1OjAzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQKCjIwMTEtMDItMjMgMTc6MjQ6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgZml4CgoyMDExLTAyLTI0IDA5OjI5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IHRlc3RzOiBJbmNyZWFzZSBidXMgd2FpdGluZyB0aW1lb3V0CgkgIERvdWJsZSBidXMgd2FpdGluZyB0aW1lb3V0IGFzIHNvbWV0aW1lcyB0aGUgdGVzdCB3b3VsZCBmYWlsCgkgIGJlY2F1c2UgaXQgd291bGQgdGltZW91dCBhbmQgZ2V0IG5vIG1lc3NhZ2VzIGZyb20gdGhlIGJ1cy4KCjIwMTEtMDItMjEgMTM6MjQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW5hbWUgR1R5cGUgZnJvbSBHc3RBdWRpb0Jhc2VQYXJzZUJhZCB0byBHc3RCYXNlUGFyc2VCYWQKCSAgV2UgdXNlIGl0IGZvciB2aWRlbyBhcyB3ZWxsIG5vdy4KCjIwMTEtMDItMjEgMTI6MTQ6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkODc0MDQ3NmNjZDNhMzQ5OGRjNGYxOGMxOTczMzY0MzgyNWM3YjguCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMCAyMzo1NzoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAyLTIwIDIzOjAxOjMwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IFlVVi0+UkdCIG1hdHJpeGluZwoKMjAxMS0wMi0yMCAyMjo0Mzo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBkaXRoZXJpbmcKCSAgRGl0aGVyaW5nIG9ubHkgaGFwcGVucyB3aGVuIGEgMTYtYml0LXBlci1jaGFubmVsIGZvcm1hdCBpcwoJICBpbnZvbHZlZC4KCjIwMTEtMDEtMTEgMTA6MzI6NDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICB4dmlkZGVjOiBib2RnZSB0byBhdm9pZCBjcmFzaGVzCgkgIEl0IHNlZW1zIHh2aWRjb3JlIG92ZXJyZWFkcyBpdHMgaW5wdXQgYnVmZmVyLCBzbyBhIG5hc3R5IHdvcmthcm91bmQKCSAgaXMgdG8gYWxsb2NhdGUgc29tZSBtb3JlIG1lbW9yeSAoMTYgYnl0ZXMgc2VlbSB0byBiZSBlbm91Z2gpLgoJICBUaGVyZSBpcyBubyBhcHBhcmVudCBpbWFnZSBjb3JydXB0aW9uIHdpdGggdGhlc2UgZXh0cmEgYnl0ZXMgc2V0IHRvIDAsCgkgIHZhbGdyaW5kIGlzIG11Y2ggaGFwcGllciwgYW5kIHRoZSBjcmFzaGVzIGdvIGF3YXkuCgkgIEl0IGlzIHVnbHksIGFuZCBzbG93ZXIgdGhvdWdoLiBCdXQgdGhlbiwgeHZpZGRlYyBpcyBjdXJyZW50bHkKCSAgbm90IGF1dG9wbHVnZ2VkIGZvciBwbGF5YmFjayBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzQxMDcKCjIwMTEtMDItMjAgMTQ6MTQ6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBmaXggYSBmZXcgZm9ybWF0cwoKMjAxMS0wMi0xOSAxMzoxMjo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCAxNi1iaXQtcGVyLWNoYW5uZWwgaGFuZGxpbmcKCjIwMTEtMDItMTkgMTM6MTM6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggbWVtbGVhawoKMjAxMS0wMi0xOSAxMzowNzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSBwYXJzZXIgaW4gZmF2b3Igb2YgYmFzZXBhcnNlCgoyMDExLTAyLTE4IDE1OjI0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGNoYW5nZSBwbHVnaW4gZmlsZW5hbWUgZnJvbSBsaWJnc3RoMjYzcGFyc2UqIHRvIGxpYmdzdHZpZGVvcGFyc2Vyc2JhZCoKCSAgRHVlIHRvIGEgcmVnaXN0cnkgYnVnIHlvdSBtYXkgbmVlZCB0byBtYW51YWxseSByZW1vdmUgeW91cgoJICByZWdpc3RyeSBmaWxlIHRvIG1ha2UgdGhlIG5ldyBwbHVnaW4gYXBwZWFyIHdpdGggPjAgZmVhdHVyZXMuCgoyMDExLTAyLTE4IDE1OjE3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBsb2cgbWVzc2FnZSBwcmludGYgZm9ybWF0CgoyMDExLTAyLTE4IDE1OjA1OjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxMS0wMi0xOCAxNTowNTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGVsdGEtdW5pdCBmbGFncyBpbnN0ZWFkIG9mIG5vbmUKCjIwMTEtMDItMTggMTU6MDA6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJICBpbmRleGluZy1leGFtcGxlOiB1c2UgcHJvcGVyIHNpZ25hbCBuYW1lcwoKMjAxMS0wMi0xOCAwOTo0MDowMCArMDEwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogYWxsb3cgbmVnYXRpdmUgdmFsdWVzIGZvciB4L3kvd2lkdGgvaGVpZ2h0CgoyMDExLTAyLTE4IDEyOjM5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IGJ1aWxkCgkgIEFkZCBpbmNsdWRlcyBhbmQgbGluayBhZ2FpbnN0IG5ldyBsaWJnc3RiYXNlcGFyc2UgaW4gdGhlCgkgIGJ1aWxkIHRyZWUuCgoyMDExLTAyLTE3IDE0OjMyOjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzZGVtdXg6IEZpeCBkaXN0aW5nIG9mIGhlYWRlcnMKCjIwMTEtMDItMTcgMTM6MjI6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBmb3IgQVBJIGNoYW5nZXMKCjIwMTAtMTAtMTMgMTY6MTI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTA5IDE1OjA4OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogQWRkIGRpcmFjIHBhcnNlcgoKMjAxMS0wMi0xNyAxMzoyMDo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogZG8gdGVzdCBidWlsZCB3aXRoIC1mUElDCgoyMDEwLTEwLTA5IDE1OjA2OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSAgZWxlbWVudC1tYWtlcjogQWRkIGJhc2VwYXJzZSB0ZW1wbGF0ZQoKMjAxMC0xMC0xMyAxNTozOTo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGJhc2VwYXJzZTogQ3JlYXRlIGJhc2VwYXJzZSBsaWJyYXJ5CgoyMDExLTAyLTE2IDIxOjE3OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3ViZGVjOiBtYWtlIHVwIGNsdXQgdmFsdWVzIGlmIHRoZXkgd2VyZW4ndCBzZXQKCjIwMTAtMTItMDQgMTk6NTU6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcmVsZWFzZV9wYWQKCSAgUmVtb3ZlIGJvZ3VzIGZyZWVpbmcgb2YgcGFkIGVsZW1lbnRfcHJpdmF0ZSBkYXRhIHRoYXQgd2UKCSAgbmV2ZXIgc2V0IChjb2xsZWN0cGFkcyB1c2VzIGl0LCB3aGljaCBjYXVzZXMgY29uZnVzaW9uIGhlcmUpLgoJICBBbHNvLCBjaGVjayB0aGF0IG91ciBjb2xsZWN0cGFkcyBpbnN0YW5jZSBleGlzdHMgYmVmb3JlIHVzaW5nCgkgIGl0LiAgUGFydGlhbCBmaXggZm9yICM2MzYwMTEuCgoyMDExLTAyLTE3IDIxOjMzOjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogdXNlIEdfR1VJTlQ2NF9GT1JNQVQgYXMgZm9ybWF0IHNwZWNpZmllciBmb3IgZ3VpbnQ2NAoJICBmaXhlcyBjb21waWxhdGlvbiBvbiAzMmJpdAoKMjAxMS0wMi0xNSAxODoxMjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBtZW1vcnkgbGVhawoKMjAxMS0wMi0xMCAxMjozNTo0NyArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ3RzZGVtdXg6IHJlbGljZW5zZSBnc3RtcGVnZGVmcy5oLCBnc3RtcGVnZGVzYy5oIGFuZCBnc3RtcGVnZGVzYy5jIHRvIExHUEwgb25seQoJICB3aXRoIHBlcm1pc3Npb24gZnJvbSB0aGUgbGljZW5zZSBoZWFkZXI6CgkgICIiIgoJICBUaGlzIGxpYnJhcnkgaXMgbGljZW5zZWQgdW5kZXIgMiBkaWZmZXJlbnQgbGljZW5zZXMgYW5kIHlvdQoJICBjYW4gY2hvb3NlIHRvIHVzZSBpdCB1bmRlciB0aGUgdGVybXMgb2YgZWl0aGVyIG9uZSBvZiB0aGVtLiBUaGUKCSAgdHdvIGxpY2Vuc2VzIGFyZSB0aGUgTVBMIDEuMSBhbmQgdGhlIExHUEwuCgkgICIiIgoKMjAxMS0wMi0xNiAxNzo1Nzo0MiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogYWRkIE1QRUcgVFMgZGVtdXhlciByZXdyaXRlIGZyb20gRWR3YXJkIEhlcnZleQoJICB3aXRoIGNvbnRyaWJ1dGlvbnMgZnJvbSBNaXF1ZWwgQW5nZWwgRmFycmUgR3VpdSBhbmQgWmFoZWVyIEFiYmFzIE1lcmFsaQoKMjAxMS0wMi0xNyAxNDoxMjo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCjIwMTEtMDItMDcgMTQ6NDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgkgIEZpeGVzICM2NDEwNDcuCgoyMDExLTAyLTE3IDEyOjI4OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVtb3ZlIGV4dHJhbmVvdXMgYnVmZmVyIHVucmVmCgoyMDExLTAyLTE2IDE1OjI5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgaWNsZXM6IENvbXBsZXRlbHkgcmVtb3ZlIGVxdWFsaXplci10ZXN0IGZyb20gLWJhZCwgaXQncyBpbiAtZ29vZCBub3cKCjIwMTEtMDItMTYgMTU6MjM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgZXF1YWxpemVyLXRlc3Q6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgYWZ0ZXIgZ3N0X2luaXQoKSB0byBmaXggc2VnZmF1bHQKCjIwMTEtMDItMTQgMTI6NTM6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk0ZDczOSB0byAxZGU3ZjZhCgoyMDExLTAyLTE0IDEyOjE0OjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBkdXBsaWNhdGVkIHJ1bGUgZnJvbSBNYWtlZmlsZS5hbQoJICBUaGlzIGNhdXNlcyBhIG1ha2Ugd2FybmluZyBhbmQgbWlnaHQgZXZlbiBjYXVzZSBkaXN0LWZhaWx1cmUuIE90aGVyIG1vZHVsZXMKCSAgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGUgdGFyZ2V0IGVpdGhlciBhbmQgaWYgd2UgY2FuIGZpIGl0IGluCgkgIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrLgoKMjAxMS0wMi0xNCAxMTo0ODozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgcnN2ZyBwbHVnaW4gdG8gdGhlIGRvY3MKCjIwMTEtMDItMTQgMTE6NDI6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYWRkIGJhc2ljIGRvYy1ibG9iCgoyMDExLTAyLTExIDE3OjU5OjMxICswMTAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBpbXBsZW1lbnQgeC95L3dpZHRoL2hlaWdodCAoYWJzb2x1dGUgYW5kIHJlbGF0aXZlKSBwb3NpdGlvbmluZyBhbmQgZGltZW5zaW9uaW5nCgkgIFNpZ25lZC1vZmYtYnk6IE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKMjAxMS0wMi0xMCAxNjowMDowMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogYXBwbGljYXRpb24gZWxlbWVudCBtZW1vcnkgbGVhayBmaXhlcwoJICBJZiB2aWRlb2Jpbi9pbWFnZWJpbiB3YXMgbmV2ZXIgc2V0IHRvIFJFQURZIHN0YXRlIHRoZSBvd25lcnNoaXAKCSAgb2YgZWxlbWVudHMgY3JlYXRlZCBhbmQgc2V0IGJ5IGFwcGxpY2F0aW9uIHdlcmUgbmV2ZXIgdGFrZW4gYnkKCSAgYmluIGFuZCB0aGVyZWZvcmUgZ3N0X29iamVjdF9zaW5rIGlzIGNhbGxlZCBmb3IgdGhlc2UgZWxlbWVudHMKCSAgYmVmb3JlIHVucmVmZmluZyAodGhleSBtYXkgc3RpbGwgYmUgaW4gZmxvYXRpbmcgc3RhdGUgYW5kIG5vdAoJICB1bnJlZmZlZCBwcm9wZXJseSB3aXRob3V0IHNpbmtpbmcgZmlyc3QpCgoyMDExLTAyLTEwIDEwOjM1OjE4ICswODAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiB1cGRhdGUgdGhlIG5vaXNlX3JlZHVjdGlvbiB0eXBlIGZyb20gZ3VpbnQgdG8gR3N0UGhvdG9ncmFwaHlOb2lzZVJlZHVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2ODE0CgoyMDExLTAyLTA4IDIzOjM5OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogVXBkYXRlIG1pbi9tYXggYml0cmF0ZSBiZWZvcmUgZmlyc3QgcG9zdGluZyB0aGVtCgkgIFRoaXMgYXZvaWRzIHBvc3RpbmcgYW4gaW5pdGlhbCBtaW4tYml0cmF0ZSBvZiBHX1VJTlRNQVggYW5kIG1heC1iaXRyYXRlCgkgIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTcKCjIwMTEtMDItMDggMjM6NTA6MTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQb3N0IENCUiBiaXRyYXRlIGFzIG5vbWluYWwgYml0cmF0ZQoJICBFdmVuIGlmIFZCUiBoZWFkZXJzIGFyZSBtaXNzaW5nLCB3ZSBjYW4ndCBndWFyYW50ZWUgdGhhdCBhIHN0cmVhbSBpcyBpbgoJICBmYWN0IGEgQ0JSIHN0cmVhbSwgc28gaXQncyBzYWZlciB0byBsZXQgYmFzZXBhcnNlIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZQoJICBiaXRyYXRlIHJhdGhlciB0aGFuIGFzc3VtZSBhIENCUiBzdHJlYW0uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2UKCSAgL3NvbWUvIG1ldGFkYXRhIGF2YWlsYWJsZSBiZWZvcmUgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgZnJhbWVzIGhhdmUKCSAgYmVlbiBwYXJzZWQsIHRoaXMgcG9zdHMgdGhlIGJpdHJhdGUgZnJvbSB0aGUgbm9uLVZCUiBoZWFkZXJzIGFzIHRoZQoJICBub21pbmFsIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTgKCjIwMTEtMDItMDQgMDE6MDA6NTUgLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBbHdheXMgdGFrZSBwaG90byB3aGVuIHByZXZpZXctY2FwcyBpcyBzZXQKCSAgV2hlbiBmaWxlbmFtZSBpcyBub3Qgc2V0LCBidXQgcHJldmlldy1jYXBzIGlzIHNldCwgdGFrZSB0aGUgcGhvdG8gYW5kCgkgIHNlbmQgaXRzIHByZXZpZXcuCgoyMDExLTAxLTI2IDExOjQ5OjQ4IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBjYW1lcmFiaW46IEV2ZW50cyB3aXRoIHNlbGVjdC1hbGwgaW4gaW5wdXQtc2VsZWN0b3IKCSAgV2hlbiBzZWxlY3QtYWxsIHdhcyBzZXQsIGlucHV0LXNlbGVjdG9yIHdhc24ndCBoYW5kbGluZyB1cHN0cmVhbSBldmVudHMuCgkgIE5vdyBpbnB1dC1zZWxlY3RvciBmb3J3YXJkcyB0aGUgZXZlbnQgdG8gYWxsIG9mIGl0cyBzaW5rIHBhZHMuIFRoaXMKCSAgY2hhbmdlcyB0aGUgaW5wdXQtc2VsZWN0b3IgaW50ZXJuYWwgdG8gY2FtZXJhYmluIHVudGlsIGl0IGlzIHJlcGxhY2VkCgkgIHdpdGggYSBiZXR0ZXIgc29sdXRpb24uCgoyMDExLTAyLTA3IDIzOjE3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBhdm9pZCBhc3BlY3QtcmF0aW8gYm9yZGVycyBvdmVybHlpbmcgb3RoZXIgd2luZG93cwoJICBGaXhlcyAjNjMyMDU2LgoKMjAxMS0wMi0wNyAyMjo0NzozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogYXZvaWQgcmVuZGVyaW5nIHRvIGludmFsaWQgYXJlYQoJICBCYXNlZCBvbiBwYXRjaCBieSBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgkgIEZpeGVzICM1OTQyODAuCgoyMDExLTAyLTA4IDExOjI0OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRG8gbm90IHJlLXNldCB0aGUgY2xvY2sgaWYgaXQgaXMgbnVsbAoJICBBdm9pZHMgbm90IG5lZWRlZCB3b3JrIGFuZCBkb2Vzbid0IGFzc2VydCB3aGVuIHRyeWluZyB0bwoJICB1bnJlZiB0aGUgbnVsbCByZWZlcmVuY2UKCjIwMTEtMDItMDcgMDk6NTA6MjIgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogZml4IC0tbm8teHdpbmRvdyBvcHRpb24gaGFuZGxpbmcgaW4gZ3N0LWNhbWVyYWJpbi10ZXN0CgkgIC0tbm8td2luZG93IGZsYWcgaXMgZmFsc2UgYnkgZGVmYXVsdCBhbmQgc2VsZWN0aW9uIGJhc2VkIG9uIHRoZSBvcHRpb24gd2hldGhlcgoJICB0byBjcmVhdGUgWFdpbmRvdyBpcyBkb25lIGJlZm9yZSBvcHRpb25zIGFyZSBwYXJzZWQuIFRoZXJlZm9yZSBYV2luZG93IGlzIG5ldmVyCgkgIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE3MTIKCjIwMTAtMDktMDYgMTQ6MTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogYSB2YWxpZCBhbXItd2IgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHJlc2VydmVkIGZyYW1lIHR5cGUgaW5kZXgKCSAgU2VlICM2Mzk3MTUuCgoyMDExLTAyLTA3IDE0OjA1OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBzZXQgR1NUX0xJQl9MREZMQUdTCgkgIEFsaWducyBHU1RfTElCX0xERkxBR1Mgd2l0aCBlLmcuIC1iYXNlIHRvIGFycmFuZ2UgZm9yIHByb3BlciBleHBvcnRzIGluIGxpYnMuCgoyMDExLTAxLTEyIDE3OjEzOjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluLXRlc3RzOiBmaXggbG9va3VwIG9mIFVJIGZpbGVzCgkgIFRoZXNlIGFyZSB1bmluc3RhbGxlZCBleGFtcGxlcy4gUGFzcyAkc3JjZGlyIHRvIGNwcCB0byBidWlsZCB0aGUgY29ycmVjdAoJICBsb2NhdGlvbiBmb3IgdGhlIFVJIGZpbGUuCgoyMDExLTAyLTA0IDA5OjA4OjI2ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBkZXNjcmlwdGlvbiBmb3IgYml0cmF0ZSB1bml0cy4KCjIwMTEtMDItMDMgMTU6MjI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRml4IHByb3BlcnR5IHNldHRpbmcKCSAgU2V0IHRoZSBwcm9wZXJ0eSBvbiB0aGUgY2hpbGQgYW5kIG5vdCBvbiBpdHNlbGYgY2F1c2luZyBpbmZpbml0ZQoJICBsb29waW5nCgoyMDExLTAyLTAxIDExOjIwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEltcHJvdmUgcHJldmlldyBjaGVja2luZwoKMjAxMS0wMi0wMSAxMToxOTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IHByZXZpZXcgbWVzc2FnZXMKCSAgSW1hZ2UgcHJldmlld3Mgd2hlcmUgYmVpbmcgcG9zdGVkIGluIHN5bmMgd2l0aCB0aGUgYnVmZmVycwoJICB0aW1lc3RhbXBzLCB0aGlzIG1ha2VzIG5vIHNlbnNlIGFzIHByZXZpZXdzIHNob3VsZCBiZSBwb3N0ZWQgQVNBUC4KCSAgQWxzbyBhZGRzIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2VzLgoKMjAxMS0wMi0wMSAxMToxOToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIHNyYyBzdGF0ZSBjaGFuZ2UgdG8gYXZvaWQgbG9zaW5nIHRpbWVzdGFtcHMKCSAgQ2FtZXJhYmluMiB1c2VzIHN0YXRlIGNoYW5nZXMgdG8gZm9yY2UgdGhlIHNvdXJjZSB0byByZW5lZ290aWF0ZSBpdHMKCSAgY2FwcyB0byB0aGUgY2FwdHVyZSBmb3JtYXRzLiBUaGUgc3RhdGUgY2hhbmdlcyBtYWtlcyB0aGUgc291cmNlIGxvc2UKCSAgaXRzIGNsb2NrIGFuZCBiYXNlX3RpbWUsIGNhdXNpbmcgaXQgdG8gc3RvcCB0aW1lc3RhbXBpbmcgdGhlIGJ1ZmZlcnMuCgkgIFdlIHN0aWxsIG5lZWQgYSBwcm9wZXIgd2F5IHRvIG1ha2Ugc291cmNlcyByZW5lZ290aWF0ZSBpdHMgY2Fwcywgc28gdGhpcwoJICBwYXRjaCBpcyBhIGhhY2sgdG8gbWFrZSB0aGUgc291cmNlIGNvbnRpbnVlIHRpbWVzdGFtcGluZyBidWZmZXJzIGV2ZW4KCSAgYWZ0ZXIgY2hhbmdpbmcgc3RhdGUuIFRoZSBwYXRjaCB3b3JrcyBieSBnZXR0aW5nIHRoZSBjbG9jayBhbmQgYmFzZQoJICB0aW1lIGJlZm9yZSBkb2luZyB0aGUgc3RhdGUgY2hhbmdlIHRvIE5VTEwgYW5kIHNldHRpbmcgdGhlbSBiYWNrCgkgIGFmdGVyIHB1dHRpbmcgaXQgdG8gUExBWUlORyBhZ2Fpbi4gSXQgYWxzbyBjYXJlcyB0byBkcm9wIHRoZSBmaXJzdAoJICBuZXcgc2VnbWVudCBhZnRlciB0aGlzIHN0YXRlIGNoYW5nZS4KCjIwMTEtMDEtMjcgMTU6MzU6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcHJldmlldyBmaWx0ZXIgdGVzdHMKCSAgQWRkcyB0ZXN0cyB0byB0aGUgcHJldmlldy1maWx0ZXIgcHJvcGVydHkgb2YgY2FtZXJhYmluMgoKMjAxMS0wMS0yNyAxNDozOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGQgcHJldmlldy1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCBhIGN1c3RvbSBlbGVtZW50IGZvciBwcmV2aWV3IHBpcGVsaW5lCgkgIGJ1ZmZlcnMgcHJvY2Vzc2luZwoKMjAxMS0wMS0yNyAxMDoxOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgdGVzdHMgZm9yIGN1c3RvbSBmaWx0ZXJzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgdGhhdCBjdXN0b20gZmlsdGVycyBlbGVtZW50cyByZWNlaXZlIGJ1ZmZlcnMKCjIwMTEtMDEtMjYgMTU6Mjc6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBjdXN0b20gZmlsdGVyIHByb3BlcnRpZXMKCSAgQWRkcyBjdXN0b20gZmlsdGVyIHByb3BlcnRpZXMgZm9yIGNhbWVyYWJpbjIuIEN1c3RvbSBmaWx0ZXJzCgkgIGNhbiBiZSBhZGRlZCB0byB2aWRlby9pbWFnZS9wcmV2aWV3IGJyYW5jaGVzLgoKMjAxMS0wMi0wMyAxNjoyNDoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBJbml0aWFsaXplIHZhcmlhYmxlcwoJICBNYWtlcyBjb21waWxlcnMgaGFwcHkKCjIwMTEtMDItMDIgMTg6NDE6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdXAgZW51bSBuaWNrIG5hbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTE2NTEKCjIwMTEtMDEtMzEgMTc6MjQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJICBkY2NwOiB1c2Ugc29ja2xlbl90IHdoZXJlIGFwcHJvcHJpYXRlIHJhdGhlciB0aGFuIHNwZWNpZmljIHR5cGUKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgQ3lnd2luIGJ1aWxkIHdoZXJlIHNvY2tsZW5fdCBpcyBkZWZpbmVkIGFzIGludAoJICBpbiBsaW5lIHdpdGggbmF0aXZlIHdpbjMyIGFwaSBkZWZpbml0aW9uLgoKMjAxMS0wMi0wMSAyMDowMToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IGFsc28gbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UtMC4xMCBmb3IgYWRhcHRlciBhbmQgYml0IHJlYWRlciBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTE3OAoKMjAxMS0wMi0wMSAxNDo0MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogbWFwIG5ldyBHU1RfVEFHX0VOQ09ERURfQlkgdG8gSUQzdjIgVEVOQyBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjY4CgoyMDExLTAxLTMxIDE3OjQ1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZGlzdCBoMjY0cGFyc2UuaCwgZml4aW5nIG1ha2UgZGlzdGNoZWNrCgkgIFNwb3R0ZWQgYnkgTmF0aGFuYWVsIEQuIE5vYmxldAoKMjAxMS0wMS0xNCAxMDoxOToyOCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IG9wdGltaXplIHNldHRpbmcgbmV3IGNhcHMgZm9yIHByZXZpZXcgaW1hZ2UgcGlwZWxpbmUKCSAgQXZvaWQgcmUtY3JlYXRpbmcgYW5kIGxpbmtpbmcgb2YgcHJldmlldyBpbWFnZSBwaXBlbGluZSB3aGVuCgkgIHNldHRpbmcgbmV3IHByZXZpZXcgaW1hZ2UgY2Fwcy4gQmFja3BvcnRlZCBmcm9tIGNhbWVyYWJpbjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1MDIKCjIwMTEtMDEtMzAgMTc6MDg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBmaXggTElCUyBhbmQgQ0ZMQUdTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTIzIDE3OjAyOjM4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBBY2NlcHQgcGFja2V0cyB3aXRoIG9ubHkgb25lIGJ5dGUgb2YgZGF0YQoJICBXaGVuIGZyYWdtZW50aW5nIHBhcnRpb25zIGl0IGNhbiBoYXBwZW4gdGhhdCBhbiBSVFAgcGFja2V0IG9ubHkgY2FyaWVzIDEKCSAgYnl0ZSBvZiBSVFAgZGF0YS4KCjIwMTEtMDEtMjMgMTY6NDI6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwOHBheTogVHJlYXQgdGhlIGZyYW1lIGhlYWRlciBqdXN0IGxpa2UgYW55IG90aGVyIHBhcnRpdGlvbgoJICBXaGVuIHNldHRpbmcgdXAgdGhlIGluaXRpYWwgbWFwcGluZyBqdXN0IGFjdCBhcyBpZiB0aGUgZ2xvYmFsIGZyYW1lCgkgIGluZm9ybWF0aW9uIGlzIGFub3RoZXIgcGFydGl0aW9uLiBUaGlzIHNhdmVzIHNwZWNpYWwtY2FzaW5nIGl0IGxhdGVyIGluCgkgIHRoZSBhY3R1YWwgcGFja2V0aXppbmcgY29kZS4KCjIwMTAtMDUtMTYgMTc6MjM6MTcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogQWRkIHNpbXBsZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgZm9yIFZQOAoJICBNaW5pbWFsIGltcGxlbWVudGF0aW9uIG9mIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvcnRwLywKCSAgdmVyc2lvbiAwLjMuMgoKMjAxMS0wMS0yOCAxMjozODoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBoMjY0cGFyc2UKCSAgRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gKGxlZ2FjeSloMjY0cGFyc2UgYW5kIHJlLXVzZXMgdGhlIGxhdHRlcidzIGxvdwoJICBsZXZlbCBOQUwgcGFyc2luZywgYnV0IG90aGVyd2lzZSBiYXNlZCBvbiBHc3RCYXNlUGFyc2UsIGFuZCByZXBsYWNpbmcKCSAgc29tZSBwcm9wZXJ0eSBjb25maWd1cmF0aW9uIHdpdGggY2FwcyBuZWdvdGlhdGlvbi4KCjIwMTEtMDEtMjcgMTg6MjA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW5hbWUgdG8gbGVnYWN5aDI2NHBhcnNlCgoyMDExLTAxLTI3IDE4OjE2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgaDI2M3BhcnNlOiBtb3ZlIHRvIHZpZGVvcGFyc2VycyBhbmQgc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbgoKMjAxMS0wMS0yNyAxODowMzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHVwZGF0ZSB0byBsYXRlc3QgYmFzZXBhcnNlCgoyMDExLTAxLTA2IDEyOjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogc2h1ZmZsZSBjb2RlIHRvIHVudGFuZ2xlIGgyNjNwYXJzZSBhbmQgcGFyYW1ldGVyIHBhcnNpbmcKCjIwMTEtMDEtMDYgMTI6MzQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBwcm92aWRlIGZvciBwcm9wZXIgZGVidWcgY2F0ZWdvcnksIG1pbiBmcmFtZSBzaXplIGFuZCBjb2RlIHN0eWxlCgoyMDEwLTEyLTEwIDE2OjQwOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBnZXRfY2FwcwoJICAuLiBhcyBzcmMgcGFkIGFscmVhZHkgc2V0IHRvIHVzZSBmaXhlZF9jYXBzCgoyMDEwLTEyLTEwIDE2OjI2OjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogc2ltcGxpZnkgdmFsaWRfZnJhbWUgcGFyc2luZwoJICAuLi4gY29uc2lkZXJpbmcgdGhhdCBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBza2lwcGluZyBldGMKCjIwMTAtMDUtMTQgMDI6MDg6MDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEFkZCBhbiBoMjYzcGFyc2UgZWxlbWVudAoJICBUaGlzIGFkZHMgYW4gaDI2M3BhcnNlIGVsZW1lbnQgZm9yIHBhcnNpbmcgSC4yNjMgc3RyZWFtcywgYnJlYWtpbmcgdGhlbQoJICB1cCBpbnRvIGZyYW1lLXNpemVkIGJ1ZmZlcnMsIGFuZCBleHBvcnRpbmcgbWV0YWRhdGEgc3VjaCBhcyBwcm9maWxlIGFuZAoJICBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMS0wMS0yNyAxNjo1MjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIGhhbmRsaW5nIG9mIGRlcGVuZGVudCBzdWJzdHJlYW0gZnJhbWVzCgkgIEluIHBhcnRpY3VsYXIsIHRpbWVzdGFtcHMgb2YgdGhlc2Ugc2hvdWxkIHRyYWNrIG1haW4tc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDExLTAxLTIxIDE0OjUzOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBkZWZhdWx0IGR1cmF0aW9uIGVzdGltYXRlIHVwZGF0ZSBpbnRlcnZhbAoJICBSYXRoZXIgdGhhbiBhIGZpeGVkIGRlZmF1bHQgZnJhbWUgY291bnQsIGVzdGltYXRlIGZyYW1lIGNvdW50IHRvIGFpbSBmb3IKCSAgYW4gaW50ZXJ2YWwgZHVyYXRpb24gZGVwZW5kaW5nIG9uIGZwcyBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugb2xkCgkgIGZpeGVkIGRlZmF1bHQuCgoyMDExLTAxLTE0IDE1OjE2OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJzZSBwbGF5YmFjazsgbWluZCBrZXlmcmFtZXMgZm9yIGZyYWdtZW50IGJvdW5kYXJ5CgoyMDExLTAxLTEzIDE1OjI2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IHByb3Blcmx5IGNoZWNrIGZvciBzdWZmaWNpZW50IGF2YWlsYWJsZSBkYXRhIHByaW9yIHRvIGFjY2VzcwoKMjAxMS0wMS0xMiAxNDo0MDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBub24tZW1wdHkgY2FuZGlkYXRlIGZyYW1lcwoKMjAxMS0wMS0xMSAxNToyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNsYXJpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTAxLTExIDE1OjI0OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVybHkgdHJhY2sgdXBzdHJlYW0gdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gd2l0aCBhIGRlbGF5LgoKMjAxMS0wMS0xMSAxNToyMzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5lZWQgcHJvcGVyIGZyYW1lIGR1cmF0aW9uIHRvIG9idGFpbiBzZW5zaWJsZSBmcmFtZSBiaXRyYXRlCgoyMDExLTAxLTExIDE1OjIyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGluaXRpYWwgdmFsdWVzIGZvciBpbmRleCB0cmFja2luZyB2YXJpYWJsZXMKCjIwMTEtMDEtMTEgMTI6MDU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhcnJhbmdlIGZvciBjb25zaXN0ZW50IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAxLTEwIDE2OjU5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogaGVhZGVyIHN0eWxlIGNsZWFuaW5nCgoyMDExLTAxLTEwIDE3OjA3OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBzb21lIG1vcmUgaW5pdGlhbCBmcmFtZSBtZXRhZGF0YSBpbiBwYXJzZV9mcmFtZQoJICAuLi4gYW5kIGRvY3VtZW50IGFjY29yZGluZ2x5LgoKMjAxMS0wMS0xMCAxNjo1NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgcGFzc3Rocm91Z2ggaW50byBmb3JtYXQgZmxhZ3MKCSAgQWxzbyBhZGQgYSBmb3JtYXQgZmxhZyB0byBzaWduYWwgYmFzZXBhcnNlIHRoYXQgc3ViY2xhc3MvZm9ybWF0IGNhbiBwcm92aWRlCgkgIChwYXJzZWQpIHRpbWVzdGFtcCByYXRoZXIgdGhhbiBhbiBlc3RpbWF0ZWQgb25lLiAgSW4gcGFydGljdWxhciwgc3VjaCAic3Ryb25nIgoJICB0aW1lc3RhbXAgdGhlbiBhbGxvd3MgdG8gZS5nLiBkZXRlcm1pbmUgZHVyYXRpb24uCgoyMDExLTAxLTEwIDE1OjM0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBiYXNlcGFyc2U6IGludHJvZHVjZSBhIGJhc2VwYXJzZSBmcmFtZSB0byBzZXJ2ZSBhcyBjb250ZXh0CgkgIC4uLiBhbmQgYWRqdXN0IHN1YmNsYXNzIHBhcnNlcnMgYWNjb3JkaW5nbHkKCjIwMTEtMDEtMDcgMTY6Mzk6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZXN0cmljdCBkdXJhdGlvbiBzY2FubmluZyB0byBwdWxsIG1vZGUgYW5kIGF2b2lkIGV4dHJhIHNldF9jYXBzIGNhbGwKCjIwMTEtMDEtMDcgMTU6NTg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgkgIEFsc28gYWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCjIwMTEtMDEtMDYgMTE6NDE6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhbGxvdyBpbmNyZWFzaW5nIG1pbl9zaXplIGZvciBjdXJyZW50IGZyYW1lIHBhcnNpbmcgb25seQoJICBBbHNvIGNoZWNrIHRoYXQgc3ViY2xhc3MgYWN0dWFsbHkgZWl0aGVyIGRpcmVjdHMgdG8gc2tpcCBieXRlcyBvcgoJICBpbmNyZWFzZXMgZXhwZWN0ZWQgZnJhbWUgc2l6ZSB0byBhdm9pZCBnb2luZyBub3doZXJlIGluIGJvZ3VzCgkgIGluZGVmaW5pdGUgbG9vcGluZy4KCjIwMTEtMDEtMTQgMTU6MjY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFlc3BhcnNlOiBmaXggcmVmYWN0b3IgcmVncmVzc2lvbiBpbiBsb29wIGJhc2VkIHBhcnNpbmcKCjIwMTEtMDEtMDYgMTE6MTY6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwYXNzIGFsbCBhdmFpbGFibGUgZGF0YSB0byBzdWJjbGFzcyByYXRoZXIgdGhhbiBtaW5pbXVtCgkgIEFsc28gcmVkdWNlIHNvbWUgYWRhcHRlciBjYWxscyBhbmQgYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEyLTEwIDE1OjU5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHJldmVyc2UgcGxheWJhY2sgaGFuZGxpbmcKCjIwMTAtMTItMTAgMTQ6NTY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciB0eXBvIGFuZCBkZWJ1ZyBzdGF0ZW1lbnQgY2xlYW51cAoKMjAxMC0xMi0xMCAxNDo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlZHVjZSBsb2NraW5nCgkgIC4uLiB3aGljaCBpcyBlaXRoZXIgYWxyZWFkeSBtdXRlIGFuZC9vciBpbXBsaWNpdGx5IGhhbmRsZWQgYnkgU1RSRUFNX0xPQ0suCgoyMDExLTAxLTI3IDE3OjMyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gbWFrZSBnY2MgNC42IGhhcHB5CgoyMDExLTAxLTI3IDE3OjI5OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gbWFrZSBnY2MgNC42IGhhcHB5CgoyMDExLTAxLTI2IDE4OjQ1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2RlYywganAya2VuYzogYWRkIHN1cHBvcnQgdjMwOCAoNDo0OjQgWVVWKQoJICBCZWNhdXNlIHdlIGNhbi4KCjIwMTEtMDEtMjYgMTQ6Mjc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogVXNlIHRoZSBjb3JyZWN0IGZvciBsaW1pdAoJICBUaGVyZSBhcmUgMyB0YWdsaXN0cyB0byBiZSB0ZXN0ZWQsIG5vdCAyCgoyMDExLTAxLTI2IDExOjQwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIHNvbWUgc3R1ZmYKCSAgQ2xlYW51cCBwcm9wZXJseSBieSB1bnJlZmluZyB0aGUgZW5jb2RpbmcgcHJvZmlsZSBhbmQgcHJldmlldyBjYXBzCgoyMDExLTAxLTI2IDEwOjU0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBBZGQgbmFtZXMgdG8gc29tZSBlbGVtZW50cwoJICBBZGRzIG5hbWVzIHRvIGluc3RhbmNlcyBvZiBzb21lIGVsZW1lbnRzIHRvIG1ha2UgZGVidWdnaW5nIGVhc2llcgoKMjAxMS0wMS0yNSAxODoxMDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSB2aWRlb3Npbmsgc3RhdGVzIG1vcmUgY2FyZWZ1bGx5CgkgIFdoZW4gZ29pbmcgdG8gcmVhZHksIGNhbWVyYWJpbjIgY291bGQgY3JlYXRlIGFuIGVtcHR5IGZpbGUKCSAgaWYgdGhlIHZpZGVvc2luayB3YXMgcHV0IHRvIHJlYWR5LiBUaGlzIHBhdGNoIG9ubHkgcHV0cyB2aWRlb3NpbmsKCSAgdG8gcmVhZHkgb24gdGhlIFBBVVNFRF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UgaWYgaXQgaXMgb24gUEFVU0VECgkgIG9yIFBMQVlJTkcuCgoyMDExLTAxLTE0IDE0OjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgbG9vcCBpbiBmcmFtZSBsb2NhdGluZyBpbnRlcnBvbGF0aW9uCgoyMDExLTAxLTI0IDIzOjMyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBEbyBub3Qgc2VnZmF1bHQgb24gdW5leGlzdGVudCBmaWxlcwoJICBXaGVuIHBhc3NpbmcgYW4gdW5leGlzdGVudCBmaWxlIHRvIHJzdmdvdmVybGF5IGl0IHdvdWxkCgkgIGNyYXNoIGJlY2F1c2UgdGhlIHN2ZyBsb2FkaW5nIHdvdWxkIGZhaWwgd2l0aG91dCBzZXR0aW5nCgkgIGFuIGVycm9yLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNoZWNrIGlmIHRoZSBoYW5kbGUgd2FzIGFjdHVhbGx5IGNyZWF0ZWQKCSAgYW5kIGxvZ3MgYW4gZXJyb3IgaW4gY2FzZSBpdCBkaWRuJ3QuIE1heWJlIGl0IHNob3VsZCBwb3N0IGFuCgkgIGVycm9yIHRvIHRoZSBidXMsIGJ1dCB0aGUgcHJldmlvdXMgZXJyb3IgaGFuZGxpbmcgZGlkbid0LCBzbwoJICBJIGp1c3QgZm9sbG93ZWQgdGhlIHNhbWUgbG9naWMuCgoyMDExLTAxLTI0IDE4OjM3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogIGFkZCB0aW1pbmcgcHJpbnRpbmcgZm9yIHByZXZpZXcgaW1hZ2UKCSAgTWVhc3VyZSBhbmQgcHJpbnQgdGhlIHRpbWUgdGFrZW4gdG8gZ2VuZXJhdGUgcHJldmlldyBpbWFnZS4gQW5kCgkgIGZpeCBhIHR5cG8KCjIwMTEtMDEtMjQgMTg6MzY6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgdW51c2VkIG1hY3JvCgoyMDExLTAxLTEyIDE2OjI2OjE5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IERvbid0IHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIHNldHRpbmdzCgkgIERvbid0IHNldCBhbnkgZGVmYXVsdCB2YWx1ZXMgZm9yIHNvdXJjZSBlbGVtZW50IEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZQoJICBzZXR0aW5ncywgc291cmNlIGVsZW1lbnRzIHNob3VsZCBoYXZlIHNhbmUgZGVmYXVsdHMgdGhlbXNlbHZlcy4KCSAgQWxzbywgc2V0dGluZyBzY2VuZS1tb2RlIGlzIHRyaWNreSBhcyBpdCBpcyBhIHN1cGVyc2V0IG9mIG90aGVyIEdzdFBob3RvZ3JhcGh5CgkgIHNldHRpbmdzLiBUaGlzIG1pZ2h0IGNhdXNlIHByb2JsZW0gd2l0aCBkZWZhdWx0cyBlLmcuIHNldHRpbmcgc2NlbmUtbW9kZSB0bwoJICAnbmlnaHQnIG1heSBjb25maWd1cmUgZmxhc2gtbW9kZSBhcyAnb24nIGJ5IGRlZmluaXRpb24sIGFuZCBhZnRlciB0aGF0CgkgIHdlIGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyBmbGFzaC1tb2RlIHNldHRpbmcgd2l0aCBnc3QtY2FtZXJhYmluLXRlc3QgZGVmYXVsdAoJICB2YWx1ZS4gTW9yZW92ZXIsIHVzZXIgbmVlZHMgaGF2ZSBhbiBvcHRpb24gdG8gc2V0IHNjZW5lIG1vZGUgZmlyc3QgYW5kIHRoZW4gZm9yY2UKCSAgc29tZSBpbmRpdmlkdWFsIHNldHRpbmcgdG8gYSBkaWZmZXJlbnQgdmFsdWUgZnJvbSB0aGUgc2NlbmUtbW9kZSBkZWZpbml0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5ODQxCgoyMDExLTAxLTI0IDE3OjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQ2hlY2sgdGhlIHN0YXJ0IHRpbWUgb2YgYnVmZmVycwoJICBCZSBjYXJlZnVsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIG5ld3NlZ21lbnQgZXZlbnQgdG8gYXZvaWQKCSAgc3RhcnQgdGltZXMgb2YgLTEgZnJvbSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDExLTAxLTExIDE1OjUyOjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBkb24ndCB3cml0ZSBjbGlwcGVkIGxpbmVzIHRvIHRoZSBvdXRwdXQgYnVmZmVyCgkgIFdlIG1heSBub3QgaW5jcmVtZW50IHRoZSBvdXRwdXQgcG9pbnRlciwgYnV0IGl0J2xsIHN0aWxsIGJlIGp1c3QKCSAgb2ZmIHRoZSBlbmQgb2YgdGhlIGFsbG9jYXRlZCBhcmVhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyODQ3CgoyMDExLTAxLTE5IDE1OjA3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSBwb3J0aW5nIGZpbGUKCSAgQWRkcyBwb3J0aW5nIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIGVuY29kZWJpbiBvbiBjYW1lcmFiaW4yCgoyMDExLTAxLTE0IDA4OjEyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBpbWFnZS1kb25lIG1lc3NhZ2UKCSAgUG9zdCBhbiBpbWFnZS1kb25lIG1lc3NhZ2Ugd2hlbiBhIG5ldyBpbWFnZSBpcyBzYXZlZCB0byBkaXNrCgoyMDExLTAxLTExIDE0OjUwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSW1wbGVtZW50IHRhZ3NldHRlciBpbnRlcmZhY2UKCjIwMTEtMDEtMTEgMTA6Mjk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHByZXZpZXcgaW1hZ2UgdG8gdGVzdHMKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhhdCBwcmV2aWV3IGltYWdlcyBhcmUgcG9zdGVkIHdpdGgKCSAgdGhlIGNvcnJlY3QgY2FwcyBvbiB0ZXN0cwoKMjAxMS0wMS0xMSAwOToxMjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBlbmNvZGluZyBwcm9maWxlCgkgIEFkZHMgYSB2aWRlby1wcm9maWxlIHRvIGFsbG93IHNlbGVjdGluZyB3aGljaCBlbmNvZGluZyBwcm9maWxlCgkgIHRvIHVzZSBmb3IgdmlkZW8gcmVjb3JkaW5ncwoKMjAxMS0wMS0xMSAwODo0NDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyB2aWRlb3JlY29yZGluZ2JpbgoJICBSZW1vdmluZyB2aWRlb3JlY29yZGluZ2JpbiBhcyB3ZSBub3cgdXNlIGVuY29kZWJpbiBmb3IgaXQKCjIwMTAtMTItMjcgMTE6Mjk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHRvIGVuY29kZWJpbgoKMjAxMS0wMS0xMCAxNToxOTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFNldCBvdXRwdXQtc2VsZWN0b3IgcGFkLW5lZ290aWF0aW9uLW1vZGUgdG8gbm9uZQoJICBVc2Ugb3V0cHV0LXNlbGVjdG9yIG5vbmUgbmVnb3RpYXRpb24gbW9kZSBhcyBpdCB3YXMgdGhlIGRlZmF1bHQgYmVmb3JlCgkgIHRoZSBsYXN0IGNoYW5nZXMuIFRoaXMgbGlrZWx5IG5lZWRzIHRvIGJlIGZpeGVkIHRvIHVzZSAnYWN0aXZlJyBvbgoJICBjYW1lcmFiaW4yCgoyMDExLTAxLTEwIDE1OjE5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIHN0YXRlIGNoYW5nZSBmYWlsdXJlcwoJICBXaGVuIGl0cyBpbnRlcm5hbCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSwgZG9uJ3QgYWN0IGFzCgkgIGlmIHN1Y2NlZWRlZC4KCjIwMTAtMTItMzAgMDA6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBJbXBsZW1lbnQgcHJldmlld2luZwoJICBJbXBsZW1lbnQgcHJldmlld2luZyBmdW5jdGlvbmFsaXR5IHVzaW5nIDIgcHJvcGVydGllcy4gQSBib29sZWFuCgkgIChwb3N0LXByZXZpZXdzKSB0aGF0IGluZGljYXRlcyBpZiBwcmV2aWV3cyBzaG91bGQgYmUgcG9zdGVkLCBhbmQgYQoJICBHc3RDYXBzIChwcmV2aWV3LWNhcHMpIHRvIHByb3ZpZGUgdGhlIGRlc2lyZWQgcHJldmlldyBjYXBzLgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIGltcGxlbWVudHMgcHJldmlld2luZyBieSBzdXBwbHlpbmcgdGhlIGNhcHR1cmVkCgkgIGltYWdlIHRvIGEgcGlwZWxpbmUgdG8gYWRhcHQgaXQgdG8gdGhlIHJlcXVpcmVkIGNhcHMgYmVmb3JlIHBvc3RpbmcuCgoyMDEwLTEyLTMwIDAwOjI2OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJICBjYW1lcmFiaW4yOiBBZGQgbWV0aG9kcyBmb3IgcHJldmlldyBpbWFnZSBtZXNzYWdlIHBvc3RpbmcKCSAgQWRkcyBhIGhlbHBlciBzdHJ1Y3QgYW5kIGZ1bmN0aW9ucyBmb3IgaW1wbGVtZW50aW5nIGEgcHJldmlldyBtZXNzYWdlCgkgIGluIGNhbWVyYWJpbjIuCgoyMDEwLTEyLTI5IDIzOjQ4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdGVzdHM6IFVzZSBtYWlubG9vcHMKCSAgVXNlIG1haW5sb29wcyBpbnN0ZWFkIG9mIHNsZWVwcyB0byByZWFkIGJ1cyBtZXNzYWdlcyBhbmQgY2F0Y2gKCSAgZXJyb3JzLgoKMjAxMC0xMi0yOSAxNDoxMjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFVzZSBkcm9wX2VvcyBmdW5jdGlvbiBmcm9tIGNhbWVyYWJpbmdlbmVyYWwKCSAgVGhlcmUgd2FzIGFscmVhZHkgYSBldmVudCBwcm9iZSBmdW5jdGlvbiBmb3IgZHJvcHBpbmcgRU9TIG9uCgkgIGNhbWVyYWJpbmdlbmVyZWFsLCBzbyB1c2UgdGhhdCBpbnN0ZWFkIG9mIHJlcGxpY2F0aW5nIHRoZSBjb2RlCgoyMDExLTAxLTI0IDExOjU1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW4yOiBmaXggd2FybmluZ3MKCSAgV2FybmluZ3MgcGFzc2VkIG1lIGJ5IG9uIHRoZSBsYXN0IGNvbW1pdHMgdG8gY2FtZXJhYmluMiB0ZXN0cywKCSAgZml4aW5nIHRoZW0uCgoyMDExLTAxLTI0IDExOjA1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IE9ubHkgcnVuIGEgdGVzdCBpZiAtZ29vZCAwLjEwLjI3IGlzIHByZXNlbnQKCSAgQSBjYW1lcmFiaW4yIHRlc3RzIGRlcGVuZHMgb24gdGhlIGNvbW1pdAoJICBkY2JiYTA5MzJkYzU3OWFiZDZhYWI0NDYwZmExYTQxNjM3NGVkYTFiIGZvciBqcGVnZW5jIG9uIC1nb29kCgkgIHRoYXQgd2FzIHJlbGVhc2VkIG9uIDAuMTAuMjcuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY2hlY2sgZm9yIHRoaXMgdmVyc2lvbiBiZWZvcmUgcnVubmluZyB0aGUKCSAgdGVzdC4KCjIwMTEtMDEtMjQgMTA6MDg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIHRlc3RzOiBpbWFnZWNhcHR1cmViaW46IE9ubHkgcnVuIGEgdGVzdCBpZiAtZ29vZCBpcyAwLjEwLjI3IG9yIG5ld2VyCgkgIE9uZSB0ZXN0IG9uIGltYWdlY2FwdHVyZWJpbiByZXF1aXJlcyBkY2JiYTA5MzJkYzU3OWFiZDZhYWI0NDYwZmExYTQxNjM3NGVkYTFiCgkgIG9uIGdvb2QgdGhhdCB3YXMgcmVsZWFzZWQgb24gMC4xMC4yNy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDI4NgoKMjAxMS0wMS0xOCAxNzozMTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbmFtZXMgZm9yIG1vcmUgZWxlbWVudHMKCjIwMTEtMDEtMjQgMTE6MTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDExLTAxLTIxIDIxOjEzOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjEKCjIwMTEtMDEtMTkgMjA6MDA6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEZpeCBoYW5kbGluZyBvZiBkZWJ1ZyBjYXRlZ29yeQoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTggMTg6MTg6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMTEtMDEtMTggMTM6MDA6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuNCBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xNCAxNjozMDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGJhc2VwYXJzZTogQmUgY2FyZWZ1bCB0byBub3QgbG9zZSB0aGUgZXZlbnQgcmVmCgkgIERvbid0IHVucmVmIHRoZSBldmVudCBpZiBpdCBoYXNuJ3QgYmVlbiBoYW5kbGVkLCBiZWNhdXNlIHRoZSBjYWxsZXIKCSAgYXNzdW1lcyBpdCBpcyBzdGlsbCB2YWxpZCBhbmQgbWlnaHQgcmV1c2UgaXQuCgkgIEkgcmFuIGludG8gdGhpcyBwcm9ibGVtIHdoZW4gdHJhbnNjb2RpbmcgYW4gQVZJICh3aXRoIG1wMyBpbnNpZGUpCgkgIHRvIGdwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTU1NQoKMjAxMS0wMS0xMyAxMToyODozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0OiBxdG11eDogVGVzdHMgcXRtdXggcmV1c2UKCSAgRm9yY2VzIHRoZSB1c2Ugb2YgcXRtdXggYWZ0ZXIgaXQgaGFzIGJlZW4gcHV0IHRvIFBMQVlJTkcgYW5kIGJhY2sKCSAgdG8gTlVMTCBvbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTMgMTU6Mjc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3JjIHBhZHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIC4uLiByYXRoZXIgdGhhbiBhdCBfaW5pdCB0aW1lLCBzbyB0aGV5IGFyZSBhbHNvIGF2YWlsYWJsZSBmb2xsb3dpbmcgYQoJICBwYWQgKGRlKWFjdGl2YXRpb24gY3ljbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTIgMTY6Mzk6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBlbnN1cmUgdGhlIGthdGUgcGFkIGRvZXMgbm90IHNob290IGFoZWFkIG9mIHRoZSB2aWRlbyBwYWQKCSAgU3luYyBib3RoIHBhZHMgYnkgd2FpdGluZyBpbiB0aGUga2F0ZSBjaGFpbiBmdW5jdGlvbi4KCSAgRG8gbm90IHJlc2V0IG91ciBpbnRlcm5hbCBzZWdtZW50IGZyb20gc2VnbWVudCB1cGRhdGVzLCBpbiBvcmRlcgoJICB0byBiZSBhYmxlIHRvIG1hcCB2aWRlbyBydW5uaW5nIHRpbWUgdG8ga2F0ZSBydW5uaW5nIHRpbWUsIHRvCgkgIGdpdmUgbGlidGlnZXIgdGhlIHRpbWVzdGFtcCBpdCBleHBlY3RzLiBUaGlzIGFsbG93cyB1cyB0byB1c2UKCSAgcnVubmluZyB0aW1lIHRvIHN5bmMgdG8gdmlkZW8sIHdoaWNoIGlzIFRoZSBSaWdodCBXYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTEtMDEtMTMgMTg6MzU6MTUgLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBFbmFibGUgY29udmVyc2lvbiBmbGFncwoJICBDYW1lcmFiaW4gZGVmYXVsdCBzaG91bGQganVzdCB3b3JrLCBzbyB3ZSBuZWVkIHRvIGVuYWJsZSBhdWRpbywgaW1hZ2UKCSAgYW5kIHZpZGVvIGNvbnZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDU2CgoyMDExLTAxLTEzIDE3OjEwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGZpeCBzeW5jIHdvcmQgZm9yIDE0LWJpdCBsaXR0bGUgZW5kaWFuIGNvZGluZwoJICBGaXggY29weSduJ3Bhc3RlIGJ1ZyB0aGF0IG1hZGUgdXMgbG9vayBmb3IgdGhlIHJhdyBsaXR0bGUgZW5kaWFuCgkgIHN5bmMgd29yZCB0d2ljZSBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIHRoZSAxNC1iaXQgTEUgc3luYyB3b3JkCgkgIGFzIHdlbGwuIEZpeGVzIHBhcnNpbmcgb2Ygc3VjaCBzdHJlYW1zIChzZWUgIzYzNjIzNCBmb3Igc2FtcGxlIGZpbGUpLgoKMjAxMS0wMS0xMyAxNjoyNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBkb2NzOiBtaW5vciBiYXNlcGFyc2UgZG9jcy9jb21tZW50IGZpeGVzCgkgIFJlbW92ZSBjb3B5J24ncGFzdGUgbGVmdG92ZXJzLgoKMjAxMS0wMS0xMyAxMzozNjowOSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgcGFkLW5lZ290aWF0aW9uLW1vZGUgdG8gYWN0aXZlIGZvciBvdXRwdXQtc2VsZWN0b3IKCSAgRml4ZXMgIzYzOTQxMy4KCjIwMTEtMDEtMTIgMTY6NTU6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXNlIGdfZXJyb3JfZnJlZSBpbnN0ZWFkIG9mIGdfZnJlZQoKMjAxMS0wMS0xMiAxNjo1MDo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgZ19lcnJvcl9mcmVlIGluc3RlYWQgb2YgZ19mcmVlCgoyMDExLTAxLTEyIDExOjU3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogRGVmYXVsdCBjb2xvcnNwYWNlIGlzIEk0MjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5NgoKMjAxMS0wMS0xMSAyMzo0NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC4zIHByZS1yZWxlYXNlCgoyMDExLTAxLTExIDE1OjUwOjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU1NzJjODcgdG8gZjk0ZDczOQoKMjAxMS0wMS0xMCAxOToxMToyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgZm9yZ2V0IHRoZSBHVHlwZSB3aGVuIHVzaW5nIGNhcHNfbmV3X3NpbXBsZSgpCgoyMDExLTAxLTEwIDE2OjM2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2NiYWE4NSB0byBlNTcyYzg3CgoyMDExLTAxLTEwIDE0OjU0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0NDVhZCB0byBjY2JhYTg1CgoyMDExLTAxLTEwIDExOjI1OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHNpbGx5IHdheSBvZiBjcmVhdGluZyBjYXBzCgoyMDExLTAxLTEwIDExOjE4OjUyICswMDAwICBLYXJvbCBTb2JjemFrIDxuYXBld25vdHJhZmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcmUtc3luY2luZyBvbiBpbnZhbGlkIGRhdGEgYWZ0ZXIgc2VlawoJICBPciBwb3NzaWJseSBldmVuIGF0IHN0YXJ0dXAuIElmIHdlIGNvdWxkbid0IGZpbmQgYSBzeW5jIHdpdGhpbgoJICB0aGUgZmlyc3QgZmV3IGJ5dGVzLCB3ZSdkIGp1c3QgcHVzaCBtb3JlIGRhdGEgaW50byB0aGUgYWRhcHRlcgoJICBidXQgbmV2ZXIgZGlzY2FyZCBhbnkgb2YgdGhlIGludmFsaWQgZGF0YSBhdCB0aGUgYmVnaW5uaW5nLCBzbwoJICB3b3VsZCBuZXZlciBiZSBhYmxlIHRvIHJlLXN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkwNjMKCjIwMTEtMDEtMDggMDM6MTI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkgIGNvZywgc2Nocm9lZGluZ2VyOiBmaXggd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDEtMDggMDM6MTA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjIgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMDggMDI6NDk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMDEtMDggMDI6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9qYS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMDggMDI6NDM6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBjYW1lcmFiaW46IHVzZSBwcml2YXRlIGlucHV0LXNlbGVjdG9yIHRoYXQgc3RpbGwgaGFzICJzZWxlY3QtYWxsIiBwcm9wZXJ0eQoJICBUaGUgInNlbGVjdC1hbGwiIHByb3BlcnR5IHdhcyByZW1vdmVkIHdoZW4gaW5wdXQtc2VsZWN0b3Igd2FzIG1vdmVkCgkgIHRvIGNvcmUsIGJ1dCBjYW1lcmFiaW4gdXNlcyB0aGlzLCBzbyBtYWtlIGNhbWVyYWJpbiB1c2UgYSBwcml2YXRlCgkgIGNvcHkgdW50aWwgYSBiZXR0ZXIgZml4IGlzIGZvdW5kLgoKMjAxMS0wMS0wOCAwMDozMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IE1ha2VmaWxlLmFtIGNsZWFuLXVwCgkgIEF2b2lkIGR1cGxpY2F0ZXMgR1NUX0NIRUNLX0NGTEFHUyBhbmQgR1NUX09QVElPTlNfQ0ZMQUdTIGFyZSBhbHJlYWR5IGluCgkgIEFNX0NGTEFHUy4gQWRkIExEQUREIGluc3RlYWQgb2YgR1NUX0NIRUNLX0xJQlMgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMS0wMS0wOCAwMDoxOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJICBzbW9vdGh3YXZlOiByZW1vdmUgb2xkIDAuOCBleGFtcGxlIGNvbnRhaW5pbmcgY29kZSB3aXRoIHNpZGVlZmZlY3RzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKQoJICBNYXkganVzdCBhcyB3ZWxsIHJlbW92ZSBpdCByYXRoZXIgdGhhbiBmaXggaXQsIHNvIGl0IGRvZXNuJ3Qgc2hvdwoJICB1cCBpbiBncmVwcyBmb3IgdGhpcyBhbnkgbG9uZ2VyLgoKMjAxMS0wMS0wOCAwMDoxODoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyBzY2hyb2VuYyB0ZXN0IGJpbmFyeQoKMjAxMS0wMS0wOCAwMDoxNzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBDRkxBR1MgYW5kIExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wOCAwMDowODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5ldmVyIGRpc2FibGUgZ19hc3NlcnQoKSBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzCgkgIFRoZSB1bml0IHRlc3RzIGFyZSByaWRkbGVkIHdpdGggZ19hc3NlcnQoKSBhbmQgZnJpZW5kcywgbWFrZSBzdXJlIHdlCgkgIGRvbid0IGRpc2FibGUgYXNzZXJ0IGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMgZXZlbiBpZgoJICB0aGlzIGhhcyBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgYmFzZSwgZS5nLiB2aWEKCSAgLS1kaXNhYmxlLWdsaWItYXNzZXJ0cy4KCjIwMTEtMDEtMDggMDA6MDE6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkgIGRpcmVjdGZiOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnRvIGdfYXNzZXJ0KCkKCSAgSXQgd2lsbCBhbGwgYmUgdHVybmVkIGludG8gYSBOT09QIGlmIC1ER19ESVNBQkxFX0FTU0VSVCBpcyB1c2VkCgkgIChhcyBpdCBpcyBmb3IgcHJlLXJlbGVhc2VzIGFuZCByZWxlYXNlcykuCgoyMDExLTAxLTA3IDIzOjU3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgaW50byBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIEFuZCBkb24ndCB1c2UgZ19yZXR1cm4qX2lmX2ZhaWwoKSBmb3IgZXJyb3IgaGFuZGxpbmcgaW4gZWxlbWVudHMuCgoyMDExLTAxLTA3IDE4OjQ5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBSZXZlcnQgIm1wZWd2aWRlb3BhcnNlOiBmaXggdGltZXN0YW1wIGdlbmVyYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjI3MTYwOGM0MzE0ZDZkMGE2ODVjMThjNWM0N2Q1NTQ5NTU4NjE1OS4KCSAgVGhpcyBwYXRjaCBuZWVkcyBtb3JlIHdvcmsgc28gaXQgZG9lc24ndCBjYXVzZSBncmF2ZSBwbGF5YmFjawoJICByZWdyZXNzaW9ucyAobXVsdGktc2Vjb25kIGZyZWV6ZXMpIHdpdGggc29tZSBmaWxlcyB0aGF0IGhhdmUKCSAgc2xpZ2h0bHkgYnJva2VuIHRpbWVzdGFtcHMgYnV0IHBsYXkgZmluZSBldmVyeXdoZXJlIGVsc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYyNzkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIyMgoKMjAxMS0wMS0wNyAxNTo0NzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMS0wMS0wNyAxNDo1MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlICRMSUJNIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgLWxtCgoyMDExLTAxLTA3IDE1OjIyOjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IGxlYWsgdGhlIGNhcHMKCjIwMTEtMDEtMDcgMDI6MTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IFBBVCBhbmQgUE1UIGluZm8tcmVsYXRlZCBvYmplY3QgbGVha3MKCjIwMTEtMDEtMDYgMTI6NTE6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjo1MDoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjo0OTo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTAtMTItMTUgMTU6NTg6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBGaXggY29weXJpZ2h0CgoyMDEwLTEyLTE3IDE0OjUwOjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIHB1c2hzcmMKCjIwMTEtMDEtMDUgMTY6NDM6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxMzo0NDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJICBkdmJzdWJvdmVybGF5OiBzb21lIG1vcmUgbWlub3IgY2xlYW4tdXBzCgoyMDExLTAxLTA0IDE2OjAzOjAxICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBsZWFrIG9mICJjbGVhciBzY3JlZW4iIERWQlN1YnRpdGxlcyBzdHJ1Y3RzCgoyMDExLTAxLTA0IDEzOjUxOjIxICswMDAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHR3byBtaW5vciBkZWluaXRpYWxpemF0aW9uIG1lbW9yeSBsZWFrcwoKMjAxMS0wMS0wMyAyMzo1NTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGRpc3QgY2FtZXJhYmluMiBleGFtcGxlIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYwNAoKMjAxMS0wMS0wMyAyMzo0OTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogZml4IGNmbGFncyBhbmQgbGlicyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wMyAyMzo0NzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogZml4IGxpYnMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDMgMjM6NDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBidWlsZDogZml4IGRpc3Rpbmcgb2YgZXhwZXJpbWVudGFsIGJhc2VjYW1lcmFiaW5zcmMgbGliIHVzZWQgYnkgY2FtZXJhYmluMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NjA0CgoyMDExLTAxLTAzIDE3OjEwOjM2IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogZml4IGJ1aWxkIGVycm9ycyBvbiBtYWNvc3gKCSAgZml4ZXMgdGhlIGZvbGxvd2luZyBjb21waWxlIGVycm9yczoKCSAgY2MxOiB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBjYW1zd2NsaWVudC5jOiBJbiBmdW5jdGlvbiAnY2FtX3N3X2NsaWVudF9vcGVuJzoKCSAgY2Ftc3djbGllbnQuYzo4MTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cm5jcHknCgkgIGNhbXN3Y2xpZW50LmM6ODE6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnc3RybmNweScKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cmVycm9yJwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdzdHJlcnJvcicKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogZm9ybWF0ICclcycgZXhwZWN0cyB0eXBlICdjaGFyIConLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnaW50JwoJICBjYW1zd2NsaWVudC5jOiBJbiBmdW5jdGlvbiAnc2VuZF9jYV9wbXQnOgoJICBjYW1zd2NsaWVudC5jOjEyOTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21lbWNweScKCSAgY2Ftc3djbGllbnQuYzoxMjk6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbgoJICBmdW5jdGlvbiAnbWVtY3B5JwoJICBnc3RkdmJzcmMuYzo0ODoxOTogZXJyb3I6IGVycm9yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKMjAxMS0wMS0wMyAyMDowNTo1MiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBSR0IgLT4gWVVWIGNvbnZlcnNpb24gYnkgdXNpbmcgWVVWIHBhbGV0dGVzCgkgIHRoZSBkZWZhdWx0IENMVVRzIHN0aWxsIHVzZSBSR0IgLT4gWVVWIGNvbnZlcnNpb25zIHNpbmNlIHRoZSBzdGFuZGFyZCBkZWZpbmVzCgkgIHRoZW0gYXMgUkdCQSB2YWx1ZXMuCgoyMDExLTAxLTAzIDIwOjIxOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9lc2QubTQ6CgkqIG00L2dsaWIubTQ6CgkqIG00L2dzdC1tYXRyb3NrYS5tNDoKCSogbTQvZ3N0LXNob3V0Mi5tNDoKCSogbTQvZ3RrLm00OgoJKiBtNC9vZ2cubTQ6CgkqIG00L3ZvcmJpcy5tNDoKCSAgbTQ6IHJlbW92ZSBzb21lIGNydWZ0CgoyMDExLTAxLTAzIDE3OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkanVzdCBuYXN0eSBjYXNlIHRpbWVzdGFtcCB0cmFja2luZwoJICBUaGF0IGlzLCBhbGwgc29ydHMgb2YgcHJvYmxlbXMgYXJpc2Ugd2l0aCByZS1vcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMgdGhhdAoJICB0ZW5kIHRvIGRlZnkgYXV0b21hZ2ljIGhhbmRsaW5nIGZvciBldmVyeSBjYXNlLCBzbyBhbGxvdyBmb3IgYSBmZXcgdmFyaWF0aW9ucwoJICB0aGF0IGNhbiBiZSB0cmllZCBkZXBlbmRpbmcgb24gY2lyY3Vtc3RhbmNlcy4KCSAgQWxzbyB0cnkgdG8gZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgkgIEFsc28gZml4ZXMgIzYzODI4OC4KCjIwMTAtMTItMzAgMjE6NDg6NDEgKzAyMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnZXQgcmlkIG9mIHRpbWVzdGFtcCBvdmVycHJvdGVjdGl2ZW5lc3MKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTAxLTAzIDE2OjU2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSBhbmQgZml4IHB0c19vZmZzZXQgc3RvcmluZwoJICBJbiBwYXJ0aWN1bGFyLCBvbmx5IHdyaXRlIGEgY3R0cyBhdG9tIGlmIGFuZCBvbmx5IGlmIGV2ZXIgYSBub24temVybyBvZmZzZXQuCgoyMDExLTAxLTAzIDEwOjQzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE1OjIzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGxhcmdlLWZpbGUgcHJvcGVydHkKCSAgUmF0aGVyLCBhdXRvLWRldGVybWluZSBpZiA2NC1iaXRzIGZpZWxkcyBhcmUgbmVlZGVkIGZvciBhIHZhbGlkIHJlc3VsdCwgYW5kCgkgIHN0aWNrIHRvIHBsYWluIDMyLWJpdHMgaWYgbm90IG5lZWRlZC4KCSAgQVBJOiBHc3RRVE11eDpsYXJnZS1maWxlIChyZW1vdmVkKQoKMjAxMS0wMS0wMyAxODoxMzozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2R2Yi9SRUFETUU6CgkgIFJFQURNRTogZml4IHRoZSBleGFtcGxlIHBpcGVsaW5lCgkgIEZpeCB0aGUgb2J2aW91cyBvdXRkYXRlZCBwYXJ0cy4gU3RpbGwgdGhpcyBSRUFETUUgbG9va3Mgb3V0ZGF0ZWQgYW5kIHNob3VsZCBiZQoJICB1cGRhdGVkIG9yIHJlbW92ZWQuCgoyMDExLTAxLTAyIDE5OjM4OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTEtMDEtMDIgMTY6MTM6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBEaXNhYmxlIG1hdHJpeGluZyBvbiBiaWctZW5kaWFuCgkgIEl0J3MgYnJva2VuIHVudGlsIHNvbWVvbmUgd3JpdGVzIGJldHRlciBPcmMgY29kZS4gIEZpeGVzICM2MzEyMzIuCgoyMDEwLTEyLTA1IDAzOjI5OjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBTZXQgYWRhcHRhdGlvbiBmbGFnIHdoZW4gYXBwcm9wcmlhdGUKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIHRoZXJlJ3Mgc3R1ZmYgdG8gZ28gaW50byB0aGUgYWRhcHRhdGlvbgoJICBoZWFkZXIuCgoyMDEwLTExLTE3IDE3OjQ5OjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFNldCByYW5kb21fYWNjZXNzX2luZGljYXRvciBmb3Iga2V5ZnJhbWVzCgoyMDEwLTEyLTMxIDE2OjIwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogb3V0bGluZSB0ZXh0IGJ5IGRlZmF1bHQsIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODUyNwoKMjAxMS0wMS0wMiAxNToxMTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrLy5naXRpZ25vcmU6CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBqYWNrOiBtb3ZlIHBsdWdpbiB0byBnc3QtcGx1Z2lucy1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE5MjkKCjIwMTEtMDEtMDIgMTM6NTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IGNhcHMgYW5kIHN0cmluZyBsZWFrcyBhbmQgc29tZSBtaW5vciBjbGVhbi11cHMKCSAgRG9uJ3QgbGVhayBzb3VyY2UgY2Fwcy4gVXNlIEdTVF9QVFJfRk9STUFUIHRvIGxvZyBjYXBzLCBzbwoJICB3ZSBkb24ndCBuZWVkIHRvIGxlYWsgc3RyaW5ncyBmcm9tIGdzdF9jYXBzX3RvX3N0cmluZygpLgoJICBObyBuZWVkIHRvIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgdmZ1bmNzIHdoZXJlIHRoZSBiYXNlCgkgIGNsYXNzIHdpbGwgbmV2ZXIgbG9vayB0aGVtIHVwIChsaWtlIHByb3BlcnR5IGdldHRlcnMvc2V0dGVycykuCgkgIERvbid0IHVzZSBnX3JldHVybl8qX2lmX2ZhaWwoKSBmb3IgdGhpbmdzIHRoYXQgYXJlbid0IGRpcmVjdGx5CgkgIHByb2dyYW1taW5nIGVycm9ycyAoYnkgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlcikuCgkgIEZpeGVzIGthdGUgdW5pdCB0ZXN0IHVuZGVyIHZhbGdyaW5kLgoKMjAxMC0xMi0zMSAxNjoxNzo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiByZWVuYWJsZSB0aGUgc2VuZGluZyBvZiBhIG1lc3NhZ2UgZm9yIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODQxMgoKMjAxMS0wMS0wMiAxMzoyOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJICBnYXVkaWVmZmVjdHM6IGRpc3QgcHl0aG9uIGV4YW1wbGVzCgoyMDEwLTEyLTMxIDAwOjA5OjA5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgRlNGIGFkZHJlc3MKCjIwMTAtMTItMzEgMDA6MDc6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIEFkZCBnc3QtYXBwLW1ha2VyCgoyMDEwLTEyLTMxIDAwOjEyOjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IEZpeCBidWlsZCBmYWlsdXJlIGNhdXNlZCBieSBwcmV2aW91cyBjb21taXQKCjIwMTAtMTItMzAgMTk6MjE6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSAgY29nOiBVc2UgbWF0aC1jb21wYXQuaAoKMjAxMC0xMi0zMCAxOToyMToyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGM5OS1pc20KCjIwMTAtMTItMzAgMTk6MTI6MjMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBVc2UgbWF0aC1jb21wYXQgaGVhZGVyCgoyMDEwLTEyLTMwIDE5OjAzOjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIGNoYW5nZSBNX1BJIHRvIEdfUEkKCjIwMTAtMTItMzAgMTk6MDM6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSAgZnJlaTByOiBjb252ZXJ0IHVpbnQzMl90IHRvIGd1aW50MzIKCjIwMTAtMTItMzAgMTg6MjA6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBidWlsZCBmaXhlcyBmb3IgTVNWQwoJICBVc2UgZ2ludDE2IGFuZCBHX1BJLgoKMjAxMC0xMi0zMCAxODoxOTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiByZWluZGVudAoKMjAxMC0xMi0zMCAxODowMjowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IHVzZSBnX2FzY2lpX3N0cmNhc2VjbXAoKQoKMjAxMC0xMi0zMSAwMTozODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NlbGVjdG9yLy5naXRpZ25vcmU6CgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL3NlbGVjdG9yLnZjcHJvajoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIHNlbGVjdG9yOiBtb3ZlIGlucHV0LXNlbGVjdG9yIGFuZCBvdXRwdXQtc2VsZWN0b3IgdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MzA2CgoyMDEwLTEyLTMwIDAxOjE3OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTAtMTItMzAgMDE6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSB2YWx2ZSBlbGVtZW50L3BsdWdpbiB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA4MDgKCjIwMTAtMTItMjkgMTM6MTg6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBWYXJpb3VzIGxlYWsgZml4ZXMKCSAgVmFyaW91cyBsZWFrIGZpeGVzIGFuZCBzb21lIGNvZGUgcmVvcmdhbml6YXRpb24KCjIwMTAtMTItMjcgMTc6MTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlOiBnaXRpZ25vcmUgY2FwdHVyZWQgZmlsZXMKCjIwMTAtMTItMjYgMjA6NTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBJbXBsZW1lbnQgdmlkZW8gY2FwdHVyZSByZW5lZ290aWF0ZQoJICBIYW5kbGUgY2FwcyByZW5lZ290aWF0aW9uIGZyb20gY2FtZXJhYmluMidzIHJlbmVnb3RpYXRlIGV2ZW50CgkgIHRvIGFsbG93IHZpZGVvIGNhcHR1cmUgdG8gYmUgZG9uZSB3aXRoIHRoZSB1c2VyJ3MgcmVxdWVzdGVkCgkgIHJlc29sdXRpb24uCgoyMDEwLTEyLTI2IDIwOjQ3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHRlc3RzIGZvciB2aWRlbyBjYXB0dXJlCgkgIEFkZCBhIHRlc3QgZm9yIGNhcHR1cmluZyBtdWx0aXBsZSB2aWRlb3Mgd2l0aCBkaWZmZXJlbnQgcmVzb2x1dGlvbnMKCSAgaW4gYSBzZXF1ZW5jZS4KCjIwMTAtMTItMjYgMjA6MzU6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggcmVuZWdvdGlhdGUgZXZlbnQgcHVzaGluZwoJICBVc2UgYSBoYWNrIHRvIG1ha2UgdGhlIGV2ZW50IHVwc3RyZWFtIHRvIHJlYWNoIHRoZSBjYW1lcmEgc291cmNlCgkgIGluc3RlYWQgb2YgZ29pbmcgZG93bnN0cmVhbSBhbmQgYmVpbmcgdXNlbGVzcy4KCSAgVGhpcyB3YXMgYWxyZWFkeSBmaXhlZCB0aGlzIHdheSBmb3IgaW1hZ2Ugc3JjcGFkIHJlbmVnb3RpYXRlIGFuZAoJICB2aWRlbyBzcmNwYWQgd2FzIGxlZnQgdW5maXhlZC4KCjIwMTAtMTItMjQgMDk6MTA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlZmFjdG9yIGludGVybmFsIHBpcGVsaW5lCgkgIEluc3RlYWQgb2YgbGlua2luZyAzIHNyYyBwYWRzIGZyb20gdGVlIHRvIHRoZSBnaG9zdHBhZHMsIHVzZSAyCgkgIHNyY3BhZHMgYW5kIGFkZCBhbiBvdXRwdXQtc2VsZWN0b3IgdG8gY29tcGxldGVseSBzcGxpdCBjYXBzCgkgIG5lZ290aWF0aW9uIG9mIHZpZGVvL2ltYWdlIG1vZGVzLiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGFuCgkgIHVzZSBjYXNlIHRoYXQgd291bGQgcmVxdWlyZSBpbWFnZSBhbmQgdmlkZW8gcGFkcyB0byBiZSB1c2VkCgkgIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDEwLTEyLTIyIDE0OjQyOjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgLXB0aHJlYWQgZm9yIHh2aWQgY29uZmlndXJlIGNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzMwOAoKMjAxMC0xMi0yOCAxNzoxNjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG1vZGUgY2FuIGJlIG9ubHkgaW1hZ2Ugb3IgdmlkZW8KCSAgTm8gbmVlZCB0byBjaGVjayBpZiBjYW1lcmFiaW4gaXMgb24gdmlkZW8gbW9kZSBpZiBpdCBpc24ndCBvbgoJICBpbWFnZSBtb2RlIGFzIHRob3NlIGFyZSB0aGUgb25seSAyIG1vZGVzIGF2YWlsYWJsZS4KCSAgQWRkaXRpb25hbGx5LCBpZiBtb2RlIGdldHMgY29ycnVwdGVkIHNvbWVob3cgYW5kIHdvdWxkIGJlIG5laXRoZXIKCSAgaW1hZ2Ugb3IgdmlkZW8gaXQgd291bGQgY2F1c2UgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2luZyBzb21lCgkgIGxpbmVzIG9mIGNvZGUgYmVsb3csIHNvIHRoaXMgaXMgc2FmZXIuCgoyMDEwLTEyLTI4IDE2OjU1OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0xMi0yNyAxNjo1ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJICBhc2ZtdXg6IEZpeCBwbHVnaW4gcGFja2FnZSBuYW1lL29yaWdpbgoKMjAxMC0xMi0yNyAxMzoyMDoyOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0xMi0yNyAxMToxMDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogYWxsb2NhdGUgZmxhdCBhcnJheSBvZiByZWN0YW5nbGVzCgkgIGluc3RlYWQgb2YgYW4gYXJyYXkgb2YgcG9pbnRlcnMgdG8gaW5kaXZpZHVhbGx5LWFsbG9jYXRlZCByZWN0YW5nbGVzLgoKMjAxMC0xMi0yMyAxODoxODo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiBmYWxsYmFjayBvbiBoZWFkZXJzIGluIGNhcHMgdG8gaW5pdGlhbGl6ZSBpZiBoZWFkZXJzIGFyZSBhYnNlbnQKCSAgV2hlbiBUb3RlbSBzd2l0Y2hlcyBzdHJlYW1zLCB0aWdlciB3aWxsIGJlIHJlc2V0LCBhbmQgc3RhcnQgcmVjZWl2aW5nCgkgIGJ1ZmZlcnMgZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0sIHdpdGhvdXQgYmVpbmcgc2VudCBoZWFkZXJzLgoJICBJZiB0aGlzIGhhcHBlbnMsIHRyeSB0byBnZXQgaGVhZGVycyBmcm9tIHRoZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MDA0CgoyMDEwLTEyLTI2IDE3OjE5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0xMi0yNiAxNzowNzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogZml4IGd0azMgY29kZSBwYXRoIGluIGNhbWVyYWJpbiBleGFtcGxlIGFwcAoJICBKdXN0IGFkZCByb3dzIHZpYSB0aGUgY29tYm9ib3gncyBtb2RlbCwgd2hpY2ggc2hvdWxkIHdvcmsgd2l0aAoJICBib3RoIGd0azIgYW5kIGd0azMsIGluc3RlYWQgb2YgdXNpbmcgdGhlIGd0a19jb21ib19ib3hfYXBwZW5kX3RleHQoKQoJICBjb252ZW5pZW5jZSBBUEkgKHdoaWNoIHdhcyByZW5hbWVkIHRvIGd0a19jb21ib19ib3hfdGV4dF9hcHBlbmRfdGV4dCgpKS4KCSAgRml4ZXMgY29tcGlsYXRpb24gYWdhaW5zdCBndGszICh0aGVyZSB3YXMgYSB0eXBvIGluIHRoZSBsaXN0IHN0b3JlCgkgIHZhcmlhYmxlIG5hbWUsIHNwb3R0ZWQgYnkgTWFya3VzIFZhcnRpYWluZW4pLgoKMjAxMC0xMi0yNSAxNzowMToxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogaWYgc2Vla2luZyB3aXRoIEdTVF9TRUVLX1RZUEVfQ1VSLCBmbHVzaCBldmVyeXRoaW5nCgkgIFdlIGRvbid0IGtub3cgaG93IHRvIGNhbGN1bGF0ZSB0aGUgdGFyZ2V0LCBzbyBiZSBzYWZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDEwLTEyLTI1IDE2OjQ0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogbW92ZSAjaWYgI2Vsc2UgYml0cyBvdXRzaWRlIG9mIG1hY3JvCgkgIFNvbWUgY29tcGlsZXJzL3ByZXByb2Nlc3NvcnMgZG9uJ3QgbGlrZSBpZi9lbHNlL2VuZGlmIHByZXByb2Nlc3NvcgoJICBkaXJlY3RpdmVzIGluIHRoZSBtaWRkbGUgb2YgbWFjcm9zLgoKMjAxMC0xMi0yNCAxNDo0NDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBtZXJnZSBwcml2YXRlIGRhdGEgc3RydWN0IGludG8gbWFpbiBzdHJ1Y3QKCjIwMTAtMTItMjQgMTQ6MjQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IGR2YiBzdWIgcGFyc2VyIGhlbHBlciBkb2Vzbid0IG5lZWQgdG8gYmUgYSBHT2JqZWN0CgoyMDEwLTAxLTI1IDE4OjI2OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICB0aWdlcjogR2l2ZSB0aWdlciBwcmltYXJ5IHJhbmsKCjIwMTAtMDEtMjUgMTg6NTg6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBhZGQgc2VnbWVudCB0cmFja2luZywgYW5kIHZhcmlvdXMgb3RoZXIgaW1wcm92ZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTAtMTItMjQgMTA6MTU6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICBtdmU6IGRvIG5vdCB1c2UgdGhlIHBhZCBidWZmZXIgYWxsb2NhdGlvbiBmdW5jdGlvbnMgaW4gZGVtdXhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzkyOQoKMjAxMC0xMi0yNCAwOTo1MDowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHVzZSB0aGUgcGFkIGJ1ZmZlciBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiBkZW11eGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3OTMxCgoyMDEwLTEyLTIzIDIyOjAxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogdHJ5IGhhcmRlciB0byBtYWtlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nCgkgIEFsc28sIGNoZWNrIGJ1ZmZlciBmb3IgTlVMTC1uZXNzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODI0CgoyMDEwLTEyLTIyIDExOjQ0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTm90aWZ5IGVhcmxpZXIKCSAgTm90aWZ5IGFib3V0IHJlYWR5LWZvci1jYXB0dXJlIGNoYW5nZXMgZWFybGllciB0byBhbGxvdyBjYW1lcmFiaW4yCgkgIHRvIGRvIHRoZSB2aWRlb2JpbiBzdGF0ZSBzd2l0Y2hpbmcgYmVmb3JlIHRoZSBjYXB0dXJlIHN0YXJ0cy4KCjIwMTAtMTItMjEgMTk6MjI6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgdmlkZW9yZWNvcmRpbmdiaW46IEZpeCBsZWFrcwoKMjAxMC0xMi0yMSAxMTowNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlZmFjdG9yIHRlc3RzCgkgIFJlZmFjdG9yIHRlc3RzIGNhc2Ugc28gdGhhdCB0aGUgc2FtZSB0ZXN0cyBjYW4gYmUgcnVuIGZvciBkaWZmZXJlbnQKCSAgY2FtZXJhIHNvdXJjZXMuCgoyMDEwLTEyLTIwIDE4OjMwOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBnaXRpZ25vcmUgY2FtZXJhYmluMiB0ZXN0cwoJICBBZGRzIG1vcmUgY2FtZXJhYmluMiBlbGVtZW50cyB0ZXN0cyB0byBnaXRpZ25vcmUKCjIwMTAtMTItMjAgMTg6MDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgY29udmVydGVycyBmb3Igdmlld2ZpbmRlciBicmFuY2gKCSAgVmlld2ZpbmRlciBicmFuY2ggc2hvdWxkIGhhdmUgY29udmVydGVycyBhcyBpdCBoYXMgdG8gd29yawoJICBhbHdheXMgYW55d2F5LgoKMjAxMC0xMi0yMCAxNDoyMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogQWRkIGFub3RoZXIgdGVzdCBjYXNlCgkgIEFkZHMgYSB0ZXN0IGNhc2UgdG8gY2hlY2sgaWYgYSBzZXF1ZW5jZSBvZiBidWZmZXJzIHdpdGggZGlmZmVyZW50CgkgIGNhcHMgY2FuIGJlIHB1c2hlZCB0byBpbWFnZWNhcHR1cmViaW4gYW5kIHNhdmVkIGNvcnJlY3RseQoKMjAxMC0xMi0yMCAwMjo1OToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBBZGQgYmFzaWMgY2hlY2sgdGVzdAoJICBBZGRzIG1pbmltdW0gY2hlY2sgdGVzdC4gSXQncyBub3QgYSB2ZXJ5IHVzZWZ1bCB0ZXN0LCBidXQgYXQgbGVhc3QKCSAgaXQgYWxsb3dzIHVzIHRvIHJ1biBpdCB1bmRlciB2YWxncmluZCBhbmQgY2hlY2sgZm9yIGxlYWtzIGF1dG9tYXRpY2FsbHkKCjIwMTAtMTItMjAgMDI6NTg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBSZW1vdmUgbGVha3MKCSAgUmVtb3ZpbmcgdmFyaW91cyBsZWFrcyBmcm9tIHZpZXdmaW5kZXJiaW4KCjIwMTAtMTItMTcgMjM6MDY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBtb3JlIGxvZ3MKCjIwMTAtMTItMTcgMjM6MDY6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTbWFsbCB0ZXN0cyB1cGRhdGUKCSAgSW5jcmVhc2VzIHRpbWVvdXQgdmFsdWUgc28gdGhhdCB0ZXN0cyB3b24ndCBmYWlsIHdpdGggZnVsbAoJICBkZWJ1ZyBvdXRwdXQuCgkgIEFsc28gcmVtb3ZlcyBidWZmZXIgYWxsb2MgZnJvbSB2aWRlb3Rlc3RzcmMgYXMgdGhpcyBmZWF0dXJlCgkgIGlzbid0IHJlYWR5IG9uIGNhbWVyYWJpbjIKCjIwMTAtMTItMTQgMjI6MDY6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIHRlc3RzIGZvciBpbWFnZSBjYXB0dXJlIHdpdGggZGlmZmVyZW50IGNhcHMKCSAgQWRkcyBhIHRlc3QgdGhhdCB0cmllcyBzdWNlc3NpdmUgY2FwdHVyZXMgd2l0aCBkaWZmZXJlbnQgY2FwcwoKMjAxMC0xMi0xNiAwMDo0MDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIGNhbWVyYWJpbjIgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50cwoKMjAxMC0xMi0xNSAxNDowNTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCSAgQWRkcyBhIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudCB0aGF0IGlzIHB1c2hlZCB0byB0aGUgY2FtZXJhc3JjIHBhZAoJICB0aGF0IG5lZWRzIHJlbmVnb3RpYXRpb24gZHVlIHRvIHRoZSB1c2VyIHNlbGVjdGluZyBhIG5ldyBjYXB0dXJlCgkgIGNhcHMgZm9yIHRoYXQgcGFkLgoJICBUaGlzIGlzIGEgd2F5IG9mIG5vdGlmeWluZyB0aGUgc291cmNlIHRoYXQgaXQgc2hvdWxkIHVwZGF0ZSBpdHMgY2FwcywgZXZlbgoJICBpZiBpdCBkb2Vzbid0IHVzZSBwYWQgYWxsb2NzLgoKMjAxMC0xMi0xNiAyMjo0OToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIGxvY2FsIG1vZGUKCjIwMTAtMTItMTQgMTg6NDI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIHByb3BlcnRpZXMgZm9yIGNhcHR1cmUgY2FwcwoJICBBZGRzIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBjYXBzIGZvciB2aWRlbyBhbmQgaW1hZ2UgY2FwdHVyZXMKCjIwMTAtMTItMTkgMTk6NDA6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBGaXggbWFrZWZpbGUgYnVpbGRpbmcgb3JkZXIKCSAgYmFzZWNhbWVyYWJpbnNyYyBtdXN0IGJlIGJ1aWx0IGFmdGVyIHBob3RvZ3JhcGh5IGludGVyZmFjZQoJICBhcyBpdCBkZXBlbmRzIG9uIGl0LgoKMjAxMC0xMi0xMCAxNzo0NTo0MCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYnJldmlhdGlvbnMgZnJvbSBpbWFnZWNhcHR1cmViaW4KCjIwMTAtMTItMTYgMDg6NDc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBBZGQgc29tZSBtb3JlIGxvZ2dpbmcKCSAgQWRkcyBzb21lIG1vcmUgbG9nZ2luZyBhbmQgYWx3YXlzIGFzc3VtZSBjYXB0dXJlIGhhcyBzdGFydGVkIGJlZm9yZQoJICBzdGFydF9jYXB0dXJlIGlzIGNhbGxlZC4gVGhpcyBoZWxwcyBvbiBpbWFnZSBjYXB0dXJlcyB0aGF0IG1pZ2h0CgkgIGNhbGwgZmluaXNoX2NhcHR1cmUgZGlyZWN0bHkgZnJvbSBzdGFydF9jYXB0dXJlIG9yIGJlZm9yZSBzdGFydF9jYXB0dXJlCgkgIGZpbmlzaGVzLgoKMjAxMC0xMi0xNSAyMjozNToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBNb3JlIGNsZWFudXAKCSAgUmVtb3ZlIG9sZCBsZWdhY3kgY29kZSBjb3BpZWQgZnJvbSBjYW1lcmFiaW4oMSkgdGhhdCBzaG91bGQgYmUgaGFuZGxlZAoJICBieSBjYXBzIG5lZ290aWF0aW9uIG9uIGNhbWVyYWJpbjIKCjIwMTAtMTItMTUgMTQ6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB3YWl0X2Zvcl9wcmVwYXJhIHZhcmlhYmxlIHRoYXQgd2Fzbid0IGJlaW5nIHVzZWQKCjIwMTAtMTItMTQgMTc6MjM6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZW5hbWUgdjRsMmNhbWVyYXNyYyB0byB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIFVzZSBhIGJldHRlciBuYW1lIGZvciB0aGUgZWxlbWVudCB0aGF0IHdyYXBzIHNpbmdsZSBwYWQgc3JjIGVsZW1lbnQKCSAgaW50byBhIDNwYWQgc291cmNlIHJlcXVpcmVkIGJ5IGNhbWVyYWJpbjIuCgoyMDEwLTEyLTE0IDE2OjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiByZW1vdmUgdmlkZW8gZmlsdGVyIHByb3BlcnR5IGNvZGUKCSAgUmVtb3ZlcyBzb21lIHVudXNlZCBjdXN0b20gdmlkZW8gZmlsdGVyIGVsZW1lbnQgcHJvcGVydHkgY29kZQoKMjAxMC0xMi0xNiAxMDo1MTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEZpeCB2aWRlby1zaW5rIHByb3BlcnR5IGFnYWluCgkgIEF2b2lkIHN3aXRjaGluZyB0aGUgZWxlbWVudCBvbiB0aGUgc2V0X3Byb3BlcnR5IGZ1bmN0aW9uLCBpbnN0ZWFkIHdhaXQKCSAgZm9yIHRoZSBuZXh0IE5VTEwgLT4gUkVBRFkgdHJhbnNpdGlvbi4KCjIwMTAtMTItMTQgMTQ6NDg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgdmlkZW90ZXN0c3JjIG9uIHRoZSB0ZXN0cwoJICBVc2UgdmlkZW90ZXN0c3JjIHRvIGF2b2lkIG9wZW5uaW5nIHRoZSBjYW1lcmEgZGV2aWNlIG9uIHRoZSB0ZXN0cy4KCjIwMTAtMTItMTQgMTQ6NDM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBhZGQgdmlkZW8tc3JjIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHNyYyBlbGVtZW50IHRvIGJlIHVzZWQgaW50ZXJuYWxseQoJICBvbiB2NGwyY2FtZXJhc3JjLiBZZWFoLCBJIGtub3csIHRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJldHRlcgoJICBuYW1lLgoKMjAxMC0xMi0xMyAxNzo1NjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB0ZXN0IGZvciBzdXBwb3J0ZWQgY2FwcyBwcm9wZXJ0aWVzCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIHRoYXQgdGhlIHN1cHBvcnRlZCBjYXBzIHByb3BlcnRpZXMgd29yawoJICBhcyBleHBlY3RlZCAodXNpbmcgdGhlIHJlc3BlY3RpdmUgcGFkcyBnZXQgY2FwcyBmdW5jdGlvbikKCjIwMTAtMTItMTQgMDg6NDQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogYWRkcyBQT1JUSU5HIGRvY3VtZW50CgkgIEFkZHMgYSBQT1JUSU5HIGRvY3VtZW50IHRvIGV4cGxhaW4gdGhlIGRpZmZlcmVuY2VzIGZyb20KCSAgY2FtZXJhYmluIHRvIGNhbWVyYWJpbjIgYW5kIGhlbHAgYXBwbGljYXRpb24gZGV2ZWxvcGVycyBvbgoJICBwb3J0aW5nIGZyb20gb25lIHRvIGFub3RoZXIuCgoyMDEwLTEyLTEzIDE5OjM2OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTW92ZSBiYXNlY2FtZXJhc3JjIHRvIGdzdC1saWJzCgkgIE1vdmUgdGhlIGJhc2UgY2FtZXJhIHNyYyBjbGFzcyB0byBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYyB0bwoJICBhbGxvdyBpdCB0byBiZSBpbmNsdWRlZCBmcm9tIHRoZSB0ZXN0cy4KCjIwMTAtMTItMTQgMTQ6Mjg6NDkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCB2aWRlb3JlY29yZGluZ2Jpbjo6dmlkZW8tbXV4ZXIgcHJvcGVydHkKCjIwMTAtMTItMTQgMTI6MjE6NTcgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCB2aWRlb3JlY29yZGluZ2Jpbjo6dmlkZW8tZW5jb2RlciBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAwOTo1ODozNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFiYnJldmlhdGlvbnMgZnJvbSB2aWRlb3JlY29yZGluZ2JpbgoKMjAxMC0xMi0xNCAxMDo0ODo1NiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjogcmVsZWFzZSBvYmplY3RzIGFuZCBtZW1vcnkgYWxsb2NhdGlvbnMKCjIwMTAtMTItMTMgMTY6MzY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBjYW1lcmEtc3JjIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGNhbWVyYSBzb3VyY2UgZWxlbWVudCB0byBiZSB1c2VkLgoJICBDaGFuZ2luZyBvbmx5IGhhcHBlbnMgb24gdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbgoKMjAxMC0xMi0xMyAxMTo1Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVuYW1lIHZhcmlhYmxlcwoJICBVc2UgYmV0dGVyIG5hbWUgZm9yIHRoZSB2YXJpYWJsZXMsIG1ha2luZyB0aGUgY29kZSBjbGVhcmVyLiBBbHNvCgkgIGtlZXAgYSByZWYgZm9yIHNvbWUgaW50ZXJuYWwgZWxlbWVudHMgdG8gYXZvaWQgZmV0Y2hpbmcgdGhlbQoJICBieSBuYW1lIHdoZW4gbmVlZGVkIGxhdGVyLgoKMjAxMC0xMi0xMiAyMzowMzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHByb3BlcnRpZXMgZm9yIHN1cHBvcnRlZCBjYXB0dXJlIGNhcHMKCSAgQWRkcyAyIHByb3BlcnR5IGZvciBnZXR0aW5nIHRoZSBzdXBwb3J0ZWQgaW1hZ2UvdmlkZW8gY2FwdHVyZQoJICBjYXBzIGZyb20gdGhlIGNhbWVyYSBzb3VyY2UuCgoyMDEwLTEyLTEyIDIwOjQ2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBQdXQgZW51bXMgaW5zaWRlIHRoZWlyIGNsYXNzZXMgLmMKCSAgUmVtb3ZlIGdsb2JhbCBsaXN0IG9mIHByb3BlcnRpZXMnIGVudW1zIGFuZCBwdXQgdGhlbQoJICBpbnNpZGUgdGhlaXIgY2xhc3NlcyAuYwoKMjAxMC0xMi0xMiAxOTozMzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHZpZXdmaW5kZXJiaW46IEZpeGVzIHRvIHZpZGVvLXNpbmsgaGFuZGxpbmcKCSAgSGFuZGxlIHZpZGVvLXNpbmsgbW9yZSBjYXJlZnVsbHksIGNoZWNraW5nIGlmIGl0IHNob3VsZAoJICBiZSBhbHJlYWR5IGFkZGVkIHRvIHRoZSBiaW4sIGFuZCByZW1vdmluZyBvbGQgb25lcyB3aGVuCgkgIHJlcGxhY2luZy4KCjIwMTAtMTItMTMgMTY6Mjg6NTggKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBpbWFnZWNhcHR1cmViaW46OmltYWdlLW11eGVyIHByb3BlcnR5CgoyMDEwLTEyLTEzIDEyOjA4OjIyICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgaW1hZ2VjYXB0dXJlYmluOjppbWFnZS1lbmNvZGVyIHByb3BlcnR5CgoyMDEwLTEyLTEwIDE3OjQ1OjQwICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFicmV2aWF0aW9ucyBmcm9tIGltYWdlY2FwdHVyZWJpbgoKMjAxMC0xMi0xMCAxMjowODo0OCAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogaW1wbGVtZW50IHZpZXdmaW5kZXJiaW46OnZpZGVvLXNpbmsgcHJvcGVydHkgdG8gb3ZlcnJpZGUgZGVmYXVsdCB2aWRlbyBvdXRwdXQKCjIwMTAtMTItMDkgMTQ6MTM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBNYWtlIGNvbnN0cnVjdF9waXBlbGluZSBvcHRpb25hbAoJICBDb25zdHJ1Y3QgcGlwZWxpbmUgc2hvdWxkIGJlIG9wdGlvbmFsLiBTdWJjbGFzc2VzIHRoYXQgZG9uJ3QKCSAgaGF2ZSBpbnRlcm5hbCBlbGVtZW50cyBkb24ndCBuZWVkIGl0LgoKMjAxMC0xMi0wOSAxMjoyMzowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IHdyaXRlIG1vcmUgZGV0YWlscyBvbiB0aGUgYXBpIGRvY3MKCjIwMTAtMTItMDkgMTI6MjI6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogdXNlIHRoZSBlbnVtIHR5cGUgZm9yIG1vZGUKCjIwMTAtMTItMDkgMTI6MjE6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogY29tbWVudCBjbGVhbnVwcwoKMjAxMC0xMi0yMiAyMTo0NDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODI0CgoyMDEwLTEyLTIyIDE4OjEzOjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkgIGlkM211eDogU2V0IHRvIEdTVF9SQU5LX1BSSU1BUlkKCSAgV2Ugd2FudCBpdCB0byB0YWtlIHByZWNlZGVuY2Ugb3ZlciBhbnkgb3RoZXIgaWQzIGZvcm1hdHRlci4KCjIwMTAtMTItMjEgMTg6MDE6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggc29tZSBtb3JlIGxlYWtzIGFuZCByZW9yZ2FuaXplIHVucmVmIGNvZGUKCjIwMTAtMTItMjAgMTU6MzM6MjggKzAxMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBdm9pZCBzb21lIGxlYWtzIGluIGF1dG9jb252ZXJ0CgkgIHVucmVmIHNpbmsgYW5kIHNyYyBwYWQgYWZ0ZXIgZ3N0X3BhZF9ieV9kaXJlY3Rpb24gY2FsbHMgdW5yZWYKCSAgZWxlbWVudCBpZiBnc3RfYXV0b19jb252ZXJ0X2FjdGl2YXRlX2VsZW1lbnQgZmFpbGVkLgoJICBTZWUgYnVnICM2Mzc1NTMuCgoyMDEwLTEyLTIxIDE3OjAzOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpeCBidWZmZXIgbGVhayBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTIwIDA3OjE5OjA0IC0wODAwICBTYWxlZW0gQWJkdWxyYXNvb2wgPGNvbXBuZXJkQGNvbXBuZXJkLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvciBsYXRlc3QgR1RLKyBBUEkgY2hhbmdlcwoKMjAxMC0xMi0yMCAxNzo0NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE2OTQ2MmEgdG8gNDY0NDVhZAoKMjAxMC0xMi0yMCAxMTowNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY2FwcyBsZWFrcwoJICBGaXggc29tZSBjYXBzIGxlYWtzIG9uIHVuaXQgdGVzdHMKCjIwMTAtMTItMjAgMDk6Mzc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogRml4IGxlYWtzIG9uIGNoZWNrIHRlc3QKCSAgRml4IGxlYWtzIGluIGppZm11eCBjaGVjayB0ZXN0CgoyMDEwLTEyLTIwIDEzOjUxOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogdXNlIGEgZmxhZ3MgdHlwZSBpbnN0ZWFkIG9mIHRoZSB1aW50CgkgIEFsc28gdXNlIDAgYXMgZGVmYXVsdCBhbmQgbGV0IHRoZSBpbXBsZW1lbnRhdGlvbiBzZXQgc29tZXRoaW5nIHRoYXQgdGhleSBzdXBwb3J0LgoKMjAxMC0xMi0yMCAxMToxNDo0OSArMDIwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgbWlzc2luZyBwcm9wZXJ0eSBhbmQgY2FiYWJpbGl0eSBmbGFnIGZvciBub2lzZSByZWR1Y3Rpb24KCjIwMTAtMTItMTkgMTc6MjM6MjQgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIHRlc3RzOiBGaXggbGVhayBpbiBhdXRvY29udmVydCB0ZXN0CgoyMDEwLTEyLTE5IDE3OjE2OjEwICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFVzZSBnc3RfY2Fwc19jYW5faW50ZXJzZWN0KCkKCjIwMTAtMTItMTkgMTI6NTM6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIEF0b21JbmZvIHN0cnVjdHMKCjIwMTAtMTItMTkgMTI6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIHRhZyBzdHJpbmcgYWZ0ZXIgdXNlCgoyMDEwLTEyLTE5IDEyOjEyOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBGaXggc29tZSBtb3JlIG1lbW9yeSBsZWFrcwoKMjAxMC0xMi0xOSAxMjoxMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIG1lc3NhZ2UgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0xOSAxMjowOTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIHBhZCBhbmQgc2luawoKMjAxMC0xMi0xOSAxMjowNToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZSBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZQoKMjAxMC0xMi0xOSAxMjowMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIGxvY2F0aW9uIHN0cmluZwoKMjAxMC0xMi0xOSAxMjowMDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEb24ndCBsZWFrIHRhZ2xpc3QKCjIwMTAtMTItMTkgMTE6Mzg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxMC0xMi0xOSAxMToyMDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBBZGQgYXV0b2NvbnZlcnQgY2hpbGQgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHBhcmVudCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgLi4uYW5kIHJlbW92ZS91bmxpbmsgYXV0b2NvbnZlcnQgY2hpbGQgd2hlbiBnb2luZyBiYWNrIHRvIE5VTEwuCgoyMDEwLTEyLTE5IDExOjE5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzdGF0ZXM6IElnbm9yZSBtb3JlIHZkcGF1IGVsZW1lbnRzIGluIHRoZSBnZW5lcmljIHN0YXRlcyB0ZXN0CgoyMDEwLTEyLTE5IDExOjE3OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBSZW5hbWUgYW5kIGFkanVzdCB1bml0IHRlc3QgdG9vCgoyMDEwLTEyLTE4IDEyOjQ4OjQyIC0wODAwICBMZW8gU2luZ2VyIDxsZW8uc2luZ2VyQGxpZ28ub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBmaXggY29tcGlsZXIgd2FybmluZzogcmVkdW5kYW50IGRlY2xhcmF0aW9uIG9mICdwYXJlbnRfY2xhc3MnCgkgIEdTVF9CT0lMRVJQTEFURV9GVUxMIGRlY2xhcmVzIHBhcmVudF9jbGFzcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3NTMyCgoyMDEwLTEyLTE3IDE5OjQxOjI1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsbG93IHplcm8gZHVyYXRpb24gdHJhY2tzCgoyMDEwLTEyLTE2IDE1OjMxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSBHU1RfTE9HIGV0Yy4gZm9yIGxvZ2dpbmcKCSAgVGhlIGR2YnN1YiByb3V0aW5lcyB3ZXJlIG9yaWdpbmFsbHkgZGVzaWduZWQgYXMgYSBtaW5pIGxpYiB3aXRoIGEKCSAgbG9nIGNhbGxiYWNrICh3aGljaCBmcm9tIHRoZSBsb29rcyBvZiBpdCBpbiBvdXIgY2FzZSB3b3VsZCBhbHdheXMKCSAgYmUgY2FsbGVkIGFuZCBhbHdheXMgYXNzZW1ibGUgdGhlIHN0cmluZyBldmVuIHdpdGggZGVidWcgb3V0cHV0CgkgIGRpc2FibGVkKS4gU29tZSBvZiB0aGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIGNhbiBwcm9iYWJseSBiZSByZW1vdmVkCgkgIG9yIGNsZWFuZWQgdXAgc29tZSBtb3JlLgoKMjAxMC0xMi0xNiAwMDoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgc29tZSB1bnVzZWQgZGVmaW5lcwoKMjAxMC0xMi0xNiAwMDoxMzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBhdG9taWMgYWNjZXNzCgoyMDEwLTEyLTE2IDE1OjMzOjQ1ICswMDAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCByZW5kZXJpbmcgYXJ0ZWZhY3RzCgkgIEluaXRpYWxpemUgc291cmNlIHggcG9zaXRpb24gZm9yIG9kZCBoZWlnaHQgc3BlY2lhbCBjYXNlLgoKMjAxMC0xMi0xNiAxMToyOTowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFRoZSBlbmFibGUgcHJvcGVydHkgaXMgYSBib29sZWFuIGFuZCBub3QgYW4gaW50ZWdlcgoKMjAxMC0xMi0xNiAwOTo1NjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJICBhdXRvY29udmVydDogUmVuYW1lIGF1dG9jb2xvcnNwYWNlIHRvIGF1dG92aWRlb2NvbnZlcnQKCSAgVGhpcyBkb2Vzbid0IGp1c3QgY29udmVydCBiZXR3ZWVuIGNvbG9yIHNwYWNlcy4KCjIwMTAtMTItMTUgMTI6NDU6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvc2luazoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSogdG9vbHMvc2lua3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc2lua3BhZC5jOgoJKiB0b29scy9zcmNwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NyY3BhZC5jOgoJICBlbGVtZW50LW1ha2VyOiBDbGVhbiB1cCBkaXJlY3RvcnkKCjIwMTAtMTItMTUgMjE6Mjg6MDYgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBBZGQgZnJhbWVyYXRlIHRvIHRoZSBzaW5rIGNhcHMKCSAgRml4ZXMgYnVnICM2MzcyMjQuCgoyMDEwLTEyLTE1IDIxOjE5OjU1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbG9yc3BhY2UuYzoKCSAgYXV0b2NvbG9yc3BhY2U6IEFkZCB1bml0IHRlc3QKCjIwMTAtMTItMTUgMjE6MTQ6MzggKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJICBhdXRvY29sb3JzcGFjZTogQWRkIGF1dG9jb252ZXJ0IGJhc2VkIHZpZGVvIGZvcm1hdCBjb252ZXJ0IGVsZW1lbnQKCSAgRml4ZXMgYnVnICM2MzYxMDYuCgoyMDEwLTEyLTE1IDIxOjExOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVuYW1lIERWQiBzdWJ0aXRsaW5nIG1lZGlhIHR5cGUgdG8gc3VicGljdHVyZS94LWR2YgoKMjAxMC0xMi0xNSAyMToxMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZW5hbWUgRFZCIHN1YnRpdGxpbmcgbWVkaWEgdHlwZSB0byBzdWJwaWN0dXJlL3gtZHZiCgoyMDEwLTEyLTE1IDIwOjU0OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3QgZHJhdyBhbnl0aGluZyBvbiB0aGUgdmlkZW8gaWYgdGhlIGVuYWJsZSBwcm9wZXJ0eSBpcyBzZXQgdG8gRkFMU0UKCjIwMTAtMTItMTUgMjA6NTM6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBBZGQgI2RlZmluZXMgZm9yIHRoZSBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlcwoKMjAxMC0xMi0xNSAyMDo1MToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFVzZSBnX2F0b21pY19pbnRfZ2V0KCkgZm9yIHJlYWRpbmcgdGhlIG1heF9wYWdlX3RpbWVvdXQgZmllbGQKCjIwMTAtMTItMTUgMjA6NDk6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogTWFyayBhcnJheSBzdGF0aWMgY29uc3QgYW5kIHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBzaXplb2YKCjIwMTAtMTItMTUgMTQ6Mzk6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBERVNDX0RWQl9TVUJUSVRMSU5HIGRlc2NyaXB0b3IgZm9yIGxhbmd1YWdlIHBhcnNpbmcKCjIwMTAtMTItMTUgMTQ6MjM6NTggKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGVuYWJsZSBnYXRoZXJfcGVzIG9ubHkgZm9yIERWQiBzdWJ0aXRsZSBwcml2YXRlIHN0cmVhbXMKCjIwMTAtMTItMTQgMTQ6MzQ6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogdXNlIGF0b21pYyBpbnN0cnVjdGlvbnMgdG8gc2V0L2dldCBlbmFibGUgcHJvcGVydHkKCjIwMTAtMTItMTQgMTQ6Mjg6NDUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBhZGQgcHJvcGVydHkgdG8gbGltaXQgcGFnZV90aW1lX291dCB0byBhIHNldGFibGUgbWF4aW11bQoKMjAxMC0xMi0xNCAxMToxMTowOCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBpbXBsZW1lbnQgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgc3VidGl0bGUgd2luZG93cwoJICBzaW1wbGlmaWVzIHN1YnRpdGxlIHNjYWxpbmcgaW4gYmxpdF9pNDIwKCkKCjIwMTAtMTItMTEgMTc6MjU6MjkgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogc2NhbGUgc3VidGl0bGVzIGFjY29yZGluZyB0byB0aGUgZGlzcGxheSBzaXplCgkgIERpc3BsYXkgc2l6ZSBpcyBlaXRoZXIgdHJhbnNtaXR0ZWQgaW4gdGhlIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IG9yCgkgIGltcGxpY2l0bHkgZGVmaW5lZCB0byA3MjB4NTc2LiBUaGUgc3VidGl0bGUgd2luZG93IGluZm9ybWF0aW9uIGFsc28gcHJlc2VudCBpbgoJICB0aGUgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgaXMgbm90IHlldCB1c2VkLgoKMjAxMC0xMi0xMSAxNzoxMDoyNSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcGxlbWVudCBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBwYXJzaW5nCgoyMDEwLTEyLTEwIDEyOjI3OjU0ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBsdW1hIHN0cmlkZSBmb3Igc2NhbGVkIHN1YnRpdGxlcyAoZGlzcGxheSB3aWR0aCAhPSB3aWR0aCkKCjIwMTAtMTItMTUgMTY6NDg6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IERvbid0IHNldCB1aW50IG9uIGFuIGludCBwcm9wZXJ0eQoKMjAxMC0xMi0xNSAxNDo1NjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMDc0MmFlIHRvIDE2OTQ2MmEKCjIwMTAtMTItMTQgMTk6MDM6MDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkqIHRvb2xzL3NpbmtwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NpbmtwYWQuYzoKCSogdG9vbHMvc3JjcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zcmNwYWQuYzoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBnZW5lcmF0aW9uIG9mIHNldmVyYWwgY2xhc3NlcwoJICBCZXR0ZXIgY3JlYXRpb24gb2YgcGFkcywgdGVzdCBhbmQgZml4IG1hbnkgb3RoZXIgY2xhc3Nlcy4gIE1vc3QKCSAgY2xhc3NlcyB3b3JrIG5vdywgYWx0aG91Z2ggbWlnaHQgbm90IGNyZWF0ZSBmdW5jdGlvbmFsIGVsZW1lbnRzLgoKMjAxMC0xMi0xMyAyMzozMjozMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogQWRkIHk0bWRlYwoJICBGZWVsIHRoZSB5NG0gbG92ZS4gIEl0IHNlZWtzLiAgSXQgd29ya3MgaW4gcGl0aXZpLgoKMjAxMC0xMi0xMyAyMzoxNTowNSArMDAwMCAgRnJhbmNpcyBSYW1tZWxvbyA8ZnJhbmNpcy5yYW1tZWxvb0BnbWFpbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBnZGlzY3JlZW5jYXBzcmM6IGZpeCBtZW1vcnkgbGVhawoJICBTdHJ1Y3R1cmUgbWVtYmVycyBvZiBJQ09OSU5GTyBzdHJ1Y3QgZmlsbGVkIGJ5IEdldEljb25JbmZvKCkgbXVzdAoJICBiZSBkZWxldGVkIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZCBhY2NvcmRpbmcgdG8gdGhlIEFQSSByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE0MjgKCjIwMTAtMTItMTMgMTY6MjM6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgbGVha2luZyB0YWcgZXZlbnQKCjIwMTAtMTItMTMgMTU6MTc6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVsYXggYnNpZCBjaGVja2luZwoJICAuLi4gdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBzcGVjIGludGVycHJldGF0aW9uLgoJICBGaXhlcyAjNjM3MDYyLgoKMjAxMC0xMi0xMyAxNjoyMzo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMTFiY2M4IHRvIDIwNzQyYWUKCjIwMTAtMTItMTIgMjM6MzQ6MDIgKzAwMDAgIE1hdHRoZXcgSWZlIDxtYXR0aGV3LmlmZUB1a2Zhc3QuY28udWs+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogZmFpbCBtb3JlIGdyYWNlZnVsbHkgaWYgc291cmNlIGdldHMgZGlzY29ubmVjdGVkIG9yIGdlb21ldHJ5IGNoYW5nZXMKCSAgRG9uJ3QgZ2V0IGNhdWdodCBpbiBhbiBpbmZpbml0ZSBsb29wIGlmIHRoZSBzb3VyY2UgZ2V0cyBkaXNjb25uZWN0ZWQgYW5kIGFsc28KCSAgc3VwcG9ydCBncmFjZWZ1bGx5IGZhaWxpbmcgdXBvbiBkZXRlY3RpbmcgdGhlIGZyYW1lIGdlb21ldHJ5IGhhcyBpbmNyZWFzZWQKCSAgKHJhdGhlciB0aGFuIHNlZ2ZhdWx0aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTM5NwoKMjAxMC0xMi0xMiAyMjoxMzoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBsZWFraW5nIGNvbnZlcnRlZCBjb21tZW50IHN0cmluZwoKMjAxMC0xMi0xMiAxMjowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHNzaW06IFNldCBjbGFzc2lmaWNhdGlvbiB0byBGaWx0ZXIvQW5hbHl6ZXIvVmlkZW8gaW5zdGVhZCBvZiBGaWx0ZXIvQ29udmVydGVyL1ZpZGVvCgkgIEZpeGVzIGJ1ZyAjNjM2MTA5LgoKMjAxMC0xMi0xMiAwMjoyNDowMCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJICBnYXVkaWVmZmVjdHM6IEF2b2lkIGRpdmlkZSBieSAwIGluIGJ1cm4gZWxlbWVudAoKMjAxMC0xMi0xMiAwMjoxNjo0OSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogRGVmZXIgcHVzaGluZyB0YWcgdXBkYXRlcyB1bnRpbCBzdHJlYW1pbmcuCgkgIFB1c2ggdGFnL3RpdGxlIGluZm8gdXBkYXRlcyBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZCwgYXZvaWRpbmcKCSAgc3B1cmlvdXMgbG9zc2VzIG9mIHRoZSBkb3duc3RyZWFtIGV2ZW50cyB3aGVuIGZsdXNoaW5nLgoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTQyMjIKCjIwMTAtMTEtMTYgMTc6MTg6MzMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXR0ZW1wdCB0byB1c2UgZ2xpYiBsYW5ndWFnZSBzZXR0aW5nIGZvciBEVkQgbWVudXMvYXVkaW8KCjIwMTAtMTEtMTYgMTc6MDk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IHNpbGx5IHR5cG8gaW4gYnV0dG9uIHN0YXRlIHRyYWNraW5nLgoKMjAxMC0xMi0xMCAwMDo1ODo1OCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IG9ubHkgZW5xdWV1ZSBidWZmZXJzIGluIHRoZSBWaWRlb1Rvb2xib3ggY2FsbGJhY2tzCgkgIFRoZXNlIGNhbGxiYWNrcyBtYXkgZmlyZSBmcm9tIGFueSB0aHJlYWQsIGhlbmNlIHdlIHNob3VsZCBvbmx5IGVucXVldWUKCSAgYnVmZmVycyBhbmQgbGV0IHRoZSBzdHJlYW1pbmcgdGhyZWFkIHRha2UgY2FyZSBvZiB0aGUgcmVzdCBhcyBzb29uIGFzCgkgIHRoZSBibG9ja2luZyBlbmNvZGUgb3IgZGVjb2RlIG9wZXJhdGlvbiBoYXMgZmluaXNoZWQuCgoyMDEwLTExLTE5IDE1OjUzOjU1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkgIGFwcGxlbWVkaWE6IGJyaW5nIGJhY2sgTGVvcGFyZCBjb21wYXRpYmlsaXR5CgkgIEF0IGxlYXN0IGFzIGZhciBhcyBtaW92aWRlb3NyYyBpcyBjb25jZXJuZWQuIFR1cm5zIG91dCB0aGF0IENvcmVWaWRlbydzCgkgIENWUGl4ZWxCdWZmZXJHZXRJT1N1cmZhY2UgaXMgbm90IHByZXNlbnQgaW4gTGVvcGFyZCdzIHZlcnNpb24gb2YgQ29yZVZpZGVvLgoJICBXZSBzb2x2ZSB0aGlzIGJ5IG1ha2luZyBpdCBwb3NzaWJsZSBmb3Igc3ltYm9scyB0byBiZSBtYXJrZWQgYXMgb3B0aW9uYWwuCgoyMDEwLTExLTI5IDEzOjQ3OjExICswMTAwICBDaHJpc3RpYW4gQmVyZW50c2VuIDxjaHJpc3RpYW4uYmVyZW50c2VuQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGZyYW1lcmF0ZSBmcmFjdGlvbiByYW5nZSBtYXBwaW5nCgkgIE1pbiBhbmQgbWF4IG1heSBiZSBzbGlnaHRseSBkaWZmZXJlbnQgYnV0IGNvbXByZXNzIHRvIHRoZSBzYW1lIGZyYWN0aW9uLgoKMjAxMC0xMi0wOSAxODowNjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJICBqYXNwZXJkZWM6IGRvbid0IGZhaWwgaGFyZCBvbiBkZWNvZGluZyBlcnJvcgoJICBkb24ndCBwb3N0IGFuIGVycm9yIGFuZCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igb24gYSBzaW1wbGUgZGVjb2RpbmcgZXJyb3IuIFdlIGNhbgoJICBqdXN0IHJlc3VtZSBhbmQgY29udGludWUgZGVjb2RpbmcgdGhlIG5leHQgaW1hZ2UuCgoyMDEwLTEyLTA5IDExOjU0OjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiByZXNldCB0aGUgcXVldWUgY29uZGl0aW9uIHRvIE5PX0ZSQU1FUyBpbiB1bmxvY2tTdG9wLgoJICBGaXhlcyBhIHNlZ2ZhdWx0IGluIGNyZWF0ZTogd2hlbiBnb2luZyBQTEFZSU5HIC0+IFBBVVNFRCAtPiBQTEFZSU5HLgoKMjAxMC0xMi0wOSAxMTowNDoxOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogcnVuIHRoZSBtYWluUnVuTG9vcCBmb3IgYSB3aGlsZSBpZiBub3QgcnVubmluZy4KCSAgUVRDYXB0dXJlU2Vzc2lvbjo6YWRkSW5wdXQgYW5kIFFUQ2FwdHVyZVNlc3Npb246OmFkZE91dHB1dCBjYWxsCgkgIE5TT2JqZWN0OjpwZXJmb3JtU2VsZWN0b3JPbk1haW5UaHJlYWQgaW50ZXJuYWxseSBzbyB0aGV5IG5lZWQgdGhlIG1haW5SdW5Mb29wIHRvCgkgIHJ1biBhdCBsZWFzdCBmb3IgYSB3aGlsZSB0byBjb21wbGV0ZS4KCjIwMTAtMTItMDcgMTk6NDA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBSZW1vdmUgZ2hvc3RwYWRzCgkgIFJlbW92ZSBnaG9zdCBwYWRzIGZyb20gYmFzZWNhbWVyYXNyYy4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9ucwoJICBvZiBjYW1lcmEgc291cmNlcyBtaWdodCBub3QgdXNlIGdob3N0cGFkcyBhbmQgdXNlIGRlZmF1bHQgcGFkcy4KCjIwMTAtMTItMDcgMTk6MTI6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogUmVtb3ZpbmcgdW51bnNlZCBtZXRob2RzCgkgIFJlbW92ZSBvbmUgdW51c2VkIG1ldGhvZCBfZmluaXNoX2ltYWdlX2NhcHR1cmUoKQoKMjAxMC0xMi0wNiAxMTowNToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IE9ubHkgcnVuIHRlc3RzIGlmIGV4cGVyaW1lbnRhbCBpcyBlbmFibGVkCgkgIE9ubHkgcnVuIGNhbWVyYWJpbjIgdGVzdHMgYW5kIGJ1aWxkIGV4YW1wbGVzIGlmIGV4cGVyaW1lbnRhbAoJICBwbHVnaW5zIGFyZSBlbmFibGVkCgoyMDEwLTEyLTA2IDEwOjA2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBDbGVhbnVwCgkgIFJlbW92aW5nIGNvbW1lbnRlZCBjb2RlCgoyMDEwLTEyLTA1IDExOjE4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogTW92ZSBzdGFydC9zdG9wIGNhcHR1cmUgc2lnbmFscyB0byBiYXNlY2FtZXJhc3JjCgkgIE1vdmUgc3RhcnQvc3RvcCBzaWduYWxzIGFuZCByZWFkeS1mb3ItY2FwdHVyZSB0byBiYXNlY2FtZXJhc3JjCgkgIGFzIHRoaXMgc2hvdWxkIGJlIHByZXNlbnQgb24gYWxsIGNhbWVyYSBzb3VyY2VzCgoyMDEwLTEyLTA0IDEwOjE1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogQWRkIG1vZGUgcHJvcGVydHkKCSAgTW92ZSBtb2RlIHByb3BlcnR5IGZyb20gdjRsMmNhbWVyYXNyYyB0byBiYXNlY2FtZXJhc3JjLCBhcyBhbGwKCSAgY2FtZXJhIHNvdXJjZXMgc2hvdWxkIGhhbmRsZSBpdC4KCjIwMTAtMTItMDQgMDA6Mjc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlc2V0IGFsbCBlbGVtZW50cyBvbiB2aWRlbyByZWNvcmRpbmcgYnJhbmNoIGJlZm9yZSBjYXB0dXJlCgkgIFdlIG5lZWQgdG8gcmVzZXQgdGhlIGVsZW1lbnRzIGZyb20gdGhlIHZpZGVvIHJlY29yZGluZyBicmFuY2gsIGluY2x1ZGluZwoJICB0aGUgcXVldWUgYW5kIGNhcHNmaWx0ZXIgaW4gb3JkZXIgdG8gY2xlYXIgdGhlIGVvcyBzdGF0ZSBhbmQgYWN0aXZhdGUKCSAgdGhlIHBhZHMuCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gcmVjb3JkIG11bHRpcGxlIHZpZGVvcyB3aXRoIGNhbWVyYWJpbjIgaW4gYQoJICBzZXF1ZW5jZSwgb3RoZXJ3aXNlIHRoZSBzb3VyY2Ugd291bGQgZ2V0IGEgdW5leHBlY3RlZCByZXR1cm4gYW5kCgkgIHB1c2ggRU9TLCBzdG9wcGluZyB0aGUgd2hvbGUgcGlwZWxpbmUuCgoyMDEwLTEyLTAzIDEyOjEzOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHRlc3RzIGNhcHR1cmUgbG9jYXRpb24gY3JlYXRpb24KCSAgRml4ZXMgY2FwdHVyZSBsb2NhdGlvbiBjcmVhdGlvbiB0byB1c2UgbXVsdGlmaWxlc2luayBsb2NhdGlvbgoJICBsaWtlIHN0cmluZ3MuIEUuZy4gdXNpbmcgY2FwdHVyZV8lZCBpbnN0ZWFkIG9mIGNhcHR1cmVfMCB0byBsZXQKCSAgY2FtZXJhYmluMiBoYW5kbGUgdGhlICVkIHJlcGxhY2luZwoKMjAxMC0xMi0wMyAxMjoxMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogTW9yZSBkZWJ1ZyBsb2dzCgkgIFNwcmlua2xlIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbG9ncwoKMjAxMC0xMi0wMyAxMjoxMTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBQcmludCBtb3JlIGluZm8KCSAgQWRkIHNvbWUgcHJpbnRpbmcgZm9yIGVycm9yL2VvcyBjYXNlcy4KCjIwMTAtMTItMDIgMDM6NDQ6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBWYXJpb3VzIGZpeGVzCgkgIEFzIHZpZGVvIHJlY29yZGluZyBiaW4ncyBzdGF0ZSBpcyBsb2NrZWQsIHdlIHNob3VsZCBhbHdheXMKCSAgcmVtZW1iZXIgb2Ygc2V0dGluZyBpdCB0byBOVUxMIHdoZW4gY2FtZXJhYmluMiBnb2VzIHRvIE5VTEwKCSAgQmUgbW9yZSBjYXJlZnVsIHdoZW4gdXNpbmcgZWxlbWVudHMgdGhhdCBtaWdodCBub3QKCSAgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0CgkgIEFuZCBkbyBub3Qgc2V0IGxvY2F0aW9uIHByb3BlcnR5IHJlY3Vyc2l2ZWx5IG9uIHZpZGVvcmVjb3JkaW5nYmluCgoyMDEwLTEyLTAyIDAzOjA4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB0ZXN0cyBmb3IgY2FtZXJhYmluMgoJICBBZGRzIHNvbWUgYmFzaWMgdGVzdHMgZm9yIGNhbWVyYWJpbjIKCjIwMTAtMTItMDIgMDI6MjE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogYWRkcyB0ZXN0cyBmb3IgZWxlbWVudHMKCSAgQWRkcyBiYXNpYyB0ZXN0cyBmb3IgYm90aCBpbWFnZWNhcHR1cmViaW4gYW5kIGZvcgoJICB2aWRlb3JlY29yZGluZ2JpbiBlbGVtZW50cwoKMjAxMC0xMi0wMiAwMTozMzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEltcHJvdmUgZWxlbWVudHMgY3JlYXRpb24KCSAgQmUgbW9yZSBjYXJlZnVsIHdpdGggY2xlYW51cCBvZiBlbGVtZW50cy4gQWxzbyBhZGQgc29tZSBsb2dzIGFuZAoJICBpbXByb3ZlIGRvY3MgYSBsaXR0bGUuCgoyMDEwLTEyLTAyIDAwOjE5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBHZW5lcmFsIGNsZWFudXAsIHJlbW92aW5nIHVudXNlZCBiaXRzCgoyMDEwLTExLTMwIDIwOjEzOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSAgY2FtZXJhYmluMjogYWRkcyBsb2NhdGlvbiBwcm9wZXJ0eQoJICBBZGRzIGEgbG9jYXRpb24gcHJvcGVydHkgdG8gZW5hYmxlIGFwcGxpY2F0aW9ucyB0byBzZWxlY3QKCSAgdGhlIGNhcHR1cmVkIGZpbGVzIG5hbWVzLiBMb2NhdGlvbnMgYXJlIGhhbmRsZWQganVzdCBsaWtlCgkgIG11bHRpZmlsZXNpbmsgb25lcwoJICBBbHNvIGRpc2FibGVzIC1XZm9ybWF0LW5vbmxpdGVyYWwgdG8gYWxsb3cgdG8gdXNlIG5vbi1saXRlcmFscwoJICBvbiBnX3N0cmR1cF9wcmludGYgb24gY2FtZXJhYmluIGFuZCBnZW5lcmF0ZSBhIHNlcXVlbmNlIG9mCgkgIGxvY2F0aW9ucyBmb3IgY2FwdHVyZXMuCgoyMDEwLTExLTMwIDIwOjE1OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHNldC9nZXQgcHJvcGVydHkgZnVuY3Rpb24gbmFtZXMKCSAgQWRkIG1vcmUgY29uc2lzdGVuY3kgdG8gdGhlIGZ1bmN0aW9uIG5hbWVzIGJ5IHVzaW5nCgkgIGdzdF9jYW1lcmFfYmluIGFzIHRoZSBvdGhlciBmdW5jdGlvbnMuCgoyMDEwLTExLTMwIDE4OjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgdmlkYmluIHN0YXRlIGNoYW5nZSBpbmRpdmlkdWFsbHkKCSAgS2VlcCB2aWRiaW4gc3RhdGUgbG9ja2VkIHRvIGF2b2lkIGl0IGdvaW5nIHRvIHBsYXlpbmcgd2l0aG91dAoJICBiZWluZyB1c2VkIGFuZCBsZWF2aW5nIGFuIGVtcHR5IGZpbGUgY3JlYXRlZC4KCSAgQ2hlY2sgdGhlIGRvY3Mgb24gdGhlIGNvZGUgZm9yIGRldGFpbHMgb24gdGhlIGhhbmRsaW5nLgoKMjAxMC0xMS0zMCAxMTo0MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogS2VlcCBpdCB1bmRlciAtLWVuYWJsZS1leHBlcmltZW50YWwKCSAgY2FtZXJhYmluMiBpcyBzdGlsbCB1bmRlciBoZWF2eSBkZXZlbG9wbWVudCwgYWN0aXZhdGUgaXQgb25seSBpZgoJICB0aGUgLS1lbmFibGUtZXhwZXJpbWVudGFsIGZsYWcgaXMgb24uCgkgIEFsc28gYWRkIGEgbm90ZSB0byB0aGUgZG9jcy4KCjIwMTAtMTEtMzAgMTE6MDY6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBBZGQgcmVhZHktZm9yLWNhcHR1cmUgcHJvcGVydHkKCSAgQWRkcyBwcm9wZXJ0eSB0aGF0IGluZm9ybXMgaWYgdjRsMmNhbWVyYXNyYyBpcyBhdmFpbGFibGUKCSAgZm9yIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUuCgkgIEl0IGlzIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIHRvIGtub3cgKHZpYSBkZWVwLW5vdGlmeSkgd2hlbiB0aGUKCSAgcHJvcGVydHkgY2hhbmdlcyBhbmQgYSBuZXcgY2FwdHVyZSBpcyBwb3NzaWJsZS4gTm90ZSwgaG93ZXZlciwgdGhhdAoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlIGZyb20gdGhlIG5vdGlmeSBjYWxsYmFjayB3aWxsIGNhdXNlIGEgZGVhZGxvY2suCgoyMDEwLTExLTMwIDA5OjI4OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHY0bDJjYW1lcmFzcmMgdG8gdXNlIHN0YXJ0L3N0b3Agc2lnbmFscwoJICBSZW1vdmVzIHRoZSBvbGQgbG9naWMgZm9yIHY0bDJjYW1lcmFzcmMgdGhhdCB1c2VkIHRoZSBtb2RlCgkgIHByb3BlcnR5IHN3aXRjaGluZyB0byBzdGFydC9zdG9wIGNhcHR1cmVzIHRvIG1ha2UgaXQgaWRlbnRpY2FsCgkgIHRvIGNhbWVyYWJpbjIgYmVoYXZpb3IgYW5kIHRvIGFsbG93IHRoZSBmdXR1cmUgYWRkaXRpb24gb2YKCSAgcGF1c2luZyBhIHZpZGVvIHJlY29yZGluZy4KCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIE1PREVfUFJFVklFVyBhcyBpdCBiZWNhbWUgdXNlbGVzcy4KCjIwMTAtMTEtMjkgMTg6NTM6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IENsZWFudXAgY2FwdHVyaW5nIGZsYWcKCSAgQ2xlYW51cCBjYXB0dXJpbmcgZmxhZyB3aGVuIHRoZSBzb3VyY2Ugc3dpdGNoZXMgYmFjayB0byB0aGUKCSAgdmlld2ZpbmRlciBtb2RlCgoyMDEwLTExLTI5IDE4OjI0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IHBhZGRpbmcKCjIwMTAtMTEtMjkgMTU6NDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IEltcGxlbWVudCB2aWRlbyBjYXB0dXJlCgkgIEltcGxlbWVudHMgdmlkZW8gY2FwdHVyZSBvbiB2NGwyY2FtZXJhc3JjIGJ5IHVzaW5nIHRoZSBtb2RlIHByb3BlcnR5LAoJICB3aGVuIG1vZGUgaXMgc2V0IHRvIHZpZGVvLCB0aGUgcGFkIHByb2JlIHB1c2hlcyBhIG5ldyBzZWdtZW50CgkgIGFuZCBzdGFydHMgcHVzaGluZyBidWZmZXJzIG9uIHRoZSBwYWQsIHdoZW4gaXQgdGhlIHByb3BlcnR5IGlzCgkgIHNlbnQgYmFjayB0byBwcmV2aWV3LCB0aGUgcGFkIHByb2JlIHB1c2hlcyBhbiBFT1MgYW5kIHN0b3BzCgkgIHB1c2hpbmcgYnVmZmVycy4KCSAgVGhpcyBpcyBjb250cm9sbGVkIGJ5IGEgUmVjb3JkaW5nIFN0YXRlIHZhcmlhYmxlLCB0aGF0IGlzIHByb3RlY3RlZAoJICBieSB0aGUgR1NUX09CSkVDVF9MT0NLLiBJIGRvbid0IHRoaW5rIGxvY2tpbmcgZm9yIGV2ZXJ5IGJ1ZmZlciBpcwoJICBuaWNlLCBzbyB3ZSBjb3VsZCBmaW5kIGFuIGFsdGVybmF0aXZlIGxvY2tsZXNzIHdheSBoZXJlLgoKMjAxMC0xMS0yOSAxMjo1NzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEZpeCBpbWFnZSBjYXB0dXJlCgkgIE9uY2UgYSBpbWFnZSBpcyBjYXB0dXJlZCwgdjRsMmNhbWVyYXNyYyBzaG91bGQgcmV0dXJuIHRvIHRoZQoJICBwcmV2aWV3IG1vZGUgYW5kIHN0b3AgY2FwdHVyaW5nLgoKMjAxMC0xMS0yOSAxMTozMToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEtlZXAgbW9kZSBkZWZpbml0aW9uIGF0IC1lbnVtIGZpbGUKCSAgVXNlICdtb2RlJyBlbnVtIGRlZmluaXRpb24gZnJvbSBnc3RjYW1lcmFiaW4tZW51bSBmaWxlIHRvIGF2b2lkCgkgIGNvbmZsaWN0cyBiZXR3ZWVuIHY0bDJjYW1lcmFzcmMgYW5kIGdzdGNhbWVyYWJpbjIgbW9kZXMuCgkgIEZvciBub3cgdGhlcmUgaXMgYSBNT0RFX1BSRVZJRVcgdGhlcmUgdGhhdCBpcyBvbmx5IHVzZWQgb24gdGhlCgkgIGNhbWVyYXNyYywgbm90IHN1cmUgaWYgd2UgYXJlIGtlZXBpbmcgaXQgYXQgdGhlIGZ1dHVyZSwgYnV0IGZvcgoJICBub3cgdGhpcyB3b3Jrcy4KCjIwMTAtMTEtMjkgMTA6NDY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBBZGRzIG1vZGUgcHJvcGVydHkKCSAgQWRkcyBtb2RlIHByb3BlcnR5IHRvIHY0bDJjYW1lcmFzcmMKCjIwMTAtMTEtMjkgMTA6NDU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgZGVidWcgY2F0ZWdvcmllcwoJICBBZGRpbmcgZGVidWcgY2F0ZWdvcmllcyB0byB2NGwyY2FtZXJhc3JjIGFuZCBjYW1lcmFiaW4yLCBhbHNvCgkgIHJlbW92aW5nIGdlbmVyaWMgY2F0ZWdvcnkgZnJvbSBjYW1lcmFiaW5nZW5lcmFsLgoKMjAxMC0xMS0yNiAyMzo1NToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogQWRkcyBjYW1lcmFiaW4yIGV4YW1wbGUKCSAgQWRkcyBndGsgY2FtZXJhYmluMiBleGFtcGxlIGFwcAoKMjAxMC0xMS0yNiAxNzoyNDo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGJhc2ljIHByb3BlcnR5IGFuZCBzaWduYWxzCgkgIEFkZHMgbW9kZSBwcm9wZXJ0eSB0byBjYW1lcmFiaW4yLCBhbGxvd2luZyB1c2VycyB0bwoJICBzZWxlY3QgYmV0d2VlbiB2aWRlbyBhbmQgc3RpbGxzIGNhcHR1cmUuIEFsc28gYWRkcwoJICBzdGFydC9zdG9wIGNhcHR1cmUgYWN0aW9ucyB0byB0cmlnZ2VyIGFuZCBzdG9wCgkgIGNhcHR1cmluZwoKMjAxMC0xMS0yNiAxNTo1NTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogU2V0IGZpbGVzaW5rJ3MgYXN5bmMgdG8gRkFMU0UKCSAgSW4gb3JkZXIgdG8gcHJlcm9sbCwgY2FtZXJhYmluMiBzaG91bGQgaGF2ZSBpdHMgZmlsZXNpbmtzIGluCgkgIHRoZSBpbWFnZWNhcHR1cmViaW4gYW5kIHZpZGVvcmVjb3JkaW5nYmluIHdpdGggYXN5bmM9RkFMU0UuCgoyMDEwLTExLTI2IDE0OjUxOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGJhc2ljIGVsZW1lbnRzCgkgIEluc3RhbnRpYXRpbmcgYW5kIGxpbmtpbmcgYmFzaWMgZWxlbWVudHMgb24gY2FtZXJhYmluMgoJICBzbyBpdCBhdCBsZWFzdCBzaG93cyB0aGUgdmlld2ZpbmRlciB3aGVuIHJ1bm5pbmcuCgoyMDEwLTExLTI2IDEwOjE0OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgYSBzdHViIGVsZW1lbnQgZm9yIGNhbWVyYWJpbjIKCSAgQWRkcyBjYW1lcmFiaW4yIGVsZW1lbnQsIGl0IGlzIG5vdyBhIHBpbGUgb2Ygc3R1YnMuCgoyMDEwLTExLTI1IDIyOjA1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKCSAgUmVtb3ZlIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKCjIwMTAtMTEtMjUgMjE6NDk6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHVuZWVkZWQgcHJvcGVydGllcwoJICBSZW1vdmluZyB1bmVlZGVkIGFuZCB1bnJlZ2lzdGVyZWQgcHJvcGVydGllcy4KCjIwMTAtMTEtMjUgMjA6NTU6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBGaXggcHJvcGVydHkgd2FybmluZwoJICBBdm9pZCBzZXR0aW5nIGEgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0xMS0yNSAyMDo1MzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmVkIHVudXNlZCBsZWZ0b3ZlciB2YXJpYWJsZQoKMjAxMC0xMS0yNSAxNDo1NzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkgIGNhbWVyYWJpbjI6IEFkZHMgdmlkZW8gcmVjb3JkaW5nIGJpbgoJICBBZGRzIGFuIGJpbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBlbmNvZGluZyBhbmQgc2F2aW5nIHZpZGVvCgkgIHN0cmVhbXMgdG8gZmlsZXMuCgkgIEZvciBub3cgaXQgaXMgc2ltcGx5IGEgZmZtcGVnY29sb3JzcGFjZSAhIHRoZW9yYWVuYyAhIG9nZ211eCAhCgkgIGZpbGVzaW5rIGJpbi4KCSAgU3RpbGwgdW5jYXBhYmxlIG9mIHJlY29yZGluZyBhdWRpby4KCjIwMTAtMTEtMjUgMTM6MDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdjRsMmNhbWVyYXNyYyBmcm9tIHJvYmNsYXJrJ3MgYnJhbmNoCgkgIEFkZHMgMy1wYWQgdjRsMiBjYW1lcmEgc291cmNlIGZyb20gUm9iIENsYXJrJ3MgY2FtZXJhYmluCgkgIGJyYW5jaCBvbiBodHRwOi8vZ2l0b3Jpb3VzLm9yZy9yb2JjbGFyay1nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDEwLTExLTI0IDIwOjMxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIG5ldyBpbWFnZWNhcHR1cmViaW4KCSAgQWRkcyBhbiBiaW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgaW1hZ2UgY2FwdHVyZXMuCgkgIEl0IGlzIGEgc2ltcGxlIGZmbXBlZ2NvbG9yc3BhY2UgISBqcGVnZW5jICEgamlmbXV4ICEgbXVsdGlmaWxlc2luawoJICBmb3Igbm93LgoKMjAxMC0xMS0yNCAyMDoxNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHBsdWdpbiBpbml0IHRvIGEgc2VwYXJhdGUgZmlsZQoJICBNb3ZlcyBwbHVnaW4gaW5pdCB0byBnc3RwbHVnaW4uYyB0byBhbGxvdyBtdWx0aXBsZQoJICBlbGVtZW50cyB0byByZWdpc3RlciB0aGVtc2VsdmVzLgoKMjAxMC0xMS0yNCAxNzoyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogQWRkcyB2aWV3ZmluZGVyYmluIGVsZW1lbnQKCSAgQWRkcyB2aWV3ZmluZGVyIGJpbiBlbGVtZW50LCBvbmUgb2YgdGhlIG1vZHVsZXMgb2YgY2FtZXJhYmluMgoJICB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBkaXNwbGF5aW5nIHRoZSB2aWRlbyBmcm9tIHRoZSBjYW1lcmEuCgkgIEZvciBub3cgaXQgaXMgb25seSBhIGJpbiB3aXRoIGZmbXBlZ2NvbG9yc3BhY2UgISB2aWRlb3NjYWxlICEKCSAgYXV0b3ZpZGVvc2luawoKMjAxMC0xMi0wOCAxOTozNjo0OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1guCgoyMDEwLTExLTI0IDEyOjIyOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBvdXRwdXQtc2VsZWN0b3ItdGVzdDogZG9uJ3QgaGFyZGNvZGUgdmlkZW9zaW5rcyBhbmQgdXNlIG1vcmUgY29sb3JzcGFjZSBjb252LgoJICBVc2UgYXV0b3ZpZGVvc2luayBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBzaW5rcy4gVXNlIGFuIGFkZGl0aW9uYWwgY29sb3JzcGFjZQoJICBjb252ZXJ0ZXIgYmV0d2VlbiB2aWRlb3Rlc3RzcmMgYW5kIHRpbWVvdmVybGF5LgoKMjAxMC0xMi0wOCAxNToxODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UgaW5zdGVhZCBvZiBvbGQgZ2l0CgoyMDEwLTEyLTA3IDE1OjQ0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcmUtdXNlIGNsZWFudXAoKSBpbiBmaW5hbGl6ZSgpCgkgIC4uLiBhbmQgYWxzbyBmYXZvciBmaW5hbGl6ZSgpIHJhdGhlciB0aGFuIGRpc3Bvc2UoKS4KCjIwMTAtMTEtMTggMTM6Mzk6MjMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBTZXQgc3JjcGFkIGNhcHMgYmVmb3JlIGZvcndhcmRpbmcgbmV3c2VnbWVudAoJICBUaGlzIGhvbGRzIGFsbCBuZXdzZWdlbWVudCBhbmQgbW9zdCBvdGhlciBldmVudHMgdGlsbCB0aGVyZSBpcyBlbm91Z2gKCSAgZGF0YSB0byBzZXQgc3JjcGFkIGNhcHMsIHNvIHRoYXQgdGhlIGRvd25zdHJlYW0gbGluayBpcyBwcm9wZXJseQoJICBuZWdvdGlhdGVkIGJlZm9yZSBkYXRhIHN0YXJ0cyBmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjA0CgoyMDEwLTExLTE4IDIzOjI5OjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIHNpbmtwYWQgY2FwcyBhcyBiYXNlIGZvciBzcmNwYWQgY2FwcwoJICBUaGlzIHdheSwgd2UgZG9uJ3QgbG9zZSBhZGRpdGlvbmFsIGZpZWxkcyB0aGF0IGNvbWUgZnJvbSB1cHN0cmVhbSAobGlrZQoJICBwcm9maWxlL2xldmVsIGZvciBub3cpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjAyCgoyMDEwLTEyLTA3IDE1OjIwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogbWlub3IgZml4IHRvIGVycm9yIGhhbmRsaW5nCgkgIFdlIHdlcmVuJ3QgaGFuZGxpbmcgdW5wYXJzZWFibGUgY29kZWNfZGF0YSBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjAyCgoyMDEwLTEyLTA3IDE3OjE3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IG5lYXJlc3QgbmVpZ2hib3VyIHNjYWxpbmcgZm9yIHRoZSBzdWJwaWN0dXJlcwoJICBUaGlzIGJlY29tZXMgbmVjZXNzYXJ5IHdoZW4gU0RUViBzdWJ0aXRsZXMgYXJlIHVzZWQgZm9yIEhEVFYgdmlkZW9zLgoKMjAxMC0xMi0wNyAxNDo1NToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsaWduIGNvZGUgd2l0aCBjb21tZW50CgoyMDEwLTEyLTA3IDE0OjU1OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmUtdXNlIHJlc2V0KCkgaW4gZmluYWxpemUoKQoKMjAxMC0xMS0xNyAxOToxNjoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFNldCBzcmNwYWQgY2FwcyBiZWZvcmUgZm9yd2FyZGluZyBuZXdzZWdtZW50CgkgIFRoaXMgaG9sZHMgYWxsIG5ld3NlZ2VtZW50IGFuZCBtb3N0IG90aGVyIGV2ZW50cyB0aWxsIHRoZXJlIGlzIGVub3VnaAoJICBkYXRhIHRvIHNldCBzcmNwYWQgY2Fwcywgc28gdGhhdCB0aGUgZG93bnN0cmVhbSBsaW5rIGlzIHByb3Blcmx5CgkgIG5lZ290aWF0ZWQgYmVmb3JlIGRhdGEgc3RhcnRzIGZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDUKCjIwMTAtMTItMDYgMTk6MDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdHJ5IHRvIGNvbnZlcnQgY29tbWVudCB0YWcgdG8gVVRGLTgKCjIwMTAtMTItMDYgMTg6MTk6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZGlzY2FyZCBpbmNvbXBsZXRlIGltYWdlCgkgIC4uLiBhcyBkZXRlcm1pbmVkIHdoZW4gZmluZGluZyBTT0kgbmV4dCBpbWFnZSBiZWZvcmUgYW4gRU9JLgoKMjAxMC0xMi0wNiAxODoxODoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTEyLTA2IDIyOjQ4OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IEFsbG93IGltcGxpY2l0IGNoYW5uZWwgbWFwIGZvciAxLS8yLWNoYW5uZWwgYXVkaW8KCSAgVGhpcyBtYWtlcyBzdXJlIHdlIGRvbid0IHNldCBhbiBlbXB0eSBjaGFubmVsIG1hcCBhcnJheSBmb3IgMS0vMi1jaGFubmVsCgkgIGF1ZGlvLCBjYXVzaW5nIGFuIGFzc2VydCBsYXRlciBvbi4KCjIwMTAtMTItMDYgMTc6MDg6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZXZlcnQgc29tZSBwYXJ0cyBvZiBsYXN0IGNvbW1pdCB0aGF0IHNob3VsZG4ndCBiZSBjb21taXR0ZWQKCjIwMTAtMTItMDYgMTc6MDU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZWFsbHkgY2hvb3NlIHRoZSBsYXRlc3QgcG9zc2libGUgc3VicGljdHVyZXMKCSAgQW5kIG5vdCB0aGUgZmlyc3Qgc3VicGljdHVyZXMgdGhhdCBhcmUgc3RpbGwgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZQoJICBwYWdlIHRpbWVvdXQuCgoyMDEwLTEyLTA2IDE2OjQ0OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVmYWN0b3IgYmxlbmRpbmcgZnVuY3Rpb24gYW5kIHRha2UgYXZlcmFnZSBvZiBhbGwgY2hyb21hIHZhbHVlcwoKMjAxMC0xMi0wMyAxNzozNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcHJvdmUgc2VsZWN0aW9uIG9mIGN1cnJlbnQgdG8gYmUgZGlzcGxheWVkIHN1YnBpY3R1cmVzCgkgIERyb3AgYWxsIHN1YnBpY3R1cmVzIHRoYXQgYXJlIHRvbyBvbGQgYW55d2F5IGFuZCBjbGVhciB0aGUgY3VycmVudGx5CgkgIGRpc3BsYXllZCBzdWJwaWN0dXJlcyBpZiBudW1fcmVjdHM9PTAgaGFwcGVucy4KCjIwMTAtMTItMDMgMTY6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgY2xpcHBpbmcgb2YgdmlkZW8gYnVmZmVycwoJICBBbHNvIGRvbid0IGNsaXAgc3VicGljdHVyZSBidWZmZXJzLCB0aGV5IGhhdmUgbm8gZHVyYXRpb24gYW5kCgkgIGNsaXBwaW5nIHRoZW0gZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgaGVyZS4KCjIwMTAtMTItMDMgMTY6MDg6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IENsZWFuIHVwIGxvY2tpbmcgc29tZSBtb3JlCgoyMDEwLTEyLTAzIDE2OjA1OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRmx1c2ggc3VidGl0bGVzIGFuZCBhbGwgaW50ZXJuYWwgc3RhdGUgd2hlbiBuZWVkZWQKCjIwMTAtMTItMDMgMTU6NTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBTZXQgdGhlIGdsb2JhbCBsaWJyYXJ5IGxvZyBmdW5jdGlvbiBleGFjdGx5IG9uY2UKCSAgQW5kIGRvbid0IHVzZSBvbmUgb2YgdGhlIHBvc3NpYmx5IG1hbnkgcmVuZGVyZXIgaW5zdGFuY2VzLCB0aGlzIGlzIG9ubHkKCSAgY2FsbGluZyBmb3IgY3Jhc2hlcy4KCjIwMTAtMTItMDMgMTU6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBsb3RzIG9mIGNvbW1lbnRlZCBvdXQgYW5kIHVudXNlZCBjb2RlIGFuZCBjbGVhbiB1cCBsb2NraW5nCgoyMDEwLTEyLTAxIDA5OjU5OjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IG1vcmUgb2YgdGhlIGJsZW5kaW5nLCBzbyBpdCBsb29rcyBxdWl0ZSBnb29kIG5vdwoJICAqIGxpYmR2YnN1YiBnaXZlcyB1cyBhbHBoYSBjaGFubmVsIGFscmVhZHksIG5vdCB0cmFuc3BhcmVuY3kgbGV2ZWwsIHNvCgkgIGRvbid0IGRvIGFub3RoZXIgImFscGhhID0gMjU1IC0gYWxwaGEiLCB0aGlzIGlzIGRvbmUgYnkgbGliZHZic3ViLgoJICAqIEZpeCBhbHBoYSBjaGFubmVsIGhhbmRsaW5nIGluIGludGVycG9sYXRpb24gLSBhc3NyZW5kZXIgaGFkIGFuIGFkZGl0aW9uYWwKCSAgMWJwcCBhbHBoYSBiaXRtYXAgYXMgYSBwb3NzaWJsZSBtYXNrLCB3ZSBkb24ndC4gU28gZG9uJ3QgdXNlIHRoZSBwYWxldHRlCgkgIGluZGV4IGFycmF5IGFzIGFscGhhIHZhbHVlczsgYnVnIGZyb20gcXVpY2sgY29kZSBwb3J0aW5nIGxvbmcgYWdvIHRvCgkgIGNoYW5naW5nIHBpeGVsIGNvbG9ycyAoYXNzcmVuZGVyIGhhcyBhIHNpbmdsZSBwaXhlbCBjb2xvciBmb3Igd2hvbGUKCSAgcmVnaW9ucyBvciBzb21ldGhpbmcsIHVubGlrZSBkdmJzdWIsIHdoaWNoIGhhcyBpbmRleGVkIGNvbG9ycykuCgkgICogRG9uJ3QgZm9yZ2V0IHRvIHJlYXNzaWduIG91ciBZVVYgYW5kIG90aGVyIGxvY2FsIHBpeGVsIGNvbG9yIHZhcmlhYmxlcwoJICBhZnRlciBzaGlmdGluZyB0byB3b3JrIG9uIHRoZSBib3R0b20gcGFydCBvZiBhIDJ4MiBzdWJzYW1wbGUgYmxvY2ssIG9yCgkgIGl0J3Mgb2J2aW91c2x5IHZlcnkgYmxvY2t5LgoJICBSZW1haW5pbmcgaXNzdWVzIGluIGJsZW5kaW5nOgoJICAqIFNob3VsZCBwcm9iYWJseSBiZSBpbnRlcnBvbGF0aW5nIG9yIGRvaW5nIHNvbWV0aGluZyBlbHNlIHVzZWZ1bCB3aXRoIHRoZQoJICByZXN1bHRpbmcgVSBhbmQgViBjaGFubmVscywgc28gdGhhdCBtb3N0IG9mIHRoZSBzb3VyY2UgcGl4ZWwgVVYgdmFsdWVzIHdvdWxkCgkgIGFjdHVhbGx5IGJlIGFjdHVhbGx5IGNhcmVkIGFib3V0LCBleGNlcHQgZm9yIGp1c3Qgb25lIG91dCBvZiBwb3NzaWJseSBmb3VyLgoJICAqIERvbid0IGNvbnZlcnQgQVlVViB0byBBUkdCIGluIGxpYmR2YnN1YiwgYW5kIHRoZW4gYmFjayBmcm9tIEFSR0IgdG8gQVlVViBpbgoJICBkdmJzdWJvdmVybGF5IGZvciBubyByZWFzb24KCSAgKiBSZS1mYWN0b3IgdGhlIHdob2xlIHRoaW5nIHRvIHNvbWV0aGluZyBtb3JlIGxpa2UgdGV4dG92ZXJsYXkgYmxlbmRpbmcKCSAgKiBSZWxhdGVkIHRvIHRoYXQsIHBlcmhhcHMgY2FjaGUgdGhlIGN1cnJlbnQgc3B1IGluIGEgZ29vZCBmb3JtYXQgZm9yIHF1aWNrCgkgIGJsZW5kaW5nIG9uIGVhY2ggZnJhbWUsIGFmdGVyIHdoaWNoIHRoZSBtb3JlIG9mdGVuIGNhbGxlZCBibGVuZGluZyBwYXJ0cwoJICBtaWdodCBiZWNvbWUgbW9yZSBzdHJhaWdodGZvcndhcmQKCjIwMTAtMTItMDEgMDc6MjY6MDMgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggYmxlbmRpbmcgYnVnIHJlZ2FyZGluZyBjb2xvciBjaGFubmVsIGFkZHJlc3NpbmcuCgkgIGxpYmR2YnN1YiBnaXZlcyB1cyBBUkdCIG9yZGVyZWQgcGl4ZWxzIHJpZ2h0IG5vdywgbm90IFJHQkEuCgoyMDEwLTEyLTAxIDA3OjIwOjA3ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG8gYmxlbmRpbmcgY2FsbHMgd2hlbiBhcHByb3ByaWF0ZQoJICBUaGlzIGdpdmVzIHVzIGFjdHVhbGx5IHNob3duIHN1YnRpdGxlcywgaG93ZXZlciB3aXRoIGJ1Z3MgaW4gdGhlCgkgIGN1cnJlbnQgYmxpdHRpbmcgY29kZSwgcmVzdWx0aW5nIGluIHZlcnkgdHJhbnNwYXJlbnQgc3VidGl0bGVzLgoKMjAxMC0xMi0wMSAwNzowNjozNSArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBmYWxsYmFjayBwYWdlX3RpbWVfb3V0IGhvbm9yaW5nCgkgIFRoZSBzcGVjIGhhcyBhIHBhZ2VfdGltZV9vdXQgaW4gdGhlIHBhZ2UgY29tcG9zaXRpb24gc2VnbWVudCB0byBlbnN1cmUKCSAgc3VidGl0bGVzIGRvbid0IGdldCBzdHVjayBvbiBzY3JlZW4gZm9yIHRvbyBtdWNoIGxvbmdlciB0aGFuIGludGVuZGVkLAoJICB3aGVuIGZ1dHVyZSBwYWdlIGNvbXBvc2l0aW9uIHNlZ21lbnRzIGdldCBsb3N0IG9uIGJhZCByZWNlcHRpb24sIG9yIG90aGVyCgkgIHByb2JsZW1zLiBIb25vciBpdCBpbiB0aGUgZ3N0IHBsdWdpbiBzaWRlLgoKMjAxMC0xMi0wMSAwNjowMToxNSArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IHN1YnRpdGxlIHF1ZXVlaW5nIGFuZCBzeW5jaW5nIHdpdGggdmlkZW8KCSAgUHVzaCBpbmNvbWluZyBzdWJ0aXRsZSBwYWdlcyBpbiBhIEZJRk8gcXVldWUgKHBlbmRpbmdfc3VidGl0bGVzKQoJICBhbmQgZGVxdWV1ZSB0aGUgaGVhZCB3aGVuIGl0J3MgdGltZSB0byBzaG93IGl0ICh3aGVuIHZpZGVvIHJ1bm5pbmcKCSAgdGltZSByZWFjaGVzIHRoZSBzdWJ0aXRsZSBwYWdlIHJ1bm5pbmcgdGltZSkuCgkgIEtlZXAgdGhlIHN1YnRpdGxlIHBhZ2UsIHRoYXQgaXMgc3VwcG9zZWQgdG8gYmUgYmxlbmRlZCBvbiB0b3Agb2YgdmlkZW8KCSAgY3VycmVudGx5LCBpbiBhIHNlcGFyYXRlIG9iamVjdCB2YXJpYWJsZSAoY3VycmVudF9zdWJ0aXRsZSkuIEFzIGEKCSAgbmV4dCBzdGVwIHdlIGNhbiB0aGVuIHByZS1yZW5kZXIgY3VycmVudF9zdWJ0aXRsZSB0byBhIGJldHRlciB0byBibGVuZAoJICBmb3JtYXQuCgoyMDEwLTEyLTAxIDA1OjQ5OjIyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogTWFrZSB0aGUgbmV3IGR2Yl9zdWJ0aXRsZXNfZnJlZSgpIGFjY2VwdCBOVUxMCgkgIERvbid0IGNyYXNoIGlmIGR2Yl9zdWJ0aXRsZXNfZnJlZShOVUxMKSBnZXRzIHBhc3NlZCwgbGlrZSBtb3N0IG90aGVyCgkgICpfZnJlZSBmdW5jdGlvbnMgYXJlIGhhcHB5IHdpdGguCgoyMDEwLTEyLTAxIDA1OjI2OjAyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFBhc3MgcGFnZV90aW1lX291dCBhbmQgcHRzIHdpdGggdGhlIERWQlN1YnRpdGxlcyBzdHJ1Y3R1cmUKCSAgRWFzZXMgaG9sZGluZyBvbnRvIHRoZSBpbmZvcm1hdGlvbiBpbiBnc3QgcGx1Z2lucyBzaWRlIHF1ZXVlIG9mCgkgIERWQlN1YnRpdGxlcywgc28gd2Ugd29uJ3QgbmVlZCB0byBjcmVhdGUgeWV0IGFub3RoZXIgdGVtcG9yYXJ5IHN0cnVjdAoJICB0byBrZWVwIHRoZSBwdHMgYW5kIHBhZ2VfdGltZV9vdXQgdG9vLgoJICBBbmQgdGhpcyByZWFsbHkgbG9naWNhbGx5IGJlbG9uZ3MgYXQgdGhlIHRvcGxldmVsIGluZm9ybWF0aW9uIHNldCBhbnl3YXkKCSAgYW5kIGluIHRoYXQgc3RydWN0Li4uCgoyMDEwLTEyLTAxIDA0OjI4OjAyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBNYWtlIHRoZSBsaWJkdmJzdWIgY2FsbGJhY2sgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgbWVtb3J5IGNsZWFudXAKCSAgV2Ugd2FudCB0byBhbGxvdyBxdWV1ZWluZyBvZiByYXcgcmVnaW9uIGltYWdlIGRhdGEgaW4gdGhlIGdzdCBwbHVnaW4gc2lkZSwKCSAgYW5kIGtlZXAgdGhlIGRhdGEgYXJvdW5kIHVudGlsIHdlIHBvcCB0aGUgaXRlbSBmcm9tIHRoZSBxdWV1ZS4gU28gbWFrZQoJICB0aGUgY2FsbGJhY2sgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgbWVtb3J5IGNsZWFudXAsIGlmIG9uZSBpcyBpbnN0YWxsZWQuCgoyMDEwLTExLTMwIDA0OjQ1OjU0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogV29yayB3aXRoIEdzdENsb2NrVGltZSBpbnN0ZWFkIG9mIFBUUyBmb3Igc3VidGl0bGUgdGltaW5nCgkgIEFidXNlIGxpYmR2YnN1YiBQVFMgdHJhY2tpbmcgdG8ganVzdCBzdG9yZSBvdXIgcnVubmluZyB0aW1lIGluIGl0LCB0byBnZXQKCSAgaXQgYmFjayBpbiB0aGUgY2FsbGJhY2tzLiBBcyBHU3RyZWFtZXIgZG9lcyBpdHMgb3duIFBUUyBoYW5kbGluZyBiZWhpbmQgb3VyCgkgIGJhY2sgKGVzcGVjaWFsbHkgZm9yIHZpZGVvKSwgd2Ugc2hvdWxkIGp1c3Qgc3luYyB3aXRoIHZpZGVvIHBlciBydW5uaW5nIHRpbWUsCgkgIG5vdCB0cnkgdG8gZG8gaXQgd2l0aCBQVFMsIHdoaWNoIGRvZXNuJ3Qgc2VlbSB3ZWxsIGFjY2Vzc2libGUgZm9yIHZpZGVvIGNoYWluLgoJICBXZSBjYW4gbGF0ZXIgcmVsYWJlbCBkdmItc3ViLmMgcHRzIG5hbWluZyBjb252ZW50aW9uIGlmIHdhbnRlZCwgaXQncyBqdXN0CgkgIHBhc3NpbmcgYWxvbmcgZ3VpbnQ2NCB2YWx1ZXMsIHdoaWNoIEdzdENsb2NrVGltZSBmb3J0dW5hdGVseSBpcyB0b28uCgkgIFRoZSBjdXJyZW50IGlkZWEgaXMgdG8gY29sbGVjdCB0aGUgcmVnaW9ucyByZXR1cm5lZCBieSB0aGUgY2FsbGJhY2sgaW50bwoJICBhIEZJRk8gYnVmZmVyIGFuZCBwb3AgYW5kIHByZS1yZW5kZXIgdGhlIHRvcCBvbmUgaW50byBhIHNlcGFyYXRlCgkgIHF1aWNrLXRvLWJsZW5kIGNhY2hlZCBmb3JtYXQsIHdoaWNoIGlzIHRoZW4gYXBwcm9wcmlhdGVseSBibGVuZGVkIGluIHRoZQoJICB2aWRlbyBjaGFpbiB1bnRpbCB0aGUgbmV4dCBvbmUgb24gdG9wIG9mIHRoZSBzdGFjayByZWFjaGVzIHRoZSB2aWRlbyBjaGFpbnMKCSAgcnVubmluZyB0aW1lIChvciB0aGUgZmFsbGJhY2sgdGltZXIgaGl0cykuCgoyMDEwLTExLTMwIDAzOjU2OjMyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQWRkIEZJWE1FIG5vdGUgYWJvdXQgbm9uLWNvbnN0YW50IFBUUyBmb3IgYSBkaXNwbGF5IHNldCBoYW5kbGluZy4KCjIwMTAtMTEtMzAgMDM6NDc6NDYgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBkdmJfc3ViX2ZlZWQoKSBBUEkKCSAgR1N0cmVhbWVyIHdpbGwgb25seSB1c2UgZHZiX3N1Yl9mZWVkX3dpdGhfcHRzLCBhcyBpdCBoYXMgaXRzIG93biBQRVMgZmlsdGVyCgkgIHRvIGRvIHRoZSBoZWFkZXIgcGFyc2luZy4KCjIwMTAtMTEtMjkgMjA6NTU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvVE9ETzoKCSAgZHZic3Vib3ZlcmxheTogbW9yZSBUT0RPCgoyMDEwLTExLTI5IDIwOjEwOjE3ICswMDAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgZ3N0bXBlZ3RzZGVtdXg6IGFkZCB0ZW1wb3JhcnkgKipIQUNLKiogZm9yIGR2YiBzdWJzIHRlc3Rpbmcgc28gZHZic3Vib3ZlcmxheSBnZXRzIHdob2xlIHBhY2tldHMKCSAgPHRwbT4gbGVpbywgd2hhdCdzIHRoZSBtcGVndHMgZGVtdXggaGFjayBhYm91dD8KCSAgPGxlaW8+IG15IGxpYmR2YnN1YiBjb2RlIGNhbid0IGhhbmRsZSBjdXQgcGFja2V0cwoJICA8bGVpbz4gc28gdGhlIGhhY2sgaW5zdHJ1Y3RzIHRoZSBkZW11eGVyIHRvIGdhdGhlciBmdWxsIHBhY2tldHMgYmVmb3JlIHB1c2hpbmcgZG93biwgYnV0IGl0IGFwcGxpZXMgdGhhdCB0byBtb3JlIFBFUyBwYWNrZXQgdHlwZXMgdGhhbiBqdXN0IGR2YnN1YiwgYnV0IEknbSBub3Qgc3VyZSBpZiB0aGF0J3MgYSBiYWQgdGhpbmcKCSAgPGxlaW8+IGVpdGhlciB3YXksIG5lZWRzIGEgY2xlYW5lciBzb2x1dGlvbiwgZWl0aGVyIGluIGRlbXV4ZXIsIG9yIEkgbmVlZCB0byBoYW5kbGUgY3V0IHBhY2tldHMKCSAgPHRwbT4gb2ssIGJ1dCByZWFsbHkgaXQgc2hvdWxkIGJlIGZpeGVkIGluIHRoZSBvdmVybGF5LCByaWdodD8KCSAgPHRwbT4gb3IgYSBwYXJzZXIgYmUgaW5zZXJ0ZWQKCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzIHRoYXQgSSBkb24ndCBrbm93IGZyb20gdGhlIGZpcnN0IHBhY2tldCBiZWZvcmVoYW5kIGlmIGl0IGlzIGEgY3V0IG9uZSBvciBubwoJICA8bGVpbz4gbm90CgkgIDxsZWlvPiBlcnIsIGZpcnN0IGJ1ZmZlcgoJICA8bGVpbz4ganVzdCB3aGVuIEkgcmVjZWl2ZSB0aGUgbmV4dCBvbmUgSSBzZWUgaWYgaXQgaGFzIGEgdmFsaWQgdGltZXN0YW1wIG9uIGl0IG9yIG5vdAoJICA8bGVpbz4gc28gSSBjYW4ndCB2ZXJ5IHdlbGwgcXVldWUgaXQgdXAgaW4gdGhlIGNoYWluIGVpdGhlciwgSSBtaWdodCBiZSBibG9ja2luZyB0aGUgdmVyeSBsYXN0IHN1YnRpdGxlIGZvciBubyByZWFzb24gb3Igc29tZXRoaW5nCgkgIDx0cG0+IGJ1dCB5b3UgY291bGQganVzdCBkcm9wL2lnbm9yZSBwYWNrZXRzIHVudGlsIHlvdSBmaW5kIG9uZSwgcmlnaHQ/CgkgIDxsZWlvPiBmaW5kIHdoYXQ/CgkgIDx0cG0+IGEgY29tcGxldGUgcGFja2V0PwoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXNuJ3QgdGhhdCB0aGV5IGFyZW4ndCBjb21wbGV0ZQoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXMgdGhhdCB0aGV5IGFyZSBjdXQgYWNyb3NzIG11bHRpcGxlIEdzdEJ1ZmZlcnMgYnkgdGhlIGRlbXV4ZXIgd2l0aG91dCB0aGUgaGFjawoJICA8dHBtPiBzdXJlLCBJIHVuZGVyc3RhbmQgdGhhdAoJICA8dHBtPiBidXQgeW91IGNhbid0IGVhc2lseSBkZXRlcm1pbmUgaWYgYSBHc3RCdWZmZXIgY29udGFpbnMgaGUgc3RhcnQgZnJhZ21lbnQgb2YgYSBwYWNrZXQgb3Igbm90PwoJICA8bGVpbz4gSSBndWVzcyBJIGNvdWxkIHBhcnNlIHRoZSBwYWNrZXQgYW5kIHNlZSBpZiBpdHMgbGVuZ3RoIGlzIGVub3VnaCwganVzdCBsaWtlIHRoZSBsaWJkdmJzdWIgY29kZSBldmVudHVhbGx5IGRvZXMgdG9vCgkgIDxsZWlvPiBJIGNhbiwgaXQgaGFzIGEgdGltZXN0YW1wIGlmIGl0J3MgdGhlIGZpcnN0IGNodW5rCgkgIDxsZWlvPiBJIGp1c3QgbmV2ZXIga25vdyBpZiBJIG5lZWQgdG8gd2FpdCBmb3IgbW9yZSwgd2l0aG91dCBzb21lIHBhcnNpbmcKCSAgPHRwbT4gYWggb2sKCSAgPGxlaW8+IHdoaWxlIHRoZSBkZW11eGVyIGNvdWxkIGp1c3QgZ2l2ZSBtZSBhbiB1bmN1dCBvbmUgaW4gdGhlIGZpcnN0IHBsYWNlCgkgIDxsZWlvPiBsaWtlIGl0IGFsd2F5cyBkb2VzIGZvciBwcm9ncmFtIHN0cmVhbXMKCSAgPGxlaW8+IHRoYXQgZ2F0aGVyX3BlcyBpcyBhbHdheXMgc2V0IGluIGdzdG1wZWdkZW11eCwgYnV0IG5vdCBpbiBnc3RtcGVndHNkZW11eAoKMjAxMC0xMS0yOSAyMDowNjowNyArMDAwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9UT0RPOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGluaXRpYWwgdmVyc2lvbiwgd29yayBpbiBwcm9ncmVzcwoKMjAxMC0xMi0wNiAxODowMTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkgIGFuZHJvaWQ6IHVwZGF0ZSBmb3IgMC4xMQoKMjAxMC0xMi0wNiAxNzo1NDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgY29uZmlnOiB1cGRhdGUgY29uZmlnCgoyMDEwLTEyLTA2IDEyOjI1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9wZW4gMC4xMSBicmFuY2gKCjIwMTAtMTItMDMgMTg6MTE6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODowOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMTEtMDggMTk6NTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbmNyZWFzZSBrZXlmcmFtZSBhd2FyZW5lc3MKCSAgLi4uIHdoaWNoIGlzIG5vdCBwYXJ0aWN1bGFyIHJlbGV2YW50IGZvciBhdWRpbyBwYXJzaW5nLCBidXQgbW9yZSBzbwoJICBpbiB2aWRlbyBjYXNlcy4gIEluIHBhcnRpY3VsYXIsIGF1dG8tZGV0ZXJtaW5lIGlmIGRlYWxpbmcgd2l0aCB2aWRlbyAoY2FwcykuCgoyMDEwLTEyLTAzIDE3OjQ2OjI3ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9Hc3RBbmRyb2lkLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJyaW5nYnVmZmVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuYzoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5oOgoJICBzeXM6IEFkZCBhbmRyb2lkIGF1ZGlvZmxpbmdlcnNpbmsKCjIwMTAtMTItMDMgMTc6NDI6NDYgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJICBBZGQgYnVpbGQgc3lzdGVtIGZvciBBbmRyb2lkCgoyMDEwLTEyLTAyIDE1OjQ1OjAyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNtYWwgYXBpIGRvYyB1cGRhdGUKCjIwMTAtMTItMDIgMDU6Mzk6MTQgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQXZvaWQgYXNzZXJ0aW9uIG9uIGltYWdlIGZpbmlzaGluZwoJICBBcyBpbWdiaW5fZmluaXNoZWQoKSBpcyBzY2hlZHVsZWQgZnJvbSBnX2lkbGVfYWRkLCBpdCBtaWdodAoJICBiZSBydW4gYSBsaXR0bGUgbGF0ZXIgdGhhbiBleHBlY3RlZCwgdGhpcyBjYW4gbGVhZCB0byB0aGUgYXBwbGljYXRpb24KCSAgc2V0dGluZyBjYW1lcmFiaW4gdG8gcmVhZHkgYmVmb3JlIGltZ2Jpbl9maW5pc2hlZCgpIHJ1bnMuIEluIHRoaXMgY2FzZSwKCSAgdGhlIHByb2Nlc3NpbmcgY291bnRlciBnb2VzIHRvIDAgYW5kIGFuIGFzc2VydGlvbiBoYXBwZW5zLgoJICBUaGlzIHBhdGNoIHJlbGF4ZXMgdGhlIGltZ2Jpbl9maW5pc2hlZCgpIGNoZWNrIG9uIHRoZSBwcm9jZXNzaW5nCgkgIGNvdW50ZXIuCgoyMDEwLTEyLTAxIDIzOjE0OjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEhhbmRsZSBuYW1lcyB3aXRoIG11bHRpcGxlIHVuZGVyc2NvcmVzCgoyMDEwLTEyLTAxIDIzOjA0OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5oOgoJICBjaG9wbXlkYXRhOiBBZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IHNwbGl0cyB1cCBhIHN0cmVhbSBpbnRvIHJhbmRvbWx5LXNpemVkIGJ1ZmZlcnMuCgkgIFVzZWZ1bCAobWF5YmUpIGZvciB0ZXN0aW5nIHBhcnNlcnMuCgoyMDEwLTEyLTAyIDAzOjA5OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogUmVtb3ZlIGxlZnRvdmVyIGNvbW1lbnQKCSAgUmVtb3ZlIGNvbW1lbnQgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW55bW9yZQoKMjAxMC0xMi0wMSAyMzoyMTozMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ19zdHJjYXNlY21wIGZ1bmN0aW9uLgoJICBSZXBsYWNlIGdfc3RyY2FzZWNtcCB3aXRoIGdfYXNjaWlfc3RyY2FzZWNtcC4KCjIwMTAtMTItMDEgMjM6MjA6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyA0LjIuMSBvbiBPU1guCgoyMDEwLTEyLTAxIDE1OjI4OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogdXNlIHByb3BlciBFQUMtMyBjYXBzCgoyMDEwLTEyLTAxIDEwOjQ1OjQ5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG1zdmMgZnRydW5jYXRlIGluY29tcGF0aWJpbGl0eQoJICBGaXhlcyAjNjM2MTg1LgoKMjAxMC0xMC0wOSAxNzozOTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgQWRkIGEgc2Nocm9lbmMgdGVzdAoKMjAxMC0xMS0yNyAyMDoxMzozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbWVtbGVha3MKCSAgUGFkIHRlbXBsYXRlcyByZXR1cm5lZCBieSBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKSB3ZXJlIG5vdAoJICBiZWluZyB1bnJlZmZlZC4KCjIwMTAtMTEtMzAgMTg6NDM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZWFkZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MKCSAgUmV2ZXJ0IHBhcnRzIG9mIGxhc3QgcGF0Y2ggdGhhdCByZW1vdmVkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcy4KCSAgb2dnbXV4IHN0aWxsIHJlcXVpcmVzIGNvcnJlY3QgZ3JhbnVsZXBvcyBpbiBpbmNvbWluZyBwYWNrZXQuCgoyMDEwLTExLTI5IDIwOjIxOjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3Qgb3ZlcnJpZGUgdGltZXN0YW1wcyBzZXQgYnkgYmFzZSBjbGFzcwoJICBCZWNhdXNlIHRoZSBiYXNlIGNsYXNzIGRvZXMgaXQgY29ycmVjdGx5LgoJICBGaXhlczogIzYzNTcyMCwgIzYyNTU1OC4KCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTE1IDIwOjAzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5oOgoJICBqcDJrZGVjaW1hdG9yOiBBZGQgYSBKUEVHMjAwMCBkZWNpbWF0b3IgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgZHJvcHMgaW5mb3JtYXRpb24gZnJvbSBKUEVHMjAwMCBpbWFnZXMgd2l0aG91dCByZWVuY29kaW5nLgoKMjAxMC0xMS0yMyAyMTo0NTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogRW1pdCBTT1AgbWFya2VycyBpbiBldmVyeSBjb2Rlc3RyZWFtIHBhY2tldAoJICBUaGlzIG1ha2VzIHBhcnNpbmcgbXVjaCBlYXNpZXIsIGZhc3RlciBhbmQgbW9yZSByZWxpYWJsZS4KCjIwMTAtMTEtMjcgMTY6MDc6MTkgLTA2MDAgIEFsZWphbmRybyBHb256YWxleiA8YWdvbnphbGV6QGRleHRyYXRlY2guY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnc3RfcXRtdXhfY2hlY2tfZGlmZmVyZW5jZSB2ZXJpZnkgYmVmb3JlIHN1YnRyYWN0CgkgIEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IGJ5IGNoZWNraW5nIHRoZSBvcmRlciBvZiBvcGVyYW5kcwoJICBvbiBzdWJ0cmFjdGlvbiBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg3OAoKMjAxMC0xMS0yNyAxODo1ODowNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBzb21lIG1lbWxlYWtzCgoyMDEwLTExLTE1IDExOjM3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IG1pbm9yIG1lbWxlYWsgZml4CgoyMDEwLTExLTI1IDE5OjMxOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTozMTowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjU6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHVzZWxlc3MgdmFyaWFibGUKCjIwMTAtMTEtMjUgMTk6MjQ6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBzdGVyZW86IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIxOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHA6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlcwoKMjAxMC0xMS0yNSAxOToyMToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjE6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIHJlYWw6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIwOjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIGZyZWV6ZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjAxOjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo1Njo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjUyOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0OToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIHNkbGF1ZGlvc2luazogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDc6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvZWRpbmdlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDM6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODo0MzoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJICBjb2dkb3duc2FtcGxlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjQyOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSAgb3BlbmN2OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICAuLi4gYW5kIGZpeCBpbmRlbnRhdGlvbgoKMjAxMC0xMS0yNSAxODozMzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjMwOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJICBjb2dmcmFtZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6Mjk6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEluaXRpYWxpemUgdmFyaWFibGUKCSAgSW4gdGhlIGNhc2UgdGhlIHRhZ19zZXR0ZXIgcmV0dXJucyBzb21ldGhpbmcsIGVtcHR5X3RhZ3Mgd291bGQgYmUKCSAgZ2FyYmFnZSB2YWx1ZS4KCjIwMTAtMTEtMjUgMTg6Mjk6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6MjY6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE3OjE0OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggcG9zc2libGUgZGl2aXNpb24tYnktemVybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Nzg2CgoyMDEwLTEwLTIzIDAxOjU2OjA0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCBwYXNzIHRoZSBTaG1QaXBlIHRvIHRoZSBmdW5jdGlvbiBjbG9zaW5nIHRoZSBzaG0gYXJlYQoKMjAxMC0xMC0yMyAwMToyMjo0MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlIHRoZSByaWdodCBjb3VudGVyIHdoZW4gZnJlZWluZyBidWZmZXJzCgoyMDEwLTEwLTIzIDAxOjEyOjQ5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkgIHNobWFsbG9jOiBNYW51YWxseSBkZWNpZGUgdG8gdXNlIEdMaWIgb3Igbm90IGluIHRoZSBzaG1hbGxvYwoJICBTbyBtYWtlIGl0IGVhc2llciBmb3IgZW1iZWRkZXJzIHRvIHVzZSBpdCB3aXRoIG9yIHdpdGhvdXQgR2xpYgoKMjAxMC0xMC0yMCAyMjo0OTo1OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogUmVtb3ZlIGR1cGxpY2F0ZWQgYXJndWVtZW50CgoyMDEwLTEwLTIwIDIyOjM5OjIxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBGaXggc29ja2V0IGxlYWsgb24gY29ubmVjdCgpIGVycm9yCgoyMDEwLTEwLTIwIDIyOjI4OjEzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogc3BfY2xpZW50X3JlY3YgcmV0dXJucyBuZWdhdGl2ZSBvbiBlcnJvciwgc28gbWFrZSB0aGUgcmV0dmFsIHNpZ25lZAoKMjAxMC0xMC0yMCAyMjoxNzozMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogUmVuYW1lIGNvbmZ1c2luZ2x5IG5hbWVkIHZhcmlhYmxlCgoyMDEwLTEwLTIwIDIyOjE0OjA5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBDaGFuZ2UgcGVybWlzc2lvbnMgb24gb2xkIHNobSBhcmVhcyB0b28KCSAgQ2hhbmdlIHRoZSBwZXJtaXNzaW9ucyBvbiBvbGQgc2htIGFyZWFzCgoyMDEwLTEwLTIwIDIyOjAxOjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgdGhlIG1hY3JvIGZvciB0aGUgbGFzdCBlcnJvciB0b28KCjIwMTAtMTAtMjAgMjE6NTI6MzEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSAiYWJsb2NrIiBmb3IgYWxsIFNobUFsbG9jQmxvY2sgdmFyaWFibGVzCgkgIFVzZSB0aGUgYWJsb2NrIHZhcmlhYmxlIG5hbWUgZm9yIFNobUFsbG9jQmxvY2tzIGFuZCBibG9jayBmb3IKCSAgU2htQmxvY2sKCjIwMTAtMTAtMjAgMjE6NTI6MjQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBtb3JlIGNvbW1lbnRzCgoyMDEwLTEwLTIwIDIxOjQxOjE1ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogc3R5bGlzdCBpbXByb3ZlbWVudHMKCjIwMTAtMTAtMjAgMjE6MzM6MjQgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkgIHNobTogRXhwbGFpbiBzb21lIGZpZWxkcwoJICBFeHBsYWluIHdoYXQgc29tZSBvZiB0aGUgZmllbGRzIGluIHRoZSBhbGxvY2F0b3IgYWN0dWFsbHkgbWVhbgoKMjAxMC0xMS0yMiAxNToyNjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBGaXggYnVmZmVyIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24KCSAgVGhlIGZpZWxkIHJhdGUgaXMgdHdpY2UgdGhlIGZyYW1lIHJhdGUgb2YgdGhlIHNyYyBwYWQgYW5kIHNvIHRoZSBkdXJhdGlvbiBvZgoJICBvbmUgb3V0cHV0IGJ1ZmZlciBpcyBzcmNfZnBzX2QgLyAoMiAqIHNyY19mcHNfbikuCgoyMDEwLTExLTIyIDEwOjI5OjU2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IFJlbmFtZSBwYXR0ZXJuIHByb3BlcnR5IHRvIGZpZWxkLXBhdHRlcm4KCSAgVGhpcyBpcyBtb3N0bHkgZm9yIGNsYXJpdHkgb2Ygd2hhdCB0aGUgcHJvcGVydHkgbWVhbnMgYW5kLCBJIGJlbGlldmUsIG1ha2VzIHRoZQoJICBwYXR0ZXJuLW9mZnNldCBwcm9wZXJ0eSBtb3JlIGNvbXByZWhlbnNpYmxlLgoKMjAxMC0xMS0yMiAxMDoyNzoyMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgcGF0dGVybiBvZmZzZXQgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3Mgb25lIHRvIHN0YXJ0IGF0IGFueSBwb2ludCB3aXRoaW4gdGhlIGZpZWxkIHBhdHRlcm4gYWZ0ZXIKCSAgYSBkaXNjb250aW51aXR5ICh3aGVuZXZlciBnc3RfaW50ZXJsYWNlX3Jlc2V0ICgpIGlzIGNhbGxlZCkuIFRodXMgd2l0aCB0aGUKCSAgMjozOjM6MiBwYXR0ZXJuLCBmb3IgZXhhbXBsZSwgb25lIGNhbiBzdGFydCBhdCBvZmZzZXQgMiBhbmQgYWNoaWV2ZSAzOjI6MjozCgkgIG9yIG9mZnNldCAxIGFuZCBhY2hpZXZlIDM6MzoyOjIuCgoyMDEwLTExLTE5IDE3OjAxOjQxIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBDcmVhdGUgaW1hZ2ViaW4gZWxlbWVudHMgd2hlbiBpbWFnZSBtb2RlIGlzIHNldCBpbiBjYW1lcmFiaW4gTlVMTCBzdGF0ZQoJICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBpbWFnZWJpbiBlbGVtZW50IGNyZWF0aW9uIGFuZCBsaW5raW5nIGludG8gc2VwYXJhdGUgZnVuY3Rpb25zLAoJICBhbmQgYWRkcyByZS11c2luZyBhbHNvIGZvciBpbWFnZWJpbiBpbnRlcm5hbGx5IGNyZWF0ZWQgZWxlbWVudHMuCgkgIFNvIHRoaXMgcmVmYWN0b3JpbmcgYWxsb3dzIGNyZWF0aW5nIGltYWdlYmluIGVsZW1lbnRzIGFscmVhZHkgaW4gTlVMTCBzdGF0ZSB3aGVuCgkgIGFwcGxpY2F0aW9uIHNldHMgdGhlIGltYWdlIG1vZGUsIGFuZCBuZXh0IHN0YXRlIGNoYW5nZSBmcm9tIE5VTEwgdG8gUkVBRFkgd2lsbCBiZSBmYXN0ZXIuCgkgIFRoaXMgcmVkdWNlcyBmaXJzdCBjYXB0dXJlIGxhdGVuY3kuCgkgIEVhcmxpZXIgdGhlIGVsZW1lbnRzIHdlcmUgYm90aCBjcmVhdGVkIGFuZCBsaW5rZWQgaW4gTlVMTCB0byBSRUFEWSBzdGF0ZSBjaGFuZ2UuCgoyMDEwLTExLTIyIDEyOjIzOjMwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IENyZWF0ZSBhIHN1Yi1idWZmZXIgd2l0aCB0aGUgc2VjdGlvbiBsZW5ndGgKCjIwMTAtMTEtMTkgMTU6MjM6NDEgLTA1MDAgIEpvc2ggRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkgIG9wZW5jdjogZml4IGNhcHMgaXNzdWVzIGFuZCBleHRlbmQgc3VwcG9ydGVkIGNhcHMgZm9yIHNvbWUgZWxlbWVudHMKCSAgU29tZSBlbGVtZW50cyBoYWQgdmFndWUgY2Fwcywgc3VjaCBhcyAidmlkZW8veC1yYXctcmdiIiwgd2hpY2ggY2F1c2VkIHByb2JsZW1zCgkgIGF0IGxlYXN0IHdpdGggdGV4dHdyaXRlLiBGb3Igb3RoZXIgZWxlbWVudHMsIHRoZSB1bmRlcmx5aW5nIE9wZW5DViBmdW5jdGlvbnMKCSAgc3VwcG9ydCBtb3JlIHRoYW4ganVzdCBvbmUgaW1hZ2UgdHlwZSwgc28gSSBpbmNyZWFzZWQgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQKCSAgY2Fwcy4KCSAgSSBjcmVhdGVkIGEgdXRpbGl0eSBmdW5jdGlvbiAiZ3N0X29wZW5jdl9jYXBzX2Zyb21fY3ZfaW1hZ2VfdHlwZSIsIHNvIGVhY2gKCSAgZWxlbWVudCBjcmVhdGVzIGNhcHMgZGlyZWN0bHkgZnJvbSBPcGVuQ1YgaW1hZ2UgdHlwZXMsIHN1Y2ggYXMgQ1ZfOFVDMSBmb3IKCSAgOC1iaXQgZ3JheXNjYWxlLiBUaGlzIGZ1bmN0aW9uIHVzZXMgZ3N0dmlkZW8gdG8gY3JlYXRlIHVuaWZvcm0gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTMwNAoKMjAxMC0xMS0yMiAxNzo0MzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBTbWFsbCBvcHRpbWl6YXRpb24gb24gdGFncyBwYXJzaW5nCgkgIE9wdGltaXplIGEgbGl0dGxlIGF2b2lkaW5nIGNvcHlpbmcgYSB0YWdsaXN0IHdoZW4gcGFyc2luZyB4bXAvZXhpZgoJICBkYXRhLgoKMjAxMC0wOS0xNyAwOTo1MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IEF2b2lkIGxvc2luZyB0aGUgbGFzdF9idWZmZXIgd2hlbiBzd2l0Y2hpbmcKCSAgVGhpcyBwYXRjaCBtYWtlcyBvdXRwdXRzZWxlY3RvciB0YWtlIGFuIGV4dHJhIHJlZiB3aGVuIHB1c2hpbmcKCSAgdGhlIGxhc3RfYnVmZmVyIHRvIGF2b2lkIGl0IGxvc2luZyBpdCBkdXJpbmcgdGhlIHN3aXRjaCBmdW5jdGlvbi4KCSAgVGhpcyBtYWtlcyByZXNlbmQtbGF0ZXN0IHByb3Blcmx5IHdvcmsgaWYgdGhlIGFjdGl2ZS1wYWQgaXMgY2hhbmdlZAoJICBkdXJpbmcgdGhlIHN3aXRjaCBmdW5jdGlvbiBidWZmZXIgcHVzaGluZyAob24gYSBwYWQgcHJvYmUsIGZvciBleGFtcGxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTkxNwoKMjAxMC0wOS0xNyAwOTo0NDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IFJlY2hlY2sgcGVuZGluZyBzd2l0Y2ggYWZ0ZXIgcHVzaGluZyBidWZmZXIKCSAgVGhpcyBwYXRjaCBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgYWx3YXlzIHJlY2hlY2sgaWYgdGhlcmUncyBhCgkgIHBlbmRpbmcgcGFkIHN3aXRjaCBhZnRlciBwdXNoaW5nIGEgYnVmZmVyLCBwcmV2ZW50aW5nIHRoYXQKCSAgaXQgcHVzaGVzIGEgYnVmZmVyIG9uIHRoZSAnd3JvbmcnIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTkxNwoKMjAxMC0xMS0yMiAxNToxMDoyNiArMDIwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0JTQwbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBzY2FsYWJsZSBhbmQgcmVsYXRpdmUgc3ZnIG92ZXJsYXkgd2l0aCBjYWlybwoJICBBZGQgYSBjYWlybytsaWJyc3ZnIGJhc2VkIG92ZXJsYXkgZWxlbWVudCB0byB0aGUgcnN2ZyBwbHVnaW4uCgoyMDEwLTExLTIyIDE3OjA2OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWFrZTogcmVtb3ZlIHRyYWNlcyBvciBtb3ZlZC9yZW1vdmVkIHBsdWdpbnMKCjIwMTAtMTEtMjIgMTc6MDU6MjMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBtYWtlOiBhZGQgbWlzc2luZiB0cmFpbGluZyBcIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTAtMTEtMjEgMjM6MTE6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiByZW1vdmUgaW5jb3JyZWN0IGNoZWNrCgoyMDEwLTExLTE5IDE3OjU1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHJlbW5hbnQgb2Ygb2Jzb2xldGUgcHJvcGVydHkKCjIwMTAtMTEtMTkgMTU6MTg6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhbHNvIHVuaXQgdGVzdCBmcmFnbWVudGVkIGZpbGUgY2FzZXMKCjIwMTAtMDctMzAgMTI6NDg6MjkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWxsb3cgc3BlY2lmeWluZyB0cmFrIHRpbWVzY2FsZQoJICBUaGlzIGlzIG1haW5seSBiZWNhdXNlIFNtb290aHN0cmVhbWluZyBjbGllbnQgYXJlIGJyb2tlbiBhbmQgZG9uJ3QKCSAgdGFrZSB0aGUgVGltZVNjYWxlIHByb3BlcnR5IGludG8gYWNjb3VudC4KCjIwMTAtMTEtMTkgMTc6NDE6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgc2R0cCBhdG9tcyBmb3IgaXNtdiBmcmFnbWVudGVkIGZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xOSAxOToxNzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuYWJsZSBkZWZhdWx0IGZyYWdtZW50ZWQgZmlsZSBmb3IgaXNtbG11eAoKMjAxMC0wOS0wMiAxMzo1ODowNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgaXNtbG11eCwgZm9yIGZyYWdtZW50ZWQgaXNtbCBtYWpvciBicmFuZAoKMjAxMC0xMS0xOSAxNDo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpbmFsaXplIHNpbmtwYWRzIGxpc3QKCjIwMTAtMDctMjIgMTk6NDA6MDcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbW9vdiBpbiBzdHJlYW1oZWFkZXIKCjIwMTAtMDgtMDYgMTM6MjY6MjcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIHN0cmVhbWFibGUgcHJvcGVydHkgdG8gYXZvaWQgYnVpbGRpbmcgZnJhZ21lbnRlZCBtZnJhIGluZGV4CgoyMDEwLTExLTE4IDE2OjQ4OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIG1mcmEgdG8gZnJhZ21lbnRlZCBmaWxlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xNSAxNToxNzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9wdGlvbmFsbHkgY3JlYXRlIGZyYWdtZW50ZWQgZmlsZQoJICBJbiB0aGlzIG1vZGUsIGFuIGluaXRpYWwgZW1wdHkgbW9vdiAoY29udGFpbmluZyBvbmx5IHN0cmVhbSBtZXRhZGF0YSkgaXMgd3JpdHRlbiwKCSAgZm9sbG93ZWQgYnkgZnJhZ21lbnRzIGNvbnRhaW5pbmcgYWN0dWFsIGRhdGEgKGFsb25nIHdpdGggcmVxdWlyZWQgbWV0YWRhdGEpLgoJICBOZXcgZnJhZ21lbnRzIGFyZSBzdGFydGVkIGVpdGhlciBhdCBrZXlmcmFtZSAoaWYgc3VjaCBhcmUgc3BhcnNlKSBvciB3aGVuCgkgIHByb3BlcnR5IGNvbmZpZ3VyZWQgZHVyYXRpb24gZXhjZWVkZWQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBGaXhlcyAjNjMyOTExLgoKMjAxMC0xMS0xNSAxNToxMjo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHVzZSBoZWxwZXIgdG8gc2V0IGF0b20gZmxhZ3MgZnJvbSBnaXZlbiB1aW50CgoyMDEwLTExLTA5IDE2OjQ5OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgY29uZmlndXJpbmcgYW5kIHNlbmRpbmcgb2YgbW9vdgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMDkgMTU6NTQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBleHRyYSB0b3AtbGV2ZWwgYXRvbSBoYW5kbGluZwoJICBBbHNvIGNoZWNrIGEgYml0IG1vcmUgZm9yIHBvc3NpYmxlIGVycm9ycywgYW5kIGZyZWUgcHJvcGVyIGl0ZW1zIGluIHN1Y2ggY2FzZS4KCjIwMTAtMTEtMDkgMTU6MDE6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBzbGlnaHRseSB1c2luZyBidWZmZXIgaGVscGVyCgoyMDEwLTExLTA1IDEzOjQ4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBjb21tZW50CgoyMDEwLTExLTA1IDEyOjA4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWxlZ2F0ZSBtdmV4IGhhbmRsaW5nIHRvIGF0b21zCgkgIC4uLiB3aGljaCBrZWVwcyBxdG11eCBzaW1wbGVyLgoKMjAwOS0wOS0yOCAxNjoxMTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG12ZXgvdHJleCBpbiBoZWFkZXIgaWYgZnJhZ21lbnRlZAoJICBPbmUgInRyZXgiIGlzIGFkZGVkIHBlciAidHJhayIuIFdlIGRvbid0IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMsCgkgIGJ1dCB0aGUgInRyZXgiIGJveCBpcyBtYW5kYXRvcnkuCgoyMDA5LTA5LTI4IDEzOjAxOjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBhIGNvdXBsZSBvZiBmb3VyY2MgZm9yIGZyYWdtZW50ZWQgbXA0CgoyMDEwLTExLTA1IDExOjA4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgcmVtb3ZpbmcgdGVtcCBmaWxlIHdoZW4gZXJyb3Igb2NjdXJyZWQKCjIwMDktMDktMzAgMTc6MTY6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB0cnVuY2F0ZSBidWZmZXIgZmlsZSBhZnRlciBlYWNoIHNlbmQKCjIwMDktMDktMjggMTY6NTM6NTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdGVtcCBmaWxlIHdoZW4gcmVzZXQvZmluYWxpemUKCjIwMTAtMDgtMTggMDI6MDA6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IFB1c2ggdGFncyBhZnRlciBzZXR0aW5nIHNyY3BhZCBjYXBzCgkgIFRoaXMgcGF0Y2ggZGVmZXJzIGVtaXNzaW9uIG9mIHRhZyBldmVudHMgdGlsbCBjYXBzIGFyZSBzZXQgb24gdGhlIHNvdXJjZQoJICBwYWQgb2YganBlZ3BhcnNlLCBzbyB0aGF0IHRoZXNlIHRhZ3MgY2FuIGJlIHNlZW4gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzIxMQoKMjAxMC0xMS0xOSAxODo1MTozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMS0xOSAxODoyNjo1OSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggdGhpbmtvCgoyMDEwLTExLTE5IDE3OjI1OjAxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBoYW5kbGluZyBvZiBUT1QgYW5kIFREVCBzZWN0aW9ucy4gRml4ZXMgIzYzNTI4MS4KCSAgVERUIGFuZCBUT1Qgc2VjdGlvbnMsIHdpdGggUElEPTB4MTQsIGRvZXNuJ3QgZXh0ZW5kIHRvIHNldmVyYWwgcGFja2V0cwoJICBhbmQgdGhlIHNlY3Rpb24gZmlsdGVyIGlzIG5vdCBuZWVkZWQgaGVyZSBhbmQgc2hvdWxkbid0IGJlIHVzZWQgYXQgYWxsCgkgIGZvciB0aGVzZSB0YWJsZXMgYmVjYXVzZSB0aGUgaGF2ZSBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUuCgkgIEZvciBleGFtcGxlLCBURFQgdGFibGVzIHdlcmUgbm90IHBhcnNlZCBmb3Igb2RkIGhvdXJzIGJlY2F1c2UgdGhpcyBiaXQKCSAgaXMgdGhlICdjdXJyZW50X25leHRfaW5kaWNhdG9yJyBiaXQgZm9yIHRoZSBvdGhlciBzZWN0aW9ucywgYW5kIHRoZSB0YWJsZQoJICB3YXMgZGlzY2FyZGVkLgoKMjAxMC0xMS0xOSAxNzoyMjowNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZG9uJ3QgY2FsY3VsYXRlIHRoZSBDUkMgZm9yIFRPVCB0YWJsZXMuIEZpeGVzICM2MzUyODEuCgkgIFRPVCB0YWJsZXMsIHdpdGggdGFibGVfaWQ9MHg3MywgZG9uJ3QgaGF2ZSBhIENSQywgc28gZG9uJ3QgY2FsY3V0ZSBpdAoKMjAxMC0xMS0xOCAxODo0MjozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IEFkZCBURFQgdG8gdGhlIGluaXRpYWwgcGlkcyBmaWx0ZXIgZm9yIGR2YnNyYy4gRml4ZXMgIzYzNTIwMC4KCjIwMTAtMTEtMTYgMTc6MzU6MzYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdzdF9qcGVnX3BhcnNlX3NraXBfbWFya2VyICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMDgtMTMgMTM6MTQ6MzAgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdXNlIGJ5dGUgcmVhZGVyIGFjY2Vzc29ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE3IDEwOjQ5OjMwICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGlubGluZSBnc3RfanBlZ19wYXJzZV9zb2YgKCkKCSAgTm8gZnVuY3Rpb25hbCBjaGFuZ2VzIChob3BlZnVsbHkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE3OjIzOjM1ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTggMTA6NTg6MDYgLTAzMDAgIEFsZWtzZXkgTGltIDxhbHNyb290QG1lbWJlci5mc2Yub3JnPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCB1c2UgYXVkaW8gY2xvY2sgYWZ0ZXIgc3RvcHBpbmcgdmlkZW8gY2FwdHVyZQoJICBBZGRhIHByb3ZpZGUgY2xvY2sgZnVuY3Rpb24gdG8gY2FtZXJhYmluIHRvIG1ha2UgaXQgbm90CgkgIHByb3ZpZGUgdGhlIGF1ZGlvIGNsb2NrIG9mIHRoZSByZWNvcmQgYmluIHdoZW4gbm8gdmlkZW8KCSAgcmVjb3JkaW5nIGlzIGhhcHBlbmluZwoJICBGaXhlcyAjNjEzMzc5CgoyMDEwLTExLTE3IDE2OjIzOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGNvcnJlY3Qgb2Zmc2V0IHdoZW4gYWRkaW5nIGluZGV4IGVudHJ5CgkgIC4uLiBiZWFyaW5nIGluIG1pbmQgdGhhdCBCVUZGRVJfT0ZGU0VUIGlzIG1lZGlhIHNwZWNpZmljIGFuZCBtYXkgbm90CgkgIHJlZmxlY3QgdGhlIGJhc2ljIG9mZnNldCBhZnRlciBoYXZpbmcgYmVlbiBwYXJzZWQuCgoyMDEwLTExLTE3IDE0OjMwOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5oYW5jZW1lbnRzIGZvciB0aW1lc3RhbXAgbWFya2VkIGZyYW1lZCBmb3JtYXRzCgkgIFRoYXQgaXMsIGFzIHN1Y2ggZm9ybWF0cyBhbGxvdyBzdWJjbGFzcyB0byBleHRyYWN0IHBvc2l0aW9uIGZyb20gZnJhbWUsCgkgIGl0IGlzIHBvc3NpYmxlIHRvIGV4dHJhY3QgZHVyYXRpb24gKGlmIG5vdCBvdGhlcndpc2UgcHJvdmlkZWQpCgkgIGZyb20gKG5lYXIpIGxhc3QgZnJhbWUsIGFuZCBhIHNlZWsgY2FuIGZhaXJseSBhY2N1cmF0ZWx5IHRhcmdldCB0aGUgcmVxdWlyZWQKCSAgcG9zaXRpb24uCgkgIEZpeGVzICM2MzEzODkuCgoyMDEwLTExLTE2IDE3OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgZnJhbWUgc2Nhbm5pbmcgcGVmb3JtZWQgYnkgX2xvb3AKCjIwMTAtMTEtMTYgMTg6MDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzbGlnaHRseSBvcHRpbWl6ZSBzZW5kaW5nIG9mIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudHMKCjIwMTAtMTEtMTYgMTc6MDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgkgIEFycmFuZ2UgZm9yIHVwc3RyZWFtIGFzIHdlbGwgYXMgZG93bnN0cmVhbSBmbHVzaGluZyB3aGVuIHNlZWtpbmcuCgkgIEFsc28gZGV0ZXJtaW5lIHVwc3RyZWFtIHNpemUgYXMgd2VsbCBhcyBzZWVrYWJpbGl0eS4gIEFkanVzdCBzb21lIGNvbW1lbnRzCgkgIHRvIHJlYWxpdHkgYW5kIGVtcGxveSBkZWJ1ZyBzdGF0ZW1lbnQgaW4gcHJvcGVyIG9yZGVyLgoKMjAxMC0xMS0xNyAxNTozMzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtaW5vciBjbGVhbnVwcwoKMjAxMC0xMS0xNyAxNToyNDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBBRElGIHNyYyBjYXBzIHNldHRpbmcKCjIwMTAtMTEtMTYgMTI6MTE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBwYXJzZSBzZWVrdGFibGUKCSAgRml4ZXMgIzYzMTM4OSAocGFydGlhbGx5KS4KCjIwMTAtMTEtMTYgMTI6MDg6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciByZWZhY3RvciBhbmQgZW5hYmxlIGRlZmF1bHQgYmFzZXBhcnNlIHNlZ21lbnQgY2xpcHBpbmcKCjIwMTAtMTEtMTIgMDA6NDA6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogZml4IG5hc3R5IGRlYWRsb2NrCgkgIFdlIGNhbm5vdCBjYWxsIGFueSBDTUJ1ZmZlclF1ZXVlIGZ1bmN0aW9ucyB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIHRoYXQKCSAgb3VyIGNhbGxiYWNrIGFsc28gZGVwZW5kcyBvbi4gU28gbm93IHdlIG1ha2UgdXNlIG9mIENNQnVmZmVyUXVldWUncwoJICB0cmlnZ2VyIEFQSSBpbiBvcmRlciB0byBnZXQgbm90aWZpZWQgd2hlbiB0aGUgcXVldWUgaGFzIGRhdGEuCgoyMDEwLTExLTExIDIzOjQxOjQ0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgY21hcGk6IGNvdmVyIENNQnVmZmVyUXVldWUncyB0cmlnZ2VyIEFQSQoKMjAxMC0xMS0xMSAyMTo0MjowMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiB1bmxvY2sgc2hvdWxkIGFsc28gbm90aWZ5CgkgIE90aGVyd2lzZSB3ZSBkZXBlbmQgb24gYmVpbmcgd29rZW4gdXAgYnkgdGhlIENvcmVNZWRpYSBxdWV1ZSBnZXR0aW5nCgkgIGl0cyBuZXh0IGJ1ZmZlci4KCjIwMTAtMTEtMTAgMjM6MTY6NTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiBkb24ndCBwdXNoIHN5bmNocm9ub3VzbHkgZnJvbSBjYWxsYmFjawoJICBUaGUgY29kZWMgdGhhdCBjYWxsZWQgdXMgbWlnaHQgYmUgaG9sZGluZyBsb2NrcyB0byBzaGFyZWQgcmVzb3VyY2VzLCBzbwoJICB3ZSBzaG91bGQgbmV2ZXIgcHVzaCBkb3duc3RyZWFtIGZyb20gd2l0aGluIGl0cyBidWZmZXIgY2FsbGJhY2suCgkgIE5vdGUgdGhhdCBhIEdzdEJ1ZmZlckxpc3QgaXMgbm90IHVzZWQgaGVyZSBiZWNhdXNlIHdlIG5lZWQgdG8gcHJlc2VydmUKCSAgdGhlIGJ1ZmZlciBtZXRhZGF0YSBoZWxkIGJ5IG91ciBHc3RCdWZmZXIgc3ViY2xhc3Nlcy4KCjIwMTAtMTEtMTAgMjA6NTI6NDcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYnVtcCBILjI2NCBsZXZlbCBmcm9tIDEuMyB0byAzLjAKCSAgVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYSBwcm9wZXJ0eS4KCjIwMTAtMTEtMTAgMjA6NDQ6MTUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogYWRkIGJhc2ljIGRldmljZSBzZWxlY3Rpb24gc3VwcG9ydAoKMjAxMC0xMS0xMCAyMDo1MToyNyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGN2YXBpOiBhZGQgd3JhcHBlciBmb3IgSU8gc3VyZmFjZSBhY2Nlc3MKCSAgVG8gYmUgdXNlZCBpbiBhIGZ1dHVyZSB2aWRlbyBzaW5rIGZvciB6ZXJvLWNvcHkgcmVuZGVyaW5nLgoKMjAxMC0xMS0xMCAyMDoyNToyOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSAgY2VsYXBpOiBhZGQgY2FwdHVyZSBwb3J0IHR5cGUgY29uc3RhbnRzCgoyMDEwLTExLTA5IDIyOjQzOjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIHVudXNlZCBzcmNfc3RyaWRlIHZhcmlhYmxlIGZyb20gYmxpdCBmdW5jdGlvbnMKCjIwMTAtMTEtMDkgMTg6MTA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwaG90b2dyYXBoeS5kZWY6CgkgIHdpbjMyOiBBZGRpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIC5kZWYgZmlsZQoJICBBZGRzIGNoZWNrLWV4cG9ydHMgdG8gLWJhZCB0byBoYXZlIHBob3RvZ3JhcGh5IGludGVyZmFjZQoJICAuZGVmIGZpbGUgY3JlYXRlZAoJICBGaXhlcyAjNTc4NjI5CgoyMDEwLTExLTA5IDE5OjM4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCBzaWxseSBsZWFrIGluIF9yZXNldAoKMjAxMC0xMS0wOCAyMzo1NDozMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSAgYXBwbGVtZWRpYTogYmlwbGFuYXIgaXMgYWN0dWFsbHkgTlYxMiwgbm90IEk0MjAKCSAgRCdvaCEKCjIwMTAtMTEtMDggMjE6MjI6MTMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogcmVtb3ZlIGtleWZyYW1lIGVuZm9yY2VtZW50IHdvcmthcm91bmQKCSAgV2FzIG9ubHkgbmVlZGVkIGZvciBvbGQgaU9TIHdoZXJlIHRoZSBILjI2NCBlbmNvZGVyIGRpZG4ndCBzdXBwb3J0CgkgIGtWVEVuY29kZUZyYW1lT3B0aW9uS2V5X0ZvcmNlS2V5RnJhbWUuCgoyMDEwLTExLTA4IDE4OjU2OjUyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgY3ZhcGk6IGFkZCBhIGZldyBleHRyYSBiaXRzIG9mIHdyYXBwaW5nCgoyMDEwLTExLTA4IDE1OjA4OjE5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBhcHBsZW1lZGlhOiBsb2NrIENWUGl4ZWxCdWZmZXIgcmVhZC1vbmx5CgkgIEFzIHBlciBBcHBsZSdzIGRvY3MsIHRoaXMgbWF5IGltcHJvdmUgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgcmVkdW5kYW50CgkgIGludmFsaWRhdGlvbnMgb2YgZXhpc3RpbmcgY2FjaGVzIG9mIHRoZSBidWZmZXIgY29udGVudHMuCgoyMDEwLTExLTA4IDEwOjMzOjU4IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IFJlbW92ZSBnc3RyaW5nIGxlYWsKCSAgU2ltcGxpZnkgZ3N0LWNhbWVyYWJpbi10ZXN0IGJ5IHJlbW92aW5nIEdTdHJpbmcgYW5kIHJlcGxhY2luZwoJICB3aXRoIGdjaGFyIGZvciB0aGUgZmlsZW5hbWUgaGFuZGxpbmcuIEFsc28gcmVtb3ZlcyBhIGxlYWsgb2YKCSAgdGhlIEdTdHJpbmcgZGF0YS4KCjIwMTAtMTEtMDggMTY6MDA6MjEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYXZvaWQgcmVmZmluZyB0aGUgZWxlbWVudCBpbiBjaGFpbgoKMjAxMC0xMS0wOCAxNTo0NTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhZGQgc29tZSBtaW5pbWFsIGxvZ2dpbmcgdG8gdHJhY2sgd2hhdCBpdCBpcyBkb2luZwoKMjAxMC0xMS0wOCAxMzo1Mjo0OSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiBwdXQgcGxhbmFyIGZpcnN0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTAtMTEtMDggMTM6NDk6MDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkgIGFwcGxlbWVkaWE6IGltcHJvdmUgdnRlbmMvdnRkZWMgcGVyZm9ybWFuY2UKCSAgUHJvZmlsaW5nIG9mIEguMjY0IGVuY29kZSBhbmQgZGVjb2RlIHJldmVhbGVkIHRoYXQgY29udmVyc2lvbnMKCSAgYmV0d2VlbiBwYWNrZWQgYW5kIHBsYW5hciB3ZXJlIGhhcHBlbmluZyBiZWhpbmQgdGhlIHNjZW5lcy4KCSAgSGVuY2Ugd2Ugbm93IGNob29zZSBJNDIwIGluc3RlYWQgb2YgWVVZMi4KCjIwMTAtMTAtMjIgMTg6MDc6MDAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGFkZCBhc3luYyBidXMgaGFuZGxlciB0byBnc3QtY2FtZXJhYmluLXRlc3QKCSAgU3BsaXRzIHRoZSBidXMgaGFuZGxlciBpbnRvIHN5bmMgYW5kIGFzeW5jLCBrZWVwaW5nIHRoZQoJICBwcmVwYXJlLXh3aW5kb3cgaGFuZGxpbmcgYXQgdGhlIHN5bmMgZm9yIGZhc3RlciBoYW5kbGluZyBhbmQKCSAgbW92aW5nIHRoZSBvdGhlcnMgdG8gdGhlIGFzeW5jIGhhbmRsZXIKCjIwMTAtMTEtMDYgMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHdlIHN0aWxsIHJlcXVpcmUgR3RrKyA+PSAyLjE0LjAgd2hlbiBjb21waWxpbmcgYWdhaW5zdCAyLjAKCSAgVGhlIGNoZWNrIGZvciB0aGUgbWlub3IgdmVyc2lvbiB3YXMgZHJvcHBlZCBpbiBvbmUgb2YgdGhlIHByZXZpb3VzCgkgIGNvbW1pdHMuCgoyMDEwLTExLTA1IDE2OjUxOjU3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IG1lYXN1cmUgZnBzIHdoZW4gc3RhdGlzdGljcyBpcyBlbmFibGVkCgkgIEFsc28gcmVmYWN0b3IgdGltZXN0YW1waW5nIHNsaWdodGx5LgoKMjAxMC0xMS0wNSAxNToxNDowOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiB1cGRhdGUgdG8gbmV3IENlbGVzdGlhbCBhbmQgTWVkaWFUb29sYm94IEFQSXMKCSAgVGhpcyBtZWFucyBjZWx2aWRlb3NyYyBpcyBubyBsb25nZXIgY29tcGF0aWJsZSB3aXRoIGlPUyAzLnguCgoyMDEwLTExLTA1IDE1OjA4OjU2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IGZpeCBkZWJ1ZyBjYXRlZ29yeSBkZXNjcmlwdGlvbgoKMjAxMC0xMS0wNSAxNTowODowMiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSAgY2VsYXBpOiB1cGRhdGUgdG8gcmVmbGVjdCBuZXcgQVBJIG9uIGlPUyA0LngKCSAgQWxzbyBhZGQgcmVtYWluaW5nIHByb3BlcnR5IGNvbnN0YW50cyBmb3IgZGV2aWNlIGFuZCBzdHJlYW0uCgoyMDEwLTExLTA1IDE1OjA3OjM4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSAgbXRhcGk6IHVwZGF0ZSB0byByZWZsZWN0IG5ldyBBUEkgb24gaU9TIDQueAoJICBBbHNvIGFkZCByZW1haW5pbmcgcHJvcGVydHkgY29uc3RhbnRzIGZvciBkZXZpY2UgYW5kIHN0cmVhbS4KCjIwMTAtMTEtMDUgMTA6NTY6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2xvcnNwYWNlOiBVcGRhdGUgZ2VuZXJhdGVkIE9SQyBzb3VyY2VzCgoyMDEwLTA4LTI2IDE3OjA4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyAnaWRsZScgcHJvcGVydHkKCSAgQWRkcyAnaWRsZScsIGEgcmVhZC1vbmx5IGJvb2xlYW4gcHJvcGVydHkgdGhhdCB0ZWxscyBhcHBsaWNhdGlvbnMKCSAgaWYgdGhlcmUgaXMgYW55IGNhcHR1cmluZy9zYXZpbmcvZW5jb2RpbmcgZ29pbmcgb24gaW4gY2FtZXJhYmluLiBJZgoJICBub3QsIGl0IGlzIHNhZmUgdG8gc2V0IGl0IHRvIE5VTEwgYW5kIHJlbGVhc2UgcmVzb3VyY2VzIHdpdGhvdXQKCSAgbG9zaW5nIGRhdGEuCgoyMDEwLTA1LTA1IDEzOjU4OjA3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCAicmVhZHktZm9yLWNhcHR1cmUiIHByb3BlcnR5CgkgIEFkZCAicmVhZHktZm9yLWNhcHR1cmUiIHByb3BlcnR5IHRvIGluZGljYXRlIGlmIHByZXBhcmluZyBhIG5ldwoJICBjYXB0dXJlIGlzIHBvc3NpYmxlLgoJICAicmVhZHktZm9yLWNhcHR1cmUiIGNoYW5nZXMgYmVmb3JlIHRoZSAnaW1hZ2UtZG9uZScgc2lnbmFsLCBzbwoJICB0aGUgYXBwbGljYXRpb24gY2FuIGJlIG5vdGlmaWVkIHRoYXQgaXQgY2FuIGRvIGEgbmV3IGNhcHR1cmUKCSAgZXZlbiBiZWZvcmUgdGhlIHByZXZpb3VzIG9uZSBoYXMgZmluaXNoZWQgZW5jb2Rpbmcvc2F2aW5nLgoKMjAxMC0xMS0wNSAwMDozMjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZG9uJ3QgZXZlbiBjaGVjayBmb3IgR3RrKyBpZiAtLWRpc2FibGUtZXhhbXBsZXMgaXMgc3BlY2lmaWVkCgkgIFRoZXJlIGFyZSBHdGsrLWJhc2VkIGV4YW1wbGVzIGluIHBsdWdpbiBkaXJzIGFuZCB0ZXN0cy9pY2xlcy8gdG9vLCBhbmQKCSAgd2Ugd2FudCB0byBkaXNhYmxlIHRob3NlIGFzIHdlbGwgdGhlbi4KCjIwMTAtMTEtMDUgMDA6MjQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCAtLXdpdGgtZ3RrIG9wdGlvbiBhbmQgZGVmYXVsdCB0byBHdGsrIDIuMCB3aGlsZSB0aGUgMy4wIEFQSSBpcyBzdGlsbCBpbiBmbHV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQwMTQKCjIwMTAtMTEtMDMgMDA6MDQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2JhcmNvZGUucG5nOgoJICB0ZXN0czogYWRkIHZlcnkgc2ltcGxlIHpiYXIgdW5pdCB0ZXN0CgkgIE5vdCB2YWxncmluZCBjbGVhbiB5ZXQgKGNvdWxkIGJlIHpiYXIncyBmYXVsdCB0aG91Z2gpLgoKMjAxMC0xMS0wNCAxOToyNToyNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogbWFrZSB2aWRlbyBzb3VyY2UgZWxlbWVudCBkZXRhaWxzIGNvbnNpc3RlbnQKCSAgSW5zcGlyZWQgYnkgdGhlIHY0bDJzcmMgZWxlbWVudCBkZXRhaWxzLgoKMjAxMC0xMS0wNCAxOToxMTowNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogY29uc2lzdGVudGx5IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMTEtMDQgMTk6MDI6NTAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogdXBkYXRlIGUtbWFpbCBhZGRyZXNzCgoyMDEwLTExLTA0IDE4OjU5OjQ0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IHJlbmFtZSBpcGhvbmVjYW1lcmFzcmMgdG8gY2VsdmlkZW9zcmMKCSAgVGhpcyBpcyBpbiBvcmRlciB0byBpbXByb3ZlIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIHRocmVlIHNvdXJjZXMuCgoyMDEwLTExLTA0IDE3OjU4OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRvbid0IGV4cGxpY2l0bHkgZW1wdHkgdGhlIGJ1ZmZlciBxdWV1ZQoJICBXZSdyZSBob2xkaW5nIHRoZSBvbmx5IHJlZmVyZW5jZSB0byBpdCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gZXhwbGljaXRseQoJICBlbXB0eSBpdCByaWdodCBiZWZvcmUgbGV0dGluZyBnbyBvZiBvdXIgcmVmZXJlbmNlLgoKMjAxMC0xMS0wNCAxNzo1MDozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBtYWtlIGJ1ZmZlciBvZmZzZXQgc3RhcnQgZnJvbSB6ZXJvCgoyMDEwLTExLTA0IDE3OjQ3OjI1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBpbXBsZW1lbnQgemVyby1jb3B5IGJ5IHVzaW5nIGJ1ZmZlci1mYWN0b3J5CgkgIFRoaXMgbWVhbnMgd2UnbGwgd3JhcCBlYWNoIENvcmVWaWRlbyBidWZmZXIgaW5zaWRlIGEgR3N0QnVmZmVyIGluc3RlYWQgb2YKCSAgbWFraW5nIGEgY29weS4KCjIwMTAtMTEtMDQgMTc6NDQ6MTIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSAgYnVmZmVyZmFjdG9yeTogYWRkIHN1cHBvcnQgZm9yIHdyYXBwaW5nIENWQnVmZmVyCgoyMDEwLTExLTA0IDE3OjI0OjAzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBmaXggdXAgcmVmY291bnRpbmcKCSAgU2hvdWxkIGtlZXAgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIHRoZSBkZXZpY2UsIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIG1hbmFnZQoJICB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGVsZW1lbnRzIG9mIGFuIE5TTXV0YWJsZUFycmF5IGFzIGl0IHRha2VzIGNhcmUgb2YKCSAgdGhhdCBmb3IgdXMuCgoyMDEwLTExLTA0IDE3OjE2OjA1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBzaW1wbGlmeSB0aW1lc3RhbXBpbmcgYWxnb3JpdGhtCgkgIEFsaWduaW5nIHRpbWVzdGFtcHMgb24gZHVyYXRpb24gYm91bmRhcmllcywgc2tpcHBpbmcgZnJhbWVzIGFuZCBzbyBmb3J0aAoJICBhcmUgY2xlYXJseSB0aGluZ3MgdGhhdCBmYWxsIG91dHNpZGUgdGhlIHNjb3BlIG9mIGEgdmlkZW8gc291cmNlLgoKMjAxMC0xMS0wNCAxNDoxNDowOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBuZXcgaU9TIHZpZGVvIHNvdXJjZSBiYXNlZCBvbiBBVkZvdW5kYXRpb24KCSAgVGhpcyBlbGVtZW50IG1ha2VzIHVzZSBvZiB0aGUgZG9jdW1lbnRlZCBBVkZvdW5kYXRpb24gZnJhbWV3b3JrIG1hZGUKCSAgYXZhaWxhYmxlIHN0YXJ0aW5nIHdpdGggaU9TIDQuMCwgYW5kIGhlbmNlIHRoaXMgbWVhbnMgd2UgY2FuIGZpbmFsbHkKCSAgY2FwdHVyZSB2aWRlbyB1c2luZyBhIHB1YmxpYyBBUEkuCgoyMDEwLTExLTA0IDE0OjI0OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBzdHJlYW0tZm9ybWF0IGNhcHMgdXNlZCBmb3IgSC4yNjQKCSAgVGhlIHN0cmVhbS1mb3JtYXQncyAiYXZjLXNhbXBsZSIgbWVtYmVyIGlzIG5vdyBjYWxsZWQganVzdCAiYXZjIi4KCjIwMTAtMTEtMDQgMTQ6Mjk6MzcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZS1tYWlsIGFkZHJlc3NlcwoKMjAxMC0xMS0wNCAxNDoxODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEludmVyc2UgLWJhc2UgdmVyc2lvbiBjaGVjayBsb2dpYyB0byBhY3R1YWxseSBtYWtlIHNlbnNlCgoyMDEwLTExLTAzIDE4OjM0OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBMaW51eCBDb29rZWQgQ2FwdHVyZSAoU0xMKSBmcmFtZXMKCjIwMTAtMTEtMDMgMTg6MjM6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRmFpbCBvbiB1bmtub3duIHZlcnNpb24gb3IgbGlua3R5cGUKCSAgVGhlIGVsZW1lbnQgb25seSBrbm93cyBhYm91dCBtYWpvciB2ZXJzaW9uIDIgYW5kIG9ubHkgZGVjb2RlcyBsaW5rdHlwZSBldGhlcm5ldAoKMjAxMC0xMS0wMyAxODowMjo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBTZW5kIGVycm9yIEdzdE1lc3NhZ2UgaWYgc3RyZWFtIGRvZXNuJ3QgaGF2ZSB0aGUgZXhwZWN0ZWQgbWFnaWMKCjIwMTAtMTEtMDMgMTY6MTY6MjQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHNlbmQgVERUIHRhYmxlcyBtZXNzYWdlcyBpbiBhIHNlcmlhbGl6ZWQgZXZlbnQgZG93bnN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTE3CgoyMDEwLTExLTAzIDE1OjM3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIElZVTEKCjIwMTAtMTEtMDMgMTU6MTI6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogRmlyc3QgdmVyc2lvbiBvZiBZVVY5IGFuZCBZVlU5IGltcGxlbWVudGF0aW9uCgoyMDEwLTExLTAzIDA5OjIwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBVc2UgR1NUX0NIRUNLX1BMVUdJTlNfQkFTRV9WRVJTSU9OKCkgaW5zdGVhZCBvZiBvdGhlciBoYWNrcwoKMjAxMC0xMC0xOCAxNTozMjoxNCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uCgkgIFVzZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBnb3AgaGVhZGVyIGFuZCBwaWN0dXJlCgkgIGhlYWRlciB0byBjYWxjdWxhdGUgdGhlIHBpY3R1cmUgdGltZXN0YW1wLiAodGltZV9jb2RlCgkgIGFuZCB0ZW1wb3JhbF9yZWZlcmVuY2UpIGFuZCBhZGFwdCB0byB1cHN0cmVhbSB0aW1lc3RhbXBzIGlmCgkgIHByb3ZpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjIyCgoyMDEwLTExLTAyIDIzOjA4OjMwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogc3dpdGNoIHZ0YXBpIHRvIENGVHlwZVJlZiBzdHlsZSB0eXBlZGVmcwoKMjAxMC0xMS0wMiAyMjo1MzozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHN1cHBvcnQgcHVibGljIHZlcnNpb24gb2YgQ29yZU1lZGlhCgkgIEFsc28gcmVuYW1lIHRoZSByZWxldmFudCBBUEkgc28gd2UgbWlycm9yIHRoZSBwdWJsaWMgQVBJIG1vcmUgY2xvc2VseSwgYW5kCgkgIHN3aXRjaCB0byBDb3JlRm91bmRhdGlvbiBDRlR5cGVSZWYgc3R5bGUgdHlwZWRlZnMuIFdlIHN0aWxsIHN1cHBvcnQgdGhlIG9sZAoJICBwcml2YXRlIENvcmVNZWRpYSBpbiBvcmRlciB0byBub3QgYnJlYWsgT1MgWCBzdXBwb3J0LgoJICBUaGlzIG1lYW5zIHRoYXQgdnRlbmMgYW5kIHZ0ZGVjIGFyZSBub3cgY29tcGF0aWJsZSB3aXRoIGlPUyA0LngsIGFuZCBpbgoJICB0aGVvcnkgYWxzbyBmdXR1cmUgdmVyc2lvbnMgb2YgT1MgWCwgd2hlcmUgdGhpcyBBUEkgbWF5IHR1cm4gcHVibGljIGxpa2UKCSAgaXQgaGFzIG9uIGlPUy4KCjIwMTAtMTEtMDIgMTc6NDY6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBoYW5kbGUgbW9yZSBmb3JtYXRzIHRoYXQgc3RhcnQgd2l0aCBhbiA4LWJpdCBZIHBsYW5lCgkgIFdlIGNhbiBoYW5kbGUgbW9zdCBwbGFuYXIgWVVWIGxheW91dHMgdG9vLCBhcyBsb25nIGFzIHdlIGRvbid0CgkgIHRlbGwgemJhciBhYm91dCB0aGUgY2hyb21hIHBsYW5lcy4KCjIwMTAtMTEtMDIgMTc6MTg6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHVzZSBjb3JyZWN0IHN0cmlkZQoJICBGaXhlcyBkZXRlY3Rpb24gZm9yIGltYWdlcyB3aXRoIGEgd2lkdGggdGhhdCdzIG5vdCBhIG11bHRpcGxlIG9mIGZvdXIuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDgzMAoKMjAxMC0xMS0wMiAxNjo1NDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBidWlsZCB3aXRoIGN1cnJlbnQgZ2l0IG9mIGdzdC1wbHVnaW5zLWJhc2UKCSAgaWZkZWYgdGVzdHMgZG9uJ3Qgd29yayBzbyB3ZWxsIGlmIHdlIGRlZmluZSB0aGVtIGluIHRoZSBjb2RlCgkgIGFib3ZlIGluIGNhc2UgdGhleSBhcmVuJ3QgZGVmaW5lZC4KCjIwMTAtMTEtMDIgMTY6MzU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBtaW5vciBjbGVhbi11cAoJICBGaXggdHlwbyBhbmQgdXNlIERFRkFVTFRfRk9PIGRlZmluZSBmb3IgcHJvcGVydHkgZGVmYXVsdC4KCjIwMTAtMTEtMDIgMTY6MzI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBkaXNhYmxlIGNhY2hlIGJ5IGRlZmF1bHQKCSAgU2luY2UgaXQgYnJlYWtzIHN0aWxsIGltYWdlIGJhciBjb2RlIGRldGVjdGlvbi4KCjIwMTAtMTEtMDIgMTY6MDU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgOCBiaXQgcGFsZXR0ZWQgUkdCCgkgIFRoaXMgbmVlZHMgdGhlIDggYml0IHBhbGV0dGVkIHN1cHBvcnQgZnJvbSAtYmFzZQoJICB3aGljaCB3aWxsIGJlIGNvbW1pdHRlZCBhZnRlciByZWxlYXNlLiBXaXRob3V0IHRoaXMKCSAgdGhlIDggYml0IHBhcnRzIGFyZSBkaXNhYmxlZC4KCjIwMTAtMTEtMDIgMTA6MjQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogQWRkIG1pc3NpbmcgY2hhbmdlIHRvIHByZXZpb3VzIGNvbW1pdHMKCSAgRm9yZ290IHRvIGFkZCB0aGlzIGNoYW5nZSB0byB0aGUgbGF0ZXN0IGNvbW1pdHMuIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLgoKMjAxMC0xMS0wMiAwOTozOTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBGaXggbGVha3MgaW4gdGhlIHByZXZpZXcgaGFuZGxpbmcKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIGJ1cyBhZnRlciBhZGRpbmcgdGhlIHdhdGNoLgoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgZWxlbWVudCBhZnRlciBnZXR0aW5nIGl0IHdpdGgKCSAgZ3N0X2Jpbl9nZXRfYnlfbmFtZS4KCjIwMTAtMTEtMDIgMDk6Mzg6MjAgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGxlYWsgYSBjYXBzCgkgIGdzdF9jYXBzX3JlcGxhY2UgZG9lc24ndCB0YWtlIG93bmVyc2hpcCwgYnV0IHJlZnMgdGhlIGNhcHMuIFNvIHdlCgkgIHVucmVmIHRoZSByZW1haW5pbmcgY2Fwcy4KCjIwMTAtMDktMjQgMTY6Mjg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZXNldCBwcmUtbmlnaHQtbW9kZSBzdG9yZWQgZnBzIHdoZW4gbW9kZSBjaGFuZ2VzCgkgIFdoZW4gc3dpdGNoaW5nIGJldHdlZW4gdmlkZW8vc3RpbGwgbW9kZXMgdGhlIHByZS1uaWdodC1tb2RlIGZwcwoJICBzaG91bGQgYmUgcmVzZXQgdG8gcHJldmVudCBpdCBiZWluZyB1c2VkIGluIHRoZSBpbmNvcnJlY3QgbW9kZSwgY2F1c2luZwoJICB0aGUgdmlkZW9zb3VyY2UgdG8gZmFpbCBjb25maWd1cmluZyBpdHNlbGYKCjIwMTAtMDktMjEgMTY6MjM6NDcgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIG1hbnkgcG9zdC1wcm9jZXNzaW5nIGVsZW1lbnRzCgkgIEluc3RlYWQgb2YgdGFraW5nIGEgc2luZ2xlIGVsZW1lbnQgYXMgaW5wdXQgZm9yIHRoZSBpbWFnZSBwb3N0CgkgIHByb2Nlc3Npbmcgb3B0aW9uLCB0YWtlIGEgbGlzdCBvZiBjb21tYSBzZXBhcmF0ZWQgZWxlbWVudHMKCSAgdGhhdCB3aWxsIGJlIHVzZWQuCgoyMDEwLTA5LTIwIDExOjU0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogU3RvcmUgYXBwIHByZWZlcnJlZCBjYXB0dXJlIHBhcmFtZXRlcnMgc2VwYXJhdGVseQoJICBTdG9yZSB3aWR0aC9oZWlnaHQvZnBzIGZvciB2aWRlbyBjYXB0dXJlcyBpbiBhIHNlcGFyYXRlIHZhcmlhYmxlCgkgIHRoYW4gdGhlIG9uZSB0aGF0IHN0b3JlcyB0aGUgY3VycmVudGx5IHVzZWQgdmFsdWUuCgkgIFRoaXMgcHJldmVudHMgdGhlIHVzZXIgcHJlZmVyZW5jZXMgdG8gYmUgbG9zdCB3aGVuIHJlc2V0dGluZwoJICB0aGUgY3VycmVudGx5IHVzZWQgZGltZW5zaW9ucyBmb3IgbmlnaHQgbW9kZSwgZm9yIGV4YW1wbGUKCjIwMTAtMDktMjAgMDg6NDI6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbnVwIHVzZWQgY2FwcyB3aGVuIGdvaW5nIHRvIE5VTEwKCSAgUmVzZXRzIHVzZWQgY2FwcyBzbyB0aGF0IGNhbWVyYWJpbiBkb2Vzbid0IHRyeSB0byB1c2UgdGhlbQoJICB3aGVuIHJlc3RhcnRpbmcsIHdoZXJlIGVsZW1lbnRzL3Byb3BlcnRpZXMgbWlnaHQgaGF2ZSBjaGFuZ2VkCgkgIGFuZCB0aGUgb2xkIGNhcHMgYmUgaW5jb21wYXRpYmxlCgoyMDEwLTA5LTA5IDEwOjUwOjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggcHJpb3JpdHkgZm9yIGlkbGVfYWRkIGZ1bmN0aW9uCgkgIEFkZHMgYSBoaWdoZXIgcHJpb3JpdHkgdG8gdGhlIGlkbGVfYWRkIGZ1bmN0aW9uIGZvciB3aGVuCgkgIHRoZSBpbWFnZSBiaW4gZmluaXNoZWQgdGhlIGltYWdlIGNhcHR1cmUuIFRoaXMgcmVkdWNlcyB0aGUKCSAgZGVsYXkgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byBiZSBub3RpZmllZCBhYm91dCB0aGlzLgoKMjAxMC0xMS0wMSAyMzowNDo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogbG9nIHRpbWVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm0KCjIwMTAtMTEtMDEgMjI6NDA6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IG1vdmUgcmVvY2N1cmluZyBsb2dzIHRvIExPRyBhbmQgcmVtb3ZlIGEgZG91YmxlIGluZm8KCSAgTGVzcyBkZWJ1ZyBzcGV3IGluIERFQlVHIGNhdGVnb3J5LiBObyBuZWVkIHRvIGxvZyBwYWQgYWdhaW4gaWYgd2UgdXNlCgkgIEdTVF9MT0dfT0JKRUNUKHBhZCwuLi4pLgoKMjAxMC0xMS0wMSAxNTo1Mzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29nLCBjb2xvcnNwYWNlOiB1cGRhdGUgb3JjIGJhY2t1cCBmdW5jdGlvbnMgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIFNob3VsZCBmaXggYnVpbGQgb24gc3lzdGVtcyB3aXRob3V0IHRoZSBsYXRlc3Qgb3JjLgoKMjAxMC0xMS0wMSAxNTo1MzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgZm9yIG5ldyB0cmFuc2xhdGlvbnMKCjIwMTAtMTAtMzEgMjM6NDY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBSR0IxNSBhbmQgQkdSMTUKCjIwMTAtMTAtMzEgMjM6NDQ6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBSR0IxNiBhbmQgQkdSMTYKCjIwMTAtMTAtMzEgMjM6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFkxNgoKMjAxMC0xMC0zMSAyMzoyNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogRml4IFk4MDAgT1JDIGdldGxpbmUgaW1wbGVtZW50YXRpb24KCjIwMTAtMTAtMzEgMjM6MDc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgQTQyMAoKMjAxMC0xMC0zMSAyMzowMDowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBZNDFCCgoyMDEwLTEwLTMxIDIyOjM5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFNEVFYvSERUViBZVVYgY29udmVyc2lvbnMKCjIwMTAtMTAtMzEgMjI6MjE6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgY29tbWVudCBmb3IgdGhlIEE0MjAgZ2V0bGluZS9wdXRsaW5lIHRhYmxlIHJvdwoKMjAxMC0xMC0zMSAyMDo0MDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIGNvbnN0IHRvIHRoZSBzb3VyY2UgYXJyYXlzIGFuZCB0aGUgZ2V0bGluZS9wdXRsaW5lIHRhYmxlCgoyMDEwLTEwLTMxIDE5OjQyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogTWFrZSBmYXN0LXBhdGggdHJhbnNmb3JtIHRhYmxlIGNvbnN0CgoyMDEwLTEwLTMxIDE5OjM5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogT25seSBkbyB0aGUgSTQyMC0+WVVZMiBjb252ZXJzaW9uIG9uY2UgcGVyIHNjYW5saW5lIGluIHRoZSBmYXN0IHBhdGgKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTI4IDE4OjUxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGdhdWRpZWZmZWN0czogSW5jbHVkZSBnc3Rjb250cm9sbGVyIGhlYWRlciBhbmQgYWRkIHRoZSByZXF1aXJlZCBDRkxBR1MKCjIwMTAtMTAtMjcgMTQ6NTc6MzYgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IG1hZGUgZmlsdGVyIHBhcmFtZXRlcnMgZHluYW1pYyBhbmQgY29udHJvbGxhYmxlCgoyMDEwLTA3LTAxIDE1OjA3OjQxICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHdvcmsgYXJvdW5kIHNodXRkb3duIGRlYWRsb2NrCgkgIEdldE92ZXJsYXBwZWRSZXN1bHQoKSBtaWdodCBuZXZlciByZXR1cm4gd2l0aCBzb21lIGRyaXZlcnMuIFRpbWUgb3V0CgkgIGFmdGVyIDEwMDAgbXMuIFdlIGNhbm5vdCByZWFsbHkgZml4IHRoaXMgd2l0aG91dCBlaXRoZXI6CgkgIDEpIENvbnRyb2xsaW5nIHRoZSBzdHJlYW1pbmcgdGhyZWFkIHNvIHdlIGNhbiBkbyBDYW5jZWxJbygpIGZyb20gdGhhdAoJICB0aHJlYWQuCgkgIDIpIFN3aXRjaCB0byB1c2luZyBJTyBjb21wbGV0aW9uIHBvcnRzLgoKMjAxMC0wNi0xMSAxODowNDo1OCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiByZW1vdmUgSlBFRyB2YWxpZGF0aW9uIGhhY2sKCSAgVGhpcyBzaG91bGQgY2xlYXJseSBub3QgYmUgZG9uZSBpbiBhIHZpZGVvIHNvdXJjZS4KCjIwMTAtMDQtMjAgMTI6MDU6NDUgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHNldCBQcmlvcml0eVN1YkNsYXNzIHRvIEtTUFJJT1JJVFlfTk9STUFMIGluc3RlYWQgb2YgMQoJICBJbiBvcmRlciB0byBtYXRjaCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uLgoKMjAxMC0wNC0yMCAxMTo1OToyMyArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiByZXRyeSB3aGVuIEtzQ3JlYXRlUGluIGZhaWxzIHdpdGggRVJST1JfTk9UX1JFQURZCgkgIFR1cm5zIG91dCB0aGF0IHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZG9lcyB0aGlzLCBoZW5jZSB3ZSBuZWVkIHRvCgkgIG1pcnJvciB0aGlzIGJlaGF2aW91ci4gVGhpcyB0eXBpY2FsbHkgaGFwcGVucyB3aXRoIGhhcmR3YXJlIHRoYXQgdGFrZXMKCSAgc29tZSB0aW1lIHRvIGluaXRpYWxpemUuCgoyMDA5LTEwLTI2IDE2OjA5OjAwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpbXByb3ZlIGZyYW1lcmF0ZSBmcmFjdGlvbiBjb252ZXJzaW9ucwoJICAqIEZvciBpbnN0YW5jZSA3LjUgZnBzIHNob3VsZCBiZSByZXByZXNlbnRlZCBhcyAxNS8yIGluc3RlYWQgb2YgNy8xLgoJICAqIENsYW1wIEF2Z1RpbWVQZXJGcmFtZSBhbmQgZHdCaXRSYXRlIHRvIGFjY291bnQgZm9yIHJvdW5kaW5nIGVycm9ycy4KCjIwMDktMTAtMTIgMTc6MjY6MTUgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpbXByb3ZlIGVycm9yLWhhbmRsaW5nCgkgIE1vc3QgaW1wb3J0YW50IHBhcnQgaGVyZSBpcyBzcGVjaWFsLWNhc2luZyAiZGV2aWNlIGJ1c3kiIHNvIHRoZSBhcHBsaWNhdGlvbgoJICBpcyBhYmxlIHRvIHByb3ZpZGUgYmV0dGVyIGZlZWRiYWNrIHdoZW4gYW5vdGhlciBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUKCSAgZGV2aWNlLgoKMjAwOS0wOS0wNyAxNjo0NTo1NyArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKCSAgKiBNYWtlIHRoZSBkcml2ZXIgd3JpdGUgZGlyZWN0bHkgaW50byBlYWNoIEdzdEJ1ZmZlciB0byBhdm9pZCBtZW1jcHkoKS4KCSAgKiBEb24ndCBtZW1zZXQoKSB0aGUgYnVmZmVyIGJlZm9yZSByZXVzaW5nIGl0LgoJICAqIFJlY3ljbGUgbWVtb3J5IGJ5IGtlZXBpbmcgdHdvIHNwYXJlIGJ1ZmZlcnMuIFR3byBiZWNhdXNlIHRoZSBzaW5rCgkgIGRvd25zdHJlYW0gbWF5IGtlZXAgYSByZWYgdG8gdGhlIHByZXZpb3VzIGJ1ZmZlci4KCSAgTm90ZSB0aGF0IHdlIGFsaWduIGJ1ZmZlcnMgb24gaGlnaGVzdCBwb3NzaWJsZSBieXRlIGJvdW5kYXJ5ICg0MDk2KSBzbyB3ZQoJICBkb24ndCBoYXZlIHRvIHRha2UgaW50byBhY2NvdW50IHdoYXQga2luZCBvZiBhbGlnbm1lbnQgdGhlIGRyaXZlciByZXF1aXJlcy4KCjIwMDktMDktMDcgMTY6MDk6MzQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICB3aW5rczogc3RvcmUgcHJpdiBwb2ludGVyIGluc3RlYWQgb2YgbG9va2luZyBpdCB1cAoKMjAwOS0wOC0zMSAxOTozMzozMCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBwb3N0IGVycm9yIG1lc3NhZ2Ugb24gZmxvdy11bmV4cGVjdGVkCgoyMDA5LTA4LTMxIDE5OjI4OjUwICswMjAwICBBbmRyZXMgQ29sdWJyaSA8YW5kcmVzLmNvbHVicmlAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgd2lua3M6IGFkZCBwcm9wZXJ0eSBwcm9iaW5nIHN1cHBvcnQKCjIwMDktMDgtMzEgMTk6MjY6MzYgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIHdpbmtzOiBzb3J0IGRldmljZXMgdGhhdCBsb29rIGxpa2UgY2FtZXJhcyBmaXJzdAoKMjAwOS0wOC0zMSAxOToyNTowMiArMDIwMCAgS251dCBJbmdlIEh2aWRzdGVuIDxrbnV0LmluZ2UuaHZpZHN0ZW5AdGFuZGJlcmcuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBwcm92aWRlIGd1ZXNzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMKCjIwMDktMDgtMzEgMTk6MjM6NDAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJICB3aW5rczogb25seSB0cnkgdG8gY2hhbmdlIHN0YXRlIHdoZW4gYWN0dWFsbHkgb3BlbgoKMjAwOS0wOC0zMSAxOToyMjo0MCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGlnbm9yZSB1bnN1cHBvcnRlZCBmb3JtYXRzCgoyMDEwLTEwLTI4IDE2OjE0OjM0ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGFkanVzdCBhIGNvdXBsZSBvZiBsb2dnaW5nIHNldmVyaXRpZXMKCSAgU2hvdWxkIGNsZWFybHkgbm90IGJlIGNvbnNpZGVyZWQgd2FybmluZ3MsIGFzIHRoZXkncmUgcXVpdGUgY29tbW9uLgoKMjAxMC0xMC0yNyAxODozMDoxMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiBOZXcgcGx1Z2luIGZvciBBcHBsZSBtdWx0aW1lZGlhIEFQSXMKCSAgUHJvdmlkZXMgdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCSAgcXRraXR2aWRlb3NyYzogT1MgWCB2aWRlbyBzb3VyY2UgcmVseWluZyBvbiB0aGUgUVRLaXQgQVBJLiBDb21lcyB3aXRoCgkgIGhhcmQtY29kZWQgY2FwcyBhcyB0aGUgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW55IHdheSBvZiBxdWVyeWluZyBmb3IKCSAgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlLiBIYXNuJ3QgYmVlbiB0ZXN0ZWQgYSBsb3QsIGJ1dCBzZWVtcwoJICB0byB3b3JrLgoJICBtaW92aWRlb3NyYzogT1MgWCB2aWRlbyBzb3VyY2Ugd2hpY2ggdXNlcyB0aGUgdW5kb2N1bWVudGVkL3ByaXZhdGUKCSAgQ29yZU1lZGlhSU9TZXJ2aWNlcyBBUEksIHdoaWNoIGlzIGFsc28gdGhlIG9uZSB1c2VkIGJ5IGlDaGF0LgoJICBQcmVzZW50IG9uIGxhdGVzdCB2ZXJzaW9uIG9mIExlb3BhcmQgYW5kIGFsbCB2ZXJzaW9ucyBvZiBTbm93IExlb3BhcmQuCgkgIEhhcyBiZWVuIHRlc3RlZCBleHRlbnNpdmVseSB3aXRoIGJ1aWx0LWluIGNhbWVyYXMgYW5kIFRBTkRCRVJHJ3MKCSAgUHJlY2lzaW9uSEQgVVNCIGNhbWVyYS4KCSAgdnRlbmMsIHZ0ZGVjOiBHZW5lcmljIGNvZGVjIHdyYXBwZXJzIHdoaWNoIG1ha2UgdXNlIG9mIHRoZSB1bmRvY3VtZW50ZWQvCgkgIHByaXZhdGUgVmlkZW9Ub29sYm94IEFQSSBvbiBPUyBYIGFuZCBpT1MuIExpc3Qgb2YgY29kZWNzIGFyZSBjdXJyZW50bHkKCSAgaGFyZC1jb2RlZCB0byBILjI2NCBmb3IgdnRlbmMsIGFuZCBILjI2NCArIEpQRUcgZm9yIHZ0ZGVjLiBDYW4gZWFzaWx5IGJlCgkgIGV4cGFuZGVkIGJ5IGFkZGluZyBuZXcgZW50cmllcyB0byB0aGUgbGlzdHMsIGJ1dCBoYXZlbid0IHlldCBoYWQgdGltZSB0bwoJICBkbyB0aGF0LiBTaG91bGQgcHJvYmFibHkgYWxzbyBpbXBsZW1lbnQgcHJvYmluZyBhcyBhdmFpbGFibGUgY29kZWNzIGRlcGVuZAoJICBvbiB0aGUgT1MgYW5kIGl0cyB2ZXJzaW9uLCBhbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFueSB3YXkgdG8KCSAgZW51bWVyYXRlIHRoZSBhdmFpbGFibGUgY29kZWNzLgoJICB2dGgyNjRkZWNiaW4sIHZ0aDI2NGVuY2JpbjogV3JhcHBlciBiaW5zIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHVzZQoJICB2dGRlY19oMjY0L3Z0ZW5jX2gyNjQgaW4gbGl2ZSBzY2VuYXJpb3MuCgkgIGlwaG9uZWNhbWVyYXNyYzogaVBob25lIGNhbWVyYSBzb3VyY2UgcmVseWluZyBvbiB0aGUgdW5kb2N1bWVudGVkL3ByaXZhdGUKCSAgQ2VsZXN0aWFsIEFQSS4gVGVzdGVkIG9uIGlPUyAzLjEgcnVubmluZyBvbiBhbiBpUGhvbmUgM0dTLiBTdG9wcyB3b3JraW5nCgkgIGFmdGVyIGEgZmV3IG1pbnV0ZXMsIHByZXN1bWFibHkgYmVjYXVzZSBvZiBhIHJlc291cmNlIGxlYWsuIE5lZWRzIHNvbWUKCSAgbG92ZS4KCSAgTm90ZSB0aGF0IHRoZSBpT1MgcGFydHMgaGF2ZW4ndCB5ZXQgYmVlbiBwb3J0ZWQgdG8gaU9TIDQueC4KCjIwMTAtMTAtMjggMTE6NDM6MzQgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogQWRkIHRhZyBldmVudCBlbWlzc2lvbi4gRml4ZXMgIzYyNzI1MwoKMjAxMC0xMC0yNyAxMzoxNzoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmJkNzA4IHRvIDAxMWJjYzgKCjIwMTAtMTAtMjEgMTY6MDY6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBDaGVjayB0aGUgc291cmNlIHNjZW5lIG1vZGUgd2hlbiBjcmVhdGluZyBpdAoJICBBcyBjYW1lcmFiaW4gb25seSBnZXRzIG5vdGlmaWVkIG9mIHRoZSBjaGFuZ2VzIGZyb20gdGhlCgkgIHZpZGVvIHNvdXJjZSBlbGVtZW50LCBpdCBzaG91bGQgcXVlcnkgdGhlIGluaXRpYWwgdmFsdWUKCSAgb25jZSB0aGUgc291cmNlIGlzIGNyZWF0ZWQgc28gaXQgaW5pdGlhbGl6ZXMgaXRzZWxmCgkgIGNvcnJlY3RseS4KCjIwMTAtMTAtMjAgMDA6MDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggZGlzdGNoZWNrIGEgYml0IG1vcmUKCSAgRGlzdCBlbGVtZW50cy9wYXJzZXIuaCBoZWFkZXIgZmlsZSwgd2hpY2ggZml4ZXMgdGhlICdtYWtlIGNoZWNrJyBidWlsZC4KCjIwMTAtMTAtMTkgMjM6NDA6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdGVzdHM6IGZpeCB2YWx2ZSB1bml0IHRlc3QKCSAgZ3N0X2J1ZmZlcl9wYWRfYWxsb2MoKSBuZWVkcyBzaW1wbGUgY2FwcyBvciBOVUxMIGNhcHMsCgkgIEFOWSBjYXBzIGFyZSBub3QgYWxsb3dlZC4KCjIwMTAtMTAtMTkgMjM6MjU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogaW5pdCB2YXJpYWJsZSB0byBtYWtlIG9zeCBidWlsZCBib3QgaGFwcHkKCSAgZ3N0ZGNhcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9kY2FfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUnOgoJICBnc3RkY2FwYXJzZS5jOjI0Njogd2FybmluZzogJ2Jlc3Rfc3luYycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEwLTEwLTE5IDAwOjE1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCB2ZXJ5IGJhc2ljIGR0cy9kY2EgcGFyc2VyCgkgIFN0aWxsIHNvbWUgaXNzdWVzLCBlLmcuIHdpdGggc2Vla2FibGUgcXVlcmllcyBpbiB0b3RlbSwgYnV0IGFsc28KCSAgcHJvY2Vzc2luZyBhbHJlYWR5LWNodW5rZWQgaW5wdXQgKGNyZWF0ZWQgd2l0aCBtYXRyb3NrYWRlbXV4ICEgZ2RwcGF5KS4KCjIwMTAtMTAtMTkgMTY6MjM6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTY6MjQ6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBmaXggY29weSduJ3Bhc3RlIG9mZiBieSBvbmUgZm9yIHBhcmFtIHNwZWMgZmxhZ3MgY2hhbmdlCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTU6MzA6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHZhcmlvdXM6IHdyYXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGFuZCBhZGQgYSBzaW5nbGUgZml4bWUgZm9yIGxvbmcgZGVzYy4KCjIwMTAtMTAtMTkgMTU6MDY6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogcmVtb3ZlIHN0cmF5ICIgaW4gZG9jIGNvbW1lbnQKCjIwMTAtMTAtMTkgMTM6NDQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcmVtb3ZlIERFQlVHX0ZVTkNQVFIgZnJvbSBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTEwLTA4IDE5OjMzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3RzIGZvciB0aGUgbmV3IHRhZ3MKCSAgQWRkcyB0ZXN0cyBmb3IgdGhlIG5ldyBleGlmIHRhZ3MgaW4gLWJhc2UKCjIwMTAtMTAtMDkgMTc6MzY6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGNvbW1vbiBmaWVsZHMvZnVuY3Rpb25zIHRvIGJhc2Vjb2RlYwoKMjAxMC0wOS0yOCAxODoyMTo1NyArMDMwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogTWFrZSBzY2FubmVyIGNhY2hlIG9wdGlvbmFsCgoyMDEwLTEwLTE0IDIzOjA0OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWN0dWFseSB1c2UgdGhlIGVudW0gaW4gdGhlIHZtZXRob2RzCgkgIElmIHdlIGludHJvZHVjZSBhIG5ldyBHc3RQaG90b2dyYXBoeU5vaXNlUmVkdWN0aW9uLCBsZXRzIGFsc28gdXNlIGl0CgkgIGluIHRoZSB2bWV0aG9kcwoKMjAxMC0xMC0xNCAyMzowMzoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHJldGFiIGludGVyZmFjZSBzdHJ1Y3QgZmllbGRzCgoyMDEwLTEwLTE0IDEyOjMyOjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWE2NjhiZiB0byA3YmJkNzA4CgoyMDEwLTEwLTE0IDE0OjA3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdW51c2VkIGVudHJ5CgkgIFJlbW92ZSBjYW1lcmFiaW4gdW51c2VkIGVudW0gZW50cnkKCjIwMTAtMTAtMTQgMTM6NDE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEF2b2lkIGJyZWFraW5nIEFCSQoJICBNb3ZlIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbnMvZmllbGRzIHRvIHRoZSBlbmQgb2YgdGhlIHN0cnVjdHMKCjIwMTAtMTAtMTQgMTE6NDU6NTUgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFjY2VsZXJhdGUgc2VhcmNoIGZvciBzdGFydCBjb2RlCgkgIEFzIHRoZSBzdGFydGNvZGUgYWx3YXlzIHN0YXJ0cyB3aXRoIDB4MDAwMDAxIHNvbWUgaXRlcmF0aW9ucwoJICBjYW4gYmUgc2tpcHBlZCBpZiB2YWx1ZXMgPiAxIGFyZSBkZXRlY3RlZC4KCSAgfiA3MCUgZmFzdGVyIG9uIEhEIHZpZGVvIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjEzMAoKMjAxMC0xMC0xNCAxNjo0ODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcm9wZXJseSBwYXJzZSBlLWFjMyBmcmFtZSBoZWFkZXIKCSAgQWxzbyBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTAtMTQgMTE6MjQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZsb3cgb3BlbmluZyBhbmQgY2xvc2luZyBkZWNvZGVyCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgcmVjb25maWd1cmVzIHF1aXRlIGZvcmNlZnVsbHkgd2hlbiByZW5lZ290aWF0aW9uIGlzIG5lZWRlZC4KCSAgRml4ZXMgIzYzMTUwMS4KCjIwMTAtMTAtMTMgMTc6NDc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBhZGp1c3RpbmcgZnJhbWVyYXRlCgkgIEZpeGVzICM2MzIwNzAuCgoyMDEwLTEwLTEyIDIxOjQ2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiB1cGRhdGUgdGVzdHMgdG8gdGhlIG5ldyBkYXRldGltZSBhcGkKCSAgVXBkYXRlIGppZm11eCB0ZXN0cyB0byB1c2UgbmV3IGdzdGRhdGV0aW1lIEFQSSBpbiBjb3JlCgoyMDEwLTEwLTEyIDA5OjM3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyByb3RhdGUgZWxlbWVudAoJICBBZGRzIGEgbmV3IHJvdGF0ZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybS4gSXQgc3RpbGwKCSAgbmVlZHMgc29tZSB3b3JrLiBCdXQgdGhpcyBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gQmVydCBEb3VnbGFzIDxiZXJ0ZCB0cGxvZ2ljIGNvbT4KCjIwMTAtMTAtMTMgMTE6MDA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0d2VhayBzZXR0aW5nIGJ1ZmZlciBtZXRhZGF0YTsgYXZvaWQgdGltZXN0YW1wIGppdHRlcgoJICBGaXhlcyAjNjMxOTkzLgoKMjAxMC0xMC0xMiAxODoxNzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogY2F0ZXIgZm9yIHJlbmVnb3RpYXRpb24KCSAgQXQgbGVhc3QsIHdoZW5ldmVyIGVpdGhlciBzdHJlYW0gKGUuZy4gQURUUykgb3IgdXBzdHJlYW0gcHJvdmlkZXMgbmVjZXNzYXJ5CgkgIGluZm8gZm9yIGRvaW5nIHNvLgoJICBGaXhlcyAjNjMxNTAxLgoKMjAxMC0xMC0xMiAxODowNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgc3JjIGNhcHMgc2V0dGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIHNldCBzcmMgY2FwcyB3aGVuZXZlciBjaGFuZ2VzIGluIHN0cmVhbSB3YXJyYW50IGRvaW5nIHNvLgoKMjAxMC0xMC0xMiAxNjoxMzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogcG9ydCBHc3RYT3ZlcmxheSBiaXRzIHRvIG5ldyBBUEkKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgQVBJLgoKMjAxMC0xMC0xMiAxNjozNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IGFkanVzdCB1bml0IHRlc3QgdG8gZmFhYyBtb2RpZmllZCBvdXRwdXQKCjIwMTAtMTAtMTAgMTI6MzI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogcmVtb3ZlIHZhcmlhYmxlcyBmcm9tIE1ha2VmaWxlLmFtIHRoYXQgYXJlbid0IHNldAoJICBSZW1vdmUgc29tZSBzdHVmZiB0aGF0IHdhcyBjb3B5J24ncGFzdGVkIGZyb20gY29yZSBidXQKCSAgZG9lc24ndCBhcHBseSBoZXJlLiBUaGUgZm9sbG93aW5nIHZhcnMgYXJlbid0IHNldDoKCSAgQ0hFQ0tfQ0ZMQUdTLCBDSEVDS19MSUJTLCBHU1RfT0JKX0NGTEFHUywgR1NUX09CSl9MSUJTLAoJICBzbyB3ZSBtYXkganVzdCBhcyB3ZWxsIHJlbW92ZSB0aGVtLgoKMjAxMC0xMC0xMiAxMjoxMTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogRml4IGNvbXBpbGF0aW9uIHdpdGggR1RLKyAzLjAKCjIwMTAtMTAtMTIgMTA6Mjg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQWRqdXN0IHVuaXQgdGVzdHMgdG8gbmV3IGZsYWNwYXJzZSBiZWhhdmlvdXIKCSAgR2FyYmFnZSBhZnRlciBmcmFtZXMgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBmcmFtZXMgYmVjYXVzZSBmbGFjcGFyc2UKCSAgaGFzIG5vIGVhc3kgd2F5IHRvIGRldGVjdCB0aGUgcmVhbCBlbmQgb2YgYSBmcmFtZS4gRGVjb2RlcnMgYXJlCgkgIGV4cGVjdGVkIHRvIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZyYW1lIGJlY2F1c2Ugb25seSBkZWNvZGluZyB0aGUKCSAgYml0c3RyZWFtIHdpbGwgcmV2ZWFsIHRoZSByZWFsIGVuZCBvZiB0aGUgZnJhbWUuCgkgIEZpeGVzIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMiAxMDoyNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IERvbid0IGRyb3AgdGhlIGxhc3QgZnJhbWUgaWYgaXQgaXMgZm9sbG93ZWQgYnkgZ2FyYmFnZQoJICBTZWUgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTExIDE3OjQ5OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGVyZm9ybSBiaXRyYXRlIGhhbmRsaW5nIGFuZCBwb3N0aW5nIGFmdGVyIG5ld3NlZ21lbnQgc2VuZGluZwoKMjAxMC0xMC0xMSAxNzozNjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltbWVkaWF0ZWx5IHBvc3Qgc3ViY2xhc3MgcHJvdmlkZWQgYml0cmF0ZQoKMjAxMC0xMC0xMSAxNzowNjo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwYXJzaW5nIHdpdGggdW5rbm93biBmcmFtZXNpemVzCgkgIEZpeGVzICM2MzE4MTQgKG1vc3RseSkuCgoyMDEwLTEwLTExIDE3OjA1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBoYW5kbGUgdHJhaWxpbmcgZW5jb2RlciBvdXRwdXQKCjIwMTAtMTAtMTEgMTQ6MjU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSAgc3dpdGNoc3JjOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnCgoyMDEwLTA5LTEzIDE5OjA3OjU1ICswMTAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBGaXggZXhhbXBsZSB1c2FnZSwgYmFuZHdpZHRoPTggbm90IDhNSHoKCSAgVGhlIGJhbmR3aWR0aCBwcm9wZXJ0eSBpcyBlbnVtIHRoYXQgdGFrZXMgdGhlIHZhbHVlcyA4LCA3LCA2LCBBVVRPIG5vdAoJICA4TUh6LgoKMjAxMC0xMC0wOCAxNzowMToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJICBzaG06IEFkZCBDKysgcHJvdGVjdGlvbgoJICBBZGQgYysrIHByb3RlY3Rpb24gaW4gdGhlIHJlbGV2YW50IHBsYWNlcwoKMjAxMC0xMC0wOCAxMjo0NDo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0YThhZGMgdG8gNWE2NjhiZgoKMjAxMC0xMC0wOCAxMjo1NToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlM2M5YmYgdG8gYzRhOGFkYwoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAxMTo1OTozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB3b3JrYXJvdW5kIGludGVybmFsIHJ0c3BzcmMgZmFpbGluZyBzdGF0ZSBjaGFuZ2UKCSAgRml4ZXMgIzYzMDA0Ni4KCjIwMTAtMTAtMDcgMTA6MzQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY2hhbm5lbC1wb3NpdGlvbnMKCjIwMTAtMTAtMDYgMTg6MzI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZWFsbHkgcG9zdCB0YWdzIG9ubHkgYWZ0ZXIgdGhlIGluaXRpYWwgbmV3c2VnbWVudCBldmVudAoJICBUaGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCB3aWxsIGJlIHNlbmQgYnkgdGhlIGZpcnN0IGNhbGwgdG8KCSAgZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIoKSBpZiBuZWNlc3NhcnksIHBvc3RpbmcgdGhlIHRhZ3MKCSAgYmVmb3JlIHRoYXQgaXMgbm90IGEgZ29vZCBpZGVhLiBJbnN0ZWFkIGRvIGl0IGZyb20gdGhlCgkgIEdzdEJhc2VQYXJzZTo6cHJlX3B1c2hfYnVmZmVyIHZmdW5jLgoKMjAxMC0xMC0wNiAxNjo1NDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSAgY2hyb21haG9sZDogRml4IGh1ZSBjYWxjdWxhdGlvbiBmb3IgcmVkIGNvbG9ycwoJICBBbHNvIG1ha2UgdGhlIGNhbGN1bGF0aW9uIG11Y2ggbW9yZSBhY2N1cmF0ZS4uLgoKMjAxMC0xMC0wNiAxNToyMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSAgY2hyb21haG9sZDogTWFrZSBldmVyeXRoaW5nIGdyZXlzY2FsZSBpZiB0aGUgdGFyZ2V0IGNvbG9yIGlzIGdyZXkKCjIwMTAtMTAtMDYgMTE6NTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjaHJvbWFob2xkOiBBZGQgY2hyb21haG9sZCBjb2xvciBlZmZlY3QKCSAgVGhpcyBlZmZlY3QgY29udmVydHMgYWxsIGNvbG9ycyBleGNlcHQgYSBzaW5nbGUgb25lIHRvCgkgIGdyZXkuIFRoZSBjb2xvciBpcyBzZWxlY3RlZCBieSBhbiBSR0IgdHJpcGxlIGFuZCBhCgkgIHRvbGVyYW5jZSBmb3IgdGhlIGNvbG9yIG1hdGNoaW5nIGluIGh1ZSBkZWdyZWUgY2FuIGJlIHNwZWNpZmllZC4KCjIwMTAtMTAtMDUgMTc6MDQ6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZml4IGFuZCByZWZsb3cgc29tZSBleGl0cwoKMjAxMC0xMC0wNSAxNjo1Njo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBlcnJvciBvdXQgaWYgbm8gc3RyZWFtcyBmb3VuZCBpbiBzZHAgbWVzc2FnZQoKMjAxMC0xMC0wNSAxNjo0Nzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB1bmJyZWFrIHN0YW5kYXJkIG1hbmFnZXIgc2V0dXAKCjIwMTAtMTAtMDUgMTE6NDQ6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEwLTEwLTA1IDExOjQyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nc3QtYWxzYS5tNDoKCSAgYWxzYXNwZGlmOiByZW1vdmUgYWxzYXNwZGlmc2luayBlbGVtZW50CgkgIFJlbW92ZSBhbHNhc3BkaWZzaW5rLCBpdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4gYWxzYXNpbmsgaW4gLWJhc2UKCSAgaGFzIGJlZW4gYWJsZSB0byBoYW5kbGUgU1BESUYgZm9yIGEgd2hpbGUgbm93LgoKMjAxMC0xMC0wNSAxMToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBSZXZlcnQgImJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjVhM2Q2MDM2M2Q4MzdhMTBmMDUzM2MxNDFlYzkzZDEwYjc0MjMxMi4KCSAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdywgc2luY2Ugbm8gb25lIHJlYWxseSBzZWVtcyB0byByZW1lbWJlciB3aHkgdGhpcwoJICBwcm9wZXJ0eSBleGlzdHMgb3Igd2hhdCBpdCBjb3VsZCBwb3NzaWJseSBiZSBnb29kIGZvci4gSXQgc2VlbXMgdG8gaGF2ZQoJICBiZWVuIGluIHRoZSBvcmlnaW5hbCBtcDNwYXJzZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRpbWUgYW5kIHdhcyBiYWNrLQoJICBwb3J0ZWQgZnJvbSB0aGVyZS4KCjIwMTAtMTAtMDQgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpZiB0aGV5IHdlcmUKCSAgaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTA5LTE0IDAyOjQ4OjU4ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBpY3R1cmUgcGFyc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQdXNoIHRhZ3MgYmVmb3JlIHRoZSBoZWFkZXIgYnVmZmVycyBhcmUgcHVzaGVkCgoyMDEwLTA4LTAyIDIwOjUwOjIxICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHJpdmlhbCBjYXBzIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBxdG11eCBwcm9wZXJ0aWVzCgoyMDEwLTEwLTAzIDIzOjE0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdmFsdmU6IEZpeCB0ZXN0cyBidWlsZAoJICBBZGRzIG1pc3NpbmcgY2ZsYWdzL2xpYnMgdG8gdmFsdmUgY2hlY2sgdGVzdCB0bwoJICBmaXggYnVpbGQKCjIwMTAtMTAtMDMgMjM6NTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXI6IExldCB0aGUgZm9ybWF0IHN0cmluZyBhZ3JlZSB3aXRoIHRoZSBwYXJhbWV0ZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTEwLTAzIDE1OjU1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IENoZWNrIHJldHVybiB2YWx1ZXMgb2YgdGhlIGJpdHJlYWRlciBmdW5jdGlvbnMKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yOCAxMzo1MjoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBubyBuZWVkIHRvIHJlZiB0aGUgb2JqZWN0IGluIF9jaGFpbgoJICBEb24ndCByZWYgdGhlIHBhZCBpbiBjaGFpbiwgbGlrZSBlbHNld2hlcmUKCjIwMTAtMDktMjIgMTU6NDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggZGVidWcgb3V0cHV0CgkgIFdlIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyIGdzdF9wYWRfcHVzaCgpLCBzbyB0aGUgZGVidWcKCSAgcHJpbnQgc2hvdWxkIGhhcHBlbiBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMTAtMDEgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGZsYWNwYXJzZSB1bml0IHRlc3QKCSAgLi4uIGFuZCB0d2VhayBwYXJzZXIgdGVzdCBoZWxwZXIgaW4gdGhlIHByb2Nlc3MuCgoyMDEwLTA5LTI5IDE2OjEyOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3VwcG9ydCByZXZlcnNlIHBsYXliYWNrCgkgIC4uLiBpbiBwdWxsIG1vZGUgb3IgdXBzdHJlYW0gZHJpdmVuLgoKMjAxMC0wOS0yNyAxMjoxNjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBkb25lIFRPRE9zIGFuZCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0yNSAxNDo0MDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZXRlcm1pbmVkIHNlZWthYmlsaXR5IGluIGFuc3dlcmluZyBTRUVLSU5HIHF1ZXJ5CgoyMDEwLTA5LTI1IDE0OjMyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkKCjIwMTAtMDktMjUgMTM6NTk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZV9kYXRhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlX2RhdGEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGV4aXN0aW5nIHVuaXQgdGVzdHMgdXNpbmcgY29tbW9uIGhlbHBlcgoKMjAxMC0wOS0yMiAxNTowNzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2ZyYW1lX3Byb3BzIHRvIGNvbmZpZ3VyZSBmcmFtZSBsZWFkX2luIGFuZCBsZWFkX291dAoJICAuLi4gcHJvdmlkZWQgYSBjb3JyZXNwb25kaW5nIGRlY29kZXIgd2l0aCBzdWZmaWNpZW50IGxlYWRpbmcgYW5kIGZvbGxvd2luZwoJICBmcmFtZXMgdG8gY2Fycnkgb3V0IGZ1bGwgZGVjb2RpbmcgZm9yIGEgcGFydGljdWxhciBzZWdtZW50LgoKMjAxMC0wOS0yMiAxNDoxMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2R1cmF0aW9uIHRvIGNvbmZpZ3VyZSBkdXJhdGlvbiB1cGRhdGUgaW50ZXJ2YWwKCSAgLi4uIGFzIGl0IGxvZ2ljYWxseSBiZWxvbmdzIHRoZXJlIGFzIG9uZSBvciB0aGUgb3RoZXI7IGVpdGhlciBzdWJjbGFzcwoJICBjYW4gcHJvdmlkZSBhIGR1cmF0aW9uLCBvciBhbiBlc3RpbWF0ZSBtdXN0IGJlIG1hZGUgKHJlZ3Vhcmx5IHVwZGF0ZWQpLgoKMjAxMC0wOS0yMiAxMzo1NToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGxvY2FsaXplIHVzZSBvZiBwcm92aWRlZCBmcHMgaW5mb3JtYXRpb24KCjIwMTAtMDktMjIgMTI6MTM6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzZWVrIHRhYmxlIGFuZCBhY2N1cmF0ZSBzZWVrIHN1cHBvcnQKCjIwMTAtMDktMjEgMTM6NTc6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgYW5kIG1vcmUgZXh0ZW5kZWQgc2VnbWVudCBhbmQgc2VlayBoYW5kbGluZwoJICBUaGF0IGlzLCBsb29wIHBhdXNlIGhhbmRsaW5nLCBzZWdtZW50IHNlZWsgc3VwcG9ydCwgbmV3c2VnbWVudCBmb3IgZ2FwcywgZXRjCgoyMDEwLTA5LTIxIDEwOjU3OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGluZGV4IHN1cHBvcnQKCjIwMTAtMDktMjEgMDk6NTk6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBzdGF0ZSByZXNldAoKMjAxMC0wOS0yMCAxNjozOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5kZWZpbml0ZSByZXN5bmNpbmcKCjIwMTAtMDktMjAgMTM6NTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzcGVjaWZpYyBFT1MgaGFuZGxpbmcgaWYgbm8gb3V0cHV0IHNvIGZhcgoKMjAxMC0wOS0yMCAxMzozMTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBfc2V0X2ZyYW1lX3Byb3AgZG9jdW1lbnRhdGlvbiBhbmQgc2V0IGRlZmF1bHQgYXMgY2xhaW1lZAoKMjAxMC0wOS0yMCAxMzozMDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBiaXRyYXRlIGNvcHktYW5kLXBhc3RlIGFuZCB1cGRhdGUgaGV1cmlzdGljCgoyMDEwLTA5LTE3IDE4OjMzOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcG9zdCBkdXJhdGlvbiBtZXNzYWdlIGlmIGF2ZXJhZ2UgYml0cmF0ZXMgaXMgdXBkYXRlZAoKMjAxMC0wOS0xNyAxODoyNDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGlzX3NlZWthYmxlIHZtZXRob2QgYW5kIHVzZSBhIHNldF9zZWVrIGluc3RlYWQKCSAgU2Vla2FiaWxpdHksIGxpa2UgZHVyYXRpb24sIGV0YyBpcyB1bmxpa2VseSB0byBjaGFuZ2UgKGZyZXF1ZW50bHkpLCBhbmQKCSAgdGhlIGRlZmF1bHQgYXNzdW1wdGlvbiBjb3ZlcnMgbW9zdCBjYXNlcywgc28gbGV0IHN1YmNsYXNzIHNldCB3aGVuIG5lZWRlZC4KCSAgQXQgdGhlIHNhbWUgdGltZSwgYWxsb3cgc3ViY2xhc3MgdG8gaW5kaWNhdGUgaWYgaXQgaGFzIHNlZWstbWV0YWRhdGEgKHRhYmxlKQoJICBhdmFpbGFibGUsIGFuZCBwb3NzaWJseSBoYXZlIGl0IHByb3ZpZGUgYW4gYXZlcmFnZSBiaXRyYXRlLgoKMjAxMC0wOS0xNyAxNzozNTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGRlZmF1bHQgaXNfc2Vla2FibGUKCjIwMTAtMDktMTcgMTc6MjE6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgYW5vdGhlciBob29rIGZvciBzdWJjbGFzcyBwcmlvciB0byBwdXNoaW5nIGJ1ZmZlcgoJICAuLi4gYW5kIGFsbG93IHN1YmNsYXNzIHRvIHBlcmZvcm0gY3VzdG9tIHNlZ21lbnQgY2xpcHBpbmcsIG9yIHRvCgkgIGVtaXQgdGFncyBvciBtZXNzYWdlcyBhdCB0aGlzIHRpbWUuCgoyMDEwLTA5LTE3IDE3OjE5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogMCBjb252ZXJ0cyB0byAwIGJ5IGRlZmF1bHQKCjIwMTAtMDktMTYgMTg6NTY6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhc2U6IHJlZmFjdG9yIGNvbnZlcnNpb24gdXNpbmcgaGVscGVyIGZ1bmN0aW9uIGFuZCBleHBvcnQgZGVmYXVsdCBjb252ZXJ0CgoyMDEwLTA5LTE2IDE4OjM1OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3RyZWFtbGluZSBxdWVyeSBoYW5kbGluZwoKMjAxMC0wOS0xNiAxMTo1MToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGNsZWFudXAgc3RydWN0IGFuZCByZW1vdmUgdW51c2VkIG1lbWJlcgoKMjAxMC0wOC0xNiAxMTowNDozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGluY3JlYXNlIHJhbmtzIHRvIGVuYWJsZSBhdXRvLXBsdWdnaW5nCgkgIEJlY2F1c2Ugd2UgY2FuLCBhbmQgc2hvdWxkLCBoYXZlIHNvbWUgc2hha2Vkb3duIHRlc3RpbmcgYmVmb3JlIGhhdmluZwoJICB0aGVzZSBtYWtlIGl0IGludG8gLWdvb2QgbGF0ZXIgb24gLi4uCgoyMDEwLTA5LTIyIDE2OjA3OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogQWxsb3cgY2hhaW5pbmcgb2Ygc3ViY2xhc3MgZXZlbnQgaGFuZGxlcnMKCSAgVGhpcyBhbGxvd3MgdGhlIGNoaWxkIGNsYXNzIHRvIGNoYWluIGl0cyBldmVudCBoYW5kbGVyIHdpdGgKCSAgR3N0QmFzZVBhcnNlLCBzbyB0aGF0IHN1YmNsYXNzZXMgZG9uJ3QgaGF2ZSB0byBkdXBsaWNhdGUgYWxsIHRoZSBkZWZhdWx0CgkgIGV2ZW50IGhhbmRsaW5nIGxvZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTA5LTMwIDE3OjQ4OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB0ZXN0czogRml4IGNhcHMgbGVhayBpbiB0aGUgdmFsdmUgdGVzdAoKMjAxMC0wOS0zMCAxNzoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHZhbHZlOiBBZGQgdW5pdCB0ZXN0cwoJICBBZGQgYSB1bml0IHRlc3QgZm9yIHRoZSB2YWx2ZSBlbGVtZW50LgoKMjAxMC0wOS0zMCAxNjoyNjoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICB2YWx2ZTogTWFrZSB0aGUgZHJvcCB2YXJpYWJsZSBpbnRvIGFuIGF0b21pYy4KCSAgVXNpbmcgYW4gYXRvbWljIGFsbG93cyB1cyB0byBhdm9pZCBsb2NraW5nIHRoZSB3aG9sZSBvYmplY3QgYWxsIHRpbWUgdGltZS4KCSAgQXMgc3VnZ2VzdGVkIGJ5IFN0ZWZhbiBLb3N0LgoKMjAxMC0wOS0zMCAxNjoyMjowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBDb3JyZWN0bHkgc2V0IHRoZSBESVNDT05UIGZsYWcgYWZ0ZXIgZHJvcHBpbmcgYnVmZmVycwoKMjAxMC0wOS0zMCAxNjoxNjo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBSZW1vdmUgc3VwZXJmbG91cyBjaGVja2luZyBjYXN0cwoKMjAxMC0wOS0zMCAxNjoxMzoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBGaXggc3R5bGUsIGltcHJvdmUgY29tbWVudHMKCSAgTWlub3IgaW1wcm92ZW1lbnRzIHRvIHRoZSBjb21tZW50cyBhbmQgYnJlYWsgYSBmZXcgb3Zlcmx5IGxvbmcgbGluZXMKCjIwMTAtMDktMzAgMTY6MDc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICBBZGQgYW4gZXhhbXBsZSBwaXBlbGluZSwgYW5kIHRyeSB0byBleHBsYWluIGEgYml0IG1vcmUgd2hhdCBpdCBkb2VzLgoKMjAxMC0wOS0yOSAxNzozNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCB3cm9uZ2x5IGZhaWwgd2hlbiBzdGFydGluZyBhIGNhcHR1cmUKCSAgSWYgdGhlIGVsZW1lbnRzIGFyZSBpbiBOVUxML1JFQURZIGFuZCBjaGFuZ2luZyBzdGF0ZSB0bwoJICBQQVVTRUQvUExBWUlORyB3aGlsZSBhIGNhcHR1cmUgaXMgc3RhcnRlZAoJICBjYW1lcmFiaW4gbWlnaHQgbm90IHNldCB0aGUgYWN0aXZlX2JpbiBwcm9wZXJseSBjYXVzaW5nIHRoZQoJICBjYXB0dXJlIHN0YXJ0IHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgY2hlY2tpbmcgdGhlIGN1cnJlbnQgYW5kIHBlbmRpbmcgc3RhdGUKCSAgb2YgdGhlIGJyYW5jaGVzIGluc3RlYWQgb2Ygb25seSB0aGUgY3VycmVudCBvbmUKCjIwMTAtMDktMjkgMTA6MTM6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZXZlcnNlIHBsYXliYWNrOyBjYXRlciBmb3IgZGVjb2RlciBkZWxheQoJICAuLi4gdGhlcmVieSBhY3R1YWxseSB1c2luZyB0aGUgZ2F0aGVyIGFuZCBkZWNvZGUgcXVldWVzLgoKMjAxMC0wOS0yOSAxMDowODoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHR3ZWFrIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgkgIEluIHBhcnRpY3VsYXIsIGF2b2lkIHBhY2tldGlzZWQgaW5wdXQgbGVhZGluZyB0byBpbml0aWFsIHRvIG5vbi0wIG91dHB1dCB0cy4KCjIwMTAtMDktMjggMTY6MjA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBVc2Ugc3RhdGljIGNhcHMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHN0cmluZ3MgdG8gY2FwcyBhbGwgdGhlIHRpbWUKCjIwMTAtMDktMjggMTY6MTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBGaXggY3Jhc2hlcyBpZiBwbHVnaW5zIGRvbid0IHByb3ZpZGUgY29ycmVjdCBwcm9wZXJ0eSBpbmZvcm1hdGlvbgoJICBUaGUgdmVydGlnbyBwbHVnaW4gZm9yIGV4YW1wbGUgY2xhaW1zIHRvIGhhdmUgMyBwcm9wZXJ0aWVzIGJ1dAoJICB0aGUgM3JkIHByb3BlcnR5IGRvZXMgbm90aGluZyBhbmQgaGFzIGEgTlVMTCBuYW1lLgoJICBGaXhlcyBidWcgIzYzMDc4My4KCSAgVGhhbmtzIHRvIE1hcnR0aSBLw7xobmUgZm9yIGRlYnVnZ2luZyB0aGlzLgoKMjAxMC0wOS0yOCAxNDoyNjoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIGRlZmF1bHQ6IHBhcnN0IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50IHRvIHRoZSBlbmQKCSAgTm93IHN1cmUgaWYgaXQgbWF0dGVycywgYnV0IHRoZSBwcmV2aW91cyBmb3JtIGxvb2tzIHdlaXJlZC4KCjIwMTAtMDktMjggMTQ6MjM6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSBkZWJ1Zy1jYXRlZ29yeSByZWdpc3RyYXRpb24gdG8gdHlwZSBpbml0CgoyMDEwLTA5LTI4IDE0OjIyOjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IG1vdmUgZGVidWctY2F0ZWdvcnkgcmVnaXN0cmF0aW9uIHRvIHR5cGUgaW5pdAoKMjAxMC0wOS0yOCAxNDoxNzo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxNDoxNjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiB1c2UgYmFzZV9pbml0IGZvciBwYWRfdGVtcGxhdGVzIGFuZCBlbGVtZW50X2RldGFpbHMKCjIwMTAtMDktMjggMTQ6MTU6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb24gcHJvcGVydGllcwoKMjAxMC0wOS0yOCAxNDoxNToxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvbiBwcm9wZXJ0aWVzCgoyMDEwLTA5LTI4IDE0OjA3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDE0OjA4OjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSAgdmlkZW9tZWFzc3VyZTogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTE6MzU6NTMgKzAzMDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIHBob3RvZ3JhcGh5OiBleHRlbmQgcGhvdG9ncmFwaHkgaWZhY2UKCSAgQWRkIG1vcmUgY29sb3IgdG9uZSBtb2RlcyBhbmQgYWRkIE5vc2VSZWR1Y3Rpb24gc2V0dGluZ3MuCgkgIEZpeGVzICM2MTY4MTQuCgoyMDEwLTA5LTI2IDIwOjQxOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogaW1wcm92ZSBlcnJvciBtZXNzYWdlcyBvbiByZWFkIGVycm9zCgkgIFByb3ZpZGUgaTE4bi1lZCBlcnJvciBtZXNzYWdlcyB3aGVuIGEgcmVhZCBlcnJvciBoYXBwZW5zLAoJICBhbmQgcG9pbnQgb3V0IHRoYXQgdGhlIGVycm9yIGNvdWxkIGJlIGhhcHBlbmluZyBiZWNhdXNlIHRoZQoJICBEVkQgaXMgc2NyYW1ibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNjMzCgoyMDEwLTA5LTI0IDAwOjA1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzZXQgcGx1Z2luIHJlbGVhc2UgZGF0ZXRpbWUKCjIwMTAtMDktMjUgMTI6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBDYWxsIGdfb2JqZWN0X25vdGlmeSgpIGFmdGVyIHRoZSBmaW5nZXJwcmludCB3YXMgY3JlYXRlZAoKMjAxMC0wOS0yNSAxMDo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBGaXggc2Nhbm5pbmcgb2YgcGx1Z2luIHN1YmRpcmVjdG9yaWVzIGFuZCBzdXBwb3J0IGRpZmZlcmVudCB2ZW5kb3JzCgkgIFRoZSBmcmVpMHIgc3BlYyBzcGVjaWZpZXMsIHRoYXQgcGx1Z2lucyBjYW4gYmUgaW4gc3ViZGlyZWN0b3JpZXMgaW5zaWRlCgkgIHRoZSBtYWluIHBsdWdpbiBkaXJlY3RvcmllcyB0byBpbnRyb2R1Y2UgbmV3IG5hbWVzcGFjZXMgY2FsbGVkIHZlbmRvcnMuCgoyMDEwLTA5LTI0IDIyOjQ3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkgIGZyZWkwcjogVXBkYXRlIGZyZWkwciBpbnRlcmZhY2Ugc3BlY2lmaWNhdGlvbiB0byAxLjIKCjIwMTAtMDktMjQgMjI6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBBZGQgc3VwcG9ydCBmb3IgdGhlIEZSRUkwUl9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIFRoaXMgd2FzIGFkZGVkIGluIHZlcnNpb24gMS4yIG9mIHRoZSBzcGVjIGFuZCByZXBsYWNlcyB0aGUgZGVmYXVsdAoJICBsaXN0IG9mIGRpcmVjdG9yaWVzLgoKMjAxMC0wOS0yMyAxNDoxNTowOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGluaXRpYWxpemUgaW50ZXJ2YWxfdHMgYW5kIGxhc3RfZnJhbWVzXyogY291bnRlcnMKCSAgSW5pdGlhbGl6ZSBpbnRlcnZhbF90cyB0byBmaXJzdCBRT1MgZXZlbnQgdGltZXN0YW1wLCBvdGhlcndpc2UgdGhlCgkgIGZwcyBzdGF0aXN0aWNzIGFyZSBwcmludGVkIGFsd2F5cyBhZnRlciBvbmUgcmVuZGVyZWQgZnJhbWUuCgkgIEFsc28sIGluaXRpYWxpemUgbGFzdF9mcmFtZXNfKiBjb3VudGVycywgdGhlIHZhbHVlcyBhcmUgYm9ndXMgZS5nLiBhZnRlcgoJICBQTEFZSU5HLU5VTEwtUExBWUlORyBzdGF0ZSBjaGFuZ2UuCgoyMDEwLTA5LTI0IDEzOjI5OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wOS0yNCAxMzoyNToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgc2lnbmFsIGJvaWxlcnBsYXRlCgoyMDEwLTA5LTI0IDEzOjI0OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG5vIG5lZWQgdG8gcmVmIHBhZCBpbiBfY2hhaW4oKQoKMjAxMC0wOS0yMiAyMzo0MTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGU6IG1ha2UgZ3N0LWNhbWVyYSB1c2UgZmxhZ3MKCSAgRW5hYmxlIGFsbCBjb252ZXJ0aW9uIGZsYWdzIGluIGdzdC1jYW1lcmEgZXhhbXBsZSBhcHAKCSAgZm9yIHNhZmV0eS4KCSAgRml4ZXMgIzYwMzA2MwoKMjAxMC0wOS0yMiAyMzozOTowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW46IEFkZHMgbmV3IHZpZGVvLWNvbG9yc3BhY2UtZmxhZyB0byBmbGFncwoJICBBZGRzIGEgbmV3IGZsYWcgdG8gYWxsb3cgYSBjb2xvcnNwYWNlIGNvbnZlcnRpb24gYmVmb3JlCgkgIHRoZSB2aWRlbyBlbmNvZGVyIGVsZW1lbnQuCgkgIEZpeGVzICM2MDMwNjMKCjIwMTAtMDktMjIgMjI6Mzk6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIGxpbmtfZnVsbCB2ZXJzaW9uIGZvciBkaXNhYmxpbmcgaGllcmFyY2h5IGNoZWNrCgkgIERpc2FibGUgaGllcmFyY2h5IGNoZWNrcyB3aGVuIGxpbmtpbmcgYmVjYXVzZSB3ZSBhcmUgYWxyZWFkeQoJICBoYW5kbGluZyB0aGUgZWxlbWVudCBhZGRpbmcgdG8gYmlucyBhbmQgaXQgc2hvdWxkIGJlIGRvbmUKCSAgY29ycmVjdGx5LgoKMjAxMC0wOS0yMiAyMTowMzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IHF1ZXVlcyB0byBzaWxlbnQKCSAgV2UgY3VycmVudGx5IGRvbid0IHVzZSBxdWV1ZXMnIHNpZ25hbHMsIHNvIHNldCB0aGVtCgkgIHRvIHNpbGVudC4KCjIwMTAtMDktMjIgMTE6NTc6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogRml4IGNsYXNzIGRlZmluaXRpb24KCSAgQ2xhc3Mgc3RydWN0dXJlcyBzaG91bGQgaW5jbHVkZSBwYXJlbnQgY2xhc3MsIG5vdCB0aGUgcGFyZW50CgkgIGluc3RhbmNlIHN0cnVjdHVyZS4KCjIwMTAtMDktMjIgMTY6NDE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IGZpeCB3ZWlyZCBjYXBzIGNvZGUKCSAgUmVtb3ZlIHRoZSB3ZWlyZCAoZmFpbGluZykgY29kZSB0byBmaWd1cmUgb3V0IGNhcHMgb24gdGhlIHNyY3BhZC4KCSAgQWRkIGEgY2FwcyBwcm9wZXJ0eSB0byBkZWNpZGUgd2hhdCBjYXBzIHRvIHB1dCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4IGFuIGV2ZW50IGxlYWsuCgoyMDEwLTA5LTIxIDE4OjEzOjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogcXVpZXQgYSBHU1RfRVJST1IKCjIwMTAtMDktMjEgMTk6MDc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IGFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIHJlZGlyZWN0CgkgIEFkZCBhIHByb3BlcnR5IHRvIGF2b2lkIHJlZGlyZWN0aW9uIHRvIHRoZSBydHNwLXNkcDovLyB1cmwgYnV0IGluc3RlYWQgZW1iZWRzIGFuCgkgIHJ0c3BzcmMgZWxlbWVudCBpbnNpZGUgc2RwZGVtdXggYXMgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyY28gQmFsbGVzaW8uCgkgIEZpeGVzICM2MzAwNDYKCjIwMTAtMDktMjEgMTg6NDU6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3Npbms6IEZpeCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIHRvdWNoeSBjb21waWxlcnMKCjIwMTAtMDktMjEgMTg6MzQ6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MGUwMjUgdG8gNWUzYzliZgoKMjAxMC0wOS0yMSAxNjozMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbDogUG9ydCB0byBuZXcgWE92ZXJsYXkgQVBJCgkgIEZpeGVzICM2MzAyNTMKCjIwMTAtMDktMjEgMTY6MjY6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogVXNlIHRoZSBuZXcgWE92ZXJsYXkgQVBJCgkgIEZpeGVzICM2MzAyNTQKCjIwMTAtMDktMjEgMTA6NTk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgR3N0WE92ZXJsYXkgZnVuY3Rpb25zCgkgIFJlcGxhY2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X3hfb3ZlcmxheV9zZXRfeHdpbmRvd19pZCB3aXRoCgkgIGdzdF94X292ZXJsYXlfc2V0X3dpbmRvd19oYW5kbGUKCSAgRml4ZXMgIzYzMDI1NQoKMjAxMC0wOS0yMSAxMjozMzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBhZ2FpbiBmb3IgR0lUIHZlcnNpb25zCgoyMDEwLTA5LTIxIDEyOjI5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IGVycm9yIG91dCBvbiBVTkVYUEVDVEVECgoyMDEwLTA5LTIxIDEyOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDktMjEgMTI6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxOToxNzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIHBpdGNoLXRlc3Q6IERvbid0IHVzZSBkZXByZWNhdGVkIEdzdENvbnRyb2xsZXIgQVBJCgoyMDEwLTA4LTI3IDE5OjAwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIFVORVhQRUNURUQKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxOTowMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjU4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGZhdGFsIGVycm9ycwoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpLgoKMjAxMC0wOC0yNyAxODo1NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgc2ZzaW5rOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1Mjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YXBhcnNlOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gVU5FWFBFQ1RFRAoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTg6NTE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1MDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFdST05HX1NUQVRFIG9yIFVORVhQRUNURUQuCgoyMDEwLTA4LTI3IDE4OjQ5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICBuc2Y6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjQ4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjQ3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJICBtdmVkZW11eDogQWRkIHByb3BlciBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoJICBOT1RfTElOS0VEIHNob3VsZCBvbmx5IGJlIHJldHVybmVkIGlmIGFsbCBzdHJlYW1zIHJldHVybmVkIE5PVF9MSU5LRUQuCgoyMDEwLTA4LTI3IDE4OjQxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVnZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBmaXggc29tZSBtaW5vciBpc3N1ZXMgcmVsYXRlZCB0byBpdHMgdXNhZ2UuCgoyMDEwLTA4LTI3IDE4OjM2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MzU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgVU5FWFBFQ1RFRCBhbmQgZG8gaXQKCSAgZm9yIE5PVF9MSU5LRUQuCgoyMDEwLTA4LTI3IDE4OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcHVzaCBFT1MgZG93bnN0cmVhbSBvbiBXUk9OR19TVEFURSwgaXQgd2lsbCBiZSBkcm9wcGVkIGFueXdheS4KCjIwMTAtMDgtMjcgMTg6MzI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxODozMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOS0yMCAyMTo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1lbnRpb24gcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGluIGRvY3MKCSAgQWRkIGEgbm90ZSB0byBkb2NzIGFib3V0IGdldHRpbmcgdGhlIHZpZGVvc291cmNlIGFuZCBhY2Nlc3NpbmcKCSAgaXRzIHBob3RvZ3JhcGh5IGludGVyZmFjZSAoaW4gY2FzZSBpdCBoYXMgaXQpCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDgtMjUgMTQ6MDQ6NTkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyBtaXNzaW5nIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uCgkgIEFkZHMgbWlzc2luZyBhcHBfc3JjX3ZpZCBpbml0aWFsaXphdGlvbgoKMjAxMC0wOC0yNiAxNTozMzo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2hlY2sgc3RhdGUgY2hhbmdlIHRvIHBsYXlpbmcgZm9yIGltYWdlYmluIGFuZCB2aWRlb2JpbgoJICBQcm9wZXJseSBjaGVjayBhbmQgaGFuZGxlIGVycm9yIGNhc2VzIHJlbGF0ZWQgdG8gaW1hZ2ViaW4gYW5kCgkgIHZpZGVvYmluIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTA2LTI4IDIxOjQ4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdXNlbGVzcyBzcmMgdGVtcGxhdGUgcGFkCgkgIGNhbWVyYWJpbiBpbWFnZWJpbiBkb2Vzbid0IG5lZWQgYSBzcmMgdGVtcGxhdGUgcGFkLgoKMjAxMC0wNi0yMSAwOTozNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRm9yd2FyZCB0YWcgZXZlbnRzIHRvIHByZXZpZXcgcGlwZWxpbmUKCSAgRm9yd2FyZCB0YWcgZXZlbnRzIGZyb20gaW1hZ2UgcGlwZWxpbmUgdG8gcHJldmlldyBwaXBlbGluZSBzbwoJICB0aGF0IHByZXZpZXcgZWxlbWVudHMgY2FuIHVzZSBjYXB0dXJlIHRhZ3MgaW5mb3JtYXRpb24KCjIwMTAtMDYtMjEgMTY6MTc6MjQgKzAzMDAgIEhvc2VvayBDaGFuZyA8aG9zZW9rLmNoYW5nQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCAicHJldmlldy1zb3VyY2UtZmlsdGVyIiBwcm9wZXJ0eQoJICBBZGRzICdwcmV2aWV3LXNvdXJjZS1maWx0ZXInIGZvciBhZGRpbmcgYW4gZWxlbWVudCB0byBwcm9jY2VzcwoJICB0aGUgcHJldmlldyBpbWFnZXMgYmVmb3JlIHBvc3RpbmcgdGhlbSB0byB0aGUgYnVzLgoKMjAxMC0wNS0yNSAxNTozOTo0MyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB0YWcgbmFtZXMgaW4gdGVzdCBhcHBsaWNhdGlvbiB0byBsYXRlc3QgZ3N0IGRlZmluaXRpb25zCgoyMDEwLTA1LTE3IDEzOjQ0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogTWFrZSBibG9jay1hZnRlci1jYXB0dXJlIHJlc2V0dGluZyBtb3JlIGNvbnNpc3RlbnQKCSAgQWRkcyBhbm90aGVyIGJvb2xlYW4gdG8gaGVscCBjb250cm9sbGluZyB2aWV3ZmluZGVyIGJsb2NraW5nLAoJICBtYWtpbmcgaXQgcG9zc2libGUgZm9yIHRoZSBhcHBsaWNhdGlvbnMgdG8gcmVzZXQgdGhlIHZpZXdmaW5kZXIKCSAgYmxvY2tpbmcgYWZ0ZXIgY2FwdHVyZSB3YXMgc3RhcnRlZCBidXQgYmVmb3JlIHRoZSBibG9ja2luZwoJICBhY3R1YWxseSBoYXBwZW5zLgoKMjAxMC0wNS0xMiAyMToxMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVuYmxvY2sgdGhlIHZpZXdmaW5kZXIgd2hlbiBnb2luZyB0byBSRUFEWQoJICBVbmJsb2NrIHRoZSB2aWV3ZmluZGVyIHdoZW4gZ29pbmcgdG8gcmVhZHkgdG8gYXZvaWQKCSAgYmxvY2tpbmcgd2hlbiBzZXR0aW5nIGNhbWVyYWJpbiB0byBwbGF5aW5nIGFnYWluIGFuZAoJICBhdHRlbXBpbmcgdG8gY2FwdHVyZS4gS2VlcCB0aGUgcHJvcGVydHkgYXMgaXMuCgoyMDEwLTA5LTIwIDE3OjE5OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG1vbml0b3JpbmcgYW5kIHN1cHBvcnQgZm9yIHBob3RvaWZhY2Ugem9vbSBmb3IgdmlkZW8tc291cmNlCgkgIE1ha2VzIGNhbWVyYWJpbiBhd2FyZSBvZiBjaGFuZ2VzIGluIGl0cyB2aWRlb3NvdXJjZSB6b29tIHByb3BlcnR5LgoKMjAxMC0wOS0yMCAxNjoyMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IENoYW5nZSB6b29tIHByb3BlcnR5IGZyb20gaW50IHRvIGZsb2F0CgkgIFVwZGF0ZXMgem9vbSBwcm9wZXJ0eSBmb3IgYSBtb3JlIG5hdHVyYWwgdHlwZSBhbmQKCSAgbWFrZXMgaXQgY29uc2lzdGVudCB3aXRoIHRoZSBwaG90b2dyYXBoeSBBUEkKCjIwMTAtMDktMTkgMTg6NTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCB6b29tIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQvZ2V0IHRoZSB6b29tIGFzIGEgZmxvYXQKCjIwMTAtMDYtMDggMTA6MDQ6NTIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGNhY2hpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHNldHRpbmdzCgkgIENhbWVyYWJpbiBkb2Vzbid0IGltcGxlbWVudCBwaG90b2dyYXBoeSBpbnRlcmZhY2UsIHNvIHdlCgkgIGRvbid0IG5lZWQgY2FjaGluZyB0aGUgdmlkZW8gc291cmNlIHByb3BlcnRpZXMgYW55bW9yZS4KCjIwMTAtMDQtMjIgMTc6NDY6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogdXNlIHBob3RvaWZhY2UgcHJvcGVydGllcyB0aHJvdWdoIHZpZGVvLXNvdXJjZQoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA0LTIyIDE0OjAzOjM0ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlbW92ZSBwaG90b2lmYWNlIHByb3BlcnR5L3NldHRpbmdzIHRlc3RzCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDgtMzEgMTg6MDY6MTUgLTAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIGZyb20gY2FtZXJhYmluCgkgIFJlbW92ZSBub3RpZnkgc2lnbmFsIHByb3h5IGZvciB2aWRlby1zb3VyY2UuIEFwcGxpY2F0aW9uIGNhbiB1c2UKCSAgdmlkZW8tc291cmNlIGRpcmVjdGx5IGZyb20gbm93IG9uIHRvIGdldCBub3RpZmllZCBvZiBwcm9wZXJ0eSBjaGFuZ2VzLgoJICBBZGQgbW9uaXRvcmluZyBzY2VuZS1tb2RlIHByb3BlcnR5IGNoYW5nZSB0byBzZWxlY3QgbG93ZXN0IHBvc3NpYmxlCgkgIGZyYW1lcmF0ZSBmb3IgdmlkZW8gY2FwdHVyZSB3aGVuIG5pZ2h0IG1vZGUgaXMgc2VsZWN0ZWQuCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDQtMjkgMTI6NDQ6MjkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCAtLW5vLXh3aW5kb3cgb3B0aW9uIGFuZCBmaXggb3B0aW9uIGhhbmRsaW5nCgkgIEFkZCAtLW5vLXh3aW5kb3cgb3B0aW9uIHRvIG5vdCB0byBjcmVhdGUgeHdpbmRvdy4gQWxzbyBmaXggem9vbSBhbmQKCSAgbXV0ZSBvcHRpb24gdHlwZXMgYW5kIGZpbGVuYW1lIHN0cmluZyBoYW5kbGluZy4KCjIwMTAtMDQtMjkgMTM6MjQ6MTggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgaW1hZ2UtcHJldmlldy1zdXBwb3J0ZWQtY2FwcyBpbnRlcmZhY2UgcHJvcGVydHkKCSAgQWRkcyBhIHJlYWRhYmxlIHByb3BlcnR5IHRvIGdzdHBob3RvZ3JhcGh5IGludGVyZmFjZSB0byBxdWVyeQoJICB3aGF0IGFyZSB0aGUgYWxsb3dlZCBwcmV2aWV3IGNhcHMgc3VwcG9ydGVkLgoJICBQYXRjaCBieSBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoyMDEwLTA5LTIwIDEyOjM0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEwLTA5LTIwIDExOjI2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIGNoZWNrIGZvciBvbGQgLWJhc2UKCjIwMTAtMDktMTkgMTk6MzM6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogQWRkIGhhbmRsaW5nIG9mIEdzdEZvcmNlS2V5VW5pdCBldmVudHMKCjIwMTAtMDktMTggMTk6MjU6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBGaXggbmFtZSBvZiAzMHAvNjBpIHBhdHRlcm4KCjIwMTAtMDktMTggMTk6MjE6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgY2FwdHVyZSBwYXR0ZXJuIGhhbmRsaW5nCgkgIE1vdmUgdHlwaWNhbCBzY2FuX2Zvcl9zeW5jKCkgdXNhZ2UgaW50byBiYXNlIGNsYXNzLCB3aGljaCBqdXN0CgkgIGNhbGxzIGdzdF9hZGFwdGVyX21hc2tlZF9zY2FuX3VpbnQzMigpLgoKMjAxMC0wOS0xOCAxOToxNDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCBibG93IGF3YXkgZmllbGQgaW5mb3JtYXRpb24KCSAgQWxzbywgc2V0IGZpZWxkIGZsYWdzIGNvcnJlY3RseS4KCjIwMTAtMDktMTggMTc6Mjg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGRlYWRsaW5lIHRvIGZyYW1lIHN0cnVjdHVyZQoKMjAxMC0wOS0xOCAxNDo1NzozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBhbGxvdy1yZmYgcHJvcGVydHkuICBGaXggdGltZXN0YW1waW5nCgoyMDEwLTA5LTE4IDEzOjMyOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogbWVyZ2UgdGVsZWNpbmUgaW50byBub3JtYWwgb3BlcmF0aW9uCgoyMDEwLTA5LTA4IDE1OjA4OjUwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCB0ZWxlY2luZSBzdXBwb3J0CgoyMDEwLTA5LTE3IDA4OjQzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nOiBBbGxvdyBjb21waWxhdGlvbiB3aXRob3V0IG9yYwoJICBBbHNvIGRvbid0IGlnbm9yZSAtLWRpc2FibGUtb3JjLiBGaXhlcyBidWcgIzYyOTg5Ny4KCjIwMTAtMDktMTQgMTY6MTc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyBhIG5ldyB0ZXN0IHRvIGNoZWNrIHNlcXVlbnRpYWwgY2FwdHVyZSBvZiBpbWFnZXMKCSAgQWRkcyBhIG5ldyB0ZXN0IGNhc2UgdGhhdCBzaG9vdHMgYSBzZXF1ZW5jZSBvZiBpbWFnZSBjYXB0dXJlCgkgIGFuZCBjaGVjayB0aGF0IHRoZSBmaWxlcyBhcmUgdmFsaWQuCgkgIEFsc28gYWRkcyB0YWdsaXN0IGNoZWNraW5nIGNhcGFiaWxpdGllcyB0byB0ZXN0cy4KCjIwMTAtMDktMTUgMTc6NTQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEZvbGxvdyB4bXAgc2VyaWFsaXphdGlvbiBndWlkZWxpbmVzIGNsb3NlcgoJICBxdCBhbmQgaXNvbSB2YXJpYW50cyBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIHNlcmlhbGl6aW5nCgkgIHhtcCwgZm9sbG93IHRoZXNlIGd1aWRlbGluZXMuCgkgIFRob3NlIGNhbiBiZSBmb3VuZCBpbiBBZG9iZSdzIHhtcCBkb2NzLgoKMjAxMC0wOS0xNSAyMTo0NzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvbG9yc3BhY2U6IGFkZCBvcmMtZGlzdCBmaWxlcwoJICBTaG91bGQgZml4IGJ1aWxkIHdpdGhvdXQgb3JjIG9yIHRvbyBvbGQgb3JjLgoKMjAxMC0wOS0xNSAxNzo1MToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBmaXggdXAgY29weXJpZ2h0IGluIGhlYWRlciBmaWxlCgoyMDEwLTA5LTEyIDE0OjU5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbGlicy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1saWJzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy5wYy5pbjoKCSAgcGtnY29uZmlnOiByZW1vdmUgc29tZSBvbGQgdW51c2VkIGZpbGVzIGZyb20gMC44IGRheXMKCjIwMTAtMDktMTUgMTg6Mzg6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogYWRkIHJlbW92ZWQgZmlsZXMgdG8gY3J1ZnQgdmFycwoKMjAxMC0wOS0xNSAxODoxMzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBzdGRpbyBpbmNsdWRlCgoyMDEwLTA5LTE1IDE4OjEwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvLmdpdGlnbm9yZToKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IHJlbW92ZSBtZXRhZGF0YSBwbHVnaW4KCSAgVGhpcyBwbHVnaW5zIGZ1bmN0aW9uYWxpdHkgaXMgcmVwbGFjZWQgYnkgdXRpbGl0eSBsaWJyYXJpZXMgaW4gYmFzZSBmb3IgZXhpZgoJICBhbmQgeG1wLiBKcGVnIGltYWdlcyBjYW4gdXNlIHRoaXMgdmlhIGpwZWdmb3JtYXQgcGx1Z2luLgoJICBGaXhlcyAjNDg2NjU5CgoyMDEwLTA5LTE0IDExOjI4OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBBZGQgZm9ybWF0PWJnZ3IvZXRjLiB0byBjYXBzCgoyMDEwLTA5LTEzIDE4OjQ5OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgY29udmVyc2lvbiBjb2RlCgkgIFdvcmsgaW4gcHJvZ3Jlc3MuICBDb2xvcnNwYWNlIGhhbmRsZXMgbW9zdCBmb3JtYXQgY29udmVyc2lvbiB1c2luZwoJICAzLXN0YWdlIGdldGxpbmUvbWF0cml4L3B1dGxpbmUgcHJvY2VzcyB1c2luZyBhbiBBWVVWIG9yIEFSR0IKCSAgaW50ZXJtZWRpYXRlLCB3aXRoIG1vc3QgZnVuY3Rpb25zIGhhbmRsZWQgYnkgT3JjLiAgVGhlcmUgaXMgYWxzbwoJICBhIHRhYmxlIG9mIHNpbmdsZS1wYXNzIGNvbnZlcnNpb25zLCBhbGwgaGFuZGxlZCBieSBPcmMuICBUaGUgcGxhbgoJICBpcyB0byBhZGQgb3B0aW9uYWwgc3RhZ2VzIGZvciB2YXJpb3VzIGNocm9tYSB1cHNhbXBsaW5nL2Rvd25zYW1wbGluZwoJICBhbGdvcml0aG1zLCBkaXRoZXJpbmcsIGFuZCBmbG9hdC9pbnQxNiBpbnRlcm1lZGlhdGVzLCBhbmQgdGhlbiBoYXZlCgkgIE9yYyBjcmVhdGUgbXVsdGktc3RhZ2UgZnVuY3Rpb25zIGF0IHJ1bnRpbWUuCgoyMDEwLTA5LTEzIDEyOjQ4OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5jOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmg6CgkgIGNvbG9yc3BhY2U6IFJldml2ZSBlbGVtZW50CgkgIE5vdyBiYXNlZCBvbiBPcmMuCgoyMDEwLTA5LTA5IDE0OjQ5OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkZWQgdHJhbnNsYXRhYmxlIHRleHQgZm9yIHNlcnZlciBub3QgZm91bmQgZXJyb3IKCjIwMTAtMDgtMDkgMTQ6MzI6NTcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogQ2hhbmdlIGJpdHJhdGUgdG8gYml0cy9zZWMKCjIwMTAtMDktMTAgMTM6MzY6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUmVzZXQgdGFncyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFJlc2V0IHRoZSB0YWdzZXR0ZXIgdGFncyB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlCgoyMDEwLTA5LTEwIDEzOjMzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCSAgVXNlIHNhbmVyIGNhdGVnb3JpZXMgZm9yIGppZm11eC9qcGVncGFyc2UgZWxlbWVudHMKCjIwMTAtMDktMTAgMTE6MzE6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgdGFncyB0byBtb3JlIGVsZW1lbnRzCgkgIFJlbW92ZSBjaGVjayBmb3IgJ011eGVyJyBjYXRlZ29yeSB3aGVuIHNldHRpbmcgdGFncwoJICBmb3IgdGFnc2V0dGVycy4gU2V0IHRoZW0gdG8gYWxsIHRhZ3NldHRlcnMgaW4gdGhlCgkgIHBpcGVsaW5lcy4KCjIwMTAtMDktMTAgMTg6MzU6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcmVkaXJlY3QgU0RQIHdpdGggYW4gcnRzcCBjb250cm9sIFVSTAoJICBXaGVuIHdlIGZpbmQgYW4gU0RQIHdpdGggYW4gcnRzcDovLyB1cmwgYXMgdGhlIGdsb2JhbCBjb250cm9sIGF0dHJpYnV0ZSBvciB3aGVuCgkgIGFsbCBzdHJlYW1zIGhhdmUgYW4gcnRzcDovLyBjb250cm9sIGF0dHJpYnV0ZSwgcG9zdCBhbiByZWRpcmVjdCBtZXNzYWdlIHdpdGggYW4KCSAgcnRzcC1zZHA6Ly8gdXJsIGNvbnRhaW5pbmcgdGhlIFNEUC4KCSAgRml4ZXMgIzYyODIxNAoKMjAxMC0wOS0xMCAxMDoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBGaXggYnVpbGQgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCSAgQWRkIHNvbWUgaWZkZWZzIHRvIHByZXZlbnQgYnVpbGQgZmFpbHVyZXMgZHVlIHRvIHVudXNlZAoJICB2YXJpYWJsZXMKCjIwMTAtMDktMDkgMjM6NTk6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogYWxsb3cgcnVubmluZyBzdGF0ZSB0ZXN0cyBmb3IgYWxsIGVsZW1lbnRzCgkgIE5vdyBvbmUgY2FuIHVzZSBHU1RfTk9fU1RBVEVfSUdOT1JFX0VMRU1FTlRTPTEgbWFrZSBnZW5lcmljL3N0YXRlcy5jaGVjawoJICB0byB0cnkgZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWx5IGJlIHNraXBwZWQuCgoyMDEwLTA5LTA5IDE3OjE4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBkZXBlbmRlbmN5IG9uIGxpYnN3c2NhbGUKCSAgSXQncyBub3QgdXNlZCBpbiB0aGUgZ3N0IG9wZW5jdiBwbHVnaW4uCgoyMDEwLTA5LTA5IDE1OjAzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBkZWZpbmUgQ1ZfTk9fQkFDS1dBUkRfQ09NUEFUSUJJTElUWSB0byBzdXBwcmVzcyB3YXJuaW5ncyBjYXVzZWQgYnkgY29tcGF0IGhlYWRlcgoJICBDb21waWxlIHdpdGggLURDVl9OT19CQUNLV0FSRF9DT01QQVRJQklMSVRZIGZvciBub3csIHNvIHRoYXQgdGhlIGNvbXBhdCBoZWFkZXIKCSAgZG9lc24ndCBnZXQgaW5jbHVkZWQsIHdoaWNoIGNhdXNlcyBjb21waWxlciB3YXJuaW5ncyB0aGF0IChpdCBzZWVtcykgY2FuJ3QgYmUKCSAgc3dpdGNoZWQgb2ZmIGVhc2lseS4gQXMgYSByZXN1bHQsIHdlIGFsc28gc3BlY2lmeSBhIG1heC4gdmVyc2lvbiBpbiBjb25maWd1cmUsCgkgIHNvIHRoZSBidWlsZCBkb2Vzbid0IGJyZWFrIGlmIG91ciBjb2RlIGRvZXNuJ3QgY29tcGlsZSBhZ2FpbnN0IG5ld2VyIG9wZW5jdgoJICB2ZXJzaW9ucyBhbnkgbW9yZSB3aXRoIHRoYXQgZmxhZy4KCjIwMTAtMDktMDkgMTE6MDc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBhdm9pZCAndW51c2VkJyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGlubGluZSBmdW5jdGlvbnMgaW4gb3BlbmN2IGhlYWRlcnMKCSAgT3ZlcnJpZGUgQ1ZfSU5MSU5FIHRvIGF2b2lkICd1bnVzZWQnIGdjYyB3YXJuaW5ncy4gR0xpYiB3aWxsIHRha2UgY2FyZSBvZiBkZWZpbmluZwoJICAnaW5saW5lJyBzdWZmaWNpZW50bHkgYW5kIE9wZW5DVidzIGRlZmluZSBpc24ndCBnb29kIGVub3VnaCB0byBhdm9pZCAndW51c2VkJwoJICBjb21waWxlciB3YXJuaW5ncyAoYXQgbGVhc3QgaW4gdmVyc2lvbiAyLjEuMCkuCgoyMDEwLTA5LTA5IDEwOjI3OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIG9wZW5jdjogdXBkYXRlIHBsdWdpbiBzb3VyY2UgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4KCjIwMTAtMDktMDggMjM6NTk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBBZGQgbW9yZSBwYXJhbWV0ZXJzCgkgIEV4cG9zZSB0aGUgcGFyYW1ldGVycyBvZiBjdkhhYXJEZXRlY3RPYmplY3RzIGluIGZhY2VkZXRlY3QKCSAgZWxlbWVudC4KCjIwMTAtMDktMDggMTQ6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgb3BlbmN2OiBSZWZhY3RvciBmaWxlcyBzdHJ1Y3R1cmUKCSAgUmVtb3ZlIGludGVybmFsIGZvbGRlcnMgYW5kIHB1dCBhbGwgY29kZSBpbnNpZGUgdGhlIG1haW4gcGx1Z2luCgkgIGZvbGRlci4gQWxzbyBmaXhlcyBzb21lIGJ1aWxkaW5nIHdhcm5pbmdzLgoKMjAxMC0wOS0wOCAwMDowODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBBZGRzIG5ldyBwbHVnaW4gb3BlbmN2CgkgIE1vdmVzIG9wZW5jdiBwbHVnaW4gZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9FbGxlby9nc3Qtb3BlbmN2CgkgIGludG8gLWJhZCBtb2R1bGUuCgoyMDEwLTA5LTA1IDIzOjA5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFBvc3QgYW4gdXNlZnVsIG1lc3NhZ2UKCSAgQWRkIGEgbWVzc2FnZSB0byBiZSBwb3N0IHdoZW4gZmFjZXMgYXJlIGZvdW5kIG9uIGEgZnJhbWUgdGhhdAoJICBjb250YWlucyBhbGwgZmFjZXMgb24gYSBzaW5nbGUgbWVzc2FnZSBhbmQgYWxzbyBoYXMKCSAgdGltZXN0YW1wL3J1bm5pbmcvc2VnbWVudCB0aW1lcyBmb3IgdGhhdCBidWZmZXIgc28gaXQKCSAgY2FuIGJlIGlkZW50aWZpZWQuCgkgIFRoaXMgbWVzc2FnZSBpcyBjYWxsZWQgJ2ZhY2VkZXRlY3QnIGFuZCBoYXMgYSAnZmFjZXMnIGxpc3QKCSAgb2Ygc3RydWN0dXJlcyB3aXRoIGFsbCBmYWNlcy4KCSAgVGhlIG9sZCAnZmFjZScgbWVzc2FnZSBpcyBzdGlsbCBwb3N0ZWQgZm9yIGVhY2ggZmFjZSBmb3VuZCwgYnV0CgkgIGl0IGlzIG5vdCByZWFsbHkgdXNlZnVsIGFzIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgcmVmZXJlbmNlIHRvIHRoZQoJICBidWZmZXIgdGhhdCBnZW5lcmF0ZWQgaXQuCgoyMDEwLTA5LTA1IDE3OjUzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogVXNlIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIFBvcnQgZmFjZWRldGVjdCB0byB1c2UgR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgdG8gaW5oZXJpdCBhbGwgdGhlIGdvb2RuZXNzIHRoYXQgR3N0QmFzZVRyYW5zZm9ybS9Hc3RWaWRlb0ZpbHRlcgoJICBhbHJlYWR5IGhhbmRsZXMuCgoyMDEwLTA5LTAzIDIwOjI3OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSAgb3BlbmN2YmFzZXRyYW5zOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgUG9ydCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0gdG8gR3N0VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MuCgoyMDEwLTA1LTI0IDE5OjI4OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkgIGN2bGFwbGFjZTogYWRkcyBuZXcgY3ZsYXBsYWNlIGVsZW1lbnQKCSAgQWRkcyBuZXcgY3ZsYXBsYWNlIGVsZW1lbnQuCgkgIEFsc28gYWRkcyBhIG5ldyBvcGVuY3ZiYXNldHJhbnNmb3JtIGZ1bmN0aW9uIHRvIGJlIG92ZXJyaWRlbgoJICBieSBjaGlsZHJlbiBjbGFzc2VzOiB0aGUgY3Zfc2V0X2NhcHMsIGl0IGFsbG93cyBjaGlsZHJlbiBjbGFzc2VzCgkgIHRvIGtub3cgd2hhdCBhcmUgdGhleSBnb2luZyB0byBoYW5kbGUgYW5kIHByZXBhcmUgcHJvcGVybHkuCgoyMDEwLTA1LTE5IDIwOjExOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJICBBZGRzIG5ldyBlbGVtZW50IGN2c29iZWwKCjIwMTAtMDUtMTcgMTk6MDQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZHMgbmV3IGVsZW1lbnQgY3ZlcXVhbGl6ZWhpc3QKCjIwMTAtMDUtMTYgMTk6MTQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkcyBuZXcgZWxlbWVudHMgY3ZkaWxhdGUgYW5kIGN2ZXJvZGUKCSAgQWRkcyAyIHNpbWlsYXIgZWxlbWVudHMgKHNvIHNpbWlsYXIgdGhleSBoYXZlIHRoZWlyIG93biBiYXNlY2xhc3MpLAoJICBjdmRpbGF0ZSBhbmQgY3Zlcm9kZS4KCjIwMTAtMDUtMTYgMTc6MDM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSAgY3ZzbW9vdGg6IEltcHJvdmUgcGFyYW1ldGVycyBkb2NzCgoyMDEwLTA1LTE2IDE2OjM3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkgIGN2c21vb3RoOiBEZWFjdGl2YXRpbmcgYmx1ci1uby1zY2FsZQoJICBEZWFjdGl2YXRlIGJsdXItbm8tc2NhbGUgYmVjYXVzZSBiYXNldHJhbnNmb3JtIGRvZXNuJ3QgcHJvdmlkZSBhIHdheQoJICB0byBvdmVycmlkZSBnZXRjYXBzIGZvciBwYWRzLCBhbHdheXMgdXNpbmcgdGVtcGxhdGVjYXBzIGluZGVwZW5kZW50CgkgIG9mIHByb3BlcnRpZXMuCgoyMDEwLTA1LTE2IDExOjQyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBjdnNtb290aDogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LWdyYXkKCjIwMTAtMDUtMTYgMDA6NDY6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIEFkZGluZyBnc3RvcGVuY3Z1dGlscwoJICBBZGRzIGEgZmlsZSB0byBrZWVwIHV0aWxpdGFyeSBmdW5jdGlvbnMgdG9nZXRoZXIKCjIwMTAtMDUtMTEgMjA6MTE6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgY3ZzbW9vdGg6IEFkZHMgbmV3IGVsZW1lbnQgY3ZzbW9vdGgKCSAgQWRkcyBuZXcgY3ZzbW9vdGggZWxlbWVudAoKMjAxMC0wNS0wNSAwMToyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSAgZ3N0b3BlbmN2YmFzZXRyYW5zOiBBZGRzIHRoaXMgbmV3IGJhc2UgY2xhc3MKCSAgQWRkcyBHc3RPcGVuY3ZCYXNlVHJhbnNmb3JtIGFzIGJhc2UgY2xhc3MgZm9yIHNpbXBsZSAxOjEKCSAgb3BlbmN2IGZpbHRlcnMKCjIwMTAtMDQtMjYgMTc6MTg6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogQWxsb2NhdGUgYSBuZXcgYnVmZmVyIGZvciBvdXRwdXQKCSAgVXNlIGEgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciBmb3Igb3V0cHV0LCBhbmQgcmVsZWFzZSB0aGUgaW50ZXJtZWRpYXJ5CgkgIGltYWdlIHVzZWQuCgkgIEFsc28gYWRkIGEgVE9ETyBmb3IgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQKCjIwMTAtMDQtMjYgMTc6MzQ6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSAgZmFjZWJsdXI6IGZhY2VkZXRlY3Q6IHRlbXBsYXRlbWF0Y2g6IHRleHR3cml0ZTogU2V0IGJ1ZmZlciB0byB3cml0YWJsZQoJICBUaGVzZSBlbGVtZW50cyBvcGVyYXRlcyBpbiBwbGFjZSwgc2V0IGJ1ZmZlciB0byB3cml0YWJsZSBiZWZvcmUKCSAgb3BlcmF0aW5nLgoKMjAxMC0wNC0yNiAxNjoxNzoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBGaXggY2hhaW4gYnVmZmVyIGhhbmRsaW5nCgkgIEFsbG9jYXRlIGEgbmV3IG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiB1c2luZyB0aGUgaW5wdXQgYnVmZmVyCgkgIHBvaW50aW5nIHRvIHRoZSBpbnRlcm5hbCBjdkNFZGdlIG9wZW5jdidzIElwbEltYWdlIGRhdGEsIHdoaWNoCgkgIG1pZ2h0IGNoYW5nZSwgY29uc2VxdWVudGx5IGNoYW5naW5nIHRoZSBidWZmZXIuCgoyMDEwLTA0LTI1IDE2OjI3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSAgY29uZmlndXJlOiBlbmFibGUgLVdlcnJvciB0byBpbXByb3ZlIGNvZGUKCSAgLVdlcnJvciBvbiBnaXQgdmVyc2lvbiBpcyB1c2VmdWwgdG8ga2VlcCBjb2RlIGNsZWFuLgoKMjAxMC0wMy0wMiAxMzo1NTowNSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgUkdCIGNvbG91cnMuIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTM6MTg6MTkgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlICJ0aGlja25lc3MiIG9mIGZvbnQgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMjo0NTo1OCArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB4IGFuZCB5IGNvLW9yZGluYXRlcyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEyOjQxOjI1ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgYWRkZWQgdGhlIHByb3BlcnkgZm9yIHNldHRpbmcgeCBhbmQgeSBjby1vcmRpbmF0ZXMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMi0yOCAxNDozNjozNSArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBBcHBseSBTdGVmYW4ncyBmYWNlYmx1ciBmaXhlcyB0byBmYWNlZGV0ZWN0CgoyMDEwLTAyLTI4IDE0OjMyOjAwICswMDAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGQgc2ltcGxlIHRleHQgb3ZlcmxheSBwbHVnaW4KCjIwMTAtMDItMTkgMjI6NTA6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IGZpeCBoYW5kbGluZyBvZiBwcm9maWxlIHByb3BlcnR5LgoJICBEdXAgYW5kIGZyZWUgdGhlIHN0cmluZy4gRml4ZXMgbGVha2luZyBuZXcgdmFsdWVzIGFuZCBhdm9pZHMgY3Jhc2hpbmcKCSAgZ3N0LWluc3BlY3QuCgoyMDA5LTEyLTE4IDExOjIzOjU5ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEZpeCBpbmNsdWRlcyBpbiB0ZW1wbGF0ZSBtYXRjaGluZyBlbGVtZW50CgoyMDA5LTA1LTI2IDEyOjU5OjA0ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQnJpbmcgY29kZSBpbiB0byBsaW5lIHdpdGggZ2VuZXJhbCBHc3RyZWFtZXIgc3RhbmRhcmRzCgoyMDA5LTA1LTI1IDEyOjU3OjExICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIEZpeCBzZWdmYXVsdCBpbiB0ZW1wbGF0ZSBtYXRjaCBlbGVtZW50IGlmIG5vIHRlbXBsYXRlIGhhcyBiZWVuIHNldCBBZGQgdGVtcGxhdGUgbWF0Y2hpbmcgcHl0aG9uIGV4YW1wbGUgQWRkIGF1dG90b29sLCBsaWJ0b29sIGFuZCBwa2djb25maWcgZGVwZW5kZW5jaWVzIHRvIGRlYmlhbiBjb250cm9sIGZpbGUKCjIwMDktMDUtMjUgMTE6MjY6MjggKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZCBhIHBsdWdpbiBmb3IgYXV0b21hdGljYWxseSBibHVycmluZyBmYWNlcyBpbiB2aWRlb3MgYW5kIGltYWdlcwoKMjAwOS0wNS0xMyAxMjoxOTo0MyArMDMwMCAgTm9hbSA8bm9hbUBkdWFwb3YuKG5vbmUpPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQWRkZWQgY29udHJvbCBmb3IgY2hhbmdpbmcgbWV0aG9kCgoyMDA5LTA1LTEzIDExOjU1OjMxICswMzAwICBOb2FtIDxub2FtQGR1YXBvdi4obm9uZSk+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEFkZGVkIHRlbXBsYXRlbWF0Y2ggZWxlbWVudAoKMjAwOS0wNS0wOCAxMTo1NToyMCArMDUzMCAga2FwaWwgPGthcGlsQGthcGlsLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIFJlZ2lzdGVyaW5nIGFsbCBlbGVtZW50cyB1bmRlciBvcGVuY3YgcGx1Z2luCgoyMDA5LTA1LTA2IDE1OjQ5OjQyICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIEZpeCB0aGUgcHJvZmlsZSBwYXJhbWV0ZXIgaW4gdGhlIGZhY2VkZXRlY3QgZWxlbWVudCB0byBhY2NlcHQgYSBzdHJpbmcgY29ycmVjdGx5CgoyMDA5LTA1LTA2IDE1OjMzOjQ4ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgUmVsZWFzZSBPcGVuQ1YgaW1hZ2VzIHdoZW4gZmluYWxpemluZyBlbGVtZW50cwoKMjAwOS0wNS0wNiAxNjozODoxNSArMDUzMCAga2FwaWwgPGthcGlsQGthcGlsLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIEZpeGVkIGNvbXBpbGUgZXJyb3JzCgoyMDA5LTA0LTIwIDE4OjQwOjEzICswMzAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIE1ha2UgZmFjZSBkZXRlY3Qgc2VuZCBhIGJ1cyBtZXNzYWdlIHdoZW4gYSBmYWNlIGlzIGRldGVjdGVkIFdyaXRlIGEgc2ltcGxlIHB5dGhvbiBleGFtcGxlIGZvciBmYWNlIGRldGVjdGlvbgoKMjAwOS0wNC0xOCAyMzo0MzozNyArMDMwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBBZGQgZmFjZSBkZXRlY3Rpb24gZWxlbWVudCBDbGVhbiB1cCBzb21lIGdlbmVyYXRlZCBmaWxlcyBVcGRhdGUgYSBmZXcgb2xkIGNvbW1lbnRzCgoyMDA4LTEyLTE4IDIzOjQ4OjQwICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmluOgoJICAqIFJlbW92ZSBzb21lIGF1dG90b29scyBnZW5lcmF0ZWQgZmlsZXMKCjIwMDgtMTItMTggMjM6NDM6MzYgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgICogTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgdGhyZXNob2xkMiBhdCBydW50aW1lICogSW1wbGVtZW50IHB5cmFtaWQgc2VnbWVudGF0aW9uIGVsZW1lbnQgKiBNYWtlIG1hc2tpbmcgb3B0aW9uYWwgb24gZWRnZWRldGVjdCAqIENsZWFuIHVwIGVkZ2VkZXRlY3QsIGFkZCBlbGVtZW50IGRldGFpbHMgKiBJbXBsZW1lbnRlZCBlZGdlIGRldGVjdCBlbGVtZW50CgoyMDEwLTA5LTA4IDE2OjU3OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogTWFwIEdTVF9UQUdfQUxCVU1fQVJUSVNUCgkgIE1hcCBHU1RfVEFHX0FMQlVNX0FSVElTVCB0byBUUEUyIGFzIGl0IGlzIGRvbmUgaW4KCSAgLWJhc2UgaWQzdGFnIG1hcHBpbmdzLgoKMjAxMC0wOC0wOSAwMDoxNTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFVzZSBBR19HU1RfQ0hFQ0tfR1NUX1BMVUdJTlNfe0dPT0QsVUdMWSxCQUQsRkZNUEVHfSBtYWNyb3MgZnJvbSBjb21tb24KCSAgdG8gZmluZCBwbHVnaW4gZGlyZWN0b3JpZXMgZm9yIHRoZSB2YXJpb3VzIG1vZHVsZXMgb3VyIHVuaXQgdGVzdHMgZGVwZW5kCgkgIG9uIGluIGFuIHVuaW5zdGFsbGVkIGVudmlyb25tZW50LiBUaGlzIG1ha2VzIHN1cmUgdGhlc2UgcGx1Z2lucyBhcmUgZm91bmQKCSAgZXZlbiB3aGVuIGRpc3RjaGVja2luZyAod2hpY2ggaGFwcGVucyBmcm9tIGEgc3ViZGlyZWN0b3J5LCB3aGljaCBtZWFucwoJICB0aGF0IHRoZSBjdXJyZW50bHkgdXNlZCB0cmljayB0byBmaW5kIHRoZSB1bmluc3RhbGxlZCBkaXJlY3RvcmllcyBvZgoJICB0aGVzZSBtb2R1bGVzIGRvZXNuJ3Qgd29yayBpbiB0aGF0IGNhc2UpLgoKMjAxMC0wOS0wNyAxOToxNjoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3Mgc2dtbCBmaWxlIGEgYml0CgoyMDEwLTA5LTA3IDE1OjIyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBkb2NzOiBhZGQgMiBuZXcgZmlsZXMgdG8gZ2l0aWdub3JlCgkgIEFkZHMgZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXcgYW5kCgkgIGdzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3IHRvIC5naXRpZ25vcmUKCjIwMTAtMDktMDcgMTQ6NDU6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogTWFrZSBpdCBtb3JlIGNvbG9yc3BhY2Ugc21hcnQKCSAgVGhpcyBtYWtlcyBpdCBhYmxlIHRvIHJlY29tYmluZSByZ2IgaW1hZ2VzLCBtYWtpbmcgaXQgcG9zc2libGUKCSAgdG8gYWRkIHRhZ3MgdG8gcmdiIGpwZWdzIGFzIHdlbGwuCgkgIFVzZXMgYSBzaW1wbGUgc3RyYXRlZ3kgdG8gY2hlY2sgd2hhdCBhcmUgdGhlIHBvc3NpYmxlIGNvbG9yc3BhY2VzCgkgIGFuZCBhdm9pZCBhZGRpbmcgamZpZiB0byBvbmVzIHRoYXQgYXJlbid0IFlVVi9HcmF5LgoKMjAxMC0wOS0wNyAxMDoyNjoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0cyBmb3IgbmV3IHBwaSB0YWdzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgaWYgbGliZXhpZiBjYW4gcmVhZCBvdXIKCSAgRVhJRl9UQUdfWC9ZX1JFU09MVVRJT04gdGFncy4KCjIwMTAtMDktMDcgMTM6Mjg6MjAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogRml4IGVsZW1lbnQgZGV0YWlscwoKMjAxMC0wOS0wNyAxMTo0MjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMyZTEwYmYgdG8gYWEwZDFkMAoKMjAxMC0wOS0wNyAxMTozNDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEgZm9yIHJlY2VudCBjaGFuZ2VzCgoyMDEwLTA5LTA3IDExOjI4OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICBkb2NzOiByZW1vdmUgaW50cm9zcGVjdGlvbiBmaWxlcyBmb3IgcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtZXJnZWQsIG1vdmVkIG9yIHJlbmFtZWQKCSAgVGhlIGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlIHBsdWdpbnMgaGF2ZSBiZWVuIG1lcmdlZCBpbnRvIHRoZSBhdWRpb3BhcnNlcnNiYWQKCSAgcGx1Z2luLiBUaGUgYWlmZnBhcnNlIHBsdWdpbiBoYXMgYmVlbiByZW5hbWVkIHRvIGFpZmYgc2luY2UgaXQgYWxzbyBjb250YWlucyBhbgoJICBhaWZmIG11eGVyIG5vdy4gVGhlIGFtcndiIHBsdWdpbiBoYXMgYmVlbiByZW5hbWVkIHRvIGFtcndiZW5jLiBUaGUgZHZic3JjIHBsdWdpbgoJICBoYXMgYmVlbiByZW5hbWVkIHRvIGR2Yi4gVGhlIGdzdHJ0cG1hbmFnZXIgcGx1Z2luIGhhcyBtb3ZlZCB0byAtZ29vZC4gVGhlIHgyNjQKCSAgcGx1Z2luIGhhcyBtb3ZlZCB0byAtdWdseS4gQW5kIHRoZSBtcGVndHNwYXJzZSBwbHVnaW4gaGFzIGJlZW4gbWVyZ2VkIGludG8gdGhlCgkgIG1wZWdkZW11eDIgcGx1Z2luLgoKMjAxMC0wOS0wNyAwMDoxNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBkaXN0Y2hlY2sgYnkgZGlzdGluZyBuZXcgamFjayBleGFtcGxlIGRpcmVjdG9yeQoJICBBbHNvIGFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAxMC0wOS0wNiAxNzoxNzo1NCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBleGFtcGxlczogYWRkIHRlc3QgdG8gZGVtb25zdHJhdGUgamFja19jbGllbnRfdCB1c2FnZQoKMjAxMC0wOS0wNiAxNjoxMTozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkZWQgY2xpZW50IHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjI2OjA3IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgamFjazogcmVtb3ZlZCB1bnVzZWQgZmlsZSBnc3RqYWNrYmluLmMKCSAgVGhpcyBpcyBhIDAuOCBsZWZ0b3Zlci4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wOS0wNiAwOToyODo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQnVtcCAtY29yZS8tYmFzZSByZXF1aXJlbWVudHMgdG8gMC4xMC4zMC4xCgkgIFdlIG5lZWQgMC4xMC4zMC4xIHRvIGhhdmUgbGF0ZXN0IHRhZ3MgaW4gY29yZS9iYXNlIGZvciBqaWZtdXgKCSAgdGVzdHMuCgoyMDEwLTA4LTI2IDAyOjU0OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBNYWtlIHRoZSBkdG1mc3JjIGFjY2VwdCBldmVudHMgc2VudCB3aXRoIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQKCSAgVGhlIGRvYyBzYXlzIHRvIHVzZSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50IG9uIHRoZSBwaXBlbGluZSwgYnV0IGlmCgkgIHdlIGFyZSB0byBjYWxsIGl0IG9uIHRoZSBlbGVtZW50IGl0c2VsZiwgaXQncyBhIG5vb3AuIFRoaXMgc2hvdWxkIG1ha2UgaXQKCSAgaGFuZGxlIHRoZSBldmVudCBwcm9wZXJseSBiZWZvcmUgZGVsZWdhdGluZyBpdCB0byBiYXNlc3JjLgoKMjAxMC0wOS0wNSAxNjozMDowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogc2V0IG5ldyBmcmFtZXJhdGUgb24gb3V0cHV0IGNhcHMgaW5zdGVhZCBvZiBpbnB1dCBjYXBzCgkgIEl0J3Mgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoZSBjYXBzIHByb3ZpZGVkIGJ5IHRoZSBzZXRjYXBzIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MzI2CgoyMDEwLTA5LTA2IDAzOjIzOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFRha2UgcGFyYW1ldGVycyBvbiBjb21tYW5kIGxpbmUKCSAgTm93IGl0J3MgYWN0dWFsbHkgdXNlZnVsLgoKMjAxMC0wOS0wNiAwMzowNDoxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTA2IDEwOjI5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IFVzZSBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgJWxsdQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcy4KCjIwMTAtMDktMDYgMTE6MDM6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHN5bmMgd2l0aCBjb3B5IGluIC1iYXNlCgkgIFVzZSBfZ2V0X2NhcHNfcmVmZmVkIHRvIGF2b2lkIGNvcGllcy4KCjIwMTAtMDgtMjQgMTE6NTA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogbW92ZSB0aGUgZGVidWcgaW5pdCB0byB0aGUgYm9pbGVycGxhdGUgbWFjcm8KCjIwMTAtMDgtMjQgMTE6NTA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHVzZSBHU1RfQk9JTEVSUExBVEUgbWFjcm8KCjIwMTAtMDgtMjQgMTE6MjY6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBkb24ndCBhZGQgYSBnX21haW5sb29wIGRlcGVuZGVuY3kKCSAgSnVzdCB1cGRhdGUgdGhlIGZwcy1tZXNzYWdlIGZyb20gdGhlIHByb2JlIGhhbmRsZXIuCgoyMDEwLTA4LTE4IDExOjM1OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogc21hbGwgY2xlYW51cAoJICBBZGQgb25lIG9uZSBleGFtcGxlIGFuZCBsb3dlciB0aGUgZm9uJ3Qgc2l6ZSBmb3IgdGhlIG92ZXJsYXkuCgoyMDEwLTA4LTIzIDA5OjUxOjI1IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogbWVhc3VyZSBmcHMgaW4gdGVybXMgb2Ygd2FsbCBjbG9jayB0aW1lCgkgIE1lYXN1cmUgZnBzIGluIHRlcm1zIG9mIHN5c3RlbSBjbG9jaywgcmF0aGVyIHRoYW4gcGlwZWxpbmUgY2xvY2ssIHRvIGdldAoJICBhbiBhY2N1cmF0ZSBtZWF1cmUgb2YgZnBzLgoKMjAxMC0wOS0wNSAyMjo0MToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogQWRkIG5ldyBlbGVtZW50CgoyMDEwLTA5LTA1IDIyOjMwOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgc3NpbTogQWRkIEk0MjAgc3VwcG9ydAoKMjAxMC0wOS0wNSAyMTozNDozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBtb3JlIGZvcm1hdHMKCjIwMTAtMDktMDUgMTg6NTg6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkM2Q5YWNmIHRvIGMyZTEwYmYKCjIwMTAtMDktMDUgMjM6NDA6MDggKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3OgoJICBSZW1vdmUgLm5ldyBkb2NzIGZpbGVzIGZyb20gdGhlIHJlcG9zaXRvcnkKCjIwMTAtMDktMDUgMTU6MzQ6MTMgLTA3MDAgIEpvbmF0aGFuIFJvc3NlciA8am9uYXRoYW4ucm9zc2VyQHJkLmJiYy5jby51az4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IGNvZ192aXJ0X2ZyYW1lX25ld19jb252ZXJ0X3U4KCkKCSAgQ29udmVyc2lvbiB3YXMgdXNpbmcgdW5pbml0aWFsaXplZCBkYXRhIGluc3RlYWQgb2Ygc291cmNlIGZyYW1lLgoJICBGaXhlcyAjNjI2NDI1LgoKMjAxMC0wOS0wNSAxMjowNjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSAgY29nOiBGaXggZ2VuZXJhdGVkIE9yYyBjb2RlCgkgIEFsc28gZHJvcCByZXF1aXJlZCBPcmMgYmFjayBkb3duIHRvIDAuNC43LgoKMjAxMC0wOC0zMCAyMToyMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIGppZm11eCBpbnN0ZWFkIG9mIG1ldGFkYXRhbXV4CgkgIFVzZSBqaWZtdXggZWxlbWVudCB0byB3cml0ZSBleGlmL3htcCB0YWdzIGluc3RlYWQgb2YgbWV0YWRhdGFtdXgKCjIwMTAtMDgtMzAgMjE6MjE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgbmV3IHRhZ3MgZnJvbSAtYmFzZQoJICBSZXBsYWNlIHByaXZhdGUgdGFncyBmcm9tIG1ldGFkYXRhIHBsdWdpbiB3aXRoIHRoZSBuZXcgZ2VuZXJpYyB0YWdzCgkgIGZyb20gLWJhc2UuCgoyMDEwLTA5LTAzIDE0OjEyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlZmFjdG9yIHRlc3RzCgkgIFRoZSB0ZXN0cyB3ZXJlIGRvbmUgaW4gMiBzdGVwcywgZmlyc3QgdGhlcmUgd2FzIGEgc3VpdGUKCSAgdGhhdCBnZW5lcmF0ZWQgdGhlIGZpbGVzICh3aGlsZSBjaGVja2luZyB0aGF0IGNhbWVyYWJpbgoJICB3YXMgb3BlcmF0aW5nIGNvcnJlY3RseSkuIFRoZW4gdGhlcmUgd2FzIGEgc2Vjb25kIHN1aXRlCgkgIHRoYXQgd2FzIHJ1biB0byBjaGVjayB0aGF0IGFsbCBmaWxlcyB3ZXJlIHBsYXlhYmxlIHdpdGgKCSAgcGxheWJpbjIuIFRob3NlIHNlY29uZCB0ZXN0cyB3ZXJlIG5vdCBiZWluZyBydW4gYmVjYXVzZQoJICB0aGV5IHdlcmUgY2hlY2tpbmcgaWYgY2FtZXJhYmluIHdhcyBpbml0aWFsaXplZCwgYW5kIGl0CgkgIG5ldmVyIHdhcyBhcyB0aG9zZSB0ZXN0cyBkaWRuJ3QgdXNlIGEgJ3NldHVwJyBmdW5jdGlvbi4KCSAgVGhpcyBjb21taXQgcmVmYWN0b3JzIHRoZSB0ZXN0cyBieSByZW1vdmluZyB0aGlzIHNlY29uZAoJICBzdWl0ZSBhbmQgbWVyZ2luZyBpdHMgdmFsaWRhdGlvbiB3aXRoIHRoZSBmaXJzdCBzdWl0ZSdzCgkgIGZ1bmN0aW9ucy4KCjIwMTAtMDgtMjQgMTQ6NDM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgZ2VvIGxvY2F0aW9uIHRhZ3MgdGVzdHMKCSAgQWRkcyBzb21lIG1vcmUgdGVzdHMgZm9yIGdlbyBsb2NhdGlvbiB0YWdzLgoJICBBbHNvIHVzZSBsaWJleGlmIGNvbnN0YW50cyBmb3IgdGhlIGV4aWYgdGFncycgaWRzLgoKMjAxMC0wOC0yNCAwOTowMjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogUmVmYWN0b3IgdGVzdGluZyBjb2RlIGEgbGl0dGxlCgkgIFJlZmFjdG9yIHRlc3RpbmcgY29kZSB0byBhbGxvdyB0ZXN0aW5nIGZvciBjYXNlcyB3aGVyZSB0aGUKCSAgc2FtZSBnc3RyZWFtZXIgdGFnIGlzIG1hcHBlZCB0byBtdWx0aXBsZSBleGlmIHRhZ3MuCgoyMDEwLTA4LTIzIDExOjU3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBNb3JlIHRlc3RzIGZvciBleGlmIHRhZ3MKCSAgUmVmYWN0b3JzIHNvbWUgY29kZSBhbmQgYWRkIHNvbWUgbW9yZSB0ZXN0cyBmb3IgZXhpZiB0YWdzCgoyMDEwLTA5LTAyIDExOjE4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERvIG5vdCBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2Ugb24gMTZiaXRzCgkgIFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50MTYgdG8gcmVwcmVzZW50IHRoZSBzaXplIG9mIHRoZSBlbmNvZGVkIGltYWdlLAoJICB0aGlzIHdvdWxkIG1ha2Ugc29tZSByZWNvbWJpbmVkIGltYWdlcyBsb3NlIG1vc3Qgb2YgdGhlaXIgZGF0YSBhbmQKCSAgc2hvdyBsaWtlIGEgYmlnIGJsYWNrIGltYWdlIHdpdGggYSBzbWFsbCBsaW5lIG9mIGNvbnRlbnQgb24gdG9wLgoJICBBbHNvIGFkZHMgYSBtaW5vciBsb2cgbWVzc2FnZS4KCjIwMTAtMDgtMjEgMTc6MDE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJICBqaWZtdXg6IFNldCBvdXRwdXQgcGFkIGNhcHMKCSAgU2V0IG91dHB1dCBwYWQgY2FwcyB0byBndWFyYW50ZWUgY2FwcyBvbiB0aGUgYnVmZmVycyBiZWluZwoJICBwdXNoZWQgZG93bnN0cmVhbS4KCjIwMTAtMDgtMjAgMDg6MzQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRGV0ZWN0IEVPSSBjb3JyZWN0bHkKCSAgRU9JIGFyZSBub3QgYWx3YXlzIGF0IHRoZSBsYXN0IDQgYnl0ZXMuIFdlIG5lZWQgdG8gc2VhcmNoCgkgIHRoZSBsYXN0IDUgYnl0ZXMgdG8gZmluZCB0aGUgMHhGRkQ5IHNlcXVlbmNlIGFzIGpwZWdlbmMgc2VlbXMKCSAgdG8gcm91bmQgdGhlIGJ1ZmZlciBzaXplIHRvIHRoZSBuZXh0IDQgbXVsdGlwbGUuCgoyMDEwLTA4LTE5IDIyOjQzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFB1dCBBUFAwIGZpcnN0IGFsd2F5cwoJICBGaXhlcyB0aGUgb3JkZXIgb2YgdGhlIEFQUDAvQVBQMSBtYXJrZXJzLiBBUFAwIHNob3VsZAoJICBiZSBmaXJzdC4KCjIwMTAtMDktMDIgMDE6MzI6MTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogcGFyc2UgInBpeGVsLWFzcGVjdC1yYXRpbyIgZnJvbSBzdHJlYW0KCjIwMTAtMDktMDIgMDE6MDQ6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBub24gd29ya2luZyB1bnVzZWQgY29kZSBmcm9tIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDktMDIgMDA6MTc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBHc3RCYXNlVmlkZW9EZWNvZGVyIHNldCBkZWZhdWx0IHBhciB0byAxLzEKCjIwMTAtMDktMDEgMjM6NDc6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9nZXRfY3VycmVudF9mcmFtZQoJICB3ZSBub3cgcGFzcyB0aGUgY3VycmVudCBmcmFtZSB0byBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYXJzZV9kYXRhCgkgIGFsc28gZml4dXAgc29tZSBlcnJvcnMgaW4gdmRwYXVtcGVnNGRlYyBzbyB0aGF0IGl0IG5vdyBnaXZlcyBjb3JyZWN0IG91dHB1dAoKMjAxMC0wOS0wMSAyMjowMzowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSAgdmRwYXU6IHJld29yayBHc3RCYXNlVmlkZW9EZWNvZGVyIHRpbWVzdGFtcGluZwoJICB0aW1lc3RhbXBzIGFyZSBub3cgY2hvc2VuIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CgkgIHVwc3RyZWFtIC0+IHBhcnNlZCBieSBkZWNvZGVyIC0+IGNhbGN1bGF0ZWQgZnJvbSB0aW1lc3RhbXAgb2Zmc2V0CgkgIHdlIGFsc28gY2hlY2sgdGhlIHRpbWVzdGFtcHMgc3VwcGxpZWQgZnJvbSB1cHN0cmVhbS9kZWNvZGVyIHRvIHNlZSBpZiB0aGV5CgkgIGF0bGVhc3QgaXMgaW5jcmVhc2luZy4KCjIwMTAtMDktMDEgMTc6NDU6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBpbnZhbGlkIHVucmVmCgoyMDEwLTA5LTA1IDEyOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWM2MDIxNyB0byBkM2Q5YWNmCgoyMDEwLTA5LTA1IDExOjQ1OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEJ1bXAgb3JjIHJlcXVpcmVtZW50IHRvIDAuNC44LjEKCSAgMC40LjcgY3JlYXRlcyBjb2RlIHdpdGggdW5hdmFpbGFibGUgc3ltYm9scwoJICAwLjQuOCBjcmVhdGVzIGJ1Z2d5IGNvZGUKCSAgTGV0J3MgdXNlIGdpdCBoZWFkIG9mIG9yYyAod2hpY2ggc3RpbGwgd29uJ3Qgd29yayBiZWNhdXNlIGdpdCBoZWFkCgkgIG9mIG9yYyBzdGlsbCBjbGFpbXMgdG8gYmUgMC40LjgpCgkgIFRoaXMgYWxsb3dzIGFsbCB0aGUgcmVzdCBvZiAtYmFkIHRvIGJ1aWxkIHByb3Blcmx5LgoKMjAxMC0wNy0xNCAyMTowMDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyAoZ2NjIDQuNC40KQoKMjAxMC0wOS0wNCAxMTozNToxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSAgY29nOiB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOC0yNiAyMjowMzoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3Npbms6IFJlLWVuYWJsZSBZVllVIGFuZCBVWVZZCgkgIFlWWVUgb24gbXkgbWFjaGluZSBhcHBlYXJzIHRvIGJlIGRvaW5nIHNvZnR3YXJlIGNvbnZlcnNpb24KCSAgKGFuZCBkb2luZyBpdCBpbmNvcnJlY3RseSkuCgoyMDEwLTA4LTI2IDIwOjE1OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogY29uc3RydWN0IGVsZW1lbnQgbmFtZXMKCjIwMTAtMDgtMjIgMjE6NDM6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IG5ldyBlbGVtZW50CgoyMDEwLTA4LTIwIDE3OjI0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogQWRkIGZhc3QgcGF0aHMgZm9yIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAxMC0wOC0yMCAxNzoyMzoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBPcmMgMC40LjcKCjIwMTAtMDgtMTMgMjE6NTg6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJICBlbGVtZW50LW1ha2VyOiBGaXggdXAgR3N0RWxlbWVudAoKMjAxMC0wOC0xMyAyMTo1NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IEltcHJvdmVtZW50cyBpbiBjb2xvcnNwYWNlIGFuZCBzY2FsZXIKCSAgQWRkIGZhc3QgcGF0aHMgZm9yIFlVVi0+WVVWIGNvbnZlcnNpb25zIGFuZCBPcmMgY29kZSBmb3IgYWxsLgoJICBVc2UgT3JjIGZvciBob3Jpem9udGFsIHJlc2FtcGxpbmcuCgoyMDEwLTA2LTExIDE0OjM5OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IG1pbm9yIGNsZWFudXBzCgkgIEltcHJvdmUgZWxlbWVudCBkZXNjcmlwdGlvbnMsIHJlbW92ZSB1bnVzZWQgZmlsZXMsIGNvZGUgY2xlYW51cC4KCjIwMTAtMDktMDMgMTA6MDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgkgIFRlbXBvcmFyaWx5IGRpc2FibGUgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciBnaXQgYnVpbGRzIHVudGlsCgkgIHRoZSBjb2RlIGlzIHVwZGF0ZWQgZm9yIHRoZSBHU1RfRkxPV19JU18qIG1hY3JvIGRlcHJlY2F0aW9ucy4KCjIwMTAtMDktMDEgMjI6MDU6NDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IEluaXRpYWxpemUgUEVTIHBhY2tldCBiZWZvcmUgZ2V0dGluZyB0aGUgaGVhZGVyIHNpemUuCgkgIFRoZSBQRVMgaGVhZGVyIGxlbmd0aCBpcyBjYWxjdWxhdGVkIGJlZm9yZSBzZXR0aW5nIHRoZSBkeW5hbWljIGZsYWdzLCByZXR1cm5pbmcKCSAgYSB3cm9uZyB2YWx1ZS4gU21hbGwgZnJhbWVzIHRoYXQgc2hvdWxkIGJlIHNlbnQgaW4gYSBzaW5nbGUgVFMgcGFja2V0IGFyZQoJICBzcGF3bmVkIHRvIGEgbmV3IHBhY2tldCBiZWNhdXNlIG9mIHRoYXQgZXJyb3IuIEZvciBhdWRpbyBzdHJlYW1zIHdoZXJlIGEgc2luZ2xlCgkgIGZyYW1lIGNhbiBjb3BlIGluIG9uZSBUUyBwYWNrZXQgaXQgaW50cm9kdWNlcyBhIGh1Z2Ugb3ZlcmhlYWQuCgkgIEZvciBhIDEwMEIgcGFja2V0LCB3ZSBwcmVwYXJlIGEgVFMgcGFja2V0IHdpdGggYSBwYXlsb2FkIG9mKDEwMCs5KUIuIFRoZW4sIHdlCgkgIHdyaXRlIHRoZSBUUyBoZWFkZXIgdXNpbmcgdGhpcyB2YWx1ZSBpbiB0c211eF93cml0ZV90c19oZWFkZXIsIGFuZCBjYWxsCgkgIHRzbXV4X3N0cmVhbV9nZXRfZGF0YSgpLiBUaGUgZHluYW1pYyBmbGFncyB3aGVyZSBub3Qgc2V0IHlldCBhbmQgbm93CgkgIHRzbXV4X3N0cmVhbV9wZXNfaGVhZGVyX2xlbmd0aCgpIHJldHVybnMgMTRCIGluc3RlYWQgb2YgOUIuIFRoZSBwYXlsb2FkIG9mIHRoZQoJICBUUyBwYWNrZXQgaXMgMTE0QiwgNUIgbW9yZSB0aGFuIHdoYXQgd2FzIGNhbGN1bGF0ZWQuIDEwOUIgYXJlIHNlbnQgaW4gYSBmaXJzdAoJICBwYWNrZXQgYW5kIHRoZSByZW1haW5pbmcgNUIgYXJlIHNlbnQgaW4gYW5vdGhlciBvbmUuCgkgIEZpeGVzIGJ1ZyAjNjI4NTQ4LgoKMjAxMC0wOS0wMiAxMDoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogQ2xhc3NpZnkgYXMgRmlsdGVyL0NvbnZlcnRlci9WaWRlbyBpbnN0ZWFkIG9mIGVmZmVjdAoJICBGaXhlcyBidWcgIzYyODU3MC4KCjIwMTAtMDktMDEgMTg6MzA6MTcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBVc2UgY29ycmVjdCBlbGVtZW50IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhbiBhbmFseXplci4gRml4ZXMgYnVnICM2Mjg1MjcuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAxMC0wOS0wMyAwMDoyMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMAoKMjAxMC0wOS0wMyAwMDoyMTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMyAwMDoxOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vZ2wucG86CgkqIHBvL3JvLnBvOgoJKiBwby9zbC5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDktMDMgMDA6MDE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIGRvYXA6IHJlZmVyZW5jZSBnaXQgcmVwb3NpdG9yeSBpbnN0ZWFkIG9mIENWUyByZXBvc2l0b3J5CgoyMDEwLTA5LTAyIDIyOjM5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZml4IHdyb25nIHVzZSBvZiBHU1RfRUxFTUVOVF9FUlJPUgoKMjAxMC0wOC0zMCAxNjowMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuNSBwcmUtcmVsZWFzZQoKMjAxMC0wOC0zMCAxNToyMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogRG9uJ3QgaW5zdGFsbCBnc3QtY2FtZXJhLnVpCgkgIFRoZSBleGFtcGxlcyBhcmUgbm90IG1lYW50IHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIGV4ZWN1dGFibGVzIG9mCgkgIHRoZW0gYXJlIG5vdCBpbnN0YWxsZWQgYW55d2F5LgoJICBGaXhlcyBidWcgIzYyNzkxOC4KCjIwMTAtMDgtMjUgMjI6NTY6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVubG9jayB0aGUgcmlnaHQgbXV0ZXgKCSAgVGhlIG11dGV4IGxvY2tlZCBpcyBmb3IgdGhlICdtdXgnIG9iamVjdCwgYnV0IHdlIHVubG9jayB0aGUKCSAgcGFkLCB3aGljaCBtZWFucyB0aGF0IGlmIHRoZSBydHBtdXggZ2V0cyBhIGZsdXNoLCB0aGVuIHRoZQoJICBvYmplY3QgbG9jayB3aWxsIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIGNhdXNpbmcgaXQgdG8gZnJlZXplCgkgIHRoZSBuZXh0IHRpbWUgaXQgdHJpZXMgdG8gdGFrZSBpdC4KCSAgRml4ZXMgYnVnICM2Mjc5OTEKCjIwMTAtMDgtMjcgMTU6NDk6MzkgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBCdW1wIG5lb24gcmVxdWlyZW1lbnQgdG8gMC4yNy4wCgkgIE5lZWRlZCBpbiBvcmRlciB0byBoYXZlIG5lX3NldF9jb25uZWN0X3RpbWVvdXQKCSAgRml4ZXMgYnVnICM2MjUwNzYKCjIwMTAtMDgtMjEgMjE6NDI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS40IHByZS1yZWxlYXNlCgoyMDEwLTA4LTE2IDEyOjM2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYXV0b2RldGVjdCBvdXQtb2Ytb3JkZXIgaW5wdXQgdGltZXN0YW1wcyBhbmQgZGV0ZXJtaW5lIERUUyBhY2NvcmRpbmdseQoJICBGYXZvdXIgdXNpbmcgaW5wdXQgYnVmZmVyIHRpbWVzdGFtcHMgZm9yIERUUywgYnV0IGZhbGxiYWNrIHRvIHVzaW5nIGJ1ZmZlcgoJICBkdXJhdGlvbiAoYWNjdW11bGF0aW9uKSBpZiBpbnB1dCB0cyBkZXRlY3RlZCBvdXQtb2Ytb3JkZXIuCgkgIEZpeGVzICM2MjQyMTIuCgoyMDEwLTA4LTIwIDExOjA5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEF2b2lkIHJlY29tYmluaW5nIFJHQiBqcGVncwoJICBKRklGIG9ubHkgYWxsb3dzIFlVViBhcyBjb2xvcnNwYWNlLCB3aGVuIHdlIHJlY2VpdmUgYW4gUkdCIGpwZWcsCgkgIHdlIHNob3VsZCBqdXN0IHB1c2ggaXQgZm9yd2FyZCB3aXRob3V0IGFkZGluZyB0aGUgSkZJRiBtYXJrZXIuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTQ6MzQ6MjEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNldCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYWNrZXRpemVkIHRvIFRSVUUgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBUaGlzIGZpeGVzIGFuIGluZmluaXRlIGxvb3AgaWYgYW4gRU9TIGV2ZW50IGlzIHJlY2VpdmVkIGJlZm9yZQoJICBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydCgpIGlzIGNhbGxlZCwgZS5nLiBpbW1lZGlhdGVseSB3aGVuIHRoZQoJICBwYWRzIGFyZSBhY3RpdmF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjI2ODE1LgoKMjAxMC0wOC0xMyAxNzoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZThkYjFkIHRvIGVjNjAyMTcKCjIwMTAtMDgtMTEgMjI6MDM6MDcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBNYXJrIGlubGluZSBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZQoJICBPdGhlcndpc2UgaXQgZmFpbHMgdG8gY29ycmVjdGx5IGxpbmsgdGhlbSBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjcwCgoyMDEwLTA4LTExIDE3OjE5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuMyBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMSAxNzoxOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJICBnc2V0dGluZ3M6IGZpeCBtYWtlIGRpc3RjaGVjawoJICBDbGVhbiB1cCBmaWxlIHdlIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLgoKMjAxMC0wOC0xMSAxMjowOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBibGFja2xpc3QgZ3NldHRpbmdzKiBlbGVtZW50cyBmb3IgZ2VuZXJpYy9zdGF0ZXMgdGVzdAoJICBXaGVuIHRoZSB0ZXN0IGlzIHJ1biwgdGhlIHNjaGVtYSBmaWxlIHdvbid0IGJlIGluc3RhbGxlZCB5ZXQsCgkgIGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gc2V0CgkgIHRvIGZvcmNlIEdTZXR0aW5ncyB0byBsb29rIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYwMwoKMjAxMC0wOC0xMSAwMDoyMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuMiBwcmUtcmVsZWFzZQoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOSAwMDo0Mjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnQgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDkgMDA6NDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDggMTc6MDk6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGNoZWNrczogc2tpcCBqaWZtdXggdGVzdHMgaWYgcmVxdWlyZWQgZWxlbWVudHMgYXJlbid0IGF2YWlsYWJsZQoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0xMSAxMTo1Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgIGxlZ2FjeXJlc2FtcGxlOiBMaW5rIGFnYWluc3QgJChMSUJNKSBmb3IgcmludCgpIGFuZCBmcmllbmRzCgoyMDEwLTA4LTExIDExOjUxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIG00L2dzZXR0aW5ncy5tNDoKCSAgZ3NldHRpbmdzOiBBZGQgZ3NldHRpbmdzLm00IGZvciB0aGUgZ3NldHRpbmdzIG1hY3JvcwoKMjAxMC0wOC0xMSAxMTo1MDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkgIGludnRlbGVjaW5lOiBMaW5rIGFnYWluc3QgJChMSUJNKSBmb3Igc3FydCgpIGFuZCBmcmllbmRzCgoyMDEwLTA4LTExIDExOjM5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2sgdG8gYWN0dWFsbHkgc3VjY2VlZCBpZiBDRUxUID49IDAuNSBpcyBhdmFpbGFibGUKCSAgQWxzbyByZW1vdmUgdGhlIEFDX01TR19SRVNVTFRTKFtub10pLCBwa2ctY29uZmlnIGRvZXMgdGhpcyBmb3IgdXMgYWxyZWFkeS4KCjIwMTAtMDgtMTAgMTA6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiZDIwNTRiIHRvIDNlOGRiMWQKCjIwMTAtMDgtMDkgMTc6MjA6MTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAiem9vbSIgcGFyYW1ldGVyIHRvIHNxdWFyZSBmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAxNjo1NTo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3F1YXJlICJ3aWR0aCIgYW5kICJoZWlnaHQiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDEwOjAzOjIwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRvIG1pcnJvciBmaWx0ZXIKCSAgQWRkIGEgIm1vZGUiIGVudW0gcHJvcGVydHkgdG8gbWlycm9yIHRoYXQgZGVmaW5lcyBob3cgdG8gc3BsaXQgdGhlIGZyYW1lCgkgIGFuZCB3aXRoIHNpZGUgcmVmbGVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAwODo1Mjo1MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAiem9vbSIgcGFyYW1ldGVyIHRvIGJ1bGdlIGZpbHRlcgoJICBSZXdvcmsgYnVsZ2UgbWFwcGluZyBmdW5jdGlvbiB0byBnaXZlIG1vcmUgcHJlZGljdGFibGUgcmVzdWx0cy4KCSAgTm93IHRoZSBidWxnZSBpcyBkb25lIGRpdmlkaW5nIGJ5IGEgc2NhbGUgZmFjdG9yIHRoYXQgc21vb3Roc3RlcHMgZnJvbQoJICAiem9vbSIgYXQgdGhlIGNlbnRlciB0byAxLjAgYXQgInJhZGl1cyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTY6MTY6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhbiAiaW50ZW5zaXR5IiBwYXJhbWV0ZXIgdG8gc3RyZXRjaCBmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjo0MzoxNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgdHVubmVsICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjI5OjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIGJ1bGdlICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjI1OjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3RyZXRjaCAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOCAyMzo1Njo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSAgdmRwYXVtcGVnNGRlYzogZml4IHR5cG8gaW4gZGVmYXVsdF9ub25faW50cmFfcXVhbnRfbWF0cml4CgoyMDEwLTA3LTE0IDExOjAzOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuaDoKCSAgdmRwYXU6IGFkZCBtcGVnNCBwYXJ0MiBkZWNvZGVyCgoyMDEwLTA4LTA4IDEyOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICBjaGVja3M6IHNraXAgaWQzbXV4IHVuaXQgdGVzdHMgdGhhdCBuZWVkIGlkM2RlbXV4IGlmIGlkM2RlbXV4IGlzIG5vdCBhdmFpbGFibGUKCjIwMTAtMDgtMDggMTI6MjY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1aWxkIGFuZCBkaXN0IG5ldyBjb2xvcmVmZmVjdHMgcGx1Z2luCgkgIEZpeGVzIG1ha2UgZGlzdGNoZWNrLgoKMjAxMC0wOC0wOCAxMjowMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE9ubHkgY2hlY2sgdGhlIHBsdWdpbiBmaWxlbmFtZXMsIG5vdCB0aGUgZGlyZWN0b3J5IG5hbWVzCgoyMDEwLTA4LTA4IDExOjU2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRG9uJ3QgdHJ5IHRvIHJlZ2lzdGVyL2xvYWQgdGhlIHNhbWUgZnJlaTByIHBsdWdpbiBhdCBkaWZmZXJlbnQgbG9jYXRpb25zIHR3aWNlCgkgIFRoaXMgY291bGQgaGFwcGVuIGJlY2F1c2UgZm9yIGV4YW1wbGUgL3Vzci9saWIgaXMgbGlua2VkCgkgIHRvIC91c3IvbGliNjQgYW5kIGJvdGggYXJlIGxvYWRlZC4gVGhlIGZyZWkwciBzcGVjaWZpY2F0aW9uCgkgIHNheXMgdGhhdCB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gbXVzdCBvbmx5IGJlIGNhbGxlZCBvbmNlCgkgIGFuZCBmb3Igc29tZSBwbHVnaW4gd2VpcmQgdGhpbmdzIChpbmNsdWRpbmcgY3Jhc2hlcykgYXJlCgkgIGhhcHBlbmluZy4KCSAgRml4ZXMgYnVnICM2MjM3MTAuCgoyMDEwLTA4LTA2IDAxOjU2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWxpZ24gYWN0dWFsIGRlZmF1bHQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIHdpdGggZGVmYXVsdHMgaW4gcGFyYW0gc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNDA0CgoyMDEwLTA4LTA2IDEyOjE0OjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwYXU6IGZpeCBkZXN0cnVjdGlvbiBvZiBHc3RWZHBEZXZpY2Ugd2hlbiBpdCBmYWlsZWQgdG8gb3BlbgoJICBvbmx5IGNsb3NlIGRpc3BsYXkgaW4gZmluYWxpemUgYW5kIGNoZWNrIGlmIHZkcF9kZWNvZGVyX2Rlc3Ryb3kgaXMgYXZhaWxhYmxlCgkgIGJlZm9yZSB3ZSB1c2UgaXQKCjIwMTAtMDgtMDUgMjM6NTU6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IHVzZSBzZXBhcmF0ZSBtdXRleCBmb3IgZGV2aWNlIGxvY2tpbmcKCSAgd2UgY2FuJ3QgdXNlIEdTVF9PQkpFQ1RfTE9DSyBzaW5jZSB0aGF0IGNhdXNlIHByb2JsZW1zIHdoZW4gd2UgdHJ5IHRvIHBvc3QKCSAgZXJyb3JzLCBkdWUgdG8gZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlIGFsc28gdGFraW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sKCjIwMTAtMDgtMDYgMTE6MDQ6NTcgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IGFkZCBjb25uZWN0LXRpbWVvdXQgYW5kIHJlYWQtdGltZW91dCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUwNzYKCjIwMTAtMDgtMDYgMTA6NDQ6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGFkZCAiY29va2llcyIgcHJvcGVydHkKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNhbWVlciBOYWlrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUxNzQKCjIwMTAtMDctMjUgMTc6MDQ6MTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogY2xvc2Ugb3VyIG93biB3aW5kb3cgd2hlbiBjaGFuZ2luZyB0aGUgd2luZG93IGlkCgkgIElmIHdlIGNyZWF0ZWQgdGhlIHdpbmRvdywgaXQgbmVlZHMgdG8gYmUgY2xvc2VkIGFmdGVyIHNldHRpbmcgYSBuZXcKCSAgd2luZG93IGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0MjkwCgoyMDEwLTA3LTI1IDE3OjAxOjE5ICswMjAwICBSYWltbyBKYXJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGFsbG93IGNoYW5naW5nIHdpbmRvdyBJRCB3aGlsc3QgaW4gUExBWUlORyBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0MjkwCgoyMDEwLTA4LTA2IDAzOjE5OjE2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IExvYWQgcGx1Z2lucyBpbiAvdXNyL3tsb2NhbC8sfWxpYnszMiw2NH0vZnJlaTByLTEgdG9vCgkgIExvYWRzIHRoZSBwbHVnaW5zIGluIG1vcmUgcGF0aHMgd2hlcmUgdGhleSBjb3VsZCBiZSBpbnN0YWxsZWQgYnkKCSAgbXVsdGlsaWIgZGlzdHJpYnV0aW9ucy4KCSAgRml4ZXMgIzYyMzcxMAoKMjAxMC0wOC0wNSAxMzo1NzoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDgtMDMgMTA6MDg6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBjaWNsZWd0ICJyYWRpdXMiIHByb3BlcnR5IHJlbGF0aXZlCgkgIE1ha2UgdGhlICJyYWRpdXMiIHByb3BlcnR5IG9mIENpcmNsZUdlb21ldHJpY1RyYW5zZm9ybSByZWxhdGl2ZS4KCSAgVGhpcyBpcyBtb3JlIGNvaGVyZW50IHdpdGggdGhlIHdheSBbeCx5XS1jZW50ZXIgcHJvcGVydGllcyBhcmUgaGFuZGxlZAoJICBhbmQgYWxsb3cgdG8gc2V0IGEgcmFkaXVzIHdpdGhvdXQga25vd2luZyB0aGUgdmlkZW8gc2l6ZS4KCSAgUmFkaXVzIGlzIGRlZmluZWQgd2l0aCByZXNwZWN0IHRvIHRoZSBjaXJjbGUgY2lyY3Vtc2NyaWJlZCBhYm91dCB0aGUKCSAgdmlkZW8gcmVjdGFuZ2xlIHNvIHRoYXQgYSBwb2ludCBpbiB0aGUgY2VudGVyIGhhcyByYWRpdXMgMC4wIGFuZCBvbmUgaW4KCSAgYSB2ZXJ0ZXggaGFzIHJhZGl1cyAxLjAuCgkgIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCBhIHJlZ3Jlc3Npb24gZnJvbSB0aGUgcHJldmlvdXMgYWJzb2x1dGUgd2F5IG9mCgkgIGRlZmluaW5nIHRoZSByYWRpdXMgYXMgYSB1c2VyIHdobyBrbm93cyB0aGUgdmlkZW8gc2l6ZSBjYW4gZWFzaWx5CgkgIGNhbGN1bGF0ZSB0aGUgcmVsYXRpdmUgcmFkaXVzIGFuZCBzZXQgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTk1OQoKMjAxMC0wOC0wNCAyMzo1MDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IG1pbm9yIGNvZGUgY2xlYW4tdXAKCSAgQWRkIGhlbHBlciBmdW5jdGlvbiB0byB3cml0ZSB0ZXh0IGZyYW1lcyB3aXRoIGp1c3Qgb25lIHN0cmluZy4KCjIwMTAtMDgtMDQgMjM6NDQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEwLTA2LTE0IDIwOjA3OjMzICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgaWQzbXV4OiBhZGQgc3VwcG9ydCBmb3IgYmVhdHMtcGVyLW1pbnV0ZSB0YWcKCSAgV3JpdGUgYmVhdHMgcGVyIG1pbnV0ZSBpbnRvIHRoZSBUQlBNIGZyYW1lLCBhbmQgYWRkIHVuaXQKCSAgdGVzdCBmb3IgaWQzbXV4LCBiYXNlZCBvbiBpZDN2Mm11eCB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE1MjMKCjIwMTAtMDgtMDQgMTk6MjY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIElTTyBDODkgb3IgQzk5IGFuZCB3aGljaCBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZAoJICBUaGlzIGZpcnN0IGNoZWNrcyB3aGF0IGlzIHJlcXVpcmVkIGZvciBJU08gQzk5IHN1cHBvcnQgYW5kIHNldHMgdGhlIHJlbGV2YW50CgkgIGNvbXBpbGVyIHBhcmFtZXRlcnMgYW5kIGlmIG5vIEM5OSBjb21waWxlciBpcyBmb3VuZCwgaXQgY2hlY2tzIGZvciBhCgkgIEM4OSBjb21waWxlci4gVGhpcyBlbmFibGVzIHVzIHRvIGNoZWNrIGZvciBhbmQgdXNlIEM4OS9DOTkgZnVuY3Rpb25zCgkgIHRoYXQgZ2NjIGhpZGVzIGZyb20gdXMgd2l0aG91dCB0aGUgY29ycmVjdCBjb21waWxlciBwYXJhbWV0ZXJzLgoKMjAxMC0wOC0wNCAxMDoxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSAgY29sb3JlZmZlY3RzOiBBZGQgdG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMTAtMDgtMDQgMTA6MTE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY29sb3JlZmZlY3RzOiBNaW5vciBjbGVhbnVwCgoyMDEwLTA4LTA0IDEwOjA5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkgIGNvbG9yZWZmZWN0czogSW1wcm92ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBhIGJpdAoKMjAxMC0wOC0wNCAxMDowODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJICBjb2xvcmVmZmVjdHM6IERvbid0IHVzZSB0aGUgZml4ZWRfY2FwcyBmdW5jIG9uIHRoZSBwYWRzCgkgIGNvbG9yZWZmZWN0cyBjYW4gcmVuZWdvdGlhdGUgZHVyaW5nIHBsYXliYWNrIHdpdGhvdXQgYW55IHByb2JsZW1zLgoKMjAxMC0wOC0wMyAxNDozOToyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IGFkZCBheXV2IHN1cHBvcnQKCSAgQ3VycmVudGx5IGltcGxlbWVudGVkIHN3aXRjaGluZyBmcm9tIHl1diB0byByZ2IsIGxvb2tpbmcgdXAgcmdiIGZyb20gdGhlCgkgIHRhYmxlIGluIHRoZSB1c3VhbCB3YXksIGdldHRpbmcgYmFjayB0byB5dXYuIFdpdGggbHVtYSBsb29rdXAgcHJlc2V0cwoJICAoc2VwaWEsIGhlYXQsIHhyYXkpIGEgY29sb3Igc3BhY2UgY29udmVyc2lvbiBpcyBzYXZlZCBkaXJlY3RseSBsb29raW5nCgkgIHVwIHJnYiBmb3IgYSBnaXZlbiBZIGFuZCBjb252ZXJ0aW5nIHRvIHl1di4KCSAgUHJvYmFibHkgdGhpcyBsYXR0ZXIgc3RlcCBjYW4gZXZlbiBiZSBtYWRlIGZhc3RlciBwcmVjYWxjdWxhdGluZyBhIGx1bWEKCSAgdG8geXV2IHRhYmxlIGluIGFuIG91dGVyIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU4MTcKCjIwMTAtMDgtMDEgMjM6MDM6MjQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjb2xvcmVmZmVjdHM6IG5ldyBwbHVnaW4gZm9yIGxvb2t1cCB0YWJsZSBjb2xvciBtYXBwaW5nCgkgIEltcGxlbWVudHMgYSBjb2xvciBsb29rdXAgdGFibGUgZmlsdGVyIHdpdGggNCBwcmVzZXRzOgoJICAtIGhlYXQ6IGZha2UgaGVhdCBjYW1lcmEgZWZmZWN0CgkgIC0gc2VwaWE6IHNlcGlhIHRvbmluZwoJICAtIHhyYXk6IGludmVydCArIHNoYWRlIHRvIGJsdWUKCSAgLSB4cHJvOiBjcm9zcyBwcm9jZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU4MTcKCjIwMTAtMDgtMDMgMTA6Mjk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgIGRvY3M6IEFkZCBsb3RzIG9mIGdhdWRpZWZmZWN0cy9nZW9tZXRyaWN0cmFuc2Zvcm0gc3ltYm9scyB0byB0aGUgZG9jcwoKMjAxMC0wOC0wMiAxMTozMDo1MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAiZmlzaGV5ZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJmaXNoZXllIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBGYWtlIGZpc2hleWUgbGVucyBmaWx0ZXIuIFNvbWV3aGF0IGVtcGlyaWMgaW1wbGVtZW50YXRpb24gYmVjYXVzZSBJCgkgIGRpZG4ndCBmaW5kIGFueSBnb29kIGFsZ29yaXRobSB0aGF0IGRvZXMgaXQgd2l0aCBuaWNlIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTE6MTI6NDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJtaXJyb3IiCgkgIFBvcnRzIGdsZWZmZWN0cyAibWlycm9yIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBTaW1wbGUgeWV0IGVmZmVjdGl2ZSBtaXJyb3IgZWZmZWN0LCBzcGxpdHMgdGhlIGltYWdlIGludG8gaGFsdmVzIGFuZAoJICByZWZsZWN0IHRoZSBmaXJzdCBpbnRvIHRoZSBzZWNvbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTE6MDE6MzEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJzcXVhcmUiCgkgIFBvcnRzIGdsZWZmZWN0cyAic3F1YXJlIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBNYXBzIGEgcmVnaW9uIGFyb3VuZCB0aGUgY2VudGVyIGludG8gYSB6b29tZWQgc3F1YXJlIGFuZCBzbW9vdGhseSBnZXQKCSAgYmFjayB0byBub3JtYWwgem9vbS4gV2l0aCBmYWNlcyBpdCBtYWtlcyBhIGZ1bm55ICJjdWJlLWZhY2UiIGVmZmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMDo0Njo0NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInR1bm5lbCIKCSAgUG9ydHMgZ2xlZmZlY3RzICJ0dW5uZWwiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIERvIG5vdGhpbmcgaW4gYSBjaXJjbGUgYXJvdW5kIHRoZSBjZW50ZXIgYW5kIHpvb20gb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAwOTozOTo1MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJidWxnZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJidWxnZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgQWRkcyBhIHByb3R1YmVyYW5jZSBhcm91bmQgdGhlIGNlbnRlciBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAwOToxNzowMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJzdHJldGNoIgoJICBQb3J0cyBnbGVmZmVjdHMgInN0cmV0Y2giIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIFNocmlua3MgdGhlIGltYWdlIGFyb3VuZCB0aGUgY2VudGVyIGFuZCBncmFkdWFsbHkgcmV0dXJuIHRvIG5vcm1hbCB6b29tCgkgIGNyZWF0aW5nIGZ1bm55IGNhcmljYXR1cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDE4OjMzOjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBzZXQgYmFjayBwbHVnaW4gcmFua3MgdG8gR1NUX1JBTktfTk9ORQoJICB0aGUgcHJldmlvdXMgY2hhbmdlIHdhcyBub3QgbWVhbnQgdG8gc2xpcCBpbgoKMjAxMC0wOC0wMiAxODoyMzoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IHNsaWdodGx5IGZpeCBHc3RCYXNlVmlkZW9EZWNvZGVyIHRpbWVzdGFtcGluZwoJICBjbGVhciB0aW1lc3RhbXBzIG9uIGZsdXNoIGFuZCBwcm9wZXJseSBjYWxjdWxhdGUgdGhlIGZyYW1lJ3MgZW5kIG9mZnNldAoKMjAxMC0wOC0wMSAxMjozMjozMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSAgdmRwYXU6IGluaXQgZGVidWcgY2F0ZWdvcnkgaW4gZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X3R5cGUKCjIwMTAtMDgtMDIgMjA6NDE6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBBZGQgR2F1c3NpYW4gQmx1ciBlZmZlY3QsIGFuZCBicmllZiBleGFtcGxlLgoKMjAxMC0wNy0zMCAyMzo1OToxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCB3YXJuaW5nIG9uIG9zeC4KCjIwMTAtMDctMzAgMjI6Mjc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBhZGQgZXJyb3IgcmVwb3J0aW5nIHRvIGRldmljZSBjcmVhdGlvbgoKMjAxMC0wNy0zMCAxNjo1NDo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBzbWFsbCB0eXBvIGluIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDctMzAgMTQ6NDc6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiB1c2UgZ3N0X3ZkcF95dXZfdG9fdmlkZW9fY2FwcyBpbiBHc3RWZHBWaWRlb1NyY1BhZCB0byB0cmFuc2Zvcm0gc2V0IGNhcHMKCSAgdGhpcyB3YXkgd2UnbGwga2VlcCBvdGhlciBhbGwgb3RoZXIgZmllbGRzIGluIHRoZSBjYXBzIHdoaWNoIHdlIGRpZG4ndCB0YWtlIGluCgkgIGFjY291bnQgd2hlbiB3ZSBtYW51YWxseSBjcmVhdGVkIHRoZSAidmlkZW8veC12ZHBhdS12aWRlbyIgY2FwcwoKMjAxMC0wNy0zMCAxNDo0NDowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbmFtZSBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9wYXJzZV95dXZfY2FwcyBhbmQgbW92ZSBpdCB0byBnc3R2ZHB1dGlscy5oCgoyMDEwLTA3LTMwIDE0OjA3OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXU6IEdzdFZkcE91dHB1dFNyY1BhZCB1c2UgZ3N0X3BhZF9hbGxvYyB3aGVuIG91dHB1dHRpbmcgdmlkZW8veC1yYXctcmdiCgkgIHdlIGltcGxlbWVudCAiYWNjZXB0Y2FwcyIgdG8gcHJldmVudCB1cyBmcm9tIGdldHRpbmcgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQKCSAgd2lkdGggYW5kIGhlaWdodCBmcm9tIHdoYXQgd2UgcmVxdWVzdGVkLgoKMjAxMC0wNy0zMCAxMToyOToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXU6IHByb3Blcmx5IHJlbW92ZSAiY2hyb21hLXR5cGUiIGZpZWxkIGZyb20gdHJhbnNmb3JtZWQgY2FwcwoKMjAxMC0wNy0zMCAxMToyNzoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogdXNlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVyUG9vbCB0byBjYWNoZSBvdXIgYnVmZmVycwoJICBUaGlzIHdheSB3ZSdsbCByZXVzZSB0aGUgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJzIGlmIHRoZXkncmUgb2YgdGhlIHNhbWUKCSAgc2l6ZSBhbmQgY2hyb21hLXR5cGUvcmdiYS1mb3JtYXQuCgkgIEFsc28gcmVtb3ZlIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfbmVnb3RpYXRlIGFuZCBzZXQgYSAic2V0Y2FwcyIgZnVuY3Rpb24gb24KCSAgR3N0VmRwT3V0cHV0U3JjUGFkIGluc3RlYWQsIGxlYXZpbmcgbmVnb3RpYXRpb24gdG8gR3N0VmRwVmlkZW9Qb3N0UHJvY2Vzcy4KCjIwMTAtMDctMzAgMTE6MjA6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IHVzZSBHc3RWZHBPdXRwdXRCdWZmZXJQb29sIHRvIGFsbG9jIG91ciBidWZmZXJzCgkgIFRoaXMgd2F5IHdlJ2xsIHJldXNlIG91ciBHc3RWZHBPdXRwdXRCdWZmZXJzIGlmIHRoZXkncmUgb2YgdGhlIHNhbWUgc2l6ZSBhbmQKCSAgcmdiYS1mb3JtYXQKCjIwMTAtMDctMzAgMTE6MTY6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiB1c2UgR3N0VmRwVmlkZW9CdWZmZXJQb29sIGluIEdzdFZkcFZpZGVvU3JjUGFkCgkgIFdlIGFsc28gZG9uJ3QgcGFkX2FsbG9jIG91ciBHc3RWZHBWaWRlb0J1ZmZlcnMgYW55bW9yZSBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0CgkgIGRvd25zdHJlYW0gbmVnb3RhdGlvbiBhbnl3YXkuCgoyMDEwLTA3LTMwIDExOjA2OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogYWRkIEdzdFZkcE91dHB1dEJ1ZmZlclBvb2wKCSAgR3N0VmRwVmlkZW9PdXRwdXRQb29sIGlzIGEgc3ViY2xhc3Mgb2YgR3N0VmRwQnVmZmVyUG9vbCB0aGF0IGNhY2hlcwoJICBHc3RWZHBPdXRwdXRCdWZmZXJzCgoyMDEwLTA3LTMwIDExOjAxOjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGFkZCBHc3RWZHBWaWRlb0J1ZmZlclBvb2wKCSAgR3N0VmRwVmlkZW9CdWZmZXJQb29sIGlzIGEgc3ViY2xhc3Mgb2YgR3N0VmRwQnVmZmVyIHRoYXQgY2FjaGVzCgkgIEdzdFZkcFZpZGVvQnVmZmVycwoKMjAxMC0wNy0zMCAxMDo1NTo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSAgdmRwYXU6IGFkZCBHc3RWZHBCdWZmZXJQb29sIGJhc2UgY2xhc3MKCSAgR3N0VmRwQnVmZmVyUG9vbCB3aWxsIGJlIHVzZWQgdG8gY2FjaGUgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJzIHNpbmNlCgkgIGNyZWF0aW5nIHRoZXNlIGNhbiBiZSBhIGNvc3RseSBvcGVyYXRpb24gb24gc29tZSBoYXJkd2FyZS4KCjIwMTAtMDctMjggMjE6Mzk6MTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW1vdmUgR3N0VmRwT3V0cHV0U3JjUGFkICJ0ZW1wbGF0ZS1jYXBzIiBwcm9wZXJ0eQoJICBpbnN0ZWFkIHdlIGRvIGFzIEdzdFZkcFZpZGVvU3JjUGFkIGFuZCB1c2UgdGhlICJ0ZW1wbCIgcHJvcGVydHkgb2YgR3N0UGFkLAoJICB3aGljaCBlbmFibGUgdXMgdG8gY2hhbmdlIHRoZSBzaWduYXR1cmUgb2YgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9uZXcgdG8gbWF0Y2gKCSAgZ3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZQoKMjAxMC0wNy0yOCAyMToxNTo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW1vdmUgR3N0VmRwT3V0cHV0U3JjUGFkIGNvZGUgdG8gcmV0cmlldmUgdGhlIGRldmljZSBmcm9tIGRvd25zdHJlYW0KCSAgd2Ugbm93IG5vIGxvbmdlciB0cnkgdG8gZ2V0IHRoZSBHc3RWZHBEZXZpY2UgZnJvbSBkb3duc3RyZWFtIHNpbmNlIGl0IGluCgkgIHByYWN0aWNlIGRpZG4ndCBnaXZlIHVzIGFueXRoaW5nIGFuZCBjb21wbGljYXRlcyB0aGUgY29kZSBhbG90LiBOZXZlcnRoZWxlc3MgaWYgZGV2aWNlCgkgIGRpc3RyaWJ1dGlvbiBzaG91bGQgYmUgZG9uZSB0aGVyZSdzIHByb2JhYmx5IGEgbG90IGJldHRlciB3YXlzIHRvIGRvIGl0LgoJICBJbnN0ZWFkIHdlIG5vdyBzaW1wbHkgYXF1aXJlIHRoZSBkZXZpY2UgaW4gdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIHdoZW4gd2UncmUKCSAgZ29pbmcgaW50byBQQVVTRUQuCgoyMDEwLTA3LTI3IDIzOjI0OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjbGVhbnVwIEdzdFZkcERlY29kZXIgb3BlbmluZyBvZiBpdCdzIEdzdFZkcERldmljZQoJICB3ZSBub3cgbm8gbG9uZ2VyIHRyeSB0byBnZXQgdGhlIEdzdFZkcERldmljZSBmcm9tIGRvd25zdHJlYW0gc2luY2UgaXQgaW4KCSAgcHJhY3RpY2UgZGlkbid0IGdpdmUgdXMgYW55dGhpbmcgYW5kIGNvbXBsaWNhdGVzIHRoZSBjb2RlIGFsb3QuIE5ldmVydGhlbGVzcyBpZiBkZXZpY2UKCSAgZGlzdHJpYnV0aW9uIHNob3VsZCBiZSBkb25lIHRoZXJlJ3MgcHJvYmFibHkgYSBsb3QgYmV0dGVyIHdheXMgdG8gZG8gaXQuCgoyMDEwLTA3LTI3IDIzOjE3OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IEdzdEJhc2VWaWRlb0RlY29kZXIgcmV0dXJuaW5nIHdyb25nIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCgkgIHdoZW4gZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9bc3RhcnR8c3RvcF0gZmFpbHMgd2Ugbm93IHJldHVybgoJICBHU1RfU1RBVEVfQ0hBTkdFX0ZBSUxVUkUgaW5zdGVhZCBvZiByZXR1cm5pbmcgd2hhdCB0aGUgcGFyZW50IGNsYXNzIHJldHVybnMKCjIwMTAtMDctMjcgMTU6MzM6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVlZGVkIHNldHRpbmcgb2YgYnVmZmVyIGZsYWdzCgkgIEdzdEJhc2VWaWRlb0RlY29kZXIgc2V0cyBHU1RfVklERU9fQlVGRkVSX1RGRiBmb3IgdXMgYW5kCgkgIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgZGVjb2RlZCBmcmFtZXMuCgoyMDEwLTA3LTI5IDE2OjA4OjAzICswMjAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3d2aWRlb3NyYzogZG9uJ3QgbWFrZSBhIHJhbmdlIGlmIG1pbj09bWF4CgkgIEZpeGVzIGJ1ZyAjNjI1MTM4CgoyMDEwLTA3LTI5IDEwOjM4OjU4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhY3R1YWxseSB3b3JrIHdoZW4gd2UgaGF2ZSBzbWFsbCBidWZmZXJzIGNvbWluZyBpbgoJICBhdmFpbGFibGVfZmFzdCBpcyBub3Qgd2hhdCB3ZSB3YW50IGFuZCBpdCB3aWxsIG5ldmVyIGdldCB0byBkaXNjb3ZlciBwYWNrZXQKCSAgc2l6ZSBpZiAxODggYnl0ZSBidWZmZXJzIGFyZSBiZWluZyBwaWNrZWQgdXAuCgoyMDEwLTA3LTI4IDE4OjM2OjUzICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnc2V0dGluZ3MgeG1sIHNjaGVtYSBmaWxlCgoyMDEwLTA3LTI4IDE4OjM0OjE1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkgIGRvY3M6IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIHRoZSBkb2NzCgoyMDEwLTA3LTI4IDE3OjQ2OjUzICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGZpeCB1cCBtYWNyb3MgYW5kIGZ1bmN0aW9uIG5hbWVzIHRvIG1hdGNoIGd1aWRlbGluZXMKCjIwMTAtMDctMjggMTc6MzQ6MDIgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IGZpeCBzdHJ1Y3R1cmUgbmFtZXMgdG8gY29tcGx5IHdpdGggdGhlIHBsdWdpbiBtb3ZpbmcgZ3VpZGVsaW5lcwoKMjAxMC0wNy0yOCAxNjoxNTo1MyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjYXBzIGJpdHJhdGUgYXQgbGFzdCBjaGFuY2UKCSAgSWYgd2UgZGlkbid0IGdldCB0aGUgc3RyZWFtJ3MgYml0cmF0ZSBmcm9tIG9uZSBvZiB0aGUgYXRvbXMsCgkgIHRyeSBnZXR0aW5nIGl0IGZyb20gdGhlIGNhcHMgYXMgYSBsYXN0IHJlc29ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yOCAxNjoxMjoxMSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGJ0cnQgLSBtYXggYml0cmF0ZSBiZWZvcmUgYXZlcmFnZQoJICBBY2NvcmRpbmcgdG8gaXNvIGJhc2UgbWVkaWEgZmlsZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZQoJICBpcyBiZWZvcmUgdGhlIGF2ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI3IDE4OjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IHRoZSBzZWdtZW50IG9uIEZMVVNIX1NUT1AgYW5kIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWQoKMjAxMC0wNy0yNyAxODowNzowMCArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZGlzdCBuZXcgaGVhZGVyIGZpbGUKCSAgRml4IG1ha2UgZGlzdGNoZWNrLgoKMjAxMC0wNy0yMyAxOTo0MToyOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBJbXByb3ZlbWVudHMgY29udHJpYnV0ZWQgZnJvbSB0aGUgTW9vdmlkYSBwcm9qZXQuCgkgICogSW5oZXJpdCBmcm9tIEdzdFZpZGVvU2luawoJICAqIEltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICAqIFByb3BlciBDT00gaW5pdGlhbGl6YXRpb24gZm9yIHRocmVhZGVkIGVudmlyb25tZW50cwoJICAqIEZpeCBXaW5kb3cgcmVzb3VyY2UgbGVhawoJICAqIEFkZCBFVlIgc3VwcG9ydCBmb3IgYmV0dGVyIHZpZGVvIHNjYWxpbmcgb24gV2luZG93cyBWaXN0YSBhbmQgYWJvdmUKCSAgKiBPbmx5IGFwcGx5IFBBUiBzY2FsaW5nIHdoZW4gdGhlIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5IGlzIHNldCB0byBzdGF5CgkgIGNvbnNpc3RlbnQgd2l0aCB0aGUgb3RoZXIgTGludXggc2lua3MKCSAgKiBQcmV2ZW50IGFuIGluZmluaXRlIGxvb3Agd2l0aCB0aGUgd25kcHJvYyBjaGFpbgoJICAqIEZpeCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gdXNlIHRoZSBvYmplY3QgaW5zdGFuY2UKCjIwMTAtMDctMjMgMDA6Mjg6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGdzdF92ZHBfZGVjb2Rlcl9yZW5kZXIgYW5kIGdzdF92ZHBfZGVjb2Rlcl9pbml0X2RlY29kZXIKCjIwMTAtMDctMjIgMDk6MjE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGV4YW1wbGVzOiBVc2UgY2Fpcm8gaW5zdGVhZCBvZiBnZGtfZHJhd18qIEFQSQoJICBGaXhlcyBidWcgIzYyNTAwMy4KCjIwMTAtMDctMTIgMjI6Mzc6NDcgLTAzMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBBZGRzIG5ldyBwbHVnaW4gJ2dhdWRpZWZmZWN0cycKCSAgQWRkcyB0aGUgbmV3ICdnYXVkaWVmZmVjdHMnIHBsdWdpbiwgb3JpZ2luYWxseSBmb3VuZAoJICBoZXJlOiBodHRwOi8vZ2l0aHViLmNvbS9sdWlzYmcvZ2F1ZGlfZWZmZWN0cwoJICBDb250YWlucyB0aGUgZm9sbG93aW5nIHZpZGVvIGVmZmVjdCBlbGVtZW50czogYnVybiwgY2hyb21pdW0sIGRpbGF0ZSwKCSAgZG9kZ2UsIGV4Y2x1c2lvbiBhbmQgc29sYXJpemUuCgkgIFRoYW5rcyB0byBKYW4gU2NobWlkdCBmb3IgdGhlIHJldmlld2luZyBhbmQgcmVmYWN0b3JpbmcKCjIwMTAtMDctMTkgMjE6NTM6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiB0cnkgdG8gY2FsY3VsYXRlIGZyYW1lcmF0ZSBpZiB3ZSBkb24ndCBnZXQgb25lIGZyb20gdXBzdHJlYW0KCjIwMTAtMDctMTkgMTE6MzQ6MzkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogZml4IHNlZ2ZhdWx0IHdoZW4gdmRwYXUgZGV2aWNlIGNvdWxkIG5vdCBiZSBjcmVhdGVkCgoyMDEwLTA3LTE4IDIxOjE1OjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBwcm9ibGVtIHdoZW4gZW5jb3VudGVyaW5nIEdTVF9OQUxfQVVfREVMSU1JVEVSCgoyMDEwLTA3LTA4IDA5OjU2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgIHdhc2FwaXNyYzogVXNlIG5ldyBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKQoKMjAxMC0wNy0wOCAwOTo1NTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgYWxzYXNwZGlmc2luazogVXNlIG5ldyBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKQoKMjAxMC0wNy0xNSAxMzoyMzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBjYWxjdWxhdGUgd2lkdGggYW5kIGhlaWdodCBmcm9tIGJpdHN0cmVhbSBpbmZvCgoyMDEwLTA3LTE1IDExOjEwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCB1c2FnZSBvZiBnX2JpdF9zdG9yYWdlCgoyMDEwLTA3LTE0IDExOjE5OjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgemlnemFnIG1hdHJpeAoKMjAxMC0wNy0xNCAxMToxNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IHVzZSBnX2JpdF9zdG9yYWdlIGluc3RlYWQgb2YgbG9nMgoJICBsb2cyIGNhdXNlZCBjb21waWxlIGlzc3VlcyBvbiBjZXJ0YWluIHBsYXRmb3JtcwoKMjAxMC0wNy0xMyAwMDo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJICBnc2V0dGluZ3M6IEZpeCBtYWludGFpbmVyLWNsZWFuIHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZQoJICBEbyBub3QgdXNlIEBHU0VUVElOR1NfUlVMRVNAIGlmIGdzZXR0aW5ncyBpcyBub3QgYXZhaWxhYmxlCgkgIHRvIGF2b2lkIG1haW50YWluZXItY2xlYW4gZmFpbGluZy4KCjIwMTAtMDctMTEgMTA6NDc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogVXNlIGNvcnJlY3Qgb3JkZXIgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBwbHVnaW5zCgkgIEFuZCBkb24ndCBmYWlsIGlmIGEgcGx1Z2luIHdhcyBhbHJlYWR5IHJlZ2lzdGVyZWQuIEZyZWkwciBhbGxvd3MKCSAgcGx1Z2lucyBpbiBkaXJlY3RvcmllcyB3aXRoIGhpZ2hlciBpbXBvcnRhbmNlIHRvIG92ZXJyaWRlIHBsdWdpbnMKCSAgZnJvbSBkaXJlY3RvcmllcyB3aXRoIGxvd2VyIGltcG9ydGFuY2UuCgoyMDEwLTA3LTEwIDE2OjUyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGVuYWJsaW5nIGF1dG9tYXRpYyBpbnNlcnRpb24gb2YgYWx0LXJlZiBmcmFtZXMgYnkgdGhlIGVuY29kZXIKCjIwMTAtMDctMTAgMTY6NTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggaGFuZGxpbmcgb2YgaW52aXNpYmxlL2FsdCByZWYgZnJhbWVzCgoyMDEwLTA3LTEwIDE1OjUwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpeCBtZW1vcnkgbGVhawoJICBUaGUgdGltZXN0YW1wcyBhcmUgb25seSB1c2VkIGlmIHRoZSBvdXRwdXQgYWRhcHRlciBpcyB1c2VkLCBub3QKCSAgaWYgY29tcGxldGUgZnJhbWVzIGFyZSBwcm92aWRlZCBieSB0aGUgZGVjb2RlciBhbmQgZmluaXNoX2ZyYW1lKCkgaXMKCSAgY2FsbGVkIGFuZCBldmVuIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBvdXRwdXQgYWRhcHRlciBpcyB1c2VkIHRoZXkKCSAgbWlnaHQgbm90IGJlIHVzZWQgYW5kIGFyZSBsZWFrZWQuCgoyMDEwLTA3LTEwIDE1OjQ2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdnA4ZGVjCgoyMDEwLTA3LTEwIDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEltcHJvdmUgdW5pdCB0ZXN0IGEgYml0CgoyMDEwLTA3LTEwIDE1OjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEFsc28gY2hlY2sgdGhlIG91dHB1dCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMDctMTAgMTU6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTA5IDE3OjQ0OjU2ICswMzAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmbW11eDogdXNlIGFsdGVybmF0aXZlIHdheSB0byBjaGVjayBmb3IgaW5mCgkgIE1TVkMgZW1pdHMgYSBkaXZpZGUtYnktemVybyBlcnJvciB3aGVuIGNvbXBpbGluZyBhaWZmbXV4LmMgb24gbGluZSAyMDUuCgkgIEZpeGVzICM2MjM4ODEuCgoyMDEwLTA3LTA4IDIxOjUzOjM1ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBmaXggY29tcGlsYXRpb24gYnkgdXNpbmcgdGhlIHJpZ2h0IGZ1bmN0aW9uCgkgIEZpeGVzICM2MjM4ODMuCgoyMDEwLTA3LTA4IDE3OjU4OjE2ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBleGlmIGZyYW1lIHNpemUKCSAgU2tpcCB0aGUgY29ycmVjdCBudW1iZXIgb2YgYnl0ZXMgd2hlbiByZWFkaW5nIGV4aWYKCSAgZGF0YQoJICBGaXhlcyAjNjIzODU0CgoyMDEwLTA3LTA4IDE1OjA3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogQ29ycmVjdGx5IGluaXRpYWxpemUgcHJvcGVydGllcyB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlcyBhZ2FpbgoKMjAxMC0wNy0wOCAwNzo1Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHByb3BlcnR5IGVudW1zIGFuZCB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBbHNvIGRvbid0IHVzZSBHX1BBUkFNX0NPTlNUUlVDVCwgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3IgZWxlbWVudHMuCgoyMDEwLTA3LTA3IDIzOjA2OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IHZpZXdmaW5lci1zaW5rIHByb3BlcnR5IGZvciBiaW5zCgkgIENvcnJlY3RseSBpdGVyYXRlIHZpZXdmaW5kZXItc2luayBjaGlsZHJlbiB3aGVuCgkgIGl0IGlzIGEgYmluLgoJICBGaXhlcyAjNjIzODAyCgoyMDEwLTA3LTA2IDE0OjQ4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSAnYnRydCcgYXRvbSBmb3IgSC4yNjQgbWVkaWEgaWYgcG9zc2libGUKCSAgVGhpcyB3cml0ZXMgb3V0IHRoZSBvcHRpb25hbCAnYnRydCcgYXRvbSAoTVBFRzRCaXRyYXRlQm94KSBmb3IgSC4yNjQKCSAgbWVkaWEgaWYgZWl0aGVyIG9yIGJvdGggb2YgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlIGFyZSBhdmFpbGFibGUgZm9yCgkgIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDUgMTQ6MDk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBXcml0ZSBhdmcvbWF4IGJpdHJhdGUgdG8gRVNEUyBpZiBhdmFpbGFibGUKCSAgVGhpcyBjb2xsZWN0cyB0aGUgJ2JpdHJhdGUnIGFuZCAnbWF4aW11bS1iaXRyYXRlJyB0YWdzIG9uIHRoZQoJICBjb3JyZXNwb25kaW5nIHBhZCBhbmQgdXNlcyB0aGVzZSB0byBwb3B1bGF0ZSB0aGVzZSBmaWVsZHMgaW4gdGhlIEVTRFMKCSAgd2hlcmUgYXBwbGljYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNyAxMDozMzoxOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IHJlc2V0IGZsb3cgcmV0dXJuIHN0YXRlIHRyYWNrZXIgYWZ0ZXIgZmx1c2ggdG8gYXZvaWQgc3B1cmlvdXMgZXJyb3JzIGFmdGVyIGZsdXNoaW5nIGluIHNvbWUgY2FzZXMuCgoyMDEwLTA3LTA3IDA4OjM3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBBZGQgc3VwcG9ydCBmb3Igd2lsZG1pZGkgMC4yLjMKCSAgRml4ZXMgYnVnICM2MjM3MjIuCgoyMDEwLTA3LTAxIDEwOjU2OjE5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBVcGRhdGUgcmVuZGVyZXIgYXNwZWN0IHJhdGlvIGFmdGVyIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB1cGRhdGUuCgkgIEEgbmV3IHZpcnR1YWwgbWV0aG9kIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBSZW5kZXJlclN1cHBvcnQgY2xhc3MuIEl0CgkgIGlzIGNhbGxlZCBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyZXIgY29uZmlndXJhdGlvbiBhbmQgZWFjaCB0aW1lIHRoZQoJICBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb2YgdGhlIHNpbmsgaXMgdXBkYXRlZC4KCSAgRml4ZXMgYnVnICM2MjMyNzIuCgoyMDEwLTA3LTA3IDAwOjE1OjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dhdWRpb2RlYzogRml4IGNvbXBpbGF0aW9uIGVycm9yCgkgIENsb3NlcyAjNjIzNzEzCgoyMDEwLTA3LTA2IDEzOjE1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogb25seSB1c2UgZ193YXJuaW5nKCkgd2hlbiBzZXR0aW5nIHRoZSBvbGQgaXMtbGl2ZSBwcm9wZXJ0eSwgbm90IHdoZW4gcmVhZGluZyBpdAoJICBEb24ndCB3YW50IHdhcm5pbmdzIGluIGUuZy4gZ3N0LWluc3BlY3QuCgoyMDEwLTA3LTA2IDEwOjUzOjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBVc2UgcHJvcGVyIGdzZXR0aW5ncyBzY2hlbWEgZmlsZQoKMjAxMC0wNy0wNSAxMTo1Mjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4ganBlZ3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wNy0wNSAxMTo0ODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggc2tpcHBpbmcgZXh0cmEgMHhmZiBtYXJrZXJzCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgbWFrZXMgdGhlIGpwZWdwYXJzZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgQWxzbyBhZGQgYSBkZWJ1ZyBzdGF0ZW1lbnQuCgkgIEZpeGVzICM2MjI2OTAuCgoyMDEwLTA3LTA1IDEwOjA5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAxMC0wNy0wNSAxMDowODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIHByZWRpY3Rpb24gbW9kZSBhbmQgdGhlIHN0YXJ0IGJhbmQKCjIwMTAtMDctMDUgMDk6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjZWx0OiBBZGQgY2hlY2sgZm9yIGNlbHQgMC44CgoyMDEwLTA3LTA1IDA5OjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBSZW1vdmUgc3VwcG9ydCBmb3IgY2VsdCA8IDAuNQoJICBjZWx0IDAuNSB3YXMgcmVsZWFzZWQgbW9yZSB0aGFuIGEgeWVhciBhZ28gYW5kIHRoZSBiaXRzdHJlYW0gaXMKCSAgaW5jb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgb25lIGFueXdheS4KCjIwMTAtMDctMDUgMDk6NDc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNlbHQgMC44CgkgIEZpeGVzIGJ1ZyAjNjIzNTUwLgoKMjAxMC0wNy0wNSAwOTozMjozMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSAgZ3NldHRpbmdzOiBmaXggc29tZSBtb3JlIHdhcm5pbmdzCgoyMDEwLTA3LTA1IDA5OjI4OjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkgIGdzZXR0aW5nczogZml4IGEgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wNy0wMyAxNjoxNTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgZ3NldHRpbmdzOiBJbml0aWFsIHZlcnNpb24gb2YgR1NldHRpbmdzIHBsdWdpbgoJICBUaGlzIHByb3ZpZGVzIGF1ZGlvL3ZpZGVvIHNvdXJjZXMgYW5kIHNpbmtzLgoJICBGaXhlcyBidWcgIzYxNjI2NS4KCjIwMTAtMDctMDMgMTc6NDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJICBkb2NzOiBJbnRlZ3JhdGUgVlA4IGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6NDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uLCBiYXNlZCBvbiB0aGUgdGhlb3JhZGVjL3RoZW9yYWVuYyBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjM0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogTW92ZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMsIGV0YyB0byBwdWJsaWMgaGVhZGVyIGZpbGVzIGZvciBndGstZG9jCgoyMDEwLTA3LTAyIDEyOjQ1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1c2UgYm9ndXMgY29kZWMvZm9ybWF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NQoKMjAxMC0wNy0wMSAxNToxOToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHN1cHBvcnQgZm9yIEdzdEJ1ZmZlckxpc3QKCSAgRmFjdG9yIG91dCBtb3N0IG9mIHRoZSBidWZmZXIgaGFuZGxpbmcgYW5kIGltcGxlbWVudCBhIGNoYWluX2xpc3QKCSAgZnVuY3Rpb24uIEFsc28sIHRoZSBEVE1GIG11eGVyIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGp1c3QgaGF2ZSBhCgkgIGZ1bmN0aW9uIHRvIGFjY2VwdCBvciByZWplY3QgYSBidWZmZXIgaW5zdGVhZCBvZiBoYXZpbmcgdG8gc3ViY2xhc3MKCSAgYm90aCBjaGFpbiBhbmQgY2hhaW5fbGlzdC4KCjIwMTAtMDctMDEgMTU6MTU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBpbnZhbGlkIGJ1ZmZlcnMKCjIwMTAtMDYtMTQgMTU6MTU6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBBZGQgdG8gZG9jcwoKMjAxMC0wNi0xMSAxODozMTowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBBZGQgZml4YXRlc19jYXBzCgoyMDEwLTA2LTEwIDIwOjM2OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IEFjY2VwdCB3aWRlciBjYXBzCgoyMDEwLTA2LTEwIDIwOjI1OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IE1ha2UgcGVyaW9kIG92ZXIgd2hpY2ggdG8gYXZlcmFnZSBjb25maWd1cmFibGUKCjIwMTAtMDYtMTAgMjA6NDM6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogU2ltcGxpZnkgdHJhbnNmb3JtX2NhcHMKCjIwMTAtMDYtMTAgMjA6MTQ6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogVXNlIGJhc2V0cmFuc2Zvcm0gY29ycmVjdGx5CgoyMDEwLTA2LTEwIDIwOjA4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IE1ha2UgcGx1Z2luIGFjdHVhbGx5IHdvcmsgYnkgdXNpbmcgYW4gYXZlcmFnZQoKMjAxMC0wNi0xMCAxOToxNzowMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IEltcG9ydCBwbHVnaW4KCSAgSW1wb3J0IHBsdWdpbiBmcm9tIFBzaU1lZGlhLCBiYXNlZCBvbiBteSB3b3JrCgoyMDEwLTA3LTAxIDE2OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBpcyB3cml0YWJsZQoJICBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBpcyBhIHJlYWR3cml0ZSBwcm9wZXJ0eSwgbm90IHJlYWQtb25seS4KCSAgQWxzbyBhZGRzIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbG9ncy4KCjIwMTAtMDYtMzAgMTg6NTk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgZ3N0LWZmbXBlZyB0byB3aGl0ZWxpc3QgYXMgd2VsbAoJICBUaGUgbXhmIHRlc3RzIHVzZSBzb21lIGZmbXBlZyBlbGVtZW50cyBpZiB0aGV5J3JlIGF2YWlsYWJsZS4KCjIwMTAtMDYtMzAgMTg6NTI6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgcGx1Z2luIGxvYWRpbmcgd2hpdGVsaXN0IHRvIHRlc3QgZW52aXJvbm1lbnQKCSAgT25seSB3YW50IHRvIGxvYWQgY29yZS8tYmFzZS8tZ29vZC8tdWdseS8tYmFkIHBsdWdpbnMgaGVyZS4KCjIwMTAtMDYtMzAgMTg6MjA6MTMgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZG9uJ3QgZnJlZSBQQVQgc3RydWN0dXJlIHdoaWNoIG1heSBzdGlsbCBiZSBuZWVkZWQgbGF0ZXIKCSAgVGhpcyBpcyBhIHByb2JsZW0gaWYgeW91IHR1bmUgdG8gYSBjaGFubmVsIHdoaWNoIHVzZXMgcGlkIFggYW5kIGxhdGVyIHR1bmUgdG8KCSAgYW5vdGhlciBjaGFubmVsIHdoZXJlIFggaXMgdXNlZCBmb3IgYW5vdGhlciB0YWJsZSAoZS5nLiBQTVQpLgoJICBUaGUgY29kZSB0aGF0IGRvZXMgdGhhdCB3YXMgYWN0dWFsbHkgYWxyZWFkeSB0aGVyZSBidXQgbmV2ZXIgdXNlZCBiZWNhdXNlIHRoZQoJICBwYXQgc3RydWN0dXJlIHdhcyBmcmVlZCBiZWZvcmUuIFRoZSBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIHRob3NlIGxpbmVzIGludGVuZGVkCgkgIHRvIGZpeCBhIG1lbW9yeSBsZWFrLCBidXQgd2UgY2xlYW4gdGhpbmdzIHVwIGVsc2V3aGVyZS4KCSAgRml4ZXMgIzYyMjcyNS4KCjIwMTAtMDYtMzAgMTg6MTk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnNwZWN0IGluZm8sIG5vdyBzb3J0ZWQgYW5kIGVzY2FwZWQKCjIwMTAtMDYtMzAgMTc6NTQ6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIHRlbXBvcmFyeSBvcmMgZmlsZXMKCjIwMTAtMDYtMjkgMTE6MjE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1OiBDaGVjayBmb3IgbG9nMiBhbmQgb25seSB1c2UgaXQgaWYgaXQncyBhdmFpbGFibGUKCjIwMTAtMDYtMjggMTY6MjA6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zLCAkKGJ1aWxkZGlyKSBhbmQgb3RoZXIgdGhpbmdzLgoJICBTZWUgIzYyMjk0NCBhbmQgIzU3MDQyOC4KCjIwMTAtMDYtMjggMTI6MDA6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXVoMjY0ZGVjOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBnX3B0cl9hcnJheV9mcmVlIGluY2FzZSBnbGliID49IDIuMjIKCjIwMTAtMDYtMjggMTE6MTk6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCByZXNpemluZyBvZiBvdXRwdXQKCjIwMTAtMDYtMjggMTE6MDg6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXVoMjY0ZGVjOiBkb24ndCB1c2UgZ2xpYiAyLjIyIGZ1bmN0aW9ucwoKMjAxMC0wNi0yNyAyMDoyOTowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNoYW5nZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHN0YXRlIGFwaQoKMjAxMC0wNi0yNyAxMDo1MjozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmcmVlIGZyYW1lcyBvbiBmaW5hbGl6ZSBpbiBHc3RIMjY0RFBCCgoyMDEwLTA2LTI3IDA5OjU1OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZGlzcGxheSBwcm9wZXJ0eSB0byBHc3RWZHBEZWNvZGVyCgoyMDEwLTA2LTI3IDAxOjI3OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXVoMjY0ZGVjOiByZW5hbWUgR3N0VmRwSDI2NEZyYW1lIHRvIEdzdEgyNjRGcmFtZQoKMjAxMC0wNi0yNyAwMDozNjoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBmaXggZXJyb3IgaGFuZGxpbmcgd2hlbiBwbHVnZ2luZyAidmRwYXV2aWRlb3Bvc3Rwcm9jZXNzICEgZmFrZXNpbmsiCgoyMDEwLTA2LTI3IDAwOjM1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZXJyb3IgcGFyYW1ldGVyIHRvIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9nZXRfZGV2aWNlCgoyMDEwLTA2LTI4IDEwOjQ3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IExpbmsgdG8gJChMSUJNKSBmb3IgbG9nMiBhbmQgZnJpZW5kcwoKMjAxMC0wNi0yNyAxOToyMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IEluY2x1ZGUgX3N0ZGludC5oIGZvciBpbnQxNl90IGFuZCBmcmllbmRzCgoyMDEwLTA2LTI3IDE3OjQ2OjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogVXNlIGdfbWFsbG9jKCkgaW5zdGVhZCBvZiBtYWxsb2MoKQoJICBtYWxsb2MoKSBuZWVkcyBzdGRsaWIuaCwgd2hpY2ggaXNuJ3QgaW5jbHVkZWQgaGVyZSBhbmQgdGhlCgkgIG1lbW9yeSBpcyBmcmVlZCBsYXRlciB3aXRoIGdfZnJlZSgpIGFueXdheS4KCjIwMTAtMDYtMjcgMTE6MjQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBhc3NyZW5kZXIsIGl2ZnBhcnNlLCBqcGVnZm9ybWF0OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQgaW4gY29yZQoKMjAxMC0wNi0yNyAxMDo0MToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgdGVzdHM6IEZpeCBidWlsZCB3aXRoIEdUSysgPCAyLjE3LjcKCSAgZ3RrX3dpZGdldF9nZXRfYWxsb2NhdGlvbigpIHdhcyBhZGRlZCBpbiB0aGF0IHZlcnNpb24uCgoyMDEwLTA2LTI3IDEwOjM2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjE0IGZvciB0aGUgZXhhbXBsZQoKMjAxMC0wNi0yNyAwNzo0MDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgdGVzdHM6IERvbid0IHVzZSBkZXByZWNhdGVkIEdUSyBBUEkgdG8gZml4IHRoZSBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTA2LTI2IDIxOjAyOjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXU6IGFkZCBHc3RWZHBEZWNvZGVyIGJhc2UgY2xhc3MKCjIwMTAtMDYtMjYgMTk6MDI6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGFkZCBnc3RfaDI2NF9kcGJfc2V0X291dHB1dF9mdW5jIGZ1bmN0aW9uCgoyMDEwLTA2LTI1IDIwOjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdWludCB0YWdzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNvbXBsZW1lbnQKCSAgV3JpdGUgdWludCB0YWdzIHRoYXQgaGF2ZSBjb21wbGVtZW50cyAoZS5nLiB0cmFjay1udW1iZXIvCgkgIHRyYWNrLWNvdW50KSBldmVuIHdoZW4gd2Ugb25seSBoYXZlIG9uZSBvZiB0aGVtIGF2YWlsYWJsZQoJICBhbmQgc2V0IHRoZSBvdGhlciBvbmUgdG8gMC4KCSAgRml4ZXMgIzYyMjQ4NAoKMjAxMC0wNi0yNSAxMTowMjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogSW5jbHVkZSBjb25maWcuaCBpbiBtZXRhZGF0YSouYyBmaWxlcwoJICBJbmNsdWRlIGNvbmZpZy5oIGluIG1ldGFkYXRhZXhpZi5jIGluIG1ldGFkYXRhIHBsdWdpbiBzbwoJICB0aGF0IEhBVkVfRVhJRiBnZXRzIGRlZmluZWQgYW5kIGV4aWYgbWV0YWRhdGEgaXMgcHJvcGVybHkKCSAgZ2VuZXJhdGVkLgoJICBBbHNvIGFkZHMgY29uZmlnLmggdG8gYWxsIC5jIGZpbGVzIG1pc3NpbmcgaXQgaW4gbWV0YWRhdGEgcGx1Z2luCgkgIEZpeGVzICM2MjI2OTIKCjIwMTAtMDYtMjQgMjA6MjE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBXYXJuIGlmIHByZXJvbGwgdmFsdWUgaXMgdG9vIGJpZwoJICBQb3N0IGEgd2FybmluZyB3aGVuIHRoZSBwcmVyb2xsIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbgoJICB0aGUgc3RyZWFtcyBkdXJhdGlvbgoKMjAxMC0wNi0yNCAyMzo1NzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSAgdmRwYXk6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIHNvIGl0IGZpbmRzIHRoZSBnc3QvdmlkZW8vdmlkZW8uaAoJICBoZWFkZXJzIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLiBBbHNvIHJlc2h1ZmZsZSBvcmRlci4KCjIwMTAtMDYtMjQgMTg6MzI6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogTWFrZSBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBpdAoJICBCZWZvcmUgY29weWluZyBtZXRhZGF0YSBmcm9tIG9uZSBidWZmZXIgdG8gYW5vdGhlciwgbWFrZSBzdXJlCgkgIHRoZSBkZXN0aW5hdGlvbiBpcyBtZXRhZGF0YS13cml0YWJsZS4KCjIwMTAtMDYtMjQgMjI6MTQ6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTI0IDIyOjA2OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBpbml0YWxpemF0aW9uIG9mIEdzdE5hbFJlYWRlciBjYWNoZQoKMjAxMC0wNi0yNCAxMjozNzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy8uZ2l0aWdub3JlOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlscy1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGRzIGEgc2lnbmFsIHRvIGluZm9ybSBtZWFzdXJlbWVudHMgdG8gYXBwcwoJICBBZGRzIGEgc2lnbmFsIGZvciBhcHBsaWNhdGlvbnMgdG8gcmVjZWl2ZSB0aGUgZnBzIG1lYXN1cmVtZW50cyBtYWRlCgkgIGluc3RlYWQgb2Ygb25seSBwcmludGluZyB0aGVtIHRvIHRoZSBmcmFtZS9zdGRvdXQuCgkgIFRoaXMgc2lnbmFsIGlzIG9ubHkgZW1pdGVkIGlmIHRoZSBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBwcm9wZXJ0eQoJICBpcyBzZXQgdG8gVFJVRQoKMjAxMC0wNi0yNCAxMDo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkcyBtYXgtZnBzIGFuZCBtaW4tZnBzIHByb3BlcnR5CgkgIEFkZHMgMiBwcm9wZXJ0aWVzIGZvciBnZXR0aW5nIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIGZwcwoJICB2YWx1ZXMgbWVhc3VyZWQKCjIwMTAtMDYtMjQgMTA6MjQ6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGluIGFsbCBwcm9wZXJ0aWVzCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlCgkgIG1pc3NpbmcgaXQKCjIwMTAtMDYtMjQgMTA6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZCBmcHMtdXBkYXRlLWludGVydmFsIHByb3BlcnR5CgkgIFVzZSBhIHByb3BlcnR5IHRvIHNldC9nZXQgdGhlIGZwcyB1cGRhdGUgaW50ZXJ2YWwgaW5zdGVhZAoJICBvZiBoYXZpbmcgYSBoYXJkY29kZWQgdmFsdWUuCgoyMDEwLTA2LTI0IDE2OjIwOjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyIHVzaW5nIENGTEFHUwoKMjAxMC0wNi0yNCAxNToyMzozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkgIFJldmVydCAidmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWEwNDQ0ZjIwNDE1N2MyMmMxMWE3NDI1NDdjOWU2OGE5ZWFlY2M4MC4KCjIwMTAtMDYtMjQgMTU6MDk6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU2MTdjMiB0byBhNTE5NTcxCgoyMDEwLTA2LTI0IDEzOjE4OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSAgdmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMjMgMjI6MzM6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogdXNlIGJpdHNoaWZ0cyBpbnN0ZWFkIG9mIHBvdwoKMjAxMC0wNi0yMyAyMjoyMToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBhZGQgaW50ZXJsYWNlZCA9IGZhbHNlIHRvIHNpbmsgY2FwcwoJICB3ZSBkb24ndCBzdXBwb3J0IGludGVybGFjZWQgY29udGVudCB5ZXQKCjIwMTAtMDYtMjMgMjI6MTg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBBbGwgcmVhZCByZXR1cm4gdmFsdWVzIHNtYWxsZXIgdGhhbiB6ZXJvIGFyZSBmYWlsdXJlcwoKMjAxMC0wNi0yMyAyMToxMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcGFyc2luZyBvZiBzY2FsaW5nIGxpc3RzCgoyMDEwLTA2LTIzIDIxOjA5OjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHJlYWRpbmcgb2Ygc2lnbmVkIGV4cCBnb2xvbWIKCjIwMTAtMDYtMjIgMTU6NDk6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBmaXh1cCBkZWNvZGVyIHRpbWVzdGFtcGluZwoKMjAxMC0wNi0yMiAxNDo1MjowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIHBhcnNlX2NvZGVjX2RhdGEgZnJvbSBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTIyIDE0OjI1OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBpbml0aWFsaXphdGlvbiBvZiBmYWxsYmFjayBzY2FsaW5nIG1hdHJpeAoKMjAxMC0wNi0yMiAxNDoxNzoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXVoMjY0ZGVjOiBpbXByb3ZlIGZ1cnRoZXIKCjIwMTAtMDYtMTcgMTU6MjA6NTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IG5vdyB3b3JrcyBmb3Igc2ltcGxlIHN0cmVhbXMKCjIwMTAtMDYtMTcgMTU6MjA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2hhbmdlIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9nZXRfZGV2aWNlIGJlaGF2aW91cgoJICBpdCBub3cgY3JlYXRlcyB0aGUgZGV2aWNlIGlmIGl0J3Mgbm90IGF2YWlsYWJsZQoKMjAxMC0wNi0xNiAyMzoxMjo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdTogbW9yZSB3b3JrIG9uIGgyNjQgZGVjb2RlcgoKMjAxMC0wNi0xMCAxMjoxMzo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdTogYWRkIGJlZ2lubmluZyBvZiBoMjY0IGRlY29kZXIKCjIwMTAtMDYtMDkgMTU6NDM6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBiYXNlIHZkcGF1bXBlZ2RlYyBvbiBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTA4IDEzOjM2OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggc21hbGwgYnVnCgoyMDEwLTA1LTE1IDIyOjQ3OjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIFJFQURfVUlOVFs4fDE2fDMyXSBtYWNyb3MKCjIwMTAtMDYtMDQgMTI6MjQ6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X3ZkcF92aWRlb19zcmNfcGFkX3NldF9jYXBzCgoyMDEwLTA2LTIzIDIxOjQ2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRG8gc29tZSBzYW5pdHkgY2hlY2tzIGJlZm9yZSBhY2NlcHRpbmcgYW4gVVJJCgkgIEZpeGVzIGJ1ZyAjNjIyMzY5LgoKMjAxMC0wNi0xNyAxMDo1ODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBBZGRzIGltYWdlIG9yaWVudGF0aW9uIHRhZ3MgdGVzdHMKCSAgQWRkcyB0ZXN0cyBmb3IgaW1hZ2Ugb3JpZW50YXRpb24gdGFncyB0byBqaWZtdXgKCjIwMTAtMDYtMjMgMTA6Mzg6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvYnRhaW4gY29ycmVjdCB1cHN0cmVhbSB0aW1lc3RhbXAKCSAgLi4uIGZvciBvcHRpb25hbCBkb3duc3RyZWFtIHVzZS4KCjIwMTAtMDYtMjIgMTI6Mjg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgbmV3IGgyNjQgY2FwcyBhdHRyaWJ1dGUgYWxpZ25tZW50CgkgIFNlZSAjNjA2NjYyLgoKMjAxMC0wNi0yMSAyMzo0ODo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggcHJldmlvdXMgY29tbWl0CgkgIFdlIHdlcmUgbGVha2luZyB0aGUgZWxlbWVudCByZWZjb3VudCBhbmQgbm90IHRoZSBwYWQgb25lLgoKMjAxMC0wNi0yMSAyMjozMzo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBkb24ndCBsZWFrIHRoZSBlbGVtZW50IHJlZmNvdW50CgoyMDEwLTA2LTIxIDE5OjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgdGhlIHBhZCBmcm9tIG91ciBpbnRlcm5hbCBsaXN0IGJlZm9yZSBjYWxsaW5nIGNvbGxlY3RwYWRzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgZW5kIHVwIHdpdGggdGhlIGNvbGxlY3RwYWRkYXRhIHN0cnVjdHVyZSBhbHJlYWR5IGZyZWVkLgoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhIGJvZ3VzIGl0ZXJhdGlvbiBvZiBtdXgtPnNpbmtwYWRzIChhbGwgdGhlCgkgIEdzdFFUUGFkIGJlaW5nIGZyZWVkKSBhbmQgaXQgd291bGRuJ3QgYmUgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdC4KCSAgRmluYWxseSwgZHVlIHRvIGl0IG5vdCBiZWluZyByZW1vdmVkIGZyb20gdGhhdCBsaXN0LCB3ZSB3b3VsZCBlbmQgdXAKCSAgY2FsbGluZyBhIGJvZ3VzIGdzdF9xdF9tdXhfcGFkX3Jlc2V0IG9uIHRob3NlIHN0cnVjdHVyZXMgPT4gU0VHRkFVTFQKCjIwMTAtMDYtMjEgMTA6MjE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5kZWJ1Zy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1vdmUgZGVidWcgY2F0ZWdvcnkgZGVjbGFyYXRpb24gdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIEhhdmluZyBHU1RfREVCVUdfQ0FURUdPUlkgYW5kIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG9nZXRoZXIKCSAgbWlnaHQgbGVhZCB0byAndW5kZWZpbmVkIHN5bWJvbCcgcHJvYmxlbXMuIFRoaXMgY29tbWl0IG1vdmVzCgkgIHRoZSBfRVhURVJOIHRvIGEgc2VwYXJhdGUgbmV3IGZpbGUuCgoyMDEwLTA2LTIxIDExOjEzOjIwICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2U6IGFkZCBwYXJzZWQgZmllbGQgdG8gc3JjIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTRlZGFlNGYxZjIxMTljZjQ5MmZmZTQ0ZjkzNmY5OWUxMzNhZjdkYy4KCSAgU2VlIHRoaXMgYnVnIGZvciBtb3JlIGluZm9ybWF0aW9uOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEwLTA2LTE3IDA4OjQyOjUzICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZW1vdmUgcmVkdW5kYW50IGxvZyBtZXNzYWdlCgoyMDEwLTA2LTIwIDEwOjM5OjM5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgcGFyc2VkIGZpZWxkIHRvIHNyYyBjYXBzCgoyMDEwLTA2LTE4IDE0OjM3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogVXNlIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleAoJICBSZXBsYWNlIF9nZXRfc3RyaW5nX2luZGV4IHdpdGggX3BlZWtfc3RyaW5nX2luZGV4IHRvIGF2b2lkCgkgIGEgc3RyaW5nIGNvcHkKCjIwMTAtMDYtMTggMTg6NDE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGhhbmRsZSAzLWJ5dGUgYnl0ZXN0cmVhbSBzeW5jIGNvZGUKCjIwMTAtMDYtMTcgMTA6NTI6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBpbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMC0wNi0xNiAxMDozMToxOSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBEb24ndCBjcmFzaCBpZiBubyB2YWxpZCBpbnB1dCB3YXMgcGFyc2VkIHlldAoJICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTYwMzc3MQoKMjAxMC0wNi0xMSAxMDo1MzoyNiArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFkZGVkIGRlYnVnZ2luZyBvdXRwdXQgZm9yIG1wZWdwYWNrZXRpc2VyCgoyMDEwLTA2LTE1IDE2OjUwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MzM5Y2NjIHRvIDM1NjE3YzIKCjIwMTAtMDYtMTUgMTY6NTQ6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWFkYjFjYSB0byA5MzM5Y2NjCgoyMDEwLTA2LTE1IDE1OjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgZXZlbnQgcmVmIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMzOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBhcml0aG1ldGljIG92ZXJmbG93cyBpbiBwdWxsIG1vZGUgYnVmZmVyIGNhY2hlIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgaGFuZGxpbmcKCSAgQWxsb3cgYSBmZXcgbW9yZSBzZWVrIGV2ZW50IHR5cGUgY29tYmluYXRpb25zLCBhbmQgcmVhbGx5IHVzZSB0aGUgcmVzdWx0CgkgIG9mIGdzdF9zZWdtZW50X3NldF9zZWVrIHRvIHBlcmZvcm0gdGhlIHNlZWsuICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wNi0xNSAxNjozNTozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4OWI3IHRvIDVhZGIxY2EKCjIwMTAtMDYtMTUgMTU6NDk6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzgwNDk4OCB0byA1N2M4OWI3CgoyMDEwLTA2LTEyIDA5OjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wbGVtZW50IG11bHRpcGFzcyBlbmNvZGluZwoJICBGaXhlcyBidWcgIzYyMTM0OC4KCjIwMTAtMDYtMTUgMTE6MjA6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzcHJpbmtsZSBzb21lIGJyYW5jaCBwcmVkaWN0aW9uCgoyMDEwLTA2LTE1IDExOjE2OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTAtMDYtMTUgMTE6MTY6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXJzZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZyAoVk9TSCwgVk9TLCBldGMpIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEgR09QIG9yIFZPUC1JIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYyMTIwNS4KCjIwMTAtMDYtMTUgMTc6MTY6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogQXBwbHkgcHJldmlvdXMgdGltZXN0YW1wIHdoZW4gdGhlcmUgaXNuJ3QgYW55IG5ld2VyLgoJICBJZiB0aGUgY3VycmVudCBpbmNvbWluZyBwYWNrZXQgZGlkbid0IGNhcnJ5IGEgdGltZXN0YW1wLCBidXQgYQoJICBwcmV2aW91cyBwYWNrZXQgaGFkIG9uZSB3ZSBkaWRuJ3QgeWV0IHVzZSwgdGhlbiBhcHBseSB0aGF0IHRpbWVzdGFtcAoJICB0byB0aGUgbmV4dCBwaWN0dXJlLgoJICBGaXhlczogIzYxODMzNgoKMjAxMC0wNi0xNCAxNzowMTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdMaWIgMi4yMAoKMjAxMC0wNi0xNCAxNTo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCBWUDhFX1NFVF9DUFVVU0VEIHRvIDAKCSAgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIGhvdyBtdWNoIENQVSBjYW4gYmUgdXNlZCBieSB0aGUgZW5jb2Rlciwgc3BlY2lmaWVkCgkgIGluIGZyYWN0aW9ucyBvZiAxNi4gTmVnYXRpdmUgdmFsdWVzIG1lYW4gc3RyaWN0IGVuZm9yY2VtZW50IG9mIHRoaXMKCSAgd2hpbGUgcG9zaXRpdmUgdmFsdWVzIGFyZSBhZGFwdGl2ZS4KCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTQsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmUgbm90IHJ1bm5pbmcgYXMgZmFzdAoJICBhcyBwb3NzaWJsZSBhbmQgcHJvYmFibHkgYXJlIHdhc3Rpbmcgc29tZSBxdWFsaXR5LiAwIGlzIHRoZSByZWNvbW1lbmRlZAoJICBkZWZhdWx0IGJ5IGxpYnZweCB1cHN0cmVhbS4KCjIwMTAtMDYtMTQgMTU6NTE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgVlBYIGRlZmluZXMgZm9yIFJFQUxUSU1FLCBHT09EL0JFU1QgcXVhbGl0eSBkZWFkbGluZXMgaW5zdGVhZCBvZiBvdXIgb3duCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIHVzZWQgZm9yIHRoZSBzcGVlZCBwcm9wZXJ0eS4KCjIwMTAtMDYtMTQgMTU6NDY6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBwcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmcgaWYgb3JjIG5vdCBwcmVzZW50CgoyMDEwLTA1LTMxIDE4OjMwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGhhbmRsZSBGTFVTSF9TVE9QIHNpbmsgZXZlbnQKCjIwMTAtMDUtMzEgMTg6MzA6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogb3B0aW1pemUgaW1hZ2UgcGFyc2luZwoJICBVc2UgYWRhcHRlciBBUEkgZm9yIHNjYW5uaW5nIGFuZCBwZWVraW5nIHRvIHJlZHVjZSBidWZmZXIgY29weWluZy4KCSAgU2VlICM1ODMwNDcuCgoyMDEwLTA2LTE0IDE1OjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIG9yYyBpbnN0ZWFkIG9mIGxpYm9pbAoKMjAxMC0wNi0xNCAxNDo1MTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IFVzZSBvcmMgZm9yIENQVSBmZWF0dXJlIGRldGVjdGlvbgoKMjAxMC0wNi0xNCAxNDo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCB1c2UgbGlib2lsIGZ1bmN0aW9ucwoJICBnbGliYyBtZW1jcHkoKSB3aWxsIGJlIGZhc3RlciB0aGFuIGxpYm9pbCdzL29yYydzIGZvciBub3cgYW55d2F5CgkgIGFuZCB3ZSBjYW4gdXNlIG9yYydzIGxhdGVyLCBhZnRlciBvcmMgaGFzIHN1cHBvcnQgZm9yIGxvb3AgdW5yb2xsaW5nLgoKMjAxMC0wNi0xNCAxNDo0Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IERvbid0IGluY2x1ZGUgbGlib2lsIGhlYWRlcnMsIHRoZXkncmUgbm90IHVzZWQgYW55d2F5CgoyMDEwLTA2LTE0IDEzOjI2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgR0xJQl9FWFRSQV9DRkxBR1MKCjIwMTAtMDYtMTQgMTM6MDQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YTBmZGY1IHRvIGM4MDQ5ODgKCjIwMTAtMDYtMTQgMTI6NDk6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhZGQgb3B0aW9uIHRvIGluc2VydCBTUFMvUFBTIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc2VydCBTUFMgYW5kIFBQUyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMKCSAgaW4gdGhlIHN0cmVhbSAod2hlbiBhbiBJRFIgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjIwOTc4LgoKMjAxMC0wNi0wOSAxNTozMjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gY29sbGVjdCBTUFMgYW5kIFBQUyBuYWx1IGluIGNvZGVjX2RhdGEKCjIwMTAtMDYtMTQgMTE6MzQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTMgMDg6Mjg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBEb24ndCB1c2UgZGVwcmVjYXRlZCAxNS8xNiBiaXQgUkdCIG1hc2tzCgoyMDEwLTA2LTEyIDA4OjI4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzMzZmNhOSB0byA2ZGEzYmFiCgoyMDEwLTA1LTIyIDEwOjM1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogbWlub3IgY2xlYW4tdXAKCSAgVXNlIGdzdF91cmlfaGFzX3Byb3RvY29sKCkuCgoyMDEwLTA2LTExIDE1OjI5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEZpeCB0ZXN0cyBidWlsZGluZwoJICBPbmx5IGJ1aWxkIGppZm11eCB0ZXN0cyBpZiBsaWJleGlmIGhlYWRlcnMgYXJlIHByZXNlbnQKCjIwMTAtMDYtMDkgMTk6MTY6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiB1c2UgZ2xpYiBpbnN0ZWFkIG9mIHN0ZGludCB0eXBlcwoKMjAxMC0wNi0wOSAxODozOTozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIG00IG1hY3JvIGZvciBPcmMgY2hlY2sKCjIwMTAtMDYtMDUgMTY6MDI6NDEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgc3B1cmlvdXMgd2FybmluZwoKMjAxMC0wNi0xMCAxNDoxNzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBjb3JlL2Jhc2UgZ2l0IGZvciB0aGUgbmV3IGltYWdlIHRhZ3MgYW5kIGhlbHBlciBmdW5jdGlvbnMKCjIwMTAtMDUtMTAgMTA6NDc6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIGppZm11eCBleGlmIHRhZ3MgdGVzdHMKCSAgQWRkcyBhIGJhc2ljIHVuaXQgdGVzdCBmb3IgamlmbXV4IHRvIHRlc3QgdGhhdCBleGlmIHRhZ3MKCSAgYXJlIHdyaXRlbiBwcm9wZXJseS4KCSAgVGhpcyB0ZXN0IHVzZXMgbGliZXhpZi4KCSAgRml4ZXMgIzYxNDg3MgoKMjAxMC0wNC0yOCAyMzo1MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEFkZCBleGlmIHN1cHBvcnQKCSAgQWRkcyBleGlmIHdyaXRpbmcgc3VwcG9ydCB0byBqaWZtdXguCgkgIEFkZHMgcGFyc2luZyBzdXBwb3J0IHRvIGpwZWdwYXJzZS4KCSAgRml4ZXMgIzYxNDg3MgoKMjAxMC0wNi0wOSAxMjo0MDoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZhZDE0NWIgdG8gNzMzZmNhOQoKMjAxMC0wNi0wOSAxMjozNDoxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3NjgzYzEgdG8gZmFkMTQ1YgoKMjAxMC0wNi0wOSAyMDo0OToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCB0aW1lc3RhbXBzIGFmdGVyIGEgc2VlawoKMjAxMC0wNi0wOCAxNDozMzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IERlcHJlY2F0ZSAnaXMtbGl2ZScgYW5kIGFkZCAnc3RyZWFtYWJsZScgcHJvcGVydHkKCSAgRm9sbG93aW5nIHRoZSBzaW1pbGFyIGNoYW5nZSBpbiBmbHZtdXgsIHRoaXMgY29tbWl0IGFkZHMKCSAgJ3N0cmVhbWFibGUnIHByb3BlcnR5IGFuZCBkZXByZWNhdGVkICdpcy1saXZlJyBmb3IgYSBiZXR0ZXIvbGVzcyB3cm9uZwoJICBuYW1lLgoKMjAxMC0wNS0xMyAxMjoxNToyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBkb24ndCBzZXQgdGhlICdzZWVrYWJsZScgZmxhZyBpZiB3ZSBhcmUgc3RyZWFtaW5nCgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDQtMjkgMTA6NDY6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogd3JpdGUgcHJlcm9sbCBpbmZvIGluIHRoZSBoZWFkZXIgYXQgaW5pdGlhbGl6YXRpb24KCSAgVGhpcyB2YWx1ZSBkb2Vzbid0IG5lZWQgdG8gYmUgdXBkYXRlZCBhbmQgaXMgdXNlZnVsbCBpbiBhIHN0cmVhbWluZyBjb250ZXh0CgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDQtMjYgMTM6MzM6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcHV0IGhlYWRlcnMgaW4gc3RyZWFtaGVhZGVyIGZvciBzdHJlYW1pbmcKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNi0wOCAxMzo1OTo0NSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogc3RhcnQgcG10IGF0IDB4MDIwIGFzIHN1Z2dlc3RlZCBieSBaYWhlZXIKCjIwMTAtMDYtMDggMTM6NTk6MDggKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdGFrZSBhbGwgdGhlIHBtdCBpbiB0aGUgc3RyZWFtaGVhZGVycwoKMjAxMC0wNi0wOCAwOToxNDowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBhc3NlcnQgb24gc2V0X3Byb3BlcnR5IHRvIE5VTEwgZm9yIGVsZW1lbnRzCgkgIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBOVUxMIGJlZm9yZSByZWZmaW5nIHRoZW0gaW4gc2V0X3Byb3BlcnR5CgkgIGZvciAnR3N0RWxlbWVudCcgcHJvcGVydGllcwoKMjAxMC0wNi0wOCAwODo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBhc3NlcnQgb24gbnVsbCBjYXBzIHByb3BlcnR5CgkgIElmIGNhbWVyYWJpbiByZWNlaXZlcyBhIG51bGwgY2FwcyBhcyAnZmlsdGVyLWNhcHMnIGFyZ3VtZW50LAoJICB1c2UgdGhlIGRlZmF1bHQgdmFsdWUKCjIwMTAtMDYtMDcgMjI6NTY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBVc2UgX0NBU1QgbWFjcm8KCSAgUmVwbGFjZSBkZWZhdWx0IHR5cGUgY2FzdGluZyBtYWNybyB3aXRoIHRoZSBmYXN0ZXIgZGlyZWN0IF9DQVNUIG1hY3JvCgoyMDEwLTA2LTA3IDIyOjIxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCSAgTWFrZXMgdGhlIGVsZW1lbnQncyBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZSBhbmQgdGhyZWFkc2FmZS4KCSAgRml4ZXMgIzYyMDgyNQoKMjAxMC0wNi0wNyAxNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IFJlbW92ZSBwYWdlLXVybCBhbmQgc3dmLXVybCBwcm9wZXJ0aWVzCgkgIEl0J3MgcG9zc2libGUgdG8gaW5jbHVkZSBhbGwgdGhvc2Ugb3B0aW9ucyBpbiB0aGUgVVJMIGFscmVhZHkKCSAgYnkgYXBwZW5kaW5nIHRoZSBvcHRpb25zIGFuZCBzZXBhcmF0aW5nIHRoZW0gYnkgc3BhY2VzLCBlLmcuCgkgIHJ0bXA6Ly9zb21ld2hlcmUvc29tZXRoaW5nIG9wdDE9dmFsMSBvcHQyPXZhbDIKCjIwMTAtMDYtMDcgMTc6MzA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggbWVtb3J5IGxlYWtzCgoyMDEwLTA2LTA3IDExOjE1OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBPbmx5IHdvcmtzIHdpdGggcmF0ZT04MDAwLCBmaXggaW4gY2FwcwoKMjAxMC0wNi0wNyAwNzo1ODoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjcmFzaCBpbiAnZmlsZW5hbWUnIHByb3BlcnR5CgkgIERvIG5vdCBjcmFzaCB3aGVuIGZpbGVuYW1lIHByb3BlcnR5IGlzIHNldCB0byBOVUxMLCB1c2UgYW4KCSAgZW1wdHkgc3RyaW5nIGluc3RlYWQuCgoyMDEwLTA2LTA3IDA3OjM4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBSdW4gZ3N0LWluZGVudCBvbiAuYyBmaWxlcwoJICBrYXRlIHBsdWdpbiBoYXMgc29tZSBpbmRlbnRhdGlvbiBwcm9ibGVtcywgcnVuIGdzdC1pbmRlbnQgb24gdGhlbQoJICBhbmQgZml4IGl0CgoyMDEwLTA2LTA2IDIyOjM0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgbWFyYmxlOiBBZGRzICdtYXJibGUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0aGF0IGRvZXMgYSBtYXJibGluZyBlZmZlY3QgdG8KCSAgZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wNiAxNDozNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFVzZSBleHBsaWNpdCBmb3JtYXRzIGZyb20gZ3N0dmlkZW8KCSAgVXNlIGV4cGxpY2l0IGZvcm1hdCBtYWNyb3MgZnJvbSBnc3R2aWRlbyB0byBhdm9pZCBleHBvc2luZwoJICB1bnN1cHBvcnRlZCBmb3JtYXRzIG9uIHRlbXBsYXRlIHBhZHMuIFVzaW5nIHRoZSBtYWNyb3MKCSAgYWxzbyBnaXZlIHVzIGNvbXBsZXRlIGNhcHMgKHdpZHRoL2hlaWdodC9mcmFtZXJhdGUpLgoJICBBbmQgYWRkIHN1cHBvcnQgZm9yIEFZVVYuCgkgIEZpeGVzICM2MjA3MTcKCjIwMTAtMDYtMDUgMTk6Mzg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBkaWZmdXNlOiBBZGRzIGRpZmZ1c2UgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyB0aGUgJ2RpZmZ1c2UnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLiBJdCBtb3ZlcwoJICB0aGUgcGl4ZWxzIG9mIHRoZSBpbWFnZSBpbiByYW5kb20gZGlyZWN0aW9ucwoKMjAxMC0wNi0wNSAxOToyMDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE1ha2UgbWFwIHByZWNhbGN1bGF0aW9uIG9wdGlvbmFsCgkgIEFkZHMgYSB2YXJpYWJsZSB0byBiZSBzZXQgdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBlbmFibGUKCSAgb3IgZGlzYWJsZSBwcmVjYWxjdWxhdGlvbiBvZiB0aGUgcGl4ZWxzIG1hcHBpbmcKCjIwMTAtMDYtMDYgMTU6MzI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBBZGQgc29tZSBicmFjZXMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eQoKMjAxMC0wNi0wNiAxNToyOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEltcHJvdmUgdGltZXN0YW1wIGhhbmRsaW5nIGEgYml0CgoyMDEwLTA2LTA2IDE1OjI0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZwoKMjAxMC0wNi0wNiAxMzo1NzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogSGFuZGxlIHRpbWVzdGFtcHMgYW5kIHRoZSBwb3NpdGlvbiBxdWVyeQoJICBUaGlzIGlzIG5vdCB2ZXJ5IGFjY3VyYXRlIGJ1dCBiZXR0ZXIgdGhhbiBub3RoaW5nLiBUaGUgZGVtdXhlcgoJICBhZnRlciB0aGUgc291cmNlIGtub3dzIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcy4KCjIwMTAtMDYtMDYgMDg6MzA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBBbGxvY2F0ZSBhbmQgZnJlZSB0aGUgUlRNUCBpbnN0YW5jZSBpbiBzdGFydC9zdG9wCgoyMDEwLTA2LTA0IDIyOjM2OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBBZGQgcHJvcGVydGllcyBmb3Igc2V0dGluZyB0aGUgc3dmVXJsIGFuZCBwYWdlVXJsIHByb3BlcnRpZXMKCSAgVGhlc2UgYXJlIHJlcXVpcmVkIGZvciBzb21lIHN0cmVhbXMgdW5mb3J0dW5hdGVseS4KCjIwMTAtMDYtMDQgMjI6MDQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IE1ham9yIGNsZWFudXAgYW5kIHJlb3JnYW5pemF0aW9uCgoyMDEwLTA2LTA0IDA4OjE0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvUkVBRE1FOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydG1wL2FtZi5jOgoJKiBnc3QvcnRtcC9hbWYuaDoKCSogZ3N0L3J0bXAvYnl0ZXMuaDoKCSogZ3N0L3J0bXAvZGguaDoKCSogZ3N0L3J0bXAvZGhncm91cHMuaDoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL2hhbmRzaGFrZS5oOgoJKiBnc3QvcnRtcC9oYXNoc3dmLmM6CgkqIGdzdC9ydG1wL2h0dHAuaDoKCSogZ3N0L3J0bXAvbG9nLmM6CgkqIGdzdC9ydG1wL2xvZy5oOgoJKiBnc3QvcnRtcC9wYXJzZXVybC5jOgoJKiBnc3QvcnRtcC9ydG1wLmM6CgkqIGdzdC9ydG1wL3J0bXAuaDoKCSogZ3N0L3J0bXAvcnRtcF9zeXMuaDoKCSAgcnRtcDogTW92ZSB0byBleHQgYW5kIGRyb3AgaW50ZXJuYWwgbGlicnRtcCBjb3B5CgkgIFdlIHJlYWxseSBkb24ndCB3YW50IHRoaXMgaW4gZ3N0LXBsdWdpbnMtYmFkIGJlY2F1c2Ugb2YKCSAgbGVnYWwgY29tcGxleGl0aWVzIGFyb3VuZCBSVE1QIGFuZCBwb3NzaWJsZSBwcm9ibGVtcwoJICBmb3IgZGlzdHJpYnV0aW9ucy4KCSAgQWRkIFJFQURNRSB0aGF0IGV4cGxhaW5zIGhvdyB0byBidWlsZCBsaWJydG1wIHRvIGJlIHN1aXRhYmxlCgkgIGZvciBsaW5raW5nIHRvIHRoZSBHU3RyZWFtZXIgcGx1Z2luLgoKMjAxMC0wNi0wMiAwMDo0NTowNiArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0bXAvYW1mLmM6CgkqIGdzdC9ydG1wL2FtZi5oOgoJKiBnc3QvcnRtcC9ieXRlcy5oOgoJKiBnc3QvcnRtcC9kaC5oOgoJKiBnc3QvcnRtcC9kaGdyb3Vwcy5oOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvaGFuZHNoYWtlLmg6CgkqIGdzdC9ydG1wL2hhc2hzd2YuYzoKCSogZ3N0L3J0bXAvaHR0cC5oOgoJKiBnc3QvcnRtcC9sb2cuYzoKCSogZ3N0L3J0bXAvbG9nLmg6CgkqIGdzdC9ydG1wL3BhcnNldXJsLmM6CgkqIGdzdC9ydG1wL3J0bXAuYzoKCSogZ3N0L3J0bXAvcnRtcC5oOgoJKiBnc3QvcnRtcC9ydG1wX3N5cy5oOgoJICBydG1wOiBBZGQgUlRNUCBzb3VyY2UgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2MDQKCjIwMTAtMDYtMDUgMTE6MDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBTZXQgb3V0cHV0IGJ1ZmZlciBkYXRhIHRvIDAKCSAgSW5pdGlhbGl6ZSBvdXRwdXQgYnVmZmVyIGRhdGEgdG8gMCBiZWZvcmUgZG9pbmcgdGhlCgkgIHRyYW5zZm9ybS4KCjIwMTAtMDYtMDUgMTA6NTg6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBEZXNjcmlwdGlvbnMgYW5kIGRlZmF1bHQgdmFsdWVzCgkgIEltcHJvdmUgc29tZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50IGRlc2NyaXB0aW9ucyBhbmQgY2hhbmdlcwoJICBzb21lIGRlZmF1bHQgcHJvcGVydGllcyB2YWx1ZXMuCgoyMDEwLTA2LTA0IDE2OjE0OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogVmVyaWZ5IHRoYXQgcGlwZSBleGlzdHMgYmVmb3JlIHJlc2l6aW5nIGl0CgoyMDEwLTA2LTA0IDE1OjU0OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBjb3B5cmlnaHQgbm90aWNlcyB0byBzaG1hbGxvYy5bY2hdIGFuZCBzaG1waXBlLltjaF0KCjIwMTAtMDYtMDQgMTU6NTM6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlCgkgIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gZ2VvbWV0cmljdHJhbnNmb3JtIGZpbGVzCgoyMDEwLTA2LTAzIDAwOjI0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICB3YXRlcnJpcHBsZTogQWRkcyBuZXcgd2F0ZXJyaXBwbGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc29mbXIKCSAgQWRkcyBhbiB3YXRlciByaXBwbGUgZGlzdG9ydGlvbiBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoKMjAxMC0wNi0wMiAyMzo1NTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBzcGhlcmU6IEFkZHMgbmV3ICdzcGhlcmUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0byBkbyAnc3BoZXJlJyBlZmZlY3QgaW50byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgcGx1Z2luCgoyMDEwLTA2LTAyIDIyOjAxOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZHMgc29tZSBwcm9wZXJ0aWVzIHRvIGJhc2UgY2xhc3MKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGF0IHRvIGRvIHdpdGggcGl4ZWxzIHRoYXQgYXJlIG1hcHBlZCBvdXQgb2YKCSAgZWRnZXM6IGlnbm9yZSwgY2xhbXAgb3Igd3JhcC4KCjIwMTAtMDYtMDIgMTg6NTg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBjaXJjbGU6IEFkZHMgY2lyY2xlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoJICBBZGRzIHRoZSBuZXcgJ2NpcmNsZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTAyIDAxOjIxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAga2FsZWlkb3Njb3BlOiBBZGRzIG5ldyBlbGVtZW50ICdrYWxlaWRvc2NvcGUnCgkgIEFkZHMgbmV3IGthbGVpZG9zY29wZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDIgMDA6NDg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdzdHR3aXJsOiBBZGRzIG5ldyBlbGVtZW50IHR3aXJsCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luOiB0d2lybAoKMjAxMC0wNi0wMiAwMDozNDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIGEgaW50ZXJtZWRpYXJ5IGJhc2VjbGFzcyBjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhbiBpbnRlcm1lZGlhcnkgYmFzZWNsYXNzIG5hbWVkIGdzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybQoJICB0byBrZWVwIGNvbW1vbiBwcm9wZXJ0aWVzIGNvZGUgZm9yIGZpbHRlcnMgdGhhdCBvcGVyYXRlIG9uCgkgIGEgY2lyY3VsYXIgYXJlYS4KCjIwMTAtMDUtMzAgMTI6NTA6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkgIHBpbmNoOiBTb21lIG9wdGltaXphdGlvbiB1c2luZyB0aGUgcHJlcGFyZSBmdW5jCgkgIFNtYWxsIG9wdGltaXphdGlvbiBieSBwcmVjYWxjdWxhdGluZyB0aGUgY2VudGVyIG9mIHRoZSBlZmZlY3QsCgkgIGFsc28gdXNlIG5ld2x5IGFkZGVkIF9DQVNUIG1hY3JvLgoKMjAxMC0wNS0zMCAxMjozNjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgcHJlcGFyZSBmdW5jdGlvbiBhbmQgY2xlYW51cAoJICBBZGRzIGEgcHJlcGFyZSBmdW5jdGlvbiB0byBtYWtlIHN1YmNsYXNzZXMgcHJlY2FsY3VsYXRlIHZhbHVlcwoJICB0aGF0IHdpbGwgYmUgdXNlZCB0aHJvdWdob3V0IHRoZSBtYXBwaW5nIGZ1bmN0aW9ucy4KCSAgQWxzbyBhZGRzIGEgbWlzc2luZyBjbGVhbnVwIHRvIGZpeCBhIG1lbWxlYWsKCjIwMTAtMDUtMjYgMjE6Mzk6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBQcmVjYWxjdWxhdGUgbWFwcGluZyBhcnJheQoJICBQcmVjYWxjdWxhdGUgd2hlbiBzZXR0aW5nIGNhcHMgdGhlIHdhcnBpbmcgbWFwIHRvIGF2b2lkCgkgIHJlY2FsY3VsYXRpbmcgaXQgZXZlcnkgYnVmZmVyCgoyMDEwLTA1LTI2IDE4OjI5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWNjZXB0IGFueSByZ2Igb3IgZ3JheQoJICBVc2luZyBnc3R2aWRlbyBmdW5jdGlvbnMgZ2VvbWV0cmljdHJhbnNmb3JtIGNhbiBoYW5kbGUKCSAgcmdiIG9yIGdyYXksIHB1dCB0aGF0IG9uIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDUtMjYgMTg6MjI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBmb3IgY2xhcml0eQoJICBSZW5hbWVzIHNvbWUgdmFyaWFibGVzIGFuZCBhZGRzIGEgbWluaW11bSBkb2MgdG8gdGhlCgkgIG1hcHBpbmcgZnVuY3Rpb24gZm9yIGEgbGl0dGxlIGNsYXJpdHkuCgkgIEFsc28gdXNlcyBnc3R2aWRlbyBmdW5jdGlvbnMgZm9yIHRoZSByb3cgYW5kIHBpeGVsIHN0cmlkZXMKCSAgaW5zdGVhZCBvZiBoYXJkY29kZWQgdmFsdWVzCgoyMDEwLTA1LTI0IDIzOjU3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTmV3IHBsdWdpbiBmb3IgZ2VvbWV0cmljIHRyYW5zZm9ybXMKCSAgQWRkcyBhIG5ldyBwbHVnaW4gdGhhdCBoYXMgZWxlbWVudHMgdGhhdCBwZXJmb3JtIGdlb21ldHJpYwoJICB0cmFuc2Zvcm1hdGlvbnMgdG8gaW1hZ2VzLiBCeSBnZW9tZXRyaWMgdHJhbnNmb3JtYXRpb25zIEkgbWVhbgoJICB0aGF0IHRoZSBvcGVyYXRpb25zIGFyZSBmdW5jdGlvbnMgdGhhdCBnaXZlbiB0aGUgb3V0cHV0IHBpeGVsCgkgIHBvc2l0aW9uLCBnZXQgdGhlIHBpeGVsIHBvc2l0aW9uIGluIHRoZSBpbnB1dCBpbWFnZS4gVGhpcyBwaXhlbAoJICBpcyB0aGVuIGNvcGllZCBmcm9tIGlucHV0IHRvIG91dHB1dC4KCSAgVGhlIGdzdGdlb21ldHJpY3RyYW5zZm9ybSBiYXNlY2xhc3MgbWFrZXMgaXQgZWFzeSB0byB3cml0ZQoJICBzdWNoIGVsZW1lbnRzLiBJdCBib2lscyBkb3duIHRvIHdyaXRlIHRoZSBtYXBwaW5nIGZ1bmN0aW9uCgkgIGFuZCBleHBvc2luZyBwcm9wZXJ0aWVzCgkgIEFscmVhZHkgYWRkZWQgdGhlIGZpcnN0IG9mIHRoZSBlbGVtZW50cywgJ3BpbmNoJy4gSXQncyBhIGNvbW1vbgoJICBlZmZlY3QgaW4gaW1hZ2UgZWRpdG9ycywgbGlrZSBnaW1wIChkaXN0b3J0IC0+IHBpbmNoKQoKMjAxMC0wNi0wMyAyMzoxOTozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSAgdG9vbHM6IGZsZXNoIG91dCBlbGVtZW50LW1ha2VyIHRlbXBsYXRlcwoKMjAxMC0wNi0wMyAxODoxNDowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogaGFuZGxlIG90aGVyIGJheWVyIGZvcm1hdHMKCjIwMTAtMDYtMDMgMTg6MTQ6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIHJnYjJiYXllcjogaGFuZGxlIG11bHRpcGxlIGJheWVyIGZvcm1hdHMKCjIwMTAtMDYtMDMgMTU6NTM6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIGJheWVyOiBBZGQgcmdiMmJheWVyIGVsZW1lbnQKCSAgTW9zdGx5IGZvciB0ZXN0aW5nL2NvbXBsZXRlbmVzcy4KCjIwMTAtMDYtMDMgMjA6NTE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogZml4IGRlYnVnIG1lc3NhZ2VzCgkgIE1pc2MuIHByaW50ZiBmb3JtYXQgZml4ZXMgYW5kIG1pc3NpbmcgYXJndW1lbnRzLgoKMjAxMC0wNi0wMyAxNToyNzowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IE1ha2Ugc3RhdGljIGZ1bmN0aW9uIHN0YXRpYwoKMjAxMC0wNi0wMyAxNToyNjo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wNi0wMyAxNDo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL2dzdHNobS5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkqIGdzdC9zaG0vc2htYWxsb2MuYzoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5oOgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IE1vdmUgdG8gc3lzLyBzaW5jZSBpdCBkb2Vzbid0IGV4aXN0IG9uIHdpbmRvd3MKCjIwMTAtMDYtMDMgMTQ6NDE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogRml4IGluZGVudGF0aW9uCgoyMDEwLTA2LTAzIDE0OjIyOjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBQcmludCBlcnJvcnMgaWYgZmNobW9kIGZhaWxzCgoyMDEwLTA0LTA3IDE5OjA1OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRml4IGNyYXNoIHdoZW4gc3BfY2xvc2Vfc2htIGlzIGNhbGxlZCB3aXRoIHNlbGYgPT0gTlVMTC4KCSAgSWYgc3Bfb3Blbl9zaG0gZXJyb3JzIG91dCB0cnlpbmcgdG8gb3BlbiBhIHNobSBhcmVhLCBpdCB3b3VsZCBjcmFzaAoJICB3aGVuIHRyeWluZyB0byBmcmVlIHRoZSBhcmVhLiBUaGUgUkVUVVJOX0VSUk9SIG1hY3JvIGNhbGxzCgkgIHNwX3NobV9hcmVhX2RlYyB3aXRoIHNlbGYgPT0gTlVMTC4gc3Bfc2htX2FyZWFfZGVjIGNhbGxzCgkgIHNwX3NobV9jbG9zZSwgd2l0aCBzZWxmID09IE5VTEwsIHdoaWNoIGl0IHRoZW4gdHJpZXMgdG8gYWNjZXNzIGEKCSAgcGFyYW1ldGVyIG9mIHdpdGhvdXQgY2hlY2tpbmcuIFRoaXMgcGF0Y2ggY2hlY2tzIHRvIG1ha2Ugc3VyZQoJICBzZWxmICE9IE5VTEwgYmVmb3JlIGFjY2Vzc2luZyB0aGF0IHBhcmFtZXRlci4KCjIwMTAtMDQtMDcgMTk6MDU6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBVcGRhdGUgY29kZSBzdGFuZGFyZAoKMjAxMC0wMi0wMyAxMzo1MDoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBBZGQgc29ja2V0IHBhdGggdG8gZXJyb3IgbWVzc2FnZQoKMjAxMC0wMi0wMiAxNzo0MDowOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFJlbW92ZSB3cm9uZyB0ZXN0IGludmVyc2lvbgoKMjAxMC0wMi0wMiAxNzozNToyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFZlcmlmeSB0aGF0IGFjY2VwdCBzdWNjZWVkcwoKMjAxMC0wMi0wMiAxNzozNToxNSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEZpeCBvbmUgYnl0ZSBvdmVyZmxvdwoKMjAxMC0wMi0wMiAxMToxMTowNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogSW1wcm92ZSBkZWJ1ZyBwcmludHMKCjIwMTAtMDEtMjYgMTI6MzQ6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBHZXQgcG90ZW50aWFsbHkgbW9kaWZpZWQgYWZ0ZXIgb3BlbmluZyBzaG1waXBlCgoyMDEwLTAxLTI2IDEyOjMyOjU2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobTogVHJ5IGFsdGVybmF0ZSBwYXRocyBmb3IgdGhlIHNvY2tldAoKMjAxMC0wMS0yOSAxMTowNjo0NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IERvbid0IHByZXRlbmQgdGhlIHBhdGggaXMgcmFuZG9tCgoyMDEwLTAxLTI5IDEwOjU3OjI3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogQ3JlYXRlIHNobSBhcmVhIGV4Y2x1c2l2ZWx5CgoyMDEwLTAxLTI4IDE1OjM0OjQ0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htYWxsb2M6IE1ha2UgaXQgYnVpbGQgaW4gbm9uLWdsaWIgd29ybGQKCjIwMTAtMDEtMjggMTI6MTk6MDcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobXNyYzogTWFrZSB0aGUgc2htcGlwZSBsaWZlIGluZGVwZW5kYW50IG9mIHRoZSBlbGVtZW50IHN0YXRlcwoKMjAxMC0wMS0yOCAxMTo1NzozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFNpbXBsaWZ5IGhhbmRsaW5nIG9mIHJhbmRvbSBwYXRocwoKMjAxMC0wMS0yOCAxMTozNjowMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htcGlwZTogUmVtb3ZlIHVzZWxlc3MgYXR0cmliCgoyMDEwLTAxLTI4IDExOjMxOjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogUmVmIGNsaWVudCBzaG1hcmVhIHdoZW4gYSBidWZmZXIgaXMgcmVjZWl2ZWQgaW4gaXQKCjIwMTAtMDEtMjggMTE6MzA6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBEb24ndCBkZWMgb2xkIHNobSBhcmVhIHdoZW4gbmV3IG9uZSBpcyBhZGRlZAoJICBJdHMgcmVmIHdpbGwgYmUgZHJvcHBlZCB3aGVuIHRoZSAiY2xvc2UiIG1lc3NhZ2UgYXJyaXZlcwoKMjAxMC0wMS0yNyAxMTo0OTozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBMb2NrIHVzZXMgb2Ygc2htcGlwZQoKMjAxMC0wMS0yNiAxNDoyMDozNSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBBZGQgaXMtbGl2ZSBwcm9wZXJ0eQoKMjAwOS0xMS0wMyAyMDowMzoyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogUHJpbnQgZGV0YWlscyBvbiBlcnJvcnMKCjIwMDktMTEtMDMgMTg6MzM6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIHZhbGdyaW5kIGhhcHB5CgoyMDA5LTExLTAzIDE2OjMxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRG9uJ3QgYmxvY2sgb24gRU9TIGluIG5vbi1ibG9ja2luZyBtb2RlCgoyMDA5LTExLTAzIDE2OjA5OjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBCbG9jayBpZiByZXF1aXJlZAoKMjAwOS0xMC0zMCAxODoyNDo1OCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG0uaDoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBQb3J0IHRvIFNobVBpcGUKCjIwMDktMTAtMzAgMTI6Mzc6NTAgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobXNyYzogUG9ydCB0byBTaG1QaXBlCgoyMDA5LTEwLTI5IDE5OjE4OjI1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL3NobWFsbG9jLmM6CgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBzaG1waXBlIGltcGxlbWVudGF0aW9uCgoyMDA5LTA0LTI5IDE2OjMzOjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vZ3N0c2htLmM6CgkqIGdzdC9zaG0vZ3N0c2htLmg6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htOiBBZGQgc2htIGJhc2VkIHNpbmsgYW5kIHNyYwoJICBUaGVzZSB0d28gZWxlbWVudHMgKHNobXNpbmsgYW5kIHNobXNyYykgY29tbXVuaWNhdGUgYnVmZmVycyB1c2luZyBQT1NJWAoJICBzaGFyZWQgbWVtb3J5LiBUaGV5IGFsc28gY29tbXVuaWNhdGUgdGhlIGNhcHMuIFRoZSBzb3VyY2UgY3VycmVudGx5IGFjdHMgYXMKCSAgYSBsaXZlIHNvdXJjZSBhbmQgaWdub3JlcyB0aGUgdGltZXN0YW1wcyBjb21pbmcgZnJvbSB0aGUgc2luay4gSXQgYWxzbyBkb2VzCgkgIG5vdCB0cmFuc2ZlciB0aGUgdGFncy4KCjIwMTAtMDYtMDMgMTU6NTE6MTggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU29tZSBjaGVja3MgdG8gYXZvaWQgYXNzZXJ0cwoJICBnc3RfbXBlZ19kZXNjcmlwdG9yX2ZpbmQoKSBleHBlY3RzIHRoZSBkZXNjcmlwdGlvbiBmaWVsZCB0byBiZSBub24tTlVMTC4KCSAgVGhpcyBmaXhlcyBhIGNvdXBsZSBvZiBjYWxscyB3aGVyZSB0aGUgdmFsdWUgYmVpbmcgcGFzc2VkIGlzIG5vdAoJICB2ZXJpZmllZCB0byBiZSBub24tTlVMTCBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDQ1NgoKMjAxMC0wNi0wMyAxMDo0OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgaW4gbG9nIG1lc3NhZ2UKCSAgZ3N0dnA4ZW5jLmM6NTY0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoJICBnc3R2cDhlbmMuYzo3NDQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgoyMDEwLTA2LTAzIDEwOjQzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGxvZyBtZXNzYWdlIGFyZ3VtZW50CgoyMDEwLTA2LTAyIDIyOjA3OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogYWRkIGFuIGFzc2VydCB0byBwbGFjYXRlIGdjYy00LjUKCjIwMTAtMDYtMDIgMTk6NDY6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlb3BhcnNlOiBmaXggd2FybmluZwoKMjAxMC0wNi0wMiAxOTozODozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvcGFyc2U6IHJlbW92ZSBib2d1cyBhcGkKCjIwMTAtMDYtMDIgMTc6NTQ6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IHJlbW92ZSBnc3RfYmFzZV92aWRlb19zdGF0ZV9mcm9tX2NhcHMKCjIwMTAtMDYtMDIgMTc6NDA6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogcmVtb3ZlIGNvbXBhdGliaWxpdHkgY29kZQoKMjAxMC0wNi0wMiAxNjowNjoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogT3JjIGlzIG5vdCByZXF1aXJlZAoKMjAxMC0wNi0wMiAxNjowMToyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IHVzZSBkZWJ1ZyBjYXRlZ29yeSBmb3IgZWFjaCBjbGFzcwoKMjAwOS0xMC0wNSAxNTo0Nzo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogRmFpbCBpZiBjYXBzIGRvbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUgZmllbGQKCSAgUmV0dXJuIGZhbHNlIGZyb20gdGhlIGNhcHMgcGFyc2luZyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBubyBmcmFtZXJhdGUKCSAgZmllbGQgaW4gdGhlIHByb3ZpZGVkIGNhcHMKCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMiAxMzozMTo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBjcmVhdGUgbmV3IHNlZ21lbnRzIGlmIG1pc3NpbmcKCjIwMDktMDktMTcgMTA6NTA6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgYSB3YXJuaW5nCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW8sIHZwODogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDIgMTk6NTI6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBDbGVhciBhZGFwdGVyIHdoZW4gZmx1c2hpbmcKCjIwMTAtMDYtMDIgMTk6NDU6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBTdG9wIGRlY29kaW5nIGlmIGNhbid0IHB1c2gKCjIwMTAtMDYtMDIgMTk6NDQ6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBGbHVzaCBhZGFwdGVyIHJpZ2h0IGF0ZXIgdXNpbmcgaXQKCjIwMDktMTEtMTggMTE6MTQ6MjggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBObyBuZWVkIHRvIGRvIGEgdHJ5IGFsbG9jYXRpb24KCjIwMDktMTEtMTggMTE6MDg6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBEb2N1bWVudCBwYXVzZWQtbW9kZSBwcm9wZXJ0eQoKMjAwOS0xMC0xMiAyMDoxOTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBVc2UgbG9nIGxvZ2xldmVsIGZvciBtZXNzYWdlcyB0aGF0IGFyZSBzaG93biBvbiBldmVyeSBmcmFtZQoKMjAwOS0xMC0xMiAyMDowOTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogUmVtb3ZlIG9iamVjdCBsb2NrIHVzYWdlLCBzdHJlYW0gbG9jayBpcyBlbm91Z2gKCjIwMDktMTAtMTIgMjA6MDg6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBPdXRwdXQgZnJhbWVyYXRlIGlzIHVua25vd24KCjIwMDktMTAtMTIgMjA6MDY6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IFJlbW92ZSBsb2NhbCBzdGF0ZSB2YXJpYWJsZSBmcm9tIGluc3RhbmNlCgoyMDA5LTEwLTEyIDE5OjU3OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUKCjIwMDktMTAtMTIgMTk6NTY6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBNYWtlIGNhcHMgYSBsb3Qgc3RyaWN0ZXIKCjIwMDktMTAtMTIgMTk6NTI6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBTZXQgZGVsdGFfdW5pdCBmbGFnIG9uIGludHJhIGZyYW1lcwoKMjAwOS0xMC0xMiAxOTo1MDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBJbml0aWFsaXplIGVuY29kZXIvZGVjb2RlcnMgaW4gc3RhdGUgY2hhbmdlIGFuZCBzZXRjYXBzIHdoZXJlIHBvc3NpYmxlCgoyMDA5LTEwLTEyIDE5OjM2OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEZpeCBlbGVtZW50IGRldGFpbHMKCjIwMDktMTAtMTIgMTk6MzE6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEhvbGQgZWxlbWVudCBsb2NrIHdoaWxlIGFjY2Vzc2luZyB0aGUgY2xvY2sKCjIwMDktMTAtMTIgMTk6Mjk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFJlZmFjdG9yIHRjcCBoZWFkZXIgY3JlYXRpb24gdG8gbm90IG1ha2UgYSBzZXBhcmF0ZSBidWZmZXIKCjIwMDktMTAtMTIgMTk6MTg6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEZ1bmN0aW9uIGNhbid0IGZhaWwKCjIwMDktMTAtMTIgMTk6MTc6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogUmVtb3ZlIEMrKyBzdHlsZSBjb21tZW50cwoKMjAwOS0xMC0xMiAxOToxNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBVc2UgR1NUX0VMRU1FTlRfRVJST1Igd2hlbiByZXR1cm5pbmcgYSBmbG93IGVycm9yCgoyMDA5LTEwLTEyIDE4OjU0OjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IEZpeCBHU1RfTUlNXypfQ0xBU1MgbWFjcm9zCgoyMDA5LTEwLTEyIDE4OjQ3OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBXYXJuIGlmIHBhdXNlZC1tb2RlIGlzIHRvZ2dsZWQgd2hpbGUgcGxheWluZwoKMjAwOS0xMC0xMiAxODozOTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMDktMTAtMTIgMTg6MzY6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIG1pbWljOiBSZW5hbWUgZnVuY3Rpb25zL21hY3JvcyB0byBtYXRjaCBjbGFzcyBuYW1lcwoKMjAxMC0wNS0xMCAxODozNzo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTA3IDE4OjU2OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IFJlbW92ZSBzdHJlYW0tbG9jayBldmVudCBoYW5kbGluZwoKMjAxMC0wNS0wNyAxODo1NDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2MgZm9yIHNpbXBsaWZpY2F0aW9uCgoyMDEwLTA1LTA3IDE4OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIHJ0cGR0bWZtdXggc3RyZWFtLWxvY2sgY29kZQoKMjAxMC0wNS0wNyAxODo0MDozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBDaGFuZ2UgdGVzdHMgdG8gbm90IHVzZSB0aGUgcHJpb3JpdHkgcGFkcyBpbnN0ZWFkIG9mIHRoZSBldmVudHMKCjIwMTAtMDUtMDYgMTk6NTE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwZHRtZm11eDogRHJvcCBidWZmZXJzIG9uIG5vbi1wcmlvcml0eSBzaW5rcyB3aGVuIHNvbWV0aGluZyBpcyBpbmNvbWluZyBvbiB0aGUgcHJpb3JpdHkgc2luawoKMjAxMC0wNS0wNiAxODoxMTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBwcmlvcml0eSBzaW5rIHBhZHMKCjIwMTAtMDUtMDcgMTc6MTU6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBDbGVhbnVwIGV2ZW50IGZ1bmN0aW9uCgoyMDEwLTA1LTA3IDE2OjQyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBZ2dyZWdhdGUgaW5jb21pbmcgc2VnbWVudHMKCjIwMTAtMDUtMDYgMTk6MDk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNS0wNiAxODoxMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBTaW1wbGlmeSByZXF1ZXN0IHBhZCBjcmVhdGlvbgoKMjAxMC0wNi0wMiAxMjoxNjo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlbzogbWFrZSBwcmludGYgZm9ybWF0cyBwb3J0YWJsZQoKMjAxMC0wNi0wMiAxMTo0MToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBPcmMgcmVxdWlyZW1lbnQgdG8gMC40LjQuMQoKMjAxMC0wNi0wMiAxMTozMToyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNZXJnZSBicmFuY2ggJ2hhY2tpbmcnCgoyMDEwLTA1LTIyIDE4OjE0OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIHZlcmlmeS1maWVsZC1mbGFncyBwcm9wZXJ0eQoJICBXaGVuIGVuYWJsZWQsIGNoZWNrIHRoYXQgdGhlIHZpZGVvIG1hdGNoZXMgdGhlIGZpZWxkIGZsYWdzIG9uIHRoZQoJICBpbmNvbWluZyBidWZmZXJzLgoKMjAxMC0wNS0yMiAxMTozNjozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IHJlbW92ZSBvbGQgY29kZQoKMjAxMC0wNS0yMiAxMTozMDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCA0OjI6MiBmb3JtYXRzCgoyMDEwLTA1LTIyIDAwOjQ0OjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQ2hhbmdlIGZvcm1hdCB0YWJsZQoJICBBZGQgZm9ybWF0IG5hbWUsIHBoYXNlIHRhYmxlLgoKMjAxMC0wMy0wOSAxMjozMjo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCBtdWx0aXBsZSBwdWxsZG93biBmb3JtYXRzCgoyMDEwLTA1LTIxIDIzOjM5OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBoYW5kbGUgZGlmZmVyZW50IGZyYW1lIHNpemVzCgoyMDEwLTA1LTI0IDEyOjU1OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IChpbiB2cDgpIE1hcmsgZGlzY29udCBidWZmZXJzCgoyMDEwLTA2LTAyIDA1OjUxOjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogRml4IGZvcm1hdCBzdHJpbmcgd2FybmluZwoJICBGaXhlcyAjNjIwMzI0CgoyMDEwLTA2LTAxIDIzOjUwOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBjb2c6IHJlbW92ZSBvbGQgdGVzdHMKCjIwMTAtMDYtMDEgMjM6MzQ6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgb3JjIHRlc3RzIHRvIGNoZWNrIE1ha2VmaWxlCgoyMDEwLTA2LTAxIDE2OjU1OjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogdXNlIGNvbW1vbi9vcmMubWFrCgoyMDEwLTA1LTE2IDEwOjI0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm86IEZpeCBzZWdmYXVsdCBvbiBFT1MKCjIwMTAtMDUtMTQgMDE6MjE6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hybzogZml4IGZvciBiYXNlIHZpZGVvIHVwZGF0ZXMKCjIwMTAtMDUtMTYgMTA6MTU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogRml4ZXMgZm9yIGJhc2UgdmlkZW8gZW5jb2RlciBjaGFuZ2VzCgoyMDEwLTA2LTAxIDE1OjU0OjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGJhc2UgdmlkZW8gZnJvbSB2cDggdG8gZ3N0LWxpYnMKCjIwMTAtMDYtMDEgMjM6NDk6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxN2Y4OWU1IHRvIDQ3NjgzYzEKCjIwMTAtMDYtMDEgMjI6NTU6MTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDdjYTA0IHRvIDE3Zjg5ZTUKCjIwMTAtMDUtMjYgMDY6NTI6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IFVzZSBWUFhfUExBTkVfKiBpbnN0ZWFkIG9mIFBMQU5FXyoKCjIwMTAtMDUtMjQgMTE6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IEFkZCBjb21wYXRpbGliaXR5IGRlZmluZXMgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxpYnZweCB0b28KCjIwMTAtMDUtMjMgMDk6Mjg6MTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhkZWM6IHMvSU1HX0ZNVF9JNDIwL1ZQWF9JTUdfRk1UX0k0MjAvCgkgIFRoaXMgY29ycmVzcG9uZHMgdG8gdXBzdHJlYW0gbGlidnB4IGNvbW1pdCA2Y2Q0YTEwZTE2NzIwM2QxZGViNzlhYmY2MGVlNzI1OTllOTc4OTFiCgoyMDEwLTA1LTIyIDEyOjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgYSBtYXhpbXVtIGtleWZyYW1lIGRpc3RhbmNlIG9mIDAsIGkuZS4gYWxsIGZyYW1lcyBhcmUga2V5ZnJhbWVzCgoyMDEwLTA1LTIyIDA5OjA4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogU2VuZCBhbiBpbml0aWFsIE5FV1NFR01FTlQgZXZlbnQKCjIwMTAtMDUtMjIgMDk6MDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMC0wNS0yMiAwODo1NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBBZGQgc2ltcGxlIElWRiBwYXJzZXIKCSAgVGhpcyBvbmx5IHN1cHBvcnRzIFZQOCBzbyBmYXIuCgkgIEZpeGVzIGJ1ZyAjNjE5MTU4LgoKMjAxMC0wNS0yMiAwODo0NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNldCBkZWNvZGVyIGRlYWRsaW5lIGZyb20gdGhlIFFvUyBpbmZvcm1hdGlvbgoKMjAxMC0wNi0wMSAxMDoxODowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAxMC0wNS0zMSAwMjoxMDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTkKCjIwMTAtMDUtMzEgMDI6MTA6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDUtMzEgMDE6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgc29tZSBkaXN0Y2xlYW4gcnVsZXMgdG8gZml4IGRpc3RjaGVjawoJICBTdG9sZW4gZnJvbSBndGstZG9jLm00IGFuZCBub3QgZm91bmQgaW4gZ3RrLWRvYy1wbHVnaW4ubTQuIFdlIG5lZWQKCSAgdGhlbSBiZWNhdXNlIHdlIGRvIGhhdmUgbGlicy9pbnRlcmZhY2VzIHN0dWZmIGFzIHdlbGwgbm93IChuYW1lbHkKCSAgR3N0UGhvdG9ncmFwaHkpLgoKMjAxMC0wNS0zMSAwMDozMzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBidWlsZCBvZiBndGstZG9jIHNjYW5uZXIKCjIwMTAtMDUtMjggMTY6MzU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBNb3ZlIGRlYnVnIG91dHB1dCBvbmUgbGluZSBhYm92ZSB3aGVyZSB0aGUgcGFja2V0IGlzIHN0aWxsIHZhbGlkCgoyMDEwLTA1LTI4IDE1OjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IGlnbm9yZSBub24tZnJhbWUgcGFja2V0cyBmcm9tIHRoZSBlbmNvZGVyCgkgIEZpeGVzIGJ1ZyAjNjE5OTE2LgoKMjAxMC0wNS0yMSAxNDowMTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoYW5nZSBwcm9maWxlIGFuZCBsZXZlbCBzdHJpbmdzIHRvIHNvbWV0aGluZyBuaWNlci1sb29raW5nCgkgIFRoaXMgaXMgbW9yZSBpbiBsaW5lIHdpdGggd2hhdCB3ZSBkbyBlbHNld2hlcmUsIGV2ZW4gaWYgaXQgZG9lc24ndAoJICByZXNlbWJsZSB0aGUgb2ZmaWNhbCBhYmJyZXZpYXRpb25zIGV4YWN0bHkuCgkgIFNlZSAjNjE2MDc4LgoKMjAxMC0wNS0yNSAxNjozNzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBsdWcgYSBmZXcgbWVtb3J5IGxlYWtzCgkgIEZpeGVzICM2MTk2MTcuCgoyMDEwLTA1LTI2IDE0OjExOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMjYgMTQ6MDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvY2FtZXJhYmluLnBuZzoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5wbmc6CgkgIGRvY3M6IGZpeCBkaXN0L2Rpc3RjaGVjayBpc3N1ZXMgd2l0aCBjYW1lcmFiaW4gZmlndXJlcwoJICBNb3ZlIGZpZ3VyZXMgaW50byBkb2NzL3BsdWdpbnMgYXMgd2VsbCwgdG8gYXZvaWQgaXNzdWVzIHdpdGgKCSAgbWFrZSBkaXN0IGFuZCBtYWtlIGRpc3RjaGVjayAobWFrZSBkaXN0ZGlyIHdpbGwgbm90IGZpcnN0IGRlc2NlbmQKCSAgaW50byBjaGlsZCBkaXJlY3RvcmllcykuIE91dC1vZi1zb3VyY2UgYnVpbGQgc2VlbXMgdG8gc3RpbGwgd29yawoJICBhcyB3ZWxsLgoKMjAxMC0wNS0yNiAxMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDUtMjYgMTE6NTU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTdiMGRiIHRvIGZkN2NhMDQKCjIwMTAtMDUtMDcgMTY6NDI6MTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgIG1wbGV4OiBhZGQgTVBMRVhfTERGTEFHUyB2YXJpYWJsZQoJICBTbyBtaW5ndzMyIHVzZXJzIGNhbiBoYWNrIGFyb3VuZCBhIGNvbXBpbGVyL2xpbmtlciBidWcuCgkgIEZpeGVzICM2MTcxNDUKCjIwMTAtMDUtMjUgMDA6Mjc6MTcgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggY3Jhc2ggaWYgZG93bnN0cmVhbSBpcyB1bmxpa2VkCgkgIG1wZWdfcGFja2V0aXplcl9nZXRfYmxvY2soKSBpbiBzb21lIGNpcmN1bXN0YW5jZXMgKGhlcmU6IGlmCgkgIGRvd25zdHJlYW0gd2FzIHVubGlua2VkKSByZXR1cm5zIGEgYmxvY2sgYnV0IGRvZXMgbm90IHNldCB0aGUKCSAgYnVmZmVyIGNhdXNpbmcgbXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwoKSB0byBjYXVzZSBpbnZhbGlkIG1lbW9yeQoJICBhY2Nlc3MuCgkgIEZpeGVzICM2MTk1MDIuCgoyMDEwLTA1LTI0IDE3OjQxOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgUmVtb3ZpbmcgcmVtYWluaW5nIGdzdGFwcCoKCSAgVGhlcmUgYXJlIHNvbWUgcmVtYWluaW5nIGdzdGFwcCogbGl2aW5nIHVubGlua2VkIGZyb20gdGhlIGJ1aWxkIHNjcmlwdHMuCgkgIFJlbW92ZSB0aGVtLgoKMjAxMC0wNS0yNCAxOToyMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBGaXggdGVzdCBidWlsZAoJICBBZGRzIG1pc3NpbmcgLWJhZCBjZmxhZ3MgdG8gY2FtZXJhYmluIHRlc3RzLgoKMjAxMC0wNS0yMyAxOToxNzo0MSArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgkgIERvbid0IGxlYWsgbGFuZ3VhZ2UgY29kZS4KCSAgRml4ZXMgIzYxOTQ0NC4KCjIwMTAtMDUtMjEgMjA6NDg6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IHJlc2FtcGxlIFlVVi0+WVVWIGNvbnZlcnNpb25zCgkgIEZpeGVzIGEgc2VnZmF1bHQgKGJ1ZyAjNjE4MDQ0KS4KCjIwMTAtMDQtMDggMTY6MDU6MTEgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogY2hhbmdlIFZDRCBVUkkgaGFuZGxlciB0byB0aGUgRFZEIHNjaGVtZQoJICBUaGUgY3VycmVudCBVUkkgcGFyc2luZyBjb2RlIGRvZXNuJ3QgYWxsb3cgc2V0dGluZyB0aGUgImRldmljZSIKCSAgZnJvbSB3aGljaCB0aGUgVkNEIHNob3VsZCBiZSByZWFkLgoJICBVc2UgdGhlIHNhbWUgc3RydWN0dXJlIGFzIHRoZSBEVkQgVVJJIGhhbmRsaW5nIGluc3RlYWQsIHNvIHRoYXQKCSAgZGV2aWNlcyBjYW4gYmUgcGFzc2VkIGluIHRoZSBVUkksIGFzIHdlbGwgYXMgdHJhY2sgbnVtYmVyLgoJICBVcCB0aGUgcmFuayBvZiB0aGUgVkNEIHBsdWdpbiBzbyB0aGF0IGl0IGNhbiBiZSBhdXRvLXBsdWdnZWQgYW5kCgkgIHVzZWQgYnkgVG90ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDA5ODYKCjIwMTAtMDUtMjIgMDc6NDQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBUYWtlIHRoZSBmcmFtZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBjYWxjdWxhdGluZyB0aGUgZWFybGllc3QgdGltZQoJICBUaGlzIGZvcm11bGEgaXMgdXNlZCBpbiBtYW55IG90aGVyIGVsZW1lbnRzIHRvby4KCSAgRml4ZXMgYnVnICM2MTkzMTguCgoyMDEwLTA1LTIyIDA3OjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgUW9TIHZhbHVlcyB3aGVuIG5lY2Vzc2FyeQoKMjAxMC0wNS0yMiAwOTozNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBHU1RfVklERU9fQ0FQU19ZVVYoSTQyMCkgaW5zdGVhZCBvZiBoYW5kd3JpdHRlbiBJNDIwIGNhcHMgZm9yIHRoZSBwYWQgdGVtcGxhdGUKCSAgRml4ZXMgYnVnICM2MTkzNDQuCgoyMDEwLTA1LTIxIDIwOjUzOjM2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogZHJvcCBsYXRlIGZyYW1lcyBhZnRlciBkZWNvZGluZyB0aGVtCgkgIFRoaXMgc2F2ZXMgYSBtZW1jcHksIHdoaWNoIGlzIGFsd2F5cyBzb21ldGhpbmcuCgoyMDEwLTA1LTIxIDIxOjI4OjI5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB0aHJlYWRzIHByb3BlcnR5CgkgIEluY3JlYXNpbmcgZnJvbSAxIHRvIDIgdGhyZWFkcyBvbiBhbiBUaGlua3BhZCBYNjBzIGRlY3JlYXNlZCBlbmNvZGUgdGltZQoJICBpbiBhIHRlc3QgZnJvbSB+MjQgcyB0byB+MTkgcywgc28gdGhpcyBpcyBxdWl0ZSB1c2VmdWwuCgkgIElkZWFsbHkgd2Ugc2hvdWxkIGxldCAwIGJlIHRoZSBkZWZhdWx0IGFuZCBhdXRvbWF0aWNhbGx5IG1hdGNoIHRoZSBudW1iZXIKCSAgb2YgQ1BVIGNvcmVzIChvciBzb21ldGhpbmcpLgoKMjAxMC0wNS0yMSAxNToxNzo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogYWRkIG1vZGUgcHJvcGVydHkgdG8gc3dpdGNoIGJldHdlZW4gQ0JSL1ZCUgoJICBBbHdheXMgdXNpbmcgQ0JSIHdoZW4gYml0cmF0ZSBpcyB1c2VkIGlzbid0IHRoYXQgZ3JlYXQsIFZCUiBtb2RlCgkgIGNhbiBwcm9kdWNlIG1lYW5pbmdmdWwgcmVzdWx0cyB0b28uCgoyMDEwLTA1LTIxIDEwOjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogT25seSBlbmFibGUgcG9zdHByb2Nlc3NpbmcgaWYgdGhlIGRlY29kZXIgc3VwcG9ydHMgaXQKCjIwMTAtMDUtMjEgMDg6MjM6NTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IHR5cG86IHMvSEFWRV9WUDhfREVDT0RFUi9IQVZFX1ZQOF9FTkNPREVSLwoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIxIDA4OjEzOjA2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBtb3ZlICNpZmRlZiBIQVZFX1ZQOF9FTkNPREVSL0RFQ09ERVIKCSAgT3RoZXJ3aXNlIHdlJ2xsIHRyeSBpbmNsdWRpbmcgZS5nLiA8dnB4L3ZwOGN4Lmg+IHdoaWNoIGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cDg6IGxpbmsgd2l0aCAtbG0gLWxwdGhyZWFkIHdoZW4gdGVzdGluZyBmb3IgdnA4IGVuY29kZXIvZGVjb2RlcgoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDIwOjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogV3JpdGUgR1N0cmVhbWVyIGVsZW1lbnQgYW5kIHZlcnNpb24gaW4gdGhlIHZvcmJpc2NvbW1lbnQgdmVuZG9yIHN0cmluZwoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogT25seSBlbmFibGUgdGhlIGVuY29kZXIgb3IgZGVjb2RlciBpZiBpdCdzIGF2YWlsYWJsZSBpbiBsaWJ2cHgKCSAgRml4ZXMgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDEwOjE5OjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBleGxjdWRlIGRlYy9lbmMgYmFzZWQgb24gQ09ORklHX1ZQOF9ERUNPREVSL0VOQ09ERVIKCSAgVGhpcyBtYXkgbm90IGJlIHZlcnkgYXV0b3Rvb2xpc2gsIGJ1dCB3b3JrcyB3aXRoIGxpYnZweCBpbiB0aGUgc3RhdGUKCSAgdGhhdCBsaWJ2cHggaXMgYWN0dWFsbHkgaW4uIE1vdmVkIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBlbGVtZW50cwoJICB0aGVtc2VsdmVzIHRvIG1pbmltaXplIGFtb3VudCBvZiAjaWZkZWZzCgoyMDEwLTA1LTIwIDE1OjU5OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IGh0bWwgaW1hZ2UgbG9jYXRpb24gZm9yIG91dC1vZi1zb3VyY2UgYnVpbGQKCjIwMTAtMDUtMjAgMDk6MjQ6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IExpbWl0IG1heC1sYXRlbmN5IHRvIDI1IHRvIG1hdGNoIGxpYnZweAoJICBGcm9tIGxpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oOgoJICAjZGVmaW5lIE1BWF9MQUdfQlVGRkVSUyAoQ09ORklHX1JFQUxUSU1FX09OTFk/IDEgOiAyNSkKCSAgV2hpbGUgd2UgZG9uJ3QgbmVlZCB0byBiZSB0aWVkIHRvIHdoYXQgbGlidnB4IGRvZXMgaW50ZXJuYWxseSwgaXQKCSAgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByZXRlbmQgdG8gc3VwcG9ydCBsb25nZXIgZnJhbWUgbGFncyB0aGFuIGFyZQoJICBhY3R1YWxseSBwb3NzaWJsZS4KCjIwMTAtMDUtMjAgMDk6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJICB2cDg6IFVuZGVmIEhBVkVfQ09ORklHX0ggYmVmb3JlIGluY2x1ZGluZyBsaWJ2cHggaGVhZGVycwoJICBBIHB1YmxpYyBsaWJ2cHggaGVhZGVyIGluY2x1ZGVzIHByaXZhdGUgaGVhZGVycyBpZiB0aGlzIGlzCgkgIGRlZmluZWQsIGNhdXNpbmcgY29tcGlsYXRpb24gZmFpbHVyZXMgYmVjYXVzZSB0aGUgcHJpdmF0ZSBoZWFkZXJzCgkgIGFyZSBub3QgaW5zdGFsbGVkIG9mIGNvdXJzZS4KCjIwMTAtMDUtMjAgMDg6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTb21lIG1vcmUgbWlub3IgYWRqdXN0bWVudHMgZm9yIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xOSAxNzoxMjo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBTcGxpdCBvdXQgR1NUX1BMVUdJTlNfQkFEX0NGTEFHUyBmcm9tIEdTVF9DRkxBR1MKCSAgTW92ZSBpbmNsdWRlIGRpcmVjdGl2ZXMgZm9yIGdzdC1saWJzIGludG8gR1NUX1BMVUdJTlNfQkFEX0NGTEFHUywKCSAgYW5kIGZpeCBhbGwgdGhlIE1ha2VmaWxlcyB0aGF0IHVzZSBpdC4gIFRoaXMgaXMgc28gdGhhdCBhbGwgdGhlCgkgIGluY2x1ZGUgZGlyZWN0b3JpZXMgYXJlIGFkZGVkIGluIHRoZSBwcm9wZXIgb3JkZXI6IGZpcnN0IHRoZQoJICBkaXJlY3RvcmllcyBpbiBzcmNkaXIvYnVpbGRkaXIsIHRoZW4gZ3N0LXBsdWdpbnMtYmFzZSBkaXJzLCB0aGVuCgkgIGdzdHJlYW1lciBkaXJzLiAgSWYgdGhlIG9yZGVyIGlzIHdyb25nLCBpbnN0YWxsZWQgaGVhZGVycyBtYXkgYmUKCSAgdXNlZCBpbnN0ZWFkIG9mIGxvY2FsIGhlYWRlcnMgYW5kL29yIHVuaW5zdGFsbGVkIGhlYWRlcnMgZnJvbSAtYmFzZS4KCjIwMTAtMDUtMTkgMjM6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWsKCjIwMTAtMDUtMTkgMjE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGp1c3QgT2dnIG1hcHBpbmcgZm9yIHRoZSBjaGFuZ2VzCgoyMDEwLTA1LTEyIDE4OjUwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIFZQOAoKMjAxMC0wNS0xOSAxODoxMjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIFZQOCBkZWNvZGVyIHBvc3QgcHJvY2Vzc2luZyBmZWF0dXJlCgkgIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igbm93LgoKMjAxMC0wNS0xOSAxNzoxNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlbmFtZSBrZXlmcmFtZS1pbnRlcnZhbCB0byBtYXgta2V5ZnJhbWUtZGlzdGFuY2UKCSAgQW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzIGZvciBidWZmZXIgc2l6ZXMgdW50aWwgd2UgZXhwb3NlIHRoaXMKCSAgc29tZWhvdy4KCjIwMTAtMDUtMTkgMTc6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogSW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgZGVidWcgb3V0cHV0CgoyMDEwLTA1LTE5IDE0OjQ2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogVXNlIGNvcnJlY3Qgc3RyaWRlcyBhbmQgcGxhbmUgb2Zmc2V0cyBmb3IgR1N0cmVhbWVyCgoyMDEwLTA1LTE4IDE0OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wbGVtZW50IEdzdFRhZ1NldHRlciBpbnRlcmZhY2UKCjIwMTAtMDUtMTggMTQ6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggc2V0dGluZyBvZiB0aGUga2V5ZnJhbWUgZmxhZyBvbiBlbmNvZGVkIGZyYW1lcwoKMjAxMC0wNS0xOCAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMKCjIwMTAtMDUtMTggMTQ6Mjg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBmYWlsIGlmIGluaXRpYWxpemluZyB0aGUgZGVjb2RlciBmYWlscwoKMjAxMC0wNS0xOCAwMjo0NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCB0aW1lYmFzZQoJICBBbHNvIG1pc2MgY2xlYW51cC4KCjIwMTAtMDUtMTYgMTA6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggZGVjb2Rpbmcgb2YgaW52aXNpYmxlIGZyYW1lcwoKMjAxMC0wNS0xNCAxNDoyNjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSB0aGUgbGF0ZW5jeSB3aGVuIGluaXRpYWxpemluZyB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xNCAxNDowMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IENvcnJlY3RseSBpbml0aWFsaXplIHN0cmVhbSBpbmZvIGJlZm9yZSBwZWVraW5nIGF0IHRoZSBzdHJlYW0KCSAgT3RoZXJ3aXNlIHBlZWtpbmcgd2lsbCBmYWlsIGFuZCB3ZSdsbCBnZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTAtMDUtMTQgMTE6MDE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBNYWtlIHN1cmUgdG8gcGFzcyBhIGtleWZyYW1lIGFzIGZpcnN0IGZyYW1lIHRvIHRoZSBkZWNvZGVyLCBjb3B5IG91dHB1dCBmcmFtZXMgb25seSBvbmNlIGFuZCByZXF1aXJlIHdpZHRoL2hlaWdodC9ldGMgb24gdGhlIGlucHV0IGNhcHMKCjIwMTAtMDUtMTQgMTA6MzA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgaW52aXNpYmxlIGZyYW1lcyBhbmQgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE0IDAxOjE0OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IHJlc2V0IGFmdGVyIHNlZWtpbmcKCSAgQWxzbyByZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMTAtMDUtMTMgMjE6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgZnJhbWUgbnVtYmVycyBhcyBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wNS0xMyAyMToxODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsd2F5cyBnZXQgYXMgbWFueSBmcmFtZXMgYXMgcG9zc2libGUgZnJvbSB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xMyAyMTowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpbGwgdGhlIG9sZGVzdCBwZW5kaW5nIGZyYW1lIGluc3RlYWQgb2YgdGhlIG5ld2VzdAoKMjAxMC0wNS0xMyAyMDoyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBzZXQgZGVsdGEgdW5pdCBmbGFnIGZvciBub24ta2V5ZnJhbWVzCgoyMDEwLTA1LTEzIDAxOjA0OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogQWRkIGVuY29kZXIvZGVjb2RlcgoKMjAxMC0wNS0xOCAyMTozMjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB3cm9uZyB0aW1lc3RhbXBzIGluIHNvbWUgY2FzZXMgYWZ0ZXIgc2Vla2luZy4KCSAgUmVzZXQgLT5sYXN0X291dGJ1Zl9kdHMgb24gZmx1c2gtc3RvcC4gRml4ZXMgIzYxOTA2NC4KCjIwMTAtMDUtMTcgMTY6MjY6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBwYXJzaW5nIGFkYXB0YXRpb24gZmllbGQKCjIwMTAtMDUtMTcgMTE6NTI6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkqIGV4dC9wb2x5cC9wbHVnaW4uYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgIFJlbW92ZSB1bnVzZWQgcG9seXAgYXVkaW8gcGx1Z2luIGNvZGUKCSAgcG9seXBhdWRpbyB3YXMgcmVuYW1lZCB0byBwdWxzZWF1ZGlvIGFnZXMgYWdvLgoJICBGaXhlcyAjNjE4ODY3LgoKMjAxMC0wNS0xNSAxNTozNzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQ6IENoZWNrIGZvciBkdmRuYXYgYW5kIGR2ZHJlYWQgbGlicmFyaWVzCgoyMDEwLTA1LTE1IDAxOjE4OjUyICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBEb24ndCBpbnN0YWxsIGNhbWVyYWJpbiBleGFtcGxlcwoKMjAxMC0wNS0xNSAwMDoxOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4yIHByZS1yZWxlYXNlCgoyMDEwLTA1LTE0IDE4OjMxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgZG9jczogcmVtb3ZlIG1vcmUgY3J1ZnQgcmVsYXRlZCB0byBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkIHRvIC1nb29kCgoyMDEwLTA1LTE0IDE4OjI1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGQ2N2JkNiB0byAzNTdiMGRiCgoyMDEwLTA1LTE0IDE2OjUzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTA1LTE0IDAxOjU1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBzaGF2ZSBmaWxlcyBpbiBjb21tb24gdG8gJ2NydWZ0JyBmaWxlcwoKMjAxMC0wNS0xMyAxNDo0Mjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IE9ubHkgY2xvc2UgdGhlIGNvbm5lY3Rpb24gaWYgaXQncyBvcGVuZWQKCjIwMTAtMDUtMTMgMTQ6NDE6MDggKzAyMDAgIEl2YW4gWmRlcmFkaWNrYSA8aXZhbi56ZGVyYWRpY2thQGdtYWlsLmNvbT4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogRG9uJ3Qgb3BlbiBhbiBpbmZpbml0ZSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdG8gdGhlIHNlcnZlciBhbmQgY2xvc2UgY29ubmVjdGlvbnMKCSAgRml4ZXMgYnVnICM2MTg1MjcuCgoyMDEwLTA1LTEzIDEyOjU1OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2tzcmM6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgcmVhZCBuZnJhbWVzCgkgIEVycm9yIG91dCB3aGVuIHdlIGFyZSBhc2tlZCB0byByZWFkIGEgZGlmZmVyZW50IHNpemUgdGhhdCB3aGF0IHdhcyBjb25maWd1cmVkIGFzCgkgIHRoZSBqYWNrIHBlcmlvZCBzaXplIGJlY2F1c2UgdGhhdCB3b3VsZCBtZWFuIHNvbWV0aGluZyBlbHNlIGlzIHdyb25nLgoJICBGaXhlcyAjNjE4NDA5CgoyMDEwLTA1LTExIDE3OjU2OjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogaW1wcm92ZSBwcm9jZXNzX2NiCgoyMDEwLTA1LTExIDEzOjUyOjUxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxqb3NodWEuZG9lQHVzLmFybXkubWlsPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSAgZnJlaTByOiBGaXggc2V0dGluZyBvZiBib29sZWFuIHZhbHVlcwoJICBTZXR0aW5nIGJvb2xlYW4gdHlwZSBwYXJhbWV0ZXJzIGZyb20gZ3N0LWxhdW5jaCBmYWlsZWQgYmVjYXVzZSBvZiBpbXByb3BlciBoYW5kbGluZyBvZiB0eXBlIGNvbnZlcnNpb25zLgoJICBGaXhlcyBidWcgIzYxODM4OC4KCjIwMTAtMDUtMTIgMTM6MDA6MTYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIFREVCB0YWJsZSBpbiBtcGVndHMuCgkgIFNvbWUgdGFibGVzIGluIE1QRUctVFMgZG8gbm90IGhhdmUgYSBjcmMgaW4gdGhlIHNwZWMsIHNvIGFsc28gbXBlZ3RzcGFyc2UKCSAgaXMgbm90IGNhbGN1bGF0aW5nIGNyYyBmb3Igc2VjdGlvbnMgd2l0aCB0YWJsZV9pZCAweDcwIC0gMHg3MiBiZWNhdXNlIHRoZXkKCSAgZG8gbm90IGhhdmUgYSBDUkMgaW4gdGhlIHNwZWMuIFNlZSBFTjMwMDQ2OC4gUGFyc2UgVGltZSBhbmQgRGF0ZSB0YWJsZSBhbmQKCSAgb3V0cHV0IGJ1cyBtZXNzYWdlLgoKMjAxMC0wNS0xMSAxNjowMzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHJlbW92ZSBvc3M0IHN0cmluZ3MKCjIwMTAtMDUtMTEgMTU6MzM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIFJlbW92ZSBvc3M0IHBsdWdpbgoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxNDMwNS4KCjIwMTAtMDUtMTEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIFJlbW92ZSBpbWFnZWZyZWV6ZSBwbHVnaW4vZWxlbWVudC4KCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTM3ODYuCgoyMDEwLTA1LTExIDEzOjE1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGRvbid0IGZhaWwgdGFnc2NoZWNraW5nIHRlc3QgaWYgcXRkZW11eCBpcyBub3QgYXZhaWxhYmxlIG9yIHRvbyBvbGQKCjIwMTAtMDUtMTEgMTM6MDg6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgUmVtb3ZlIGNhcHNzZXR0ZXIgZWxlbWVudAoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxNzczOS4KCjIwMTAtMDUtMTEgMTA6MDQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBHVEsrIDMuMCBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGZvciBHVEsrIDIuMAoKMjAxMC0wNS0xMSAxMDowMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIHNjYWxldGVtcG86IERvbid0IHVzZSBkZXByZWNhdGVkIEdUSyBzeW1ib2xzIGluIHRoZSBkZW1vCgoyMDEwLTA1LTA3IDE5OjE1OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3QgdHJ5IHRvIHJlLXNlbmQgdGhlIHNhbWUgZXZlbnQgbW9yZSB0aGFuIG9uY2UKCjIwMTAtMDUtMDcgMjI6NTM6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogbWFrZSB0aGUgaW50ZW50aW9uIG9mIHRoZSBlbGVtZW50cyBtb3JlIGNsZWFyCgoyMDEwLTA1LTA3IDEzOjU3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBSZXZlcnQgImppZm11eDogTWVyZ2UgeG1wIGFuZCB0YWdzZXR0ZXIgdGFncy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGU1YzQxMjIzNDkwMzEyNjRiZjQ3ZTZhZjkzMzhmOGFlMDIzNmQ1Zi4KCSAgamlmbXV4IHNob3VsZG4ndCBiZSBhYmxlIHRvIGhhbmRsZSBqaWYgYW5kIHNob3VsZG4ndCBleHBlY3QKCSAgYW55IHhtcCBvbiBpdHMgZGF0YS4gU28sIG5vIG5lZWQgdG8gaGFuZGxlIHRoZW0uCgoyMDEwLTA1LTA3IDEyOjQyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IE1lcmdlIHhtcCBhbmQgdGFnc2V0dGVyIHRhZ3MuCgkgIFdoZW4gdGhlIGN1cnJlbnQgZmlsZSBhbHJlYWR5IGhhcyB0YWdzLCB0aGV5IHNob3VsZG4ndCBiZSBpZ25vcmVkLAoJICBwYXJzZSB0aGVtIGFuZCBtZXJnZSB3aXRoIHRoZSB0YWdzZXR0ZXIgb25lcy4KCjIwMTAtMDUtMDcgMTE6MDc6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUmVqZWN0IGJ1ZmZlcnMgd2l0aG91dCBjYXBzCgkgIGppZm11eCBleHBlY3RzIHdob2xlIGpwZWcgcGljdHVyZXMgaW4gYnVmZmVycywgc28gaXQgc2hvdWxkCgkgIHJlamVjdCBidWZmZXJzIHdpdGhvdXQgY2Fwcy4KCjIwMTAtMDUtMDcgMTA6NTk6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQmUgc2FmZSBhbmQgY2hlY2sgYnl0ZXdyaXRlciByZXR1cm5zCgkgIENoZWNrIEdzdEJ5dGVXcml0ZXIgcmV0dXJucyB0byBrbm93IHdoZW4gcmVjb21iaW5pbmcgdGhlIGltYWdlCgkgIGZhaWxlZCBhbmQgbG9nIGEgd2FybmluZy4KCjIwMTAtMDUtMDcgMTA6MTM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQXZvaWQgYWRkaW5nIDIgeG1wIHBhY2tldHMKCSAgamlmbXV4IHdhcyBvbmx5IGFwcGVuZGluZyBhIG5ldyB4bXAgcGFja2V0IHRvIHRoZSBzdHJlYW0sCgkgIGl0IHNob3VsZCByZXBsYWNlIGlmIHRoZXJlIGlzIGFscmVhZHkgb25lLgoKMjAxMC0wNS0wNyAxMDo1ODo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZnJlZXplIHRvIHBsdWdpbiBkb2NzCgoyMDEwLTA1LTA3IDA4OjEyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4YW1wbGVzL21wdHNfdGVzdDIuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzbXV4L21wdHNfdGVzdDIuYzoKCSAgbXBlZ3RzbXV4OiBNb3ZlIG11bHRpLXByb2dyYW0gbXV4aW5nIGV4YW1wbGUgYXQgbGVhc3QgdG8gdGhlIGNvcnJlY3QgZGlyZWN0b3J5CgkgIEJ1dCBpdCBkb2Vzbid0IHdvcmsgb3V0IG9mIHRoZSBib3ggYmVjYXVzZSBvZiBoYXJkY29kZWQgcGF0aHMuCgoyMDEwLTA1LTA2IDEzOjUxOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWljOiBQdXNoIG91dCBuZXdzZWdtZW50IGZyb20gY3VycmVudCB0aW1lc3RhbXAgaWYgdGhlIGluY29taW5nIHRzIGlzIHZhbGlkCgkgIFB1c2ggb3V0IG5ld3NlZ21lbnQgZXZlbnQgd2l0aCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGluY29taW5nIGJ1ZmZlciBpZgoJICB0aGUgaW5jb21pbmcgYnVmZmVycyBoYXZlIGEgdmFsaWQgdGltZXN0YW1wIGJ1dCBubyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50CgkgIGhhcyBiZWVuIHRocm91Z2guCgoyMDEwLTA1LTA2IDIyOjM4OjIyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFwcGx5IGNhcHMgdG8gZ2VuZXJhdGVkIGJ1ZmZlcnMKCSAgQXZvaWQgdGhlIG5ldyB3YXJuaW5nIGZyb20gdGhlIGNvcmUgYWJvdXQgbm90IGJlaW5nIGFibGUgdG8gYXBwbHkgY2FwcwoJICB0byBOQVYgcGFja2V0IGJ1ZmZlcnMsIHdoZXJlIHJlc2luZHZkc3JjIGhvbGRzIGEgcmVmLgoKMjAxMC0wNS0wNiAxMzoxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTA1LTA2IDA5OjUxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogVXNlIHRoZSBlc2NhcGVkIGxvY2F0aW9uIGZvciB0aGUgUlRTUCByZWRpcmVjdCBtZXNzYWdlCgkgIGdzdF91cmlfZ2V0X2xvY2F0aW9uKCkgdW5lc2NhcGVzIHRoZSBsb2NhdGlvbiwgd2hpY2ggY291bGQgcmVzdWx0IGluCgkgIGFuIGludmFsaWQgUlRTUCBVUkkuCgoyMDEwLTA1LTA2IDA5OjQ4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogQ2hlY2sgVVJJIGZvciB2YWxpZGl0eSBhbmQgd29yayBhcm91bmQgVVJJIHBhcnNpbmcgYnVncyBpbiBsaWJtbXMKCSAgRml4ZXMgYnVnICM2MTc2NTAuCgoyMDEwLTA1LTA2IDA4OjA4OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNS0wNSAxMjoyMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBjb3JyZWN0IHBhZAoJICBUaGlzIG1ha2VzIHRoZSBzaW5rIGdldGNhcHMgZnVuY3Rpb24gYWN0dWFsbHkgdXNlZCBpbnN0ZWFkIG9mIHVzaW5nCgkgIHRoZSBmaXhlZCBjYXBzIGZ1bmN0aW9uIGZvciBpdC4KCjIwMTAtMDUtMDEgMTI6MzE6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIEFkZCBuZXcgY2FtZXJhYmluIHRlc3QgYmluYXJ5IHRvIC5naXRpZ25vcmUKCjIwMTAtMDUtMDEgMTU6MDA6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkgIHZkcGF1OiBmaXggc21hbGwgdHlwbwoKMjAxMC0wNS0wMSAxNDo1ODozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJICB2ZHBhdTogYWRkIGxlZnRvdmVyIGdzdHZkcC5oCgoyMDEwLTA1LTAxIDE0OjQ1OjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggY3Jhc2hlciBvbiBzZXR0aW5nIHByb3BlcnRpZXMgYmVmb3JlIHdlJ3JlIGluIFJFQURZCgoyMDEwLTA0LTI5IDIyOjQzOjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdTogcmVtb3ZlIGRlYnVnIGNvZGUKCjIwMTAtMDQtMjkgMjI6MjQ6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogc21hbGwgYXBpIGNsZWFudXAKCSAgbWVyZ2UgZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X2FsbG93ZWRfW3ZpZGVvfHl1dl1fY2FwcyBpbnRvCgkgIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF9hbGxvd2VkX2NhcHMKCjIwMTAtMDQtMjIgMTI6NTc6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IHNtYWxsIGZpeGVzCgoyMDEwLTA0LTIyIDEyOjUyOjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBhZGQgYmFjayBnc3R2ZHBhdS5jCgoyMDEwLTAzLTE3IDIxOjAyOjA3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBnc3RfdmRwX2luaXQgZnVuY3Rpb24gd2hlcmUgd2UgcmVnaXN0ZXIgdHlwZXMKCjIwMTAtMDMtMTcgMjA6NTk6MDggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXU6IGFkZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgdG8gR3N0VmRwT3V0cHV0U3JjUGFkCgkgIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfcHVzaCwgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9hbGxvY19idWZmZXIgYW5kCgkgIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfZ2V0X2RldmljZSBub3cgdGFrZSBhIEdFcnJvciBwYXJhbWV0ZXIgdG8gYmUgYWJsZSB0bwoJICBzaWduYWwgZXJyb3JzIHRvIHRoZSBjYWxsZXIKCjIwMDktMTEtMjggMjM6NTg6NTcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvU3JjUGFkKENsYXNzKT8gcHJpdmF0ZQoKMjAwOS0xMS0yOCAyMzo1NTowOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZm9sbG93IEdzdFZkcFZpZGVvU3JjUGFkIGNoYW5nZXMKCjIwMDktMTEtMjggMjM6NTI6MTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiByZW1vdmUgdGVtcGxhdGUtY2FwcyBwcm9wZXJ5IGZvcm0gR3N0VmRwVmlkZW9TcmNQYWQKCSAgR3N0VmRwVmlkZW9TcmNQYWQgbm93IHVzZSB0aGUgdGVtcGxhdGUgcHJvcGVydHkgb2YgR3N0UGFkIGluc3RlYWQuIEFsc28gY2hhbmdlZAoJICB0aGUgX25ldyBmdW5jdGlvbiB0byBiZSBsaWtlIGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUuCgoyMDEwLTA1LTAxIDAxOjE2OjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBGaXggd2FybmluZ3MgaW4gZGlyZWN0ZHJhd3NpbmsgYW5kIGRpcmVjdHNvdW5kc3JjCgkgIEZpeGVzICM2MTczMzEKCjIwMTAtMDQtMzAgMTk6MDM6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMTAtMDQtMjkgMTY6MzM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW1wcm92ZSBidWZmZXIgc2Nhbm5pbmcKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIHNjYW5uaW5nIGZvciBlbnRyb3B5IGRhdGEgc2VnbWVudCBsZW5ndGggYW5kIG5lZWRpbmcKCSAgbW9yZSBkYXRhLCBkbyBub3QgcmVzY2FuIGZyb20gc3RhcnQgbmV4dCB0aW1lIGFyb3VuZCwgYnV0IHJlc3VtZSBhdAoJICBsYXN0IHBvc2l0aW9uLgoJICBTZWUgYWxzbyAjNTgzMDQ3LgoKMjAxMC0wNC0yNyAxMDo0ODozMiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkB0cmlzdGFuLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2s6IGltcGxlbWVudCBtdWx0aWNoYW5uZWwgc3VwcG9ydCBjb3JyZWN0bHkgZm9yIGphY2thdWRpb3NyYwoJICBGaXhlcyBwYXJ0cyBvZiBidWcgIzYxNjU0MS4KCjIwMTAtMDQtMjkgMTM6MTg6NTggKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgb3NzNHNpbms6IGltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIGFuZCBhZGQgbXV0ZSBhbmQgdm9sdW1lIHByb3BlcnRpZXMKCSAgT1NTNCBzdXBwb3J0cyBwZXItc3RyZWFtIHZvbHVtZSBjb250cm9sLCBzbyBleHBvc2UgdGhpcyB1c2luZyB0aGUgcmlnaHQKCSAgQVBJLCBzbyB0aGF0IHBsYXliaW4yIGFuZCBhcHBsaWNhdGlvbnMgbGlrZSB0b3RlbSBjYW4gbWFrZSB1c2Ugb2YgaXQKCSAgKGluc3RlYWQgb2YgdXNpbmcgYSB2b2x1bWUgZWxlbWVudCBmb3Igdm9sdW1lIGNvbnRyb2wpLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0yOSAwNDo0MjoyMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBzdHJpbmdzIGZvciBnY2MgNC41CgkgIERvbmUgb24gV2luZG93cy9NaW5HVy4KCSAgRml4ZXMgIzYxNzE0NgoKMjAxMC0wNC0yNyAxMToyMToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgamFjazogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgYW5kIGZpbmFsaXplIG1ldGhvZHMKCjIwMTAtMDQtMjcgMTA6NTk6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2FwcwoJICBBZGQgZGlzcG9zZSBtZXRob2RzIHRvIGNsZWFyIGNhcHMuCgoyMDEwLTA0LTI3IDEwOjM0OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMDQtMjYgMTU6MDY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGxhZHNwYSxsdjI6IGRvbid0IGZhaWwgaW4gcGx1Z2luX2luaXQgd2hlbiBoYXZpbmcgMCBlbGVtZW50cwoJICBJZiB3ZSBmYWlsLCB0aGUgcGx1Z2luIHNjYW5uZXIgd2lsbCBibGFja2xpc3QgdXMuCgoyMDEwLTA0LTIzIDE0OjQxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmM4NTg2NyB0byA0ZDY3YmQ2CgoyMDEwLTA0LTIwIDE2OjU4OjMzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG1lYW5pbmdmdWwgbmFtZXMgZm9yIHF1ZXVlIGVsZW1lbnRzIGluc2lkZSBjYW1lcmFiaW4KCjIwMTAtMDQtMjAgMTU6Mzc6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhbHNvIHNldCBzaG9ydCBjb25maWd1cmF0aW9uIGRhdGEgaW4gY29kZWNfZGF0YQoJICBUaGF0IGlzLCBoZWFkZXIgY29uZmlndXJhdGlvbiBtYXkgc3RhcnQgYXQgVmlkZW8gT2JqZWN0IChzdGFydGNvZGUpLAoJICByYXRoZXIgdGhhbiBhdCBWaXN1YWwgT2JqZWN0IFNlcXVlbmNlLCB3aGljaCBpcyBjYXRlcmVkIGZvciBhbmQgcGFyc2VkLAoJICBzbyBsZXQncyBhbHNvIHRha2UgaXQgYXMgY29kZWNfZGF0YSBpZiBubyBtb3JlIGF2YWlsYWJsZS4KCSAgRml4ZXMgKHJlbWFpbmRlciBvZikgIzU3MjU1MS4KCjIwMTAtMDQtMTkgMTk6MDQ6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBdm9pZCBjcmFzaGluZyB3aGVuIHNldHRpbmcgem9vbSBpbiBOVUxMCgkgIEF2b2lkIHNldHRpbmcgem9vbSBpbiBOVUxMIHN0YXRlIGJlY2F1c2UgdGhlIHNvdXJjZSBpcyBub3QKCSAgc2V0IHlldCBhbmQgdGhpcyBsZWFkcyB0byBhIGNyYXNoLiBJdCBpcyBzZXQgb24gUkVBRFkgPiBQQVVTRUQKCSAgYW55d2F5LgoKMjAxMC0wNC0xOCAxNDo1MTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRXhwb3J0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMgZm9yIE1QRUcgMiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2MDc4CgoyMDEwLTA0LTE2IDE5OjQ1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJICByZXNpbmR2ZGJpbjogVXNlIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTIGluc3RlYWQgb2Ygc29tZSBpbnRlZ2VyCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIDQuNS4KCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBjb21taXQgNWE1MWRiZC4KCjIwMTAtMDQtMTYgMTk6NDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVtdXg6IFVzZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUyBpbnN0ZWFkIG9mIHNvbWUgaW50ZWdlcgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjIDQuNS4KCjIwMTAtMDQtMTYgMTk6NDI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgUmV2ZXJ0ICJtcGVncHNkZW11eDogV29ya2Fyb3VuZCBuZXcgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGEzMzEyMjhlY2NmYjhjNjY0OTNmYTNjOGM0OTMzOGM3OWNmNDY0MmMuCgoyMDEwLTA0LTE2IDE5OjQxOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgUmV2ZXJ0ICJyZXNpbmR2ZGJpbjogQXBwbHkgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIHdvcmthcm91bmQgdG8gdGhlIG1wZWdwc2RlbXV4IGNvcHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjViMGY3NWQxYjMxMTkzMTZiMmRjYWY1YmZmNGRmZDJiZDgyNGNjMS4KCjIwMTAtMDQtMTUgMjE6NDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogQW5vdGhlciB3b3JrYXJvdW5kIGZvciBlbnVtIHZhbHVlcyB0aGF0IGFyZSBub3QgYWN0dWFsbHkgbWVtYmVyIG9mIHRoZSBlbnVtCgoyMDEwLTA0LTE1IDIxOjQwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmRiaW46IEFwcGx5IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyB3b3JrYXJvdW5kIHRvIHRoZSBtcGVncHNkZW11eCBjb3B5CgkgIFNhbWUgYXMgYTMzMTIyOGVjY2ZiOGM2NjQ5M2ZhM2M4YzQ5MzM4Yzc5Y2Y0NjQyYy4KCjIwMTAtMDQtMTUgMjE6Mzg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IEluaXRpYWxpemUgcG9zc2libHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNC0xNSAyMTozNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFjdHVhbGx5IGNvbXBhcmUgdGhlIHN0YXRlIGFuZCBub3QgdGhlIHN0YXRlIGNoYW5nZSByZXR1cm4gZnJvbSBfZ2V0X3N0YXRlKCkKCjIwMTAtMDQtMTUgMjE6MjY6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IFdvcmthcm91bmQgbmV3IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZwoJICBnY2MgNC41IHdhcm5zIHdoZW4gY29tcGFyaW5nIHNvbWUgaW50ZWdlciB3aXRoIGFuIGVudW0gdmFsdWUsIGluCgkgIHRoZSBjYXNlIG9mIEdzdEZsb3dSZXR1cm4gdGhpcyBpcyB2YWxpZCB0aG91Z2guIFdlIHNob3VsZCBsYXRlcgoJICBhZGQgR1NUX0ZMT1dfQ1VTVE9NX09LMSwgR1NUX0ZMT1dfQ1VTVE9NX09LMiwgZXRjLiBhZnRlciBuZXcgY29yZQoJICBpcyByZWxlYXNlZC4KCjIwMTAtMDQtMTUgMjA6NTA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgY2R4YXBhcnNlOiBDb21wYXJlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIEdTVF9TRUVLX1RZUEVfU0VUCgoyMDEwLTA0LTE1IDA3OjI0OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEcm9wIC1XY2FzdC1hbGlnbgoJICBDb21taXQgbWVzc2FnZSBjb3BpZWQgZnJvbSBjb3JlJ3MgY29tbWl0IGZyb20gQmVuamFtaW4gT3R0ZToKCSAgMjQ2ZjVkYmE5NmE1YjUwYmI3NDYyMWFmNjdiMzA5NDJjY2E3MmFmNQoJICBBcHBhcmVudGx5IGdjYyB3YXJucyB0aGF0IEdzdE1pbmlPYmplY3QgaXMgbm90IGNhc3RhYmxlIHRvCgkgIEdzdEV2ZW50L01lc3NhZ2UvQnVmZmVyIGR1ZSB0byB0aGVtIGNvbnRhaW5pbmcgNjRiaXQgdmFyaWFibGVzLCBldmVuCgkgIHRob3VnaCBBUk0gaGFja2VycyBjbGFpbSB0aGF0IHRob3NlIG9ubHkgbmVlZCA0Ynl0ZSBhbGlnbm1lbnQuIEFuZCBhcwoJICBsb25nIGFzIGdjYyBiZWhhdmVzIHRoYXQgd2F5LCB0aGlzIHdhcm5pbmcgaXMgbm90IHZlcnkgdXNlZnVsLgoJICBTbyB3ZSdsbCByZW1vdmUgdGhlIHdhcm5pbmcgdW50aWwgdGhpcyBwcm9ibGVtIGlzIGZpeGVkLgoJICBGaXhlcyAjNjE1Njk4CgoyMDEwLTA0LTE1IDEzOjIwOjQyICswMzAwICBBZGFtIEVuZHJvZGkgPGFkYW0uZW5kcm9kaUBibHVtc29mdC5ldT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgc29mdHdhcmUgem9vbWluZyBpZiBub3Qgc2V0IGJ5IHRoZSBwaG90byBpbnRlcmZhY2UKCSAgT3RoZXJ3aXNlIGJvdGggc29mdHdhcmUgKHZpZGVvc2NhbCt2aWRlb2Nyb3ApIGFuZCBoYXJkd2FyZSB6b29taW5nIHdvdWxkIGJlIHVzZWQuCgoyMDEwLTA0LTE0IDE2OjQyOjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogRml4IHVwIGVsZW1lbnQgZGV0YWlscwoKMjAxMC0wNC0xNCAxNjozMjozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkgIHRvb2xzOiBBZGQgZWxlbWVudC1tYWtlcgoJICBBZGQgYSBzY3JpcHQgdGhhdCBjcmVhdGVzIGVsZW1lbnRzIGJhc2VkIG9uIGFueSBvZiB0aGUgR1N0cmVhbWVyCgkgIGJhc2UgY2xhc3Nlcy4gIEl0IGlzbid0IHZlcnkgdXNlciBmcmllbmRseSBhdCB0aGUgbW9tZW50LCBvbmUKCSAgbmVlZHMgdG8gZWRpdCB0aGUgc2NyaXB0IHRvIG1ha2UgaXQgd29yayBwcm9wZXJseS4gIEVhY2ggYmFzZSBjbGFzcwoJICBoYXMgYSB0ZW1wbGF0ZSBmaWxlIGRlc2NyaWJpbmcgd2hhdCB0byBwdXQgaW50byB0aGUgY29uc3RydWN0ZWQKCSAgZWxlbWVudC4gIEV2ZW50dWFsbHksIHRoZXNlIHRlbXBsYXRlcyBzaG91bGQgYmUgbW92ZWQgdG8gcmVzaWRlCgkgIHdpdGggdGhlIGJhc2UgY2xhc3Mgc291cmNlIGFuZCBpbnN0YWxsZWQgdG8gYSB3ZWxsLWtub3duIGRpcmVjdG9yeSwKCSAgd2hlcmUgYW4gaW5zdGFsbGVkIHNjcmlwdCBjb3VsZCBmaW5kIHRoZW0uCgkgIFRoZSB0ZW1wbGF0ZSBmaWxlcyB1c2UgdGhlIC5jIGVuZGluZyBzbyBlZGl0b3JzIGtub3cgdGhleSBhcmUgQwoJICBzb3VyY2UsIGJ1dCBnc3QtaW5kZW50IGRvZXNuJ3QgaGFuZGxlIHRoZW0gY29ycmVjdGx5LiAgU28gdGhleQoJICBuZWVkIHRvIGJlIGNvbW1pdHRlZCB3aXRoIC1uLiAgVWdoLiAgSSdsbCB0cnkgdG8gZmlndXJlIG91dCBhIGZpeAoJICBmb3IgdGhhdCBzb29uLgoKMjAxMC0wNC0xMyAyMDozMjo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBBZGQgdmlkZW8tY2FwdHVyZS13aWR0aC9oZWlnaHQvZnJhbWVyYXRlIHByb3BlcnRpZXMKCSAgQWRkcyB2aWRlby1jYXB0dXJlLXdpZHRoLCB2aWRlby1jYXB0dXJlLWhlaWdodCBhbmQKCSAgdmlkZW8tY2FwdHVyZS1mcmFtZXJhdGUgcHJvcGVydGllcyB0byBhbGxvdyBhcHBsaWNhdGlvbnMgdG8KCSAgZ2V0L3NldCB0aG9zZSB2YWx1ZXMuIEdldHRpbmcgd2FzIG5vdCBwb3NzaWJsZSBiZWZvcmUgdGhpcyBwYXRjaCwKCSAgYW5kIHNldHRpbmcgd2FzIGRvbmUgdGhyb3VnaCB0aGUgc2V0LXZpZGVvLXJlc29sdXRpb24tZnBzCgkgIGFjdGlvbiwgd2hpY2ggc2V0cyB0aGUgcHJvcGVydGllcyBhbmQgcHJvbXB0bHkgcmVzZXRzIHRoZQoJICB2aWRlbyBzb3VyY2UgdG8gdXNlIHRoZW0uCgkgIEZpeGVzICM2MTQ5NTgKCjIwMTAtMDQtMTMgMTg6MzM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IEFkZHMgaW1hZ2UtY2FwdHVyZS13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBBZGRzIGltYWdlLWNhcHR1cmUtd2lkdGggYW5kIGltYWdlLWNhcHR1cmUtaGVpZ2h0IHByb3BlcnRpZXMKCSAgdG8gY2FtZXJhYmluLCBhbGxvd2luZyB0aGUgdXNlciB0byBnZXQvc2V0IHRoZW0uIEdldHRpbmcgd2FzCgkgIG5vdCBwb3NzaWJsZSBiZWZvcmUgYW5kIHNldHRpbmcgd2FzIGRvbmUgdGhyb3VnaCB0aGUKCSAgc2V0LWltYWdlLXJlc29sdXRpb24gYWN0aW9uLCB3aGljaCBzaG91bGRuJ3Qgbm93IGp1c3Qgc2V0CgkgIHRoZSBwcm9wZXJ0aWVzLgoJICBGaXhlcyAjNjE0OTU4CgoyMDEwLTA0LTEzIDE1OjU5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcGhvdG9ncmFwaHk6IFNwcmluZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvdmVyIHRoZSBwcm9wZXJ0aWVzCgkgIGluIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgaW4gY2FtZXJhYmluCgoyMDEwLTAzLTAyIDE0OjA0OjQ0ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBibG9jay1hZnRlci1jYXB0dXJlIHByb3BlcnR5IGZvciB2aWV3ZmluZGVyIGJsb2NraW5nCgkgIEFkZHMgYmxvY2stYWZ0ZXItY2FwdHVyZSBwcm9wZXJ0eSB0byBibG9jayBydW5uaW5nIHZpZXdmaW5kZXIgYWZ0ZXIgY2FwdHVyaW5nLgoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWZ1bCBpZiBhcHBsaWNhdGlvbiB3YW50cyB0byBkaXNwbGF5IGNhcHR1cmUgcHJldmlldyBhbmQgYXZvaWQKCSAgcnVubmluZyB2aWV3ZmluZGVyIG9uIGJhY2tncm91bmQuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKMjAxMC0wMi0wOSAxNDo1Mjo0OSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgdmlld2ZpbmRlci1maWx0ZXIgYW5kIGZpbHRlciBjYXBzIHByb3BlcnRpZXMKCSAgQWRkcyBzdXBwb3J0IGZvciBzZXR0aW5nIGZpbHRlci1jYXBzIGFuZCB2aWV3ZmluZGVyLWZpbHRlcgoJICBwcm9wZXJ0aWVzIGluIHRoZSBnc3QtY2FtZXJhYmluLXRlc3QgYXBwbGljYXRpb24KCjIwMTAtMDEtMjYgMTU6MTg6MjQgKzAyMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgR3N0UGhvdG9ncmFwaHk6IEFkZCBmbGlja2VyIGFuZCBmb2N1cyBtb2RlIHNldHRpbmdzIHRvIHBob3RvZ3JhcGh5IEFQSQoJICBBZGRzIGZsaWNrZXIgYW5kIGZvY3VzIG1vZGUgc2V0dGluZ3MgdG8gcGhvdG9ncmFwaHkgQVBJIGFuZCBhbHNvCgkgIGltcGxlbWVudCBpdCBpbiBjYW1lcmFiaW4uCgoyMDA5LTExLTI2IDEyOjEyOjA2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogYWRkIGdzdC1jYW1lcmFiaW4tdGVzdCBjb21tYW5kIGxpbmUgdGVzdCB0b29sCgkgIGdzdC1jYW1lcmFiaW4tdGVzdCB0b29sIGNhbiBiZSB1c2VkIHRvIGNhcHR1cmUgc3RpbGwgaW1hZ2VzIGFuZAoJICB2aWRlbyBjbGlwcyB1c2luZyBjYW1lcmFiaW4gZWxlbWVudC4KCjIwMDktMTEtMTYgMTU6MDI6MDMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogZG8gbm90IHNldCBpbWFnZWJpbiBzaW5rcGFkIHR3aWNlCgkgIElmIHdlIGFscmVhZHkgaGF2ZSBhIHNpbmtwYWQsIGRvIG5vdCBnZXQgYSBuZXcgb25lCgoyMDA5LTExLTE2IDE1OjEzOjMxICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHVuaXQgdGVzdHMKCSAgQWRkIHRlc3Rpbmcgb2Ygc2V0dGluZyBhbmQgZ2V0dGluZyBvZiBjYW1lcmFiaW4gcHJvcGVydHkgZWxlbWVudHMgYW5kCgkgIGFkZCBwb3N0LXByb2Nlc3NpbmcgZWxlbWVudHMgdG8gcGlwZWxpbmUuCgoyMDA5LTExLTEzIDE2OjQyOjQ0ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHVuaXQgdGVzdHMgZm9yIHNldHRpbmcgZGlmZmVyZW50IGZsYWdzIHdoZW4gY2FwdHVyaW5nCgkgIEFkZHMgc29tZSB0ZXN0cyB0aGF0IHVzZSBmbGFncyBmb3IgY2FwdHVyaW5nIHRvIGFzdXJlIGl0IHdvcmtzCgkgIHdpdGggZmxhZ3Mgc2V0IG9yIG5vdC4KCjIwMDktMTAtMjggMTc6Mzc6NTYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgcGF1c2VkIHZpZGVvIGNhcHR1cmUgZmlsZSB2YWxpZGl0eSBjaGVjayBpbiB1bml0IHRlc3QKCSAgQWxzbyBjaGVjayB0aGF0IHRoZSBmaWxlIGNhcHR1cmVkIGluIHRoZSBwYXVzZWQgY2FwdHVyZSB1bml0IHRlc3QgaXMKCSAgcGxheWFibGUuCgoyMDA5LTEwLTE5IDE0OjMxOjU0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCB2aWV3ZmluZGVyLWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IGNhbGxlZCB2aWV3ZmluZGVyLWZpbHRlciB0byBjYW1lcmFiaW4uCgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZCB0byBhZGQgYSBmaWx0ZXIgdG8gcHJvY2VzcyB0aGUgdmlkZW8KCSAgZmxvdyByaWdodCBiZWZvcmUgdGhlIHZpZXdmaW5kZXIgc2luay4KCSAgQWxzbyB1cGRhdGVzIHRlc3QgdG8gY2hlY2sgcHJvcGVydHkgZXhpc3RzLgoKMjAwOS0xMC0yMSAxODowMjoyNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IHZpZGVvdGVzdHNyYyBwYXR0ZXJuIHRvIHdoaXRlIGluIHVuaXQgdGVzdAoJICBMb3dlciBjb21wbGV4aXR5IG9mIGVuY29kaW5nIGFuZCB2aWRlb3Rlc3RzcmMgcmVkcmF3aW5nIGluIG9yZGVyCgkgIHRvIHByZXZlbnQgdW5pdCB0ZXN0IHRpbWVvdXRzLgoKMjAwOS0xMC0xNCAxNDowMTozNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwcm94eSB2aWRlbyBzb3VyY2UgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnR5IG5vdGlmeSBzaWduYWxzCgkgIElmIHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0aWVzIGNoYW5nZSBpbiB2aWRlbyBzb3VyY2UsIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gYnkgZW1pdHRpbmcgbm90aWZ5IGZvciByZXNwZWN0aXZlIGNhbWVyYWJpbiBwcm9wZXJ0aWVzLgoKMjAwOS0xMC0xNCAxNDo0MjowMSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE5ldyB1bml0IHRlc3RzCgkgIEFkZCB1bml0IHRlc3RzIGZvciBjYW1lcmFiaW4gcHJvcGVydGllcyBzZXR0aW5nIGFuZCBnZXR0aW5nLAoJICBhZGRzIG9uZSBmb3IgdmlkZW8gY2FwdHVyaW5nIHdpdGggcGF1c2UuCgkgIEFsc28gZG9lcyBzb21lIGM5OSB2YXJpYWJsZSBkZWNsYXJhdGlvbiBmaXhlcy4KCjIwMDktMTAtMTQgMTQ6MDE6MDUgKzAzMDAgIFNoZW5naHVhIExpdSA8RVhULUxpdS5zaGVuZ2h1YUBub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdW5pdCB0ZXN0IHRvIGhhdmUgdGVzdCBvbiByZWNvcmRpbmcgc25hcHNob3QgcHJldmlldwoJICBBZGRzIGEgc21hbGwgY2hlY2sgdG8gdmVyaWZ5IHRoYXQgdGhlIHByZXZpZXcgaW1hZ2UgbWVzc2FnZSBpcwoJICBiZWluZyBzZW50IG9uIHZpZGVvIHJlY29yZGluZy4KCjIwMDktMDktMjEgMTc6NDc6MjAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGFkZCBhcGkgdG8gcXVlcnkgc3VwcG9ydGVkIGltYWdlIGNhcHR1cmUgcmVzb2x1dGlvbgoJICBBZGRzIG5ldyBwcm9wZXJ0eSAnaW1hZ2UtY2FwdHVyZS1zdXBwb3J0ZWQtY2FwcycgdG8gR3N0UGhvdG9ncmFwaHkKCSAgdG8gcXVlcnkgdGhlIHN1cHBvcnRlZCBpbWFnZSBjYXB0dXJlIGNhcHMuCgkgIEFsc28gaW1wbGVtZW50IGl0IGluIGNhbWVyYWJpbi4KCjIwMDktMDctMDIgMTg6MDM6NTcgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVuYW1lIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcywgdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgR2V0IHJpZCBvZiB1c2VyXyogcHJlZml4IGludGVybmFsbHksIHVzZSBhcHBfKiBpbnN0ZWFkLgoKMjAwOS0wOS0xNiAxNToxMTo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5CgkgIEFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5IHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5qZWN0IGFwcGxpY2F0aW9uCgkgIHNwZWNpZmljIGdzdHJlYW1lciBlbGVtZW50IHRvIGNhbWVyYWJpbiBwaXBlbGluZS4gVGhlIHZpZGVvLXNvdXJjZS1maWx0ZXIKCSAgZWxlbWVudCB3aWxsIHByb2Nlc3MgYWxsIGZyYW1lcyBjb21pbmcgZnJvbSB2aWRlbyBzb3VyY2UuCgkgIE9uZSBjb3VsZCBhZGQgaW1hZ2UgYW5hbHl6ZXJzIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSwKCSAgb3IgYWRkIGltYWdlIGVuaGFuY2VycyB0byBpbXByb3ZlIGNhcHR1cmUgcXVhbGl0eSwgZm9yIGV4YW1wbGUuCgoyMDEwLTA0LTEyIDE4OjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDItMTggMTg6MTk6NTAgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgdHJ5IGFkYXB0aW5nIGltYWdlIGNhcHR1cmUgcmVzb2x1dGlvbiBpZiBubyBzb3VyY2UtcmVzaXplIGZsYWcKCSAgSWYgc291cmNlLXJlc2l6ZSBmbGFnIGlzIGRpc2FibGVkIHRoZW4gc2V0IHJlc29sdXRpb24gdG8gaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIGFjY29yZGluZyB0byBjYXB0dXJlIHJlc29sdXRpb24gdmlkZW8gc291cmNlIGVsZW1lbnQgcHJvZHVjZXMuIE90aGVyd2lzZSB3ZQoJICB3cml0ZSB3cm9uZyByZXNvbHV0aW9uIHRvIGltYWdlIG1ldGFkYXRhLgoKMjAxMC0wMS0wNSAxNToxMzowMiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY2FwdHVyaW5nIGZsYWcgaGFuZGxpbmcgYWZ0ZXIgaW1hZ2UgaGFzIGJlZW4gY2FwdHVyZWQKCSAgTWFrZSBzdXJlIGNhcHR1cmluZyBmbGFnIGlzIHVuc2V0IGFuZCBpbWFnZS1jYXB0dXJlZCBtZXNzYWdlIGlzIHNlbnQKCSAgYmVmb3JlIHNlbmRpbmcgZW9zIGV2ZW50IHRvIGltYWdlIGJpbiBhbmQgc2F2aW5nIHRoZSBpbWFnZSB0byBhIGZpbGUuCgoyMDA5LTExLTA0IDEzOjI0OjEzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBzZXR0aW5nIGZpbHRlci1jYXBzIHByb3BlcnR5IGluIE5VTEwgc3RhdGUKCSAgU3BsaXQgX3NldF9jYXBzZmlsdGVyX2NhcHMoKSBpbnRvIHR3byBwYXJ0cyBzbyB0aGF0IHdlIGNhbiBjYWxsIG9uZSBwYXJ0CgkgIHJlZ2FyZGxlc3Mgb2YgdGhlIGVsZW1lbnQgc3RhdGUuCgoyMDA5LTA5LTExIDA5OjM4OjUxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgaW1hZ2UgZG9uZSBzaWduYWwgZW1pc3Npb24KCSAgVXNlIGdfaWRsZV9hZGRfZnVsbCgpIHdpdGggR19QUklPUklUWV9ISUdIIHRvIGVtaXQgaW1hZ2UgZG9uZSBzaWduYWwsCgkgIGdfaWRsZV9hZGQoKSBpcyBtb3JlIGxpa2VseSB0byBzdGFydmUgd2l0aCBoaWdoZXIgcHJpb3JpdHkgZXZlbnRzLgoKMjAxMC0wNC0xMiAxMjo0MjowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgLVd1bmRlZiBmbGFnCgkgIFNhbWUgZml4IGFzIGZvciAjNjE1MTYxCgoyMDEwLTA0LTEyIDA5OjE2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IENvcnJlY3RseSBsaW5rIHRvIHRoZSBsb2NhbCBsaWJnc3R2ZHAtMC4xMCBieSB1c2luZyB0aGUgbGlidG9vbCBhcmNoaXZlCgoyMDEwLTA0LTA5IDA5OjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY2FtZXJhYmluOiBlbmFibGUgY2FtZXJhYmluIHRlc3RzCgkgIFJlLWVuYWJsaW5nIGNhbWVyYWJpbiB0ZXN0cywgdGhleSBhcmUgcGFzc2luZy4KCjIwMTAtMDQtMDkgMTE6MjI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZGYwMjNkIHRvIGZjODU4NjcKCjIwMTAtMDQtMDggMTI6MDA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IEZpeCBjb21waWxhdGlvbiBlcnJvciBvbiBtYWNvc3gKCjIwMTAtMDQtMDggMTA6NDU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiA4LWJpdCBQQ00gYXVkaW8gY2FwcyBkb24ndCBuZWVkIGFuIGVuZGlhbm5lc3MgZmllbGQKCjIwMTAtMDQtMDggMTA6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBkb24ndCBpdGVyYXRlIHRoZSBmb3JtYXRzIHRhYmxlIHR3aWNlIGZvciBlYWNoIGVudHJ5CgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBmb3JtYXRzIHRhYmxlLCB3ZSBjYW4ganVzdCBwYXNzIHRoZSB3aG9sZQoJICBlbnRyeSB0byBvdXIgaGVscGVyIGZ1bmN0aW9uLCB3aGljaCBhdm9pZHMgaXRlcmF0aW5nIHRoZSB0YWJsZQoJICBhZ2FpbiB0byBmaW5kIHRoZSBlbnRyeSBzdHJ1Y3R1cmUgZnJvbSB0aGUgcGFzc2VkIGZvcm1hdCBpZC4KCjIwMTAtMDMtMzAgMTE6NDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBhbHNvIGFjY2VwdCBmb3JtYXRzIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQKCSAgQWxzbyBhY2NlcHQgZm9ybWF0cyB0aGF0IGFyZSBub3QgbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IHRoZQoJICBoYXJkd2FyZSwgT1NTNCBjYW4gY29udmVydCB0aGVtIGludGVybmFsbHkuIExpc3QgdGhlIG5hdGl2ZQoJICBmb3JtYXRzIGZpcnN0IGluIHRoZSBjYXBzIHRob3VnaCwgdG8gZXhwcmVzcyBvdXIgcHJlZmVyZW5jZQoJICBmb3IgdGhlIG5hdGl2ZSBmb3JtYXRzLiBXZSBuZWVkIHRoaXMgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUKCSAgY2FzZSBwcm9wZXJseSB3aGVyZSB0aGUgYXVkaW8gaGFyZHdhcmUgc3VwcG9ydHMgb25seSBlLmcuCgkgIGxpdHRsZSBlbmRpYW4gUENNLCBidXQgdGhlIGhvc3QgaXMgYmlnIGVuZGlhbiwgc2luY2UgbWFueQoJICBhdWRpbyBlbGVtZW50cyBvbmx5IHN1cHBvcnQgbmF0aXZlIGVuZGlhbm5lc3MgYW5kIG1ha2UgdGhlCgkgIHJlYXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGFueSBhdWRpb3Npbmsgd2lsbCBiZSBhYmxlIHRvCgkgIGhhbmRsZSBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCSAgRml4ZXMgIzYxNDMxNy4KCjIwMTAtMDQtMDggMDg6NDg6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgIHNvdW5kdG91Y2g6IHVzZSAkKExJQk0pIGluIE1ha2VmaWxlLmFtIGluc3RlYWQgb2YgLWxtCgoyMDEwLTA0LTA4IDAxOjQyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogZml4IHByaW50IGZvcm1hdCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA0LTA4IDAxOjQxOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcGFzcyBjb25zdGFudCBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZyB0byBwcmludGYKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbm9uLXN0cmluZyBsaXRlcmFsIGJlaW5nIHBhc3NlZCBhcwoJICBmaXJzdCBhcmd1bWVudCB0byBwcmludC4KCjIwMTAtMDMtMjYgMTg6NTY6NDkgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCBlbWl0IGJpdHJhdGUgdGFncyB0b28gZWFybHkKCSAgV2Ugd2FpdCB0byBwYXJzZSBhIG1pbmltdW0gbnVtYmVyIG9mIGZyYW1lcyAoMTAsIGFyYml0cmFyaWx5KSBiZWZvcmUKCSAgZW1pdGluZyBiaXRyYXRlIHRhZ3Mgc28gdGhhdCBvdXIgZWFybHkgZXN0aW1hdGVzIGFyZSBub3Qgd2lsZGx5CgkgIGluYWNjdXJhdGUgZm9yIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoIGEgc2lsZW5jZS4gSWYgdGhlIHN0cmVhbSBlbmRzCgkgIGJlZm9yZSB0aGF0LCB3ZSBqdXN0IGVtaXQgdGhlIHRhZ3MgYW55d2F5LgoJICBXaGlsZSBpdCBfd291bGRfIGJlIG5pY2VyIHRvIGJlIHNwZWNpZnkgdGhlIHRocmVzaG9sZCB0byBzdGFydCBwdXNoaW5nCgkgIHRoZSB0YWdzIGluIHRlcm1zIG9mIGR1cmF0aW9uLCB0aGlzIHdvdWxkIGludHJvZHVjZSBtb3JlIGNvbXBsZXhpdHkgdGhhbgoJICB0aGlzIG1lcml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDk5MQoKMjAxMC0wNC0wNyAxMToyMjo0MyArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZml4IGNyYXNoIHdoZW4gY29udmVydGluZyB1bml0cwoJICB4L3ktcmVzb2x1dGlvbiBhcmUgZnJhY3Rpb25zLCBzbyBzZXR0aW5nIHRoZW0gdXNpbmcgZmxvYXQgdmFsdWVzIGlzIG5vdAoJICBhIGdvb2QgaWRlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD01Nzc2NTUKCjIwMTAtMDQtMDUgMTA6MzM6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIEJsdWVSYXkgc3R5bGUgRFRTCgkgIEZpeGVzIGJ1ZyAjNjE0MjU5LgoKMjAxMC0wNC0wNCAyMDoyMzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgdHdvIERUUyBIRCBzdHJlYW0gdHlwZXMKCSAgRml4ZXMgYnVnICM2MTQyNTkuCgoyMDEwLTA0LTAyIDE5OjUyOjI1ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQWRkaXRpb25hbGx5IHVzZSB0aGUgQ1JDIHRvIGNoZWNrIGlmIHRhYmxlcyBhcmUgZHVwbGljYXRlcwoJICBUaGUgY3VycmVudCBjb2RlIGp1c3QgdXNlcyB0YWJsZSBpZCwgc3VidGFibGUgZXh0ZW5zaW9uIGFuZCB2ZXJzaW9uIG51bWJlciB0bwoJICBjaGVjayBpZiB0aGUgc2VjdGlvbiBoYXMgYmVlbiBzZWVuIGJlZm9yZS4gSG93ZXZlciwgdGhpcyBjb21wYXJpc29uIGlzIG5vdAoJICBzdWZmaWNpZW50LCBjYXVzaW5nIGFjdHVhbGx5IG5ldyB0YWJsZXMgYmVpbmcgZGlzbWlzc2VkLgoJICBGaXhlcyBidWcgIzYxNDQ3OS4KCjIwMTAtMDQtMDIgMTk6NDg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb3JyZWN0bHkgY2xlYW4gdXAgaW50ZXJuYWwgc3RhdGUgZm9yIHJldXNlCgkgIEZpeGVzIGJ1ZyAjNjE0NTkxLgoKMjAxMC0wNC0wMiAxOToxOToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBNYWtlIHN1cmUgdGhhdCB0aGUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgRml4ZXMgYnVnICM2MTQzNDkuCgoyMDEwLTA0LTAyIDE5OjA5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVXNlIHVpbnQgaW5zdGVhZCBvZiBpbnQgZm9yIGZyZXF1ZW5jeSBhbmQgc3ltYm9sLXJhdGUgcHJvcGVydGllcwoJICBUaGUga2VybmVsIEFQSSBzcGVjaWZpZXMgdGhlbSBhcyB1aW50MzIgYW5kIGZyZXF1ZW5jaWVzL3N5bWJvbC1yYXRlcyBncmVhdGVyCgkgIHRoYW4gMl4zMSBhcmUgYWN0dWFsbHkgbmVlZGVkIHNvbWV0aW1lcy4KCSAgRml4ZXMgYnVnICM2MTQ0NzUuCgoyMDEwLTAzLTMwIDAxOjE3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGJ1aWxkIHBsdWdpbnMgYW5kIGV4YW1wbGVzIGluIHBhcmFsbGVsIHdoZXJlIHBvc3NpYmxlLCBpZiBtYWtlIC1qTiBpcyB1c2VkCgoyMDEwLTAzLTMwIDAxOjE2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIGZvciBzdHJpbmcgY2hhbmdlcyBhbmQgbmV3IGNvbW1lbnQKCjIwMTAtMDMtMzAgMDE6MTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMKCSAgTm90IHRoYXQgdGhhdCB3aWxsIG1ha2UgdGhlc2Ugc3RyaW5ncyBtdWNoIGJldHRlci4gQWxzbyByZW1vdmUgaTE4bgoJICBtYXJrZXIgd2hlcmUgaXQgZG9lc24ndCBtYWtlIHNlbnNlLgoKMjAxMC0wMy0yNyAwOTo0NjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IHVzZSBHU3RyZWFtZXIgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gdGhlIHBsdWdpbiBpbmZvCgoyMDEwLTAzLTI5IDE0OjQ5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHdyaXRpbmcgTkFMVSBwcmVmaXggZm9yIGJ5dGUtc3RyZWFtIG91dHB1dCBmb3JtYXQKCSAgU3BlY2lmaWNhbGx5LCBpbnB1dCBtYXkgYWxyZWFkeSBiZSBpbiBieXRlLXN0cmVhbSBmb3JtYXQsIHNvIHN5bmMKCSAgYnl0ZXMgc2hvdWxkIG5vdCBiZSBtaXNpbnRlcnByZXRlZCBhcyBOQUxVIHNpemUuCgoyMDEwLTAzLTI5IDEwOjAwOjU3ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJICBvcGVuc3BjOiBGaXggYnVpbGQgd2FybmluZwoJICBBZGQgYSBwcm90b3R5cGUgZm9yIGdzdF9zcGNfZGVjX2dldF90eXBlCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNiAxMjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgbWlzc2luZyBzcGFjZSB0byBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAzLTI2IDA4OjQxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3QgdXNlIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdAoJICBGaXhlcyB0aGUgYnVpbGQuCgoyMDEwLTAzLTI1IDIzOjQ4OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgZGl2eDogYWRkIGNvbnN0IHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0yNSAyMzozMDoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgYm9vbGVhbiByZXR1cm4gdG8gX3Byb2Nlc3MKCSAgQXZvaWQgdHJ5aW5nIHRvIHB1c2ggcmVzdWx0cyBpZiBwcm9jZXNzaW5nIGZhaWxlZCBhbnl3YXkuCgoyMDEwLTAzLTI1IDIzOjI4OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbW92ZSB1c2VsZXNzIGdfYXNzZXJ0CgkgIGdfbWFsbG9jIGFuZCBjbyB3b3VsZCB0ZXJtaW5hdGUgd2hlbiBvdXQgb2YgbWVtb3J5LiBObyBuZWVkIHRvIGNoZWNrIGFmdGVyIGl0LgoKMjAxMC0wMy0yNSAyMzoyNDozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDEwLTAzLTI1IDIzOjEyOjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlZ2lzdGVyIGZ1bmN0aW9uIHBvaW50ZXJzIGp1c3Qgb25jZQoJICBBdm9pZCByZS1yZWdpc3RlcmluZyB0aG9zZSBmb3IgZWFjaCB3cmFwcGVkIGxhZHBzYS9sdjIgZWxlbWVudC4KCjIwMTAtMDMtMjUgMjM6MDc6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIHJhdGUgdG8gY2FwcwoKMjAxMC0wMy0yNSAyMzowNDo0MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW5hbWUgbG9nIGNhdGVnb3J5IHRvIGJlIGxlc3MgYW1iaWdvdXMKCjIwMTAtMDMtMjUgMjI6NTk6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBsdjI6IGFkZCBtb3JlIGV4YW1wbGVzCgoyMDEwLTAzLTI1IDIyOjU4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGlmIHdlIHRlbGwgdGhhdCB3ZSBoYW5kbGUgZ2FwIGZsYWdzLCB0aGVuIGRvIHNvCgoyMDEwLTAzLTI1IDIyOjU1OjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHVzZSBnbGliIHR5cGVzCgoyMDEwLTAzLTI1IDIyOjU0OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAxMC0wMy0yNSAyMjo1MzoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiByZWZvcm1hdCBtZXNzYWdlIGRvY3MKCSAgVXNlIGEgbGlzdCBsaWtlIGluIG90aGVyIGVsZW1lbnQgZG9jcyBhcyBhbiB1bnR3ZWFrZWQgZG9jYm9vayB0YWJsZSBsb29rIHVnbHkuCgoyMDEwLTAzLTI1IDE3OjA5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVtb3ZlIHVudXNlZCBHc3RCYXNlUGFyc2VDbGFzc1ByaXZhdGUgc3RydWN0dXJlCgoyMDEwLTAzLTI1IDEyOjU1OjAyICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBiaXRyYXRlIGVzdGltYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBUaGlzIGltcGxlbWVudHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBtYWtlIG1vcmUgYWNjdXJhdGUgYml0cmF0ZSBlc3RpbWF0ZXMuCgoyMDEwLTAzLTI1IDExOjQ4OjQ2ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSBtaW4vYXZnL21heCBiaXRyYXRlcyBmb3IgYWFjcGFyc2UuCgkgIE5vdGU6IFRoZSBiaXRyYXRlIHdhcyBiZWluZyBpbmNvcnJlY3RseSBjYWxjdWxhdGVkIGZvciBBRFRTIHN0cmVhbXMKCSAgKGl0J3Mgbm90IGluIHRoZSBoZWFkZXIgYXMgdGhlIGNvZGUgc3VnZ2VzdHMpLgoKMjAxMC0wMy0yNSAxMToyMjo1OCArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IEFkZCBiaXRyYXRlIGNhbGN1bGF0aW9uIHRvIGJhc2VwYXJzZQoJICBUaGlzIG1ha2VzIGJhc2VwYXJzZSBrZWVwIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBzdHJlYW0gYml0cmF0ZSwgYXMKCSAgd2VsbCBhcyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBiaXRyYXRlcy4gU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgYQoJICB2ZnVuYyB0byBtYWtlIHN1cmUgdGhhdCBwZXItZnJhbWUgb3ZlcmhlYWQgZnJvbSB0aGUgY29udGFpbmVyIGlzIG5vdAoJICBhY2NvdW50ZWQgZm9yIGluIHRoZSBiaXRyYXRlIGNhbGN1bGF0aW9uLgoJICBXZSB0YWtlIGNhcmUgbm90IHRvIG92ZXJyaWRlIHRoZSBiaXRyYXRlLCBtaW5pbXVtLWJpdHJhdGUsIGFuZAoJICBtYXhpbXVtLWJpdHJhdGUgdGFncyBpZiB0aGV5IGhhdmUgYmVlbiBwb3N0ZWQgdXBzdHJlYW0uIFdlIGFsc28KCSAgcmF0ZS1saW1pdCB0aGUgZW1pc3Npb24gb2YgYml0cmF0ZSBzbyB0aGF0IGl0IGlzIG9ubHkgdHJpZ2dlcmVkIGJ5IGEKCSAgY2hhbmdlIG9mID4xMCBrYnBzLgoKMjAxMC0wMy0yMyAxNzozNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IE5ldyB0YWdzIHRlc3RzCgkgIEFkZHMgbmV3IHRhZ3MgY2hlY2tpbmcgdGVzdHMuCgoyMDEwLTAzLTI1IDAwOjIwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDMtMjQgMTg6NTQ6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU1Y2Q1MTQgdG8gYzFkMDdkZAoKMjAxMC0wMy0yNCAxNzowNToxNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IEFkZCBzdXBwb3J0IGZvciBZVVkyIGlucHV0IGZvcm1hdAoJICBGaXggYnVnICM2MTM3MDgKCjIwMTAtMDMtMjQgMTY6MTU6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBkb2NzOiBhZGQgcGhvdG9ncmFwaHkgaWZhY2UgdG8gZG9jcwoJICBXZSBub3JtYWx5IGhhdmUgc2VwYXJhdGUgbGlicyBkb2NzLCBub3QgZG9uZSBiZWNhc3VlIG9mIGxhenluZXNzIGhlcmUgeWV0LgoKMjAxMC0wMy0yNCAxNjowNToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IGFkZCBibGFuayBsaW5lIHRvIGZpeCBnZW5lcmF0ZWQgeG1sCgoyMDEwLTAzLTI0IDE1OjU5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGVsZW1lbnQgbmFtZSBpbiBzZWN0aW9uIGRvYyBibG9iCgoyMDEwLTAzLTI0IDE1OjA1OjUwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBEZWZpbmUgV09SRFNfQklHRU5ESUFOIHRvIGF2b2lkIHVuZGVmaW5lZCB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM3OTUKCjIwMTAtMDMtMjQgMTI6MTY6MDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZ2NvbmZpZyB0byBkZXRlY3QgZHZkbmF2CgkgIFRoZSBwcmV2aW91c2x5IHVzZWQgZHZkbmF2LWNvbmZpZyBzY3JpcHQgd2FzIGJyb2tlbiBpbiBhIGxvdCBvZiBkaXN0cm9zLgoKMjAxMC0wMy0yNCAwMDoyNzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHlldCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjMgMTk6NTY6NDggLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgIG9zeDogbW9yZSBjb21waWxlciB3YXJuaW5nIGZpeGVzCgkgIEF2b2lkIG5ldyB3YXJuaW5ncy4KCSAgRml4ZXMgIzYxMzc1OC4KCjIwMTAtMDMtMjMgMTQ6MTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICB0ZXN0czogZmFhYzogRml4IGJ1aWxkCgkgIEZpeGVzIGJ1aWxkIG9mIGZhYWMgZHVlIHRvIGZ1bmN0aW9ucyBub3QgYmVpbmcgc3RhdGljIG5vcgoJICBoYXZpbmcgYmVpbmcgZGVjbGFyZWQgaW4gaGVhZGVycy4gKE5vIHByZXZpb3VzIHByb3RvdHlwZSBlcnJvcikKCSAgUHJvYmFibHkgZHVlIHRvIGFkZGVkIC1XbWlzc2luZy1wcm90b3R5cGVzCgoyMDEwLTAzLTIzIDExOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjMgMDk6MTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJICBjb2c6IHRvdWNoIGNvZy5vcmMgdG8gZm9yY2UgcmVnZW5lcmF0aW9uIG9mIGNvZ29yYy5bY2hdCgkgIC4uIHdpdGggbmV3IE1ha2VmaWxlLmFtIHJ1bGVzLCB3aGljaCBzaG91bGQgZml4IHRoZSBidWlsZAoJICB3aXRob3V0IHRoZSBuZWVkIHRvIGRvIGEgJ21hbnVhbCcgbWFrZSBjbGVhbiBhZnRlciB1cGRhdGluZy4KCjIwMTAtMDMtMjMgMDE6NDE6MzEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldDogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIzIDAxOjMwOjU0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjMgMDE6MTU6MjcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIC1XdW5kZWYgZm9yIFdpbmRvd3MKCSAgV2luZG93cyBoZWFkZXJzIHRlbmQgdG8gY2hlY2sgX01TQ19WRVIgdW5jb25kdGlvbmFsbHkgaW4gc29tZSBwbGFjZXMsCgkgIGJ1dCB1c2UgI2lmZGVmIF9NU0NfVkVSIGluIG90aGVyIHBsYWNlcy4KCjIwMTAtMDMtMjMgMDE6MTQ6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGEgYnVuY2ggb2Ygd2FybmluZyBmbGFncwoJICBOb25lIG9mIHRoZW0gdHJpZ2dlciBhbnkgd2FybmluZwoKMjAxMC0wMy0yMyAwMToxMTo0MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4ZXMgZm9yIC1XYWdncmVnYXRlLXJldHVybgoJICBUaGUgZmxhZyB3YXNuJ3QgYWRkZWQgZHVlIHRvIGxpYmV4aWYgdXNpbmcgYWdncmVnYXRlIHJldHVybiB2YWx1ZXMuCgoyMDEwLTAzLTIyIDE4OjAyOjM5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJICBpMThuOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZiBmb3IgRU5BQkxFX05MUwoKMjAxMC0wMy0yMiAxODowMToyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBpMThuOiBmaXggdGhlIGJ1aWxkCgkgIERvbid0IGluY2x1ZGUgbG9jYWxlLmggd2hpY2ggd2UgaW5jbHVkZSBpbiBnZXR0ZXh0LmggaWYgbmVlZGVkLiBHdWFyZCB0aGUKCSAgaW5jbHVkZSBsaWtlIHdlIGRvIGluIHRoZSBzaW1pbGxhciBoZWFkZXJzIGluIGNvcmUuCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxNjoyMTozMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBBZGQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSBmbGFncwoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxNjoxMzoxMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBSZWZhY3RvciBjb2RlIHRvIG1ha2UgaXQgbG9vayBtb3JlIG1vZGVybgoJICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgaXQgcGFzc2VzIC1XZm9ybWF0LW5vbmxpdGVyYWwgYW5kIGRvZXNuJ3QgcmVhZAoJICBpbnZhbGlkIG1lbW9yeSBpbiBzb21lIGNhc2VzLCBsaWtlIHdoZW4gdGhlIG1peGVyIHRyYWNrIGNvbnRhaW5zCgkgIGEgJSBzaWduIG9yIHRoZXJlIGlzIGEgbnVtYmVyIGJ1dCBub3QgYSBrbm93biBtaXhlciBuYW1lLgoKMjAxMC0wMy0yMiAxNDowOToyNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdm9pZCBnX3F1YXJrX3RvX3N0cmluZyAoZ19xdWFya19mcm9tX3N0cmluZyAoKSkgbWFkbmVzcwoJICBXZSB0byB0aGUgc3RyZHVwIGluc2lkZSBnc3Rfb3NzNF9taXhlcl9jb250cm9sX2dldF90cmFuc2xhdGVkX25hbWUoKQoJICBpbnN0ZWFkIG9mIGluIHRoZSBvbmx5IGNhbGxlci4KCjIwMTAtMDMtMjIgMTM6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDItMDIgMTU6NDk6MjkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBhcnNlIGJpdHJhdGUgYW5kIGVtaXQgYXMgdGFnCgkgIFRoaXMgcGF0Y2ggcGlja3MgdXAgdGhlIGJpdHJhdGUgZm9yIHRoZSBzdHJlYW0gZnJvbSB0aGUgTVBFRyBzZXF1ZW5jZQoJICBoZWFkZXIgYW5kIGVtaXRzIGl0IGFzIGEgdGFnIG9uIHRoZSBzb3VyY2UgcGFkLgoJICBGaXhlcyAjNTk5Mjk4LgoKMjAxMC0wMy0yMiAxMjozODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIHNvdW5kdG91Y2g6IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MzA6MDEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZ3N0L25zZi9mbW9wbC5oOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgQWRkIC1XdW5kZWYKCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MDM6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxMC0wMy0yMiAxMjowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgZmxhZwoJICBhbmQgZml4IHdhcm5pbmdzIGZyb20gaXQKCjIwMTAtMDMtMjIgMDg6NDc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMiAwODo0NToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjM6MTA6MDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSAgb3JjOiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjM6MDA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgZXhhbXBsZXM6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMjo0ODoxMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIyOjQ2OjAwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkgIGdzdC1jYW1lcmE6IEFkZCBhIGhlYWRlciBkZWNsYXJpbmcgdGhlIGZ1bmN0aW9ucyBmcm9tIHRoZSB1aSBmaWxlCgoyMDEwLTAzLTIxIDIyOjEwOjQ3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmg6CgkgIHRlc3RzOiBBZGQgZmlsZSBJIGZvcmdvdCB0byBjaGVjayBpbgoKMjAxMC0wMy0yMSAyMjowOToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtbXAzZGVjOiBmaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6NTM6NDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIEZpeCBhY21lbmMgZm9yIHdhcm5pbmcgZmxhZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tdmVhdWRpb2RlYy5jOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogc3lzL2R2Yi9jYW0uYzoKCSogc3lzL2R2Yi9jYW0uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozNzozNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJICBzaXJlbjogUnVuIGdzdC1pbmRlbnQgc2NyaXB0CgkgIEluY2x1ZGVzIHJ1bm5pbmcgZG9zMnVuaXggb24gZGVjb2Rlci5jCgoyMDEwLTAzLTIxIDIxOjI5OjQ3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBGaXgga2F0ZSB0ZXN0CgkgIEl0IHdhcyBmYWlsaW5nIGR1ZSB0byB0aGUgbmV3IGJ1ZmZlcl9tZXRhZGF0YV93cml0YWJsZSBjaGVja3MgYWRkZWQgdG8KCSAgdGhlIGNvcmUgcmVjZW50bHkuCgoyMDEwLTAzLTIxIDE4OjU5OjMwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJICBsZWdhY3lyZXNhbXBsZTogcmVtb3ZlIHVudXNlZCBmaWxlCgoyMDEwLTAzLTIxIDE3OjU0OjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcy9HU1RfQ1ZTL0dTVF9HSVQvCgoyMDEwLTAzLTE5IDE2OjQ3OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkgIGNvZzogR2VuZXJhdGUgY29ycmVjdCBZVVYtPlJHQiB0YWJsZXMKCSAgRml4ZXM6ICM2MTMzMzIuCgoyMDEwLTAzLTE5IDExOjEwOjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZGlzYWJsZSBsb29wIGFuZCBhdXRvIG11bHRpY2FzdCBqb2luCgkgIERpc2FibGUgbG9vcGJhY2sgb2YgcGFja2V0cy4KCSAgRGlzYWJsZSBhdXRvam9pbiBvZiBtdWx0aWNhc3QgZ3JvdXBzIGluIHRoZSBzaW5rIGJlY2F1c2UgdGhlIHNvdXJjZSBhbHJlYWR5CgkgIGRvZXMgdGhhdCBvbiB0aGUgc2hhcmVkIHNvY2tldC4KCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTc6MTE6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC92aXJ0dWFsZHViL0xJQ0VOU0U6CgkqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmM6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuaDoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSogZ3N0L3ZpcnR1YWxkdWIvdmlydHVhbGR1Yi52Y3Byb2o6CgkgIHZpcnR1YWxkdWI6IFJlbW92ZQoJICBUSGUgcGx1Z2luIGlzIHNvIGhvcGVsZXNzbHkgb3V0ZGF0ZWQsIGl0J3MganVzdCBub3Qgd29ydGgga2VlcGluZy4KCjIwMTAtMDMtMTggMTc6MDQ6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJKiBleHQveGluZS9nc3R4aW5lLmg6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWNhcHMuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgIFJlbW92ZSB4aW5lIHBsdWdpbiBjb2RlCgkgIFRoZSBwbHVnaW4gaXMgdW5tYWludGFpbmVkIChldmVuIHdvcnNlIHRoYW4gWGluZSA7KSkKCjIwMTAtMDMtMTggMTY6MTc6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJICBSZW1vdmUgZ29iIGV4YW1wbGVzCgkgIFRoZXkgd2VyZSBvdXRkYXRlZCBhbmQgd291bGRuJ3QgaGF2ZSBjb21waWxlZCBhbnltb3JlLgoKMjAxMC0wMy0xNyAxMTozMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBvZmYtYnktb25lIGluIDQ0NC0+NDIwIGNvbnZlcnNpb24KCSAgRml4ZXMgIzYxMzE2MC4KCjIwMTAtMDMtMTcgMTQ6Mjk6MzEgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogVXNlICIocG5nX2luZm9wcCkgTlVMTCIgaW5zdGVhZCBvZiBwbmdfaW5mb3BwX05VTEwKCjIwMTAtMDMtMTcgMTQ6MjM6NDEgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogVXNlIHBuZ19nZXRfaW9fcHRyKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgaW9fcHRyIGRpcmVjdGx5CgoyMDEwLTAzLTE3IDE0OjIxOjUzICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29nOiBDaGVjayBmb3IgbGlicG5nID49IDEuMiBpbnN0ZWFkIG9mIGxpYnBuZzEyCgoyMDEwLTAzLTE2IDIzOjQ2OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkgIGRvY3M6IHRoZSB4ZGdtaW1lIHBsdWdpbiB3YXMgbWVyZ2VkIGludG8gdHlwZWZpbmRlcnMKCjIwMTAtMDMtMTYgMjM6NDM6MDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb24sZHZkOiBhbHNvIHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgaGVyZSBmb3Igc3RhdGljIHN0cmluZ3MKCjIwMTAtMDMtMTUgMTA6MTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1pbm9yIG1lbW9yeSBsZWFrIGluIHByb3BlcnR5IGdldHRlcgoJICBEb24ndCBsZWFrIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnkgZ19zdHJqb2ludigpLiBXaGlsZSB3ZSdyZSBhdCBpdCwKCSAgdXNlIEdTdHJpbmcgdG8gYXNzZW1ibGUgdGhlIHN0cmluZyB0byBiZSByZXR1cm5lZC4KCjIwMTAtMDMtMTUgMDk6MjQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIHdoZXJlIHBvc3NpYmxlCgoyMDEwLTAzLTE1IDEyOjE3OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBkaXNhYmxlIGNvZGUgdGhhdCBjYXVzZXMgYW4gb3JjYyBjcmFzaAoJICBSZXZlcnQgdGhpcyBhZnRlciBvcmMgcmVsZWFzZSBhbmQgdmVyc2lvbiBidW1wLgoKMjAxMC0wMy0xNSAxMTo1NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IE9ubHkgc3RhcnQgdGhlIHRhc2sgYWZ0ZXIgYSBzZWVrIGlmIGEgYnVmZmVyIHdhcyByZWNlaXZlZCBhbHJlYWR5CgoyMDEwLTAzLTE1IDAxOjQ2OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGNvbW1lbnQgb24gcHJldmlvdXMgYmFkIGNvbW1pdCBtZXNzYWdlCgkgIFRoZSByZWNlbnQgY29tbWl0ICJsb2dvaW5zZXJ0IGNoZWNrcG9pbnQgRklYTUUiIHNob3VsZAoJICBhY3R1YWxseSByZWFkOiAgRml4IGxvZ29pbnNlcnQgdmFyaWFibGUgbmFtZXMuCgoyMDEwLTAzLTE1IDAxOjI2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBpbXBsZW1lbnQgY2hyb21hLXNpdGUKCSAgRGV0ZXJtaW5lIGNocm9tYSBzaXRlIHBvc2l0aW9uIGZyb20gdGhlIGNhcHMgYW5kIHVzZSBpdCB3aGVuCgkgIHVwc2FtcGxpbmcvZG93bnNhbXBsaW5nIGNocm9tYS4KCjIwMTAtMDMtMTQgMTg6NTY6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogaW1wbGVtZW50IGNvbG9yLW1hdHJpeCBoYW5kbGluZwoKMjAwOS0xMC0wOCAxNToxODo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBsb2dvaW5zZXJ0IGNoZWNrcG9pbnQgRklYTUUKCjIwMDktMTAtMzAgMTU6MzU6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIG5fdGFwcyB0byBjaHJvbWEgdXBzYW1wbGluZwoKMjAxMC0wMy0xMyAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTAzLTEzIDA2OjAzOjMyICswMTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXBkYXRlIGNhcHMgd2hlbiB0aGUgc2VxdWVuY2UgaGVhZGVyIGNoYW5nZXMKCSAgRml4ZXMgYnVnICM2MTI2ODcuCgoyMDEwLTAzLTEyIDE5OjMwOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWN0aXZhdGUgdmlkZW8gYmluIGJlZm9yZSBmZWVkaW5nIGRhdGEgdG8gaXQKCSAgRml4ZXMgIzYxMjYxNS4KCjIwMTAtMDMtMTIgMTE6Mjg6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBJbXByb3ZlbWVudHMgYW5kIG5ldyBnZW8tbG9jYXRpb24gdGVzdHMKCSAgTWFrZXMgc29tZSBpbXByb3ZlbWVudHMgdG8gdGFnc2NoZWNraW5nLmMsIG1ha2luZyBpdCB1c2UKCSAgZmFrZXNyYyBpbnN0ZWFkIG9mIHZpZGVvdGVzdHNyYyBhbmQgYWxsb3dpbmcgdG8gc2V0IGlucHV0CgkgIGNhcHMgc28gdGhhdCBtb3JlIG11eGVycyBjYW4gYmUgdXNlZC4gUHJldmlvdXNseSB3ZSBjb3VsZAoJICBvbmx5IHVzZSB0aG9zZSB0aGF0IGFjY2VwdGVkIHJhdyB2aWRlbyBjYXBzLgoJICBBbHNvIGFkZHMgc29tZSB0ZXN0cyBmb3IgZ2VvLWxvY2F0aW9uIHRhZ3MKCjIwMTAtMDMtMTIgMTA6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgeG1wIG9uIG1wNG11eCBhbmQgZ3BwbXV4IHRvbwoJICBEbyBub3QgcmVzdHJpY3QgeG1wIHRvIHF0bXV4LCBidXQgdXNlIGl0IHRvbwoJICBvbiBtcDRtdXggYW5kIGdwcG11eAoKMjAxMC0wMy0xMiAxMzo1OToxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTI3MmY3MSB0byA1NWNkNTE0CgoyMDEwLTAzLTEyIDA5OjUyOjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeCAxMC41CgoyMDEwLTAzLTExIDIxOjMyOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IGFkZCB4bXAgcmVhZGluZyBhbmQgd3JpdGluZyBzdXBwb3J0CgkgIEJ1bXAgbmVlZGVkIGJhc2UgdmVyc2lvbiBmb3IgbmV3IHhtcCBoZWxwZXIgbGlicmFyeS4gVXNlIHhtcCBoZWxwZXJzIGluCgkgIGpwZWdwYXJzZSBhbmQgamlmbXV4LgoKMjAxMC0wMy0xMiAwODoyMzo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IG1lcmdlIG1pc3Rha2UKCjIwMTAtMDItMjggMTk6NDE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJICBzZWdtZW50Y2xpcDogQWRkIGF1ZGlvL3ZpZGVvIGJ1ZmZlciBzZWdtZW50IGNsaXAgZWxlbWVudHMKCSAgVGhlc2UgZWxlbWVudHMgY2xpcCB0aGUgYXVkaW8vdmlkZW8gYnVmZmVycyB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50CgkgIGZvciB0aGUgY2FzZSB3aGVuIHRoZSB1cHN0cmVhbSBlbGVtZW50cyBkb24ndCBkbyB0aGlzIGNvcnJlY3RseS4KCjIwMTAtMDItMjggMTY6MDg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgc29tZSB1bml0IHRlc3RzCgoyMDEwLTAyLTI4IDE2OjA0OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHVuZGVmaW5lZCBmcmFtZXJhdGUgaW4gc2luayBnZXRjYXBzIGZ1bmN0aW9uCgoyMDEwLTAyLTI4IDE1OjAyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgYW5kIHNldCBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wMi0yNyAxNzozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkgIGltYWdlZnJlZXplOiBBZGQgdG8gdGhlIGRvY3MKCjIwMTAtMDItMjcgMTc6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzdGlsbCBmcmFtZSBzdHJlYW0gZ2VuZXJhdG9yIGVsZW1lbnQKCjIwMTAtMDMtMDUgMTM6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgY2hlY2s6IHRhZ3NjaGVja2luZzogdGVzdHMgZm9yIHRhZ3Mgc2VyaWFsaXphdGlvbiBpbiBtdXhlcnMKCSAgQWRkcyBhIGNoZWNrIHVuaXQgdGVzdCB0aGF0IGFpbXMgdG8gdGVzdCB0YWdzIHNlcmlhbGl6YXRpb24KCSAgYW5kIGRlc2VyaWFsaXphdGlvbiBjb25zaXN0ZW5jeSAoaW4gbXV4ZXJzKS4gSXQgcHJvdmlkZXMgYQoJICBiYXNpYyBmdW5jdGlvbiB0aGF0IGFsbG93cyBvbmUgdG8gZWFzaWx5IHNwZWNpZnkgdGFncywgYQoJICBtdXhlciBhbmQgYSBkZW11eGVyIGFuZCBhIHRlc3Qgd2lsbCBiZSBkb25lIHRvIGNoZWNrIGlmCgkgIHRoZSB0YWdzIGhhdmUgYmVlbiBjb25zaXN0ZW50bHkgbXV4ZWQgYW5kIGRlbXV4ZWQKCjIwMTAtMDItMjIgMTY6NDU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgeG1wIHN1cHBvcnQKCSAgQWRkcyB4bXAgbWV0YXRhZ3MgYWRkaW5nIHRvIHF0bXV4LgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDA5OjI5OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogUmVtb3ZlIF9YTVBfR0VPXyogdGFncwoJICBSZW1vdmVzIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9DT1VOVFJZLAoJICBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fQ0lUWSBhbmQKCSAgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX1NVQkxPQ0FUSU9OIGZyb20gbWV0YWRhdGEncwoJICBwcml2YXRlIHRhZ3MgYXMgdGhvc2UgYXJlIG5vdyBwcmVzZW50IGF0IC1jb3JlIHRhZ3MuCgkgIEZpeGVzICM2MTI0MTAKCjIwMTAtMDMtMTEgMTc6MTc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBXZSBuZWVkIHRvIHBhc3MgKE5VTEwpIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IGFyZ3VtZW50cy4KCjIwMTAtMDMtMTEgMTc6NTg6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTAgMTE6NTA6NDcgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3Igd2l0aCB0cmFjZSBtYWNybwoJICBOb3RlIHRoYXQgdGhpcyBvbmUgaXNuJ3QgYSBwcm9ibGVtIHdpdGggbm9ybWFsIHRyYWNlIG1hY3JvcywgYnV0IGNhdXNlcyBwcm9ibGVtcyB3aXRoCgkgIHNvbWUgcmVwbGFjZW1lbnQgdHJhY2UgbWFjcm9zIHRoYXQgSSB1c2UsIHdoaWNoIGV4cGVjdCB0aGUgZm9ybWF0IHN0cmluZyB0byBiZQoJICBhcHBlbmRhYmxlIChpZSAiZm9vICJmbXQgaW4gdGhlIG1hY3JvKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDExOjQ5OjIyIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgZml4IHRyYWNlIG1hY3JvIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMDoyNjoyNyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOjY4OTogd2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZCByYW5nZSBvZiBkYXRhIHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMDoyMzoyMyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6MjY4OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMSAxMToyMToxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkZjhhN2M4IHRvIGUyNzJmNzEKCjIwMTAtMDMtMTEgMTE6Mjk6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGNoZWNrIGZvciBOVUxMIHdoZW4gY2FsbGluZyBnX2ZyZWUuCgkgIGdfZnJlZSBkb2VzIHRoZSBjaGVjayBhbHJlYWR5LiBBbHNvIHNtYWxsIGNvZGUgbG9naWMgY2xlYW51cCBhbmQgd2hpdGVzcGFjZSBmaXguCgoyMDEwLTAzLTExIDExOjI4OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgbWV0YWRhdGE6IHJlbW92ZSBlbXB0eSBzZXR0ZXIvZ2V0dGVyIHZtZXRob2QgaW1wbGVtZW50YXRpb25zCgoyMDEwLTAzLTExIDExOjE0OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGlubGN1ZGUgc3RkbGliLmggZm9yIGFicygpCgoyMDEwLTAyLTE3IDEzOjExOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSAgbWV0YWRhdGE6IHVwZGF0ZSBidWcgc3RhdHVzCgoyMDA5LTA5LTA4IDA5OjEzOjA3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlZmFjdG9yIGNyb3BwaW5nIGFuZCBhZGFwdGluZyBjYXB0dXJlZCBpbWFnZXMKCjIwMDktMDktMTAgMTM6NDE6NDAgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggTlVMTCAtPiBSRUFEWSBzdGF0ZSBjaGFuZ2UgZmFpbHVyZSBoYW5kbGluZy4KCSAgSW4gc29tZSBlcnJvciBzaXR1YXRpb25zIHRoZSBOVUxMIC0+IFJFQURZIHN0YXRlIGNoYW5nZSBmYWlsZWQKCSAgYW5kIGNhbWVyYWJpbiBlbGVtZW50cyB3ZXJlIG5vdCBkZXN0cm95ZWQuCgoyMDEwLTAyLTE3IDExOjUxOjI2ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBkb24ndCB1c2UgZ3N0X2J1c19wb2xsKCkgd2hlbiBjcmVhdGluZyBwcmV2aWV3IGltYWdlCgkgIEF2b2lkIHVzaW5nIGdzdF9idXNfcG9sbCgpIGFzIHRoZSBkb2NzIHJlY29tbWVuZC4gVXNlCgkgIGdzdF9idXNfdGltZWRfcG9wX2ZpbHRlcmVkKCkgaW5zdGVhZC4KCjIwMTAtMDMtMTAgMjE6MDE6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGZvciByZWNlbnQgY2hhbmdlcyB0byBjb21tb24gc3VibW9kdWxlCgkgIFRoaXMganVzdCByZXBsYWNlcyBldmVyeSAiJEVSUk9SX0NGTEFHUyIgdXNhZ2Ugd2l0aCBhIHVzYWdlIG9mCgkgICIkV0FSTklOR19DRkxBR1MgJEVSUk9SX0NGTEFHUyIgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMKCSAgcHJldmlvdXNseS4KCSAgQWN0dWFsbHkgdXNpbmcgdGhhdCBzZXBhcmF0aW9uIHdpbGwgaGFwcGVuIGxhdGVyLgoKMjAxMC0wMy0xMCAyMTo1MjoyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NzIwYTdkIHRvIGRmOGE3YzgKCjIwMTAtMDMtMTAgMjA6NDQ6MDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMGI2ZTA3MiB0byA5NzIwYTdkCgoyMDEwLTAzLTEwIDE2OjEwOjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdjYzVlYjQgdG8gMGI2ZTA3MgoKMjAxMC0wMy0xMCAxMTozMzoxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgdG8gbWF0Y2ggcmVjZW50IGNvbW1pdHMKCjIwMTAtMDMtMTAgMDE6MTA6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YWE2NWI1IHRvIDdjYzVlYjQKCjIwMDktMTItMDggMTY6MzY6MTYgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0OiBsaXN0IHZhbGlkIGlzby1zcGVlZHMgaW4gaGVscCBhbmQgdmFsaWRhdGUgc3BlZWRzIGluIHNldF9wcm9wZXJ0eS4KCjIwMDktMTItMDggMTY6MDU6MTQgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0OiBjaGVjayBpc28tc3BlZWQgdmFsdWVzIGluIHNldF9wcm9wZXJ0eSwgaWdub3JlIGlmIGludmFsaWQKCjIwMDktMTItMDggMTU6Mzc6MDMgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgZGMxMzk0OiBhZGQgaXNvLXNwZWVkIHByb3BlcnR5CgkgIEFkZCBpc28tc3BlZWQgcHJvcGVydHkgd2hpY2ggYWxsb3dzIGZvciBoaWdoZXIgYmFuZHdpZHRoIGRjIHZpZGVvLgoJICBBdXRvbWF0aWNhbGx5IHNldCB0byBiLW1vZGUgYXMgbmVlZGVkLgoJICBGaXhlcyAjNjAzNzQ1LgoKMjAxMC0wMy0wOSAxOTo0ODo0NCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIGlucHV0c2VsZWN0b3I6IGZpeCB0aGUgTERGTEFHUwoKMjAxMC0wMy0wOSAyMTozODo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ0ZWNjZTcgdG8gN2FhNjViNQoKMjAxMC0wMy0wOSAyMToyNjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBPbmx5IGVuYWJsZSBmcmFtZXN0YXRzIGNvZGUgd2l0aCBzY2hybyA+PSAxLjAuOQoKMjAxMC0wMi0yOCAxMDo0MjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIG9uZSB3YXMgc2V0CgoyMDEwLTAyLTI3IDE5OjA4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBQcm90ZWN0IHNldC9nZXQgcHJvcGVydHkgYW5kIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGZyb20gY29uY3VycmVudCBhY2Nlc3MKCSAgVGhlIGZyZWkwciBkb2N1bWVudGF0aW9uIHNheXMgdGhhdCB0aGVzZSBmdW5jdGlvbnMgbXVzdCBub3QgYmUgY2FsbGVkCgkgIG9uIHRoZSBzYW1lIGluc3RhbmNlIGZyb20gZGlmZmVyZW50IHRocmVhZHMgYXQgdGhlIHNhbWUgdGltZS4gQWxsCgkgIG90aGVyIGZ1bmN0aW9ucyBhcmUgZ3VhcmFudGVlZCB0byBiZSB0aHJlYWRzYWZlLgoKMjAxMC0wMi0yNiAxNjo0MDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZSBzb21lIG1vcmUgcnVsZXMgc2lsZW50IGlmIHJlcXVlc3RlZAoKMjAxMC0wMi0yNiAxNTo0NTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIGF1dG9tYWtlIDEuMTEgc2lsZW50IHJ1bGVzIGluc3RlYWQgb2Ygc2hhdmUgaWYgYXZhaWxhYmxlCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVzZSBzb21ldGhpbmcgdGhhdCBpcyBzdGlsbCBtYWludGFpbmVkIGFuZAoJICBhbHNvIGJyaW5ncyBiYWNrIGxpYnRvb2wgMS41IHN1cHBvcnQuCgoyMDEwLTAyLTI2IDE1OjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCB0ZXN0IGZvciBjb3JyZWN0IEk0MjAgcmVuZGVyaW5nCgoyMDEwLTAzLTA5IDEyOjMzOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEFkZCBmcmFtZS1zdGF0cyBtZXNzYWdlCgoyMDEwLTAzLTA4IDIxOjAwOjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCBpbnZ0ZWxlY2luZSBlbGVtZW50CgkgIEF1dG9tYXRpYyBpbnZlcnNlIHRlbGVjaW5lIGVsZW1lbnQuICBSaWdodCBub3csIGl0IGNsdW1zaWx5IGF0dGVtcHRzCgkgIHRvIHJlYXJyYW5nZSB2aWRlbyBmaWVsZHMgaW50byBmcmFtZXMgdGhhdCBkb24ndCBoYXZlIGNvbWJpbmcgZWZmZWN0cywKCSAgYW5kIG9ubHkgd29ya3Mgd2l0aCA2MGkvMjRwIGNvbnRlbnQgYXQgNzIweDQ4MC4gIExhdGVyLCBpdCB3aWxsIGhhbmRsZQoJICBvdGhlciBwdWxsZG93biB2YXJpYXRpb25zLCBjaGFuZ2UgY2FwcyBhbmQgc21vb3RoIHRpbWVzdGFtcHMKCSAgYXBwcm9wcmlhdGVseS4KCjIwMTAtMDMtMDEgMTM6NDk6MzkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkgIGFwZXhzaW5rOiBVc2UgImFwZXhzaW5rIiBmb3IgcGx1Z2luIG5hbWUKCjIwMTAtMDMtMDEgMTM6NDc6MzIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgd21uYzogVXBkYXRlIGRlc2NyaXB0aW9uCgoyMDEwLTAzLTAxIDEzOjIyOjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IFVwZGF0ZSBwbHVnaW4gZGVzY3JpcHRpb24KCjIwMTAtMDMtMDEgMTM6MTg6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIG5zZjogTmFtZSB0aGUgcGx1Z2luIG5zZiwgbm90IG5zZmRlYwoJICBUaGUgcGx1Z2luIGluIGdzdG5zZi5zbyBzaG91bGQgYmUgbmFtZWQgbnNmLCBub3QgbnNmZGVjLgoKMjAxMC0wMy0wOCAxMjoyMzo0OCAtMDMwMCAgVGlhZ28gS2F0Y2lwaXMgPHRpYWdva2F0Y2lwaXNAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IHJlbW92aW5nIHZlcnkgYW5ub3lpbmcgZ19wcmludCgpIGluIHBpdGNoIGVsZW1lbnQKCSAgRml4ZXMgIzYxMjIwOC4KCjIwMTAtMDMtMDkgMTc6NTA6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMTggPT09CgoyMDEwLTAzLTA2IDAxOjQ5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTgKCjIwMTAtMDMtMDYgMDE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDMgMjM6NDI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuNCBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yMiAxOTozODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IFJlbmFtZSAnYXZjLXNhbXBsZScgdG8gJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTIyIDE5OjI0OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmVwbGFjZSAnYXZjLXNhbXBsZScgd2l0aCAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjggMjM6MTQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IHJlbW92ZSBiaXRzIHRoYXQgcmVmZXIgdG8gcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtb3ZlZAoKMjAxMC0wMi0yNiAxODowNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERyb3AgdGV4dCBidWZmZXJzIGJlZm9yZSB0aGUgc2VnbWVudCBzdGFydCBhbmQgY2xpcCBydW5uaW5nIHRpbWUgZW5kIHRvIHRoZSBzZWdtZW50IHN0b3AKCjIwMTAtMDItMjcgMTE6MjM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBDb25zdW1lIHRleHQgYnVmZmVycyBpZiB0aGV5J3JlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbmV4dCA1MDBtcwoJICBJbnN0ZWFkIG9mIG9ubHkgY29uc3VtaW5nIHRoZW0gaWYgdGhleSdyZSB0byBiZSBkaXNwbGF5IG5vdy4gQ29uc3VtaW5nCgkgIHRoZW0gdGhlbiBtaWdodCBtYWtlIGZvbGxvd2luZyBidWZmZXJzIHdpdGggdGhlIHNhbWUgdGltZXN0YW1wIHRvCgkgIGJlIHRvbyBsYXRlLgoKMjAxMC0wMi0yNiAxMTo1MDoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRha2UgbG9jayBhcm91bmQgdXNlIG9mIChub24tdGhyZWFkc2FmZSkgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMTAtMDItMjQgMDI6MDM6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yMyAxODoxNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFByb3RlY3QgbGliYXNzIHN0cnVjdHVyZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyBmcm9tIG11bHRpcGxlIHRocmVhZHMKCSAgRml4ZXMgYnVnICM2MDg3NTEuCgoyMDEwLTAyLTIzIDE3OjI4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsICRQS0dfQ09ORklHIGluc3RlYWQgb2YgcGtnLWNvbmZpZyB0byBmaXggY3Jvc3MgY29tcGlsYXRpb24KCjIwMTAtMDItMjIgMTY6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiB3cml0ZSBhbGwgdWR0YSBjaGlsZHJlbiBhdG9tcwoJICBVRFRBIG1pZ2h0IGhhdmUgTUVUQSBhbmQgb3RoZXIgY2hpbGRyZW4gYXRvbXMKCSAgdG9nZXRoZXIsIHdyaXRlIHRoZW0gYWxsLgoKMjAxMC0wMi0yMiAxMDo0ODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgaW50ZXJuYWwgc2luayBwYWRzIGxpc3QKCSAgRHVlIHRvIEdzdENvbGxlY3RQYWRzIHNpbmsgcGFkcyBsaXN0IGJlaW5nIG5vdCByZWxpYWJseQoJICBpdGVyYXRhYmxlICh3aGVuIG5vdCBpbnNpZGUgdGhlIGNvbGxlY3RlZCBmdW5jdGlvbikgdGhpcwoJICBwYXRjaCBhZGRzIGEgc2luayBwYWRzIGxpc3QgdG8gcXRtdXggdG8gYmUgdXNlZCB3aGVuIGl0ZXJhdGluZwoJICBzaW5rIHBhZHMgb24gcmVzZXQgZnVuY3Rpb24uCgkgIEZpeGVzICM2MDkwNTUKCjIwMTAtMDItMjEgMTk6NTc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgIGZhYWQ6IGZpeCBNYWtlZmlsZS5hbSBzb21lIG1vcmUKCSAgRkFBRF9DRkxBR1MgYW5kIF9MSUJTIHNob3VsZCBiZSBhdCB0aGUgZW5kLCBhbmQgLWxnc3RhdWRpby0wLjEwCgkgIHNob3VsZCBnbyByaWdodCBhZnRlciBHU1RfUExVR0lOU19CQVNFX0xJQlMuCgoyMDEwLTAyLTE5IDE1OjE3OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICBmYWFkOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBBbHNvIGZpeCBvcmRlciBvZiBDRkxBR1MgYW5kIExJQlMKCjIwMTAtMDItMTkgMDg6NTg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4yIHByZS1yZWxlYXNlCgoyMDEwLTAyLTE5IDA4OjU4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgY29nIGZpbGVzCgoyMDEwLTAyLTE5IDEwOjMyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggTlVMTCByZWYgYW5kIGVycm9yIGhhbmRsaW5nIGlmIG5vIHZpZGVvIHNpbmsgaXMgZm91bmQKCSAgSWYgbm8gdmlkZW8gc2luayBpcyBzZXQgYW5kIGF1dG92aWRlb3NpbmsgaXMgbm90IGF2YWlsYWJsZSBmb3Igc29tZQoJICByZWFzb24sIHBvc3QgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIHdoZW4gZmFpbGluZyB0bwoJICBjaGFuZ2Ugc3RhdGUsIGFuZCBkb24ndCB0cnkgdG8gZ3N0X29iamVjdF9yZWYoKSBOVUxMIHBvaW50ZXJzLiBGaXhlcwoJICBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3Qgd2hlbiBkaXN0Y2hlY2tpbmcuCgoyMDA5LTEyLTEwIDE2OjMwOjI2IC0wNTAwICBTdGVwaGVuIERlcG9vdGVyIDxzdGVwaGVuZEB4YW5kcm9zLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogZml4IGNvbXBpbGUgYWdhaW5zdCBlYXJsaWVyIENFTFQgdmVyc2lvbnMKCSAgQ2hlY2sgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ0VMVF9TRVRfQ09NUExFWElUWSBzeW1ib2wKCSAgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQuIEZpeGVzIGNvbXBpbGF0aW9uIGFnYWluc3QKCSAgbGliY2VsdCAwLjQuMC4KCSAgRml4ZXMgIzYwNDMxMS4KCjIwMTAtMDItMTcgMTI6MzQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJldHVybiBvZmZzZXQrbGVuZ3RoIGZyb20gX2dldF9pbWFnZV9sZW5ndGgoKS4KCSAgX2ZpbmRfZW5kX21hcmtlcigpIGZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBtYXJrZXIuIEVPSSBoYXMgYSBmaXhlZCBsZW5ndGggb2YgMgoJICBieXRlcyB0aGF0IHdoZXJlIG1pc3NpbmcuIEZpeGVzICM2MDg5OTgKCjIwMTAtMDItMTcgMDE6MzQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyBmYWFkIHVuaXQgdGVzdAoKMjAxMC0wMi0xNyAwMToyOTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzCgkgIFNlZSBidWcgIzYwODk5OC4KCjIwMTAtMDItMTYgMjI6MjM6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IHVuaXQgdGVzdCB0byBhY3R1YWxseSBjaGVjayBmb3IgZXZlcnl0aGluZyB0byB3b3JrIGNvcnJlY3RseQoKMjAxMC0wMi0xNiAyMjoyMjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIG5vIGNvZGVjIGRhdGEgaXMgc2V0LCBzdGlsbCBpbml0aWFsaXplIHRoZSBhc3MgdHJhY2sKCjIwMTAtMDItMTYgMjE6NDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgkgIFRoaXMgcmVuZGVycyBhIHRlc3Qgc3RyaW5nIG9uIHRvcCBvZiBhIHJlZCB2aWRlbyBzdHJlYW0gYW5kIGNoZWNrcwoJICBpZiB0aGUgdGV4dCBpcyBvbmx5IHJlbmRlcmVkIGF0IHRoZSBjb3JyZWN0IHRpbWVzdGFtcHMuCgoyMDEwLTAyLTE2IDIwOjM4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IEZpeCB3YXJuaW5nIG1lc3NhZ2UgcGFyc2luZwoKMjAxMC0wMi0xNiAxNjo0OTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGd1YXJkIGFnYWluc3QgY29kZWNfZGF0YSBmaWVsZCB3aXRoIGEgTlVMTCBidWZmZXIgaW4gY2FwcwoJICBGaXhlcyAjNjA5NDc4LgoKMjAxMC0wMi0xNiAxNzoxMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHByZXZlbnQgbGVha2luZyBoZGxyIG5hbWUKCjIwMTAtMDItMTYgMTY6MjQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBBTEFDCgkgIEZpeGVzICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE0OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogcmVmYWN0b3IgYnVpbGRpbmcgc3RzZCBlbnRyeSAnd2F2ZScgZXh0ZW5zaW9uCgoyMDEwLTAyLTE2IDEwOjAwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgLnNwZWMgZmlsZTogc2hhcGV3aXBlIGFuZCBpdm9yYmlzZGVjIGhhdmUgYmVlbiBtb3ZlZCBlbHNld2hlcmUKCjIwMTAtMDItMTYgMDk6NDk6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBkb2NzOiB1bmlmeSBkb2Mgc3R5bGUKCSAgVXNlIGd0a2RvYyBzeW50YXggYW5kIGFkZCBzaG9ydCBkZXNjIGZvciB0aGUgZXhhbXBsZXMuCgoyMDEwLTAyLTE1IDIzOjQzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXAgR1NUX0NYWEZMQUdTIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgQyBzcGVjaWZpYyBmbGFncyBpbiBHU1RfQ1hYRkxBR1MsIHNvIGJhc2UgaXQgb24gdGhlCgkgIEdTVF9DRkxBR1MgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSBwa2ctY29uZmlnIENGTEFHUyBidXQgbm9uZSBvZgoJICB0aGUgR1NUX09QVElPTl9DRkxBR1MuIEFsc28sIHdlIG9ubHkgbmVlZCB0aGUgbG9jYWwgaW5jbHVkZXMgb25jZS4KCjIwMTAtMDItMTUgMjM6MTc6NTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYXNlIEdTVF9DWFhGTEFHUyBvbiAtLWNmbGFncyBmcm9tIHBrZy1jb25maWcKCSAgcGtnLWNvbmZpZyBzZXRzIEdTVF9DRkxBR1MgYW5kIEdTVF9MSUJTLiBXZSBuZWVkIHRvIHVzZSBDRkxBR1MgYXMgYSBzdGFydGluZwoJICBwb2ludCBmb3IgZm9yIGJvdGggQyBhbmQgQ1hYIHNldHRpbmdzLgoKMjAxMC0wMi0xNSAxMjo1Nzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwcmludGYgZm9ybWF0IGFuZCBhIGZldyByZWYgbGVha3MKCjIwMTAtMDItMTUgMTI6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ3N0LWl2b3JiaXMubTQ6CgkgIGJ1aWxkOiByZW1vdmUgc29tZW0gbW9yZSBpdm9yYmlzIGNydWZ0CgoyMDEwLTAyLTE1IDExOjU1OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIE1vdmVkICdpdm9yYmlzKGRlYyknIGZyb20gLWJhZCB0byAtYmFzZS4KCSAgRml4ZXMgIzYwOTA2My4KCjIwMTAtMDItMTUgMDk6MzY6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEZpeCBmaWVsZCBlcnJvci4KCSAgU3BvdHRlZCBieSBCdXJraGFyZCBQbGF1bQoKMjAxMC0wMi0xNSAwMToyNjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4ganBlZ3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wMi0xMyAxNToyODozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBkYXRhdXJpc3JjCgkgIFJlcXVpcmVzIGZpeGVzIGZyb20gY29yZSBnaXQsIHNvIGJ1bXAgY29yZSByZXF1aXJlbWVudCB0byBnaXQgYXMgd2VsbC4KCjIwMTAtMDItMTQgMjM6MTg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NmRjNzkzIHRvIDQ0ZWNjZTcKCjIwMTAtMDItMTQgMTU6MjI6MDUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJICBleGFtcGxlczogQ2FsbCBnc3RfZW5zdXJlX25hdGl2ZV93aW5kb3coKSBmb3IgZ3N0LWNhbWVyYQoJICBGaXhlcyBzcHVyaW91cyBTRUdWcyBkdWUgdG8gbXVsdGl0aHJlYWRpbmcgY29uZmxpY3RzIGluCgkgIGNsaWVudC1zaWRlLXdpbmRvdyBHdGsgdmVyc2lvbnMuCgoyMDEwLTAyLTE0IDEzOjQzOjA0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogVXNlIGd0ayBmdW5jdGlvbnMgaW5zdGVhZCBvZiBsaWJYMTEgZnVuY3Rpb25zIGluIGNhbWVyYWJpbgoJICBHZXRzIGFyb3VuZCB0aGUgbmVlZCB0byBsaW5rIHRvIGxpYlgxMSBkaXJlY3RseSBhbmQgcHJvdmlkZXMgdGhlIHNhbWUKCSAgZnVuY3Rpb25hbGl0eS4KCSAgVG8gYm9vc3QsIGl0J3MgbW9yZSBwb3J0YWJsZSwgdG9vIQoKMjAxMC0wMi0xNCAxMzo0MTo1NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBQcm9wZXJseSBsaW5rIHRvIGxpYm0KCjIwMTAtMDItMTMgMTE6MDA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIEFkZCBzaGFwZXdpcGUgZXhhbXBsZXMgZGlyZWN0b3J5IHRvIENSVUZUX0RJUlMKCjIwMTAtMDItMTIgMTE6MzU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSAgZG9jczogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTIgMTE6MjE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgTW92ZWQgJ3NoYXBld2lwZScgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEZpeGVzIGJ1ZyAjNTg0NTM2LgoKMjAxMC0wMi0xMSAyMTo1Nzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTEgMjA6Mzc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgZmFhZDogYWRkIHVuaXQgdGVzdAoKMjAxMC0wMi0xMSAyMDoyMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBkb2N1bWVudGF0aW9uIHR5cG8KCjIwMTAtMDItMTEgMjA6MjE6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZW1vdmUgc29tZSByZWR1bmRhbnQgY29kZQoJICAuLi4gYW5kIG1vdmUgYW5kIG1vZGlmeSBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDEwLTAyLTEwIDIzOjI5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZHJhaW4gc3luYyBwZW5kaW5nIGZyYW1lcyB3aGVuIGFwcHJvcHJpYXRlCgoyMDEwLTAyLTEwIDIzOjE0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogc2VuZCB0YWdzIGV4YWN0bHkgb25jZSB3aGVuIGluaXQnZWQKCjIwMTAtMDItMTAgMjM6MTQ6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciBzb21lIHBhcnRpYWwgc3RyZWFtIHJlc2V0CgoyMDEwLTAyLTEwIDIyOjE0OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogY29ycmVjdGx5IGVzdGltYXRlIGF2ZXJhZ2UgYnBzCgkgIENvdW50IGNvbnN1bWVkIGJ5dGVzIGFuZCBjb3JyZXNwb25kaW5nIGR1cmF0aW9uIGF0b21pY2FsbHksCgkgIHJhdGhlciB0aGFuIGxldHRpbmcgYnl0ZWNvdW50IHJ1biBhaGVhZCBvZiB3aGF0IGhhcyBiZWVuIGRlY29kZWQuCgkgIEZpeGVzICM0NDA0NzYuCgoyMDEwLTAyLTEwIDIxOjQ5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZ2l2ZSB1cCBhZnRlciBzb21lIG51bWJlciBvZiBkZWNvZGluZyBmYWlsdXJlcwoKMjAxMC0wMi0xMCAyMTozNzoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogZG8gbm90IGF0dGVtcHQgdG8gc3luYyBpbmRlZmluaXRlbHkKCjIwMTAtMDItMTAgMjE6MTI6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHVzZSBhZGFwdGVyIHJhdGhlciB0aGFuIHRlbXBvcmFyeSBidWZmZXIKCjIwMTAtMDItMTAgMTk6MTQ6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBvYmplY3RpZnkgZGVidWcgc3RhdGVtZW50cyBhbmQgYWRqdXN0IHNvbWUgbGV2ZWxzCgoyMDEwLTAyLTEwIDE4OjQ2OjE2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3Igc3JjIGNhcHMgKHJlKW5lZ290aWF0aW9uIGFuZCByZWZsb3cgc29tZSBlcnJvciBleGl0cwoKMjAxMC0wMi0wOSAyMzozNToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogcmVtb3ZlIGRlZnVuY3QgYW5kIG90aGVyd2lzZSBvYnNvbGV0ZSBjb2RlCgoyMDEwLTAyLTA5IDIzOjI1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3IgcmVzZXQKCjIwMTAtMDItMDkgMjI6NDY6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHVzZSBhbiBpbiBzdHJ1Y3Qgc2VnbWVudCByYXRoZXIgdGhhbiBhIHNlcGFyYXRlbHkgYWxsb2NhdGVkIG9uZQoKMjAxMC0wMi0xMCAxMDo1Mjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByZXNlcnZlIHRoZSBpbnB1dCBjb2xvciB2YWx1ZXMgaW4gYWxsIGNhc2VzCgoyMDEwLTAyLTEwIDEwOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogU2NhbGUgbWFzayBhbHBoYSB2YWx1ZXMgYnkgdGhlIHNvdXJjZSBhbHBoYSB2YWx1ZXMKCjIwMTAtMDItMTAgMTA6NDI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggQVJHQiBwcm9jZXNzaW5nCgoyMDEwLTAyLTEwIDEwOjM0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IFByaW50IHNvbWUgbW9yZSBkZXRhaWxzIG9uIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMKCjIwMTAtMDItMDkgMTU6MjA6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogTmV2ZXIgZmx1c2ggbW9yZSBieXRlcyB0aGFuIGF2YWlsYWJsZQoJICBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgaW5wdXQgZG9lc24ndCBjb250YWluIGFueSBNUEVHIFRTCgkgIGRhdGEgYW5kIHRoZSBjb21wbGV0ZSBhZGFwdGVyIGNvbnRlbnQgc2hvdWxkIGJlIHNraXBwZWQuCgoyMDEwLTAyLTA4IDExOjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBhdG9tc3JlY292ZXJ5OiBGaXggY29tcGlsYXRpb24gcHJvYmxlbQoJICBGaXhlcyBhIGNvbXBpbGF0aW9uIGVycm9yIGR1ZSB0byB1bnVzZWQgZnVuY3Rpb24gcmVzdWx0LgoKMjAxMC0wMi0wOCAwODoyNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUvYWRkIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoyMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFsd2F5cyBob2xkIHRoZSBtYXNrIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBHQ29uZAoKMjAxMC0wMi0wOCAwODoxOTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IE1vdmUgY2hhaW4gZnVuY3Rpb24gZXJyb3IgY2FzZXMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYW5kIGFkZCB1c2VmdWwgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjEyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogRml4IHJhY2UgY29uZGl0aW9uIGR1cmluZyBzaHV0ZG93biB0aGF0IGNhbiBsZWFkIHRvIGEgZGVhZGxvY2sKCjIwMTAtMDItMDggMDg6MTE6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEcm9wIG1hc2sgYnVmZmVyIG9uIEZMVVNIIGV2ZW50cwoKMjAxMC0wMi0wOCAwODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhcgoKMjAxMC0wMi0wOCAwODowODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERvbid0IHJlc2V0IHByb3BlcnRpZXMgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIEFsc28gdXNlIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgcHJvcGVydGllcy4KCjIwMTAtMDItMDcgMTE6MDk6NDUgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDCgkgIE1TVkMgZG9lc24ndCBsaWtlICNpZiAjZWxzZSB3aXRoaW4gc3RhdGVtZW50cy4KCSAgRml4ZXMgIzYwOTIxNS4KCjIwMTAtMDEtMjYgMTc6MDg6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGRvbid0IGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMKCSAgRG9uJ3QgZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycywgYXMgd2UnbGwgc2VuZCB0aGUgYnVmZmVyIGFzCgkgIHRleHQvcGxhaW4gcmF0aGVyIHRoYW4gdGV4dC94LXBhbmdvLW1hcmt1cDsgdGhpcyBhdm9pZHMgZS5nLgoJICBxdW90ZXMgZnJvbSBhcHBlYXJpbmcgYXMgJnF1b3Q7IGluIHRoZSByZW5kZXJlZCBzdWJ0aXRsZXMuCgkgIFNlZSBidWcgIzYwMDkyOS4KCjIwMTAtMDEtMjQgMTE6MTQ6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogcmVuYW1lIHRoZSB0aWdlciBvdmVybGF5IGVsZW1lbnQncyBzaW5rIHBhZCB0byAnc3VidGl0bGVfc2luaycKCSAgQXMgdGhpcyBpcyB3aGF0IHBsYXliaW4yIGV4cGVjdHMuIFNlZSBidWcgIzYwMDkyOS4KCjIwMTAtMDItMDcgMTA6MTk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJICBqcGVncGFyc2U6IGxvd2VyIHJhbmsgdG8gTk9ORSBzbyBpdCBpcyBub3QgYXV0b3BsdWdnZWQgZm9yIGRlY29kaW5nCgkgIFRoaXMgZWxlbWVudCBpcyB0b28gbmV3IGFuZCB0b28gdW50ZXN0ZWQgdG8gaGF2ZSBpdCBhdXRvcGx1Z2dlZC4KCjIwMTAtMDItMDUgMTc6MjU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXQgdGVzdAoJICBUaGUgcGFyc2VkIGJ1ZmZlcnMgaGF2ZSBhIGZyYW1lcmF0ZSBvZiAxLzEuCgkgIEZpeGVzIGJ1ZyAjNjA4OTk4LgoKMjAxMC0wMi0wNSAxMDoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJICBtZXRhZGF0YTogYXBwZW5kX3NvcnRlZCBzaG91bGQgcmVhbGx5IGFwcGVuZCBzb3J0ZWQKCSAgLi4uIHdoaWNoIG1lYW5zIHRoYXQgaWRlbnRpY2FsIG9mZnNldF9vcmlnIHNob3VsZCBwcmVzZXJ2ZSB0aGUgb3JkZXIKCSAgaW4gd2hpY2ggdGhleSBhcmUgYXBwZW5kZWQuCgoyMDEwLTAyLTA1IDEwOjE2OjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkgIG1ldGFkYXRhOiB1c2UgYSBub24tREVGQVVMVCBwcm9wZXIgZGVidWcgY2F0ZWdvcnkgaW4gaGVscGVyIGZpbGVzCgoyMDEwLTAyLTA0IDE5OjQ1OjQyICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRml4IGEgcG90ZW50aWFsIHVucmVmIG9mIGEgTlVMTCBwb2ludGVyLgoJICBBdCBmaXJzdCBpdGVyYXRpb24gd2UgZG9uJ3QgaGF2ZSBhbnkgY2FjaGVkIFNQUy9QUFMgYnVmZmVyIHRvIGZyZWUuCgoyMDEwLTAyLTAyIDExOjQzOjIyIC0wNTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWRkIFBBVC9QTVQgaW4gc3RyZWFtaGVhZGVyCgkgIFRoZSBjaGVjayBmb3IgUEFUL1BNVCBidWZmZXJzIHdhcyBzdWdnZXN0ZWQgYnkKCSAgWmFoZWVyIEFiYmFzIE1lcmFsaS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMi0wMyAxMzozMToyMiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgcGF0LWludGVydmFsIGFuZCBwbXQtaW50ZXJ2YWwgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAyLTAzIDEzOjQxOjI3ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGZpeCBQQVQvUE1UIGluc2VydGlvbiBmcmVxdWVuY3kKCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBjb21wYXJpbmcgdGltZXN0YW1wcyB3aXRoIGRpZmZlcmVudCBjbG9jay4KCSAgTGV0J3MgdXNlIG9ubHkgdGhlIGNsb2NrIGZvciBQVFMgdmFsdWVzLgoJICBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gaW50ZXJ2YWwsIHRvIGF2b2lkIGNvbmZ1c2lvbi4gQW5kIHJlbW92ZQoJICBkb2N1bWVudGF0aW9uIGFib3V0IHZhbHVlIDAsIHdoaWNoIHdvbid0IHdvcmsgbGlrZSBkb2N1bWVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAxLTI3IDE2OjI5OjAwICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IG1hcmtpbmcgbm9uLWRlbHRhIHVuaXQsIGluY2x1ZGluZyBwcmUtc2VjdGlvbnMKCSAgVGhpcyBwYXRjaCBhZGRyZXNzIHRoZSBpc3N1ZSBvYnNlcnZlZCB3aXRoIEtGIHRpbWVzdGFtcHMKCSAgYW5kIGRlbHRhIGZsYWcuIFdoZW4gYSBzZWN0aW9uIGlzIGFwcGVuZGVkIGJlZm9yZSB0aGUga2V5ZnJhbWUsCgkgIGl0IGlzIG5vdCBtYXJrZWQgYXMgbm9uLWRlbHRhLiBJdCdzIHByZWZlcmFibGUgdG8gbWFyayB0aGUKCSAgZmlyc3QgYnVmZmVyIG5vbi1kZWx0YS4KCSAgVGhpcyBwYXRjaCBhbHNvIHNpbXBsaWZ5IHRoZSBpbml0aWFsIHBhdGNoIHdyaXR0ZW4gYnkgdGhvbWFzLAoJICBzaW5jZSBpdCBkb2VzIG5vdCBjbHV0dGVyIHRzbXV4LyB3aXRoIGEgZGVsdGEgZmxhZyBwYXNzZWQKCSAgYXJvdW5kIG9ubHkgZm9yIEdTdHJlYW1lciBjb252ZW5pZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNDkwOAoKMjAxMC0wMi0wMyAxNTowNzowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkgIGpwZWdmb3JtYXQ6IGFkZCBhIGJhc2ljIGppZm11eGVyCgkgIFRoZSBuZXcgZWxlbWVudCBjYW4gY2hvcCBhbmQgcmVhc3NlbWJsZSB0aGUgbWFya2Vycy4gSSBpbXBsZW1lbnRzIHRoZSB0YWdzZXR0ZXIKCSAgYW5kIGZvciBub3cgY2FuIHNlcmlhbGl6ZSBzb21lIHRhZ3MgdG8ganBlZyBjb21tZW50cy4KCjIwMDktMTItMTIgMTY6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IEFkZHMgbW9vdiByZWNvdmVyeSBmZWF0dXJlCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gcXRtdXggdGhhdCBzZXRzIGEgcGF0aCB0byBhIGZpbGUgdG8gd3JpdGUKCSAgYW5kIHVwZGF0ZSBkYXRhIGFib3V0IHRoZSBtb292IGF0b20gKHRoYXQgaXMgbm90IHdyaXRlbiB0aWxsIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUpLiBJZiB0aGUgcGlwZWxpbmUvYXBwIGNyYXNoZXMgZHVyaW5nIGV4ZWN1dGlvbiBpdAoJICBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyIHRoZSBtb3ZpZSB1c2luZyB0aGUgcXRtb292cmVjb3ZlciBlbGVtZW50LgoJICBxdG1vb3ZyZWNvdmVyIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBhbHNvIGEgcGlwZWxpbmUuIEl0IGlzIG5vdAoJICBtZWFudCB0byBiZSB1c2VkIHdpdGggb3RoZXIgZWxlbWVudHMgKGl0IGhhcyBubyBwYWRzKS4gSXQgaXMgbWVyZWx5CgkgIGEgdG9vbC91dGlsaXRhcnkgdG8gcmVjb3ZlciB1bmZpbmlzaGVkIHF0bXV4IGZpbGVzLgoJICBGaXhlcyAjNjAxNTc2CgoyMDEwLTAyLTAyIDExOjIyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGltcHJvdmUgcGFyc2luZwoJICBIYW5kbGUgbW9yZSBhcHAgbWFrZXIuIFByaW50IGFwcCBtYXJrZXIgbmFtZXMgdG8gZGVidWcgbG9nLiBSZW1lbWJlciBsYXN0X21hcmtlcgoJICB3aGVuIHBhcnNpbmcgdG8gYXZvaWQgcmVwYXJzaW5nIGZyb20gdGhlIHZlcnkgYmVnaW4uCgoyMDEwLTAyLTAyIDEyOjIzOjI0ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSAgbXBlZ3RzbXV4OiBnZW5lcmF0ZSBTUFMvUFBTIGhlYWRlciBvbmNlIGFuZCBmaXggb3ZlcmZsb3cKCSAgU29tZSBIMjY0IHBhY2tldHMgY2FuIGJlIGFzIHNtYWxsIGFzIDUgYnl0ZXMgZm9yIHJlcGVhdGVkIGZyYW1lcy4KCSAgSW4gc3VjaCBhIHNpdHVhdGlvbiB0aGUgb3V0cHV0IGJ1ZmZlciBzaXplIHdhcyBub3QgYmlnIGVub3VnaCAoNSoyKSB0byBmaXQgdGhlCgkgIFNQUy9QUFMgaGVhZGVyIGFuZCB0aGUgc3RhcnQgY29kZXMuIFRoaXMgY29ycnVwdHMgdGhlIEVTIHN0cmVhbS4KCSAgV2Ugbm93IGdlbmVyYXRlIHRoZSBTUFMvUFBTIG9ubHkgb25jZSB3aGljaCBpcyBtdWNoIG1vcmUgb3B0aW1hbCBhbmQgd2Ugbm93CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIGhlYWRlciB0byBjYWxjdWxhdGUgdGhlIG91dHB1dCBidWZmZXIgc2l6ZSBtb3JlIHNhZmVseS4KCjIwMTAtMDItMDIgMDE6NDQ6MjAgKzAxMDAgIEdyaWdvcmkgR29yb256eSA8Z3JlZ0BibGFja2JveD4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogaW5zdHJ1Y3QgbGliYXNzIHRvIHVzZSBsaWdodCBhdXRvaGludGluZwoJICBGaXhlcyBidWcgIzYwODc1My4KCjIwMTAtMDItMDIgMDg6NTM6NTMgKzAxMDAgIEVyaWMgQXBwbGVtYW4gPGVyYXBwbGVtYW5AZ21haWwuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCBzY2FuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgcmVjdXJzaXZlbHkgZm9yIGZvbnRzCgkgIFRoaXMgY2FuIHRha2UgYSB2ZXJ5IGxvbmcgdGltZSBhbmQgYWxzbyBsaWJhc3Mgd2lsbCBvdmVyd3JpdGUgZmlsZXMKCSAgaWYgdGhlcmUncyBhbiBlbWJlZGRlZCBmb250IHdpdGggdGhlIHNhbWUgZmlsZW5hbWUgYXMgYW4gZXhpc3RpbmcgZmlsZS4KCSAgRml4ZXMgYnVnICM1NzU4NzggYW5kICM2MDg3MDYuCgoyMDEwLTAyLTAxIDE2OjI2OjM2IC0wODAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBkb24ndCBjcmFzaCBvbiBpbnZhbGlkIEFNX01FRElBX1RZUEUKCjIwMTAtMDEtMjcgMTk6MDY6NTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBmb3IgZml4ZWQtc2FtcGxlIHNpemUgc3RyZWFtcyAoUENNIGF1ZGlvLCBldGMpIGRvbid0IGFsbG9jYXRlIGFuIGVub3Jtb3VzIGJ1ZmZlciB0aGF0IHdlIHRoZW4gd29uJ3QgdXNlIGF0IGFsbC4KCjIwMTAtMDEtMjcgMTU6Mzc6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXV4aW5nIGFkcGNtIGNvcnJlY3RseS4KCjIwMTAtMDEtMjIgMTM6MzY6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBTZXQgdGhlIG1kaWEgaGRsciBuYW1lIGZpZWxkIHRvIHdoYXQgcXVpY2t0aW1lIHVzZXMuIEZpeCB3cml0aW5nIGl0IHNpbmNlIGl0J3Mgbm90IG51bGwtdGVybWluYXRlZC4gSW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgaGFyZHdhcmUgcGxheWVycy4KCjIwMTAtMDEtMjIgMTM6MzA6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmRpYW5uZXNzIGluIGdzdHJlYW1lciBpcyBhbiBpbnQsIG5vdCBib29sZWFuLgoKMjAxMC0wMS0xNiAxMzoxNzowOCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBhcnNlIG1vcmUgZm9ybXMgb2YgY29kZWNfZGF0YQoKMjAxMC0wMi0wMSAyMjozNzozOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBjb2RlIGNsZWFudXBzCgkgIE1vcmUgbG9nZ2luZyBhbmQgY29tbWVudHMuIFJlbmFtZSBzb21lIHZhcnMgZm9yIGNvbnNpc3RlbmN5LiBGdWxseSBpbml0IHBvcnQKCSAgc3RydWN0LgoKMjAxMC0wMi0wMSAyMjozMjozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yLGx2MixsYWRzcGE6IG1vdmUgc2FtcGxlLXJhdGUgdG8gYmFzZWNsYXNzCgkgIFdlIG5lZWQgdGhlIHNhbXBsZS1yYXRlIGluIGJhc2VjbGFzcyBmb3IgdXBjb21taW5nIHRpbWVzdGFtcCBjaGFuZ2VzLgoKMjAxMC0wMi0wMSAyMjoyNDo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2hvcnRlciBlbGVtZW50IG5hbWVzCgkgIEN1dCBvZmYgdGhlIHByb3RvY29sIHBhcnQgZnJvbSB0aGUgdXJpLiBBbHNvIGp1c3QgZ19TdHJkdXAsIGluc3RlYWQgb2YgcHJpbnRmCgkgIHRoZSBuYW1lLgoKMjAxMC0wMi0wMSAxNzo0NjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcHJvdmlkZSBhIGdldGNhcHMgZnVuY3Rpb24gZm9yIHNyYyBwYWQgYW5kIGltcHJvdmUgc2V0Y2FwcwoJICBQcmV2aW91c2x5IGpwZWdwYXJzZSB3YXMgZmFpbGluZyBpbiBkZWNvZGViaW4gYXMgdGhlIGNhcHMgd2Ugd2VyZSBzZXR0aW5nIHdoZXJlIG5vdAoJICBzZXR0aW5nIGFsbCBjYXBzIGZpZWxkcy4gV2UgbmVlZCB0aGUgb3duIGdldGNhcHMgZnVuY3Rpb24gdG8gcmVwb3J0IHdoYXQgd2UgYWN0dWFseQoJICBhY2NlcHQuCgoyMDEwLTAyLTAxIDE3OjE2OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBleHRyYWN0IGNvbW1lbnQgYW5kIHBvc3QgYXMgbWV0YWRhdGEKCjIwMTAtMDItMDEgMTU6MDQ6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSAganBlZ2Zvcm1hdDogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHRoZSBqcGVnIG1hcmtlciBkZWZpbmVzIHRvIGEgaGVhZGVyICh0byBiZSB1c2VkIGZvciBqaWZtdXgpLiBSZXdyaXRlIHNvbWUKCSAgY29tbWVudHMuIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTAtMDEtMzEgMjI6MjE6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2ltcGlmeSBwcm9wZXJ0eSByZWdpc3RyYXRpb24KCSAgQXZvaWQgdHlwZSBjaGVraW5nIGNhc3RzIGZvciBlYWNoIHByb3BlcnR5LiBVc2UgYSBydW5uaW5nIGluZGV4LgoKMjAxMC0wMS0zMSAyMjoxNjoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgdGhlIGdzdC1jb250cm9sbGVyLCBhZGQgc29tZSBiYXNpYyB0aW1lc3RhbXBpbmcKCSAgQXRsZWFzdCBmb3IgRlggd2Ugbm93IGhhdmUgdGltZXN0YW1wcyBhbmQgY2FuIHN5bmMgdGhlIGNvbnRyb2xsZXIuIFN0aWxsIG5lZWQKCSAgdGltZXN0YW1wcyBmb3Igc291cmNlcy4KCjIwMTAtMDEtMzEgMjI6MTQ6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogc2ltcGxpZnkgcHJvcGVydHkgcmVnaXN0cmF0aW9uCgkgIERvbid0IGRvIGNoZWNraW5nIGNhc3QgZm9yIGVhY2ggcGFyYW1ldGVyLiBVc2UgYSBydW5uaW5nIGluZGV4LgoKMjAxMC0wMS0zMSAyMjoxMzowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiB1c2UgcGx1Z2luIGRlcGVuZGVuY3kgcmVnaXN0cnkgYXBpCgoyMDEwLTAxLTMxIDIyOjExOjQwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGxvb2t1cCBHUXVhcmsganVzdCBvbmNlIGluc3RlYWQgZm9yIGVhY2ggcGx1Z2luKzEKCjIwMTAtMDEtMzEgMjI6MDg6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogbG9va3VwIEdRdWFyayBqdXN0IG9uY2UgYW5kIG5vdCBmb3IgZWFjaCBwbHVnaW4rMQoKMjAxMC0wMS0zMSAyMjowNzowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB0aGVzZSBhcmUgbm90IGd0ay1kb2MgY29tbWVudHMKCjIwMTAtMDEtMzEgMjI6MDU6MzAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGxhZHNwYS9sdjI6IGxpbmsgYW5kIGluaXQgdG8gZ3N0LWNvbnRyb2xsZXIKCjIwMTAtMDEtMzEgMTU6NTM6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogbmV3IGlzIGEgYysrIGtleXdvcmQsIGJldHRlciBsb2dnaW5nCgkgIFVzZSBwYWQgaW5zdGVhZCBvZiBuZXcgZm9yIHRoZSBwYWQgdmFyLiBBbHNvIHVzZSBwYWQgYXMgb2JqZWN0IGluIHRvIGRlYnVnCgkgIGxvZ2dpbmcuCgoyMDEwLTAxLTMwIDE1OjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTVkNDdhNiB0byA5NmRjNzkzCgoyMDEwLTAxLTI5IDEyOjI1OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogbW92ZSBwbHVnaW4gcGFydCB0byBzcGVwYXJhdGUgZmlsZSwgc28gdGhhdCB3ZSBjYW4gYWRkIHRoZSBqaWZtdXgKCjIwMTAtMDEtMjkgMTE6Mzk6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSAgZG9jczogdXBkYXRlIG9mIHRoZSBwbHVnaW4gZG9jcywgYWRkaW5nIG5ldyBpbnRyb3NwZWN0IGRhdGEKCjIwMDktMDgtMTkgMTI6MjI6MzAgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogbmV3IGpwZWcgcGFyc2VyIGVsZW1lbnQuIEZJeGVzICM1ODMwOTgKCSAgUGFyc2UgSlBFRyBpbWFnZXMsIGV4dHJhY3RzIGl0cyBtZXRhZGF0YSwgc2V0IGNhcHMgYW5kCgkgIHBhY2tldGl6ZSBhbiBpbWFnZSBwZXIgYnVmZmVyLgoKMjAxMC0wMS0yOCAxNTowMDozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluLWV4YW1wbGU6IGNsZWFudXBzIGZvciBtYWlubG9vcCBhbmQgc3RhdGUtY2hhbmdlcy4gRml4ZXMgIzYwODA0MgoJICBTdGFydCBjYW1lcmFiaW4gdmlhIGlkbGUgaGFuZGxlciB0byBoYXZlIHRoZSBtYWlubG9vcCBhbHJlYWR5IHJ1bm5pbmcuIEF2b2lkCgkgIHNvbWUgdW5uZWNlc3Nhcnkgc3RhdGUgY2hhbmdlcy4gQ2xlYW51cCB0aGUgYnVzIHVzYWdlIHdoZW4gcmVzdGFydGluZy4KCjIwMTAtMDEtMjggMTQ6NTc6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9nIE5VTEwgY2FwcywgYWxzbyBkb3duZ3JhZGUgdG8gREVCVUcgYXMgaXQgaXMgdmVyeSB2ZXJib3NlCgkgIFRoaXMgZGVidWcgbG9nIGVudHJ5IHdhcyBhbHNvIG5vdCBtZW50IHRvIGJlIHVzZWQgaW4gdGhlIGZhaWx1cmUgY2FzZS4KCjIwMTAtMDEtMjggMDA6MDc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBhZGQgc3RhcnQgZnVuY3Rpb24gc28gd2UgY2FuIGVycm9yIG91dCBwcm9wZXJseSBpZiBubyB1cmkgaXMgc2V0CgkgIEFsc28gc2F2ZSBhIHNldCBVUkkgYWZ0ZXIgaXQgaGFzIGJlZW4gcGFyc2VkIHN1Y2Nlc3NmdWxseSwgc28gdGhhdCBfZ2V0X3VyaSgpCgkgIGFjdHVhbGx5IHdvcmtzLgoKMjAxMC0wMS0yNyAyMzo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGRvbid0IHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHNldHRpbmcgdGhlIFVSSSBmYWlsZWQKCSAgVGhlcmUncyBhIGdib29sZWFuIHJldHVybiBmb3IgdGhhdCwgYW5kIHRoZSBtZXNzYWdlcyBkb24ndCByZWFsbHkKCSAgYWRkIGFueXRoaW5nIHVzZWZ1bC4KCjIwMTAtMDEtMjcgMjM6Mzk6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBtdXN0IHJlbGVhc2UgdGhlIG9iamVjdCBsb2NrIGJlZm9yZSB1c2luZyBHU1RfRUxFTUVOVF9FUlJPUgoKMjAxMC0wMS0yNyAyMzozNDozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBhZGQgbW9yZSBkZWJ1ZyBhbmQgcmVtb3ZlICJcbiIgZnJvbSBkZWJ1ZyBsb2dnaW5nCgoyMDEwLTAxLTI3IDIzOjI5OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGJldHRlciBnb2JqZWN0IHByb3BlcnRpZXMKCSAgVXNlIGx2MjpzeW1ib2wgYXMgYSBiYXNlIGZvciB0aGUgcHJvcGVydHkgbmFtZSBhbmQgbHYyOm5hbWUgZm9yIG5pY2sgYW5kIGJsdXJiLgoKMjAxMC0wMS0yNiAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkgIHF0bXV4OiBzdHJlYW1saW5lIG1vb3YgZGF0YSBtZW1vcnkgc3RvcmFnZQoJICBJbiBwYXJ0aWN1bGFyLCB1c2UgYXJyYXlzIHJhdGhlciB0aGFuIChkb3VibGUpIGxpbmtlZCBsaXN0cy4KCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTE0IDEyOjA2OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIGNvcnJlY3QgaDI2NF9wYXJzZSBwcmVmaXggaW4gZnVuY3Rpb24gbmFtZQoKMjAxMC0wMS0yNyAxMjowODo0OCArMDEwMCAgVmluY2VudCBHRU5JRVVYIDx2Z2VuaWV1eCBhdCBmcmVlLmZyPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBmaXggZWxlbWVudCBzaHV0ZG93biBvbiBiYWQgcmVjZXB0aW9uCgkgIFdoZW4gd2UgaGF2ZSBhIGJhZCByZWNlcHRpb24sIGF2b2lkIGdvaW5nIGludG8gYW4gaW5maW5pdGUgbG9vcCBieSBzZXR0aW5nIGEKCSAgc2h1dGRvd24gZmxhZyB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM2MDc3NDcKCjIwMTAtMDEtMjYgMTM6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTI1IDE5OjA2OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IEZpeCBwYWNrZXQgbGVuZ3RoIHNlbWFudGljcwoJICBGb2xsb3dpbmcgdGhlIGVkNGQwODE4OWVhNmUxOWE1MGUwMjllNjBkYTUyZDM1ODNjMzlmYmIKCSAgY29tbWl0LCB0aGlzIG9uZSBmaXhlcyBydHBhc2ZwYXkgdG8gdXNlIHBhY2tldCBsZW5ndGgKCSAgYXMgdGhlIHBheWxvYWRlZCBkYXRhIGxlbmd0aCwgYnV0IGFsc28gYWNjZXB0aW5nIGl0CgkgIGFzIHRoZSBmdWxsIHBhY2tldCBzaXplIGZvciBjb21wYXRpYmlsaXR5IHdpdGgKCSAgb3RoZXIgaW1wbGVtZW50YXRpb25zIGR1ZSB0byB0aGUgbGFjayBvZiBjbGFyaXR5IG9mIHRoZQoJICBzcGVjIGluIHRoaXMgcGFydC4KCjIwMTAtMDEtMjEgMTA6NTE6MTYgLTAzMDAgIEjDpWtvbiBTa2plbHRlbiA8c2tqZWx0ZW5AcHZ2Lm9yZz4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJICBhc2ZtdXg6IENvbXBhdGliaWxpdHkgd2l0aCBXTVNQIGluIFdNUAoJICBNYWtlcyB0aGUgYXNmbXV4IGNvbnRlbnQgY29tcGF0aWJsZSB3aXRoIFdNU1AgYW5kIGRvZXMKCSAgc29tZSBoYWNrcyB0byBtYWtlIGl0IHBsYXlhYmxlIGluIFdNUCwgaXQgZG9lc24ndCBhY2NlcHQKCSAgZGF0YSBvYmplY3RzIHdpdGggMCBzaXplIGluZGljYXRpbmcgdGhhdCB3ZSBkb24ndCBrbm93CgkgIGl0cyBzaXplLCB0aG91Z2ggdGhlIHNwZWMgc2F5cyBpdCBzaG91bGQgYmUgcG9zc2libGUuCgkgIEZpeGVzICM2MDc1NTUKCjIwMTAtMDEtMjUgMjM6MDY6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbi1leGFtcGxlOiByZW1vdmUgbWFlbW8gY29tbWVudCBhbmQgbG9nIGZpbGVuYW1lCgkgIFRoZSBtYWVtbyBmaXhtZSBpcyBub3QgbmVlZGVkIGFueW1vcmUuIExvZyB0aGUgY2hvb3NlbiBmaWxlbmFtZSB0byBoZWxwCgkgIHBlb3BsZSBmaW5kaW5nIHRoZSBmaWxlcy4KCjIwMTAtMDEtMjUgMjM6MDQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW46IHJlZiBlbGVtZW50IGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4gdG8gcmVzdXJyZWN0CgkgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvc2VkIHRvIGRpc3Bvc2UgdGhlIGVsZW1lbnQgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZQoJICBhcyB0aGUgY2FsbGVyIGlzIHVzaW5nIHRoZSBlbGVtZW50cyBuYW1lIGluIHRoZSBlcnJvciBtZXNzYWdlLiBBbHNvIGFkZAoJICBzb21lIG1vcmUgaW5wdXQgcGFyYW1ldGVyIGNoZWNrcyBpbiB0aGUgZm9ybSBvZiBnX3JldHVybl92YWxfaWZfZmFpbAoKMjAxMC0wMS0yNSAxMjoyMTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZXZlcnQgImlucHV0c2VsZWN0b3I6IFByb3RlY3QgZ19vYmplY3Rfbm90aWZ5KCkgd2l0aCB0aGUgb2JqZWN0J3MgbXV0ZXgiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgN2UwNjc2MTVmZmI1NjE0ZjA2OGY3NzUzYzEwZGRlOTlhZmU0OWMzYywgaXQncyBjYXVzaW5nCgkgIGRlYWRsb2NrcyB3aXRoIHBsYXliaW4yLgoKMjAxMC0wMS0yNSAxMjoxMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IFJlbW92ZSByb2xlIGF0dHJpYnV0ZSBmcm9tIGxpbmtzCgoyMDEwLTAxLTI1IDExOjU2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogQWRkIGRvY3MgYW5kIGludGVncmF0ZSBpbnRvIGJ1aWxkIHN5c3RlbQoJICBGaXhlcyBhZ2FpbiBidWcgIzU5Njg4NS4KCjIwMTAtMDEtMjUgMTE6MTI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5oOgoJICBkYXRhdXJpc3JjOiBBZGQgZGF0YTogVVJJIHNvdXJjZSBlbGVtZW50CgkgIFRoaXMgaXMgc2xpZ2h0bHkgYmFzZWQgb24gdGhlIFdlYktpdCBkYXRhOiBVUkkgc291cmNlCgkgIGJ1dCBzdXBwb3J0cyBtb3JlIHBhcnRzIG9mIFJGQyAyMzk3LgoJICBGaXhlcyBidWcgIzU5Njg4NS4KCjIwMTAtMDEtMjUgMDc6NDI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSAgZGF0YXVyaXNyYzogQWRkIGRpcmVjdG9yeSBmb3IgZGF0YTogVVJJIHNvdXJjZQoKMjAxMC0wMS0yNSAxMTozNjo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBjcmVhdGUgdmFsaWQgZ29iamVjdCBwcm9wZXJ0eSBuYW1lcy4gRml4ZXMgIzYwMjUyOAoJICBXZSBjYW5ub3QgdXNlIHRoZSBuYW1lcyBhcyB3ZSBnZXQgdGhlbSBmcm9tIGx2MiBmb3IgdGhlIGdwYXJhbXNwZWMgbmFtZSwgb25seQoJICBmb3Igbmljay9ibHVyYi4gQXBwbHkgc2FtZSBhbGdvcml0aG1zIGxpa2UgZWxzZXdoZXJlIChsYWRzcGEpIGZvciBuYW1lLgoKMjAxMC0wMS0yNSAxMTo0OTo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmCgoyMDEwLTAxLTI1IDExOjQ4OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJldmVydCAibXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2OGNhNjJiMzY5ZmMxYjc3YWRhZTg1ZDlkODA1NDU3ZmU0ZTNiNTYyLgoKMjAxMC0wMS0yMiAxNzo0NToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmCgoyMDEwLTAxLTI0IDIwOjUzOjAwICswMTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogUHJvdGVjdCBnX29iamVjdF9ub3RpZnkoKSB3aXRoIHRoZSBvYmplY3QncyBtdXRleAoJICBUaGlzIHdvcmtzIGFyb3VuZCB0aGUgdGhyZWFkIHVuc2FmZXR5IG9mIGdfb2JqZWN0X25vdGlmeSgpCgkgIEZpeGVzIGJ1ZyAjNjA3NTEzLgoKMjAxMC0wMS0yMiAxMDo0ODoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCB3YXJuaW5ncyB1bmRlciBPUyBYLi4KCjIwMTAtMDEtMjIgMTA6NDY6NTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBEb24ndCBidWlsZCBvc3h2aWRlb3NyYyBhbmQgcXR3cmFwcGVyIGluIFNub3cgTGVvcGFyZC4KCSAgUXVpY2tUaW1lIGlzbid0IGF2YWlsYWJsZSBhbnltb3JlIGluIE9TIFggU25vdyBMZW9wYXJkLgoKMjAxMC0wMS0yMiAwMjoyMzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogdXNlIHNhbWUgbWVkaWEgdHlwZSBhcyBvdGhlciBlbGVtZW50cwoJICBnZGtwaXhidWYgYW5kIG91ciBuZXcgdHlwZWZpbmRlciBpbiAtYmFzZSB1c2UgaW1hZ2UveC1wb3J0YWJsZS0qLgoKMjAxMC0wMS0yMiAwMjoyMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IG1ha2UgZWxlbWVudCBkZXRhaWxzIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDEtMjIgMDI6MTk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogYWRkIGNvcHlyaWdodCBub3RpY2UKCjIwMTAtMDEtMjIgMDI6MTA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSAgcG5tOiBtb3ZlIHR5cGVmaW5kaW5nIGludG8gLWJhc2UKCjIwMTAtMDEtMTEgMDE6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgdGVzdHM6IHJlZmFjdG9yIHdlaXJkIGJ1cyBzeW5jIGhhbmRsZXIgY29kZSBpbiBjYW1lcmFiaW4gZXhhbXBsZQoKMjAxMC0wMS0yMSAxODoxMTozNCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZmxpdGU6IGJ1aWxkIGFuZCBkaXN0IGZsaXRlIHBsdWdpbgoJICBmaXhpbmcgIm1ha2UgZGlzdCIKCjIwMTAtMDEtMjEgMTU6NTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IENvcnJlY3RseSBpbml0aWFsaXplIG1lbW9yeQoKMjAxMC0wMS0yMCAxMzozMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgW2NsZWFudXBdIFZhcmlvdXMgc3R5bGUgYW5kIGNsZWFudXBzCgkgIFZhcmlvdXMgZml4ZXMgZm9yIGd0ay1kb2Mgd2FybmluZ3MgYW5kIG1ha2luZyBmdW5jdGlvbnMgd2l0aG91dAoJICBhcmd1bWVudHMgdGFrZSB2b2lkIGFzIHBhcmFtZXRlci4KCjIwMTAtMDEtMjAgMTM6Mjk6NTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgW29zczRdIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCByZXR1cm4gdmFsdWUKCjIwMTAtMDEtMjAgMDA6NTQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNThjZjVjIHRvIDE1ZDQ3YTYKCjIwMTAtMDEtMTggMTA6NTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgY2R4YXBhcnNlOiBGaXggYnVmZmVyIGxlYWsKCSAgRml4ZXMgYnVnICM2MDcyODUuCgoyMDEwLTAxLTE2IDE1OjMyOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogRml4IGNoYW5uZWwgbGF5b3V0CgkgIEFkanVzdGVkIHRoZSBjaGFubmVsIG1hcHBpbmdzIHRvIGFncmVlIHdpdGggdGhlIGRlZmF1bHQgY2hhbm5lbCBtYXBwaW5ncwoJICBpbiB0aGUgc3BlYywgd2hpY2ggaXMgcHJlc3VtYWJseSB3aGF0IGZhYWMgaXMgdXNpbmcuICBGaXhlcyAjNjA3MTA1LgoKMjAxMC0wMS0xNiAxNTozMjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBoYW5kbGUgc2FtcGxlc3BlcmJ1ZmZlcgoKMjAxMC0wMS0xNiAxMjo0Mzo0MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogQWRkIGZsaXRldGVzdHNyYwoJICBGbGl0ZSBpcyBhIHNwZWVjaCBzeW50aGVzaXplciBsaWJyYXJ5IChCU0QtaXNoIGxpY2Vuc2UpLiAgVGhpcyBlbGVtZW50CgkgIG5lZ290aWF0ZXMgYSAocG9zc2libHkpIG11bHRpY2hhbm5lbCBhdWRpbyBzdHJlYW0sIGFuZCB0aGVuIGNvbnRpbnVhbGx5CgkgIG91dHB1dHMgYnVmZmVycyBuYW1pbmcgdGhlIG51bWJlciBhbmQgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwuICBJdCdzCgkgIGtpbmRhIGNyYXBweSwgYnV0IEkgbmVlZGVkIGl0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgoKMjAxMC0wMS0xNiAxNzowMjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE1ha2Ugc3VyZSB0aGF0IHByb3BlcnR5IG5hbWVzIGFsd2F5cyBzdGFydCB3aXRoIGEgbGV0dGVyCgkgIE90aGVyd2lzZSBHTGliIHRocm93cyBhc3NlcnRpb25zCgoyMDEwLTAxLTE2IDE2OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUmVwbGFjZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3BzIGJ5IGludGVnZXIgYXJpdGhtZXRpYwoKMjAxMC0wMS0xNiAxMzowNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IE9ubHkgYWNjZXB0IHNwZWNpZmljIGNoYW5uZWwgbGF5b3V0cyBhcyByZXF1aXJlZCBieSBBQUMKCSAgRml4ZXMgYnVnICM2MDcxMDUuCgoyMDEwLTAxLTE2IDExOjQxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQgYW5kIHNpZ25hbCBjb25uZWN0aW9uIGZvciBHdGtCdWlsZGVyIHN0dWZmCgoyMDEwLTAxLTE2IDExOjI2OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgZ21vZHVsZS1leHBvcnQtMi4wIGZvciBHdGtCdWlsZGVyCgoyMDEwLTAxLTE2IDExOjIzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgaWNsZXM6IExpbmsgd2l0aCBHVEsrCgoyMDEwLTAxLTE2IDExOjE2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xMiBmb3IgR3RrQnVpbGRlcgoJICBHVEsrIDIuMTIgaXMgYWxyZWFkeSBvbGRlciB0aGFuIDIgeWVhcnMgc28gdGhpcyBzaG91bGRuJ3QKCSAgYmUgYSBwcm9ibGVtIGZvciBhbnlib2R5LiBBbHNvIGl0J3Mgb25seSB1c2VkIGluIGV4YW1wbGVzLgoKMjAxMC0wMS0xNiAwNjo1NzoyNiArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IudWk6CgkgIHRlc3RzOiBQb3J0IGZyb20gbGliZ2xhZGUgdG8gR3RrQnVpbGRlcgoJICBGaXhlcyBidWcgIzYwMTEwOC4KCjIwMTAtMDEtMTUgMjE6MzQ6MDIgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGRvbHBoeUBpbWFjLihub25lKT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG9uJ3Qgc2V0IGFuIGludmFsaWQgZnJhbWVyYXRlLgoJICBXaGVuIGZpeGVkX3ZvcF9yYXRlIGlzIG5vdCBzZXQgd2UgY2FuIG5vdCBzZXQgYSBmcmFtZXJhdGUgYmFzZWQgb24KCSAgdm9wX3RpbWVfaW5jcmVtZW50X3Jlc29sdXRpb24gYXMgaXQgd291bGQgbW9zdCBsaWtlbHkgYmUgd3JvbmcuCgkgIERvbid0IHNldCBhbnkgZnJhbWVyYXRlIG9uIHRoZSBjYXBzIGluIHRoYXQgY2FzZS4KCjIwMTAtMDEtMTQgMDg6MDk6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWN0dWFsbHkgdXNlIG5ldyBjYXBzIGluZm8gb24gcmVuZWdvdGlhdGlvbgoJICBGb2xsb3dpbmcgdGhlIHByZXZpb3VzIHF0bXV4IGNvbW1pdCwgdGhpcyBwYXRjaCB0cmllcwoJICB0byB1c2UgdGhlIG5ldyBpbmZvIGFkZGVkIHRvIHRoZSBjYXBzIHRvIGZpbGwgdGhlICd0cmFrJwoJICBhdG9tJ3MgZmllbGRzIGFuZCBjaGlsZHJlbiBhdG9tcy4gVGhpcyB3YXkgcXRtdXggd2lsbAoJICB1c2UgdGhlIGxhdGUgYWRkZWQgJ2NvZGVjX2RhdGEnIHdoZW4gaDI2NHBhcnNlIGFkZHMKCSAgaXQgaW4gdGhlIGZvbGxvd2luZyBwaXBlbGluZToKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAyMzozMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiBpdCBvbmx5IGFkZHMgZmllbGRzCgkgIFF0bXV4IGNhbiBhY2NlcHQgY2FwcyByZW5lZ290aWF0aW9uIGlmIHRoZSBuZXcgY2FwcyBpcyBhCgkgIHN1cGVyc2V0IG9mIHRoZSBvbGQgb25lLCBtZWFuaW5nIHVwc3RyZWFtIGFkZGVkIG5ldyBpbmZvIHRvCgkgIHRoZSBjYXBzLiBUaGlzIHBhdGNoIHN0aWxsIGRvZXNuJ3QgbWFrZSBxdG11eCB1cGRhdGUgYW55CgkgIGF0b21zIGluZm8gZnJvbSB0aGUgbmV3IGluZm8sIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0CgkgIHJlamVjdCB0aGUgbmV3IGNhcHMgYW55bW9yZS4KCSAgQSBwaXBlbGluZSB0aGF0IHJlcHJvZHVjZXMgdGhpcyB1c2UgY2FzZSBpczoKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xNCAxMjo1OToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZGVidWcgb3V0cHV0IGEgYml0IGFuZCBzaW1wbGlmeSBjb2RlCgoyMDEwLTAxLTE0IDEyOjU2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBzdXJlIHRoYXQgdGhlIHZpZGVvIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyB0byBpdAoKMjAxMC0wMS0xNCAxMjo0NzoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBhcGV4c2luazogY2hhbmdlIHZvbHVtZSBwcm9wZXJ0eSB0byBhIGRvdWJsZQoJICBDaGFuZ2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSBmcm9tIGludCB0byBhIGRvdWJsZSBzbyB0aGF0IHBsYXliaW4yIGNhbiB1c2UgaXQuCgkgIEtlZXAgdGhlIHZvbHVtZSBpbnRlcm5hbGx5IGFzIGEgcGVyY2VudCBmb3Igbm93IHdpdGggdGhlIGRlZmF1bHQgNzUlIG1hcHBlZCB0bwoJICBhIHZvbHVtZSBvZiAxLjAuCgkgIHNvbWUgY2xlYW51cHMsIGFkZCBzb21lIEZJWE1FIGFuZCBjb21tZW50cy4KCSAgRml4ZXMgIzYwNjg3OAoKMjAxMC0wMS0xMyAxOTozMDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgcmVxdWVzdCBwYWRzIHVuZGVyIHdpZGVyIGNvbmRpdGlvbnMKCSAgRml4ZXMgIzYwNjg1OS4KCjIwMTAtMDEtMTMgMTA6MzU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBhdmMtc2FtcGxlIGgyNjQKCSAgcXRtdXggYW5kIG1wNG11eCBzaG91bGQgb25seSBhY2NlcHQgaDI2NCBpbiBhdmMtc2FtcGxlCgkgIGZvcm1hdAoKMjAxMC0wMS0xMyAwOTo0MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIGNhcHMKCSAgQWRkcyB0aGUgbmV3IHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gaDI2NHBhcnNlIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMS0xMyAwMDozODo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBidWlsZDogaW5jbHVkZSBjcnVmdC5tYWsgYW5kIGFkZCByZWNlbnRseS1tZXJnZWQgcGx1Z2lucyB0byBjcnVmdCBsaXN0CgoyMDEwLTAxLTEyIDIzOjUzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogcG9zdCBlcnJvciBtZXNzYWdlIGluIGFkZGl0aW9uIHRvIHJlZGlyZWN0IHdoZW4gY29ubmVjdCBmYWlscwoJICBXaGVuIHdlIGNhbid0IGNvbm5lY3QgdG8gdGhlIHNlcnZlciwgd2Ugc2hvdWxkIHN0aWxsIHBvc3QgYSBwcm9wZXIKCSAgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzLCBzbyB0aGF0IGFwcGxpY2F0aW9ucyB0aGF0IGRvbid0IGhhbmRsZSB0aGUKCSAgcmVkaXJlY3QgbWVzc3NhZ2UgZ2V0IGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UgKGFuZCBhIGhpbnQgdG8gbG9vayBmb3IKCSAgdGhlIHJlZGlyZWN0KS4KCSAgRml4ZXMgIzYwNjYzNi4KCjIwMTAtMDEtMTIgMTU6NDU6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb3JyZWN0bHkgcmV3cml0ZSBhbGwgbmFsIHByZWZpeGVzCgkgIFdoZW4gY29udmVydGluZyB0byBieXRlLXN0cmVhbSBkbyBub3QgZm9yZ2V0IHRvIHJld3JpdGUKCSAgYWxsIG5hbCBwcmVmaXhlcyBpbnN0ZWFkIG9mIG9ubHkgdGhlIGZpcnN0IG9uZS4KCjIwMTAtMDEtMTIgMTk6MzM6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBpbXByb3ZlIGZhYWMgY29uZmlndXJhdGlvbgoJICBJbiBwYXJ0aWN1bGFyLCBhbGlnbiBjb25maWd1cmF0aW9uIHNvbWUgbW9yZSB3aXRoIHJlZmVyZW5jZSBiaW5hcnkgZmFhYy4KCSAgRml4ZXMgIzYwNjcyNi4KCjIwMTAtMDEtMTIgMTQ6NTE6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IEZpeCBtaXN0YWtlIG9uIHByZXZpb3VzIGNvbW1pdAoJICBVc2UgdGhlIGNvcnJlY3QgdmFyaWFibGVzIGFuZCB2YXJpYWJsZSBmb3JtYXQgaW4gdGhlIHdhcm5pbmcKCSAgbWVzc2FnZQoKMjAxMC0wMS0xMiAxODo1NTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMuCgkgIEZpeGVzIGJ1aWxkIG9uICQjQCooIG1hY29zeAoKMjAxMC0wMS0xMiAxNzowNToxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIG5lb25odHRwc3JjIHRvIHRoZSBsaXN0IG9mIGVsZW1lbnRzIGlnbm9yZWQgZm9yIHN0YXRlLWNoYW5nZQoJICBTZXR0aW5nIG5lb25odHRwc3JjIHRvIFBBVVNFRC9QTEFZSU5HIHJlcXVpcmVzIGEgcnVubmluZyBodHRwIHNlcnZlciBvbgoJICBsb2NhbGhvc3QuCgoyMDEwLTAxLTEyIDA5OjU4OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIGNvZGVjX2RhdGEgaWYgb3V0cHV0IGlzIGJ5dGVzdHJlYW0KCSAgY29kZWNfZGF0YSBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBzcmMgcGFkIGNhcHMgaWYgdGhlCgkgIG91dHB1dCBpcyBpbiBieXRlc3RyZWFtIGZvcm1hdAoJICBGaXhlcyAjNjA2NjU3CgoyMDEwLTAxLTEyIDA5OjM1OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBEbyBub3QgY3Jhc2ggb24gbWlzaW50ZXJwcmV0ZWQgaDI2NAoJICBBdm9pZCBjcmFzaGluZyB3aGVuIGJ5dGVzdHJlYW0gaDI2NCBpcyBpbnRlcnByZXRlZCBhcyBhdmMgZm9ybWF0CgkgIGgyNjQKCSAgRml4ZXMgIzYwNjY1NwoKMjAxMC0wMS0xMSAyMjo0MTo1NyArMDMwMCAg0PPx6+DtIMjm4fPr4PLu4iA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgd2luMzI6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UuIEZpeCBtcGVnZGVtdXggTElCQURECgkgIEJlY2F1c2UgY29uZmlnLmggZGVmaW5lcyBfX01TVkNSVF9WRVJTSU9OX18sIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkCgkgIGJlZm9yZSBpbmNsdXNpb24gb2YgYW55IHN5c3RlbSBoZWFkZXIuCgkgIEFsc28gZml4ZXMgbXBlZ2RlbXV4IE1ha2VmaWxlLmFtIExJQkFERCB0eXBvLgoJICBGaXhlcyAjNjA2NjY1CgoyMDEwLTAxLTEyIDAwOjQ2OjI3ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IHBvcnQgcmZic3JjIHRvIE1pbkdXCgkgIEZpeGVzICM2MDY2NzcKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxNjowOTozOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW5jbHVkZSA8d2luZG93cy5oPiBpbnRvIG1zYWNtLmggY29uZnRlc3QKCjIwMTAtMDEtMTEgMTI6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHVwZGF0ZSB0ZXN0cyB0byBzdHJlYW0tZm9ybWF0IGNoYW5nZXMKCSAgVXBkYXRlcyBhYWNwYXJzZSB1bml0IHRlc3RzIHRvIGNoZWNrIGZvciBzdHJlYW0tZm9ybWF0CgkgIGNvcnJlY3RuZXNzIGFzIHdlbGwuCgoyMDEwLTAxLTExIDEwOjUxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBvdXRwdXQgY2FwcwoKMjAxMC0wMS0xMSAxMDozNDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBzdHJlYW0tZm9ybWF0PSdub25lJyBhYWMKCSAgT25seSBhY2NlcHQgcmF3IGFhYyBzdHJlYW1zIChzdHJlYW0tZm9ybWF0PW5vbmUpIHRvIGF2b2lkCgkgIGdlbmVyYXRpbmcgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgIzYwNDkyNQoKMjAxMC0wMS0xMSAwOTo0ODozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFkZCBmb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyAnc3RyZWFtLWZvcm1hdCcgdG8gb3V0cHV0IGNhcHMgdG8gaW5mb3JtIGlmIHRoZSBzdHJlYW0gaXMKCSAgYWR0cyBvciByYXcuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgZm9yIG11eGVycyB0byByZWplY3QKCSAgaW5wdXQgc3RyZWFtcyBvbiBjYXBzIGlmIHRoZXkgZG9uJ3Qgc3VwcG9ydCBhZHRzIGluc3RlYWQgb2YKCSAgZ2VuZXJhdGluZyBhIGludmFsaWQgZmlsZS4KCSAgRml4ZXMgIzYwNDkyNQoKMjAxMC0wMS0xMSAwMTowMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBmaXggdW5hbGlnbmVkIGFjY2VzcyBpbiB0aGlzIGNvcHkgb2YgbXBlZ2RlbXV4IGFzIHdlbGwKCSAgU2VlICM2MDYzNzEuCgoyMDEwLTAxLTExIDAwOjU5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uYzogdXNlIGV4aXN0aW5nIG1hY3JvcyB0byBhdm9pZCBhbGlnbm1lbnQgaXNzdWVzCgoyMDEwLTAxLTExIDAwOjU3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IHVzZSBleGlzdGluZyBtYWNyb3MgdG8gYXZvaWQgYWxpZ25tZW50IGlzc3VlcwoKMjAxMC0wMS0xMSAwMDoyNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBmaXggYWxpZ25tZW50IGFuZCBlbmRpYW5uZXNzIGlzc3VlCgoyMDEwLTAxLTExIDAwOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogdXNlIEdTVF9NQUtFX0ZPVVJDQyB0byBjcmVhdGUgRk9VUkNDCgoyMDEwLTAxLTEwIDEwOjA2OjU1IC0wMzAwICBMaW5xaWFuZyBQdSA8cHVscS51c3RjQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IGFsbGlnbm1lbnQgaXNzdWUKCSAgVXNlIEdTVF9SRUFEX1VJTlQzMl9CRSBpbnN0ZWFkIG9mIEdVSU5UMzJfRlJPTV9CRSB0bwoJICBmaXggaW50IGFsbGlnbm1lbnQgaXNzdWVzIG9uIEFSTQoJICBGaXhlcyAjNjA2MzcxCgoyMDEwLTAxLTA4IDE2OjA2OjM4ICswMDAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogb25seSB2aWRlbyBjYW4gaGF2ZSBub24tZGVsdGEtdW5pdAoKMjAwOS0xMi0xOCAxNDoxNDoxNyArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtYXJrIGRlbHRhLXVuaXQgb24gb3V0Z29pbmcgYnVmZmVycwoJICBTaWduZWQtb2ZmLWJ5OiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMDEtMDcgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvcHRpbWl6ZSBzcmMgY2FwcyB1cGRhdGluZwoKMjAxMC0wMS0wNyAxNzo0NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24KCSAgLi4uIGFuZCBhbHNvIHJlbW92ZSBhIHN1cGVyZmx1b3VzIGR1cGxpY2F0ZSBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDEwLTAxLTA3IDE3OjQyOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCSAgU3BlY2lmaWNhbGx5LCBwcm9wZXJseSBtYXJrIGEgYnVmZmVyIChOQUxVIG9yIEFVKSB0byBzdGFydCBhIGZyYW1lIG9yIG5vdC4KCjIwMTAtMDEtMDYgMTE6MjA6MDYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhdm9pZCBjcmFzaCBpZiB2b3MgPCA1IGJ5dGVzLgoKMjAwOS0xMi0xMyAxMzo1MzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMDktMTItMTMgMTM6NDk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGxhbmd1YWdlIGV4dHJhY3Rpb24KCSAgVGhlIGRlc2NyaXB0b3IgY29udGFpbnMgSVNPIDYzOS0yIGxhbmd1YWdlIGNvZGVzLCBidXQgd2Ugd2FudAoJICB0d28tbGV0dGVyIElTTyA2MzktMSBjb2RlcyBpbiBHU1RfVEFHX0xBTkdVQUdFLgoKMjAwOS0xMi0wNSAxODoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogbWFrZSBjYW1lcmFiaW4gdGVzdCBhcHBsaWNhdGlvbiBoYW5kbGUgZXJyb3JzIHdoZW4gc3RhcnRpbmcgdXAKCSAgSW5zdGVhZCBvZiBoYW5naW5nIGZvcmV2ZXIgaW4gYSBfZ2V0X3N0YXRlKCkgaW4gY2FzZSBhbiBlcnJvciBvY2N1cnMgd2hlbgoJICBzdGFydGluZyB1cCBjYW1lcmFiaW4sIGJhaWwgb3V0IGFuZCBwcmludCBhbiBlcnJvciBtZXNzYWdlLiBBbHNvIHJlbW92ZQoJICB1bm5lY2Vzc2FyeSBfZ2V0X3N0YXRlKCkgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBwaXBlbGluZS4KCjIwMTAtMDEtMDUgMTg6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHNvbWUgbWlzc2luZyBkb2N1bWVudGF0aW9uIHBpZWNlcwoKMjAxMC0wMS0wNSAxNjoxMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogZG9jdW1lbnRhdGlvbiBmaXgKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAxLTA1IDE0OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAwOS0xMi0yMSAxODoyOTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggKG11bHRpcGxlIGNoYW5uZWwpIGZyYW1lIHBhcnNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZWNsYXJlIHVucGFyc2VkIGlucHV0IGFuZCBwYXJzZWQgb3V0cHV0CgoyMDA5LTEyLTIxIDE4OjE5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBzY2FubmluZyBmb3IgbmV4dCBzeW5jd29yZAoKMjAwOS0xMi0yMSAxODoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBzZWVrIGhhbmRsaW5nIGFuZCBuZXdzZWdtZW50IHNlbmRpbmcKCSAgUGVyZm9ybSBzYW5pdHkgY2hlY2sgb24gdHlwZSBvZiBzZWVrLCBhbmQgb25seSBwZXJmb3JtIG9uZSB0aGF0IGlzCgkgIGFwcHJvcHJpYXRlbHkgc3VwcG9ydGVkLiAgQWRqdXN0IGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudAoJICB0byBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRoYXQgaXMgc2VudCBkb3duc3RyZWFtLgoKMjAwOS0xMi0yMSAxMTo1OTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGNsZWFudXAKCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0xMi0xOCAyMTowNToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGxvY2F0ZSBuZXh0IHN5bmMgY29kZSBtb3JlIGVmZmljaWVudGx5CgoyMDA5LTEyLTE4IDIxOjA0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYmFzZXBhcnNlIHRha2VzIGNhcmUgb2YgaGFuZGxpbmcgbGVmdG92ZXIgcGllY2VzCgoyMDA5LTEyLTE4IDIxOjAyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1wbGVtZW50IGxlZnRvdmVyIGRyYWluaW5nIGluIHB1bGwgbW9kZQoKMjAwOS0xMi0xNyAxMjo0NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBfT0ZGU0VUIGFuZCBfT0ZGU0VUX0VORCBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTEyLTE3IDEyOjQ0OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhYy5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2ZsYWNwYXJzZScgaW50byBpdAoKMjAwOS0xMi0xNiAxODozODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgZGVmYXVsdCBjb252ZXJzaW9uIHVzaW5nIGJwcyBpZiBubyBmcHMgYXZhaWxhYmxlCgkgIEFsc28gc3RvcmUgZXN0aW1hdGVkIGR1cmF0aW9uIGFzIHN1Y2gsIHJhdGhlciB0aGFuIHByZXRlbmRpbmcgb3RoZXJ3aXNlCgkgIChlLmcuIHNldCBieSBzdWJjbGFzcykuCgoyMDEwLTAxLTA0IDEwOjIzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEZpeCBpbmRlbnRpb24KCjIwMDktMTItMjkgMTc6Mjg6MDYgKzAyMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogQWxsb3cgMS0yIGNoYW5uZWxzIGZvciAxNiBhbmQgMzIgYml0IGRlcHRocywgbm90IG9ubHkgZm9yIDggYml0cy4KCSAgRml4ZXMgYnVnICM2MDU3MjEuCgoyMDA5LTEyLTI5IDE2OjA3OjU5ICswMjAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgbW9kcGx1ZzogQWxsb3cgMzIgYml0IGRlcHRoLCBtb2RwbHVncyBuYXRpdmUgZm9ybWF0LgoJICBGaXhlcyBidWcgIzYwNTcyMC4KCjIwMTAtMDEtMDIgMTc6MzM6NTcgKzAxMDAgIEFybmF1ZCBQYXRhcmQgPGFybmF1ZC5wYXRhcmRAcnRwLW5ldC5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgZWFjMyBpbiBQTVQKCSAgV2hlbiB0aGUgc3RyZWFtIHR5cGUgaXMgc2V0IHRvIHByaXZhdGUgZGF0YSwgZ3N0LW1wZWd0c2RlbXV4IGlzIHRyeWluZyB0byBmaW5kCgkgIGF1ZGlvIGRlc2NyaXB0b3JzIGluIFBNVCBhbmQgbG9vayBmb3IgQUMzICh0YWcgMHg2YSkgYnV0IGRvZXNuJ3QgbG9vayBmb3IgRUFDMwoJICAodGFnIDB4N2EpLiBIYW5kbGUgdGhpcyBjYXNlIHRvby4KCSAgRml4ZXMgYnVnICM2MDU5MDQuCgoyMDA5LTEyLTMwIDIxOjUwOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNhcHMgaGFuZGxpbmcgaW4gX3VwZGF0ZV9zcmNfY2Fwcy4KCjIwMDktMTItMjggMTE6MzQ6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWxzbyBhZGQgLmggZmlsZSBjaGFuZ2VzIHRvIHVuYnJlYWsgdGhlIGJ1aWxkCgoyMDA5LTEyLTI3IDIzOjUxOjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjb3JyZWN0IG5hbWVzIGZyb20gdGVtcGxhdGUgZm9yIHJlcXVlc3QgcGFkcwoJICBUaGUgcGFkcyB3aGVyZSBuYW1lcyBwYWQwLCBwYWQxLCAuLi4KCjIwMDktMTItMjcgMjM6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogbW92ZSBlcnJvcnMgX25ld19wYWQgdG8gdGhlIGVuZAoKMjAwOS0xMi0yMSAxOToxMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3Y2IyM2EgdG8gMTRjZWM4OQoKMjAwOS0xMi0yMSAxMzo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjY2VwdCBub24tcGFpcmVkIHVpbnQgdGFncwoJICBBZGRzIHN1cHBvcnQgZm9yIHVucGFpcmVkIHVuc2lnbmVkIGludGVyZ2VyIHRhZ3MKCjIwMDktMTItMjEgMTI6MDU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgTWFwcyBtb3JlIHRhZ3MgdGhhdCBhcmUgYWxyZWFkeSBwb3N0ZWQgYnkgcXRkZW11eAoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTE4IDE2OjE2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogb25seSByYXcgb3V0cHV0IG5lZWRzIGNvZGVjX2RhdGEgaW4gY2FwcwoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxMTowNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogSW50ZXJuYWwgc2luayBpbXByb3ZlbWVudHMKCSAgRG9lcyBzb21lIGdlbmVyYWwgaW1wcm92ZW1lbnRzIHdpdGggdGhlIGludGVybmFsIHNpbmsgaGFuZGxpbmcuCgkgIDEpIERvIG5vdCByZW1vdmUgYW5kIHJlLWFkZCB0aGUgZ2hvc3RwYWQgd2hlbiBjaGFuZ2luZwoJICBpbnRlcm5hbCBzaW5rCgkgIDIpIE9ubHkgaW5zdGFudGlhdGUgdGhlIGRlZmF1bHQgc2luayB3aGVuIGNoYW5naW5nIGZyb20gTlVMTAoJICB0byBSRUFEWSBpZiB0aGVyZSBpcyBubyBvdGhlciBhdmFpbGFibGUKCSAgMykgQXZvaWQgY2hhbmdpbmcgdGhlIGludGVybmFsIHNpbmsgaWYgbm90IG9uIE5VTEwgc3RhdGUKCSAgRml4ZXMgIzU5ODY4MgoKMjAwOS0xMi0xNyAwNzo1NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogTWlub3IgZml4ZXMKCSAgRG93bmdyYWRlIGEgd2FybmluZyBtZXNzYWdlIHRvIGRlYnVnLiBSZW1vdmUgYW4KCSAgYWxyZWFkeSBmaXhlZCBGSVhNRSBhbmQgYWRkIGEgbm90ZSBhYm91dCAobm90LSl1c2luZwoJICBmcHNkaXNwbGF5c2luayBpbiBhdXRvdmlkZW9zaW5rLiBDaGFuZ2UgdGhlIGNyZWF0ZWQKCSAgZ2hvc3RwYWQgdG8gdXNlIHRoZSBuYW1lICJzaW5rIiBhcyBpdCBpcyBhZHZlcnRpc2VkIGluCgkgIHRoZSBwYWQgdGVtcGxhdGUuCgoyMDA5LTEyLTE3IDE0OjQ2OjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xNyAwMTowNToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHRyeSB0byBmaXggJ21ha2UgZGlzdCcgd2hlbiBjb2cgaXMgbm90IGluc3RhbGxlZAoKMjAwOS0xMi0xNiAxODozMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IHNldHRpbmcgc3luYyBvbiBjaGlsZCBiaW4KCSAgVXNlIEdTVF9JU19CSU4gaW5zdGVhZCBvZiBHX09CSkVDVF9UWVBFIHRvIGNoZWNrIGlmIHRoZQoJICBpbnRlcm5hbCBzaW5rIGlzIGEgYmluLiBVc2luZyB0aGUgbGF0ZXIgd29uJ3Qgd29yayB3aGVuCgkgIHRoZSBzaW5rIGlzIG5vdCBhIGJpbiBkaXJlY3RseSAoYnV0IGluaGVyaXRzIGZyb20gb25lLCBsaWtlCgkgIGF1dG92aWRlb3NpbmspLgoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTE1IDEzOjA4OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBjaGVjayB0aGUgc3luYyBwcm9wZXJ0eSBleGlzdHMgb24gZW1iZWRkZWQgc2luayhzKQoJICBGb2xsb3ctdXAgb24gNDExMWQ2MzIxZjE0MGViNzc5MDYyMGFiNDJlNWNmMWQ5NDEzYjU2YSwgdGhlIHZpZGVvCgkgIHNpbmsocykgdXNlZCBieSBmcHNkaXNwbGF5c2luayBtaWdodCBub3QgaGF2ZSB0aGUgc3luYyBwcm9wZXJ0eS4gU28gd2UKCSAgY2hlY2sgaXRzIGV4aXN0ZW5jZSB0byBhdm9pZCB3YXJuaW5nIGZyb20gZ19vYmplY3Rfc2V0KCkgYXQgcnVudGltZS4KCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xMCAyMjoyMDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgbW9yZSBvZiBqMmsKCSAgUmVhZHMgdGhlIG5ldyBjYXBzIGFkZGVkIHRvIHF0ZGVtdXggYnkgY29tbWl0CgkgIGM5MTdkNjVlNmRmMGI1ZDU4NWY5MDVjN2FkNzhhOGEwYTQ0YjJjYjAKCSAgYW5kIGFkZHMgaXRzIGNvcnJlc3BvbmRpbmcgYXRvbXMuCgkgIEFsc28gYWRkcyBzdXBwb3J0IGZvciBpbWFnZS94LWpwYyBhcyBpdCBpcyB0aGUgc2FtZQoJICBhcyBpbWFnZS94LWpwMiwgZXhjZXB0IHRoYXQgdGhlIGJ1ZmZlcnMgbmVlZCB0byBiZQoJICBib3hlZCBpbnNpZGUgYSBqcDJjIGlzb20gYm94IGJlZm9yZSBtdXhpbmcuIFRvIHNvbHZlCgkgIHRoaXMgdGhlIFFUUGFkcyBub3cgaGF2ZSBhIGZ1bmN0aW9uIHRoYXQgKGlmCgkgIG5vdCBOVUxMKSBpcyBjYWxsZWQgd2hlbiBhIGJ1ZmZlciBpcyBjb2xsZWN0ZWQuIFRoaXMKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHJlcGxhY2VtZW50IHRvIHRoZSBjdXJyZW50IGNvbGxlY3RlZAoJICBidWZmZXIuCgkgIEZpeGVzICM1OTg5MTYKCjIwMDktMTItMTQgMTY6MTY6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiBUYWJsZSBnZW5lcmF0aW9uIHV0aWxpdHkgbmVlZHMgdG8gbGluayB0byAtbG0gdG9vCgoyMDA5LTEyLTE0IDE2OjA4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9jb2cub3JjOgoJICBjb2c6IERvbid0IGJ1aWxkIG9yY19tZW1jcHkoKSBhbmQgZGVwZW5kIG9uIG9yYyA+PSAwLjQuMyBmb3Igb3JjX21lbWNweSgpCgkgIEluIHRoZSBsYXRlc3QgcmVsZWFzZSB0aGlzIGZ1bmN0aW9uIGlzIGFscmVhZHkgZGVmaW5lZC4KCjIwMDktMTItMTAgMTY6NTM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBNYXBzICdjbGFzc2lmaWNhdGlvbicgdGFnIGZvciAzZ3BwIGZpbGVzCgkgIEFkZHMgdGhlIG1hcHBpbmcgb2YgJ2NsYXNzaWZpY2F0aW9uJyB0YWdzIHRvIHdyaXRpbmcgb2YKCSAgJ2Nsc2YnIGF0b21zIGZvciBncHBtdXguCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCjIwMDktMTItMTAgMjI6NDk6MTMgLTAzMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGV4cG9zZSB2aWRlbyBzaW5rIHVzaW5nIGEgcHJvcGVydHkKCSAgRXhwb3NlcyB0aGUgaW50ZXJuYWxseSB1c2VkIHNpbmsgYXMgdmlkZW8tc2luayBwcm9wZXJ0eSBhbmQKCSAgbWFrZXMgdGhlIGRlZmF1bHQgb25lIHRvIGJlIGF1dG92aWRlb3NpbmsgaW5zdGVhZCBvZgoJICB0aGUgaGFyZGNvZGVkIHh2aW1hZ2VzaW5rCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTEgMTY6MzI6NDggLTA4MDAgIFBldGVyIHZhbiBIYXJkZW5iZXJnIDxwdmhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBhZGQgbmV3IGFkcGNtIGVuY29kZXIgZWxlbWVudC4KCjIwMDktMTItMTEgMTA6MjU6MTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IGEgZm9ybWF0IHN0cmluZyBhcyByZXBvcnRlZCBvbiBpcmMuCgoyMDA5LTEyLTEwIDEwOjEwOjE1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogbWFrZSBwb3dlciBvZiAyIG1vcmUgYWNjdXJhdGUuCgoyMDA5LTEyLTEwIDEyOjU2OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNhcHMgcGFyYW1ldGVycyBzZXR0aW5nCgkgIEFsc28gY29uc2lkZXIgUFBTIHdoZW4gc2VsZWN0aW5nIFNQUyB0byBwaWNrIHBhcmFtZXRlcnMgZnJvbS4KCSAgT25seSB1cGRhdGUgY2FwcyB3aGVuIHNldHRpbmdzIGFjdHVhbGx5IGNoYW5nZWQsIGFuZCB3aGVuIHRoZXNlIGFyZSB2YWxpZC4KCjIwMDktMTItMDggMTg6NTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBpdm9yYmlzOiBhbHNvIGNhdGVyIGZvciB0cmFkaXRpb25hbCAxNi1iaXQgd2lkdGggc2FtcGxlIG91dHB1dAoKMjAwOS0xMi0xMCAxMDo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERvbid0IGRvIHBvaW50ZXIgZGVyZWZlcmVuY2VzIGluIHRoZSBwcm9jZXNzaW5nIGxvb3AKCSAgTG93ZXJzIHRoZSB0aW1lIHRha2VuIHRoZXJlIGluIG15IHRlc3RjYXNlIGZyb20gNi45MSUgdG8gNi4yMCUKCSAgYXMgbWVhc3VyZWQgYnkgY2FsbGdyaW5kLgoKMjAwOS0xMS0xOCAxNjozODozMyArMDEwMCAgdW5rbm93biA8aGF2YXJkLmdyYWZmQC5ldS50YW5kYmVyZy5pbnQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSB0aGUgY3VycmVudF9zc3JjIGZyb20gdGhlIGNhcHMKCSAgRml4ZXMgIzYwNDEwMQoKMjAwOS0xMi0wOSAxNDo0MjoyMSArMDEwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVsZWFzZSBwYWRzIHdoZW4gZGlzcG9zaW5nCgkgIEJlY2F1c2Ugb2YgYW4gYWxsb2NhdGVkIHByaXYgKEdzdFJUUE11eFBhZFByaXZhdGUpLCB0aGUgZWxlbWVudCB3aWxsCgkgIGxlYWsgbWVtb3J5IGlmIG5vdCBnc3RfcnRwX211eF9yZWxlYXNlX3BhZCgpIGlzIGNhbGxlZC4gVGhpcyB3b3VsZAoJICBwcmV2aW91c2x5IG9ubHkgaGFwcGVuIGlmIHJlbGVhc2VfcmVxdWVzdF9wYWQoKSB3YXMgY2FsbGVkIGV4cGxpY2l0bHksCgkgIHNvbXRoaW5nIHRoYXQgc2hvdWxkIG5vdCBiZSBuZWNjZXNhcnkuCgkgIEZpeGVzICM2MDQwOTkKCjIwMDktMTItMDkgMTM6NDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgZHRtZm11eDogbWV0aG9kIG5hbWUgY2xlYW51cHMKCjIwMDktMTItMDkgMDk6NTc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXBsZW1lbnQgc3JjcGFkIHF1ZXJ5IGZ1bmN0aW9uIHRvIGFsd2F5cyBmb3J3YXJkIHRvIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTEyLTA5IDA5OjU1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUHJveHkgYnVmZmVyIGFsbG9jYXRpb24gb24gdmlkZW8gc2lua3BhZCB0byB0aGUgc3JjcGFkCgkgIC4uLmFuZCBhZGQgZ2V0Y2FwcyBmdW5jdGlvbiB0byB0aGUgdmlkZW8gc2lua3BhZC4KCjIwMDktMTItMDkgMDk6NTE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXBsZW1lbnQgc3JjcGFkIGV2ZW50IGZ1bmN0aW9ucyBmb3Igc2Vla2luZyBhbmQgY29ycmVjdCBldmVudCBmb3J3YXJkaW5nCgkgIENvcGllZCBmcm9tIHRleHRvdmVybGF5LgoKMjAwOS0xMi0wOCAxNzo1OTowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgYysrIGNvbW1lbnRzIGFuZCBhZGQgc29tZSBtb3JlIGNvbW1lbnRzLgoKMjAwOS0xMi0wOCAxNzo1NTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGltYSBhZHBjbSBzdXBwb3J0CgoyMDA5LTEyLTA4IDE3OjU1OjEzIC0wODAwICBTdGVwaGVuIE1jTmFtYXJhIDxzdGV2ZS5tY25hbWFyYUB1bHRyYS1zbWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGRvbid0IGxlYWsgZmlsdGVyX21lZGlhX2V2ZW50CgoyMDA5LTExLTIzIDE2OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGZvciBwYXJzaW5nCgoyMDA5LTEwLTI5IDE1OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGV4dHJhY3QgYW5kIHVzZSBzb21lIG1vcmUgZGV0YWlscyBmb3IgRW5oYW5jZWQgQWMtMyBzdHJlYW1zCgoyMDA5LTEwLTI5IDE1OjE4OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY3VzdG9tIGJ1ZmZlcmZsYWcgaW5kaWNhdGVzIG5vdCB0byBjb3VudCBmcmFtZSBpbiBzdGF0cwoKMjAwOS0xMC0yOCAxNDowODo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDA5LTEwLTI4IDE0OjA3OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGluZm9ybSBiYXNlIHBhcnNlciBvZiBmcmFtZSBkdXJhdGlvbgoKMjAwOS0xMC0yNyAxNjoxNjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIHNyYyBjYXBzIHNldHRpbmdzCgoyMDA5LTExLTI3IDE3OjU5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYzNwYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIE1BUkdJTkFMIHJhbmsgZm9yIG5vdzsgbWlnaHQgdGFrZSBzb21lIHRpbWUgZm9yIHNvbWUgKHVzZWZ1bCkKCSAgZnJhbWVkPXRydWUvZmFsc2UgdG8gYXBwZWFyIGhlcmUgYW5kIHRoZXJlLgoKMjAwOS0xMS0yNiAxODozNDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTExLTI2IDE4OjE1OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2FtcnBhcnNlJyBpbnRvIGl0CgoyMDA5LTExLTI3IDE3OjI3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmZXJlbmNlIEdzdEJhc2VQYXJzZSBub3cgbGl2ZXMgaGVyZQoKMjAwOS0xMS0yOCAxODoxMzozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYWFjcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSAnYWFjcGFyc2UnIHBsdWdpbiB0byBnZW5lcmljICdhdWRpb3BhcnNlcnMnIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvcGx1Z2luLmM6CgkgIGFhY3BhcnNlOiBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uIGFuZCByZW5hbWUgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgYmVmb3JlIGFjY2Vzc2luZwoKMjAwOS0xMS0wNSAxNDozMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMC0yOSAxNToxOTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeHVwIGNvbW1lbnRzIHRvIEMtc3R5bGUKCjIwMDktMTAtMjkgMTY6MDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlc2V0IHBhc3N0aHJvdWdoIG1vZGUgdG8gZGVmYXVsdCAoZGlzYWJsZWQpIG9uIGFjdGl2YXRpb24KCjIwMDktMTAtMjkgMTU6MTY6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUKCjIwMDktMTAtMjggMTQ6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogZml4L2VuaGFuY2UgRElTQ09OVCBtYXJraW5nCgkgIEluIHBhcnRpY3VsYXIsIGNvbnNpZGVyIERJU0NPTlQgPT0gIXN5bmMsIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBxdWVyeQoJICBzeW5jIHN0YXRlLCBhcyBpdCBtYXkgd2FudCB0byBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIHN5bmMgd2FzIGFjaGlldmVkIGVhcmxpZXIgb24uCgkgIEFsc28gYXJyYW5nZSBmb3Igc3ViY2xhc3MgdG8gcXVlcnkgd2hldGhlciBsZWZ0b3ZlciBkYXRhIGlzIGJlaW5nIGRyYWluZWQuCgoyMDA5LTExLTIzIDE1OjQ4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCB0aW1lc3RhbXAgaGFuZGxpbmcsIGFuZCBkZWZhdWx0IGNvbnZlcnNpb24KCSAgSW4gcGFydGljdWxhciwgKG9wdGlvbmFsbHkpIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggYSBub3Rpb24gb2YgZnJhbWVzIHBlciBzZWNvbmQKCSAgKGFuZCB0aGVyZWZvcmUgYWxzbyBmcmFtZSBkdXJhdGlvbikgYW5kIGhhdmUgaXQgdHJhY2sgZnJhbWUgYW5kIGJ5dGUgY291bnRzLgoJICBUaGlzIHdheSwgc3ViY2xhc3MgY2FuIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggZnBzIGFuZCBoYXZlIGl0IHByb3ZpZGUgZGVmYXVsdAoJICBidWZmZXIgdGltZSBtZXRhZGF0YSBhbmQgY29udmVyc2lvbnMsIHRob3VnaCBzdWJjbGFzcyBjYW4gc3RpbGwgaW5zdGFsbAoJICBjYWxsYmFja3MgdG8gaGFuZGxlIHN1Y2ggaXRzZWxmLgoKMjAwOS0xMC0yOCAxMjowMjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAwOS0xMC0yOCAxMjowMDowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlX2ZpeGVkX2NhcHMgZm9yIHNyYyBwYWQKCSAgQWZ0ZXIgYWxsLCBzdHJlYW0gaXMgYXMtaXMsIGFuZCB0aGVyZSBpcyBsaXR0bGUgbW9sZGluZyB0byBkb3duc3RyZWFtJ3MKCSAgdGFzdGUgdGhhdCBjYW4gYmUgZG9uZS4gIElmIHN1YmNsYXNzIGNhbiBhbmQgd2FudHMgdG8gZG8gc28sIGl0IGNhbgoJICBzdGlsbCBvdmVycmlkZSBhcyBzdWNoLgoKMjAwOS0xMi0wOCAxNDo0NjozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogQWRkIGRvY3MgYW5kIGludGVncmF0ZSBpbnRvIHRoZSBkb2NzIGJ1aWxkIHN5c3RlbQoKMjAwOS0xMi0wOCAxNDowNjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEZvciBzeW5jaHJvbml6aW5nIHRoZSB0ZXh0LCB0YWtlIHRoZSB2aWRlbyBydW5uaW5nIHRpbWUgb2YgdGhlIG5leHQgZnJhbWUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgbGliYXNzIGFscmVhZHkgaGFzIGFsbCB0ZXh0IGJ1ZmZlcnMgZm9yIHRoZSBuZXh0IGZyYW1lCgkgIGF0IHRoZSB0aW1lIHdoZW4gdGhlIG5leHQgZnJhbWUgaXMgcHJvY2Vzc2VkLiBXaXRob3V0IHRoaXMgdGV4dCBidWZmZXJzCgkgIG1pZ2h0IGJlIG9uZSBmcmFtZSBsYXRlIG9yIG5vdCBzaG93biBhdCBhbGwgaWYgdGhleSdyZSBvbmx5IHNob3duIGZvciBhCgkgIHNpbmdsZSBmcmFtZS4KCjIwMDktMTItMDggMTE6MjY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggSTQyMCBtb2RlIGFuZCBlbmFibGUgaXQKCjIwMDktMTItMDggMTE6MjU6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBsaWJhc3MgdmVyc2lvbnMKCjIwMDktMTItMDcgMTA6MjE6MzIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBzcGVsbCB0aGluZ3MgbW9yZSBiZXR0ZXJlci4KCjIwMDktMTItMDcgMTA6MDk6MTkgLTA4MDAgIFN0ZXBoZW4gTWNOYW1hcmEgPHN0ZXZlLm1jbmFtYXJhQHVsdHJhLXNtbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IGFkZCB2aXJ0dWFsIGRlc3RydWN0b3IgZm9yIGludGVybmFsIGhlbHBlciBjbGFzcy4KCjIwMDktMTItMDcgMTg6MzU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCB1bnJlZiBidWZmZXJzIHR3aWNlCgoyMDA5LTEyLTA3IDE4OjMwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBlbWJlZGRlZCBmb250IHVzYWdlCgkgIEZvciB0aGlzIGFkZCBzb21lIG5ldyBtaW1ldHlwZXMgYW5kIGFsc28gY2hlY2sgdGhlIGZpbGVuYW1lIGV4dGVuc2lvbi4KCSAgRml4ZXMgYnVnICM2MDM5MzguCgoyMDA5LTEyLTA3IDE4OjAzOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRGlzYWJsZSBJNDIwIHN1cHBvcnQgZm9yIG5vdywgaXQgZG9lc24ndCB3b3JrIHJlbGlhYmxlIHlldAoKMjAwOS0xMi0wNyAxNzowNDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCBzdXBwb3J0IGZvciBJNDIwCgoyMDA5LTEyLTA3IDE1OjMxOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogT3B0aW1pemUgYmxpdCBmdW5jdGlvbiBhbmQgYWRkIHN1cHBvcnQgZm9yIGFsbCBvdGhlciBub24tYWxwaGEgUkdCIGZvcm1hdHMKCSAgQWxzbyBtYWtlIHN1cmUgdG8gbm90IHdyaXRlIGJlaGluZCBhcnJheSBib3VuZHMuCgoyMDA5LTEyLTA3IDE0OjM1OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGF0dGFjaG1lbnQgdGFnIGhhbmRsaW5nIGFuZCBtb3ZlIGl0IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgoJICAuLi50byBwcmV2ZW50IGNvZGUgZHVwbGljYXRpb24uCgoyMDA5LTEyLTA3IDE0OjI2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVXBkYXRlIHRleHQgbGFzdCBzdG9wIGFmdGVyIGNoZWNraW5nIGlmIHRpbWVzdGFtcC9kdXJhdGlvbiBpcyB2YWxpZAoKMjAwOS0xMi0wNyAxNDoyMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIGFuIEFTUyB0cmFjayB3YXMgYWxsb2NhdGVkIGFscmVhZHkgb25seSBmZWVkIG5ldyBjb2RlY19kYXRhIHRvIGl0IGluc3RlYWQgb2YgcmVjcmVhdGluZwoKMjAwOS0xMi0wNyAxNDowNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IExvdHMgb2YgcmFuZG9tIGNsZWFudXAgYW5kIHNvbWUgbWlub3IgbWVtbGVhayBmaXhlcwoKMjAwOS0xMi0wNyAxMzo0MDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEV4dHJhY3QgZW1iZWRkZWQgZm9udHMgZnJvbSB0aGUgc3VidGl0bGUgc3RyZWFtcyBpZiByZXF1ZXN0ZWQKCjIwMDktMTItMDcgMTM6MjY6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCBsZXQgbGliYXNzIHByaW50IHN0dWZmIG9uIHN0ZGVyciBidXQgcHJveHkgdGhlIG1lc3NhZ2VzIHRvIHRoZSBHU3RyZWFtZXIgZGVidWdnaW5nIHN5c3RlbQoKMjAwOS0xMi0wNSAxMToyNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgYXBleHNpbms6IGNsZWFuIHVwIGFuZCBmaXggY29uZmlndXJlIGxvZ2ljIGFuZCBNYWtlZmlsZS5hbQoJICBDaGVjayBmb3Igb3BlbnNzbCBhbmQgbGliY3J5cHRvIHVzaW5nIHBrZy1jb25maWcgYW5kIGRvbid0IGJ1aWxkIHRoZQoJICBwbHVnaW4gaWYgdGhvc2UgYXJlIG5vdCBhdmFpbGFibGUuIEFsc28sIGZpeCB0aGUgQ0ZMQUdTL0xJQlMgb3JkZXIKCSAgaW4gTWFrZWZpbGUuYW0gYW5kIHVzZSB0aGUgZGV0ZWN0ZWQgTElCUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nCgkgIC1sY3J5cHRvIGluIHRoZSBNYWtlZmlsZS5hbS4gU2hvdWxkIGZpeCAjNjAxNDE3LgoKMjAwOS0xMi0wMSAxNTowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg3YmY0MjggdG8gNDdjYjIzYQoKMjAwOS0xMi0wMSAxNDowOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCBBR19HU1RfUExBVEZPUk0gZm9yIEdTVF9FWFRSQV9NT0RVTEVfU1VGRklYCgkgIFRoaXMgaXMgdXNlZCBpbiB0aGUgZnJlaTByIHBsdWdpbiBhbHJlYWR5IGJ1dCBuZXZlciBkZWZpbmVkIGFueXdoZXJlLgoJICBGaXhlcyBidWcgIzYwMjUyNC4KCjIwMDktMTItMDEgMTQ6MTc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYTRjNzVjIHRvIDg3YmY0MjgKCjIwMDktMTEtMjcgMTg6NTU6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDUzYTI0ODUgdG8gZGE0Yzc1YwoKMjAwOS0xMS0yNyAxNDozODowNCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkgIGNhbWVyYWJpbjogcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnRpZXMuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWxseSkKCSAgQWRkZWQgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgaW1wbGVtZW50ZWQKCSAgdGhlbSBpbiBjYW1lcmFiaW4uIENoYW5nZWQgem9vbWluZyB0byBjaGVjayBpZiB2aWRlby1zb3VyY2UgaGFzCgkgIHpvb20gcHJvcGVydHkuCgoyMDA5LTAyLTIzIDIzOjE4OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBBZGQgcGtnY29uZmlnIGZpbGVzIGZvciBwaG90b2dyYXBoeSBpbnRlcmZhY2UgbGlicmFyeS4KCjIwMDktMTAtMjggMTI6NDc6MTkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCBmbGFncyBwcm9wZXJ0eS4gRml4ZXMgIzU3MzM3MCAocGFydGlhbGx5KQoJICBBZGRzIGZsYWdzIHByb3BlcnR5IHRvIGVuYWJsZSBydW50aW1lIGNvbmZpZ3VyYXRpb24gb2YKCSAgY29udmVyc2lvbiBhbmQgc2NhbGluZyBlbGVtZW50cy4gQWxzbyBhZGRzIGZsYWcgZm9yIGRpc2FibGluZwoJICBhdWRpbyBjb21wbGV0ZWx5LgoKMjAwOS0xMC0yNyAxNjoyODoyNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSB0aW1lb3ZlcmxheSBidWlsZC10aW1lIGRlZmluaXRpb24KCjIwMDktMTEtMjYgMTU6MzM6MzIgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBmaXggYnVpbGQKCjIwMDktMTEtMjUgMjE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBsYWNlIF9zY2FsZSB3aXRoIF9zY2FsZV9yb3VuZAoJICBVc2UgdGhlIHJvdW5kaW5nIHZlcnNpb24gZm9yIGltcHJvdmVkIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoJICBTbWFsbCB2YXJpYXRpb25zIGluIHRoZSBkdXJhdGlvbiB3aGVuIG11eGluZyBtaWdodCBsZWFkIHRvCgkgIGN1bXVsbGF0aXZlIHdyb25nIHRpbWVzdGFtcGluZyB3aGVuIGRlbXV4aW5nLgoJICBGaXhlcyAjNjAyOTM2CgoyMDA5LTExLTI0IDE2OjE2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcHMgZm9yIG11eGluZwoJICBUcnkgdG8gdXNlIHRpbWVzdGFtcHMgZXZlbiB3aGVuIHRoZSBzdHJlYW0gaGFzIG91dCBvZiBvcmRlcgoJICB0aW1lc3RhbXBzLCBvbmx5IGZhbGwgYmFjayB0byBkdXJhdGlvbnMgd2hlbiB3ZSBkZXRlY3QgYW4KCSAgb3V0IG9mIG9yZGVyIGJ1ZmZlci4gSW1wcm92ZXMgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgoyMDA5LTExLTI0IDE0OjM0OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgbWV0YWRhdGE6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAwOS0xMS0xOCAxMTozODo1MCArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgTWF0ZXUgPHhxdWVyYWx0QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRXhwb3NlIGxhbmcgY29kZXMgaW4gcG10CgoyMDA5LTExLTIyIDE5OjMwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogb3B0aW9uYWwgdHJhbnNmb3JtaW5nIGZyb20gYnl0ZXN0cmVhbSB0byBzYW1wbGUgZm9ybWF0IChvciB2aWNlIHZlcnNhKQoKMjAwOS0xMS0yMCAxODozMTozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmFjdG9yIGEgYml0IGludG8gYSByZXNldCBmdW5jdGlvbgoKMjAwOS0xMS0yMCAxODo0OTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHByb3ZpZGUgdy9oIGZyb20gc3RyZWFtIGluIHNyYyBjYXBzIGlmIG5vdCBpbiBzaW5rIGNhcHMKCjIwMDktMTEtMDYgMTI6NTg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwYXJzZSBTUFMgc29tZSBtb3JlIChlLmcuIGZvciB3aWR0aC9oZWlnaHQpCgoyMDA5LTExLTIyIDE5OjM0OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogb3B0aW9uYWxseSBvdXRwdXQgQVVzIHJhdGhlciB0aGFuIE5BTFVzCgkgIFRoYXQgaXMsIEFjY2VzcyBVbml0cyAoZnJhbWVzL2ZpZWxkcykgaW5zdGVhZCBvZiAocG9zc2libHkpIHBhcnRzIHRoZXJlb2YuCgoyMDA5LTExLTIzIDEwOjMyOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogcmVtb3ZlIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmMKCjIwMDktMTEtMjMgMDk6MzU6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBwcmUtcmVsZWFzZT0+Z2l0CgoyMDA5LTExLTIzIDA5OjE3OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJICB2ZHBhdTogRml4IGluY2x1ZGVzCgoyMDA5LTExLTIyIDIyOjU0OjI3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogY29udmVydCB0byAxLzEgcGl4ZWwtYXNwZWN0LXJhdGlvIGZvciByZ2IgdG9vCgoyMDA5LTExLTIyIDIyOjM0OjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBpbnRlcnNlY3QgYWxsb3dlZCBjYXBzIHdpdGggb3VyIHRlbXBsYXRlIGNhcHMKCjIwMDktMTEtMjIgMjI6MzE6MzggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXU6IGZpeCBnc3RfdmRwX1t2aWRlb3x5dXZdX3RvX291dHB1dF9jYXBzIHRvIGFsc28gYWRkIHJnYiBjYXBzCgoyMDA5LTExLTIyIDIyOjMwOjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiB1c2UgR3N0VmRwVmlkZW9TcmNQYWQKCjIwMDktMTEtMjIgMjI6Mjk6NTggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSAgdmRwYXU6IGFkZCBmdW5jdGlvbnMgdG8gR3N0VmRwT3V0cHV0QnVmZmVyIG5lZWRlZCBmb3IgcmdiIGRvd25sb2FkCgoyMDA5LTExLTIyIDIyOjI4OjE4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgR3N0UGFkIHN1YmNsYXNzIEdzdFZkcE91dHB1dFNyY1BhZAoJICBHc3RWZHBPdXRwdXRTcmNQYWQgaXMgYSBzdWJjbGFzcyBvZiBHc3RQYWQgdGhhdCBpcyB1c2VkIGZvciBwdXNoaW5nIG91dAoJICBHc3RWZHBPdXRwdXRCdWZmZXJzLiBJdCB0YWtlcyBjYXJlIG9mIGNhcHMgbmVnb3RpYXRpb24gYW5kIGNvbnZlcnNpb24gdG8KCSAgdmlkZW8veC1yYXctcmdiLgoKMjAwOS0xMS0yMiAyMjoyNDoxMiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IGFkZCAidGVtcGxhdGUtY2FwcyIgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGxpbWl0cyB0aGUgYXZhaWxhYmxlIG91dHB1dCBjYXBzCgoyMDA5LTExLTIyIDIyOjE4OjU1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkgIGdzdHZkcHZpZGVvYnVmZmVyOiBmaXggdHlwbwoKMjAwOS0xMS0yMSAwMjo1MTozOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IHJlcGxhY2UgZ2V0X3BhZF90ZW1wbGF0ZSgpIHdpdGggZ2V0X3RlbXBsYXRlX2NhcHMoKQoKMjAwOS0xMS0yMSAwMToxMDo1MCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IGRvbid0IHJlY3JlYXRlIGNhcHMgaW4gZ2V0Y2FwcwoKMjAwOS0xMS0yMSAwMDoxMzo0NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgR3N0UGFkIHN1YmNsYXNzIEdzdFZkcFZpZGVvU3JjUGFkCgkgIEdzdFZkcFZpZGVvU3JjUGFkIHRha2VzIGNhcmUgb2YgY2FwcyBuZWdvdGlhdGlvbiBhbmQgY29udmVyc2lvbiBvZgoJICBHc3RWZHBWaWRlb0J1ZmZlcnMgdG8gdGhlIG5lZ290aWF0ZWQgb3V0cHV0IGZvcm1hdC4KCjIwMDktMTAtMjcgMjI6MDQ6MTAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiByZXdvcmsgcHJlc2VudGF0aW9uIGJsb2NraW5nIGEgYml0CgkgIGluc3RlYWQgb2YgYmxvY2tpbmcgdW50aWwgdGhlIHByZXZpb3VzIHN1cmZhY2UgaGFzIGJlZW4gZGlzcGxheWVkLCB3ZSBuZXcgb25seQoJICBhZGQgc3VyZmFjZXMgdG8gdGhlIHF1ZXVlIGlmIGl0J3MgaWRsZS4KCjIwMDktMTAtMjcgMjE6MTg6MDQgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHNwbGl0IHVwIGNoYWluIGZ1bmN0aW9uCgoyMDA5LTEwLTI3IDIwOjU3OjA1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBpbXBsZW1lbnQgYmFzaWMgcW9zIGhhbmRsaW5nCgoyMDA5LTEwLTE2IDAwOjE2OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgZGlzcGxheSBwcm9wZXJ0eQoKMjAwOS0xMC0wOCAyMzozODoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSAgdmRwYXU6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDA5LTEwLTA4IDIwOjI1OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXU6IHVzZSBsb2NhbCBsaWJnc3R2ZHAgaGVhZGVycwoKMjAwOS0xMC0wOCAyMDoyMzozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbW92ZSBub3cgdW5uZWVkZWQgdmRwYXV2aWRlb3l1diBhbmQgdmRwYXV5dXZ2aWRlbyBlbGVtZW50cwoKMjAwOS0xMC0wOCAyMDoxOTo1NyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIGRpc3BsYXkgcHJvcGVydHkKCjIwMDktMTAtMDggMjA6MTM6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGFkZCBkZWJ1ZyBvdXRwdXQKCjIwMDktMTAtMDggMjA6MTM6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy15dXYgaW5wdXQKCjIwMDktMTAtMDcgMTA6MjU6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBzcmNfZ2V0Y2FwcyBmdW5jCgkgIHRoaXMgd2F5IHdlIGNhbiByZXR1cm4gb25seSB0aGUgY2FwcyB3ZSByZWFsbHkgc3VwcG9ydCwgc2luY2Ugd2UncmUgYWJsZSB0byBxdWVyeSB2ZHBhdQoJICBhYm91dCBpdAoKMjAwOS0xMC0wNyAwMDoxMzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgc3VwcG9ydCBmb3IgbmVnb3RhdGlvbiBvZiB4LXJhdy15dXYgb3V0cHV0CgoyMDA5LTEwLTA0IDE5OjI3OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogY3JlYXRlIGEgbGliZ3N0dmRwIGxpYnJhcnkuCgkgIFRoZSBsaWJyYXJ5IGNvbnRhaW5zIEdzdFZkcERldmljZSBHc3RWZHBWaWRlb0J1ZmZlciBhbmQgR3N0VmRwT3V0cHV0QnVmZmVyLiBUaGUKCSAgbGlicmFyeSB3aWxsIChhcGFydCBmcm9tIHRoZSBwbHVnaW5zIGhlcmUpIGJlIHVzZWQgYnkgdGhlIHVwY29taW5nIGdzdC1mZm1wZWcKCSAgdmRwYXUgc3VwcG9ydC4KCjIwMDktMTAtMDMgMTQ6MzA6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGNoZWNrIGZvciBzaW5rIGVsZW1lbnQgcmV0dXJuaW5nIHdyb25nIGJ1ZmZlciB0eXBlCgoyMDA5LTEwLTAyIDAxOjA0OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogcmVtb3ZlIHVubmVlZGVkIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2FkZF9yZWZlcmVuY2UgZnVuY3Rpb24KCjIwMDktMDktMjQgMjI6MjY6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBsb25nbmFtZQoKMjAwOS0xMS0yMiAxOTozMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICBDbGVhbiB1cCBMREZMQUdTLCBMSUJTLCBDRkxBR1MKCSAgRml4IG9yZGVyLCBmaXggdmFyaWFibGVzIHRoYXQgZG9uJ3QgZXhpc3QsIGxpa2UgR1NUX0xJQlNfTElCUywKCSAgdXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0sIGFuZCBtb3ZlIF9MSUJTIGZyb20gTERGTEFHUyB0byBMSUJBREQuCgkgIFNwb3R0ZWQgYnkgSGF2YXJkIEdyYWZmLgoKMjAwOS0xMS0yMiAxOTowMjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkgIGNvZzogaW5jbHVkZSBvdXIgb3duIF9zdGRpbnQuaCBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4KCjIwMDktMTEtMjAgMTE6MTM6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBpbmNsdWRlIG91ciBvd24gX3N0ZGludC5oIG5vdCBzdGRpbnQuaAoKMjAwOS0xMS0yMSAxNzozMTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgbG9jYWwgYmFzZXNyYyBjb3B5CgkgIFVzZSB0aGUgcmVhbCB2ZXJzaW9uIG9mIGJhc2VzcmMgaW5zdGVhZCBvZiBhIGxvY2FsIGNvcHkgbm93IHRoYXQgaXQKCSAgc3VwcG9ydHMgdGhlIHNlYW1sZXNzIHNlZ21lbnQgZmVhdHVyZSB0aGF0IHJlc2luIG5lZWRzLgoKMjAwOS0xMS0yMCAxMzo0MToyNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHMvaWNsZXM6IG1ha2UgY29nIHRlc3QgcHJvZ3JhbSBkZXBlbmQgb24gVVNFX0NPRy4gRml4ZXMgYnVpbGQgd2l0aG91dCBvcmMuCgoyMDA5LTExLTIwIDIwOjU1OjE1ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBjb252ZXJ0IHNvbWUgcGFyYW1zIHRvIGNvbnN0cyBpbiBvcmMgY29kZQoKMjAwOS0xMS0yMCAxNzozMzoyMSArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncy4KCjIwMDktMTEtMjAgMTc6MzI6NDQgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYW1ycGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMS0yMCAxNzozMjoxMyArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTExLTIwIDEwOjMxOjQ3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVzZSBfc3RkaW50LmggZnJvbSBjb25maWd1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0yMCAxMzoxMzozNiArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgY29nOiBBZGQgb3JjIHRlc3QgY29kZSBmb3IgY29nCgkgIEFsc28gbG9vayBmb3IgY29nLm9yYyBzb3VyY2UgZmlsZSBpbiB0aGUgcmlnaHQgcGxhY2UuCgoyMDA5LTExLTE5IDIwOjMzOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVcGRhdGUgZHRtZmRldGVjdCB0byBtYWtlIGl0IE1TVkMgZnJpZW5kbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0xOSAxODoyODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgkgIEFkZHMgYSBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgoyMDA5LTExLTE5IDIzOjAxOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNldCB0aGUgYXVkaW8tY2hhbm5lbCBwb3NpdGlvbnMgYWdhaW4sIGJ1dCBub3cgaW4gX3NldHVwCgkgIFJlYWRkIHRoZSBjb2RlIHRoYXQgd2FzIHJldmVydGVkIGZvciB0aGUgcmVsZWFzZS4gV2Ugbm93IHNldCBhdWRpby1jaGFubmVsCgkgIHBvc2l0aW9ucyBpZiBhbnkgb24gdGhlIHBhZCBjYXBzIGFuZCBub3Qgb24gdGhlIHRlbXBsYXRlcy4KCjIwMDktMTEtMTkgMjI6NTk6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVtb3ZlIGNvbW1lbnRlZCBvdXQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQgYW55bW9yZQoKMjAwOS0xMS0xNyAwMDozOTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IG1ha2Ugc3RhdGUtY2hhbmdlIHRlc3QgdGltZW91dCBsb25nZXIgaWYgd3JhcHBlcnMgYXJlIGVuYWJsZWQKCSAgV2hlbiBsYWRzcGEgfHwgbHYyIGFyZSBlbmFibGVkIG9uZSBjb3VsZCBxdWlja2x5IGdldCB0byA1MDAgZWxlbWVudHMuCgoyMDA5LTExLTE3IDAwOjM3OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSAgcmVhbGF1ZGlvZGVjOiByZWluZGVudCBhbmQgbWFrZSB2YWxncmluZCBoYXBweQoJICBUaGUgc3RhdGUtY2hhbmdlIHRlc3RzIHJlcG9ydGVkIGFjY2VzcyB0byB1bmluaXRpYWxpemVkIG1lbW9yeS4KCjIwMDktMTEtMTYgMjI6MDc6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogb25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgZm9yIGNoZWNraW5nIHByZS1jb25kaXRpb25zCgkgIGdfcmV0dXJuXyogY2FuIGJlIGRpc2FibGVkLiBTdGlsbCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmYWlsZWQgaW5zdGFuY2UgY3JlYXRpb24uCgoyMDA5LTExLTE2IDIyOjA1OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IG9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGZvciBjaGVja2luZyBwcmUtY29uZGl0aW9ucwoJICBnX3JldHVybl8qIGNhbiBiZSBkaXNhYmxlZC4gU3RpbGwgd2Ugd2FudCB0byBjaGVjayBmb3IgZmFpbGVkIGluc3RhbmNlIGNyZWF0aW9uLgoKMjAwOS0xMS0xNiAyMTo1MjozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiByZW1vdmUgbGVmdC1vdmVyIGNvbW1lbnQKCjIwMDktMTEtMTYgMjE6NTA6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogY2hhbmdlIF9zZXR1cCB0byBwYXNzIHdob2xlIGNhcHMgYW5kIG5vdCBqdXN0IHNhbXBsaW5nX3JhdGUKCSAgVGhpcyBhbGxvd3MgdG8gZ2V0IHJpZCBvZiB0aGUgc2FtcGxpbmdfcmF0ZSB2YXJpYWJsZSBpbiB0aGUgYmFzZS1jbGFzcy4gQWxzbyBub3cKCSAgc3ViY2xhc3NlcyBjYW4gbW9kaWZ5IHRoZSBjYXBzIHRvIGFjdHVhbHkgbmVnb3RpYXRlLiBUaGlzIGlzIG5lZWRlZCB0byBlLmcuIHNldAoJICBhdWRpby1jaGFubmVsIHBvc2l0aW9ucy4KCjIwMDktMTEtMTkgMTE6MzY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0xMS0xOSAxMToxNDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuc3VyZSB3cml0YWJsZSBidWZmZXIgbWV0YWRhdGEgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAwOS0xMS0xOSAxMDozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA3MDJmZTEgdG8gNTNhMjQ4NQoKMjAwOS0xMS0xOCAyMDowNjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGltcHJvdmluZyBkZWJ1ZyBtZXNzYWdlcwoJICBJbXByb3ZlcyBkZWJ1ZyBtZXNzYWdlcyBmb3IgYXNmbXV4CgoyMDA5LTEwLTI5IDA4OjM2OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBTVlEzCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIFNWUTMgY29udGVudC4gVXN1YWxseSB0aGlzIGZvcm1hdAoJICBoYXMgZGVjb2RlciBpbmZvIHRoYXQgbXVzdCBiZSBwYXNzZWQgaW4gdGhlICdzZXFoJyBmaWVsZAoJICBpbiB0aGUgY2Fwcy4gSXQgaXMgYWxzbyBnb29kIHRvIGFkZCB0aGUgZ2FtYSBhdG9tIHRvIG1ha2UKCSAgcXVpY2t0aW1lIG5vdCBjcmFzaC4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xOCAxODowMDozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGpwMmsuYzoKCSAganAyazogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIE1BUkdJTkFMCgoyMDA5LTExLTE4IDE4OjAwOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSAgZ3NtOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxODowMDowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJICBhbXJ3YmVuYzogUmFpc2UgcmFuayB0byBTRUNPTkRBUlkKCjIwMDktMTEtMTggMTc6NTk6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkgIGRpcmFjOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gTUFSR0lOQUwKCSAgV2UnbGwgcHJlZmVyIHRvIHVzZSBzY2hyb2VkaW5nZXIgaWYgYXZhaWxhYmxlLCBidXQgaW4gY2FzZSBpdCdzIG5vdCBhdmFpbGFibGUKCSAgd2Ugc3RpbGwgaGF2ZSB0aGUgbGliZGlyYWMgb3B0aW9uCgoyMDA5LTExLTE4IDE3OjU4OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gU0VDT05EQVJZCgoyMDA5LTExLTE4IDE3OjU4OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTc6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJICBtdmU6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NzoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogUmFpc2UgcmFuayB0byBQUklNQVJZCgoyMDA5LTExLTE4IDEzOjQxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIDAuMTAuMjUuMSBhcyB3ZWxsCgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA5LTExLTE3IDE2OjMxOjA5ICswMTAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkgIHNpZ25hbHByb2Nlc3NvcjogVXNlIGNvcnJlY3QgQ0ZMQUdTIGZvciB0aGUgc2lnbmFscHJvY2Vzc29yIGhlYWRlcnMgaW4gTFYyL0xBRFNQQQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB0aGUgaGVhZGVycyBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcmUgdGFrZW4gYW5kIG5vdAoJICBhY2NpZGVudGlhbGx5IGluc3RhbGxlZCBzeXN0ZW0gaGVhZGVycyBpbiB0aGUgY2FzZSBvZiBidWlsZGRpciE9c3JjZGlyLgoJICBGaXhlcyBidWcgIzYwMjE2MS4KCjIwMDktMTEtMTggMDM6MDk6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICByZXNpbmR2ZCwgZHZkc3B1OiBVc2UgbmV3IHN0aWxsLWZyYW1lIEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCSAgUmVwbGFjZSB0aGUgY3VycmVudCBjdXN0b20gRFZEIHN0aWxsLWZyYW1lIGV2ZW50cyB3aXRoIG5ldyBldmVudAoJICBjcmVhdGlvbi9wYXJzaW5nIEFQSSBmcm9tIGxpYmdzdHZpZGVvLgoKMjAwOS0xMS0xOCAwMjoxNjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidW1wIGdzdC1wbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xCgoyMDA5LTExLTE4IDAyOjA0OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBSZXZlcnQgImFpZmY6IERpc2FibGUgYWlmZiBtdXhlciBmb3IgdGhpcyByZWxlYXNlLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3NDI2YmU3MGZmYjExM2YwMmUzNzQwN2VhOTg5ZTYwYjYzOGIyZjAwLgoJICBSZS1lbmFibGUgdGhlIGFpZmYgbXV4ZXIgbm93IHRoYXQgZ3N0LXBsdWdpbnMtYmFkIDAuMTAuMTcgaXMgb3V0CgkgIGFuZCB3ZSBjYW4gcmVseSBvbiBnc3QtcGx1Z2lucy1iYXNlIGZyb20gZ2l0LgoKMjAwOS0xMS0xNyAxNzoyNToxNCAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IGhhbmRsZSBzdHJlYW1zIHdpdGggZGlmZmVyZW50IHN0YXJ0IHRpbWVzCgkgIFByZXZlbnRzIGxvc2luZyBzeW5jIHdoZW4gcmVtdXhpbmcgc3RyZWFtcyB3aXRoIGRpZmZlcmVudAoJICBzdGFydCB0aW1lcy4gVGhlIHNtYWxsZXN0IHN0YXJ0IHRpbWUgaXMgc2VsZWN0ZWQgYXMKCSAgdGhlIGJhc2UgdGltZSBhbmQgYWxsIHRpbWVzdGFtcHMgYXJlIHN1YnRyYWN0ZWQKCSAgZnJvbSBpdCB0byBnZXQgdGhlIGFjdHVhbCB0aW1lIHRvIGJlIHVzZWQgd2hlbgoJICBtdXhpbmcgYW5kIGJ1aWxkaW5nIGluZGV4ZXMKCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0xNyAwOToyNjowNSAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCBsZWFrIGEgc3RyaW5nCgkgIEZyZWVzIGEgc3RyaW5nIGFmdGVyIHVzZS4gQWxzbyBkb2VzIHNvbWUgY29kZSBvcmdhbml6YXRpb24KCjIwMDktMTEtMTYgMTQ6NTc6NTMgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBkbyBub3QgYWRkIHNpemUgdG8gdGhlIHBvaW50ZXIgdmFyaWFibGUKCSAgRG8gbm90IHdyb25nbHkgYWRkIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIHRvIHRoZQoJICBwb2ludGVyIHRvIHRoZSBidWZmZXIgc2l6ZS4gSW5zdGVhZCwgY2hlY2sgdGhlIHJlc3VsdAoJICB0byBzZWUgaWYgdGhlIHNlcmlhbGl6YXRpb24gd2FzIG9rLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAiQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+IgoJICBGaXhlcyAjNjAyMTA2CgoyMDA5LTExLTA2IDEwOjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogaGFuZGxlICdsYXRlJyBzdHJlYW1zCgkgIFdoZW4gbXV4aW5nIHN0cmVhbXMsIHNvbWUgY2FuIHN0YXJ0IGxhdGVyIHRoYW4gb3RoZXJzLiBxdG11eAoJICBub3cgaGFuZGxlIHRoaXMgYnkgYWRkaW5nIGFuIGVtcHR5IGVkdHMgZW50cnkgd2l0aCB0aGUKCSAgZHVyYXRpb24gb2YgdGhlICdsYXRlbmVzcycgdG8gdGhlIHN0cmVhbSdzIHRyYWsuCgkgIEl0IHRvbGVyYXRlcyBhIHN0cmVhbSB0byBiZSB1cCB0byAwLjFzIGxhdGUuCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMDUgMjE6MzU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJICBxdG11eDogYWRkcyB0aGUgRURUUyBhbmQgRUxUUyBhdG9tcyB0byBhdG9tcy5jCgkgIFRoZXNlIGF0b21zIHdpbGwgYmUgdXNlZnVsIGZvciBzaWduYWxpbmcgc3RyZWFtcwoJICB0aGF0IHN0YXJ0IGxhdGVyIGluIHRoZSBmaWxlLiBBcyB3ZWxsIGZvciBhZGRpbmcKCSAgZWRpdCBsaXN0cyBpZiBuZWVkZWQgc29tZXRpbWUgbGF0ZXIuCgoyMDA5LTExLTE3IDE3OjU5OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogZGVjb2RlIGFkcGNtIHdpdGhvdXQgZXhwbGljaXQgbGVuZ3RoLCBhcyBmb3VuZCBpbiBxdC4KCjIwMDktMTEtMTUgMDM6MjE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRm9yd2FyZCB0aGUgc3RpbGwgZnJhbWUgZXZlbnQgZG93bnN0cmVhbQoJICBGb3J3YXJkIHN0aWxsLWZyYW1lIGV2ZW50cyBkb3duc3RyZWFtIHNvIGVsZW1lbnRzIGxpa2UgZGVpbnRlcmxhY2UKCSAgY2FuIHVzZSB0aGVtLgoKMjAwOS0xMS0xNCAwMDozMToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBHdWFyZCBhZ2FpbnN0IGEgZGl2aWRlLWJ5LXplcm8gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDAyNjMKCjIwMDktMTEtMTggMDE6NDY6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTcuMQoKMjAwOS0xMS0xNyAwMTo1Mzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjE3IHJlbGVhc2UgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDktMTEtMTcgMDE6MjU6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNwoKMjAwOS0xMS0xNyAwMToxMzozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTEtMTUgMjE6NDY6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIGluIHRlbXBsYXRlLWNhcHMsIEZpeGVzICM2MDE3NzUKCSAgUmV2ZXJ0IHRoZSBjaGFuZ2VzIHRoYXQgYWRkZWQgYXVkaW8gcG9zaXRpb25zIHRvIHRlbXBsYXRlIGNhcHMuIFdlIGhhdmUgYW4gdW4tCgkgIGZvcnR1bmF0ZSBsaW1pdGF0aW9uIGluIGNvcmUgdGhhdCBkb2VzIG5vdCBhbGxvdyB0byBkbyBpdC4gS2VlcCBhIGZldyB0aGluZ3MKCSAgY29tbWVudGVkIG91dCwgc28gdGhhdCB0aGUgY2hhbm5lbCBwb3NpdGlvbiBjYW4gbGF0ZXIgb24gYmUgc2V0IGluIHNldGNhcHMuCgoyMDA5LTExLTEzIDAyOjE4OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2t5LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3YucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4zIHByZS1yZWxlYXNlCgoyMDA5LTExLTExIDEwOjU4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBQb3J0IHRvIDAuNyBBUEkKCSAgRml4ZXMgYnVnICM2MDA3MjQuCgoyMDA5LTExLTExIDEwOjU0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBNYWtlIGNlbHQgdmVyc2lvbiBjaGVja3MgYmV0dGVyIGV4dGVuc2libGUKCjIwMDktMTEtMDkgMTk6MjA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjIgcHJlLXJlbGVhc2UKCjIwMDktMTEtMDkgMTk6MDg6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IERpc2FibGUgYWlmZiBtdXhlciBmb3IgdGhpcyByZWxlYXNlLgoJICBUaGUgYWlmZiBtdXhlciByZWxpZXMgb24gR3N0Qnl0ZVdyaXRlciBBUEkgYWRkZWQgYWZ0ZXIgMC4xMC4yNS4gRGlzYWJsZQoJICBpdCBmb3IgdGhpcyByZWxlYXNlLgoJICBSZXZlcnQgdGhpcyBjb21taXQgYWZ0ZXIgZ3N0LXBsdWdpbnMtYmFkIDAuMTAuMTcKCjIwMDktMTEtMDkgMTQ6MTA6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkgIGFzZm11eDogVW5jb21tZW50IC0tZGlzYWJsZS1zdGF0aWMgZmxhZwoJICBGb3Igc29tZSByZWFzb24gdGhhdCBsaWJ0b29sIGZsYWdzIGxpbmUgdGhhdCBwcmV2ZW50cyBidWlsZGluZwoJICB0aGUgc3RhdGljIGxpYiB3YXMgY29tbWVudGVkIG91dC4gUmVwb3J0ZWQgYnkgTWFydCBSYXVkc2VwcCBvbiBJUkMuCgoyMDA5LTExLTA5IDExOjQ5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlcyBhbmQgZml4IGEgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBkZmQ1MWFhODJhOWUxYzk5MjQzNzUxODM3OTZlYWI3MGU1NzRhMjMxLgoKMjAwOS0xMS0wOSAxMTo0ODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBNYWtlIHN1cmUgdGhhdCBydW5uaW5nX3RpbWUtPnRpbWVzdGFtcCBjYWxjdWxhdGlvbiBuZXZlciBiZWNvbWVzIG5lZ2F0aXZlCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGYzNjUzODU0NTg1ODY0YTA5ZDM1ZTAzNzg1MzQwNzMzMmVhNjkwMWYuCgoyMDA5LTExLTA5IDExOjQ4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSB0aGUgc3RhcnQgdGltZSAoaS5lLiB0aW1lc3RhbXApIGFzIHRoZSBsYXN0IHN0b3AKCSAgVXNpbmcgdGhlIGVuZCB0aW1lIG1ha2VzIGl0IGltcG9zc2libGUgdG8gcmVwbGFjZSBidWZmZXJzLCB3aGljaCBpcwoJICBhIGJpZyBwcm9ibGVtIGZvciBzdWJ0aXRsZXMgdGhhdCBjb3VsZCBoYXZlIHZlcnkgbG9uZyBkdXJhdGlvbnMuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDI3MDM0YmU0NjExMjMxY2M1NWZhM2QzZTI1M2JhYTQwYzZiZmY0MWQuCgoyMDA5LTExLTA5IDExOjQ3OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IEltcHJvdmUgZGVidWdnaW5nCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDA5LTExLTA3IDEyOjI5OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEZpeCBrbGFzcyAocy9EZWNvZGVyL0VuY29kZXIvKQoKMjAwOS0xMS0wNiAxNTozMToyNiArMDEwMCAgQ2hyaXMgSGlsbHMgPGNoYXpAY2hhejYuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgc3VwcG9ydCBmb3IgRFZCLVQvRFZCLUMgd2l0aCBEVkIgQVBJIDMuMwoKMjAwOS0xMS0wNiAxMTo0NDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFRoZSB0ZXh0IGFuZCB2aWRlbyBkdXJhdGlvbiBzaG91bGQgb25seSBjb21wYXJlZCBhcyBydW5uaW5nIHRpbWUgdG9vCgkgIFRoZSBlbmQgdGltZXMgb2YgdGhlIHRleHQgYW5kIHZpZGVvIGJ1ZmZlcnMgY291bGQgYmUgZGlmZmVyZW50IHRoYW4KCSAgdGhlaXIgc3RhcnQgcnVubmluZyB0aW1lICsgZHVyYXRpb24gYmVjYXVzZSBvZiBkaWZmZXJlbnQgcmF0ZXMuCgoyMDA5LTExLTA2IDA5OjE2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogTG93ZXIgdGlnZXIncyByYW5rIHRvIE5PTkUgYWdhaW4KCSAgSXQncyBub3Qgd2VsbCB0ZXN0ZWQgeWV0IGFuZCBkb2Vzbid0IGhhbmRsZSBzZWdtZW50cyBhbmQgdGV4dC92aWRlbwoJICBzeW5jaHJvbml6YXRpb24gcHJvcGVybHkgeWV0LiBBdXRvcGx1Z2dpbmcgaXQgd2lsbCBjYXVzZSBmYWlsdXJlcy4KCjIwMDktMTEtMDYgMDc6MTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZXNldCBzZWdtZW50cyBvbiBGTFVTSF9TVE9QIGV2ZW50cwoKMjAwOS0xMS0wNSAxNzo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZGVidWdnaW5nCgoyMDA5LTExLTA2IDAwOjQ2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBzb21lIGlmcyBmb3IgcHJvdGVjdGlvbgoJICBBZGRpbmcgc29tZXMgaWZzIHRvIHByb3RlY3QgYWdhaW5zdCB3YXJuaW5nIGNvbmRpdGlvbnMKCSAgdGhhdCBtaWdodCBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlbGVtZW50IGlzIG5vdCBzYW5lCgkgIEZpeGVzICM2MDA4OTUKCjIwMDktMTEtMDUgMTM6NDA6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwcm9wZXJseSB1cGRhdGUgbmV3IHNlZ21lbnRzCgkgIFNjYWxldGVtcG8gd2FzIG1pc3NpbmcgYW4gdXBkYXRlIG9mICdzdG9wJyBpbgoJICBuZXcgc2VnbWVudCBwYXJhbWV0ZXJzIHdoZW4gcHVzaGluZyBpdCBkb3duc3RyZWFtLAoJICB3aGljaCBjYXVzZWQgZmlsZXMgdG8gZW5kIGVhcmxpZXIgd2hlbiByYXRlIDwgMS4KCSAgRml4ZXMgIzU5OTkwMwoJICBCYXNlZCBvbiBwYXRjaCBieTogQmFzdGlhbiBIZWNodCA8aGVjaHRiQGdtYWlsLmNvbT4KCjIwMDktMTEtMDUgMjM6MTc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHRpbWlkaXR5OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIyOjAzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIG15dGh0djogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo1ODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NTE6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRpcmVjdGZiOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBhbHNhc3BkaWZzaW5rOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDE3OjEzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVXBkYXRlIGxhc3Qgc3RvcCBmb3IgdGhlIHN1YnRpdGxlcwoKMjAwOS0xMS0wNSAxNzowNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFN5bmNocm9uaXplIHRleHQgYW5kIHZpZGVvIGJ5IHRha2luZyB0aGUgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgdGhlIHN0cmVhbSB0aW1lCgoyMDA5LTExLTA1IDE2OjQ0OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogS2VlcCB0cmFjayBvZiB0aGUgc3VidGl0bGUgc2VnbWVudHMKCjIwMDktMTEtMDUgMTY6NDE6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiB0aGUgdmlkZW8gc2VnbWVudCBpcyBub3QgaW4gVElNRSBmb3JtYXQgZG9uJ3QgYWNjZXB0IGl0CgoyMDA5LTExLTA0IDIyOjUyOjE5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGR0bWZkZXRlY3Q6IEFkZCBkdG1mZGV0ZWN0cyB0byBwbHVnaW5zIGRvY3MKCjIwMDktMTEtMDQgMjI6MTk6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBBZGQgRFRNRiB0b25lIGRldGVjdG9yCgkgIEl0IGxvb2tzIGF0IHJhdyBhdWRpbyBkYXRhIGFuZCBlbWl0cyBtZXNzYWdlcyB3aGVuIERUTUYgaXMgZGV0ZWN0ZWQuCgkgIFRoZSBkdG1mIGRldGVjdG9yIGlzIHRoZSBzYW1lIEdvZXJ0emVsIGltcGxlbWVudGF0aW9uIHVzZWQgaW4gRnJlZVN3aXRjaAoJICBhbmQgQXN0ZXJpc2suIEl0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLgoKMjAwOS0xMS0wNSAxMzo1Mzo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJldmVydCAiaW5wdXRzZWxlY3RvcjogdXNlIGdldF9jYXBzX3JlZmZlZCgpIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ5ZWM0Zjc5NmEwZTNmODhhODUxNzA4NzgyYzg1M2JhZjRiMDU3MjQuCgkgIFdlIGNhbid0IHVzZSB0aGlzIG5ldyBmdW5jdGlvbiB5ZXQuCgoyMDA5LTExLTA1IDEzOjI5OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogdXNlIGdldF9jYXBzX3JlZmZlZCgpCgoyMDA5LTExLTA1IDEzOjE3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRHJvcCB0b28gbGF0ZSB0ZXh0IGJ1ZmZlciBpbW1lZGlhdGVseQoJICBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBkcm9wIGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgb3IgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4ndCBoYW5kbGUgdGhlbS4KCjIwMDktMTEtMDUgMTI6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggcmFjZSBjb25kaXRpb24gdGhhdCByZXN1bHRzIGluIGEgZGVhZGxvY2sgb24gc2h1dGRvd24KCjIwMDktMTEtMDQgMjI6MjE6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVqZWN0IGVtcHR5IGNhcHMKCjIwMDktMTEtMDQgMjI6MjE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogVXNlIGxvZyBsZXZlbCBmb3IgcmVwZWF0ZWQgZGVidWcgbWVzc2FnZXMKCjIwMDktMTEtMDQgMjA6MDU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogQWxsb3cgZm9yIGFueSBzYW1wbGVyYXRlCgoyMDA5LTExLTA0IDIzOjMyOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBwcmV2aW91cyBjb21taXQ6IGVuc3VyZSB3ZSB0YWtlIGEgcmVmIG9uIHRoZSBmZWF0dXJlcwoKMjAwOS0xMS0wNCAxNToyMTo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIHJlc2luZHZkLGF1dG9jb252ZXJ0OiBBdm9pZCBkZXBlbmRpbmcgb24gMC4xMC4yNiBBUEkKCSAgV2FpdCB1bnRpbCBhZnRlciB0aGUgbmV4dCByZWxlYXNlIHRvIGJ1bXAgdGhlIGNvcmUgcmVxdWlyZW1lbnQuCgkgIFVudGlsIHRoZW4sIGRvbid0IHVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9jb3B5IGFuZAoJICBnc3RfcGFkX3BlZXJfZ2V0X2NhcHNfcmVmZWQuCgoyMDA5LTExLTAyIDE3OjA2OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgb2xkIGNvZGUgYW5kIG9ic29sZXRlIGNvbW1lbnRzCgkgIFJlbW92ZSBzb21lIGRpc2FibGVkIGNvZGUgcGF0aHMgYW5kIG9ic29sZXRlIEZJWE1FIGNvbW1lbnRzCgoyMDA5LTEwLTE0IDE1OjQ3OjI3IC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZGVjIDogY2hhaW5fcGFyc2VfZGF0YSA6IGNoZWNrIHZhbGlkaXR5IG9mIHRpbWVzdGFtcCwgY3JlYXRlIGEgbmV3IG9uZSBpZiBuZWVkZWQgY2VsdGVuYyA6IGRlZmF1bHQgZnJhbWVzaXplIGlzIDQ4MCAgICAgICAgICAgc2V0Y2FwcyA6IGdldHMgZnJhbWVzaXplIGFuZCBzZXQgY2FwcyAgICAgICAgICAgZW5jX2NoYWluIDogc2V0cyBmcmFtZXNpemUgaW4gY2FwcyAgICAgICAgICAgQWRkZWQgZnJhbWUtc2l6ZSB0byBzdGF0aWMgY2FwcyBvZiBhdWRpby94LWNlbHQgICAgICAgICAgIFJlcGxhY2VkIEdTVF9ERUJVR19PQkpFQ1QgYnkgR1NUX0xPR19PQkpFQ1QgaW4gZW5jX2NoYWluICAgICAgICAgICBzZXRjYXBzOiBnZXQgZnJhbWUtc2l6ZSBmcm9tIGludCBpbnN0ZWFkIG9mIHN0cmluZyAgICAgICAgICAgc2V0Y2FwczogdXNlIGRlZmF1bHQgdmFsdWUgZm9yIGZyYW1lLXNpemUKCjIwMDktMTEtMDQgMTc6MTM6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBGaXggcG9pbnRlci1kaWZmZXJlbmNlcyBwcmludG91dAoJICBUaGVyZSBpcyB1bmZvcnR1bmF0ZWx5IG5vIEdfKl9GT1JNQVQgY29udmVyc2lvbiBzcGVjaWZpZXIgZm9yIGRpZmZlcmVuY2VzIG9mCgkgIHBvaW50ZXJzIGluIGdsaWIsIGFuZCB3ZSBjYW4ndCByZWx5IGVpdGhlciBvbiBhbGwgcGxhdGZvcm1zIGJlaW5nIDY0Yml0LgoJICBTbyBsZXQncyBqdXN0IGNhc3QgdGhlIGRpZmZlcmVuY2UgdG8gYSBnaW50IGFuZCBiZSBkb25lIHdpdGggaXQuCgoyMDA5LTExLTA0IDEzOjU1OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IERvbid0IGNyZWF0ZSBiYWNrdXAgLnBvIGZpbGVzCgkgIEFzIHdlbGwgYXMgcHJldmVudGluZyBjcmVhdGlvbiBvZiB1c2VsZXNzIGJhY2t1cCBmaWxlcywgaXQgd29ya3MKCSAgYXJvdW5kIGEgYnVnIGluIGdldHRleHQgMC4xNyBvbiBPUy9YCgoyMDA5LTExLTA0IDE1OjU3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICBjZGF1ZGlvOiBmaXggcHJvcGVydGllcwoJICBGaXggcHJvcGVydGllcyBhbmQgYWxsb3cgc2V0dGluZyB0aGUgZGV2aWNlIHByb3BlcnR5LgoKMjAwOS0xMS0wNCAxMzoxMTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFJldHVybiBXUk9OR19TVEFURSBmcm9tIHRoZSBzdWJ0aXRsZSBjaGFpbiB3aGVuIGZsdXNoaW5nCgoyMDA5LTExLTA0IDEzOjA3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVW5sb2NrIGFuZCBmcmVlIGFueSBwZW5kaW5nIHN1YnRpdGxlIGJ1ZmZlcnMgb24gRkxVU0hfU1RBUlQKCjIwMDktMTEtMDQgMTI6NTA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBTeW5jaHJvbml6ZSBzdWJ0aXRsZSBidWZmZXJzIHdpdGggdGhlIHZpZGVvCgkgIEZpeGVzIGJ1ZyAjNjAwNjYyLgoKMjAwOS0xMS0wNCAwMDoyMToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogYWxzbyBhZGQgaW5saW5lIHRvIHRoZSBwcm90byB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTExLTA0IDAwOjE5OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGluY2x1ZGUgcXVhbGl0eSBhbmQgY2hlY2sgY291bnQsIGZpeGVzICM2MDA0NjEKCSAgV2UgcmVwb3J0IHRoZSByZWxhdGl2ZSBxdWFsaXR5IGluIHRoZSBtZXNzYWdlIGFuZCB3ZSBhbHNvIHVzZSB0aGUgY2FjaGUgdG8gc2tpcAoJICBlYXJseSBkZXRlY3RzIGFuZCBkb3VibGVzLgoKMjAwOS0xMS0wMyAxODoxNDoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGdzdDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHJlc3VsdGluZyB1bnVzZWQgdmFyaWFibGVzCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDhjZDFiNTIwOWI2ODk0NGUxYmU1NmNhOGJiNjllNDZkNGFiYjdhMzQuCgoyMDA5LTExLTAzIDE4OjEyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSB0aGUgc2FtZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZ1bmN0aW9uIGFzIGluIGdzdC1wbHVnaW5zLWJhc2UKCjIwMDktMTEtMDMgMTg6MTE6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmVtb3ZlIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIHRoZXkncmUgcG9pbnRsZXNzCgkgIFRoZXJlJ3Mgbm90IG11Y2ggcG9pbnQgaW4gdXNpbmcgR1NUX0RFQlVHX0ZVTkNQVFIgd2l0aCBHT2JqZWN0CgkgIHZpcnR1YWwgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0X3Byb3BlcnR5LCBzZXRfcHJvcGVyeSwgZmluYWxpemUgYW5kCgkgIGRpc3Bvc2UsIHNpbmNlIHRoZXknbGwgbmV2ZXIgYmUgdXNlZCBieSBhbnlvbmUgYW55d2F5LiBTYXZlcyBhCgkgIGZldyBieXRlcyBhbmQgcG9zc2libHkgYSBzaXh0ZWVudGggb2YgYSBwb2xhciBiZWFyLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA2ZjRjMWFjNTgzNDFlZTE4OTIyNWQzMTNkZGZlOWFlMjRhNjVjODhjLgoKMjAwOS0xMS0wMyAxODowOTo1NSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZW1vdmUgUm9uYWxkIEJ1bHRqZSBmcm9tIEF1dGhvcnMgZmllbGQKCSAgUmVwbGFjZWQgd2l0aCAiR1N0cmVhbWVyIG1haW50YWluZXJzCgkgIDxnc3RyZWFtZXItZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIgb3IganVzdCByZW1vdmVkLAoJICBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBvdGhlciBhdXRob3JzLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCAwZTliYzUxMjVhY2E1NDZkNzczZWQxMDAyZGY1NzNkZDhlMmRjMTM2LgoKMjAwOS0xMS0wMyAxODowODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHNldCBvdXRwdXQgY2FwcyBiZWZvcmUgcHVzaGluZwoJICBTZXQgdGhlIG91dHB1dCBjYXBzIG9uIHRoZSBzcmNwYWQgYmVmb3JlIHB1c2hpbmcgdGhlIGJ1ZmZlciBiZWNhdXNlIGVsc2UgY29yZQoJICB3aWxsIGRvIGEgcmF0aGVyIGV4cGVuc2l2ZSBjaGVjayB0byBzZWUgaWYgd2UgY2FuIGFjdHVhbGx5IGFjY2VwdCB0aG9zZSBjYXBzIG9uCgkgIHRoZSBzcmNwYWQuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGJkZmI0YjQ2ZDc0NmVmMjk4ZmNmNDQyNjA4NzljMzQyYWY0Y2FmYTMuCgoyMDA5LTExLTAzIDE4OjA2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogaW5zdGFsbCBhbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgkgIEluc3RhbGwgYSBjdXN0b20gYWNjZXB0Y2FwcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IGV4cGVuc2l2ZQoJICBjaGVjay4gV2UgYWNjZXB0IHdoYXRldmVyIGRvd25zdHJlYW0gYWNjZXB0cyBzbyB3ZSBwYXNzIGFsb25nIHRoZSBhY2NlcHRjYXBzCgkgIGNhbGwgdG8gdGhlIGRvd25zdHJlYW0gcGVlci4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgNWI3MmYyYWRmOTk2NzM5MDM2ZThkOWI1ZjkxMDA1NDU1ZDFmZmFjZS4KCjIwMDktMTEtMDMgMTU6MDg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBNYWtlIHN1cmUgdGhhdCB0aWdlciBpcyBub3QgYXV0b3BsdWdnZWQgYnkgZGVjb2RlYmluMgoJICBJdCdzIG5vdCByZWFsbHkgYSBkZWNvZGVyLi4uCgoyMDA5LTExLTAzIDE0OjUwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogQ2hhbmdlIHJhbmtzIG9mIGthdGVkZWMgYW5kIHRpZ2VyIHRvIFBSSU1BUlkgdG8gYmUgYXV0b3BsdWdnZWQKCjIwMDktMTEtMDMgMTQ6NDk6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBDaGFuZ2UgbmFtZSBvZiB0aGUgc3VidGl0bGUgc2luayB0ZW1wbGF0ZSBhbmQgY2xhc3NpZmljYXRpb24KCSAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHN1YnRpdGxlb3ZlcmxheSBjYW4gd29yayB3aXRoIHRpZ2VyLgoKMjAwOS0xMS0wMiAxMTozMzoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIHJlc2luZHZkOiBUYWtlIGEgY29weSBvZiB0aGUgcGFzc2VkIHBsdWdpbiBmZWF0dXJlcwoJICBDbGFyaWZ5IHRoZSBvd25lcnNoaXAgb2YgdGhlIGludGVybmFsIHBsdWdpbiBmZWF0dXJlIGxpc3QgYnkgbWFraW5nCgkgIGEgY29weSBvZiBhbnkgcGFzc2VkIGxpc3QuIEF2b2lkcyBjcmFzaGVzIHdoZW4gZnJlZWluZyBhIHBhc3NlZCBsaXN0LAoJICBvciBsZWFrcyBjYXVzZWQgYnkgbm90IGZyZWVpbmcgYW55IGludGVybmFsbHkgYnVpbHQgbGlzdC4KCjIwMDktMTEtMDIgMTA6MjA6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYW4gb3ZlcnNpZ2h0IGZyb20gdXBkYXRpbmcgdGhlIGNvcHkgb2YgYmFzZXNyYwoJICBQbHVnaW5zIG5lZWQgZ3N0LWkxOG4tcGx1Z2luLmgsIG5vdCBnc3QtaTE4bi1saWIuaAoKMjAwOS0xMS0wMSAxNTo1Njo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHJlbW92ZSBwb2ludGxlc3MgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkKCjIwMDktMTEtMDEgMjM6MTc6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogVXNlIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpCgkgIFdoZW4gc3dpdGNoaW5nIHRvIGEgbmV3IHNlYW1sZXNzIHNlZ21lbnQsIHVzZSB0aGUgbmV3CgkgIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpIGZ1bmN0aW9uLCBiZWNhdXNlIGVsZW1lbnRzIGNhbid0CgkgIHNlbmQgdGhlbXNlbHZlcyBzZWVrIGV2ZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwOS0xMS0wMSAyMzoxNjoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgcmVzaW5kdmQ6IEFkZCBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKSB0byBHc3RCYXNlU3JjIGNvcHkKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBpbnRlcm5hbCBjb3B5IG9mIEdzdEJhc2VTcmMgZm9yIHN0YXJ0aW5nIGEgbmV3CgkgIHNlYW1sZXNzIHNlZ21lbnQuCgoyMDA5LTExLTAxIDE5OjIxOjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuaDoKCSAgcmVzaW5kdmQ6IFVwZGF0ZSB0aGUgYmFzZSBzb3VyY2UgY29weQoJICBUaGlzIGJyZWFrcyBzZWFtbGVzcyBzZWdtZW50IHVwZGF0ZXMsIGNhdXNpbmcgZGVhZGxvY2tzLAoJICB0byBiZSBmaXhlZCBpbiBzdWJzZXF1ZW50IGNvbW1pdHMuCgoyMDA5LTExLTAyIDAyOjQ4OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBGaXggUEdTIHdpbmRvdyBwYXJzaW5nCgkgIEZpeCBhIHByb2JsZW0gaW50cm9kdWNlZCBpbiB0aGUgbGFzdCBQR1MgcGFyc2luZyBwYXRjaCBieSBza2lwcGluZwoJICB0aGUgd2luZG93IGNvdW50IGJ5dGUgYWZ0ZXIgcmVhZGluZyBpdC4KCjIwMDktMTEtMDEgMjA6NDI6NDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZjogZml4IGFpZmZwYXJzZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSBuYW1lCgkgIEZpeGVzIG1pc3Npbmcgc3ltYm9sIHdoZW4gY29tcGlsaW5nIHdpdGggZGVidWdnaW5nLCBzaW5jZSB0aGlzIGlzIG5vdyBpbiBzeW5jCgkgIHdpdGggdGhlIHBsdWdpbl9pbml0IGluIGFpZmYuYy4KCjIwMDktMTEtMDEgMjA6NDE6MDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IGluaXQgcGx1Z2luIGRlYnVnIGNhdGVnb3J5CgkgIEZpeGVzIGFzc2VydGlvbiAob3IgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgd2l0aCBESVNBQkxFX05MUykuCgoyMDA5LTEwLTMxIDE5OjQyOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBhZGQgYWlmZiBlbGVtZW50cyB0byBkb2NzCgoyMDA5LTEwLTMxIDE5OjM3OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGdyYXR1aXRpb3VzIGNsZWFuLXVwczogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzLCBzdHJ1Y3RzIGFuZCBkZWZpbmVzCgoyMDA5LTEwLTMxIDE3OjUwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBlbmFibGUgbmV3IGFpZmYgbXV4ZXIKCSAgRml4ZXMgIzU5ODc2MyBldmVuIG1vcmUuCgoyMDA5LTEwLTE3IDIyOjU4OjAzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSAgYWlmZjogYWRkIGJhc2ljIEFJRkYgbXV4ZXIKCSAgRml4ZXMgIzU5ODc2My4KCjIwMDktMTAtMzEgMTc6MjU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogcmVtb3ZlIHVudXNlZCBpbmNsdWRlcyBhbmQgZml4IGZsYWdzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgkgIEFsc28gcmVtb3ZlIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBmcm9tIExJQkFERCBzaW5jZSB3ZSBkb24ndAoJICBuZWVkIHRvIGxpbmsgYWdhaW5zdCBhbnkgb2YgdGhlIC1iYXNlIGxpYnMgKHdlIGp1c3QgdXNlIGEgZGVmaW5lCgkgIGZyb20gdGhlIGdzdGF1ZGlvIGhlYWRlcnMpLgoKMjAwOS0xMC0zMSAxNzoyMDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5oOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgYWlmZjogcmVuYW1lICdhaWZmcGFyc2UnIHBsdWdpbiB0byAnYWlmZicKCjIwMDktMTAtMDggMTk6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZtdXggbG9ja2luZwoKMjAwOS0wOS0yOCAxOTo1NDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdCBmb3IgcnRwbXV4CgoyMDA5LTA5LTI4IDEzOjM2OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGlnbm9yZSByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMDktMTAtMjkgMTY6NDI6MzQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBVc2UgR1NUX1BMVUdJTlNfQkFTRV97Q0ZMQUdTLExJQlN9IGZvciBjYW1lcmFiaW4gdGVzdHMuCgoyMDA5LTEwLTI5IDE2OjM0OjIzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5tOgoJICBvc3h2aWRlb3NyYzogY2hhbmdlIGEgLm0gZmlsZSBjb250YWluaW5nIG9ubHkgQyBjb2RlIHRvIGEgLmMgZmlsZS4gTWFrZXMgYnVpbGRpbmcgdGhpcyBlYXNpZXIuCgoyMDA5LTEwLTI3IDIyOjA4OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCBzZW5kIG5ldy1zZWdtZW50IHdpdGggc3RhcnQgdGltZSA9PSAtMQoJICBXaGVuIHNlbmRpbmcgbmV3LXNlZ21lbnQgdG8gYSBzdHJlYW0sIGVuc3VyZSB0aGF0IHRoZXJlIGlzIGVpdGhlciBhIHZhbGlkCgkgIFBDUiwgb3IgZWxzZSB3YWl0IHVudGlsIHRoZXJlJ3MgYSBQVFMgb24gdGhlIHN0cmVhbSAoZHJvcHBpbmcgcGFja2V0cyBpZgoJICBuZWVkZWQpIGluIG9yZGVyIHRvIGF2b2lkIGdlbmVyYXRpbmcgYW4gaW52bGFpZCBuZXctc2VnbWVudHMgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUxNjEKCjIwMDktMTAtMjggMTY6MjI6MTMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1c2UgcmF3IGF1ZGlvL3ZpZGVvIGluIHVuaXQgdGVzdHMKCSAgUmVtb3ZlcyBkZXBlbmRlbmN5IHRvIG9nZy92b3JiaXMvdGhlb3JhIHdoZW4gcnVubmluZyBjYW1lcmFiaW4KCSAgdW5pdCB0ZXN0cy4KCjIwMDktMTAtMjggMTc6Mzc6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjawoKMjAwOS0xMC0yNyAxNDozMTozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGdsaWIgZG9lc24ndCByZWxpYWJseSBudWxsLXRlcm1pbmF0ZSB3aWRlLWNoYXJhY3RlciBlbmNvZGluZ3MgaW4gZ19jb252ZXJ0LCBzbyB3cml0ZSB0aGUgbnVsbC10ZXJtaW5hdG9yIHNlcGFyYXRlbHkgYW5kIGV4cGxpY2l0bHkuCgoyMDA5LTEwLTE4IDE0OjIwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGZpeCBwYWQgZGlyZWN0aW9uIGZvciB1bmdyb3VwZWQgcG9ydHMKCSAgQ2xhc3NpYyBjb3B5J24ncGFzdGUgYnVnLgoKMjAwOS0xMC0yNyAxNjozNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGZpeCB0YWcgd3JpdGluZyBidWcKCSAgZ19jb252ZXJ0IHNlZW1zIHRvIGFkZCBhIHNpbmdsZSBudWxsIHRlcm1pbmF0aW5nIGJ5dGUgdG8KCSAgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCBldmVuIHdoZW4gdGhlIG91dHB1dCBpcyBVVEYxNiwgd2UKCSAgZm9yY2UgdGhlIHNlY29uZCAwIGJ5dGUgd2hlbiBjb3B5aW5nIHRvIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBUaGlzIGlzc3VlIHdhcyBjYXVzaW5nIHJhbmRvbSBjcmFzaGVzIGJlY2F1c2UgaXQgd2FzCgkgIGFzc3VtZWQgdGhhdCB0aGUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIGdfY29udmVydCBoYWQKCSAgMiBleHRyYSBieXRlcywgYnV0IGl0IGhhcyBvbmx5IG9uZS4KCjIwMDktMTAtMjcgMTE6NTE6MDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBSZW1vdmUgZXhlY3V0YWJsZSBiaXRzIGZyb20gbm9uLWV4ZWN1dGFibGUgZmlsZXMuCgoyMDA5LTEwLTI3IDAwOjIyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgZXh0cmEgbmV3LXNlZ21lbnQgaW4gcnNuc3RyZWFtc2VsZWN0b3IuIFNlbmQgZGlzY29udC4KCSAgQWxsIHRoZSBpbnB1dCBwYWRzIGZvciB0aGUgcmVzaW4gc3RyZWFtIHNlbGVjdG9ycyBoYXZlIHRoZSBzYW1lIHNvdXJjZSwKCSAgYW5kIHJlY2VpdmUvc2VuZCB0aGUgc2FtZSBzZWdtZW50IGluZm8sIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZW5kIGEKCSAgc2VnbWVudCB3aGVuIHN3aXRjaGluZyBhbmQgYWN0aXZhdGluZyBhIGRpZmZlcmVudCBwYWQuIFJlbW92aW5nIGl0IG1ha2VzCgkgIG9uLXRoZS1mbHkgYXVkaW8gdHJhY2sgc3dpdGNoaW5nIHdvcmsgcHJvcGVybHkuCgkgIEFmdGVyIHN3aXRjaGluZyBhdWRpbyB0cmFjaywgbWFyayB0aGUgbmV4dCBidWZmZXIgZGlzY29udC4KCjIwMDktMTAtMjYgMjA6NTU6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXZvaWQgYSBkZWFkbG9jay4gSW1wcm92ZSBjaGFwdGVyIHNlZWsuCgkgIEF2b2lkIGEgcG90ZW50aWFsIGRlYWRsb2NrIHRoYXQgaGFwcGVucyB3aGVuIGEgY2FsbCB0bwoJICBnc3RfY2xvY2tfaWRfd2FpdF9hc3luYygpIGltbWVkaWF0ZWx5IGNhbGxzIHRoZSBjYWxsYmFjay4KCSAgSW1wcm92ZSBwcmV2aW91cyBjaGFwdGVyIHNlZWtpbmcgc2xpZ2h0bHkgYnkgYXZvaWRpbmcgJ3NlZ21lbnQKCSAgc3RhcnQgIT0gLTEnIGFzc2VydGlvbnMgd2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBjaGFwdGVyIGFuZAoJICB0aGUgc2VlayB0aGVyZWZvcmUgZmFpbHMuCgoyMDA5LTEwLTI2IDEyOjE5OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcmVzaW5kdmQ6IGxvd2VyIGEgZGVidWcgbWVzc2FnZSB0byBsb2cgbGV2ZWwuCgoyMDA5LTEwLTI2IDExOjAwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBhIGtleXByZXNzIG1hcHBpbmcgZm9yIHN3aXRjaGluZyBhdWRpbyB0cmFjawoJICBGb3IgZGVidWdnaW5nIHB1cnBvc2VzLCBtYWtlIGtleXMgMS04IHN3aXRjaCBhdWRpbyB0cmFjay4KCjIwMDktMTAtMjQgMTI6NTQ6MTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIGEgc2ltcGxlIHVuaXQgdGVzdAoJICBTZXQgdXAgYW4gYXV0b2NvbnZlcnQgd2l0aCAyIGZhY3RvcmllcywgYW5kIGNoZWNrIHRoYXQgaXQgY2FuIHN3aXRjaAoJICBiZXR3ZWVuIHRoZW0gd2hlbiB0aGUgY2FwcyBjaGFuZ2UuCgoyMDA5LTEwLTI0IDE0OjI5OjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBTZXQgdGhlIG5ldyBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IG9uIGF1dG9jb252ZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjQgMTI6Mzg6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFN1cHBvcnQgaW5zdGFsbGluZyBpZGVudGl0eSBhcyB0aGUgaW5pdGlhbCBjaGlsZAoJICBBZGQgdGhlICdpbml0aWFsLWlkZW50aXR5JyBwcm9wZXJ0eSwgd2hpY2ggaW5zZXJ0cyBpZGVudGl0eSBmb3IKCSAgYXQgc3RhcnR1cCBmb3IgZXZlbnQgcGFzc2luZywgYW5kIHJlcGxhY2VzIGl0IHdpdGggYSBuZXcgY2hpbGQKCSAgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIChhbmQgY2FwcykgYWN0dWFsbHkgYXJyaXZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNCAxMToxODo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogQ2FjaGUgaW5jb21pbmcgbmV3IHNlZ21lbnQgZXZlbnRzIGFuZCBwdXNoIHRvIGNoaWxkcmVuLgoJICBDYWNoZSBpbmNvbWluZyBuZXctc2VnbWVudCBpbmZvLgoJICBXaGVuIGluc3RhbGxpbmcgYSBjaGlsZCBlbGVtZW50LCBpbmZvcm0gaXQgb2YgdGhlIGN1cnJlbnQgc2VnbWVudCBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI2IDAwOjQxOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBzb21lIGRlYnVnIGluIGZhY3RvcnkgY2FwcyBpbnRlcnNlY3Rpb24KCjIwMDktMTAtMjQgMTE6MDU6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogU2ltcGxlIGZpeGVzLgoJICBGcmVlIHRoZSBwbHVnaW4gZmVhdHVyZSBsaXN0IG9uIGRpc3Bvc2UuCgkgIE91dHB1dCBhIGRlYnVnIG1lc3NhZ2Ugd2hlbiBkb3duc3RyZWFtIHJldHVybnMgYSBmYXRhbCBmbG93IHJlc3VsdAoJICBGaXggYXdrd2FyZCB3b3JkaW5nIGluIGEgZGVidWcgd2FybmluZy4KCjIwMDktMTAtMjQgMTA6Mjc6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogR3JhdHVpdG91c2x5IG1vdmUgR1NUX09CSkVDVF9MT0NLIGludG8gYSBtYWNybwoJICBDcmVhdGUgR1NUX0FVVE9DT05WRVJUX0xPQ0svVU5MT0NLIG1hY3JvcyB0aGF0IChmb3Igbm93KSBqdXN0IGNhbGwKCSAgR1NUX09CSkVDVF9MT0NLLgoKMjAwOS0xMC0xNSAxMzozMjozMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIGRlZmluaXRpb25zIGZvciBkZWZhdWx0IHZhbHVlcwoJICBNYWtlcyBjaGFuZ2luZyB0aGUgZGVmYXVsdHMgZWFzaWVyIGFuZCBtb3JlIGZvb2wtcHJvb2YgaW4gdGhlIGZ1dHVyZS4KCSAgRml4ZXMgIzU5ODU1MgoKMjAwOS0xMC0xNSAxMzoxNzo0NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQ2hhbmdlIGRlZmF1bHQgQUFDIFByb2ZpbGUgdG8gTG93IENvbXBsZXhpdHkgKExDKSBhcyB0aGlzIGlzIG1vcmUgd2lkZWx5IHN1cHBvcnRlZAoKMjAwOS0xMC0xNSAxMzoxNTo0MCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQ2hhbmdlIHRoZSBwYXJhbV9zcGVjIGRlZmF1bHQgdmFsdWUgZm9yIGFsbG93ZWQgYmxvY2sgdHlwZXMgdG8gbWF0Y2ggdGhlIGdzdF9mYWFjX2luaXQgdmFsdWUgb2YgJ25vcm1hbCcgYXMgdGhpcyBpcyBiZXR0ZXIKCjIwMDktMTAtMjAgMTA6NTc6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGVjayB3aWR0aC9oZWlnaHQgcmFuZ2UKCSAgQ2hlY2tzIGlmIHRoZSB3aWR0aC9oZWlnaHQgdGhhdCBhcmUgdG8gYmUgc2V0IG9uIHNyYyBwYWQgY2FwcwoJICBhcmUgd2l0aGluIHZhbGlkIHJhbmdlIG9mIFsxNiw0MDk2XQoKMjAwOS0xMC0xNiAxMDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICBncHBtdXg6IEFkZCBzdXBwb3J0IGZvciAzZ3I2CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNodW5rIGR1cmF0aW9ucyB0byBiZSBhYmxlIHRvIGFkZCAzZ3I2CgkgIGJyYW5kIGlmIGl0IGlzIGEgZmFzdHN0YXJ0IGZpbGUgYW5kIHRoZSBsb25nZXN0IGNodW5rIGlzCgkgIHNtYWxsZXIgdGhhbiBhIHNlYy4gSW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIDNncHAKCSAgVFMgMjYuMjQ0IHY2LjQuMCAoMjAwNS0wOSkKCSAgRml4ZXMgIzU4NDM2MQoKMjAwOS0xMC0xNSAyMToxMToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgcHVzaCBmdHlwIGxhdGVyIChpbiBmYXN0c3RhcnQgbW9kZSkKCSAgSW4gZmFzdHN0YXJ0IG1vZGUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2VuZCB0aGUgZnR5cAoJICByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0uIFdhaXRpbmcgYW5kIHNlbmRpbmcgaXQKCSAgb25seSBsYXRlciAod2hlbiB0aGUgbW9vdiBhdG9tIGlzIHJlYWR5IHRvIGJlIHNlbnQpIHByb3ZpZGVzCgkgIHVzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtIGFuZCB3ZSBjYW4gYmV0dGVyCgkgIHNlbGVjdCB0aGUgY29tcGF0aWJsZSBicmFuZHMuCgoyMDA5LTEwLTE1IDE3OjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wcm92ZSBlcnJvciBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IGdldCBvciBlc3RpbWF0ZSB0aGUKCSAgdGltZXN0YW1wL2R1cmF0aW9uIG9mIGEgYnVmZmVyCgoyMDA5LTEwLTI2IDAwOjQyOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBDb21taXQgYnVtcGVkIHZlcnNpb24gbnVtYmVyCgoyMDA5LTEwLTI0IDE2OjMxOjI2IC0wNDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjogZml4IGJ1aWxkCgoyMDA5LTEwLTE5IDE1OjU0OjI5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvciBnc3RyZWFtZXIgY29yZSB1bml0IHRlc3QgZnJhbWV3b3JrIHVwZGF0ZQoJICBTZXQgY2FtZXJhYmluIHN0YXRlIHRvIE5VTEwgaW4gdGhlIGVhY2ggdGVzdCBjYXNlIGVuZC4KCjIwMDktMTAtMTkgMTQ6NTQ6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgYWJicmV2aWF0aW9ucyBmcm9tIHRoZSBwcm9wZXJ0eSBuYW1lcy4gRml4ZXMgIzU3MzM3MCAocGFydGlhbHkpCgkgIEFsc28gcmVuYW1lIHRoZWlyIHVzZSBpbiB0ZXN0cyBhbmQgZXhhbXBsZXMuCgoyMDA5LTEwLTE2IDExOjUwOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlIGdzdC1nbGliLWdlbi5tYWsgdG8gZml4IHRoZSBnbGliIGJ1aWxkIHJ1bGVzLgoJICBUaGUgYnVpbGQgcnVsZXMgaW4gZ2xpYi1nZW4ubWFrIHdlcmUgdXNpbmcgcGF0dGVybiBydWxlcyBpbiBhIG5vbiBzYXZlIHdheS4KCjIwMDktMTAtMTYgMTE6MjE6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIG1vcmUKCjIwMDktMTAtMTUgMTc6NDU6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBzZXQgY2FtZXJhYmluIHRvIFJFQURZIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGVsZW1lbnRzCgoyMDA5LTEwLTE0IDE3OjQyOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IHVzZSBHX0RJUl9TRVBBUkFUT1JfUyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBzbGFzaGVzCgoyMDA5LTEwLTE1IDE3OjE3OjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY2xlYW51cHMKCSAgQWxpZ24gZWxlbWVudCBpbml0aWFsaXNhdGlvbi4gVGhpcyBzaG91bGQgYmUgcmUtdGhvdWdodCwgZ19vYmplY3RfbmV3IHplcm9zIHRoaW5ncyBhbHJlYWR5LgoJICBIYXJtb25pemUgdGhlIGVsZW1lbnQgZ2V0dGVycyBmb3IgdGhlIHNyYy9zaW5rcyB0byByZXR1cm4gd2hhdCB3ZSBhY3R1YWx5IHVzZS4KCjIwMDktMTAtMTUgMTY6NDE6MTIgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBpbXBsZW1lbnQgdmlkZW8gcHJldmlldyBjcmVhdGlvbgoJICBDb21wbGV0ZXMgcHJldmlldyBjcmVhdGlvbiBtZWNoYW5pc20gdG8gYmUgYWJsZSB0byBwcm92aWRlIGEgcHJldmlldwoJICBpbWFnZSBmb3IgdmlkZW8gY2xpcHMgdG9vLgoKMjAwOS0xMC0xNSAxNjoxNTowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgY2FtZXJhYmluIGRlZmF1bHQgc291cmNlcy9zaW5rcyBsaWtlIGluIHBsYXliaW4yLiBGaXhlcyAjNTc0NDM0CgkgIFRoaXMgdXNlcyBzYW1lIGFwcHJvYWNoIGxpa2UgaW4gcGxheWJpbiwgbmFtZWx5IGNoZWNraW5nIGZvciB1c2VyIGRlZmluZWQKCSAgZWxlbWVudCwgYXV0b3thdWRpbyx2aWRlb317c2luayxzcmN9IGFuZCBmaW5hbGx5IERFRkFVTFRfe0FVRElPLFZJREVPfXtTUkMsU0lOS30KCSAgZGVmaW5lcyBmcm9tIGNvbmZpZy5oLgoKMjAwOS0xMC0xNSAxNTo1OToyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBkb24ndCByZWZlcmVuY2UgZnJlZWQgcG9pbnRlciB3aGVuIGJ1aWxkaW5nIHBvcnRuYW1lcwoKMjAwOS0xMC0wOCAxNToxODowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgY29sb3IgbWF0cml4IHRvIFJHQi0+WUNiQ3IgY29udmVyc2lvbgoKMjAwOS0xMC0wOCAxNDozMzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgY29sb3IgbWF0cml4IHNlbGVjdGlvbiB0byBjb2djb2xvcnNwYWNlCgkgIEV2ZW50dWFsbHkgaG9vayBpdCB1cCB0byBjYXBzIHZpYSBnc3R2aWRlbwoKMjAwOS0xMC0wOCAxMzoyNDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2c6IEltcHJvdmUgUkdCPC0+WUNiQ3IgbWF0cml4aW5nCgkgIFlDYkNyLT5SR0Igbm93IGhhcyBhICdiaXRzJyBzZXR0aW5nLCB3aGljaCBjb250cm9scyB0aGUgbnVtYmVyCgkgIG9mIGJpdHMgdXNlZCBmb3IgdGhlIG1hdHJpeCBjb2VmZmljaWVudHMuICBDaG9pY2VzIGFyZSA2IG9yIDguCgkgIDYgaXMgbG93IHF1YWxpdHksIGJ1dCBmYXN0ZXIuCgkgIFJHQi0+WUNiQ3Igbm93IHdvcmtzLiAgQWx3YXlzIHdvcmtzIGluIDggYml0LCBzaW5jZSBpdCdzIHRoZSBzYW1lCgkgIHNwZWVkIGFzIDYgYml0LgoKMjAwOS0xMC0wOCAxMzoyMzo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IEFZVVYgdW5wYWNraW5nCgoyMDA5LTEwLTA3IDE2OjMwOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBoYWNraW5nIHRvIGltcHJvdmUgbWF0cml4IHF1YWxpdHkKCjIwMDktMTAtMjQgMjA6MzM6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQW5kIGJhY2sgdG8gZGV2ZWxvcG1lbnQgd2UgZ28KCj09PSByZWxlYXNlIDAuMTAuMTYgPT09CgoyMDA5LTEwLTIzIDIzOjE2OjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTYKCjIwMDktMTAtMjMgMjM6MTU6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTEwLTIzIDExOjAwOjUzICswMzAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgRml4IHN0YXJ0L3N0b3AgdHlwbwoKMjAwOS0xMC0yMyAxMDo0ODoyNSArMDEwMCAgVGhvbWFzIEdyZWVuIDx0b203ODk5OUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBidWlsZCBuZW9uaHR0cHNyYyB3aXRoIGxpYm5lb24tMjkueAoJICBGaXhlcyAjNTk5MzMyLgoKMjAwOS0xMC0yMyAxMDoxODoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVzZSBndWludDY0IGluc3RlYWQgb2YgdWludDY0X3QuIEZpeGVzICM1OTkzNTUKCjIwMDktMTAtMjIgMTQ6MDA6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBSZXZlcnQgImRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjayIKCSAgZ3N0LXBsdWdpbnMtYmFkIGlzIHN0aWxsIGZyb3plbiBmb3IgZ2VuZXJhbCBjb21taXRzLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJlNDEzMTkyNmYyNzI2ZmU4ZmVlNWMzOWRkOTM1N2YxNDc2NGQwY2IuCgoyMDA5LTEwLTIyIDE0OjI2OjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2sKCjIwMDktMTAtMjIgMTE6NDM6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3BzbXV4OiBzb21lIG1pbm9yIGJ1aWxkIGZpeGVzCgkgIENMRkFHUyAtPiBDRkxBR1MsIGFuZCBmaXggb3JkZXIgb2YgdmFyaWFibGVzIHdoaWxlIHdlJ3JlIGF0IGl0LgoKMjAwOS0xMC0yMiAwMDo1MDozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBUYWtlIHRoZSBvYmplY3QgbG9jayBmZXdlciB0aW1lcwoJICBXaGVuIHN0YXJ0aW5nIHVwIGFuZCBjcmVhdGluZyB0aGUgbGlzdCBvZiBlbGVtZW50IGZhY3Rvcmllcywgb25seQoJICB0YWtlIHRoZSBvYmplY3QgbG9jayB0d2ljZSBpbnN0ZWFkIG9mIDMgdGltZXMuCgoyMDA5LTEwLTIxIDIzOjA2OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoZW4gcHVzaGluZwoJICBXaGVuIHB1c2hpbmcgb3V0IGNhY2hlZCBldmVudHMsIGRvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrLiBBdm9pZHMKCSAgZGVhZGxvY2tzIHN0YXJ0aW5nIHVwIERWRCBwbGF5YmFjay4KCjIwMDktMTAtMjIgMTE6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGZhYWM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIEZpeGVzIGJ1ZyAjNTk5MjcyLgoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDktMTAtMjEgMTc6MTQ6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVsZWFzZSAwLjEwLjE1CgoyMDA5LTEwLTIxIDE2OjUxOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMC0xNiAxNDozNzowMiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGFjdHVhbGx5IHdyaXRlIGltYWdlIHRvIEFQSUMgdGFnLgoKMjAwOS0xMC0xNiAxMjozMDo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuNCBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xNiAxMTo1MzoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBkaXN0OiBJbmNsdWRlIHZkcHNpbmsuaCBpbiB0aGUgdGFyYmFsbCB0byBmaXggdGhlIGRpc3QuCgoyMDA5LTEwLTE2IDExOjA4OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IFVzZSBnc3RfYnVmZmVyX3JlZi91bnJlZiwgbm90IGdzdF9vYmplY3RfcmVmL3VucmVmCgkgIHByb3Blcmx5IGZpeGVzOiAjNTk4Mjc0CgoyMDA5LTEwLTE2IDAxOjI2OjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFVzZSBnc3RfcGFkX3BlZXJfYWNjZXB0X2NhcHMgaW5zdGVhZCBvZiBnc3RfcGFkX3NldF9jYXBzLgoJICBnc3RfcGFkX3NldF9jYXBzIG9uIHRoZSBpbnRlcm5hbCBzb3VyY2UgcGFkIGFsd2F5cyBzdWNjZWVkcywgYmVjYXVzZQoJICBjYXBzIHByb3BhZ2F0ZSB0byB0aGUgcGVlciB3aXRoIGJ1ZmZlcnMsIG5vdCBpbW1lZGlhdGVseS4gVXNpbmcKCSAgZ3N0X3BhZF9wZWVyX2FjY2VwdF9jYXBzIHByb3Blcmx5IGNoZWNrcyB3aGV0aGVyIHRoZSBhY3R1YWwKCSAgc3ViLWVsZW1lbnQgY2FuIGFjY2VwdCBjYXBzIHdoZW4gdGhleSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTYgMDE6MDk6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmUtc2VuZCBhdWRpbyBzdHJlYW0gc2VsZWN0IG9uIHJlLWNvbmZpZ3VyYXRpb24KCSAgV2hlbiB0aGUgbGF5b3V0IG9mIHRoZSBhdWRpbyBzdHJlYW1zIGNoYW5nZXMsIHJlLXNlbmQgdGhlIGN1cnJlbnQKCSAgYXVkaW8gc3RyZWFtIHNlbGVjdGlvbiBldmVudCwgaW4gb3JkZXIgdG8gdHJpZ2dlciBzd2l0Y2hpbmcgdG8gdGhlCgkgIG5ldyBzdHJlYW0gcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTYgMDA6NTA6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IGEgc21hbGwgZmxhdyAtIGlmIGFueSBhdWRpbyBzdHJlYW0gZXhpc3RzLCB1c2UgaXQKCSAgRG9uJ3QgY3JlYXRlIGEgZHVtbXkgYXVkaW8gc3RyZWFtIGlmIG9ubHkgbm9uLUFDMyB0cmFja3MgZXhpc3QuCgoyMDA5LTEwLTE2IDEwOjE2OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg1ZDE1MzAgdG8gMDcwMmZlMQoKMjAwOS0xMC0xNSAyMzo0ODo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xNCAxMTowNjo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogRml4IGRlY29kZXIgcGFkIHRlbXBsYXRlIHRvIGFsbG93IExQQ00KCSAgVGhlIHBhZCB0ZW1wbGF0ZSBpbiB0aGUgbmV3IHN3aXRjaGluZyBkZWNvZGVyIGlzIHRvbyByZXN0cmljdGl2ZSwKCSAgcHJldmVudGluZyB0aGUgTFBDTSBkZWNvZGVyIGZyb20gYmVpbmcgc2VsZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTQgMTA6NDE6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzZTNjZTQgdG8gODVkMTUzMAoKMjAwOS0xMC0xMyAxMzowNTo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IERvbid0IGxlYWsgYSByZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBpbiByc25hdWRpb211bmdlCgkgIERvbid0IGxlYWsgYSByZWZlcmVuY2UgdG8gdGhlIHBhZCBwYXJlbnQgaW4gdGhlIHNpbmsgcGFkIGV2ZW50IGhhbmRsZXIKCSAgaW4gcnNuYXVkaW9tdW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODI2MwoKMjAwOS0xMC0xMyAxMzowNDo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBGaXggcmVmZXJlbmNlIGxlYWsgb24gYWxsIGlucHV0IGJ1ZmZlcnMgaW4gJ2R2ZCBtb2RlJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4Mjc0CgoyMDA5LTEwLTEzIDE2OjAxOjI2ICswMjAwICBQZXRlciBDaHJpc3RvZmZlcnNlbiA8Z25vbWUtYnVnemlsbGFAcGx5dC5kaz4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDI6IERvbid0IGxlYWsgZWxlbWVudCByZWZlcmVuY2UgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24KCSAgRml4ZXMgYnVnICM1OTgxMzkuCgoyMDA5LTEwLTEyIDE0OjI3OjU3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4yIHByZS1yZWxlYXNlCgoyMDA5LTEwLTEyIDEyOjI5OjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeGVzIHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMiAwOTowNjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZW5zdXJlIHNlZ3RvdGFsIGlzIGF0IGxlYXN0IDIKCSAgTm90IG9ubHkgYWRqdXN0IGJ1ZmZlci10aW1lIGFuZCBhdm9pZCBzZWd0b3RhbD0wLCBidXQgaW5zdGVhZCBlbnN1cmUgc2VndG90YWwgaXMKCSAgYXRsZWFzdCAyLiBEbyBzYW1lIGNoYW5nZSBvbiBqYWNrc3JjLiBXZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBsYXRlbmN5IGFuZCBidWZmZXIKCSAgdGltZSBjb25maWd1cmVkIGJ5IHRoZSBjbGllbnQgYW5kIGFkanVzdCBidWZmZXItdGltZSBzbyB0aGF0IHdlIGdldCB0byB0aGUgc2FtZQoJICBudW1iZXIgb2Ygc2VnbWVudHMuCgoyMDA5LTEwLTEyIDAwOjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IGRvbid0IGNyYXNoIGluIHJpbmdidWZmZXIgd2l0aCBTSUdGUEUgb24gc21hbGwgYnVmZmVyLXRpbWVzCgkgIEphY2sgb3ZlcnJpZGVzIHVzZXItc3BlY2lmaWVkIGxhdGVuY3ktdGltZSB3aXRoIHRoZSBvbmUgaXQgZ2V0cyBmcm9tIGphY2sKCSAgaXRzZWxmLiBJdCBhbHNvIG5lZWRzIHRvIGFkanVzdCBidWZmZXItdGltZSBzb21ld2hhdCB0byBhdm9pZCBzZWd0b3RhbCBiZWluZyAwCgoyMDA5LTEwLTExIDIyOjEwOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBpbml0IHZhcmlhYmxlcwoJICBtZXRhZGF0YW11eF9leGlmX2dldF9leGlmX2Zyb21fdGFnKCkgZG9lcyBub3QgbmVjY2VzYXJpbHkgaW5pdCB0aGUgcGFzc2VkCgkgIHZhcmlhYmxlcy4KCjIwMDktMTAtMDMgMjE6MzU6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlIHRoZSB0eXBlIGRlZmluZSBsaWtlIGV2ZXJ5d2hlcmUgZWxzZQoKMjAwOS0xMC0wMyAyMTozMTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29ydDogcmVnaXN0ZXIgZGVidWcgY2F0ZWdvcnkganVzdCBvbmNlCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSB0cnlpbmcgdG8gcmVnaXN0ZXIgaXQgZm9yIGV2ZXJ5IHN1YmNsYXNzLgoKMjAwOS0xMC0xMSAxNDoxMDo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogZml4ZXMgd2FybmluZ3Mgb24gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxNDowMjoyNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hyb2VkaW5nZXI6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjU2OjQzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJICBtZXRhZGF0YTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NTE6NTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZml4ZXMgd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjQ2OjAwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBmaXggd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjEzOjU2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzowNzoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEyOjU2OjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMTozNToyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjI3OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MjI6MTEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToxNDoxNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlbzogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMDkgMTM6MTg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgYXNzcmVuZGVyL2R2ZHNwdTogSW5jcmVhc2UgcmFua3MgdG8gUFJJTUFSWQoKMjAwOS0xMC0wOSAwOToxOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEluY2x1ZGUgU3ViUGljdHVyZSBpbiB0aGUgY2xhc3NpZmljYXRpb24KCjIwMDktMTAtMDkgMDk6MTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIGNsYXNzaWZpY2F0aW9uIGEgYml0IG1vcmUgYWNjdXJhdGUKCSAgQ2hhbmdlIGZyb20gIkZpbHRlci9FZmZlY3QvVmlkZW8iIHRvICJNaXhlci9WaWRlby9PdmVybGF5L1N1YnRpdGxlIgoKMjAwOS0xMC0wOCAxOTo1MTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTEwLTA4IDExOjAwOjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5ZmE0ZjMgdG8gYTNlM2NlNAoKMjAwOS0xMC0wNyAxNjoyOTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm86IHJlbW92ZSB1bnVzZWQgaW5jbHVkZSBvZiBsaWJvaWwuaAoKMjAwOS0xMC0wNyAxNTo0MzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBjb3B5IHRyYWlsaW5nIE5VTEwgb2Ygc3RyaW5ncyBpbiB4bXAgbWV0YWRhdGEKCSAgQWxzbyB1c2VpbmcgZ19zdHJkdXAsIGZpeGVzIHRoZSBtYWxsb2MgPC0+IGdfZnJlZSBtaXNtYXRjaC4KCjIwMDktMTAtMDcgMTU6MjY6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgYnVpbGQ6IGZwcmludGYsIHNwcmludGYsIHNzY2FuZiBuZWVkIHN0ZGlvLmgKCjIwMDktMDktMTggMTg6NDU6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21pbWljLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgbWltaWMgZWxlbWVudHMKCjIwMDktMDktMTggMTc6NDc6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZW1vdmUgaW52YWxpZCB0b2RvCgoyMDA5LTEwLTA2IDE4OjM2OjE1ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogSWdub3JlIGVtcGhhc2lzIG9uL29mZiBieXRlcywgYW5kIGRvIGZhbGxiYWNrIHN0cmluZyBlbmNvZGluZy4KCSAgRm9yIGZhbGxiYWNrLCB0cnkgSVNPIDg4NTktOSBlbmNvZGluZyBpZiBJU08gNjYzNyBmYWlsZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGNhbGxzLgoKMjAwOS0xMC0wNSAxNzowNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiB2YXJpb3VzIGZpeGVzCgkgIC0gV29yayBhcm91bmQgQmFzZUVuY29kZXIgYnVnIG5vdCB0cmFja2luZyBmcmFtZSBpbmRleCBlYXJseS4KCSAgLSBGaXggY29udmVyc2lvbiBvZiBVWVZZLCBZVVkyLCBBWVVWIHRvIGludGVybmFsIGZvcm1hdC4KCjIwMDktMTAtMDUgMTY6MTY6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBSZXZlcnQgIkNhbGwgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0YzA4N2JjYjA3MmRjYzk4NDdiMTFjMDAxMjNjZjkzYzVlNTQxZGNiLgoJICBUaGUgcmV2ZXJ0ZWQgY29tbWl0IGNoYW5nZXMgdGhlIG9yZGVyIHRoYXQgc2V0X2Zvcm1hdCgpIGFuZCBzdGFydCgpCgkgIGFyZSBjYWxsZWQsIHdoaWNoIGlzIGluY29ycmVjdC4gIFRoZSBjb3JyZWN0IG9yZGVyIGlzIHNldF9mb3JtYXQoKSwKCSAgc3RhcnQoKSwgaGFuZGxlX2ZyYW1lKCkuLi4sIHN0b3AoKQoKMjAwOS0xMC0wNSAxMzozMzoyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IEZyZWUgZnJhbWUgdXNpbmcgdXRpbGl0eSBmdW5jdGlvbgoKMjAwOS0xMC0wNSAyMToxMToxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogRml4IGNhcHMgdW5saW5rZWQgbmVnb3RpYXRpb24KCSAgbW92ZSBjYXBzIHJlbGF0ZWQgY29kZSB0byBnc3RfZGlyYWNfZW5jX3NldF9mb3JtYXQsIGFuZAoJICB1c2UgdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUgdG8gZ2V0IGFsbG93ZWQgY2FwcyB3aGVuIHRoZXJlIGlzCgkgIG5vIHBlZXIgcGFkLgoKMjAwOS0xMC0wNSAxOTo0OTowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogV2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQsIHVzZSB0aGUgcGFkIHRlbXBsYXRlCgkgIEZvciBuZWdvdGlhdGlvbiwgdXNlIHRoZSBzb3VyY2UgcGFkIHBhZCB0ZW1wbGF0ZSB3aGVuIGl0IGRvZXNuJ3QKCSAgaGF2ZSBhIHBlZXIuCgoyMDA5LTEwLTA1IDE1OjQ3OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBGYWlsIGlmIGNhcHMgZG9uJ3QgY29udGFpbiBhIGZyYW1lcmF0ZSBmaWVsZAoJICBSZXR1cm4gZmFsc2UgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIG5vIGZyYW1lcmF0ZQoJICBmaWVsZCBpbiB0aGUgcHJvdmlkZWQgY2FwcwoKMjAwOS0xMC0wNSAxMToxNTowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IFdyaXRlIFVURi0xNiBieXRlIG9yZGVyIG1hcmtlciBjb3JyZWN0bHkuCgoyMDA5LTEwLTA1IDE2OjM5OjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IG1vdmUgY2FwcyByZWxhdGVkIGNvZGUgdG8gZ3N0X3NjaHJvX2VuY19zZXRfZm9ybWF0LgoKMjAwOS0xMC0wNSAxNToyODo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBndGsteDExIGV4cGxpY2l0bHkuCgkgIEZpeGVzIHRoZSBidWlsZCBvbiBPU1ggaWYgZ3RrKy1xdWFydHogaXMgaW5zdGFsbGVkLgoKMjAwOS0xMC0wNSAxNToyNjoxNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdhcm5pbmcgd2l0aCBnY2MtNC4yLgoKMjAwOS0xMC0wNSAxMTo0Nzo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgQWRkIGZhYWMgdGVzdCBiaW5hcnkgdG8gdGhlIGdpdCBpZ25vcmVzCgoyMDA5LTEwLTA1IDExOjQ3OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQ1hYRkxBR1MgYW5kIEdTVF9DRkxBR1MgdG8gcHVsbCBpbiBsb2NhbCBnc3QtbGlicyBpbmNsdWRlcy4KCSAgTW92ZSB0aGUgR1NUX0NYWEZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHRvIHRoZSBzdGFydCBvZiB0aGUgaW5jbHVkZXMgc2V0CgkgIHRvIHB1bGwgaW4gdGhlIGxvY2FsIGdzdC1saWJzIGZyb20gdGhlcmUgZmlyc3QsIGluc3RlYWQgb2YgbGlzdGluZwoJICBpdCBleHBsaWNpdGx5LgoKMjAwOS0xMC0wNSAxMTowMjoxNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBkaXJhYy9zY2hyb2RpbmdlcgoJICBJbmNsdWRlIHRoZSBsb2NhbCBoZWFkZXJzIGFuZCBsaWJzIGJlZm9yZSBvbmVzIG91dHNpZGUgdGhpcwoJICBtb2R1bGUuCgoyMDA5LTEwLTAyIDE2OjM1OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBkaXJhYzogY29udmVydCB0byBCYXNlVmlkZW9FbmNvZGVyCgoyMDA5LTA5LTI3IDE0OjI1OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGhhY2tpbmcKCSAgQWRkIFJHQiB0byBZQ2JDciBtYXRyaXhpbmcKCSAgQWRkIHRpbnkgY29sb3IgbWFuYWdlbWVudCBzeXN0ZW0gKENNUykgZm9yIHZpZGVvCgkgIEFkZCBxdWFsaXR5IGxldmVsIGZvciBjb2xvcnNwYWNlCgoyMDA5LTA5LTI1IDE4OjE0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogcmVzZXQgY2FjaGUgaW5zdGVhZCBvZiByZXR1cm5pbmcgTlVMTAoJICBSZXR1cm5pbmcgTlVMTCBtYWtlcyB0aGluZ3MgY3Jhc2guICBSZXNldHRpbmcgdGhlIGNhY2hlCgkgIG1ha2VzIHRoaW5ncyBydW4gc2xvdy4gIFN0aWxsIGFuIHVuZGVybHlpbmcgYnVnIHNvbWV3aGVyZSwKCSAgYnV0IG5vdCBjcml0aWNhbC4KCjIwMDktMDktMjMgMTM6MTc6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IEhhbmRsZSBsb29rYWhlYWQsIGRpc2NvbnQKCjIwMDktMTAtMDIgMTk6MDg6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGJ1aWxkOiBhZGQgbWlzc2luZyBzdGRsaWIgaW5jbHVkZSB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTEwLTAyIDE0OjI1OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIEFkZCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzZXRfc2lua19jYXBzIHZmdW5jLgoKMjAwOS0xMC0wMiAxMjo0MDowMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBDYWxsIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4KCjIwMDktMTAtMDEgMTY6MDY6MDIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgRG9uJ3QgaWdub3JlIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIEdzdEJhc2VWaWRlb0VuY29kZXI6OnNldF9mb3JtYXQuCgoyMDA5LTEwLTAxIDE2OjEyOjE1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgRml4IHNjaHJvZW5jIGZvciByZWZjb3VudCBjaGFuZ2UgaW4gR3N0QmFzZVZpZGVvRW5jb2Rlci4KCjIwMDktMTAtMDEgMTU6NTA6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgVW5yZWYgZnJhbWUtPnNpbmtfYnVmZmVyIGluIGdzdF9iYXNlX3ZpZGVvX2VuY29kZXJfZmluaXNoX2ZyYW1lCgoyMDA5LTEwLTAxIDE2OjExOjQ2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgTWFrZSBnc3Rfc2Nocm9fZW5jX2hhbmRsZV9mcmFtZSByZXR1cm4gR3N0Rmxvd1JldHVybi4KCjIwMDktMTAtMDEgMTY6MjY6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgTWFrZSBHc3RCYXNlVmlkZW9FbmNvZGVyOjpoYW5kbGVfZnJhbWUgcmV0dXJuIEdzdEZsb3dSZXR1cm4KCjIwMDktMTAtMDEgMTY6MjQ6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgQ2FsbCBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uCgoyMDA5LTEwLTAyIDEyOjA0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICBGaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOS0xMC0wMiAxMzowMjozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHBvc3QgYSBtZXNzYWdlIGluc3RlYWQgb2YgcHJpbnRpbmcgdGhlIGNvZGUgdG8gc3Rkb3V0CgkgIERvY21lbnQgdGhlIG1lc3NhZ2UgZm9ybWF0IHRoYXQgd2Ugc2VudC4gQWRkIGEgcHJvcGVydHkgdG8gdHVybiBtZXNzYWdlIHNlbmRpbmcgb2ZmLgoKMjAwOS0xMC0wMiAxMToyMzo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvYyBzY2FuIGZpbGVzCgoyMDA5LTEwLTAyIDExOjIyOjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGNsZWFudXBzCgkgIFVzZSBzdGFydC9zdG9wIHRvIG1hbmFnZSB0aGUgY2FjaGUuIEZldyBjb2RlIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDktMTAtMDIgMTE6MDk6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiBhZGQgemJhciBwbHVnaW4KCjIwMDktMTAtMDIgMTA6Mzc6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgemJhcjogYWRkIG5ldyBwbHVnaW4gdG8gdGhlIGJ1aWxkIGhlcmUgdG9vCgoyMDA5LTEwLTAyIDEwOjMyOjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBrZWVwIGxpc3Qgc29ydGVkCgoyMDA5LTEwLTAyIDA3OjQ2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgc3lzdGVtLCB6YmFyIGlzIG5vIGRlcGVuZGVuY3ktbGVzcyBwbHVnaW4KCjIwMDktMTAtMDEgMjM6NTE6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiB3cmFwIHpiYXIgbGlicmFyeSBhcyBhIGltYWdlIGFuYWx5emVyCgkgIHpiYXIgaXMgYSBiYXIgY29kZSBzY2FubmVyIGxpYnJhcnkuCgoyMDA5LTEwLTAxIDE3OjE5OjU0ICswMTAwICBDaHJpc3RpYW4gRi5LLiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzIGFuZCByZW1vdmUgZmlsZSBmcm9tIE1BTklGRVNUIHdoaWNoIGlzbid0IHRoZXJlIGFueSBsb25nZXIKCjIwMDktMDktMDIgMTU6MjY6MTUgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogY2hhbmdlIFhNUCBsb2NhdGlvbiB0YWdzIHRvIHN0YXJ0IHdpdGggY2FwaXRhbHMKCjIwMDktMDgtMjUgMTA6MTA6MTUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGRlYWRsb2NrIHdoZW4gZXJyb3Igb2NjdXJzIGF0IHZpZGVvIHJlY29yZGluZyBzdGFydHVwCgoyMDA5LTA4LTI3IDE0OjM1OjI2ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGhhbmRsZSBwcmV2aWV3LWNhcHMgb25seSBpbiBpbWFnZSBtb2RlIGFuZCBvbmx5IHdoZW4gdGhleSBjaGFuZ2UKCSAgVGhpcyBwcmV2ZW50cyBjYW1lcmFiaW4gdG8gY3JlYXRlIHByZXZpZXcgcGlwZWxpbmUgZXZlcnkgdGltZSB3aGVuCgkgIGFwcGxpY2F0aW9uIHJlLXNldHMgdGhlIHNhbWUgY2FwcyBhZ2Fpbi4KCjIwMDktMDgtMjUgMDk6MzU6MDcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogZG9uJ3Qgc2VuZCBtdWx0aXBsZSBFT1MgZXZlbnRzIHRvIHZpZGVvIHBpcGVsaW5lCgoyMDA5LTA4LTIyIDE3OjA5OjM5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogZml4IHNjZW5lIG1vZGUgc2V0dGluZwoJICBDYW1lcmFiaW4gY2FjaGVzIHBob3RvZ3JhcGh5IHNldHRpbmdzLCBidXQgaXQgZGlkbid0IHRha2UgaW50byBhY2NvdW50CgkgIHRoYXQgc2NlbmUgbW9kZSBzZXR0aW5nIG1heSBjaGFuZ2Ugb3RoZXIgc2V0dGluZ3MgYXMgd2VsbC4gU28sIGNvbmZpZwoJICBuZWVkcyB0byBiZSByZWFkIGJhY2sgZnJvbSBkZXZpY2UgYWZ0ZXIgc2NlbmUgbW9kZSBpcyBzZXQuCgoyMDA5LTA4LTIxIDA5OjE0OjMxICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFsbG93IG1vZGUgcGFyYW1ldGVyIHNldHRpbmcgaW4gTlVMTCBzdGF0ZQoKMjAwOS0wOC0yMCAxNzo1NToyNiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhbGxvdyBjYXB0dXJlIHJlc29sdXRpb24gdG8gYmUgc2V0IGluIE5VTEwgc3RhdGUKCjIwMDktMDktMTAgMTU6MTY6MjMgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGltYWdlIHF1ZXVlIHBhcmFtZXRlciBzZXR0aW5nCgkgIENhbWVyYWJpbiBpbmNvcnJlY3RseSB1c2VkIEdfR1VJTlQ2NF9DT05TVEFOVCBtYWNybyBmb3Igc2V0dGluZwoJICAibWF4LXNpemUtYnVmZmVycyIgYW5kICJtYXgtc2l6ZS1ieXRlcyIgcHJvcGVydGllcyBpbiBpbWFnZSBxdWV1ZSwKCSAgZXZlbiB3aGVuIHRoZXkgYXJlbid0IDY0Yml0IGludGVnZXJzLgoKMjAwOS0wOC0xMiAxMToxMDo1NSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggd2FybmluZyB3aXRoIGdfb2JqZWN0X2dldCBhbmQgam9pbiBzZXBhcmF0ZSBnX29iamVjdF9zZXRzIGludG8gb25lCgoyMDA5LTA3LTMxIDExOjU3OjEyICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJlc2V0IGFjdGl2ZS1wYWQgaW4gb3V0cHV0LXNlbGVjdG9yIGFmdGVyIFJFQURZIHN0YXRlCgkgIENhbWVyYWJpbiBzZXRzIGl0c2VsZiB0byBSRUFEWSBzdGF0ZSBkdXJpbmcgcmVzb2x1dGlvbiBjaGFuZ2UuIFRoaXMKCSAgb3BlcmF0aW9uIG1ha2VzIG91dHB1dC1zZWxlY3RvciB0byBmb3JnZXQgaXRzIGN1cnJlbnRseSBhY3RpdmUgcGFkLAoJICBzbyBpdCBtdXN0IGJlIHNldCBhZ2FpbiBhZnRlciBzdGF0ZSBjaGFuZ2UuCgoyMDA5LTA2LTI5IDE1OjIzOjI1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHJlc2V0IGNhcHNmaWx0ZXJzIG9yIHpvb20gaWYgZXJyb3Igb2NjdXJzCgkgIElmIGFuIGVycm9yIG9jY3VycywgYXBwbGljYXRpb24gc2hvdWxkIHNldCBwaXBlbGluZSB0byBOVUxMLCBhbmQgdXBkYXRpbmcKCSAgem9vbSBjYW4gYWN0dWFsbHkgYmxvY2sgbWVzc2FnZSBoYW5kbGluZyBpZiB2aWRlbyBkZXZpY2UgZHJpdmVyIGhhcyBmYWlsZWQKCSAgYW5kIHZpZGVvIHNyYyBlbGVtZW50IHN1cHBvcnRzIHpvb21pbmcgdXNpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBTX0NST1AuCgoyMDA5LTEwLTAxIDE3OjE3OjAzICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBsaW5rIHdpdGggbGlibQoKMjAwOS0xMC0wMSAxNTowOToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkYmluOiBJZiBubyBzdWl0YWJsZSBhdWRpbyBkZWNvZGVyIGlzIGZvdW5kIHBsYXkgdGhlIERWRCB3aXRob3V0IGF1ZGlvCgoyMDA5LTEwLTAxIDE0OjU0OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogQWxzbyBwb3N0IG1pc3NpbmcgZWxlbWVudCBtZXNzYWdlcyBpZiBhbnkgb3RoZXIgZWxlbWVudCBpcyBtaXNzaW5nCgoyMDA5LTEwLTAxIDE0OjUyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBQb3N0IG1pc3NpbmcgZGVjb2RlciBtZXNzYWdlcyBpZiBvbmUgaXMgbWlzc2luZwoJICBGb3IgdmlkZW8gdGhpcyBpcyBhbiBlcnJvciwgZm9yIGF1ZGlvIG9ubHkgYSB3YXJuaW5nLgoKMjAwOS0xMC0wMSAxNDo0MDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFVzZSB0aGUgbmV3IHZpZGVvIGRlY29kZXIKCSAgVGhpcyBtYWtlcyByZXNpbmR2ZGJpbiB3b3JrIHdpdGggb3RoZXIgTVBFRyB2aWRlbyBkZWNvZGVycyB0aGFuCgkgIG1wZWcyZGVjLCBmb3IgZXhhbXBsZSB0aGUgRkZNUEVHIG9yIEZsdWVuZG8gTVBFRyBkZWNvZGVycy4KCjIwMDktMTAtMDEgMTQ6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuaDoKCSAgcmVzaW5kdmRiaW46IFJlbmFtZSBmaWxlcwoKMjAwOS0xMC0wMSAxNDozNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkYmluOiBSZWZhY3RvciBhdWRpbyBkZWNvZGVyIGFuZCBhZGQgYSAoTVBFRykgdmlkZW8gZGVjb2RlcgoKMjAwOS0xMC0wMSAxMzoyOTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcnNuYXVkaW9kZWM6IEdldCBkZXNpcmVkIHNpbmsgY2FwcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUKCjIwMDktMTAtMDEgMTA6NTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBVbnByZW11bHRpcGx5IENhaXJvJ3MgQVJHQiB0byBtYXRjaCBHU3RyZWFtZXIncwoKMjAwOS0wOS0yNSAxMjoyMDo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSAgVGFrZSBvZmZzZXQgZ2FwcyBpbnRvIGFjY291bnQuCgkgIFByZXZlbnRzIG1lYXN1cmVjb2xsZWN0b3IgZnJvbSBjcmFzaGluZyB3aGVuIGZyYW1lIG51bWJlcnMgYXJlIG5vdCBjb25zZWN1dGl2ZS4KCSAgRml4ZXMgYnVnICM1OTYyODUuCgoyMDA5LTA5LTI5IDE1OjQ3OjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZml4IGZsYWdzX2FzX3VpbnQgdG8gZmxhZ3NbXQoKMjAwOS0wOS0zMCAxNTo0NzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IENyZWF0ZSBleHRlcm5hbCBzcmNwYWRzIGZyb20gdGhlIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDA5LTA5LTIyIDEyOjE2OjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBJbXByb3ZlIFBHUyBwYXJzaW5nCgkgIEltcHJvdmUgKHNsaWdodGx5KSB0aGUgaW50ZXJwcmV0YXRpb24gb2YgUEdTIHNldC13aW5kb3cgYmxvY2tzCgkgIHRvIGF2b2lkIHByaW50aW5nIHdhcm5pbmdzIGFib3V0IHVudXNlZCBieXRlcyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZQoJICB3aW5kb3cgZGVmaW5pdGlvbnMuCgoyMDA5LTA5LTIyIDAxOjE2OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBGaXggcmVuZGVyaW5nIGFuZCBhZGQgZ3VhcmRzCgkgIEZpeCB0aGUgcmVuZGVyaW5nIHdoZW4gd2UgaGl0IHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlIGRpc3BsYXkKCSAgYXJlYSwgYnkgcmVzZXR0aW5nIHRvIHRoZSBjb3JyZWN0IFggY29vcmRpbmF0ZSwgYW5kIGFkZCBzb21lIG1vcmUKCSAgZ3VhcmRzIGFnYWluc3QgYmFkIFBHUyBkYXRhLgoKMjAwOS0wOS0wOCAwMDowMToyOCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgdmlkZW9zaWduYWw6IGNoYW5nZSBwYXR0ZXJuIGRhdGEgdHlwZSB0byB1aW50NjQsIGFkZCBwcm9wZXJ0eSBhbmQgbWVzc2FnZSBmaWVsZAoJICBLZWVwcyB0aGUgb2xkIHVpbnQgdHlwZWQgdmFsdWUgc3VwcG9ydCBmb3IgY29tcGF0aWJpbGl0eS4KCjIwMDktMDktMDYgMDU6MzY6NDYgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWxsb3cgcGF0dGVybi1jb3VudCBwcm9wZXJ0eSB0byBiZSAwCgoyMDA5LTA5LTA0IDIyOjUwOjM0ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBzdXBwb3J0IGZvciBwYWNrZWQgWVVWIGZvcm1hdHMKCjIwMDktMDktMDQgMjI6MzA6MjcgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICB2aWRlb3NpZ25hbDogYWRkIHN1cHBvcnQgZm9yIGFsbCBwbGFuYXIgWVVWIGZvcm1hdHMsIHVzaW5nIGdzdHZpZGVvCgoyMDA5LTA5LTA2IDAyOjQ0OjA1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBib3VuZCBjaGVja3MKCjIwMDktMDktMDQgMTY6MjU6MDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogcmVtb3ZlIHVudXNlZCBtYWNyb3MKCjIwMDktMDktMjYgMTc6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgZ3N0X2NhcHNfY2FuX2ludGVyc2VjdCgpIGJlY2F1c2UgaXQncyBmYXN0ZXIKCjIwMDktMDktMjYgMTc6MjE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByc25hdWRpb2RlYzogVXNlIGdob3N0IHBhZHMgYW5kIGFsd2F5cyBmb3J3YXJkIGFwcGxpY2F0aW9uL3gtZ3N0LWR2ZCBldmVudHMgaW1tZWRpYXRlbHkKCSAgRml4ZXMgYnVnICM1ODI3NzkuCgoyMDA5LTA5LTI2IDE3OjE5OjMyICswMjAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgYXV0b2NvbnZlcnQgaW4gcnNuYXVkaW9kZWMgYW5kIGJ1aWxkIGEgbGlzdCBvZiBwb3NzaWJsZSBkZWNvZGVycwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODI3NzkuCgoyMDA5LTA5LTI1IDE2OjU0OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHN5bmMgYmFzZXBhcnNlIGNoYW5nZQoKMjAwOS0wOS0yNSAxNzowMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBmb3JlZ28gKGJvZ3VzKSBwYXJzaW5nIG9mIGFscmVhZHkgcGFyc2VkIChyYXcpIGlucHV0CgoyMDA5LTA5LTI1IDExOjA3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSBuZXcgc2luZ2xlIGl0ZXJhdG9yIGZvciB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkcwoJICBUaGlzIGZpeGVzIGEgZGVhZGxvY2sgYW5kIHJlbW92ZXMgc29tZSB1c2VsZXNzIGNvZGUuCgoyMDA5LTA5LTI1IDExOjA0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByc25zdHJlYW1zZWxlY3RvcjogVXNlIG5ldyBzaW5nbGUgb2JqZWN0IGl0ZXJhdG9yIGZvciB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkcwoJICBUaGlzIHByZXZlbnRzIGFuIHVnbHkgZGVhZGxvY2suCgoyMDA5LTA5LTI1IDEwOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICByZXNpbmR2ZGJpbjogRG9uJ3QgYmxvY2sgdGhlIGV4dGVybmFsIGdob3N0IHBhZHMgYnV0IG9ubHkgdGhlaXIgdGFyZ2V0cwoKMjAwOS0wOS0yNCAxMToyNjoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IHVzZSBCVUlMVF9TT1VSQ0VTIGluc3RlYWQgb2YgdGVtcCBsaWJyYXJ5CgoyMDA5LTA5LTIzIDEyOjMyOjU0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIEZpeCB3YXJuaW5ncyB3aXRoIGdjYyA0LjAuMS4KCjIwMDktMDktMjIgMTI6MjU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgYWdhaW4KCjIwMDktMDktMjIgMTM6NDQ6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFJldmVydCAiTFYyIHByZXNldCBzdXBwb3J0LiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjOTVmNTljZDJkYzEyOTg5OWIzN2ZlY2FhNTJjODlkYjNkOGE1ZWY4LgoKMjAwOS0wOS0yMiAxMzo0Mzo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgUmV2ZXJ0ICJGaXggcHJvcGVydHkgaW5kZXggd2hlbiBzZXR0aW5nIHByZXNldC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGE2YjIyYjE5MTdhZjhhODlkYjE5ODFhMGY1ZGYzZGNlZTc4YjFkZC4KCjIwMDktMDktMjIgMTM6MjM6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogZml4IHRoZSBidWlsZAoJICBBZGQgYSB1bmluc3RhbGxlZCBjb252aW5pZW5jZSBsaWJ0b29sIGxpYnJhcnkgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIHNvdXJjZXMuCgkgIEFkZCB0aGF0IGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgcGx1Z2luLgoKMjAwOS0wOC0xNyAxNzoyMTo0MSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgRml4IHByb3BlcnR5IGluZGV4IHdoZW4gc2V0dGluZyBwcmVzZXQuCgoyMDA5LTA4LTE3IDE3OjA2OjQwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBMVjIgcHJlc2V0IHN1cHBvcnQuCgoyMDA5LTA5LTIyIDA4OjExOjM2ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubTogSGFuZGxlIEFTQ0lJIGVuY29kZWQgUE5NIGRhdGEgdGhhdCBpcyBzcGxpdCBvdmVyIG11bHRpcGxlIGJ1ZmZlcnMKCSAgQWxzbzoKCSAgLSB1bnJlZiBidWZmZXJzIGFmdGVyIGdzdF9idWZmZXJfc3BhbgoJICAtIGZpeCBzY2FubmluZyBvZiBoZWFkZXIgaWYgaGVhZGVyIGRhdGEgaXMgc3BsaXQgb3ZlciBzZXZlcmFsIGJ1ZmZlcnMKCSAgRml4ZXMgYnVnICM1OTU3MDAuCgoyMDA5LTA5LTIxIDExOjMzOjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndGFibGVzLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSAgY29nOiBBZGQgcXVhbGl0eSBzZXR0aW5nIHRvIGNvZ3NjYWxlCgoyMDA5LTA5LTIxIDA5OjM1OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiAocmUtKWltcGxlbWVudCAxLzIvNC10YXAgc2NhbGluZwoKMjAwOS0wOS0yMSAwOTozMDo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IHRoZSB2aXJ0dWFsIGZyYW1lIGxpbmUgY2FjaGUKCjIwMDktMDktMjEgMDk6NDk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBWQlIgcmVxdWlyZXMgY2VsdC0wLjYuMAoKMjAwOS0wOS0yMSAxMjowNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IFNwZWNpZnkgdGhhdCBwc2kgdGFibGUgaXMgc3RhdGljIGNvbnN0LgoJICBUaGlzIGF2b2lkcyByZS1hbGxvY2F0aW5nIGl0IGV2ZXJ5IHNpbmdsZSB0aW1lIHdlIGdvIGludG8gaXQuCgkgIFJvdWdobHkgMTAlIHBlcmZvcm1hbmNlIGJvb3N0IGluIG92ZXJhbGwgdHNwYXJzZSBwcm9jZXNzaW5nIHRpbWUuCgoyMDA5LTA5LTIwIDE3OjUzOjI0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBSZXZlcnQgIm1wZWd0c3BhcnNlOiB1c2UgZml4ZWQgc2l6ZSBhcnJheSByYXRoZXIgdGhhbiBkeW5hbWljYWxseSBhbGxvY2F0aW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFlNzViNmYzNjY2NTEyODg3YWU1MjZmMTZhMWFkNDFiYmYyNTE3YWMuCgoyMDA5LTA5LTIwIDE1OjMwOjU5ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYXJzZTogdXNlIGZpeGVkIHNpemUgYXJyYXkgcmF0aGVyIHRoYW4gZHluYW1pY2FsbHkgYWxsb2NhdGluZwoKMjAwOS0wOS0yMCAxNToxODo0NiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogcmVwbGFjZSBzdHJlYW1zIGhhc2h0YWJsZSB3aXRoIGFuIGFycmF5IG9mIHN0cmVhbXMKCjIwMDktMDktMjAgMTQ6MDg6NTAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHVucmVmIGNhcHMgb24gZGlzcG9zZSwgcmVzZXQgcGFja2V0IHNpemUgb24gX3Jlc2V0CgoyMDA5LTA5LTIwIDEzOjE1OjE0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBtYWtlIHN1cmUgcGFja2V0c2l6ZSBpcyBzZXQgb24gY2FwcyBvZiBidWZmZXJzCgoyMDA5LTA5LTIwIDEyOjM4OjAwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYXJzZTogZGV0ZWN0IHBhY2tldHNpemUgYW5kIGRvbid0IGp1c3QgYXNzdW1lIDE4OCBieXRlcy4KCjIwMDktMDktMTkgMTQ6MTA6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IEFkZCBjb21wbGV4aXR5LCBjYnIsIGFuZCBtYXgtYml0cmF0ZSBwcm9wZXJ0aWVzCgoyMDA5LTA5LTE5IDEzOjMyOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nb3JjLmM6CgkqIGV4dC9jb2cvY29nb3JjLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2c6IGF1dG9nZW5lcmF0ZSBjb2RlLCBjb2xvcnNwYWNlIGltcHJvdmVtZW50cwoKMjAwOS0wOS0xOCAyMDoyNzo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgLy8gY29tbWVudHMKCjIwMDktMDktMTYgMjA6Mzk6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBEb24ndCB1c2UgR3N0SXRlcmF0b3IsIGRvIGNoYW5nZSBkZXRlY3Rpb24gb3Vyc2VsdmVzLgoJICBVc2luZyBhIEdzdEl0ZXJhdG9yIGlzIHNsb3cgYmVjYXVzZSB3ZSBoYXZlIHRvIGNyZWF0ZS9kZXN0cm95IHRoYXQKCSAgaXRlcmF0b3IgZXZlcnkgc2luZ2xlIHRpbWUuCgkgIFdlIGp1c3QgZG8gdGhlIHRocmVhZHNhZmUgY29va2llIGNoZWNrIGFuZCBsaXN0IGl0ZXJhdGlvbiBvdXJzZWx2ZXMuCgoyMDA5LTA5LTE1IDIzOjE4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogQXZvaWQgdHlwZS1jaGVja2luZyBjYXN0cyBpbiB0aWdodCBsb29wcwoKMjAwOS0wOS0xNSAyMzoxMjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBNYWtlIG5leHRfcGFja2V0KCkgcmV0dXJuIGFuIGVudW0uCgkgIFRoaXMgYXZvaWRzIGNhbGxpbmcgYW4gZXh0cmEgZ3N0X2FkYXB0ZXJfYXZhaWxhYmxlKCkgaW4gYSB0aWdodCBsb29wLgoKMjAwOS0wOS0xNSAyMzoxMTowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IE1vcmUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTE1IDIwOjQ5OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3ByZWFkIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xNSAxOToxNjozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXI6IFJlZ2lzdGVyIGFuZCB1c2UgR1F1YXJrIGZvciBzdHJ1Y3R1cmVzLgoKMjAwOS0wOS0xNSAxODo1NzoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBJbml0aWFsaXplIGRlYnVnZ2luZyBpbiBfZ2V0X3R5cGUKCSAgVGhlcmUncyBubyBuZWVkIGZvciBhbiBleHRyYSBmdW5jdGlvbiBzaW5jZSBhbGwgZGVidWdnaW4gd2lsbCByZXF1aXJlCgkgIGEgTXBlZ1RTUGFja2V0aXplciB3aGljaCBtZWFucyB0aGF0IHRoZSBHVHlwZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZXJlZm9yZQoJICBtb3ZlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbiB0aGVyZS4KCjIwMDktMDktMTUgMjM6MDk6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogbWVtc2V0IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGluZGl2aWR1YWxseSBzZXR0aW5nIGZpZWxkcyB0byAwCgoyMDA5LTA5LTE1IDIzOjA4OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBnX3JldHVybl9pZl9mYWlsCgkgIEl0J3Mgb3ZlcmtpbGwgZm9yIGNvZGUgb25seSB1c2VkIGJ5IG9uZSBlbGVtZW50LgoKMjAwOS0wOS0xNSAxOTo0NDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXIvcGFyc2U6IERvbid0IHVzZSBnc3Rfc3RydWN0dXJlX3RvX3N0cmluZygpIGZvciBkZWJ1Z2dpbmcuCgkgIFRoZXJlJ3MgR1NUX1BUUl9GT1JNQVQgZm9yIHRoYXQsIGFuZCB0b28gYmFkIGZvciB0aGUgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUKCSAgc3VwcG9ydCBmb3IgdGhhdC4gSXQganVzdCBjb3N0cyB0b28gbXVjaCBjcHUuCgoyMDA5LTA5LTE1IDE5OjAwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c3BhcnNlLy5naXRpZ25vcmU6CgkqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZW1hcnNoYWwubGlzdDoKCSAgZ3N0OiBSZW1vdmUgZGVhZCBtcGVndHNwYXJzZSBkaXJlY3RvcnkuCgkgIFRoaXMgd2FzIHNlcmlvdXNseSBjb25mdXNpbmcuIEFsc28sIHRoZSBjb2RlIGlzIGluIGdzdC9tcGVnZGVtdXgvCgoyMDA5LTA5LTE4IDE0OjI1OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5oOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBmaXhlcyB0byBtYWtlIGNvZyB3b3JrIGluc2lkZSAtYmFkCgoyMDA5LTA5LTE4IDE1OjA2OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogZml4IGxpbmUgZW5kaW5ncwoKMjAwOS0wOS0xOCAxNTowNjozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGZpeCBkaXN0Y2hlY2sKCjIwMDktMDktMTcgMTg6MTY6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcXVpZXQgZGVidWdnaW5nIG1lc3NhZ2UgaW4gbGFzdCBjb21taXQKCjIwMDktMDktMTcgMTg6MTU6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogS2VlcCB0cmFjayBvZiBncmFudWxlIG9mZnNldAoKMjAwOS0wOC0zMSAxMDozNjo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ29yYy5jOgoJKiBleHQvY29nL2NvZ29yYy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBDb3B5IGNvZyBwbHVnaW4gYW5kIHZpZGVvIGxpYnJhcnkgZnJvbSBjb2cgcHJvamVjdAoKMjAwOS0wOS0xNyAxNjo1NDo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBGaXggcmVzeW5jIGJ1ZyBkdWUgdG8gYWRhcHRlciBBUEkgY2hhbmdlCgkgIGdzdF9hZGFwdGVyX21hc2tlZF9zY2FuX3VpbnQzMigpIGNoYW5nZWQgc2xpZ2h0bHkgZnJvbSB3aGVuCgkgIHRoaXMgZWxlbWVudCB3YXMgaW4gU2Nocm9lZGluZ2VyLiAgT29wcy4KCjIwMDktMDktMTcgMTY6NTc6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBkZWJ1ZyBhdCBuZXcgc2VnbWVudCBldmVudHMKCjIwMDktMDktMTcgMTY6NTQ6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBTZXQgRElTQ09OVCBvbiBidWZmZXJzCgoyMDA5LTA5LTE3IDEwOjUwOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGEgd2FybmluZwoKMjAwOS0wOS0xNyAxMDo0OToxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGRvbid0IGxpbWl0IGJpdCByYXRlCgoyMDA5LTA5LTE3IDA5OjM4OjAyICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEFkZCBBU0NJSSBkZWNvZGluZyBzdXBwb3J0CgkgIC4uLmFuZCBtYWtlIHRoZSBBU0NJSSBvdXRwdXQgb2YgdGhlIGVuY29kZXIgYSBiaXQgbW9yZSBwcmV0dHkuCgkgIEZpeGVzIGJ1ZyAjNTk1NDA5LgoKMjAwOS0wOS0xNyAwOTozNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBubTogUmVtb3ZlIHRoZSBleHBlcmltZW50YWwgc3RhdHVzIGZyb20gdGhlIHBubSBwbHVnaW4KCjIwMDktMDgtMTQgMTg6MDg6NTYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE1vcmUgdG9sZXJhdGUgcG9ydCBncm91cCBzdXBwb3J0LCBwbHVnaW4gY2xlYW51cC4KCSAgR3JhY2VmdWxseSBoYW5kbGUgcGx1Z2lucyB3aXRoIGlsbGVnYWwgZ3JvdXBzIHRoYXQgY29udGFpbiBubyBzeW1ib2wgYnkKCSAgdHJlYXRpbmcgcG9ydHMgaW4gdGhhdCBncm91cCBub3JtYWxseSAoaS5lLiBhcyBpZiB0aGV5IHdlcmVuJ3QgcGFydCBvZiBhCgkgIGdyb3VwKS4gIFRoZSBwb3J0IGdyb3VwcyBzcGVjIG1hbmRhdGVzIHRoYXQgZ3JvdXBzIGhhdmUgYSB2YWxpZCB1bmlxdWUKCSAgc3ltYm9sLCBidXQgcGx1Z2lucyBhcmVuJ3QgcGVyZmVjdC4uLgoJICBNYWtlIChjb25jZXB0dWFsbHkpIHN0YXRpYyBwbHVnaW4gdmFyaWFibGVzIGFjdHVhbGx5IChDKSBzdGF0aWMsCgkgIGFuZCBjbGVhbiB1cCBTTFYyIHJlbGF0ZWQgdGhpbmdzIHdpdGggYSBHQ0Mgc2hhcmVkIGxpYnJhcnkgZGVzdHJ1Y3RvciwKCSAgaWYgR0NDIGlzIGluIHVzZS4KCjIwMDktMDgtMTIgMDE6MDc6NTcgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE1ha2UgbW9ubyB3YXJuaW5nIHZpc2libGUgaW4gcHVibGljIGRvY3VtZW50YXRpb24uCgoyMDA5LTA4LTEyIDAxOjAzOjMyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBNdWx0aS1jaGFubmVsIHN1cHBvcnQgd2l0aCBjaGFubmVsIHBvc2l0aW9ucy4KCSAgVGhpcyBxdWVyaWVzIHBvcnQgcm9sZXMgZnJvbSB0aGUgTFYyIGRhdGEgYW5kIGNvbnZlcnRzIGl0IGludG8gR1N0cmVhbWVyCgkgIGNoYW5uZWwgcG9zaXRpb25zLiAgVGhpcyBzaG91bGQgYWxsb3cgYW55IHR5cGUgb2YgbXVsdGktY2hhbm5lbCBwbHVnaW4KCSAgKGluY2x1ZGluZyBiZXlvbmQgc3RlcmVvLCBlLmcuIHN1cnJvdW5kKSB0byB3b3JrIGZpbmUgaW4gR1N0cmVhbWVyLAoJICBhbmQgd2l0aCBlbGVtZW50cyB0aGF0IHJlcXVpcmUgY2hhbm5lbCBwb3NpdGlvbnMgdG8gYmUgZXhwbGljaXRseSBzdGF0ZWQuCgoyMDA5LTA4LTEwIDIzOjEyOjI0IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgTFYyIGVsZW1lbnQuCgoyMDA5LTA4LTEwIDIzOjA0OjQ3IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBGaXggdHlwbyBpbiBMQURTUEEgZWxlbWVudCBkb2N1bWVudGF0aW9uLgoKMjAwOS0wNy0yMSAxNTo0NTowNiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIFNMVjIgZGVwZW5kZW5jeSB0byAwLjYuNi4KCjIwMDktMDctMTAgMjE6NTI6MzAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvY2FsZi1sdjItcG9ydC1ncm91cHMucGF0Y2g6CgkqIGV4dC9sdjIvc3doLWx2Mi1wb3J0LWdyb3Vwcy5wYXRjaDoKCSAgQWRkIHN3aCBhbmQgY2FsZiBMVjIgcG9ydCBncm91cCBwYXRjaGVzLgoKMjAwOS0wNy0wMyAyMDowMDoxMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgV29ya2luZyBtdWx0aS1jaGFubmVsIHBhZHMgZm9yIExWMiBwbHVnaW5zLgoKMjAwOS0wNi0yNyAwMDoyNTozOCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgQWxsb2NhdGUgYSBzdGF0aWMgcHJlZGljYXRlIGZvciBwZzppbkdyb3VwLgoKMjAwOS0wNi0yNSAxNzoyNTo1MiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgT25seSBhbGxvY2F0ZSBsdjI6aW5QbGFjZUJyb2tlbiBwcmVkaWNhdGUgb25jZS4KCjIwMDktMDYtMjUgMTU6MTA6MjQgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEVsaW1pbmF0ZSB1c2Ugb2Ygc3RhdGljIG1vbm8gcGFkIHRlbXBsYXRlLgoKMjAwOS0wNi0yNSAxNTowNzowNSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgU2VwYXJhdGUgcG9ydCBkaXNjb3ZlcnkgZnJvbSBwYWQgdGVtcGxhdGUgY3JlYXRpb24uCgkgIFRoaXMgZmlyc3QgY291bnRzIHBvcnRzICh1c2luZyB0aGUgYnVpbHRpbiBzbHYyIGZ1bmN0aW9ucyB0byBkbyBzbwoJICByYXRoZXIgdGhhbiBtYW51YWxseSBhcyBiZWZvcmUpLCB0aGVuIGNyZWF0ZXMgZGVzY3JpcHRvcnMgZm9yIGVhY2ggcG9ydAoJICBhbmQgZmluZHMgYWxsIHBvcnQgZ3JvdXBzLiAgT25seSB0aGVuIGFyZSBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgKHRvd2FyZHMKCSAgdXNpbmcgZ3JvdXAgaW5mb3JtYXRpb24gZm9yIGNyZWF0aW5nIG11bHRpLWNoYW5uZWwgcGFkcykuCgoyMDA5LTA2LTI1IDEyOjM0OjAzIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBVc2Ugc2lsbHkgZ2xpYiB0eXBlcyA6KS4KCjIwMDktMDYtMjAgMTk6NTI6MjYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFF1ZXJ5IGFuZCBzdG9yZSBwb3J0IGdyb3VwIGluZm9ybWF0aW9uLgoJICBSZXBsYWNlIHBvcnQgaW5kZXggYXJyYXlzIHdpdGggYSBzdHJ1Y3QgZm9yIGhvbGRpbmcgbW9yZSBpbmZvcm1hdGlvbgoJICB0aGFuIGp1c3QgaW5kaWNlcyAoZS5nLiBncm91cHMpLgoKMjAwOS0wNS0yNSAyMjoxNTo1NiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgV29ya2luZyBiYXNpYyBMVjIgc2lnbmFsIHByb2Nlc3NpbmcuCgkgIExWMiBwbHVnaW5zLCBzaG9ydCBvZiBhbnkgc3VycHJpc2VzLCBzaG91bGQgd29yayB3aXRoIHRoZSBzYW1lIGJhc2ljCgkgIGZ1bmN0aW9uYWxpdHkgYXMgTEFEU1BBIHBsdWdpbnMuCgoyMDA5LTA1LTI1IDIwOjQzOjEwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBTZXQgY2xhc3MgaW5QbGFjZUJyb2tlbiBwcm9wZXJ0eS4KCjIwMDktMDktMTcgMDk6NDM6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICBkb2NzOiBmaXggZXhhbXBsZSBhbmQgbWVudGlvbiBkaWZmZXJlbmNlIHRvIHZvcmJpc2RlYwoKMjAwOS0wOS0wMiAxMToxMToyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IEZpeCBib2d1cyBjaGVjayBiZWZvcmUgdW5yZWZmaW5nCgoyMDA5LTA5LTAxIDE5OjQ4OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZkcGF1OiBGaXggcGtnLWNvbmZpZyB0ZXN0CgkgIElmIHRoZSBwa2ctY29uZmlnIGNoZWNrIGRvZXNuJ3Qgc3VjY2VlZCwgdGVzdCB3aXRoIHRoZSBvbGQgbWV0aG9kCgkgIGluc3RlYWQgb2YgYmFpbGluZyBvdXQgb2YgY29uZmlndXJlIHdpdGggYW4gZXJyb3IuCgoyMDA5LTA4LTIwIDAwOjE2OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbyBiZXR0ZXIKCSAgdGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IHNpbmNlIHdlIGFzc3VtZSB0aGF0IHRoZSBzaW5rCgkgIGVsZW1lbnQncyBwaXhlbC1hc3BlY3QtcmF0aW8gaXMgMS8xCgoyMDA5LTA4LTE5IDIyOjUyOjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogcmVtb3ZlIHBhciBmcm9tIGNhcHMgc2luY2Ugd2UgZG9uJ3QgaGFuZGxlIGl0IHlldAoKMjAwOS0wOC0xOSAyMjo0MDo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGRvbid0IHJlbW92ZSBpbnRlcmxhY2VkIGZsYWcgaW4gdmlkZW9fdG9fb3V0cHV0X2NhcHMoKQoKMjAwOS0wOC0xOSAyMjoyMzoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIGludmVyc2UtdGVsZWNpbmUgcHJvcGVydHkKCjIwMDktMDgtMTkgMjI6MDM6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBub2lzZS1yZWR1Y3Rpb24gcHJvcGVydHkgZ2V0dGVyCgoyMDA5LTA4LTE5IDIyOjAyOjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc2hhcnBlbmluZyBwcm9wZXJ0eQoKMjAwOS0wOC0xNyAyMzo0Mjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfdmRwX2RldmljZV9uZXcgZnJvbSBoZWFkZXIKCjIwMDktMDgtMTcgMjM6NDI6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGZpeCBlcnJvciBoYW5kbGluZyBpZiBnc3RfdmRwX2dldF9kZXZpY2UgcmV0dXJucyBOVUxMCgoyMDA5LTA4LTE3IDIzOjM5OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogYWRkIGJhY2sgdmRwYXVzaW5rIGFuZCB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MKCjIwMDktMDgtMTcgMjM6Mzk6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwZGV2aWNlOiBmaXggZXJyb3IgaGFuZGxpbmcgYW5kIHRocmVhZHNhZmV0eQoJICByZXR1cm4gTlVMTCBpbmNhc2Ugb2YgaW5pdGFsaXphdGlvbiBlcnJvcnMgYW5kIGd1YXJkIGhhc2h0YWJsZSBhY2Nlc3Mgd2l0aCBhIG11dGV4CgoyMDA5LTA3LTE3IDIyOjUwOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBnZXQgY29ycmVjdCBudW1iZXIgb2YgbmVlZGVkIGZyYW1lcyBpZiB3ZSdyZSBkb2luZyBub2lzZSByZWR1Y3Rpb24KCjIwMDktMDctMTcgMjI6NDg6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGluZGVudCBmaXgKCjIwMDktMDctMTUgMjA6MTg6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIHVzYWdlCgoyMDA5LTA3LTA0IDE5OjQ4OjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlcG9zdHByb2Nlc3M6IHJlbW92ZSBib29sZWFuIG5vaXNlLXJlZHVjdGlvbiBwcm9wZXJ0eQoJICBVc2UgdGhlIGZsb2F0IG9uZSB0byBkZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGVuYWJsZSBub2lzZSByZWR1Y3Rpb24gb3Igbm90CgoyMDA5LTA3LTA0IDE1OjQ2OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIG5vaXNlIHJlZHVjdGlvbgoKMjAwOS0wNy0wNCAxMzo1OTozNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3IgZGVpbnRlcmxhY2luZwoJICBUaGUgY29kZSBpcyByb3VnaGx5IG1vZGVsZWQgYWZ0ZXIgdGhlIGRlaW50ZXJsYWNlIHBsdWdpbgoKMjAwOS0wNy0wMiAxNzoxMToxMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogYWRkIG15c2VsZiB0byBjb3B5cmlnaHQKCjIwMDktMDctMDIgMTQ6MDE6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHMvZ3N0X3ZkcF92cHBfc2V0X2NhcHMvZ3N0X3ZkcF92cHBfc2lua19zZXRjYXBzCgoyMDA5LTA3LTAxIDIzOjEyOjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiBpbnN0ZWFkIG9mIG91ciBvd24gdmVyc2lvbgoKMjAwOS0wNy0wMSAwMDoyMDozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgaGFyZGNvZGluZyBhcnJheSBzaXplcwoKMjAwOS0wNy0wMSAwMDoxMzoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBOVUxMIHRlcm1pbmF0aW5nIGFycmF5CgoyMDA5LTA2LTMwIDIzOjU1OjEzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBuZXcgdmRwYXVzaW5rIGFuZCB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgZWxlbWVudHMKCSAgdmRwYXVzaW5rIGlzIGFzIHRoZSBuYW1lIGltcGxpZXMgYSBzaW5rIHdoaWNoIHRha2VzIHZpZGUveC12ZHBhdS1vdXRwdXQgYnVmZmVycwoJICBhbmQgb3V0cHV0cyBpdCB0byB0aGUgc2NyZWVuLgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgaXMgYW4gZWxlbWVudCB3aGljaCB0YWtlcyB2aWRlby94LXZkcGF1LXZpZGVvIGJ1ZmZlcnMgYW5kCgkgIG91dHB1dHMgdmlkZW8veC12ZHBhdS1vdXRwdXQgYnVmZmVycy4gVGhlIGVsZW1lbnQgY2FuIGFsc28gZG8gdGhpbmdzIGxpa2UKCSAgZGVpbnRlcmxhY2luZyBhbmQgb3RoZXIgcG9zdHByb2Nlc3NpbmcgYnV0IHRoaXMgaXMgbm90IGltcGxlbWVudGVkIHlldC4KCjIwMDktMDYtMjkgMjI6NTA6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZkcGF1OiBjaGVjayBmb3IgdmRwYXUgd2l0aCBwa2ctY29uZmlnIGZpcnN0CgoyMDA5LTA2LTI0IDE3OjUxOjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIHZkcGF1OiBzcGxpdCBnc3RfdmRwX21wZWdfZGVjX3Jlc2V0IGludG8gc3RhcnQgYW5kIHN0b3AKCjIwMDktMDYtMjQgMTE6MzY6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBkb24ndCBwdXQgdGhlIEdzdFZkcERldmljZSBpbiB0aGUgY2FwcwoKMjAwOS0wNi0yMyAyMzowMzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1lVViBpbXBsZW1lbnQgcGFkX2FsbG9jCgkgIGFsc28gY2hhbmdlIEdzdFZkcE1wZWdEZWMgYW5kIEdzdFZkcFlVVlZpZGVvIHRvIG1ha2UgdXNlIG9mIHRoaXMKCjIwMDktMDYtMjMgMTc6MjY6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIHN1cHBvcnQgZm9yIFlVWTIKCjIwMDktMDYtMjMgMTc6MTY6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAwOS0wNi0yMyAxNjo1Nzo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGZhY3RvciBvdXQgY29tbW9uIGNhcHMgY2FsY3VsYXRpb24gYW5kIHB1dCBpdCBpbiBnc3R2ZHB1dGlscy5bY2hdCgoyMDA5LTA2LTIyIDIzOjI1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogcmVmYWN0b3IgR3N0VmRwVmlkZW9ZVVYgYW5kIEdzdFZkcFlVVlZpZGVvCgoyMDA5LTA2LTIyIDIyOjE3OjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBZVVZWaWRlbyBpbmhlcml0IGZyb20gR3N0QmFzZVRyYW5zZm9ybQoKMjAwOS0wNi0yMiAxMTowMDo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICB2ZHBhdTogZml4dXAgc29tZSBkZWJ1ZyBwcmludHMKCjIwMDktMDYtMjIgMTA6NTc6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvWVVWIGluaGVyaXQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtCgoyMDA5LTA5LTE2IDA4OjIyOjE5ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBTdXBwb3J0IEFTQ0lJIGZvcm1hdCBmb3IgZW5jb2RpbmcgYW5kIGhhbmRsZSB1bnN1cHBvcnRlZCBmb3JtYXRzIGJldHRlciBpbiB0aGUgZGVjb2RlcgoJICBGaXhlcyBidWcgIzU5NTIxNS4KCjIwMDktMDktMTUgMjM6MzI6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSGFuZGxlIGJhc2VfdGltZSB3aGVuIHNlbmRpbmcgc2VnbWVudCB1cGRhdGVzLgoJICBEb24ndCBzZW5kIGJvZ3VzIG5ldyBzZWdtZW50IHVwZGF0ZSBldmVudHMgd2hlbiB0aGUgc3RyZWFtIGRvZXNuJ3QKCSAgc3RhcnQgYXQgMC4gRml4ZXMgYnJva2VuIHNlZWtpbmcgaW4gc29tZSBmaWxlcy4KCSAgRml4ZXM6ICM1OTQ4MTIKCjIwMDktMDgtMTggMTM6MzU6NTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ3RzZGVtdXgsIG1wZWd0c3BhcnNlOiBtYXggc2VjdGlvbiBsZW5ndGggaXMgNDA5MyBub3QgMTAyMS4KCjIwMDktMDgtMTggMDE6MDg6MDMgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgcGFkIGZvciBEVkIgU3VidGl0bGluZyBwYWRzCgoyMDA5LTA5LTEzIDE5OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogVXNlIGNvcnJlY3Qgcm93c3RyaWRlIGZvciA4IGJpdCBncmF5c2NhbGUgdG9vCgoyMDA5LTA5LTEzIDE5OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogQ29ycmVjdGx5IGNvbnZlcnQgZnJvbS90byBHU3RyZWFtZXIgcm93c3RyaWRlCgoyMDA5LTA5LTEzIDE5OjE3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogRml4IGNhcHMKCSAgOCBiaXQgZ3JheXNjYWxlIGNhcHMgaGF2ZSBubyBlbmRpYW5uZXNzIGZpZWxkIGFuZCB0aGUgY2FwcyBuYW1lCgkgIG9mIEdTVF9WSURFT19DQVBTX1JHQiBpcyBzdGlsbCAidmlkZW8veC1yYXctcmdiIiBhbmQgbm90IEdTVF9WSURFT19DQVBTX1JHQi4KCjIwMDktMDktMTMgMTk6MTM6MjQgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubTogTG90cyBvZiBidWdmaXhlcwoJICAoMSkgRml4IGV4YW1wbGVzLgoJICAoMikgQWRkIHN1cHBvcnQgZm9yIGdyYXkgaW1hZ2VzLgoJICAoMykgUmVtb3ZlICJ1c2VfZml4ZWRfY2FwcyIgd2hpY2ggZG9lc24ndCBzZWVtIHRvIGJlIHVzZWZ1bC4KCSAgKDQpIERvIHByb3BlciBuZWdvdGlhdGlvbiBpbiB0aGUgZW5jb2Rlci4KCSAgKDUpIEZpeCBtZW1sZWFrIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGluIHRoZSBlbmNvZGVyLgoJICAoNikgS2VlcCBhIGxpbmsgdG8gdGhlIHNyYyBwYWQgaW4gdGhlIGVuY29kZXIgbm93IHRoYXQgd2UgbmVlZCBpdCBtb3JlIG9mdGVuLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICMxNjQ4NzAuCgoyMDA5LTA5LTEyIDE4OjU3OjA1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBGaXggZmFjdG9yeSBpbmZvcm1hdGlvbiBmb3IgaDI2NHBhcnNlLCBhZGQgbWlzc2luZyBWaWRlbwoKMjAwOS0wOS0xMSAxNDozODo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEZpeCBhbiBvZmYtYnktOCBidWcgaW4gcGFyc2luZyB0aGUgQUlGRiBkYXRhIHNpemUuCgkgIFRoaXMgbGVkIHRvIG92ZXJyZWFkaW5nIGJ5IDggYnl0ZXMsIGdpdmluZyBhbiBhdWRpYmxlIGdsaXRjaCBhdCB0aGUgZW5kIG9mCgkgIGEgZmlsZSAoZXhjZXB0IHdoZW4gdGhlIGZpbGUgZGlkbid0IGhhdmUgYSB0cmFpbGluZyBjaHVuayBvZiBzb21lIHNvcnQpLgoKMjAwOS0wOS0wOCAyMDo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVzZSBHU1RfVElNRV9GT1JNQVQgaW4gZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wOS0wOCAwOToyMDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlc2V0IHN0cmVhbS0+bGFzdF90aW1lIHdoZW4gZmx1c2hpbmcuCgkgIFRoaXMgZml4ZXMgbmFpdmUgc2Vla2luZyBhIHRpbnkgYml0IChieSBiYXNpY2FsbHkgaGludGluZyBhdCBfZGF0YV9jYgoJICB0aGF0IGl0IHNob3VsZG4ndCBleHBlY3QgdGhlIGluY29taW5nIGJ1ZmZlcnMgdG8gYmUgdGhlIG9uZXMganVzdCBhZnRlcgoJICB0aGUgcHJldmlvdXMgb25lcykuCgkgIFdpdGhvdXQgdGhpcywgc2Vla2luZyBieSBtb3JlIHRoYW4gMTBtaW5zIGZvcndhcmQgd291bGQganVzdCBlbmQgdXAgaW4gYW4KCSAgZW5kbGVzcyBsb29wLgoKMjAwOS0wOS0wOCAwOToxODo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFNwcmlua2xlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3Jvcy4KCjIwMDktMDktMTAgMTI6MTI6MjYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBXaGVuIHdyaXRpbmcgaWQzdjIuMywgZG8gbm90IHVzZSBVVEYtOC4KCSAgVVRGLTggaXMgb25seSBwZXJtaXR0ZWQgaW4gdjIuNC4gU28gaW5zdGVhZCB1c2UgSVNPLTg4NTktMSBmb3IgYXNjaWktb25seQoJICBzdHJpbmdzLCBhbmQgVVRGMTYgb3RoZXJ3aXNlLiBBbHNvLCBkbyBub3QgbnVsbCB0ZXJtaW5hdGUgc3RyaW5ncyBpbiB0ZXh0CgkgIGZyYW1lcywgZXhjZXB0IHdoZXJlIHJlcXVpcmVkLiBUaGVzZSB0d28gYWxsb3cgd2luZG93cyBtZWRpYSBwbGF5ZXIgdG8gcGxheQoJICAoYW5kIGNvcnJlY3RseSByZWFkIHRhZ3MpIGZpbGVzIGNyZWF0ZWQgYnkgaWQzbXV4LgoKMjAwOS0wNy0yMyAxNjoxMzoyOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGNvbXBsZXRlIGltYSBhZHBjbSBzdXBwb3J0LgoKMjAwOS0wNy0yMyAxMTo1OTozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGNoZWNrcG9pbnQgZm9yIGluY29tcGxldGUgSU1BIEFEUENNIHN1cHBvcnQuCgoyMDA5LTA5LTEwIDEyOjAyOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogRml4IGZvcm1hdCBzdHJpbmdzIGFuZCBpbmNsdWRlIGNvcnJlY3QgaTE4biBoZWFkZXIKCjIwMDktMDktMTAgMTE6NTg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBGaXggaW5kZW50aW9uLCBsaW5lIGVuZGluZ3MgYW5kIHVzZSBMUk4ncyByZWFsIG5hbWUKCjIwMDktMDktMDkgMTk6MTQ6MjcgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IEluaXRpYWwgdmVyc2lvbiBvZiB2aWRlb21lYXN1cmUgcGx1Z2luCgkgIFRoaXMgcGx1Z2luIGNvbnRhaW5zIGVsZW1lbnRzIGZvciBjYWxjdWxhdGluZyBtZXRyaWNzIG9mIHZpZGVvIHN0cmVhbXMsIGludGVuZGVkIGZvciBvYmplY3RpdmUgdmlkZW8gY29kZWMgY29tcGFyaXNvbi4KCSAgQXQgdGhlIG1vbWVudCBvbmx5IFNTSU0gbWV0cmljIGlzIGltcGxlbWVudGVkICh3aHkgd291bGQgeW91IG5lZWQgYW55dGhpbmcgZWxzZSBhbnl3YXk/KS4KCSAgQWxzbyBjb250YWlucyBhIGhlbHBlciB2aWRlb21lYXN1cmVfY29sbGVjdG9yIGVsZW1lbnQgdGhhdCBjb2xsZWN0cyBtZWFzdXJlbWVudCBldmVudHMgYW5kIG91dHB1dHMgdGhlbSBpbnRvIGEgZmlsZSAodG8gYmUgdXNlZCB3aXRoIGdzdC1sYXVuY2gpLgoJICBPdGhlciBtZXRyaWNzIG1heSBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgZnV0dXJlIGFsb25nIHdpdGggYSBiYXNlIGNsYXNzIGZvciBhbGwgbWVhc3VyZXJzLgoJICBGaXhlcyBidWcgIzU5NDMyMS4KCjIwMDktMDktMTAgMDg6NTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBwbm06IE1hcmsgUE5NIHBsdWdpbiBhcyBleHBlcmltZW50YWwgYmVjYXVzZSBpdCBkb2Vzbid0IHdvcmsgd2VsbCB5ZXQKCjIwMDktMDktMTAgMDg6NTM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBQYXJ0aWFsbHkgZml4IG5lZ290aWF0aW9uIGlzc3VlcyBhbmQgcmVmY291bnQgbGVha3MKCjIwMDktMDktMTAgMDg6NDg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBGaXggbmVnb3RpYXRpb24gaXNzdWVzIGFuZCByZWZjb3VudCBsZWFrcwoKMjAwOS0wOS0xMCAwODoyOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJICBwbm06IEZpeCB0eXBlZmluZGVyIGNhcHMKCjIwMDktMDktMTAgMDg6MjM6MjIgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogQWRkIFBOTSBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzCgkgIEZpeGVzIGJ1ZyAjMTY0ODcwLgoKMjAwOS0wOS0xMCAwNzo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJICBzaWduYWxwcm9jZXNzb3I6IEZpeCB2YXJpb3VzIGJ1aWxkL2Rpc3QgaXNzdWVzCgkgIEluc3RhbGwgdGhlIGhlYWRlcnMsIHZlcnNpb24gdGhlIGxpYnJhcnkgd2l0aCBAR1NUX01BSk9STUlOT1JALAoJICBhZGQgYWxsIHJlcXVpcmVkIGxpYnJhcmllcyB0byBfTElCQUREIGluc3RlYWQgb2YgX0xERkxBR1MsCgkgIGFuZCBhZGQgR1NUXypfTERGTEFHUyB0byBfTERGTEFHUy4KCSAgRml4ZXMgYnVnICM1OTQ3MTUuCgoyMDA5LTA5LTA5IDE0OjM0OjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGNhY2hlIGRldmljZSBjYXBzCgoyMDA5LTA5LTA5IDEyOjQxOjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3ZpZGVvc3JjOiB1c2UgSUVudW1NZWRpYVR5cGVzIHdoZW4gSUFNU3RyZWFtQ29uZmlnIGlzIG5vdCB1c2FibGUKCSAgRm9yIHNvbWUgZGV2aWNlIGRyaXZlcnMgSUFNU3RyZWFtQ29uZmlnIGlzIG5vdCBzdXBwb3J0ZWQuCgkgIEJ1dCBFbnVtTWVkaWF0eXBlcyBkb2VzIG5vdCBwcm92aWRlIHJhbmdlIHNpemUgYW5kIGZyYW1lcmF0ZS4KCjIwMDktMDktMDYgMTE6NTA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogYWRkIHVuaXQgdGVzdAoKMjAwOS0wOS0wOCAyMjoyNDoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMgZm9yIGRpc2NyZXBhbmN5IGNhc2VzIGFuZCBwbHVnIG1lbWxlYWsKCjIwMDktMDktMDYgMTE6NDk6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBzcHJpbmtsZSBzb21lIG1vcmUgR18oVU4pTElLRUxZCgoyMDA5LTA5LTA2IDExOjQ0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZW5mb3JjZSBzeW5jIGJldHdlZW4gd3JhcHBlciB2aWV3IG9mIGRhdGEgYW5kIGVuY29kZXIgcmV0dXJuZWQgZGF0YQoKMjAwOS0wOS0wNSAyMTozNTozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmYWFjIHRvIGRvY3VtZW50YXRpb24KCjIwMDktMDktMDUgMjE6MzU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhZGQgc29tZSBkb2N1bWVudGF0aW9uCgoyMDA5LTA4LTMxIDE5OjMxOjU3ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IG1ha2UgR1NUX0ZPUk1BVF9USU1FIHRoZSBkZWZhdWx0IHNlZ21lbnQgZm9ybWF0CgoyMDA5LTA4LTMxIDE5OjMzOjUwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyBidWcgIzU5NDI3OC4KCjIwMDktMDktMDggMTU6MTY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IHVzYWdlIG9mIF9fYWx3YXlzX2lubGluZV9fIGF0dHJpYnV0ZQoJICBUaGlzIGF0dHJpYnV0ZSBjYW4ndCBiZSB1c2VkIGZvciBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYmVjYXVzZQoJICBpdCBuZWVkcyB0aGUgZnVuY3Rpb24gYm9keS4gSW5zdGVhZCBvZiBhIGZvcndhcmQgZGVjbGFyYXRpb24gb2YKCSAgZnVuY3Rpb25zLCBtb3ZlIHRoZSBmdW5jdGlvbiBpdHNlbGYgYWJvdmUgaXQncyBmaXJzdCB1c2UuCgkgIEZpeGVzIGJ1ZyAjNTk0NDg5IGFuZCBjb21waWxhdGlvbiB3aXRoIGdjYyA0LjMgYW5kIGVhcmxpZXIuCgoyMDA5LTA5LTA3IDE3OjMzOjE1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggbGliYXNzID0gMC45LjYKCSAgRml4ZXMgYnVnICM1OTQzODIuCgoyMDA5LTA5LTA3IDE5OjA4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGFzcGVjdC1yYXRpbyBwYXJzaW5nIGluIFZPCgoyMDA5LTA5LTA3IDE2OjIwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWxzbyBjb25zaWRlciB1c2VyX2RhdGEgcGllY2VzIHdoZW4gcGFyc2luZyBWTyhTKQoKMjAwOS0wOS0wNyAxNjo0NDo1MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiBhZGQgc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MKCjIwMDktMDktMDcgMTU6NDQ6MTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogdXBncmFkZSBmcm96ZW4gYnVpbGQgdG8gdnM5CgoyMDA5LTA5LTA3IDE1OjIxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBpbmRlbnQgZHNob3dzcmN3cmFwcGVyLmNwcAoKMjAwOS0wOS0wNyAxNToxMjo1NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIFJldmVydCAiZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdW51c2VkIGV4dGVybiBDIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzYzg4ZDYzN2Q3ZTdkNjBmMTQzN2NjZDNkZmMyM2IzN2UyYTMyMGUuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIHRoZSBlbnRyeSBwb2ludCBpc24ndCBmb3VuZCBiZWNhdXNlIG9mCgkgIEMrKyBidWlsZC4KCjIwMDktMDktMDcgMTA6NTk6NTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBpbmRlbnQKCjIwMDktMDktMDcgMTA6NTE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY29udmVydCBsaW5lIGVuZGVkIGNoYXJhY3RlcnMgdG8gTEYKCjIwMDktMDktMDcgMTA6Mzg6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1bnVzZWQgZXh0ZXJuIEMKCjIwMDktMDktMDcgMTA6MzE6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogZ28gYmFjayB0byBwcmV2aW91cyBtb2RlCgoyMDA5LTA5LTA1IDEwOjIyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDBhODU5ZSB0byAxOWZhNGYzCgoyMDA5LTA5LTA0IDE5OjE3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGkvdGltaWRpdHk6IEFkZCBhdWRpby9yaWZmLW1pZGkgdG8gdGhlIHNyYyBwYWQgdGVtcGxhdGUgY2FwcwoKMjAwOS0wOS0wNCAxNzozMjozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IGZpeCBzZXR0aW5nIGNhcHMgb24gdGhlIG91dHB1dCBwYWQKCSAgQWxzbyBzZXQgdGhlIGNhcHMgb24gdGhlIG91dHB1dCBwYWQgd2hlbiB0aGUgaW5wdXQgYnVmZmVycyBkb24ndCBoYXZlIGNhcHMuCgoyMDA5LTA5LTA0IDE3OjI3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogY2xlYW51cHMgYW5kIGZpeCBzZWVraW5nCgkgIFJlbW92ZSB0aW1lX3Blcl9mcmFtZSwgaXQncyB0b28gaW5hY2N1cmF0ZS4KCSAgRml4IGNvbnZlcnQgZm9yIC0xIHZhbHVlcy4KCSAgVXNlIHNjYWxpbmcgdG8gY29udmVydCBzYW1wbGVzIHRvIHRpbWUuCgkgIEZpeCBzZWdtZW50IGhhbmRsaW5nLgoJICBGaXggc2Vla2luZy4KCSAgRml4IGJ1ZmZlciBjbGlwcGluZyAobm90IHlldCBlbmFibGVkKQoJICBQcm90ZWN0IHRoZSBXaWxkTWlkaSBsaWJyYXJ5IHdpdGggdGhlIG9iamVjdCBsb2NrIHRvIGF2b2lkIHJhY2VzIHdoZW4gY2hhbmdpbmcKCSAgcHJvcGVydGllcy4KCSAgRml4IG9mZnNldHMgb24gb3V0cHV0IGJ1ZmZlcnMsIGZvciByYXcgYXVkaW8gdGhlIG9mZnNldCBjb250YWlucyB0aGUgc2FtcGxlCgkgIHBvc2l0aW9uIG5vdCBieXRlIHBvc2l0aW9uLgoJICBBZGQgYmV0dGVyIERJU0NPTlQgaGFuZGxpbmcuCgkgIEZpeGVzICM1MTkwMDEKCjIwMDktMDktMDQgMTY6Mjk6NTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogbW92ZSBWSURFT19TVFJFQU1fQ09ORklHX0NBUFMgdG8gR3N0Q2FwdHVyZVBpbk1lZGlhVHlwZQoKMjAwOS0wOS0wNCAxNDoxMTozMyArMDEwMCAgY2hyaXN0aWFuIHNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA5LTA0IDE0OjEwOjU1ICswMTAwICBjaHJpc3RpYW4gc2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wOS0wNCAxMzoxMzozOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGhhbmRsZSBhbGwgcmVkaXJlY3Rpb24gaHR0cCBzdGF0dXMgY29kZXMKCjIwMDktMDktMDQgMTI6NTM6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBpbiBzZWVraW5nIHVzZSBhIGZhY3RvciBmb3IgU0NSIGludGVycG9sYXRpb24KCSAgRml4ZXMgc2Vla2luZyBvbiBjbGlwcyB3aGVyZSBQVFMgYXJlIHVuYWxpZ25kZWQgd2l0aCBTQ1IuCgoyMDA5LTA5LTA0IDEyOjQwOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBzaXJlbmRlYzogcmV3cml0ZSBzaXJlbmRlYwoJICBBZGQgc2V0Y2FwcyBhbmQgZXZlbnQgZnVuY3Rpb25zLgoJICBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyB0byBjbGVhbiB2YXJpYWJsZXMuCgkgIFVzZSBhZGFwdGVyLgoJICBBZGQgdGltZXN0YW1wcyBhbmQgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgQWRkIERJU0NPTlQgaGFuZGxpbmcuCgoyMDA5LTA5LTA0IDEyOjQwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuZW5jOiBjbGVhbnVwcwoKMjAwOS0wOS0wNCAxMjozNTozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogc2V0IHNwZWNpZmljIGNhcHMgZm9yIGxwY20gaW4gcHJpdmF0ZSBzdHJlYW0KCSAgSW4gdGhlIGNsaXBzIHRoYXQgSSd2ZSBmb3VuZCB0aG9zZSBzdHJlYW1zLCB0aGUgbHBjbSBoZWFkZXIgaXMKCSAgZGlmZmVyZW50IHRoYW4gdGhlIERWRCBjYXNlLgoJICBUaGVuIHRoZSBkZWNvZGVyIG5lZWQgdG8ga25vdyB0aGlzIGluIG9yZGVyIHRvIGJlIGFibGUgcGFyc2UgaXQuCgoyMDA5LTA5LTA0IDEyOjMwOjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGFkZGVkIGF1dG9kZXRlY3Qgb2YgcGFja2V0IHNpemUgYW5kIHJlbW92ZWQgbTJ0cyBtb2RlIHByb3BlcnR5CgoyMDA5LTA5LTA0IDEyOjA4OjQ1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9jYXBAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOS0wNCAxMjowODowMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogbW92ZSBkZWZhdWx0IHZpZGVvIGNhcHMgaW50byBHc3RDYXB0dXJlUGluTWVkaWFUeXBlCgoyMDA5LTA5LTA0IDEyOjAyOjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogc29tZSBtb3JlIGhhbmRsaW5nIG9mIFZDMSBhbmQgRUFDMwoJICBJZiB0aGUgUE1UIGhhdmUgdGhlIHJlZ2lzdGVyIGRlc2NyaXB0b3IgSERNViBhc3N1bWUgRUFDMwoJICBGb3IgVkMxIG1ha2UgdGhlIGNvZGUgbW9yZSBhbGlnbmVkIHRvIFJQMjI3LgoKMjAwOS0wNy0xNiAxMDowNjozNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgVHJ5IHRvIGZpdCBzdWJ0aXRsZXMgd2l0aGluIHRoZSB2aWRlbyBmcmFtZSB3aGVuIHRoZXkncmUgdG9vIGxhcmdlCgoyMDA5LTA5LTAxIDIxOjMwOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IFNldCB0aGUgR1N0cmVhbWVyIHRpbWVzdGFtcCBhY2NvcmRpbmcgdG8gdGhlIHBjYXAgdGltZXN0YW1wcwoKMjAwOS0wOS0wMyAxOTowNDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IGZpeCBldmVudHMgYW5kIGNhcHMKCSAgQWRkIGFuIGV2ZW50IGZ1bmN0aW9uIHRoYXQgY2xlYXJzIHRoZSBhZGFwdGVyLgoJICBBZGQgYSBzZXRjYXBzIGZ1bmN0aW9uIHRvIGNvbmZpZ3VyZSBjYXBzIG9uIHRoZSBzcmNwYWQuIFJlbW92ZSB0aGUgaW5zdGFuY2UKCSAgdmFyaWFibGUgZm9yIHRoZSBjYXBzLgoKMjAwOS0wOS0wMyAxODo0MzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IGZpeCB0aW1lc3RhbXBpbmcKCSAgSGFuZGxlIERJU0NPTlQgYW5kIHJlc2V0IGFkYXB0ZXIuCgkgIGNvZGUgY2xlYW51cHMuCgkgIFB1dCB0aW1lc3RhbXBzIGFuZCBkaXNjb250IGZsYWdzIG9uIG91dHB1dCBidWZmZXJzLgoJICBGaXggZXJyb3IgaGFuZGxpbmcuCgkgIFJlbW92ZSBib2d1cyBvYmplY3QgbG9ja3MsIGl0J3MgYWxsIHByb3RlY3RlZCBieSB0aGUgU1RSRUFNX0xPQ0suCgoyMDA5LTA5LTAzIDE3OjQ5OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBmYWN0b3JpemUgZHNob3cgZm9ybWF0IHRvIGdzdCBjYXBzIGNvbnZlcnNpb24KCjIwMDktMDktMDMgMTc6MjA6NDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgY3BsdXNwbHVzIGNvbmRpdGlvbgoKMjAwOS0wOS0wMyAxNzoxMjoyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogZmFjdG9yaXplIGRzaG93IHZpZGVvIGZvcm1hdCBwYXJzaW5nCgoyMDA5LTA5LTAzIDE1OjQ1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IElmIHN0cmVhbSB0eXBlIGlzIEFDMyBhbmQgbm8gRUFDMyBkZXNjcmlwdG9yIGlzIGZvdW5kIGFzc3VtZSBBQzMKCjIwMDktMDktMDMgMTU6NDA6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSW1wbGVtZW50IEVBQzMgaGFuZGxpbmcgYWNjb3JkaW5nIHNvbWUgQVRTQyBzcGVjcy4KCSAgRml4ZXMgYnVnICM1OTQwMzAuCgoyMDA5LTA5LTAzIDAwOjI4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogbW92ZSB4ZGcgdHlwZWZpbmRlciB0byB0aGUgb3RoZXIgdHlwZWZpbmRlcnMgaW4gLWJhc2UKCSAgUmVtb3ZlIHRoZSB4ZGdtaW1lIHBsdWdpbiB3aGljaCBub3cgYmFyZWx5IGNvbnRhaW5zIGFueSBjb2RlIGF0IGFsbAoJICBhbmQgbW92ZSB0aGUgZnVuY3Rpb25hbGl0eSBpbnRvIGdzdC1wbHVnaW5zLWJhc2UgbmV4dCB0byB0aGUgb3RoZXIKCSAgdHlwZWZpbmRlcnMuCgoyMDA5LTA5LTAyIDEzOjM1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWdzbXV4LCBtcGVncHNtdXg6IGZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyB3aXRoIHRoZSBkZWJ1Z2dpbmcgc3lzdGVtIGluIGNvcmUgZGlzYWJsZWQKCjIwMDktMDktMDEgMTI6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3RyZWFtIHR5cGUgMHg4MSBpcyBub3JtYWwgQUMzLCBub3QgRUFDMwoJICBOb3Qgc3VyZSB3aGF0IHRoZSBzdHJlYW0gdHlwZSBmb3IgRUFDMyBpcyB0aG91Z2guCgkgIEZpeGVzIGJ1ZyAjNTkzMDU5LgoKMjAwOS0wOC0zMCAyMzowNzozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlZmFjdG9yIHNsaWdodGx5IGFuZCByZW1vdmUgc3VwZXJmbHVvdXMgY29kZQoKMjAwOS0wOC0zMCAyMzowNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZyZXNoZW4gdXAgY2FwcyBuZWdvdGlhdGlvbgoJICBQZXJmb3JtIHNpbmsgYW5kIHNyYyBjYXBzIG5lZ290aWF0aW9uIGR1cmluZyBjYXBzIG5lZ290YXRpb24sCgkgIGFuZCBhbHNvIGNhdGVyIGZvciByZS1uZWdvdGlhdGlvbi4KCjIwMDktMDgtMzAgMjM6MDA6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHJld3JpdGUgZGF0YSBjYWNoaW5nIGFuZCB0aW1lc3RhbXAgaGFuZGxpbmcKCSAgQWxzbyBmaXhlcyAjNTkzMzQ4LgoKMjAwOS0wOC0zMSAxODo1NTo1MiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQSBsaXR0bGUgY2xlYW4gdXAuCgkgIFJlb3JkZXIgdGhlIGxpc3Qgb2YgQU1fQ09ORElUSU9OQUwoKXMgdXNlZCB3aGVuIC0tZGlzYWJsZS1leHRlcm5hbCBpcwoJICBzcGVjaWZpZWQgdG8gbWF0Y2ggdGhlIGFjdHVhbCBvcmRlciBvZiB0aGUgcGx1Zy1pbnMgZWFybGllciBpbiB0aGUgZmlsZS4KCjIwMDktMDgtMzEgMTg6NDk6MTYgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsbG93IC0tZGlzYWJsZS1leHRlcm5hbCB0byBiZSBzcGVjaWZpZWQgYWdhaW4uCgoyMDA5LTA4LTMxIDE4OjQ3OjQ0ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbGxvdyAtLWRpc2FibGUta2F0ZSB0byBhY3R1YWxseSBiZSBzcGVjaWZpZWQuCgoyMDA5LTA4LTMxIDE4OjQxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBjbGVhbnVwIGVycm9yIGhhbmRsZXIKCjIwMDktMDgtMzEgMTg6MzQ6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZyZWUgdGhlIGFkYXB0ZXIKCjIwMDktMDgtMzEgMTg6MzI6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGNsZWFudXBzCgoyMDA5LTA4LTMxIDE4OjIxOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBhbGxvdyBmb3IgcHVzaCBtb2RlIG9wZXJhdGlvbgoJICBGaXhlcyAjNTg2OTI5CgoyMDA5LTA4LTMxIDE4OjIwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogdXNlIHN0YXRlIG1hY2hpbmUKCSAgVXNlIGEgc3RhdGUgbWFjaGluZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHN0YXRlLgoJICBBZGQgY2hhaW4gZnVuY3Rpb24gYW5kIGV2ZW50IGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMDktMDgtMzEgMTc6Mzg6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IHJlbW92ZSB1c2VsZXNzIGZ1bmN0aW9uIGNhbGxzCgoyMDA5LTA4LTMxIDE3OjMzOjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogc2V0IGNhcHMgb24gcGFkCgkgIFNldCB0aGUgY2FwcyBvbiB0aGUgcGFkIGFuZCB1c2UgdGhvc2UgY2FwcyBpbnN0ZWFkIG9mIGtlZXBpbmcgYSBzZXBhcmF0ZSBjYXBzCgkgIHBvaW50ZXIgYXJvdW5kLgoJICBGaXggc29tZSB3aGl0ZXNwYWNlLgoKMjAwOS0wOC0zMSAxNzoyNzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHdoaXRlc3BhY2UKCjIwMDktMDgtMzEgMTY6MDc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkgIGthdGU6IGZpeCB0eXBvIGluIE1ha2VmaWxlLmFtCgkgIEdTVF9QTFVHSU5fQkFTRV9MSUJTIHNob3VsZCBiZSBHU1RfUExVR0lOU19CQVNFX0xJQlMuIEZpeGVzICM1OTM2ODMuCgoyMDA5LTA4LTMxIDEzOjMxOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIGZvciBnaXQgdmVyc2lvbgoKMjAwOS0wOC0zMSAxMzoxNDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBHc3RBZGFwdGVyIGlzIG5vdCBhIEdzdE9iamVjdCBhbmQgc2hvdWxkIGJlIGZyZWVkIHdpdGggZ19vYmplY3RfdW5yZWYoKQoKMjAwOS0wOC0zMSAxMzowMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBhbiBvbGQtZmFzaGlvbmVkIGFycmF5IGluc3RlYWQgb2YgR1B0ckFycmF5IGZvciBtdXgtPnByb2dyYW1zCgkgIFVzaW5nIEdQdHJBcnJheSBmb3IgYSBmaXhlZC1zaXplZCBhcnJheSBpcyBhIGJpdCBwb2ludGxlc3MgYW5kIG1ha2VzCgkgIGZvciB1Z2x5IGNvZGUuCgoyMDA5LTA4LTMxIDEwOjQ4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0Lmg6CgkgIG1wZWdwc211eDogQWRkIG1pc3NpbmcgZmlsZXMgdG8gZml4IGNvbXBpbGF0aW9uCgkgIEZpeGVzIGJ1ZyAjNTkzNjI1LgoKMjAwOS0wOC0xMCAwMToxNDoxOSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBleGFtcGxlcy9tcHRzX3Rlc3QyLmM6CgkgIG1wZWd0c211eDogVGVzdCBwcm9ncmFtIG9mIG1wdHMgc3VwcG9ydCBpcyBhZGRlZAoKMjAwOS0wNy0yMiAyMDoyNzozNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IE1pbm9yIGZpeGVzCgoyMDA5LTA3LTIyIDIwOjI1OjQyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbXV4LT5wcm9ncmFtczogdXNlIEdQcnRBcnJheSBpbnN0ZWFkIG9mIEdBcnJheQoKMjAwOS0wNy0xMSAxOToyOTo1MyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG1wZWd0c211eF9jb2xsZWN0ZWQoKTogY2FsY3VsYXRlIFBDUiBmb3IgcHJvZ3JhbXMKCjIwMDktMDctMTEgMTk6MTU6MTIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtcGVndHNtdXhfY3JlYXRlX3N0cmVhbXMoKTogY3JlYXRlIG11bHRpIHN0cmVhbXMKCjIwMDktMDctMTEgMTk6MTM6MjMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBNcGV0VHNQYWREYXRhOiBhZGQgcHJvZ19pZCBhbmQgcmVmIHRvIGl0cyBwcm9ncmFtCgoyMDA5LTA3LTExIDE5OjA5OjE3ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRXh0ZW5kIG11eC0+cHJvZ3JhbSB0byBhIEdBcnJheSBwcm9ncmFtcwoKMjAwOS0wNy0xMSAxNzo0NDo1NCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IEFkZCBuZXcgcHJvcGVydHkgcHJvZy1tYXAgdG8gdGhlIG11eGVyCgoyMDA5LTA4LTE4IDEyOjE0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRnJlZSB0aGUgUFBTIGJ1ZmZlcnMgdG9vCgoyMDA5LTA4LTE3IDE4OjAzOjAwICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29tcHV0ZSB0aW1lc3RhbXAKCjIwMDktMDgtMTcgMTc6NTg6NDYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWNvZ25pemUgbW9yZSB0eXBlcyBvZiBOQUwKCSAgQWxzbyByZWNvZ25pemVzIE5BTHMgY2FycnlpbmcgVkNMIChpLmUuIHZpc2libGUgcGljdHVyZXMpLiBXZQoJICB0eXBpY2FsbHkgb25seSBjb21wdXRlIHRpbWVzdGFtcHMgZm9yIHN1Y2ggTkFMcwoKMjAwOS0wOC0xNyAxNzo1NjoyNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHBhcnNlciBpbml0ICYgZmluYWxpemUKCjIwMDktMDgtMTcgMTc6NTM6NDMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgc2xpY2UgaGVhZGVyCgoyMDA5LTA4LTE3IDE3OjUzOjExICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSQoKMjAwOS0wOC0xNyAxNzo1Mjo0NyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUk6IHBpY3R1cmUgdGltaW5nIGluZm8KCjIwMDktMDgtMTcgMTc6NTI6MTIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJOiBidWZmZXJpbmcgcGVyaW9kCgoyMDA5LTA4LTE3IDE3OjUxOjM2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFBQUwoKMjAwOS0wOC0xNyAxNzo1MToxMCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTUFMKCjIwMDktMDgtMTcgMTc6NTA6MzMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTUFM6IGRlY29kZSB2dWkgcGFyYW1zCgoyMDA5LTA4LTE3IDE3OjUwOjAyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU1BTOiBkZWNvZGUgaHJkIHBhcmFtcwoKMjAwOS0wOC0xNyAxNzo0NDozOCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IHNsaWNlIGhlYWRlciBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6NDM6NTEgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBTRUkgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjQyOjA2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgUFBTIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzozODo1OSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFNQUyBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTEgMTI6MDA6MTAgKzAyMDAgIExpbiBZYW5nIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L2JpdHMuaDoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogQWRkIE1QRUcgUFMgbXV4ZXIKCjIwMDktMDgtMTMgMTY6NDU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnOiBBZGQgUlNWRyBTVkcgZGVjb2RlciBwbHVnaW4KCSAgVGhpcyBzdXBwb3J0cwoJICAtIGRlY29kaW5nIHNpbmdsZSBTVkcgaW1hZ2VzIGFuZCBhIHN0cmVhbSBvZiBTVkcgaW1hZ2VzIHdpdGggYSBnaXZlbiBmcmFtZXJhdGUKCSAgLSBsb3NzbGVzcyBzY2FsaW5nIG9mIFNWRyBpbWFnZXMKCSAgLSBBUkdCIG91dHB1dAoKMjAwOS0wOC0zMSAwOToxMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggbGliYXNzID49IDAuOS43IGFuZCBmaXggYXNwZWN0IHJhdGlvIHNldHRpbmcKCSAgRml4ZXMgYnVnICM1NzUyNjEuCgoyMDA5LTA4LTMwIDIyOjIwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogVW5jb25kaXRpb25hbGx5IHVzZSBHTGliIDIuMTYgQVBJCgoyMDA5LTA4LTMwIDIyOjE3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5oOgoJICB4ZGdtaW1lOiBBbHdheXMgdXNlIEdMaWIgaW5zdGVhZCBvZiB4ZGdtaW1lCgkgIE5vdyB0aGF0IHdlIGRlcGVuZCBvbiBHTGliIDIuMTYgd2UgY2FuIGFzIHdlbGwgdXNlIGl0J3MKCSAgaW50ZXJuYWwgY29weSBvZiB0aGUgeGRnbWltZSBpbnN0ZWFkIG9mIG91ciBvd24uCgoyMDA5LTA4LTMwIDIyOjEzOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogVW5jb25kaXRpb25hbGx5IHVzZSBHTGliIDIuMTYgQVBJCgoyMDA5LTA4LTE5IDE3OjE4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByc25zdHJlYW1zZWxlY3RvcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNzowNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTMwIDIzOjM4OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNC4xCgo9PT0gcmVsZWFzZSAwLjEwLjE0ID09PQoKMjAwOS0wOC0zMCAwMDoyNDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdXBkYXRlIGNvbW1vbiB0byBhIHZlcnNpb24gdGhhdCBpbmNsdWRlcyBhIGZpeGVkIG1hbmdsZS10bXBsLnB5CgkgIFdoaWNoIGlzIG5lZWRlZCB0byBidWlsZCB0aGUgcGx1Z2luIGRvY3MgZm9yIHRoZSBmcmVpMHIgcGx1Z2luIChhbmQKCSAgd2FzIGluY2x1ZGVkIGluIHRoZSAwLjEwLjE0IHJlbGVhc2UgdGFyYmFsbCkuCgoyMDA5LTA4LTI5IDE5OjM1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNAoKMjAwOS0wOC0yOSAxOTowMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA4LTI2IDAxOjIxOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjUgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjYgMDE6MTg6MDAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0ZHJhdywgZGlyZWN0c291bmQ6IHVuaWZ5IENGTEFHUyBhbmQgZml4IGNvbmZpZ3VyZSBjaGVja3MgZm9yIERpcmVjdFgtYmFzZWQgcGx1Z2lucwoJICBPbmUgc2V0IG9mIENGTEFHUyBmb3IgYWxsIERpcmVjdFgtYmFzZWQgcGx1Z2lucy4gQ29ycmVjdCBoZWFkZXIvbGlicmFyeQoJICBjaGVja3MgZm9yIERpcmVjdFgtYmFzZWQtcGx1Z2lucy4gUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhbmQgbGFiZWwgaW4KCSAgZGlyZWN0c291bmRzcmMuCgkgIEZpeGVzICM1OTMwNjguCgoyMDA5LTA4LTI2IDAwOjI2OjQyICswMTAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IHJpZ2h0IE9GRlNFVCBhbmQgT0ZGU0VUX0VORCBvbiBoZWFkZXIgYnVmZmVycyB0byBtYWtlIG9nZ211eCBoYXBweQoJICBXaXRob3V0IHRoaXMgb2dnbXV4IHdpbGwganVzdCBrZWVwIGJ1ZmZlcmluZyBvdXRwdXQgcGFnZXMgaW4gc29tZSBjYXNlcy4KCSAgRml4ZXMgIzU5MzAyNC4KCjIwMDktMDgtMjUgMjM6NDQ6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkLCByYXdwYXJzZTogZml4IExERkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2UgbGlicwoJICBGaXhlcyAjNTkzMDYzLgoKMjAwOS0wOC0yNCAyMDowNjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy40IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI0IDE4OjE2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogdXNlIGRpZmZlcmVudCBlbGVtZW50IEdUeXBlIG5hbWUgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBwcmV2aW91cyBwbHVnaW4KCSAgVXNlIGEgZGlmZmVyZW50IEdUeXBlIG5hbWUgZm9yIHRoZSBlbGVtZW50IHRvIGF2b2lkICdjYW5ub3QgcmVnaXN0ZXIgZXhpc3RpbmcgdHlwZScKCSAgd2FybmluZ3Mgd2hlbiBydW5uaW5nICdtYWtlIGNoZWNrJyBpbiB0aGUgdW5wYWNrZWQgdGFyYmFsbCB3aXRoIHRoZSBvbGQgYW1yd2IgcGx1Z2luCgkgIGFsc28gaW5zdGFsbGVkIGFzIHN5c3RlbSBwbHVnaW4gdW5kZXIgdGhlIG9sZCBuYW1lIChpdCB1c2VkIHRvIGJlIGNhbGxlZCAnYW1yd3JiJwoJICBhbmQgbm93IGl0J3MgJ2FtcndiZW5jJykuCgoyMDA5LTA4LTI0IDE0OjM3OjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogdXNlIG9mIGRlZmF1bHQgZGVidWcgY2F0ZWdvcnkgYW5kIGJldHRlciBkc2hvdyBlcnJvcnMgcmVhZGFiaWxpdHkKCjIwMDktMDgtMjEgMDE6MTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBmaXggdGVzdC1vc3M0IHRvIHRyZWF0IGFuIGVtcHR5IGRldmljZSBuYW1lIHRoZSBzYW1lIGFzIGEgTlVMTCBuYW1lCgoyMDA5LTA4LTE4IDE1OjQ4OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogV3JpdGUgRk9VUkNDIGFzIDMyYml0CgoyMDA5LTA4LTE1IDE3OjU0OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgcmVtb3ZlIGEgYnVuY2ggb2YganVuayBmcm9tIFJFUVVJUkVNRU5UUwoKMjAwOS0wOC0xNCAyMDoyMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4zIHByZS1yZWxlYXNlCgoyMDA5LTA4LTE0IDE0OjEwOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkaXNhYmxlIGFzcyBwbHVnaW4gZm9yIGxpYmFzcyA+PSAwLjkuNyBiZWNhdXNlIG9mIEFQSSBjaGFuZ2VzCgkgIFNlZSAjNTc1MjYxLgoKMjAwOS0wOC0xMiAxODozMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IERvIG5vdCBtZXNzIHVwIEdzdENvbGxlY3REYXRhIGxpc3QKCSAgYXNmbXV4IHdhcyBtZXNzaW5nIHVwIHdpdGggdGhlIEdzdENvbGxlY3REYXRhIGxpc3Qgb2YgaXRzCgkgIEdzdENvbGxlY3RQYWRzIHdoZW4gc29ydGluZyB0aGUgbGlzdCBpbnBsYWNlLiBUaGlzIHBhdGNoIG1ha2VzCgkgIGl0IGNvcHkgdGhlIGxpc3QgYmVmb3JlIHNvcnRpbmcgaXQsIGxlYXZpbmcgdGhlIEdzdENvbGxlY3RQYWRzCgkgIGxpc3QgYXMgaXMuIEZpeGVzICM1OTE2MTAKCjIwMDktMDgtMTIgMTI6MjM6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVTRSBHU1RfV1JJVEVfKl9MRSBtYWNyb3MKCjIwMDktMDgtMTIgMTI6MjE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlZnVzZSB0byBnbyBwbGF5aW5nIGluIHBhdXNlZC1tb2RlIHdpdGhvdXQgY2xvY2sKCSAgT25seSB0cnkgdG8gdXNlIHRoZSBjbG9jayBpbiBpZiBwYXVzZWQtbW9kZSBpcyBzZXQgYW5kIHJlZnVzZSB0byBnbyBwbGF5aW5nCgkgIGluIHBhdXNlZC1tb2RlIHdpdGhvdXQgaXQuCgkgIEZpeGVzIGJ1ZyAjNTkxNTM4CgoyMDA5LTA4LTExIDE2OjQyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEVtcHR5IGV2ZW50IHF1ZXVlIG9uIGZpbmFsaXplCgoyMDA5LTA4LTExIDE2OjM5OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogVXNlIEdTbGljZSBmb3IgaW50ZXJuYWwgZXZlbnQgc3RydWN0dXJlcwoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTEyIDEwOjI4OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGJsYWNrbGlzdCBmb3IgZ2VuZXJpYyBzdGF0ZXMgdGVzdCwgYW5kIGRlbW90ZSB0byBHU1RfUkFOS19OT05FCgkgIFRoZXNlIGVsZW1lbnRzIGFyZSBub3QgZml0IGZvciBhdXRvcGx1Z2dpbmcsIHNvIGRlbW90aW5nIHRvIFJBTktfTk9ORS4KCSAgQWxzbyBibGFja2xpc3RpbmcgZm9yIGdlbmVyaWMgc3RhdGVzIHRlc3QsIHNpbmNlIGZpeGluZyB0aGVzZSBlbGVtZW50cwoJICB1cCB0byBkbyBzb21lIG1pbmltYWwgZXJyb3IgaGFuZGxpbmcgc2VlbXMgdG8gYmUgYSBiaXQgbW9yZSB3b3JrLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzU5MTUzOC4KCjIwMDktMDgtMTEgMTg6MDE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMiBwcmUtcmVsZWFzZS4KCjIwMDktMDgtMTEgMTU6Mjc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIEFkZCBteXNlbGYgdG8gTUFJTlRBSU5FUlMgZmlsZSBhbmQgdXBkYXRlIFdpbSdzIGUtbWFpbC4KCjIwMDktMDgtMTEgMTQ6MTc6MzIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDktMDgtMTEgMTI6NDI6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGVlbmM6IGVycm9yIG91dCBpZiBjYXRlZ29yeSBoYXMgbm90IGJlZW4gc2V0IGFuZCBjaGVjayBmb3Igb2J2aW91c2x5IHdyb25nIHZhbHVlcwoKMjAwOS0wOC0xMSAwMjo0Njo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwbWFuYWdlci8uZ2l0aWdub3JlOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgTW92ZSBydHBtYW5hZ2VyIGZyb20gLWJhZCB0byAtZ29vZC4KCjIwMDktMDgtMTEgMDk6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGFzZm11eCB1bml0IHRlc3QgYmluYXJ5CgoyMDA5LTA4LTExIDA5OjAwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGRpc2FibGUgdW5pdCB0ZXN0cyB0aGF0IGFyZSBmbGFreSBvciBkb24ndCB3b3JrIHdpdGggY29yZSBnaXQKCSAgY2FtZXJhYmluIHRlc3Qgc2VlbXMgdG8gdGltZSBvdXQgd2l0aCBjb3JlIGdpdCwgc28gZGlzYWJsaW5nIGJlY2F1c2UKCSAgY2hhbmNlcyBhcmUgdGhlIHByb2JsZW0gaXMgaW4gdGhlIHRlc3QgYW5kIHRoZSBjb3JlIGdpdCBzdHVmZiB3aWxsCgkgIGJlIHJlbGVhc2VkIGJlZm9yZSB3ZSBjYW4gZml4IHRoZSBjb2RlIGluIHRoZSB0ZXN0LgoJICBuZW9uaHR0cHNyYyB1bml0IHRlc3QgaXMgYSBiaXQgZmxha3ksIGl0IHRlbmRzIHRvIGZhaWwgdGhlIGZpcnN0CgkgIHRpbWUgd2hlbiBjYWxsZWQgKHRoZSBob3N0L3VybCBpdCBjaGVja3MgZm9yIHNlZW1zIHRvIGJlIGRvd24gYXMKCSAgd2VsbC9hbnl3YXkpLgoKMjAwOS0wOC0xMCAyMjoxNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIFJlbW92ZSBleGVjdXRlIGZsYWdzIGZyb20gc291cmNlIGZpbGVzCgoyMDA5LTA4LTA5IDAyOjA0OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbgoJICBUbyBhdm9pZCBjb25mdXNpb24uCgoyMDA5LTA4LTEwIDE2OjM1OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2FuIGxpc3QgbW9yZSB0aGFuIDEgZGV2aWNlCgkgIHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcgY29kZSBub3cgd29ya3M6CgkgIHZlY3RvcjxzdHJpbmc+IGdldFZpZGVvRGV2aWNlTmFtZXMoKQoJICB7CgkgIHZlY3RvcjxzdHJpbmc+IGxfbmFtZTsKCSAgc3RyaW5nIHByb3BlcnR5OwoJICBHc3RFbGVtZW50KiB2aWRlb2RldmljZXNyYyA9IGNyZWF0ZV9lbGVtZW50KCJkc2hvd3ZpZGVvc3JjIiwgInZpZGVvZGV2aWNlc3JjIik7CgkgIEdzdFByb3BlcnR5UHJvYmUqIHByb2JlID0gR1NUX1BST1BFUlRZX1BST0JFICh2aWRlb2RldmljZXNyYyk7CgkgIEdWYWx1ZUFycmF5KiB2YSA9IGdzdF9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzX25hbWUgKHByb2JlLCAiZGV2aWNlLW5hbWUiKTsKCSAgaWYgKHZhKQoJICB7CgkgIGZvcihzaXplX3QgaT0wOyBpIDwgdmEtPm5fdmFsdWVzOyArK2kpCgkgIHsKCSAgR1ZhbHVlKiB2ID0gZ192YWx1ZV9hcnJheV9nZXRfbnRoKHZhLCBpKTsKCSAgc3RyaW5nIG5hbWUoZ192YWx1ZV9nZXRfc3RyaW5nKHYpKTsKCSAgbF9uYW1lLnB1c2hfYmFjayhuYW1lKTsKCSAgfQoJICB9CgkgIGlmICh2aWRlb2RldmljZXNyYykKCSAgZ3N0X29iamVjdF91bnJlZihHU1RfT0JKRUNUICh2aWRlb2RldmljZXNyYykpOwoJICByZXR1cm4gbF9uYW1lOwoJICB9CgoyMDA5LTA4LTEwIDE2OjE3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGhhbmRsZXMgZGV2aWNlLW5hbWUgcHJvcGVydHkKCjIwMDktMDgtMTAgMTY6MDM6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBhZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgYSBtZWRpYSB0eXBlCgoyMDA5LTA4LTEwIDE0OjMyOjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9jYXBAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOC0xMCAxMzoyMTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHNwYzogZml4IHR5cG8gaW4gTWFrZWZpbGUuYW0gYW5kIGJ1aWxkIHRoZSByaWdodCBwbHVnaW4gKHNwYyBub3QgZ21lKQoKMjAwOS0wOC0xMCAxNDoyMzoxNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogY2FuIHVzZSBvdGhlciB2aWRlbyBzaXplcyBhbmQgZnJhbWVyYXRlcyB0aGFuIHRoZSBkZWZhdWx0cwoJICBFdmVuIGlmIHRoZSBkZXZpY2UgY291bGQgY2FwdHVyZSBzZXZlcmFsIHZpZGVvIHNpemVzIGF0IHNldmVyYWwgZnJhbWVyYXRlcywKCSAgd2l0aG91dCB0aGlzIGNvbW1pdCwgaXQgd2FzIG9ubHkgcG9zc2libGUgdG8gdXNlIG9uZSB2aWRlbyBzaXplIGFuZAoJICBvbmUgZnJhbWVyYXRlOiB0aGUgZGVmYXVsdCBkaXJlY3RzaG93IHZhbHVlcy4KCjIwMDktMDgtMTAgMTE6NDA6MTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIGRpcmVjdHNvdW5kc3JjOiBhZGQgdnM4IHByb2plY3QKCjIwMDktMDgtMTAgMTE6MzY6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBMRiBhbmQgaW5kZW50CgoyMDA5LTA4LTA5IDE1OjIwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IENhY2hlIGV2ZW50cyBhbmQgc2VuZCB0aGVtIGRvd25zdHJlYW0gb25jZSBhbiBlbGVtZW50IHdhcyBzZWxlY3RlZAoKMjAwOS0wOC0wOSAxNDo1NToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBTbWFsbCBjbGVhbnVwcwoKMjAwOS0wOC0wOSAxMjoyNTowMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IGNyYXNoIHdoZW4gZXhwb3NpbmcgaW4gR1NUX1NUQVRFX1JFQURZCgkgIEZpeGVzIGJ1ZyAjNTQxOTYyLgoKMjAwOS0wOC0wOCAyMjoxNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCBhbnN3ZXIgdGhlIFNFRUtJTkcgcXVlcnkgaWYgd2UgZG9uJ3Qga25vdyB0aGUgYW5zd2VyIHlldAoJICBBIGJpdHJhdGUhPS0xIGlzIHJlcXVpcmVkIGZvciBzZWVraW5nIGJ1dCB0aGUgYml0cmF0ZSBpcyBvbmx5IGNhbGN1bGF0ZWQKCSAgYWZ0ZXIgdGhlIHNlY29uZCBQQ1Igd2FzIHJlYWQuCgkgIEZpeGVzIGJ1ZyAjNTkwNDQ2LgoKMjAwOS0wOC0wOCAyMToyMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IExvd2VyIHJhbmsgdG8gU0VDT05EQVJZIHRvIG1ha2UgdGhlIGdtZSBwbHVnaW4gdGhlIGRlZmF1bHQKCjIwMDktMDgtMDggMjE6MTc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogQWRkIHRoZSBPcGVuU1BDIHNwYyBwbHVnaW4gYWdhaW4KCSAgVGhlIGdtZSBwbHVnaW4gb2Jzb2xldGVzIGl0IGJ1dCBpdCBtaWdodCBzdGlsbCBiZSB1c2VmdWwKCSAgZm9yIHVzZXJzIHRoYXQgZG9uJ3QgaGF2ZSBnbWUgeWV0IG9yIHByZWZlciBvcGVuc3BjIGZvciBzb21lIHJlYXNvbi4KCjIwMDktMDgtMDggMTI6MjA6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZTogc29tZSBtaW5vciBjbGVhbi11cHMKCSAgUHJpbnQgZmxvdyByZXR1cm4gYXMgc3RyaW5nIGluIGxvZyBtZXNzYWdlOyBpZiB3ZSBjaGVjayB0aGUgcmV0dXJuCgkgIHZhbHVlIG9mIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIHdlIHNob3VsZCB1c2UgdGhlIF90cnkoKSBmdW5jdGlvbgoJICB0aGF0IG1pZ2h0IGFjdHVhbGx5IHJldHVybiBOVUxMLiBQb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcKCSAgR1NUX0ZMT1dfRVJST1IuIFVzZSBwb3J0YWJsZSBHTGliIG1hY3JvcyB0byBwcmludCA2NC1iaXQgaW50ZWdlcnMuCgkgIERvbid0IHVzZSAwTEwsIHRoYXQncyBhbHNvIG5vdCBwb3J0YWJsZSAoYW5kIHVubmVlZGVkIGhlcmUpLgoKMjAwOS0wOC0wOCAxMDozMDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlOiBPbmx5IHByb3ZpZGUgdmVyeSBmdW5kYW1lbnRhbCBjYXBzIGluIHRoZSBwYWQgdGVtcGxhdGUKCSAgV2UgY2FuJ3QgZWFzaWx5IGtub3cgd2hpY2ggY2FwcyB3aWxsIGNhbiBiZSB1c2VkIGJlY2F1c2Ugd2UgcmVseSBvbgoJICBsaWJnc3R2aWRlbydzIHN1cHBvcnQgZm9yIHZpZGVvIGZvcm1hdHMuCgoyMDA5LTA4LTA4IDEwOjI3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IFNtYWxsIGNsZWFudXBzIGFuZCBpbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wOC0wOCAwODoyNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBTbWFsbCBjbGVhbnVwcwoKMjAwOS0wOC0wOCAwNzo1OToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGV2ZXJ5dGhpbmcgaW5zdGVhZCBvZiBvdXIgb3duIGNhbGN1bGF0aW9ucwoJICBBbHNvIG1ha2UgUkdCIHVzYWdlIGVhc2llciBieSBwcm92aWRpbmcgeFJHQiwgUkdCeCwgZXRjLiBmb3JtYXRzCgkgIGluc3RlYWQgb2YgcmVxdWlyaW5nIHRvIHNldCByZWRfbWFzayBhbmQgZnJpZW5kcy4KCjIwMDktMDgtMDcgMTk6MTI6MjYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBhIG1lbW9yeSBsZWFrCgoyMDA5LTA4LTA3IDE5OjAwOjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZGVkIFZDMSwgRUFDMyBhbmQgTFBDTSByZWxhdGVkIHRvIGJsdWVyYXkvaGRtdgoKMjAwOS0wOC0wNyAxODozNTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGFkZGVkIGNhcHMgZm9yIEFBQyBhbmQgZml4ZWQgcGxheWJhY2sgb2YgYSBjbGlwIHdpdGggTFBDTQoKMjAwOS0wOC0wNyAxODoxNzoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IGltcHJvdmVkIGRlbXV4ZXIgcGVyZm9ybWFuY2UKCSAgSW5jcmVhc2VkIHBlcmZvcm1hbmNlIGRvaW5nIHB1bGxfcmFuZ2UgaW4gYmxvY2tzIG9mIDMyS2IgaW5zdGVhZCBvZiA0S2IuCgkgIENhY2hpbmcgdGhlIHZhbHVlIG9mIGdzdF9hZGFwdGVyX2F2YWlsYWJsZSBpbnN0ZWFkIG9mIGNhbGxpbmcgaXQgMyB0aW1lcy4KCSAgQWRkZWQgc29tZSBjb21tZW50cyB3aXRoIHRoZSBoZWFkZXIgZGVzY3JpcHRpb25zLgoJICBQZWVrIGVub3VnaCBkYXRhIHRvIGF2b2lkIGEgY29ybmVyIGNhc2Ugd2hlcmUgY291bGQgYmUgcmVhZGVkIGRhdGEgb3V0c2lkZQoJICB0aGUgYnVmZmVyLgoJICBTcGVlZCB1cCBzb21lIG1vcmUgaW5saW5pbmcgc29tZSBmdW5jdGlvbnMgYW5kIGtlZXBpbmcgYW5vdGhlciBzdHJlYW0gcG9pbnRlcgoJICBsaXN0IHRvIGJlIHVzZWQgYXMgaXRlcmF0b3IuCgkgIFNwcmlua2xlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcyBhY2Nyb3NzIHRoZSBjb2RlLgoJICBIYW5kbGluZyB0aGUgc2Vla2luZyB3aXRoIGZsdXNoIGluIHB1bGwgbW9kZSBpbiB0aGUgcHJvcGVyIHdheS4KCjIwMDktMDgtMDcgMTQ6NDE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lZGVjOiBVc2UgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG1hbnkgYnVmZmVyIGpvaW5zCgkgIFRoaXMgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHJlYWxsb2NhdGlvbnMgYW5kIG1lbWNweXMgZHJhc3RpY2FsbHkuCgkgIEFsc28gZnJlZSB0aGUgaW5wdXQgZGF0YSBhcyBzb29uIGFzIGl0J3MgY29tcGxldGUgYW5kIHBhc3NlZCB0byBHTUUKCSAgYXMgaXQncyBub3QgbmVlZGVkIGFueW1vcmUuCgoyMDA5LTA4LTA3IDEzOjA3OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGRyYWluaW5nCgoyMDA5LTA4LTA3IDEzOjA2OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoKMjAwOS0wOC0wNyAxMzowNDoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHN5bmMgYmFzZXBhcnNlIChzb21lIG1vcmUpCgoyMDA5LTA4LTA3IDA5OjIxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZWRlYzogQWRkIGNhcHMgZm9yIGFsbCBzdXBwb3J0ZWQgZmlsZSBmb3JtYXRzIHRvIHRoZSBzcmNwYWQgdGVtcGxhdGUKCjIwMDktMDgtMDcgMDc6MjM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBEb24ndCBhZGQgZW1wdHkgc3RyaW5nIHRhZ3MKCjIwMDktMDgtMDcgMDc6MDE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGaXggY2FwcyBuYW1lIGFnYWluCgoyMDA5LTA4LTA3IDA2OjU5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZTogUmVuYW1lIGV2ZXJ5dGhpbmcgZnJvbSBTUEMgdG8gR01FCgoyMDA5LTA4LTA3IDA2OjU5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogUmVhbGx5IHJlbW92ZSBvbGQgU1BDIGNvZGUKCjIwMDktMDgtMDcgMDY6NTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dtZS90YWcuYzoKCSogZXh0L2dtZS90YWcuaDoKCSAgZ21lOiBVc2UgZ21lIGZvciB0YWdzIGFuZCBkdXJhdGlvbiBwYXJzaW5nCgoyMDA5LTA4LTA3IDA2OjQxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ21lL3RhZy5jOgoJKiBleHQvZ21lL3RhZy5oOgoJICBzcGM6IFJlbmFtZSBTUEMgcGx1Z2luIHRvIEdNRQoJICBhcyBwcmVwYXJhdGlvbiBmb3IgZW5hYmxpbmcgc3VwcG9ydCBmb3Igbm9uLVNQQyBnYW1pbmcgY29uc29sZSBzb3VuZCBmaWxlcy4KCjIwMDktMDgtMDYgMjE6NDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjZGVjOiBGb3J3YXJkIGFsbCB1bmtub3duIHNyYyBldmVudHMgdXBzdHJlYW0gYW5kIGRvbid0IHJlc3RyaWN0IHRvIFNQQwoKMjAwOS0wOC0wNiAxOToyNjoyMSArMDIwMCAgcmljIDxjc3huanUgYXQgc29nb3UuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYXZvaWQgYnVmZmVyIGxlYWsgb24gYmFkIHNlcW51bQoJICBGaXhlcyAjNTkwNzk3CgoyMDA5LTA4LTA1IDA5OjM2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ1twdF1zZGVtdXg6IEZpeCBTRUVLSU5HIHF1ZXJ5CgkgIFNlbmQgdGhlIEJZVEVTIGJhc2VkIHF1ZXJ5IGRvd25zdHJlYW0sIG5vdCB0aGUgb3JpZ25hbCBvbmUuCgoyMDA5LTA4LTA0IDEyOjU4OjM1ICswMjAwICBKYW4gVXJiYW5za2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlcXVpcmUgZW5kaWFubmVzcyBmaWVsZCBmb3IgOCBiaXQgcmF3IGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkwMzYwLgoKMjAwOS0wOC0wNCAxMDoxODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTWFrZSB0aGUgU1BDIHBsdWdpbiB3b3JrIHdpdGggdGhlIGxhdGVzdCBsaWJnbWUgcmVsZWFzZQoJICBnbWVfZW5hYmxlX2FjY3VyYWN5KCkgd2FzIGFkZGVkIGluIFNWTiB0cnVuayBhbmQgaXMgbm90IHlldAoJICBpbiBhbnkgcmVsZWFzZS4KCjIwMDktMDgtMDQgMTA6MDY6NTQgKzAyMDAgIE1pY2hhZWwgUHluZSA8bXB5bmVAa2RlLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSAgc3BjOiBVc2UgdGhlIHBvcnRhYmxlIGxpYmdtZSBpbnN0ZWFkIG9mIHg4Ni1vbmx5IE9wZW5TUEMgbGlicmFyeQoJICBUaGlzIHdpbGwgbGF0ZXIgYWxsb3cgdXMgdG8gcGxheSBvdGhlciBnYW1pbmcgY29uc29sZSBmaWxlcwoJICB0aGF0IGFyZSBzdXBwb3J0ZWQgYnkgbGliZ21lLgoJICBGaXhlcyBidWcgIzU3NjgwMC4KCjIwMDktMDYtMTIgMTc6MjI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJlbW92ZSBpbnRlcm5hbCBiaXRyZWFkZXIgYW5kIGJ5dGVyZWFkZXIgbm93IHRoYXQgdGhlc2UgYXJlIGluIGxpYmdzdGJhc2UKCjIwMDktMDctMzEgMTE6Mjc6MDMgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogY2hlY2sgZm9yIHBlbmRpbmcgc3JjcGFkIGluIF9nZXRfcHJvcGVydHkoKQoJICBJZiB0aGVyZSBpcyBhIHBlbmRpbmcgc3JjcGFkLCByZXR1cm4gaXQgaW5zdGVhZCBvZiBhY3RpdmUgc3JjcGFkCgkgIGluIGdzdF9vdXRwdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KCkgZnVuY3Rpb24uCgoyMDA5LTA3LTMwIDE0OjE3OjU5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCBjYW1lcmFzcmMgdG8gUkVBRFkgc3RhdGUgaW5zdGVhZCBvZiBQQVVTRUQgd2hlbiBhY3F1aXJpbmcgYWxsb3dlZCBjYXBzCgoyMDA5LTA3LTMxIDA3OjE2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCBpbmRlbnRpb24KCjIwMDktMDctMzEgMDI6MDU6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZGlyZWN0ZHJhdzogSW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgIEZpeGVzIGJ1ZyAjNTkwMjA4LgoKMjAwOS0wNy0zMSAwMDoxOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogc2V0IHBhZGRpbmcgZmllbGQgdG8gMCBvbiBydHAgYXNmIHBhY2tldHMKCSAgVGhlIEFTRiBSVFAgc3BlYyBkZW1hbmRzIHRoYXQgcGFja2V0cyBoYXZlIHRoZWlyIHBhZGRpbmcgcmVtb3ZlZAoJICBhbmQgdGhlIHBhZGRpbmcgc2l6ZSBmaWVsZCBzZXQgdG8gMCBmb3IgcGFja2V0cyB3aGVuIHB1dGluZyB0aGVtCgkgIGluc2lkZSB0aGUgUlRQIHBhY2tldHMKCjIwMDktMDctMzAgMDA6MTk6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBTZXQgdmlkZW8gc3RyZWFtIHNlZWthYmxlIHByb3BlcnR5IHRvIHRydWUKCSAgVmlkZW8gc3RyZWFtIGFsd2F5cyBoYXZlIGluZGV4ZXMsIHNvIHRoZXkgYXJlIGFsbCBzZWVrYWJsZQoKMjAwOS0wNy0zMCAwMDoxMjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFJlbW92aW5nIHVzZWxlc3MgVE9ET3MKCSAgQWZ0ZXIgdGVzdGluZyBpbiB3aW5kb3dzIGFuZCBsaW51eCwgdGhpcyBhdWRpbyBjb3JyZWN0aW9uIGZpZWxkCgkgIG1hZGUgbm8gZGlmZmVyZW5jZSBzbyBmYXIuIEFsbCBleGFtcGxlIGZpbGVzIEkgZ290IG9ubHkgaGFkCgkgIHplcm9lcyBpbiB0aGlzIGZpZWxkCgoyMDA5LTA3LTMwIDAwOjA0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogRml4ZXMgdmlkZW8gc3RyZWFtIHByb3BlcnRpZXMgb2JqZWN0CgkgIEZpeGVzIHN0cmVhbSBwcm9wZXJ0aWVzIG9iamVjdCBjcmVhdGlvbiBmb3IgdmlkZW8gY29udGVudAoKMjAwOS0wNy0yOSAxOTowNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IGFjY2VwdCBwYWQgcmVxdWVzdHMgYSBsaXR0bGUgbG9uZ2VyCgkgIGFzZm11eCBub3cgc3RhcnQgcmVqZWN0aW5nIHBhZCByZXF1ZXN0cyBhZnRlciBpdCBwdXNoZXMgdGhlIGZpcnN0CgkgIGJ1ZmZlciwgYmVmb3JlIHRoaXMsIGl0IHdhcyByZWplY3RpbmcgYWZ0ZXIgZ29pbmcgdG8gcGF1c2VkCgoyMDA5LTA3LTI5IDE4OjQ0OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogYWRkcyBzdXBwb3J0IHRvIHZjLTEgc3RyZWFtcwoKMjAwOS0wNy0yOSAxNzoyMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZW1wdHkgZmluYWxpemUKCjIwMDktMDctMjkgMTY6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCBtYWNybyBuYW1lCgoyMDA5LTA3LTI5IDE1OjM1OjAzICswMjAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQWRkIERpcmVjdFNvdW5kIHNvdXJjZSBwbHVnaW4KCSAgRml4ZXMgYnVnICMzNDQxMjkuCgoyMDA5LTA3LTI4IDIyOjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXJzdCBiYXNpYyBjaGVjayB1bml0IHRlc3RzCgkgIEFkZHMgc2ltcGxlIGFzZm11eCB1bml0IHRlc3RzLCB0aGF0IHRlc3QgcGFkIGNyZWF0aW9uIGFuZCBwdXNoaW5nIGEKCSAgc2luZ2xlIGJ1ZmZlciB0aHJvdWdoIHRoZW0KCjIwMDktMDctMjggMjE6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBGb3JjaW5nIHBhZCBuYW1lcyB0byBiZSB2aWRlb18lMDJkIGFuZCBhdWRpb18lMDJkIGxpa2UKCjIwMDktMDctMjggMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhbGxvdyBmb3IgTlVMTCBjYXBzIG9uIGJ1ZmZlcnMKCSAgQWRkIHRoZSBOVUxMIGNhcHMgY2hlY2sgd2hlcmUgaXQgbWF0dGVycyBhbmQgYWxzbyBjb3ZlciBhbm90aGVyIGNhc2Ugb2YKCSAgcG90ZW50aWFsIE5VTEwgY2Fwcy4KCSAgRml4ZXMgIzU5MDAzMAoKMjAwOS0wNy0yOCAxMTo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogSW5jb21pbmcgYnVmZmVycyBkbyBub3QgYWx3YXlzIGhhdmUgY2FwcwoKMjAwOS0wNy0yNyAxNDowMzo1OSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IHBob3RvIGlmYWNlIHNldHRlciBmdW5jdGlvbnMgcmV0dXJuIFRSVUUgd2hlbiB1c2VkIGluIE5VTEwgc3RhdGUKCSAgV2UgY2FjaGUgdGhlIHZhbHVlcyBhbmQgYXBwbHkgdGhlbiB3aGVuIHBvc3NpYmxlLgoKMjAwOS0wNy0yNyAwODoyNTozNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG8gbm90IHB1dCB2aWRlbyBwaXBlbGluZSBpbnRvIFJFQURZIHdoZW4gc3RhcnQgcmVjb3JkaW5nIGNhbWVyYWJpbjogcmVtZW1iZXIgcHJvYmUgSURzIGFuZCBkaXNjb25uZWN0IHRoZW0gd2hlbiBkZXN0cm95aW5nIHBpcGVsaW5lcwoKMjAwOS0wNy0yNyAxOTo1OTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IEZpeCBjb21waWxhdGlvbgoKMjAwOS0wNy0yNyAxOTo1NToyNyArMDIwMCAgSWFnbyBUb3JhbCA8aXRvcmFsQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9SRUFETUU6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSogZXh0L2FtcndiZW5jL0dzdEFtcndiRW5jLnByczoKCSogZXh0L2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvUkVBRE1FOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5oOgoJICBhbXJ3YjogUmVtb3ZlIEFNUi1XQiBwYXJzZXIgYW5kIGRlY29kZXIgYW5kIHJlbmFtZSBlbmNvZGVyIHBsdWdpbiBmcm9tIGFtcndiIHRvIGFtcndiZW5jCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4NDg5MC4KCjIwMDktMDctMjcgMTU6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGRvaW5nIGxpcC1zeW5jIGluIEJZRQoJICBXaGVuIHdlIGdldCBhIEJZRSBwYWNrZXQsIGRvbid0IGRvIGxpcC1zeW5jIHdpdGggdGhlIFNSIGluc2lkZSBiZWNhdXNlIHNvbWUKCSAgc2VuZGVycyBoYXZlIHRyb3VibGUgY29uc3RydWN0aW5nIHZhbGlkIFNSIHBhY2tldHMgYWZ0ZXIgQllFLgoKMjAwOS0wNy0yNyAxNTozMzowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNy9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgZGlyZWN0ZHJhd3Npbms6IHVwZGF0ZSB2czggYnVpbGQKCSAgYWxzbyByZW1vdmUgZGlyZWN0ZHJhd3NpbmsgZnJvbSB2czYgYW5kIHZzNyBidWlsZAoKMjAwOS0wNy0yNyAxNDo1Mjo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1c2Ugb2YgSUdzdERzaG93SW50ZXJmYWNlCgoyMDA5LTA3LTI3IDEzOjE3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IGRvIGxpcC1zeW5jIGFmdGVyIGEgQllFCgkgIEFmdGVyIGEgQllFIHBhY2tldCBmcm9tIGEgc291cmNlLCBzdG9wIGZvcndhcmRpbmcgdGhlIFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jCgkgIHRvIHJ0cGJpbi4gU29tZSBzZW5kZXJzIGRvbid0IHVwZGF0ZSB0aGVpciBTUiBwYWNrZXRzIGNvcnJlY3RseSBhZnRlciBzZW5kaW5nIGEKCSAgQllFIGFuZCB0aGVuIHdlIGJyZWFrIGxpcC1zeW5jLiBXZSBwcmVmZXIgdG8gbGV0IHRoZSBqaXR0ZXJidWZmZXJzIGRyYWluIHdpdGgKCSAgdGhlIGN1cnJlbnQgbGlwLXN5bmMgaW5zdGVhZC4KCjIwMDktMDctMjcgMTI6NDM6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogb25seSByZWNvbnNpZGVyIG9uY2UgZm9yIEJZRQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgc291cmNlcyBvZiBhIEJZRSBwYWNrZXQsIGRvbid0IHNpZ25hbCBhIHJlY29uc2lkZXJhdGlvbiBmb3IKCSAgZWFjaCBvZiB0aGVtIGJ1dCBzaWduYWwgYWZ0ZXIgd2UgaGFuZGxlZCBhbGwgc291cmNlcy4KCjIwMDktMDctMjUgMTI6MTk6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBicmVhayB1cCBtYWNyb3MgaW50byBtdWx0aXBsZSBsaW5lcwoKMjAwOS0wNy0yNCAyMTo1NDo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlcG9ydGluZwoJICBTZWUgIzUyNTc0My4KCjIwMDktMDctMjQgMTQ6NTI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJICBhc2ZtdXg6IEFkZHMgbmV3IHBsdWdpbiBhc2ZtdXgKCSAgQWRkcyB0aGUgYnJhbmQgbmV3IGFzZm11eCBwbHVnaW4sIGNvbnRhaW5pbmcgMyBlbGVtZW50czoKCSAgYXNmbXV4LCBydHBhc2ZwYXkgYW5kIGFzZnBhcnNlLiBUaGlzIHBsdWdpbiB3YXMgZGV2ZWxvcGVkCgkgIGFzIGEgR1NvQyAyMDA5IHByb2plY3QsIHdpdGggRGF2aWQgU2NobGVlZiBhcyB0aGUgbWVudG9yIGFuZAoJICBUaGlhZ28gU2FudG9zIGFzIHRoZSBzdHVkZW50LgoKMjAwOS0wNy0yNCAwODoyNTowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBGaXggdGhlIGRpc3RjaGVjayBhZnRlciBkc2hvd3NyY3dyYXBwZXIgcmVhcnJhbmdlbWVudHMKCSAgUmVtb3ZlIG9sZCBmaWxlcyBmcm9tIHRoZSB3aW4zMiBtYW5pZmVzdCwgYW5kIGFkZCB0aGUgbmV3IG9uZS4KCjIwMDktMDctMjQgMDc6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkgIG11c2VwYWNrZGVjOiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yNCAwMTowMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBSZXZlcnQgImRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFnYWluIgoJICBJdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlciBhZnRlciBTdGVmYW4ncyB1cGRhdGVzIGluIHRoZSBjb21tb24gbW9kdWxlLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA5YzU1MGExNzJhMmM4YTc2ZjBiNDhmMmY4Y2UxMTA3MDU5OGY2NmMuCgoyMDA5LTA3LTI0IDAwOjQyOjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlZGFhZWUgdG8gOTRmOTVlMwoKMjAwOS0wNy0yMyAxNzo1NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggZG9jcyBidWlsZCBhZ2FpbgoJICBUaGVyZSBpcyBubyBlbGVtZW50IGNhbGxlZCAnbGFkc3BhJywgc28gdGhlcmUgd29uJ3QgYmUgYSAtZGV0YWlscwoJICBmaWxlIGZvciBpdC4KCjIwMDktMDctMjMgMDk6NTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IFJlbW92ZSBzb21lIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY29kZQoJICBBbHNvIHdlIGFsd2F5cyByZXF1aXJlIGxpYm9pbCBzbyB1c2UgaXQgdW5jb25kaXRpb25hbGx5LgoKMjAwOS0wNy0yMyAwOTo1MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSW1wbGVtZW50IHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkcwoKMjAwOS0wNy0yMCAyMjoxMzoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IExvY2sgZWxlbWVudCBiZWZvcmUgdW5sb2NraW5nCgoyMDA5LTA3LTIwIDIyOjA4OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRml4IGxlYWtzCgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpIHRvIG5vdCBsZWFrIHRoZSBwYWQgdGVtcGxhdGUKCSAgQWxzbyBwcm9wZXJseSBjaGFpbiB1cCB0aGUgZmluYWxpemUgdG8gdGhlIHBhcmVudAoKMjAwOS0wNy0yMCAyMjowODoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZQoJICBQcmV2ZW50cyBsZWFrIGZvdW5kIGJ5IHZhbGdyaW5kCgoyMDA5LTA3LTIwIDIxOjUyOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVW5yZWYgY2xvY2tpZAoKMjAwOS0wNy0yMCAxNDowMDoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IG92ZXJ3cml0ZSB2YWxpZCB0aW1lc3RhbXBzCgoyMDA5LTA3LTIwIDEzOjQ1OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgUmV2ZXJ0ICJtaW1kZWM6IElnbm9yZSB0aGUgdGltZXN0YW1wcyBpbnNpZGUgdGhlIGJ1ZmZlcnMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWUwNTFmYTk4YWVlYmRjZTJlY2E2YjMyMWVjMTkyOWU2ZjhmZGY2MS4KCjIwMDktMDctMjEgMTU6MzM6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRnJlZSBjb25mbGljdGluZyBhZGRyZXNzZXMgb24gZmluYWxpemUKCjIwMDktMDctMjEgMTU6MzE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZQoJICBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlIGluc3RlYWQgb2YgdXNpbmcgYSB3ZWFrIHJlZiwKCSAgd2hpY2ggaXMgbm90IHRocmVhZCBzYWZlLiBBbHNvLCBsb2NrIHRoZSBjb250ZW50IG9mIHRoZSBwYWQgcHJpdmF0ZSB1c2luZyB0aGUgZWxlbWVudCdzCgkgIG9iamVjdCBsb2NrLgoKMjAwOS0wNy0yMiAxNDoxOToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IElnbm9yZSBlcnJvcnMgcHVzaGluZyBvdXQgbmV3IHNlZ21lbnRzCgkgIFRoZSBmb2xsb3dpbmcgYnVmZmVyIHB1c2ggd2lsbCByZXR1cm4gbW9yZSB2YWx1YWJsZSBpbmZvcm1hdGlvbi4KCjIwMDktMDctMjIgMTg6MDE6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBkb2NzOiBhZGQgZG9jcyBmb3IgbGFkc3BhIGFuZCB1cGRhdGUgcGx1Z2luIGRvY3MKCSAgQWRkIGFsc28gaW5zcGVjdCBmaWxlcyBmb3IgbHYyIGFuZCBmcmVpMHIgKG5vIGRvY3MgeWV0KS4KCjIwMDktMDctMjIgMTc6MDU6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBtb3JlIHBlcmYtdGVzdCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBleG1hcGxlcy4gQWRkIHZpZGVvLXdpZHRoL2hlaWdodC4gVXNlIHByb3BlciBhcGkgZm9yCgkgIHNldHRpbmcgc3RpbGwgaW1hZ2UgcmVzb2x1dGlvbi4gRml4IHN0b3BwaW5nIHJhbmRvbSB0ZXN0cyBvbiBiaW4tc3RhdGUtY2hhbmdlcy4KCSAgUmVtb3ZlIHRoZSBtZW1kdXAgaW4gc25hcHNob3QgYWdhaW4sIGFzIGl0cyBub3QgbmVlZGVkIChwaXhidWYgZ29lcyBvdXQgb2YKCSAgc2NvcGUgd2l0aCB0aGUgYnVmZmVyKS4KCjIwMDktMDctMjIgMTE6NDU6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgZHNob3dzcmN3cmFwcGVyOiB1cGRhdGUgTWFrZWZpbGUuYW0gZm9yIHNvdXJjZSBmaWxlIHJlbmFtZXMgYXMgd2VsbAoKMjAwOS0wNy0yMSAxMzozNzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIGRvY3M6IGFkZCBwY2FwcGFyc2UgdG8gZG9jcwoKMjAwOS0wNy0yMiAxMjozNDozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBkbyBub3QgcmVtb3ZlIGEgcmFuZ2Ugb2YgbGVuZ3RoIDAKCjIwMDktMDctMjIgMTI6MjQ6NDYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd2F1ZGlvc3JjOiBjb252ZXJ0cyBjb2RlIHRvIEMrKwoKMjAwOS0wNy0yMiAxMTowMTo0OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93dmlkZW9zcmM6IGNvbnZlcnRzIGNvZGUgdG8gQysrCgoyMDA5LTA3LTIyIDAwOjMzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvbid0IGFkZCBhIGJhc2VfdGltZT09LTEgdG8gc2VnbWVudCBwb3NpdGlvbnMKCSAgRml4ZXMgYXNzZXJ0aW9uIGFib3V0IG5ld3NlZ21lbnQgd2l0aCBzdGFydD0tMS4KCjIwMDktMDctMjEgMTc6NDg6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc21hbGwgc3BlZWR1cCBpbiBzb2Z0d2FyZSB6b29tCgkgIEZvcmNlIGNyb3Agb24gZXZlbiBwaXhlbCBwb3NpdGlvbiB0byBhdm9pZCBzbG93cGF0aCBpbiBjcm9wICYgc2NhbGUuCgoyMDA5LTA3LTIxIDE2OjQ4OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogd2UgbmVlZCB0byBjb3B5IHRoZSBkYXRhIGluIHRoZSBleGFtcGxlCgkgIGdka19waXhidWZfbmV3X2Zyb21fZGF0YSBkb2VzIG5vdCBjb3B5IHRoZSBkYXRhLgoKMjAwOS0wNy0yMSAxMToyODoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSAgbWFrZTogcmVtb3ZlIHdoaXRlc3BhY2UgYWZ0ZXIgdHJhaWxpbmcgYmFja3NsYXNoCgoyMDA5LTA3LTIxIDEyOjQyOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJICBrYXRlOiBmaXggdGltZSBjb252ZXJzaW9uIGZyb20gRFZEIHN0eWxlIHRpbWVzdGFtcHMuCgoyMDA5LTA3LTIxIDEzOjUxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTIxIDEzOjM5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBGaXhlcyBidWcgIzU4ODk0NC4KCjIwMDktMDctMjEgMTM6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTg4OTQ0LgoKMjAwOS0wNy0yMSAxMzoxNzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGcmVlIHRoZSBQTVQgYmVmb3JlIHNldHRpbmcgYSBuZXcgb25lCgoyMDA5LTA3LTIxIDEzOjE0OjAwICswMjAwICBNaWthZWwgTWFnbnVzc29uIDxtaWttYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBSZW1vdmUgb2xkIFBFUyBQSURzIHdoZW4gcmVjZWl2aW5nIFBBVCB0YWJsZXMKCSAgRml4ZXMgYnVnICM1ODM0NzAuCgoyMDA5LTA3LTIxIDExOjEwOjQ5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IGZpeCByZWxhdGl2ZSBwYXRoCgoyMDA5LTA3LTIxIDEwOjQ5OjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIHN0YXJ0IHJlZmFjdG9yaW5nIG9mIGRzaG93c3Jjd3JhcHBlcgoJICAtcmVtb3ZlIGdzdC1saWJzL2dzdC9kc2hvdwoJICAtZmFrZXNvdXJjZSBpcyBtb3ZlZCBmcm9tIGdzdC1saWJzL2dzdC9kc2hvdyB0byBzeXMvZHNob3dzcmN3cmFwcGVyCgkgIC1zb21lIG1pbm9yIGNoYW5nZXMgKEMvQysrIGNoZWNrIGFuZCBpbmNsdWRlcykgdG8gbWFrZSB0aGUgcGx1Z2luCgkgIGNvbXBpbGUgYWdhaW4uCgoyMDA5LTA3LTIxIDAxOjA2OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVzZSBuZXcgR1NUX1RBR19TVUJJVExFX0NPREVDIHRhZyBpbnN0ZWFkIG9mIEdTVF9UQUdfQ09ERUMKCjIwMDktMDctMjEgMDA6NTQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGVkZWM6IG9ubHkgcHV0IHByaW1hcnkgbGFuZ3VhZ2UgdGFnIGluIEdTVF9UQUdfTEFOR1VBR0UKCSAgT25seSBwdXQgcHJpbWFyeSBsYW5ndWFnZSBpbnRvIEdTVF9UQUdfTEFOR1VBR0UsIGFuZCBjb252ZXJ0IHRvIGxvd2VyIGNhc2UsCgkgIGllLiBvbmx5IHVzZSAiZW4iIG9mICJlbl9HQiIuIFRoaXMgaXMgcGVyIG91ciB0YWcgZG9jdW1lbnRhdGlvbiBhbmQgaGVuY2UKCSAgd2hhdCBhcHBzIGV4cGVjdC4gQWxzbyBhZGQgZXhhbXBsZSB0byBrYXRlZW5jIHByb3BlcnR5IGRlc2NyaXB0aW9uIHNvIHBlb3BsZQoJICBrbm93IGEgbGFuZ3VhZ2UgY29kZSBpcyB3YW50ZWQgaGVyZS4KCjIwMDktMDctMjEgMDA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBhZGQgY29tbWVudCB3aHkgd2UgZG9udCcgc3VwcG9ydCBhcHBsaWNhdGlvbi94LWthdGUgaGVyZSBmb3Igbm93CgoyMDA5LTA3LTIwIDEzOjU0OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL1JFQURNRToKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJICBrYXRlZGVjOiBjcmVhdGUgU1BVIGZvcm1hdCBpbWFnZXMgZnJvbSBzdWl0YWJsZSBiYWNrZ3JvdW5kIGltYWdlcwoJICBNYWtlIGthdGVkZWMgZmFicmljYXRlIGR2ZC1zdHlsZSBzdWJwaWN0dXJlcyBmb3Igc3VidGl0bGUgb3ZlcmxheQoJICBiaXRtYXBzLCBmb3IgZWFzaWVyIHBsYXliaW4yIGludGVncmF0aW9uICgjNTg4NjM4KS4KCjIwMDktMDctMjAgMTY6MjQ6MjMgKzAxMDAgIG9nZy5rLm9nZy5rIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzCgkgIE1ha2VzICdtYWtlIGNoZWNrLXZhbGdyaW5kJyB3b3JrIGZvciB0aGUga2F0ZSB1bml0IHRlc3QgKCM1MjU3NDMpCgoyMDA5LTA3LTIwIDE2OjM5OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogYWRkIGNvZGUgaW4gdGVzdCB0byBzdG9yZSBzbmFwc2hvdHMgZm9yIG1hbnVhbCB2ZXJpZmljYXRpb24KCSAgVXNlIGdka19waXhidWYgdG8gc2F2ZSB0aGUgaW1hZ2UgaW4gcGVyZi10ZXN0LiBBbHNvIHJlbW92ZSBzb21lIG9ic29sdXRlCgkgIGNvbW1lbnRlZCBvdXQgY29kZS4KCjIwMDktMDctMjAgMTY6MjQ6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGxvZyBmb3JtYXRzIGluIHByZXZpZXcgaW1hZ2UgY29udmVyc2lvbgoKMjAwOS0wNy0yMCAxNjoyMTowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYXNzaWdubWVudAoJICBSZXN1bHQgaXMgbm90IG5lZWRlZCBoZXJlLCBidXQgdmFyaWFibGUgaXMgdXNlZCBsYXRlciBvbi4gQWxzbyByZW1vdmUgZG91YmxlIG5ldwoJICBsaW5lcyBpbiBmdW5jdGlvbi4KCjIwMDktMDctMjAgMTY6MjA6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBjaGVjayBxdWVyeSByZXR1cm4gcmVzdWx0IGJlZm9yZSB1c2luZyBpdAoKMjAwOS0wNy0yMCAxNjoxOTo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZG9uJ3QgZGVyZWZlcmVuY2UgdGhlIHBvaW50ZXIgYmVmb3JlIHRoZSB2YWxpZGl0eSBjaGVjawoKMjAwOS0wNy0yMCAxMDoxNzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgcGVyZiB0ZXN0IHJvYnVzdG5lc3MgYW5kIGFkZCBjb21tZW50cwoKMjAwOS0wNy0yMCAxMjoyNToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogYWxzbyByZWNvZ25pc2UgdGhlIG5ldyByZWNvbW1lbmRlZCAnU1VCJyBjYXRlZ29yeQoJICBNb3ZlIHRoZSBjaGVjayBmb3IgJ3NpbXBsZScgc3VidGl0bGVzIGNhdGVnb3J5IHRvIGEgc2VwYXJhdGUgcm91dGluZQoJICBhbmQgYWRkIGluIHRoZSBuZXcgcmVjb21tZW5kZWQgU1VCIGNhdGVnb3J5ICgjNTI1NzQzKS4KCjIwMDktMDctMjAgMTE6NDE6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSAga2F0ZWVuYzoga2VlcCBiaXRtYXAvcGFsZXR0ZS9yZWdpb24gYXJvdW5kIHdoZW4gb24gdGhlIHNwb3QgZW5jb2RpbmcgaXMgbm90IHBvc3NpYmxlIGR1ZSB0byBhbiB1bmtub3duIGVuZCB0aW1lCgkgIEZpeGVzIHZhbGdyaW5kIHVuaXRpYWxpemVkIHZhbHVlIHJlcG9ydC4gU2VlICM1MjU3NDMuCgoyMDA5LTA3LTE5IDIzOjQ1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSAgZG9jczogYWRkIGluc3BlY3QgaW5mbyBmb3Iga2F0ZSBwbHVnaW4KCSAgU2hvdWxkIGZpeCB0aGUgZG9jcyBidWlsZC4KCjIwMDktMDctMTkgMjM6MzU6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBhZGQgc29tZSBGSVhNRXMKCjIwMDktMDctMTkgMjM6MzI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlZGVjOiBkZW1vdGUgdG8gR1NUX1JBTktfTk9ORSBmb3Igbm93CgkgIFRoZXJlIGFyZSBzdGlsbCBzb21lIGF1dG9wbHVnZ2luZyBpc3N1ZXMgdG8gc29ydCBvdXQsIGFuZCBpdCBuZWVkcwoJICBzb21lIHRlc3RpbmcuCgoyMDA5LTA3LTE5IDIzOjI5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVja3M6IGFkZCBrYXRlIHVuaXQgdGVzdHMgdG8gdmFsZ3JpbmQgYmxhY2tsaXN0IGZvciBub3cKCSAgQW5kIGFkZCBjaGVjayBiaW5hcnkgdG8gaWdub3JlIGxpc3QuCgoyMDA5LTA3LTE5IDIzOjE2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYWtlIHN1cmUgdG8gZnJlZSBzb21lIG1vcmUgc3R1ZmYKCjIwMDktMDctMTkgMjI6Mjk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IGZpeCB1cCBmb3IgYWRkaXRpb25hbCBzdWJ0aXRsZS94LWthdGUgbWVkaWEgdHlwZQoKMjAwOS0wNy0xMyAyMjozODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IHJlbW92ZSBsb2NhbCBrYXRlIHR5cGVmaW5kZXIsIHVzZSB0aGUgb25lIGluIC1iYXNlCgoyMDA5LTA3LTEwIDE4OjQ1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBjaGFuZ2UgbWVkaWEgdHlwZSB0byBzdWJ0aXRsZS94LWthdGUgYW5kIHVwZGF0ZSBkZWZpbmUgYWNjb3JkaW5nbHkKCjIwMDktMDItMTUgMTg6MzU6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvUkVBRE1FOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBhZGQgbmV3IEthdGUgcGx1Z2luLCBmb3IgS2F0ZSBvdmVybGF5IHN0cmVhbXMKCSAga2F0ZWRlYzogS2F0ZSBkZWNvZGVyICh0ZXh0IG9ubHkpCgkgIGthdGVlbmM6IEthdGUgZW5jb2RlciAodGV4dCBhbmQgRFZEIFNQVSBvbmx5KQoJICBrYXRldGFnOiBLYXRlIHRhZ2dlcgoJICBrYXRlcGFyc2U6IEthdGUgcGFyc2VyCgkgIHRpZ2VyOiBLYXRlIHJlbmRlcmVyIHVzaW5nIHRoZSBUaWdlciByZW5kZXJpbmcgbGlicmFyeQoJICBGaXhlcyAjNTI1NzQzLgoKMjAwOS0wNy0xOSAxNTozNzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIHJlYWw6IGRpZmZlcmVudGlhdGUgYmV0d2VlbiAnbW9kdWxlIGRvZXMgbm90IGV4aXN0JyBhbmQgZ2VudWluZSBtb2R1bGUgb3BlbmluZyBlcnJvcnMKCSAgRG9uJ3QgbG9nIGEgR1NUX0VSUk9SIGlmIG9uZSBvZiB0aGUgY29kZWMgbW9kdWxlcyB3ZSB3ZXJlIGxvb2tpbmcgZm9yCgkgIGRvZXNuJ3QgZXhpc3QuIFRoYXQncyBub3QgYSBnZW51aW5lIGVycm9yLCBidXQgc29tZXdoYXQgZXhwZWN0ZWQuCgoyMDA5LTA3LTE4IDA4OjQzOjM3ICswMjAwICBNYXRpanMgdmFuIFp1aWpsZW4gPE1hdGlqcy52YW4uWnVpamxlbkB4czRhbGwubmw+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoaXMgYnJlYWtzIHBsYXliYWNrIG9mIGZpbGVzID40IEdCIGFzIHRoZSBvZmZzZXQgd2FzCgkgIGEgZ3VpbnQgYmVmb3JlLiBDaGFuZ2luZyBpdCB0byBhIGd1aW50NjQgZml4ZXMgdGhpcy4KCjIwMDktMDctMTcgMTU6NDc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IHJlc2V0IHN0YXRlIGlmIHRoZXJlIGlzIHNvbWV0aGluZyB0byByZXNldAoJICBUaGUgY29uZGl0aW9uIHdhcyB3cm9uZyBhbmQgYXMgc3VjaCB0aGUgZWxlbWVudCB3YXMgd3JpdGluZyB0aGUgc2FtZSB0YWdzIG9uIHN1YnNlcXVlbnQKCSAgaW1hZ2VzIGlmIHJldXNlZC4KCjIwMDktMDctMTcgMTU6NDU6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXNlIGdzdF9jYXBzX3JlcGxhY2UgaW5zdGVhZCBvZiBzZXBhcmF0ZSBjYWxscwoJICBUaGlzIGZpeGVzIHNldHRpbmcgc25hcHNob3QgY2FwcyBiYWNrIHRvIE5VTEwgYWxzby4KCjIwMDktMDctMTcgMTU6Mzg6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBpbXBsZW1uZXQgdHdvIG1vcmUgdGVzdHMKCSAgQWRkIHRlc3RzIGZvciB2aWRlb3JlY29yZGluZyBzdGFydHVwIGFuZCBjYXB0dXJlIHN0YXJ0dXAgZGVsYXkuCgoyMDA5LTA3LTE3IDA5OjM2OjE1ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgY29tcG9uZW50IHRhZyB0byB0aGUgdmlkZW8gY29tcG9uZW50IHN0cnVjdHVyZSBpbiBlaXQKCjIwMDktMDctMTYgMTc6Mjc6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBEb24ndCBwcmV0ZW5kIHRvIGJlIE1MMjAgaWYgcGF1c2VkCgoyMDA5LTA3LTE2IDE2OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBJZ25vcmUgdGhlIHRpbWVzdGFtcHMgaW5zaWRlIHRoZSBidWZmZXJzCgoyMDA5LTA3LTE2IDE1OjQzOjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3QgdHJ5IHRvIHBhcnNlIHRoZSBoZWFkZXIgYmVmb3JlIGRyb3BwaW5nIHRoZSBwYXVzZWQgZnJhbWVzCgoyMDA5LTA3LTE2IDE1OjQzOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUHJpbnQgdGhlIGluY29taW5nIGZvdXJjYyBvbiBlcnJvcnMKCjIwMDktMDYtMTkgMjA6MTM6NTMgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBJbmNyZWFzZWQgdGhlIGxlbmd0aCBvZiB0aW1lIGZvciB0dW5pbmcgaW4gZ3N0ZHZic3JjLmMuCgkgIFNvbWUgZGV2aWNlcyB0YWtlIGEgd2hpbGUgdG8gdHVuZSBhbmQgNTAwbXMgd2FzIHRvbyBzaG9ydCB0byBkZXRlY3QKCSAgc3VjY2Vzc2Z1bCB0dW5pbmcuICBBcyB3ZWxsIGFzIHdhaXRpbmcgZm9yIDUgc2Vjb25kcyBlYWNoIDEwMG1zIHRoZQoJICBzdGF0dXMgaXMgY2hlY2tlZCBhbmQgdGhlIGxvb3AgaXMgYnJva2VuIG91dCBvZiB3aGVuIHR1bmluZyBoYXMgc3VjZWVkZWQuCgoyMDA5LTA3LTE2IDE5OjQ5OjI2ICswMjAwICBBbGVrc2V5IFl1bGluIDx1bGluQHR1dC5ieT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHVzZSBQSURzID4gTVBFR1RTX01BWF9QSUQKCSAgVGhlIG1wZWd0c2RlbXV4IHN0cmVhbXMgYXJyYXkgb25seSBoYXMgTVBFR1RTX01BWF9QSUQgZW50cmllcwoJICBhbmQgYWNjZXNzaW5nIG9uZSBhZnRlcndhcmRzIHdpbGwgcmVzdWx0IGluIGNyYXNoZXMuCgkgIEZpeGVzIGJ1ZyAjNTc1NjcyLgoKMjAwOS0wNy0xNiAxODoxNDoxOCArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIEFkZCBtb3JlIGRlYnVnIG91dHB1dCB0byBtZXRhZGF0YW11eAoKMjAwOS0wNy0xNiAxMjowMzozMiArMDIwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgcGVzZmlsdGVyOiBQZXJtaXQgdW5ib3VuZGVkIHBhY2tldHMgZm9yIDB4ZmQgKGV4dGVuZGVkIHN0cmVhbSBpZCkuCgkgIEFkZGVkIHBhcnNpbmcgb2YgUEVTIGV4dGVuc2lvbiByZWxhdGVkIGRhdGEuCgkgIEZpeGVzIHNvbWUgVkMxIHJlbGF0ZWQgaXNzdWVzLgoKMjAwOS0wNy0xNiAxMzo1NToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdHRlbXB0IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgRG9uJ3Qgc3RvcmUgYSBjb25zdCBnY2hhciAqIGluIGEgbm9uLWNvbnN0IGdjaGFyICogbG9jYWwgdmFyLgoJICBBbHNvLCBtYWtlIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcgZnVuY3Rpb24gc3RhdGljIHNpbmNlIGl0J3Mgb25seQoJICB1c2VkIGluIHRoZSBvbmUgZmlsZS4KCjIwMDktMDctMTUgMTg6MTA6MDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIENhc3Qgc29tZSBkZWJ1ZyBzdHJpbmcgcGFyYW1ldGVycyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgbWlzbWF0Y2hlZAoJICB0eXBlIHdhcm5pbmdzLgoKMjAwOS0wNy0xNSAxNjoxNzozNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSB1c2UuCgoyMDA5LTA2LTEwIDE5OjIxOjIxICswMTAwICBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogRW5oYW5jZW1lbnRzIHRvIHRoZSBtaXhlciBhbmQgYXVkaW8gb3V0cHV0CgkgIENvZGUgY2xlYW51cHMsIGdlbmVyYWwgaW1wcm92ZW1lbnRzLCBzdXBwb3J0IGZvciB0aGUKCSAgbmV3IG1peGVyIGZsYWdzIGluIGxhdGVzdCBnc3QtcGx1Z2lucy1iYXNlLgoJICBGaXhlczogIzU4NDI1MgoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNy0xNSAxODoyNzozOSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIGNvbXBvbmVudCB0YWcgdG8gc3RydWN0dXJlIGZvciBjb21wb25lbnQgbWVzc2FnZQoKMjAwOS0wNy0xNSAxNzo0NDoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogdXNlIG5vbmJ1ZmZlcmVkIGlvIHRvIHNhdmUgbWVtY29waWVzCgkgIFdlIHdyaXRlIGxhcmdlIGJsb2NrcyBhbnl3YXksIHNvIG5vIGV4dHJhIGJ1ZmZlcmluZyBwbGVhc2UuIEFsc28gdXNlIG9uZQoJICBnX29iamVjdF9zZXQgdG8gc2V0IG11bHRpcGxlIHByb3BlcnRpZXMgb24gc2FtZSBvYmplY3QuCgoyMDA5LTA3LTE1IDEyOjIwOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL1RPRE86CgkgIGNhbWVyYWJpbjogdHJhY2sgdG9kbyBpdGVtcwoKMjAwOS0wNy0xNSAxMToxNzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBsZWF2ZSBpbWFnZS92aWRlbyBiaW4gaW4gcmVhZHkgd2hlbiBjaGFuZ2luZyBtb2RlCgoyMDA5LTA3LTE0IDE0OjEwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhbXJwYXJzZTogU3luYyBiYXNlcGFyc2UgY2hhbmdlcwoKMjAwOS0wNy0xNCAxNDowODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IEFkZCBmdW5jdGlvbiBmb3IgdGhlIGJhc2VwYXJzZSBzdWJjbGFzcyB0byBwdXNoIGJ1ZmZlcnMgZG93bnN0cmVhbQoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSBncmFjZWZ1bGx5IHdoZXJlIHRoZSBzdWJjbGFzcyBkZWNpZGVzIHRvIGRyb3AKCSAgdGhlIGZpcnN0IGJ1ZmZlcnMgYW5kIGhhcyBubyBjYXBzIHNldCB5ZXQuIEl0J3Mgc3RpbGwgcmVxdWlyZWQgdG8KCSAgaGF2ZSB2YWxpZCBjYXBzIHNldCB3aGVuIHRoZSBmaXJzdCBidWZmZXIgc2hvdWxkIGJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOS0wNy0xNCAxNDowNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNlZWsgZXZlbnQgbGVha2luZwoKMjAwOS0wNy0xNCAxMDo0NDo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICBtZXRhZGF0YTogZml4IGNvcHknbidwYXN0ZSBpbiB0YWcgZGVzY3JpcHRpb24KCjIwMDktMDctMTMgMTg6MDQ6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hybzogQWRkIGVudW0gdHlwZXMgZm9yIHNjaHJvZWRpbmdlciBzZXR0aW5ncwoKMjAwOS0wNi0zMCAxNjozMToxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIGVtcHR5IGxhbmd1YWdlIGNvZGUgc3RyaW5ncwoJICBJZ25vcmUgZW1wdHkgbGFuZ3VhZ2UgY29kZXMgb24gc29tZSBwb29ybHkgY29kZWQgRFZEcywgcmF0aGVyIHRoYW4KCSAgc2V0dGluZyBlbXB0eSBzdHJpbmdzIGludG8gb3VyIG91dGdvaW5nIHRhZ2xpc3QuCgoyMDA5LTA3LTEzIDEyOjI0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU4NDViNjMgdG8gZmVkYWFlZQoKMjAwOS0wNy0xMCAyMTo0MjoxOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IE9ubHkgZW5hYmxlIHBhdXNlZCBtb2RlIGlmIHRoZSBwcm9wZXJ0eSBpcyB0cnVlCgoyMDA5LTA3LTEwIDEzOjAzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgaXZvcmJpczogZXh0cmFjdCB2b3JiaXMgY29tbWVudHMKCSAgRml4ZXMgIzU3NTgxOC4KCjIwMDktMDctMDggMTc6NTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgQkdSQSBzdXBwb3J0IGZvciB2aWRlbyBpbi9vdXRwdXQKCjIwMDktMDctMDggMTU6MjY6MDcgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggZG91YmxlIGZyZWUKCSAgVGhlIGhhc2ggdGFibGUgYWxyZWFkeSBtYWtlcyBzdXJlIHRoYXQgdGhlIHN0cmVhbSBpcyBjb3JyZWN0bHkKCSAgZnJlZSdkIHdoZW4gZWxlbWVudHMgYXJlIHJlbW92ZWQuCgkgIEZpeGVzIGJ1ZyAjNTg3ODE5LgoKMjAwOS0wNy0wOCAxMDoxNjoxOSArMDEwMCAgTWlndWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIGNvbXBvbmVudCB0YWcKCjIwMDktMDctMDggMTA6MTE6NTIgKzAxMDAgIE1pZ3VlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIGNhcm91c2VsIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoKMjAwOS0wNy0wNyAxNToyODowNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgcGFyc2luZyBvZiBkYXRhIGJyb2FkY2FzdCBkZXNjcmlwdG9ycwoKMjAwOS0wNy0wNyAyMDoyODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGJhc2V2aWRlbzogTGluayB3aXRoIGxpYmdzdHZpZGVvIGZvciBzb21lIHVzZWQgZnVuY3Rpb25zCgoyMDA5LTA3LTA3IDE5OjE4OjE2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBTZW5kIHBhdXNlIGZyYW1lcyB3aGVuIHBhdXNlZAoKMjAwOS0wNy0wNyAxOToxNTo0MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IElnbm9yZSBwYXVzZSBmcmFtZXMKCjIwMDktMDctMDcgMTg6Mjc6MzYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBQdXQga2V5ZnJhbWUvcGF1c2VkIGZsYWdzIGluIHRjcCBoZWFkZXIKCjIwMDktMDctMDcgMTg6MTg6MDYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBQdXQgdGltZXN0YW1wIG9uIHRoZSBoZWFkZXIgYnVmZmVyCgoyMDA5LTA3LTA3IDE4OjIyOjU0ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBSZXRpbWVzdGFtcCB0byB0aGUgcnVubmluZyB0aW1lCgoyMDA5LTA3LTA2IDE3OjE3OjIyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBTYXZlIHRoZSBzZWdtZW50CgoyMDA5LTA3LTA2IDE2OjI0OjU5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBBZGQgcHJvcGVydHkgZm9yIHRoZSBwYXVzZWQgbW9kZQoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbywgc2Nocm9lZGluZ2VyOiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCjIwMDktMDctMDIgMTU6NTg6MDAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBzZHQgcGFyc2luZy4KCSAgZml4IHBhcnNpbmcgb2YgZXZlcnl0aGluZyBmb3IgZWFjaCBzZXJ2aWNlIGZyb20gZWl0IHNjaGVkdWxlIGZsYWcgb24gYW5kIGFsc28KCSAgYWRkIGEgcnVubmluZy1zdGF0dXMgcGFyYW1ldGVyIHRvIHRoZSBidXMgbWVzc2FnZSBzdHJ1Y3R1cmUuCgoyMDA5LTA3LTAyIDExOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgdmlkZW8gaW5wdXQvb3V0cHV0CgoyMDA5LTA3LTAxIDEwOjU1OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBtb3ZlIGZyb20gLWJhc2UKCSAgQWxzbyBtb3ZlIHNjaHJvZWRpbmdlciBwbHVnaW4uICBUaGlzIGNyZWF0ZXMgYSBuZXcgbGlicmFyeSwKCSAgZ3N0YmFzZXZpZGVvLTAuMTAsIHdoaWNoIHdpbGwgcHJvYmFibHkgYmUgbWVyZ2VkIGJhY2sgaW50bwoJICBnc3R2aWRlby0wLjEwIHdoZW4gdGhpcyBpcyBtb3ZlZCBiYWNrIHRvIC1iYXNlLgoKMjAwOS0wNy0wMSAxMjo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBiaW46IHVzZSBuZXcgbWV0aG9kIGZvciBuZXRhZGRyZXNzIHRvIHN0cmluZwoKMjAwOS0wNi0yOSAxNzoyNDo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0OiBBZGQgbHYyIHBsdWdpbiB0byB0aGUgZGlzdAoKMjAwOS0wNi0yOSAxNjozNzowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEFkZCB0aGUgY2FtZXJhYmluIGV4YW1wbGVzIHN1YmRpcmVjdG9yeSB0byB0aGUgZGlzdAoKMjAwOS0wNi0yOSAxODo0ODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBiZXR0ZXIgY2xlYW51cCBvZiB0aGUgc3JjIGdob3N0cGFkcwoJICBDb25uZWN0IHRvIHRoZSBwYWQtcmVtb3ZlZCBzaWduYWwgb2YgdGhlIHB0ZGVtdXggZWxlbWVudHMgc28gdGhhdCB3ZSByZW1vdmUgdGhlCgkgIGdob3N0cGFkcyBmb3IgdGhlbS4gRml4ZXMgY2xlYW51cCB3aGVuIGdvaW5nIHRvIE5VTEwgYXMgd2VsbCBhcyB3aGVuIHJlbGVhc2luZwoJICB0aGUgc2lua3BhZHMuCgkgIEZpeGVzICM1NjE3NTIKCjIwMDktMDYtMjkgMTc6NDg6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiByZW1vdmUgb2xkIGVsZW1lbnQKCjIwMDktMDUtMjggMTk6MDg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBhIGNvbW1lbnQKCjIwMDktMDYtMjkgMTY6Mzc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0yOSAxNjoyMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkgdGhhdCB0YWtlcyBHc3RTdHJ1Y3R1cmUKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMDIgMTc6NDY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgcnRwYmluOiByZW1vdmVkIG9sZCBnc3RydHBjbGllbnQKCjIwMDktMDYtMjkgMTI6MjM6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhIGF0IGdtYWlsLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbDogb25seSBpbmNsdWRlIHN5cy90aW1lLmggd2hlbiB3ZSBoYXZlIGl0CgkgIEZpeGVzICM1ODY5NTYKCjIwMDktMDYtMjkgMTI6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IENvcnJlY3RseSBjbGVhbiB1cCBlbGVtZW50cyB0byBiZSByZXVzYWJsZSBhbmQgbm90IGxlYWsgbWVtb3J5CgoyMDA5LTA2LTI5IDExOjU5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkgIGZyZWkwcjogSW4gdGhlIGZpbHRlciBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjU2OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBJbiB0aGUgbWl4ZXIgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1NDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEluIHRoZSBzcmMgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1MDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IFVzZSBmaXhlZCBjYXBzIG9uIHRoZSBmaWx0ZXIgcGFkcwoJICBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUgYSBuZXcgZnJlaTByCgkgIGluc3RhbmNlIGZvciBhbnkgY2FwcyBjaGFuZ2VzIGFuZCB0aGUgaW5zdGFuY2VzIGNhbiBoYXZlIGhpc3RvcnkuCgkgIEp1c3QgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2UgZHVyaW5nIHBsYXliYWNrIGNhbiByZXN1bHQgaW4gYmFkIG91dHB1dAoJICByaWdodCBhZnRlciB0aGUgY2FwcyBjaGFuZ2UuCgoyMDA5LTA2LTI3IDA5OjUxOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogU2V0IHRoZSBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcyBjb3JyZWN0bHkKCjIwMDktMDYtMjYgMTg6MzU6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjbGVhbnVwcwoJICBEb3duZ3JhZGUgYSBXQVJOSU5HIHRvIElORk8uIFVzZSBhIGJpdCBtb3JlIGNvbXBhY3QgY29kZS4gQWRkIGEgZml4bWUgY29tbWVudC4KCjIwMDktMDYtMjYgMTg6MzQ6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjoganVzdCByZWYgY2Fwcywgd2UgZG9uJ3QgbmVlZCBhIHdyaXRhYmxlIGNvcHkKCjIwMDktMDYtMjYgMTg6MzM6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byByZWYgYW5kIHVucmVmIHRoaXMgdGVtcG9yYXJpbHkKCjIwMDktMDYtMjYgMTg6MzI6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBzaW5rX2NhcHMgaWYgdGhleSB3b3VsZCBiZSBhbnktY2FwcwoKMjAwOS0wNi0yNiAxODozMTo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHByZXZpZXcgaW1hZ2VzCgoyMDA5LTA2LTI2IDE4OjMwOjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgdmlld2ZpbmRlci1jYXBzCgoyMDA5LTA2LTI2IDE2OjA3OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogbWFrZSBzaG90MnNob3QgdGVzdCBtb3JlIHJlbGlhYmxlCgkgIFdlIGNhbiBvbmx5IHRyaWdnZXIgbmV4dCBzaG90IChpbiB0aGUgdGVzdCkgd2hlbiBjdXJyZW50IGlzIGNhcHR1cmVkIGFuZCBzYXZlZC4KCjIwMDktMDYtMjYgMTM6MTA6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBpbnNlcnQgYSBmZXcgYmxhbmsgbGluZXMgZm9yIHJlYWRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjA5OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIG1lc3NhZ2VzIGFuZCBlbGVtZW50IHJlZnMgaW4gcHJldmlldwoKMjAwOS0wNi0yNiAxNToxMDowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJy4gQ2hlY2sgZm9yIGF1dG9tYWtlLTEuMVswMV0KCSAgQ2hlY2sgZm9yIG1vcmUgYXV0b21ha2UgY29tbWFuZCB2YXJpYW50cy4gVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJwoJICBmb3IgcG9ydGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6NDI6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjgxMDAzMCB0byA1ODQ1YjYzCgoyMDA5LTA2LTI2IDA5OjMwOjIyICswMTAwICBDaGFuZ3dvbyBSeXUgPGN3cnl1QGRlYmlhbi5vcmc+CgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICBmcmVlemU6IGRvbid0IGJ1aWxkIHBsdWdpbiBzdGF0aWMgbGliCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBsaWtlIHdlIGRvIGZvciBvdGhlciBwbHVnaW5zLgoJICBGaXhlcyAjNTg3MDIzLgoKMjAwOS0wNi0yNSAxMjozMTozMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgZnByaW50Zi4KCjIwMDktMDUtMzAgMTE6MTg6MjEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBBZGQgTFYyIHF1aWNrIHN0YXJ0IFJFQURNRS4KCjIwMDktMDYtMjUgMTk6MjM6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHJlcXVlc3RwYWRzCgkgIFJlcXVlc3RwYWRzIG5lZWQgdG8gYmUgcmVsZWFzZWQgYW5kIHVucmVmZmVkLiBBZGQgYSBjb21tZW50IGluIG9uZSBjYXNlIHdoZXJlCgkgIHdlIGludGVudGlvbmFseSBkb24ndCB1bnJlZi4KCjIwMDktMDYtMjUgMTk6MjE6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBzeW5jIGZpcnN0IHRlc3QgbW9yZSBzYWZlbHkKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9zdGF0ZSgpIHRvIHdhaXQgZm9yIFBMQVlJTkcsIFVzZSB0aGUgYnVzLWhhbmRsZXIKCSAgaW5zdGVhZGVyIGFuZCBhc3luY2hyb25vdXNseSBzY2hlZHVsZSBuZXh0IHRlc3QuCgoyMDA5LTA2LTI1IDE2OjQxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IGltcG9ydCBlbGVtZW50IGludG8gLWJhZAoKMjAwOS0wNi0yNSAwODozODoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDYtMjUgMDg6Mzg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA2LTI0IDE4OjU2OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogYWRkIHRhcmdldC10aW1lcyBvcHRpb24gdG8gc3BlY2lmeSB0ZXN0IHRpbWVzCgkgIEhhdmUgc29tZSByZWFzb25hYmxlIGRlZmF1bHQgdGltZXMuIEFkZCBhIGNvbW1hbmRsaW5lIG9wdGlvbiB0byBvdmVycmlkZQoJICBkZWZhdWx0cy4gSW50ZXJwcmV0IHRhcmdldC10aW1lPTAgYXMgc2tpcC10ZXN0LgoKMjAwOS0wNi0yMyAxMzowMTo1MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBidWZmZXItYWxsb2Mgc3VwcG9ydCBmaXhlcyB0byBpbWFnZSBhbmQgdmlkZW8gYmluIGhhbmRsaW5nCgkgIEtlZXAgaW1hZ2UgYmluIGluIFBBVVNFRCBzdGF0ZSBpbiBpbWFnZSBtb2RlIGV4Y2VwdCB3aGVuIHByb2Nlc3Npbmcvc2F2aW5nIChQTEFZSU5HL1JFQURZKS4KCSAgQ2hhbmdlIG91dHB1dC1zZWxlY3RvciB0byB2aWV3IGZpbmRlciBiZWZvcmUgc2V0dGluZyB2aWRlbyBiaW4gdG8gUkVBRFkuCgkgIEZpeCBmaWxlbmFtZSBzZW50IHdpdGggaW1nLWRvbmUgc2lnbmFsLgoKMjAwOS0wNi0yMyAxMzowMToxMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogZml4IHNldHRpbmcgbXV0ZSB3aGVuIHZpZGVvIGJpbiBlbGVtZW50cyBoYXZlbid0IGJlZW4gY3JlYXRlZAoKMjAwOS0wNi0xNiAxODoxMjoyOSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgaW1hZ2UgYmluIHRvIFBBVVNFRCB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUKCSAgU2V0IGltYWdlIGJpbiB0byBQQVVTRUQgYWxzbyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUgdXNpbmcgcGhvdG9ncmFwaHkKCSAgaW50ZXJmYWNlLgoKMjAwOS0wNC0yMSAxMDo1NTozNiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBsZWF2ZSB2NGwyY2Ftc3JjICJjYXB0dXJlLW1vZGUiIGFzIHZpZGVvIG1vZGUgd2hlbiBwYXVzaW5nCgoyMDA5LTA2LTI0IDE1OjE0OjMzICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjNiYjUxYiB0byBmODEwMDMwCgoyMDA5LTA2LTIyIDAzOjU1OjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogTW92ZSBJNDIwL1lWMTIgdG8gdGhlIGZyb250IG9mIHRoZSBjYXBzLiBBZGQgZGVidWcuCgkgIE1ha2UgSTQyMC9ZVjEyIGNhcHMgYmUgcHJlZmVycmVkIHdoZW4gZG93bmxvYWRpbmcgdG8gWVVWIGJ1ZmZlcnMsCgkgIHdoZW4gcG9zc2libGUsIGJ5IGxpc3RpbmcgdGhlbSBmaXJzdCBpbiB0aGUgc2V0IG9mIG91dHB1dCBjYXBzLgoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgY2FwcyBzZWxlY3Rpb24gY29kZS4KCjIwMDktMDYtMjMgMTg6MDE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBhbHNvIGFsbG93IHZpZGVvL21wZWcgb24gb3V0cHV0IGNhcHMuICBGaXhlcyAjMzc3Nzg0LgoKMjAwOS0wNi0yMyAxODoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IENvcnJlY3RseSBoYW5kbGUgMC8xIGZwcwoKMjAwOS0wNi0yMiAyMzo1MDo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgJCh0b3BfYnVpbGRkaXIpIGluc3RlYWQgb2YgcmVsYXRpdmUgcGF0aHMKCjIwMDktMDYtMjIgMjM6NDk6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogYWRkIGxvY2FsIGluY2x1ZGUgZGlyIHRvIENGTEFHUwoKMjAwOS0wNC0yOCAyMzoyNDo0NSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBXb3JraW5nIExWMiBwbHVnaW4gZGlzY292ZXJ5LgoJICAtIFNlcGFyYXRlIGdzdHNpZ25hbHByb2Nlc3NvciBpbnRvIGEgc2VwYXJhdGUgbGlicmFyeSAobm90IHN1cmUgaWYgdGhpcwoJICBpcyBpbiB0aGUgcmlnaHQgcGxhY2UsIGJ1dCBpdCB3b3JrcyBmb3Igbm93IGFueXdheSkKCSAgLSBDcmVhdGUgTFYyIGVsZW1lbnQgYmFzZWQgb24gTEFEU1BBIGVsZW1lbnQsIHBvcnQgbW9zdCBkaXNjb3ZlcnkKCSAgZnVuY3Rpb25hbGl0eQoKMjAwOS0wMy0yOSAxMzozMToyMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSAgRml4IGluY29uc2lzdGVudCBzdHlsZSAodHJpdmlhbCB0ZXN0IGNvbW1pdCkuCgoyMDA5LTAzLTI5IDEzOjIzOjAyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBjb25maWd1cmUgY2hlY2sgZm9yIFNMVjIuCgoyMDA5LTA2LTIyIDIyOjAxOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkZWJ1ZyBsb2cgb25seSBjaGFuZ2UKCjIwMDktMDYtMjIgMTg6MzU6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IG1hcCBtb3JlIHRhZ3MgYW5kIGZpeCByZWFkaW5nIG9mIHhtcCB0YWdzCgkgIFJlZ2lzdGVyIHhtcCBzY2hlbWFzIGZvciBwaG90b3Nob3AgYW5kIGlwdGMuIE1hcCBhIGZldyBsb2NhdGlvbiB0YWdzIHRoZXJlLgoJICBBZGQgbW9yZSBkYyB0YWdzLiBGaXggcmVhZGluZyB4bXAgdGFnIGJ5IGl0ZXJhdGlvbiBvdmVyIGtub3duIHNjaGVtYXMuIEFkZAoJICBzb21lIG1vcmUgZGVidWcgbG9nZ2luZy4KCjIwMDktMDYtMTYgMTc6MTI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG1vcmUgY2xlYW51cCBpbiB0ZXN0cwoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nLiBSZW1vdmUgdW51c2VkIG11dGV4IGFuZCBjb25kLgoKMjAwOS0wNi0xMiAxNDoyNjoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNydWZ0IHJlbW92YWwgYW5kIGRlYnVnIGxvZ3MKCSAgUmVtb3ZlIHVudXNlZCBjb2RlLiBBZGQgbG90cyBvZiBkZWJ1ZyBsb2dpbmcuIENoYW5nZSBjb21tZW50cyBmb3IgbG9jYWwKCSAgZnVuY3Rpb25zIHRvIG5vdCB1c2UgLyoqIGd0ay1kb2Mgc3RhcnQgc3R5bGUuCgoyMDA5LTA2LTEyIDEwOjQwOjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmdsYWRlOgoJICBjYW1lcmFiaW46IGFkZCBjYW1lcmFiaW4gZXhhbXBsZXMKCSAgZ3N0LWNhbWVyYSBpcyBhIGd0ay10ZXN0IGFwcCB0byBwbGF5IHdpdGggdGhlIGltYWdlY2FwdHVyZSBhbmQgdmlkZW9yZWNvcmRpbmcuCgkgIGdzdC1jYW1lcmEtcGVyZiBpcyBhIHRvb2wgdG8gcnVuIHZhcmlvdXMgc2NlbmFyaW9zIGFuZCB0YWtlIHRpbWUgbWVhc3N1cmVtZW50cwoJICAoZS5nLiBzaG90LXRvLXNob3QpLiBBbHNvIHNvcnQgdGhlIG91dHB1dCBmaWxlcyBpbiBjb25maWd1cmUuYWMgYSBiaXQgdG8gYmUKCSAgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgoKMjAwOS0wNi0xMCAxMToxNTowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZml4IGNvbnZlcnNpb24gb2YgZ2VvIGNvb3JkaW5hdGVzCgkgIENvb3JkaW5hdGUgY29udmVyc2lvbiBoYXMgYmVlbiB2ZXJpZmllZCB3aXRoIGV4aXYyIGFuZCBzb21lIHdlYnBhZ2VzLgoJICBNaW51dGVzIHdoZXIgdG90YWxseSBvZmYgYW5kIHNlY29uZHMgd2VyZSBub3QgdXNlZCBhdCBhbGwuCgoyMDA5LTA2LTIyIDExOjE5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZXRlY3QgYW5kIGZpeCBmb3IgYmFkIE5BTFUgc2l6ZXMKCSAgd2hlbiBpbiBBVkMgbW9kZSBhIG5hbHUgc2l6ZSBzZWVtcyBpbnZhbGlkLCBhc3N1bWUgdGhlIE5BTFUgaGFzIHRoZSBzaXplIG9mIHRoZQoJICBhdmFpbGFibGUgZGF0YSBpbnN0ZWFkIG9mIGxvb3BpbmcgZm9yZXZlci4KCSAgRml4ZXMgIzU4NjM1NAoKMjAwOS0wNi0xOSAyMToyMDoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDA5LTA2LTE4IDE3OjA2OjIzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIFZEUEFVOiBGaXggYnVpbGQgZmxhZ3MgdG8gcHVsbCBpbiBnc3QtcGx1Z2lucy1iYXNlIGxpYnMKCjIwMDktMDYtMTUgMTg6MzM6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogUmVmYWN0b3IgdGhlIGVycm9yIHBhdGggdG8gYSBjb21tb24gb3V0cHV0LCBhbmQgZml4IGEgbGVhay4KCSAgRG9uJ3QgbGVhayB0aGUgaW5wdXQgYnVmZmVyIG9uIGVycm9ycy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDktMDYtMTUgMTg6Mjk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIFZEUEFVOiBGaXggdXAgY2FwcyBpbiB2ZHBhdW1wZWdkZWMuIFJlbW92ZSBleHRyYSBzZW1pY29sb24KCSAgRml4IGEgdHlwbyBpbiB0aGUgY2FwcyBmb3IgdGhlIFZEUEFVIG1wZWcgZGVjb2RlciAoY2hyb21hX3R5cGUtPmNocm9tYS10eXBlKQoJICBhbmQgdXNlIHRoZSBHU1RfVkRQX1ZJREVPX0NBUFMgZm9yIHRoZSBwYWQgdGVtcGxhdGUuCgkgIFJlbW92ZSBhIHN0cmF5IHNlbWljb2xvbi4KCjIwMDktMDYtMTIgMTY6Mzk6MzkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBWRFBBVTogRW5oYW5jZSB0aGUgY29uZmlndXJlIHRlc3RzCgkgIENoZWNrIGZvciB0aGUgVkRQQVUgaGVhZGVycyBpbiAvdXNyL2luY2x1ZGUvbnZpZGlhIGFzIHRoZXkgYXJlIG9uIHNvbWUKCSAgcGxhdGZvcm1zIChGZWRvcmEvcnBtZnVzaW9uKS4gQWxzbyBjaGVjayB0aGF0IHRoZSBsaWJ2ZHBhdSBsaWJyYXJ5IGlzCgkgIGF2YWlsYWJsZS4KCjIwMDktMDYtMDkgMjM6MTQ6MjYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBmaXhlZCBzcmMgY2FwcwoKMjAwOS0wNi0wOCAxNDozNToyOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogZHJvcCBhbGwgZnJhbWVzIGJlZm9yZSBhIEdPUCB3aGVuIHdlIHNlZWsKCjIwMDktMDYtMDggMTQ6MTU6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXAKCjIwMDktMDYtMDcgMjM6NDY6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBzL0lTX1ZEUEFVL0lTX1ZEUAoKMjAwOS0wNi0wNyAwMToyNTowMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2VuZCBuZXdzZWdtZW50IGV2ZW50IGlmIG9ubHkgdGhlIHJhdGUgaGFzIGJlZW4gdXBkYXRlZAoKMjAwOS0wNi0wNyAwMToxMjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIG11dGV4IHRvIHByb3RlY3QgbXBlZ19kZWMtPnNlZWtpbmcgZnJvbSBjb25jdXJyZW50IGFjY2VzcwoKMjAwOS0wNi0wNyAwMDo1NTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBmb3IgdGhyZWFkc2FmZXR5CgoyMDA5LTA2LTA2IDIxOjI3OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmdXJ0aGVyIHdvcmsgb24gc2Vla2luZwoKMjAwOS0wNi0wNSAyMzoxMToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA2LTA1IDIyOjI4OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgb24gbm9uIElfRlJBTUUncwoKMjAwOS0wNi0wNSAyMTo0ODoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIGdzdHZkcG1wZWdkZWNvZGVyLltjaF0gdG8gZ3N0dmRwbXBlZ2RlYy5bY2hdCgoyMDA5LTA2LTA1IDIxOjQ2OjA4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIEdzdFZkcE1wZWdEZWNvZGVyIHRvIEdzdFZkcE1wZWdEZWMKCjIwMDktMDYtMDUgMjE6NDI6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcGFzcyBidWZmZXIgc2l6ZSBkaXJlY3RseSB0byBnc3RfdmRwX21wZWdfZGVjb2Rlcl9kZWNvZGUKCjIwMDktMDYtMDUgMjE6MTg6NDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA2LTA1IDIxOjE2OjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGNhbGN1bGF0ZSBieXRlcmF0ZSBmcm9tIHRoZSBzaXplIG9mIHRoZSBpbmNvbWluZyBkYXRhCgoyMDA5LTA2LTA1IDE5OjA4OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcHJpbnQgZnJhbWVfbnIgaW4gZGVidWcgcHJpbnQKCjIwMDktMDYtMDUgMTg6Mjg6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBpbnRlcmxhY2VkIGZpeGVzCgoyMDA5LTA2LTA1IDE4OjE4OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogb25seSBzZXQgYmFzZSBkdXJhdGlvbiBvbmNlCgoyMDA5LTA2LTA1IDE3OjUzOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3Qgc2VuZCB0aGUgRVZFTlRfTkVXU0VHTUVOVCBkb3duc3RyZWFtIGlmIHdlJ3JlIHNlZWtpbmcKCjIwMDktMDYtMDUgMTc6NDM6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogaW1wbGVtZW50IHNlZWtpbmcKCjIwMDktMDYtMDUgMTE6NTQ6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjaGFuZ2UgYSBHU1RfREVCVUcgdG8gR1NUX1dBUk5JTkcKCjIwMDktMDYtMDUgMTE6NTI6MzIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVudXNlZCBicm9rZW5fZ29wIGZpZWxkCgoyMDA5LTA2LTA1IDExOjUxOjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIG5ldyBnc3RfdmRwX21wZWdfZGVjb2Rlcl9mbHVzaCBmb3IgZmx1c2hpbmcgdGhlIGRlY29kZXIKCjIwMDktMDYtMDUgMTE6MjQ6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgR1NFX0RFQlVHX0ZVTkNQVFIKCjIwMDktMDYtMDUgMTE6MjA6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBkcm9wIGRpc2NvbnQgYnVmZmVycwoKMjAwOS0wNi0wNSAxMToxNzoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBHU1RfUVVFUllfUE9TSVRJT04gYW5kIEdTVF9RVUVSWV9EVVJBVElPTgoKMjAwOS0wNi0wNCAyMToxNzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGNhbGN1bGF0ZSBjb3JyZWN0IGR1cmF0aW9uIGZyb20gZGF0YSBpbiBNUEVHX1BBQ0tFVF9FWFRfUElDVFVSRV9DT0RJTkcKCjIwMDktMDYtMDQgMTk6MzA6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogZml4IHNvIHRoYXQgdGhlIGZpcnN0IGZyYW1lIGluIGEgcmF3IG1wZWd2aWRlbyBzdHJlYW0gZ2V0IHRpbWVzdGFtcCAwCgoyMDA5LTA2LTA0IDE5OjE3OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZwZGF1bXBlZ2RlYzogcmVtb3ZlIHVzZWxlc3MgR3N0VmRwRGVjb2RlciBiYXNlY2xhc3MKCjIwMDktMDYtMDQgMTg6MTE6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBHc3RCaXRSZWFkZXIgdG8gcGFyc2UgYml0c3RyZWFtCgoyMDA5LTA1LTA2IDIzOjA3OjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IGNoYW5nZSBlbGVtZW50IHJhbmsgZm9yIHRlc3RpbmcgcHVycG9zZXMKCSAgc2V0IG1wZWd2aWRlb3BhcnNlIHJhbmsgdG8gcHJpbWFyeSBhbmQgdmRwYXVtcGVnZGVjIHRvIHByaW1hcnkgLSAxIHRvIGdldCB2ZHBhdW1wZWdkZWMKCSAgY29ycmVjdGx5IHBsdWdnZWQgaW50byBwbGF5YmluCgoyMDA5LTA1LTA1IDIzOjE5OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGFkZCBkZWJ1ZyBvbiBHc3RWZHBEZXZpY2UgZGVzdHJveQoKMjAwOS0wNS0wNSAyMzoxMzoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNvZGUgY2xlYW51cAoKMjAwOS0wNS0wNSAyMzowODo1MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm51c2VkIEdzdFZkcEJGcmFtZSBzdHJ1Y3QKCjIwMDktMDUtMDUgMjM6MDc6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBzbWFsbCB0eXBvIGluIGRlYnVnIHByaW50CgoyMDA5LTA1LTA1IDE4OjU0OjMxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCB0aW1lc3RhbXBpbmcgb2Ygb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0wNS0wNSAxODo0NTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGFkZCBmb3J3YXJkX3JlZmVyZW5jZSBpZiB0aGUgZnJhbWUgaXMgYW4gSV9GUkFNRQoKMjAwOS0wNS0wNSAxODozNzo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCjIwMDktMDUtMDUgMTc6MzA6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVlZGVkIGxvY2tpbmcgc2luY2Ugd2Uga25vdyBkbyBTdGF0ZUNoYW5nZSBjb3JyZWN0bHkKCjIwMDktMDUtMDUgMTc6Mjg6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHMvR1NUX1RZUEVfVkRQQVUvR1NUX1RZUEVfVkRQL2cKCjIwMDktMDUtMDUgMTc6MjA6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHMvR1NUX1RZUEVfVkRQQVUvR1NUX1RZUEVfVkRQL2cKCjIwMDktMDUtMDUgMTc6MTU6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBzdGF0ZSBjaGFuZ2UKCjIwMDktMDUtMDUgMTY6Mjk6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBpbml0ICJ2ZHBhdWRldmljZSIgZGVidWcgY2F0b2Vnb3J5IGluIGdzdF92ZHBfZ2V0X2RldmljZQoKMjAwOS0wNS0wNSAwODoxMTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGhvbGQgdGhlIGxvY2sgaW4gY2hhbmdlX3N0YXRlCgoyMDA5LTA1LTAzIDIxOjUyOjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogdGhlIEJfRlJBTUUgZGVjb2Rpbmcgd2FzIGNvbXBsZXRlbHkgd3JvbmcsIGZpeCBpdAoJICB0aGUgYnVmZmVycyBkb24ndCBjb21lIGluIG91dHB1dCBvcmRlciBzbyBmaXggdGhlIGRlY29kZXIgdG8gaGFuZGxlIHRoaXMKCSAgYWRkIG5ldyBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9hZGRfcmVmZXJlbmNlIG1ldGhvZCB0byBHc3RWZHBWaWRlb0J1ZmZlciB0byBiZSBhYmxlIHRvIGtlZXAKCSAgYnVmZmVycyBhbGl2ZS4gSWUuIGEgQl9GUkFNRSBuZWVkIHRvIGhhdmUgYm90aCB0aGUgZm9yd2FyZCByZWZlcmVuY2UgYW5kIHRoZSBiYWNrd2FyZAoJICByZWZlcmVuY2UgYWxpdmUgZHVyaW5nIGl0J3MgbGlmZXRpbWUuCgkgIGFkZCBtdXRleCB0byBwcm90ZWN0IGZvciB0aHJlYWRzYWZldHkgaXNzdWVzIHdoZW4gd2UgcmVzZXQgdGhlIGRlY29kZXIgaW4gRkxVU0hfU1RPUAoKMjAwOS0wNC0zMCAyMTo1ODowMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBmdWxsX3BlbF9mb3J3YXJkX3ZlY3RvciB0byAwIHdoZW4gcGljX3R5cGUgPT0gUF9GUkFNRQoKMjAwOS0wNC0yNyAyMTozMDo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRyb3AgZnJhbWVzIGlmIHdlIGhhdmVuJ3QgZ290IGFuIElfRlJBTUUgeWV0CgoyMDA5LTA0LTI3IDIwOjU3OjEyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogc2V0IHZkcGF1dmlkZW95dXYgYW5kIHZkcGF1eXV2dmlkZW8gdG8gR1NUX1JBTktfUFJJTUFSWQoKMjAwOS0wNC0yNyAyMDo1MDoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRlc3Ryb3kgdGhlIFZkcERlY29kZXIgYW5kIHJlc2V0IHRoZSBkZWNvZGVyIG9uIHN0YXRlIGNoYW5nZQoKMjAwOS0wNC0yNyAyMDo0NToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGZpeCBlcnJvciB3aGVyZSB3ZSBmb3Jnb3QgdG8gcGFzcyBhIHRyYWlsaW5nIE5VTEwgdG8gZ19vYmplY3RfbmV3CgoyMDA5LTA0LTI3IDIwOjIxOjQ0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogY2xvc2UgZGlzcGxheSBvbiBmaW5hbGl6ZQoKMjAwOS0wNC0yNyAyMDoxODo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBmaXhlcwoJICBpbml0IGNyZWF0ZSBHc3RWZHBEZXZpY2Ugb24gR1NUX1NUQVRFX0NIQU5HRV9SRUFEWV9UT19QQVVTRUQgaW5zdGVhZCBvZiBvbgoJICBHU1RfU1RBVEVfQ0hBTkdFX05VTExfVE8gUkVBRFkKCSAgYWRkIGJhY2sgaW5jcmVtZW50aW5nIG9mIGZyYW1lX25yCgoyMDA5LTA0LTI3IDIwOjE1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogdXNlIGdfb25jZV9pbml0X2VudGVyIGluc3RlYWQgb2YgZ19vbmNlCgoyMDA5LTA0LTI3IDE4OjM0OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaWYgYXZhaWxhYmxlIHVzZSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wIGFzIG91dHB1dCB0aW1lc3RhbXAKCjIwMDktMDQtMjcgMTU6MTI6MjYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjbGVhciB0aGUgYWRhcHRlciB3aGVuIHdlIHJlc2V0IHRoZSBkZWNvZGVyCgoyMDA5LTA0LTI2IDIzOjI1OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGZpeHVwIHJlbmFtaW5nCgkgIHRoZSByZW5hbWUgd29yayBkb25lIGluIGNvbW1pdCAyNGNmODRkMDZiMmY0YjJlZGVjMzM4M2IxOTg0NDFhMDc4Mjk2MThiIGRpZG4ndAoJICBpbmNsdWRlIHR5cGVjYXN0cy4gVGhpcyBjb21taXQgZml4ZXMgdGhpcy4KCjIwMDktMDQtMjYgMjM6MjA6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZXNldCBkZWNvZGVyIG9uIEdTVF9FVkVOVF9GTFVTSF9TVE9QCgoyMDA5LTA0LTI2IDIyOjA1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVzZXQgZGVjb2RlciB3aGVuIHdlIGdldCBhIGRpc2NvbnQgYnVmZmVyCgoyMDA5LTA0LTI2IDIwOjQwOjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkICJNUEVHX1BBQ0tFVF9FWFRfUElDVFVSRV9DT0RJTkciIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0wNC0yMiAyMzozNTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBicm9rZW5fZ29wIGZpZWxkCgoyMDA5LTA0LTIyIDIxOjA0OjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogY29udmVydCBhbGwgbWFudWFsIHBhcnNpbmcgdG8gdXNlIHJlYWRfYml0cyBpbnN0ZWFkCgoyMDA5LTA0LTIyIDIwOjI4OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVkZWQgZ3N0X2J1ZmZlcl9yZWYgYW5kIHRoZSBhY2NvbXBhbnlpbmcgZ3N0X2J1ZmZlcl91bnJlZgoKMjAwOS0wNC0yMiAyMDoyNTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIGVycm9yIHdoZXJlIHdlIHNldCBmb3J3YXJkX3JlZmVyZW5jZSBpbnN0ZWFkIG9mIGJhY2t3YXJkX3JlZmVyZW5jZQoKMjAwOS0wNC0xNiAyMzo0MzoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIG11bHRpcGxlIEJfRlJBTUVzIGluIGEgcm93CgoyMDA5LTA0LTE2IDIyOjMwOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogbW9yZSBCX0ZSQU1FIHdvcmsKCjIwMDktMDQtMTYgMjI6MDY6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogaW5pdGFsIHN1cHBvcnQgYXQgaGFuZGxpbmcgQl9GUkFNRVMKCjIwMDktMDQtMTUgMjM6NDk6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBHc3RGbG93UmV0dXJuIHByb3BhZ2F0aW9uIGEgYml0CgoyMDA5LTA0LTE1IDIzOjM4OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBwYXJzZSBQSUNUVVJFX0NPRElOR19FWFRFTlNJT04gYWx0ZXJuYXRlX3NjYW4gYml0CgoyMDA5LTA0LTE1IDIzOjMxOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHF1YW50bWF0cml4IGV4dGVuc2lvbiBwYXJzaW5nCgoyMDA5LTA0LTE1IDE4OjE3OjU0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY29ycmVjdCBzb21lIGRlZmF1bHQgdmFsdWVzCgkgIG1wZWcxIG5vdyBnaXZlIG5lYXJseSBjb3JyZWN0IG91dHB1dCA6KQoKMjAwOS0wNC0xNSAxNzo1MjoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW1vdmUgdW51c2VkIHNsaWNlIGZpZWxkCgoyMDA5LTA0LTE0IDIzOjQ3OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiByZW5hbWUgInZpZGVvL3ZkcGF1LXZpZGVvIiBjYXBzIHRvICJ2aWRlby94LXZkcGF1LXZpZGVvIgoKMjAwOS0wNC0xNCAyMTowNzozMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgInNpbGVudCIgcHJvcGVydHkgZnJvbSBHc3RWZHBEZWNvZGVyCgoyMDA5LTA0LTE0IDIxOjA1OjQ0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IGRvbid0IHNldCBlbGVtZW50IGRldGFpbHMgaW4gR3N0VmRwRGVjb2RlcgoKMjAwOS0wNC0xNCAyMTowNDo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbmFtZSB0byAidmRwYXVtcGVnZGVjIgoKMjAwOS0wNC0xNCAxOTowODo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVtb3ZlIHVubmVjZXNhcnkgd2FudF9zbGljZSBmaWVsZAoKMjAwOS0wNC0xMyAyMjoyMTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IHNtYWxsIGNvc21ldGljYWwgZml4CgoyMDA5LTA0LTEzIDIyOjE5OjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVuYW1lIGFsbCBmaWxlcyBhbmQgb2JqZWN0cyBmcm9tIFZkcGF1IHRvIFZkcAoKMjAwOS0wNC0xMyAyMToyMzozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBkZWNvZGUgc2xpY2VzIHdoZW4gd2UgZ2V0IHRoZSBuZXh0IHBpY3R1cmUgaGVhZGVyLiBNUEVHMiBub3cga2luZG9mIHdvcmtzLgoKMjAwOS0wNC0xMyAyMToxMTo1NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdTogc21hbGwgaW1wcm92ZW1lbnQgdG8gbXBlZyBkZWNvZGVyCgoyMDA5LTA0LTEzIDIwOjA0OjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW1vdmUgdW51c2VkICJzaWxlbnQiIHByb3BlcnRpZXMKCjIwMDktMDQtMTMgMTk6MzY6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJICB2ZHBhdTogaW1wbGVtZW50IEdzdFZkcGF1VmlkZW9CdWZmZXIgLT4gSTQyMCBjb252ZXJzaW9uCgoyMDA5LTA0LTA5IDE2OjU0OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkgIHZkcGF1OiBtb3ZlIGRlZmluaXRpb24gb2YgdGhlIFZkcENocm9tYVR5cGUgYXJyYXkgYW5kIHRoZSBWZHBhdUZvcm1hdHMgdG8gZ3N0ZGV2aWNlLmgKCjIwMDktMDQtMDcgMjE6NTE6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgZml4CgkgIHNldCB2ZHBfaW5mby5mb3J3YXJkX3JlZmVyZW5jZSB0byBWRFBfSU5WQUxJRCBoYW5kbGUgd2hlbiB1bnJlZmZpbmcgdGhlIG9sZAoJICBidWZmZXIKCjIwMDktMDQtMDcgMjA6NDY6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkgIHZkcGF1OiBhZGQgbmV3IEdzdFZkcGF1WVVWVmlkZW8gZWxlbWVudAoJICB0aGUgR3N0VmRwYXVZVVZWaWRlbyBlbGVtZW50IHRha2VzIHJhdyBZVVYgdmlkZW8gYW5kIG91dHB1dHMKCSAgR3N0VmRwYXVWaWRlb0J1ZmZlcnMKCjIwMDktMDQtMDQgMjI6NDU6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJICB2ZHBhdTogVmlkZW9ZVVYgdW5yZWYgYnVmZmVyIGluIGNoYWluIHNvIHRoYXQgd2UgZG9uJ3QgbGVhayB0aGVtIE1wZWdEZWNvZGVyIHBhcnNlIHNlcXVlbmNlIGhlYWRlcnMKCjIwMDktMDQtMDQgMjI6MDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiByZW1vdmUgc29tZSB1bm5lZGVkIGluY2x1ZGVzCgoyMDA5LTA0LTA0IDIyOjAzOjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJICB2ZHBhdTogbW92ZSBwbHVnaW4gZGVmaW5pdGlvbiB0byBhIG5ldyBnc3R2ZHBhdS5jIGZpbGUgZml4IHVwIGRlYnVnIGNhdGVnb3JpZXMKCjIwMDktMDQtMDQgMjA6NTM6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJICB2ZHBhdTogYWRkIG5ldyBHc3RWZHBhdVZpZGVvWVVWIGVsZW1lbnQKCSAgR3N0VmRwYXVEZWNvZGVyIG5vdyBwdXNoZXMgR3N0VmRwYXVWaWRlb0J1ZmZlcnMgaW5zdGVhZCBvZiBkb2luZwoJICBWZHBTdXJmYWNlIC0+IFlVViBjb252ZXJzaW9uLiBUbyBnZXQgWVVWIGRhdGEgeW91IG5vdyBwdXQgaW4gYSBHc3RWZHBhdVZpZGVvWVVWCgkgIGVsZW1lbnQgd2hpY2ggdGFrZXMgR3N0VmRwYXVWaWRlb0J1ZmZlcnMgYW5kIG91dHB1dHMgWVVWIGRhdGEuCgoyMDA5LTA0LTAzIDE3OjU5OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudCBmaXgKCjIwMDktMDQtMDMgMTc6NTg6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSAgdmRwYXU6IHJlbW92ZSBvYm9zb2xldGUgRklYTUUgYW5kIHNvbWUgZGVidWcgcHJpbnRzIGZyb20gZ3N0dmRwYXVkZXZpY2UuYwoKMjAwOS0wNC0wMyAxNzo1MzoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJICB2ZHBhdTogY29tbWl0IHJlbmFtZSBvZiBnc3QtdmRwYXUtZGV2aWNlLmggdG8gZ3N0dmRwYXVkZXZpY2UuaAoKMjAwOS0wNC0wMyAxNzo1MjoyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmM6CgkgIHZkcGF1OiByZW1vdmUgZ3N0LXZkcGF1LWRldmljZS5jCgoyMDA5LTA0LTAzIDE3OjUxOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJICB2ZHBhdTogcmVuYW1lIGdzdC12ZHBhdS1kZXZpY2UuW2NoXSB0byBnc3R2ZHBhdWRldmljZS5bY2hdCgoyMDA5LTA0LTAxIDIxOjQyOjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBjaGFuZ2UgYWxsIHJlZmVyZW5jZXMgb2YgImdzdF92ZHBhdWRlY29kZXIqIiB0byAiZ3N0X3ZkcGF1X2RlY29kZXIiCgoyMDA5LTA0LTAxIDIxOjQwOjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogbWFrZSB0aGUgZGVjb2RlciBjbGVhbiB1cCBhZnRlciBpdHNlbGYKCjIwMDktMDQtMDEgMjE6MjY6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiByZW1vdmUgZXh0cmEgXCBmcm9tIE1ha2VmaWxlLmFtCgoyMDA5LTA0LTAxIDIxOjE5OjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBnc3R2ZHBhdWRldmljZSBmb3IgYWJzdHJhY3RpbmcgdmRwYXUgaW5pdGFsaXphdGlvbgoKMjAwOS0wMy0zMSAyMjo1NDoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgY29tbWVudAoKMjAwOS0wMy0zMSAyMjo1Mzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IE1QRUcxIGRlY29kaW5nIGtub3cgZ2l2ZXMgcmVjb2duaXphYmxlIG91dHB1dAoKMjAwOS0wMy0yOSAxNToyODowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBjcmVhdGUgVmRwRGVjb2RlciBpbiBzZXRfY2FwcyBhZGQgbW9yZSBmdW5jdGlvbnMgZm9yIHBhcnNpbmcgbXBlZwoKMjAwOS0wMy0yNyAxNzoxMTowNCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogc3RvcmUgdmRwYXUgZnVuY3Rpb24gcG9pbnRlcnMgaW4gYSBsb2NhbCBzdHJ1Y3R1cmUKCjIwMDktMDMtMjcgMTY6NTU6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogZXh0cmFjdCBtcGVnMiBwcm9maWxlIGZyb20gY29kZWNfZGF0YQoKMjAwOS0wMy0yNiAyMTowNDo0OCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogZXh0cmFjdCBtcGVnIHZlcnNpb24KCjIwMDktMDMtMjUgMjA6NDE6NDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogYWRkIHZlcnNpb24gc3BlY2lmaWNhdGlvbiB0byBtcGVnZGVjb2RlciBjYXBzCgoyMDA5LTAzLTI1IDIwOjM4OjI3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogZm9jdXMgb24gbXBlZyBpbnN0ZWFkIG9mIGgyNjQKCjIwMDktMDMtMjUgMTk6NTk6MDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiByb3VnaCB0cnkgYXQgaW1wbGVtZW50aW5nIHB1c2hpbmYgb2YgWVYxMiBidWZmZXJzCgoyMDA5LTAzLTI0IDIyOjI2OjU2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQKCjIwMDktMDMtMjMgMjE6MzY6NTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBpbml0IHZkcGF1IGluIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UT19SRUFEWSBhZGQgZ3N0X3ZkcGF1ZGVjb2Rlcl9wdXNoX3ZpZGVvX3N1cmZhY2UgdG8gdmRwYXVkZWNvZGVyLmgKCjIwMDktMDMtMjMgMjA6NDc6MDAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBzdHVicyBmb3IgcHVzaGluZyBWZHBWaWRlb1N1cmZhY2VzIHRvIHRoZSBzcmMgcGFkCgoyMDA5LTAzLTIxIDIyOjA2OjEyICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSAgdmRwYXU6IHVwZGF0ZSBWZHBhdUgyNjREZWNvZGVyIGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMDktMDMtMjAgMjE6MjY6MTEgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiBjaGFuZ2xlIGdzdHZkcGF1ZGVjb2Rlci5jIGNsYXNzaWZpY2F0aW9uCgoyMDA5LTAzLTIwIDIxOjI0OjQwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBpbXBsZW1lbnQgZG93bnN0cmVhbSBjYXBzIG5lZ290aWF0aW9uCgoyMDA5LTAzLTE1IDIxOjIzOjM1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50YXRpb24gZml4CgoyMDA5LTAzLTE1IDIxOjIxOjQ5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBiYXNpYyBiYXNlIGNsYXNzIGZvciB2ZHBhdSBkZWNvZGVycwoKMjAwOS0wMy0xNCAxMDo0MzoyOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIGFkZCBuZXcgdmRwYXUgZGlyZWN0b3J5CgoyMDA5LTA2LTE5IDE5OjA5OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvLnN1YmFzaWMgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgQWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYnVmZmVyLWxpc3RzLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0ZXN0aW5nIHRoYXQgdGhlIGJ1ZmZlci1saXN0IHBhc3NlZCB0aHJvdWdoIHJ0cGJpbi4KCSAgZml4ZXMgIzU4NTgzOQoKMjAwOS0wNi0xOCAxMjoxMzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFESUY6IGRvIG5vdCBzZW5kIGJvZ3VzIHRpbWVzdGFtcHMsIGxlYXZlIHRvIGRvd25zdHJlYW0gKGRlY29kZXIpCgoyMDA5LTA2LTExIDE1OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvbmx5IHVzZSAoNjQtYml0KSBleHRlbmRlZCAobWRhdCkgYXRvbSBzaXplIGlmIG5lZWRlZC4gIEZpeGVzICM1ODUzMTkuCgoyMDA5LTA2LTEwIDE0OjQ2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGRlZmF1bHQgbW92aWUgdGltZXNjYWxlIHRvIG1pY3Jvc2Vjb25kIHVuaXRzCgoyMDA5LTA2LTEwIDEzOjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogY29tcHJlc3Mvb3B0aW1pemUgc3RzYyB3cml0aW5nCgoyMDA5LTA2LTEwIDEyOjQyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgM0dQIHN0eWxlIHRhZ2dpbmcgKGFuZCByZWZhY3RvciBhcHByb3ByaWF0ZWx5KQoKMjAwOS0wNi0wMSAyMzowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4IChhbmQgdmFyaWFudHMpOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvLiAgRml4ZXMgIzU4NDM1OC4KCjIwMDktMDYtMTkgMTc6MDQ6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgRml4IHByZXZpb3VzIGNvbW1pdCBzbyB0aGF0IHRoaW5ncyBzdGlsbCB3b3JrIHdpdGggZGVidWcgbG9ncyBlbmFibGVkCgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDktMDYtMTYgMjE6MzQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IE1ha2UgcGx1Z2luIHNjYW5uaW5nIG1vcmUgcm9idXN0CgoyMDA5LTA2LTE2IDIxOjI3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTWFrZSBzdXJlIHRvIG9ubHkgcmVnaXN0ZXIgcGx1Z2lucyB0aGF0IGhhdmUgdmFsaWQgcHJvcGVydCB0eXBlcwoKMjAwOS0wNi0xNiAxOTo0Mjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogUmVtb3ZlIGN1c3RvbSBnZXRfdW5pdF9zaXplIGltcGxlbWVudGF0aW9uCgkgIFRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBkZWZhdWx0IG9uZSBmcm9tIEdzdFZpZGVvRmlsdGVyCgoyMDA5LTA2LTE1IDE3OjA1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogRml4IHRoZSBrbGFzcyBvZiB0aGUgZmlsdGVyIGVsZW1lbnRzCgoyMDA5LTA2LTE0IDE5OjQxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBGcmVlIHR5cGUgbmFtZXMKCjIwMDktMDYtMTQgMTk6MzU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IFVucmVmIHRoZSBHc3RDb2xsZWN0UGFkcyBpbnN0YW5jZSBvbiBmaW5hbGl6ZQoKMjAwOS0wNi0xNCAxOToyNzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IERvbid0IGFsbG93IGNhcHMgY2hhbmdlcyBpbiBQTEFZSU5HL1BBVVNFRAoJICBNb3N0IGZyZWkwciBzb3VyY2UgcGx1Z2lucyBnZW5lcmF0ZSBvdXRwdXQgYmFzZWQgb24KCSAgcHJldmlvdXMgb3V0cHV0IGFuZCBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBvbiBjYXBzCgkgIGNoYW5nZXMgd2lsbCBsZXQgdGhlIG91dHB1dCBzdGFydCBhdCAwIGFnYWluLgoKMjAwOS0wNi0xNCAxOToyMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSAgZnJlaXIwOiBBZGQgc3VwcG9ydCBmb3IgZnJlaTByIG1peGVyIHBsdWdpbnMKCjIwMDktMDYtMTMgMTA6MDY6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBEZXN0cm95IHRoZSBmMHJfaW5zdGFuY2VfdCBpbiBzdG9wKCkKCjIwMDktMDYtMTIgMjI6MDQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBBZGQgdGhlIGZyZWkwciBwbHVnaW4gdHlwZSB0byB0aGUgZWxlbWVudCBuYW1lCgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGRpc3Rpbmd1aXNoIGdlbmVyYXRvcnMgZnJvbSBmaWx0ZXJzLCBldGMKCjIwMDktMDYtMTIgMjI6MDA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBBZGQgc3VwcG9ydCBmb3IgZnJlaTByIHNvdXJjZS9nZW5lcmF0b3IgcGx1Z2lucwoKMjAwOS0wNi0xMiAxNToxMzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEFsbG93IHRoZSBjb21wbGV0ZSBkb3VibGUgcmFuZ2UgZm9yIGRvdWJsZSBwcm9wZXJ0aWVzCgkgIFRoZSBzcGVjIHJlc3RyaWN0cyBpdCB0byBbMCwxXSBidXQgc29tZSBwbHVnaW5zIGFyZSB1c2luZyB0aGUKCSAgY29tcGxldGUgZG91YmxlIHJhbmdlLgoKMjAwOS0wNi0xMiAxNTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFVzZSBiZXR0ZXIgcHJvcGVydHkgbmlja3MKCjIwMDktMDYtMTIgMTQ6NTk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJICBmcmVpMHI6IEZpcnN0IHZlcnNpb24gb2YgYSBmcmVpMHIgd3JhcHBlciBwbHVnaW4KCSAgQ3VycmVudGx5IHRoaXMgb25seSBzdXBwb3J0cyBmcmVpMHIgZmlsdGVycy4KCjIwMDktMDYtMTQgMjA6MDA6NTEgKzAyMDAgIE1heGltaWxpYW4gSMO2Z25lciA8cGJtYXhpQGhvZWduZXJzLmRlPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFeHBsaWNpdGVseSBjYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBmaXggYSBzZWdmYXVsdAoJICBGaXhlcyBidWcgIzU4NTY2MC4KCjIwMDktMDYtMDkgMTk6MTQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTg6NDU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcm94eSBxdWVyaWVzIG9uIHRoZSB2aWRlbyBwYWRzIHRvIHRoZSBjb3JyZWN0IHBlZXJzCgoyMDA5LTA2LTA5IDE4OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJveHkgYnVmZmVyYWxsb2Mgb24gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMDYtMDkgMTg6MjU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBUcnkgdG8gd29yayBpbnBsYWNlIGlmIHBvc3NpYmxlCgkgIFRoaXMgc2F2ZXMgb25lIG5ldywgbGFyZ2UgYWxsb2NhdGlvbiBwZXIgZnJhbWUgZm9yIHRoZQoJICBtb3N0IGNhc2VzLgoKMjAwOS0wNi0xNiAxODo0Njo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggc3RyYXkgc2VtaWNvbG9ucyB0aGF0IG1lc3MgdXAgaWYgc3RhdGVtZW50CgoyMDA5LTA2LTExIDEzOjQyOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogQnVtcCBjb21tb24gdG8gY29ycmVjdCB1cGxvYWQtZG9jLm1haywgZml4IGEgY29tbWVudCBpbiB0aGUgZG9jIE1ha2VmaWxlCgoyMDA5LTA2LTE4IDIwOjMzOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjEzLjEKCjIwMDktMDYtMTggMDg6NTM6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC4xMyByZWxlYXNlIGVudHJ5IHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTMgPT09CgoyMDA5LTA2LTE4IDA4OjI5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMwoKMjAwOS0wNi0xNyAyMTo1Njo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA2LTE2IDE3OjA5OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgZmlsZW5hbWUgYWZ0ZXIgY2FwdHVyZSB0byBhdm9pZCByYWN5IHdoZW4gY2FwdHVyaW5nIGFnYWluCgkgIElmIHdlIGRvbid0IHJlc2V0IHRoZSBmaWxlbmFtZSB3ZSBjYW5ub3QgY2hlY2sgaWYgd2Ugc3RpbGwgZXhwZWN0IHRoZSBmaWxlbmFtZQoJICBmb3IgYSBzdWJzZXF1ZW50IGNhcHR1cmUgcGFzcy4gVGhlIGltYWdlYmluIHdvdWxkIGdvb2QgdG8gcGF1c2VkIGFuZCB3ZSBzZXQgdGhlCgkgIGZpbGVuYW1lIGluIHRoYXQgc3RhdGUuIFRoaXMgdHJpZ2VycyBhbiBlcnJvci1tZXNzYWdlIGFuZCB3b3VsZCBjYXB0dXJlIHRvIHRoZQoJICBvbGQgZmlsZW5hbWUuCgoyMDA5LTA2LTEyIDEwOjI5OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW51cHMgaW4gdGhlIHRlc3RzCgkgIFNwcmlua2xlIG1vcmUgbG9nZ2luZyB0byBtYWtlIGl0IGVhc2llciB0byBmb2xsb3cuIFNwZWNpZnkgYSBsb3cgZnJhbWVyYXRlIGFuZAoJICBjYXB0dXJlIHJlc29sdXRpb24gdG8gYXZvaWQgdGVzdHMgdGltaW5nIG91dC4gTWFrZSB0aGUgc2lua3Mgc3luYyB0byB0ZXN0IGNsb3NlcgoJICB0byByZWFsaXR5LiBGaXggTWFrZWZpbGUgdG8gdXNlIHVuaW5zdGFsbGVkIGludGVyZmFjZS4KCjIwMDktMDYtMTIgMTA6MjY6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgaW1hZ2ViaW4gdG8gUEFVU0VEIG9uIGNhcHR1cmUgYW5kIGRlbGF5ZWQgZmlsZW5hbWUgc2V0dGluZwoJICBXZSBuZWVkIHRvIHNldCBpbWFnZWJpbiB0byBQQVVTRUQgdG8gbm90IGZhaWwgdGhlIGJ1ZmZlcmFsbG9jLiBXZSBhbHNvIG5lZWQgdG8KCSAga2VlcCB0aGUgZmlsZXNpbmtzIHN0YXRlIGxvY2tlZCB1bnRpbCB3ZSBoYXZlIHRoZSBmaWxlbmFtZSBmb3IgdGhlIHJ1bi4KCjIwMDktMDYtMTIgMTA6MTQ6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogZG8gdGhlIHBhZF9hbGxvYyBmb3IgdGhlIHBhZCB0aGF0IGlzIHBlbmRpbmcgYW5kIGhhdmUgYSBmYWxsYmFjawoJICBXZSBzaG91bGQgZG8gdGhlIHBhZF9hbGxvYyBmb3IgdGhlIHBlbmRpbmcgcGFkIGlmIGFueSwgYXMgd2Ugd2lsbCBzd2l0Y2ggdG8gdGhhdAoJICBwYWQgb24gbmV4dCBfY2hhaW4oKSBjYWxsLiBBbHNvIGRvIGEgZmFsbGJhY2sgYWxsb2MsIGlmIHRoZXJlIGlzIG5vIG91dHB1dCB5ZXQgdG8KCSAgbm90IGZhaWwgc3RhdGUgdHJhbnNpdGlvbnMgaW4gZHluYW1pYyBwaXBlbGluZXMuCgoyMDA5LTA2LTExIDE2OjAwOjM2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBCdW1wIHdpbjMyIGNvbmZpZy5oIHZlcnNpb24gbnVtYmVyIHRvbwoKMjAwOS0wNi0wNSAyMjo0Mzo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMi4zIHByZS1yZWxlYXNlCgoyMDA5LTA2LTA2IDIxOjI4OjI3ICswNDAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIEFkZGVkIGJhc2UgbGlicyB0byBkZWJ1ZyB1dGlscyBtYWtlZmlsZQoJICBGaXhlcyAjNTg1MDE1CgoyMDA5LTA2LTA3IDEwOjU1OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIHRlc3RzL21ldGFkYXRhOiBEb24ndCB0cnkgdGFncyB3ZSBjYW4ndCBoYW5kbGUuIEZpeGVzICM1ODQ5NDUKCjIwMDktMDYtMDYgMTk6Mjg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkgIGhkdnBhcnNlOiBMaW5rIGFnYWluc3QgbGlibSBiZWNhdXNlIHdlIHVzZSBwb3coKS4KCjIwMDktMDYtMDYgMTM6NTM6MDQgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBEb24ndCBidWlsZCB0aGUgbXhmIGV4YW1wbGUgaWYgR1RLIGlzbid0IHByZXNlbnQuCgoyMDA5LTA2LTA2IDEzOjE3OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgYXBleHNpbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBGaXggY29tcGlsZSB3YXJuaW5ncyBvbiBzb2xhcmlzIGZyb20gYnplcm8gbm90IGJlaW5nIGRlY2xhcmVkICh1c2UKCSAgbWVtc2V0IGluc3RlYWQpLCBhbmQgc3RyaWN0LWFsaWFzaW5nIHdhcm5pbmdzICh1c2UgYSB0ZW1wb3JhcnkKCSAgdmFyaWFibGUpLgoKMjAwOS0wNi0wNiAwMjozNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGluaXQgZ2VucmUgZmllbGQgaW4gSUQzdjEgdGFnIHRvIGFuIGludmFsaWQgbnVtYmVyCgkgIFNvIHRoYXQgaXQgaXMgbm90IGludGVycHJldGVkIGFzICdCbHVlcycgaWYgbm8gZ2VucmUgaXMgdG8gYmUgd3JpdHRlbi4KCjIwMDktMDYtMDYgMDE6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSAgaWQzbXV4OiBkb24ndCB3cml0ZSBJRDN2MSB0YWcgdW50aWwgc3BlY2lmaWNhbGx5IGluc3RydWN0ZWQgdG8gZG8gc28KCSAgSUQzdjEgdGFncyBhcmUgb25lIG9mIHRoZSBtb3N0IGJyb2tlbiBhbmQgaWxsLWRlc2lnbmVkIHRoaW5ncyB0aGF0CgkgIGV4aXN0IG9uIHRoaXMgcGxhbmV0LiBMZXQncyBub3Qgd3JpdGUgdGhlbSBieSBkZWZhdWx0LgoKMjAwOS0wNi0wNiAwMDo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGRvbid0IHdyaXRlIGVtcHR5IElEM3YxIHRhZwoKMjAwOS0wNi0wNiAwMDozOToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzdGFnOiByZW5hbWUgbmV3IGlkM3RhZyBlbGVtZW50IHRvIGlkM211eCByZXBsYWNpbmcgdGhlIG9uZSByZW1vdmVkIGZyb20gLXVnbHkKCjIwMDktMDYtMDUgMjM6NTI6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICBuc2Y6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIFNvbGFyaXMuCgkgIEEgU0VDKCkgbWFjcm8gYWxyZWFkeSBleGlzdHMgb24gU29sYXJpcywgY2F1c2luZyB3YXJuaW5ncyBhYm91dAoJICByZWRlZmluaW5nIGl0LgoKMjAwOS0wNi0wNSAyMjoyMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRml4IHRoZSBidWlsZCBvbiBDb21tYW5kZXIgVGhheXRhbidzIFMxMFNQCgoyMDA5LTA2LTA1IDE5OjUzOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IElnbm9yZSBzaGFwZXdpcGUgdW5pdCB0ZXN0IGJpbmFyeQoKMjAwOS0wNi0wNSAxOTozMjoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmVkICd4MjY0ZW5jJyBmcm9tIC1iYWQgdG8gLXVnbHkKCjIwMDktMDYtMDUgMjE6MTc6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGZpeCBsaW5rIG9yZGVyCgkgIE1vdmUgbG9jYWwgdmVyc2lvbiB1cCBpbiB0aGUgbGluayBvcmRlci4KCjIwMDktMDYtMDUgMjA6MjI6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEVtaXQgYSBHU1RfTUVTU0FHRV9FTEVNRU5UIHdpdGggc29tZSBnb29kbmVzcyBpbiBpdC4KCjIwMDktMDYtMDUgMTA6NDk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFkZCBtZXRob2RzIHRvIGdldCBuYW1lcyBvZiB2YXJpb3VzIHZhbHVlcy4KCjIwMDktMDYtMDUgMTA6NDg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBIRFYgcHJpdmF0ZSBzdHJlYW0gZGVmaW5pdGlvbi9jYXBzLgoKMjAwOS0wNi0wNSAxMDo0Nzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogUmV3cml0ZSBmcm9tIHNjcmF0Y2guIEhhbmRsZSBib3RoIGhkdi1hIGFuZCBoZHYtdgoJICBUaGlzIHRpbWUgd2UgYW5hbHl6ZSBhIGxvdCBtb3JlIGluZm9ybWF0aW9uLgoJICBTdGlsbCBuZWVkIHRvIHJlLWFkZCB0aGUgbWVzc2FnZSBlbWlzc2lvbi4KCjIwMDktMDYtMDUgMTY6NDg6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGNvcnJlY3QgZnJhbWVzaXplIHJhbmdlCgkgIEEgQ0VMVCBmcmFtZXNpemUgY2FuIGJlIGJldHdlZW4gNjQgYW5kIDUxMiBzYW1wbGVzLgoJICBGaXggYSB0eXBvIGluIHRoZSBiaXRyYXRlIHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAwOS0wNS0yNyAxMTozMzowMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcHJldmlldyBpbWFnZSBzZW5kaW5nIG9wdGltaXphdGlvbgoJICAqIGRlY291cGxlIGltYWdlIGNhcHR1cmluZyBmcm9tIGltYWdlIHBvc3QtcHJvY2Vzc2luZyBhbmQgZW5jb2RpbmcKCSAgKiBwb3N0IGltYWdlLWNhcHR1cmVkIG1lc3NhZ2UgYWZ0ZXIgaW1hZ2UgaXMgY2FwdHVyZWQKCSAgKiBwb3N0IHByZXZpZXctaW1hZ2UgbWVzc2FnZSB3aXRoIHNuYXBzaG90IG9mIGNhcHR1cmVkIGltYWdlCgoyMDA5LTA1LTE5IDE2OjU4OjM2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9zZSBwb3N0IHByb2Nlc3NpbmcgZWxlbWVudCBpbiBmaXJzdCByZXNldAoKMjAwOS0wNS0xMiAxMjo0OTozMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGFkZCBkZWJ1ZyBpbmNsdWRpbmcgZG90IGdyYXBoIHdyaXRpbmcKCjIwMDktMDUtMDUgMTQ6MTk6NDYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdW5ibG9jayBpZiBlcnJvciBvY2N1cnMgZHVyaW5nIGNhcHR1cmUKCjIwMDktMDUtMDQgMTA6MzM6MTggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBpZ25vcmUgbmlnaHQgbW9kZSBoYW5kbGluZyBpZiBhbHJlYWR5IGluIG5pZ2h0IG1vZGUKCjIwMDktMDUtMDQgMTA6MzI6MTAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc3RvcCBvbmdvaW5nIGNhcHR1cmUgaWYgY2hhbmdpbmcgcmVzb2x1dGlvbgoKMjAwOS0wNC0yMyAxODoxNTo0MyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGxpbWl0IHRoZSBzaXplIG9mIHZpZGVvIGJpbiBxdWV1ZSBsZWFkaW5nIHRvIHZpZXcgZmluZGVyCgkgIFdlIGRvbid0IHdhbnQgdG8gc2hvdyBvbGQgYnVmZmVycyBpbiB2aWV3IGZpbmRlci4KCjIwMDktMDQtMjIgMTI6Mjk6MTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5oOgoJICBjYW1lcmFiaW46IGRvbid0IHByb3h5IGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UKCSAgRGVmYXVsdCB2aWV3IGZpbmRlciBzaW5rIGluIGNhbWVyYWJpbiBpcyBhdXRvdmlkZW9zaW5rIHdoaWNoIGRvZXNuJ3QKCSAgc3VwcG9ydCB4b3ZlcmxheSBpZmFjZS4gSWYgYXBwbGljYXRpb24gZGVjaWRlcyB0byB1c2UgYW5vdGhlciBzaW5rCgkgIHRoYXQgc3VwcG9ydHMgeG92ZXJsYXksIHRoZW4gaXQgY2FuIHVzZSB0aGUgaW50ZXJmYWNlIGRpcmVjdGx5LgoKMjAwOS0wNC0yMCAxNzowNjoxNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGFsbG93IGNvbmZpZ3VyaW5nIHBob3RvZ3JhcGh5IHNldHRpbmdzIHdoZW4gaW4gTlVMTCBzdGF0ZQoJICBDYWNoZSB0aGUgcGhvdG9ncmFwaHkgc2V0dGluZ3MgaWYgc2V0IGluIE5VTEwgc3RhdGUgYW5kIGFwcGx5IHRoZW0gbGF0ZXIKCjIwMDktMDQtMjAgMTc6MDU6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgZnVuY3Rpb25zIHRvIHNldC9nZXQgYWxsIHNldHRpbmdzIHdpdGggb25lIGNhbGwKCjIwMDktMDMtMDkgMTg6MDA6NDUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY3JvcCBzdGlsbCBpbWFnZSBjYXB0dXJlIGZyYW1lIGlmIG5lY2Vzc2FyeQoJICBJZiBpbmNvbWluZyBzdGlsbCBpbWFnZSBjYXB0dXJlIGZyYW1lIGFzcGVjdCByYXRpbyBkaWZmZXJzIGZyb20gYXNwZWN0CgkgIHJhdGlvIHRoYXQgYXBwbGljYXRpb24gcmVxdWVzdGVkLCB0aGVuIGFwcGx5IGNyb3AgdG8gdGhlIGZyYW1lLgoKMjAwOS0wNi0wNSAxMDoyNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSAgZG9jczogYWRkIGluc3BlY3QgZmlsZXMgZm9yIG5ldyBwbHVnaW5zCgoyMDA5LTA2LTA1IDEwOjE2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgZG9jczogZml4IGJ1aWxkIG9mIHBsdWdpbiBkb2NzIGJ5IHVwZGF0aW5nIGluc3BlY3QgdGVtcGxhdGVzCgkgIFRoZSB4bWwgaW5zcGVjdCBkYXRhIG9mIHRoZSBkZWJ1Z3V0aWxzYmFkIHBsdWdpbiBkaWRuJ3QgY29udGFpbiB0aGUKCSAgZGF0YSBmb3IgdGhlIGZwc2Rpc3BsYXlzaW5rIGVsZW1lbnQgKHNvbWVvbmUgcHJvYmFibHkgcmFuICdtYWtlIHVkcGF0ZScKCSAgaW4gZG9jcy9wbHVnaW5zIHdpdGggdGhlIG9sZCBsaWJnc3RmcHNkaXNwbGF5c2luay5zbyBmcm9tIGJlZm9yZSB0aGUKCSAgcmVuYW1lIHN0aWxsIGFyb3VuZCkuCgoyMDA5LTA2LTA1IDEwOjM0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy94bWwvZWxlbWVudC1mcHNkaXNwbGF5c2luay1kZXRhaWxzLnhtbDoKCSAgUmV2ZXJ0ICJkb2NzOiBhZGQgZG9jIGZpbGUgZnJvIG5ldyBwbHVnaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDM5ZWYzZWIwNzI1NTViN2NhMzhmYzM1MWNhMzg2YmI2ODBjY2NjYy4KCSAgV2UgZG9uJ3QgdHJhY2sgdGhlIHN0dWZmIGluIHhtbC8gaW4gZ2l0LgoKMjAwOS0wNi0wNSAxMToxODozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL3htbC9lbGVtZW50LWZwc2Rpc3BsYXlzaW5rLWRldGFpbHMueG1sOgoJICBkb2NzOiBhZGQgZG9jIGZpbGUgZnJvIG5ldyBwbHVnaW4KCjIwMDktMDYtMDEgMTY6MzE6NDIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IHNlcmlhbGl6ZSBzZXR0aW5nIGFuZCBhY3R1YWwgY2hhbmdpbmcgb2YgbmV3IGFjdGl2ZSBwYWQKCjIwMDktMDUtMDQgMTI6Mjk6NTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IHVucmVmIGxhdGVzdCBidWZmZXIgYWxzbyB3aGVuIHJlc2VuZGluZyBoYXMgYmVlbiBkaXNhYmxlZAoKMjAwOS0wNC0xNiAxNzozMjowMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3Rvcjoga2VlcCByZWYgdG8gYnVmZmVyIGZvciByZXNlbmRpbmcgb25seSBpZiBleHBsaWNpdGx5IHJlcXVlc3RlZAoKMjAwOS0wNi0wNCAxOTowODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGRvbid0IGxlYWsgcGFkcyBpbiBpdGVyYXRvcgoKMjAwOS0wNi0wNCAxNjoyOTozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICBtcGVnZGVtdXg6IEFkZCBhIEdTVF9NRU1EVU1QIGxpbmUgaW4gdGhlIGRlc2NyaXB0b3IgcGFyc2luZwoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlZSBkZXNjcmlwdG9yIGNvbnRlbnRzIGluIHRoZSBkZWJ1ZyBvdXRwdXQKCSAgKEdTVF9ERUJVRz1tcGVndHNkZXNjOjkpLCBhbmQgcmVtb3ZlIGEgc3RyYXkgc2VtaS1jb2xvbi4KCjIwMDktMDYtMDQgMTY6MTE6MTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHBhc3NpbmcgdGhlIGN1c3RvbSBHU1RfRkxPV19ORUVEX01PUkVfREFUQSB1cHN0cmVhbQoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfTkVFRF9NT1JFX0RBVEEgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24gYXQgdGhlIGVuZAoJICBvZiBmaWxlcy4KCjIwMDktMDYtMDQgMDg6NTY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogTm90aWZ5IHdoZW4gdGhlIHRhZ3MgcHJvcGVydHkgb2YgdGhlIHNlbGVjdG9yIHNpbmtwYWRzIGNoYW5nZXMKCSAgRmlyc3QgcGFydCBvZiBidWcgIzU4NDY4Ni4KCjIwMDktMDYtMDQgMDg6NTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW5jcmVhc2UgdGltZW91dCBvZiB0aGUgdW5pdCB0ZXN0CgoyMDA5LTA2LTAzIDIzOjM1OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTA2LTAyIDExOjM2OjAxICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHR3byBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMDktMDYtMDIgMTE6MjM6MzcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIGR2ZHNwdTogYWRkIG1pc3NpbmcgaGVhZGVyIHRvIE1ha2VmaWxlLmFtOiBnc3RzcHUtY29tbW9uLmgKCjIwMDktMDYtMDIgMDE6MDk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICBkaXJhYzogdXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIGMrKyBjb21waWxlcnMKCSAgRml4ZXMgY29tcGlsZXIgbWVzc2FnZSBhYm91dCBwYXNzaW5nIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50CgkgIHRvIHRoZSBDKysgY29tcGlsZXIuCgoyMDA5LTA2LTAxIDE1OjUzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNhbXBsZSByYXRlIGV4dHJhY3Rpb24gZnJvbSBjb2RlYyBkYXRhCgkgIEluIG9uZSBjYXNlIHdlIGV4dHJhY3RlZCB0aGUgc2FtcGxlIHJhdGUgaW5kZXggZnJvbSB0aGUgY29kZWMgZGF0YQoJICBhbmQgc2F2ZWQgaXQgYXMgc2FtcGxlIHJhdGUgcmF0aGVyIHRoYW4gZ2V0dGluZyB0aGUgcmVhbCBzYW1wbGUKCSAgcmF0ZSBmcm9tIHRoZSB0YWJsZS4gRml4IHRoYXQsIGFuZCBhbHNvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhY2Nlc3MKCSAgbm9uLWV4aXN0YW50IHRhYmxlIGVudHJpZXMgYnkgYWRkaW5nIGEgc21hbGwgaGVscGVyIGZ1bmN0aW9uIHRoYXQKCSAgZ3VhcmRzIGFnYWluc3Qgb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaW4gY2FzZSBvZiBpbnZhbGlkIGlucHV0IGRhdGEuCgoyMDA5LTA2LTAxIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiByZW1vdmUgYm9ndXMgZ3N0X3BhZF9maXhhdGVfY2FwcygpIGNhbGxzCgoyMDA5LTA2LTAxIDEzOjU2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgb2YgR3N0QmFzZVBhcnNlOjpzZXRfc2lua19jYXBzKCkKCSAgZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKCkgcHJlc3VtYWJseSBzaG91bGQgZmFpbCBpZiB0aGUgc3ViY2xhc3MKCSAgcmV0dXJucyBGQUxTRSBmcm9tIGl0cyA6OnNldF9zaW5rX2NhcHMoKSBmdW5jdGlvbi4KCjIwMDktMDYtMDEgMTM6NDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9uJ3QgdHJ5IHRvIEdTVF9MT0cgYW4gYWxyZWFkeS1mcmVlZCBjYXBzIHN0cmluZwoJICBUaGUgcHJvcGVyIHdheSB0byBsb2cgY2FwcyBpcyB2aWEgR1NUX1BUUl9GT1JNQVQgYW55d2F5LgoKMjAwOS0wNi0wMSAxMzowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiBvdXRwdXQgY2FwcywgYW5kIGtlZXAgY29kZWNfZGF0YQoJICBDcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSBpbnB1dCBjYXBzLCBzbyB3ZSBtYWludGFpbiBhbnkgZmllbGRzIHdlCgkgIG1pZ2h0IGdldCBvbiB0aGUgaW5wdXQgY2Fwcywgc3VjaCBhcyBjb2RlY19kYXRhIG9yIHJhdGUgYW5kIGNoYW5uZWxzLgoJICBTZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gdGhlIG91dHB1dCBjYXBzIGlmIHdlIGRvbid0IGhhdmUgaW5wdXQgY2FwcwoJICBvciB0aGV5IGRvbid0IGNvbnRhaW4gc3VjaCBmaWVsZHMuIFdlIGRvIHRoaXMgcGFydGx5IGJlY2F1c2Ugd2UgY2FuLAoJICBidXQgYWxzbyBiZWNhdXNlIHNvbWUgbXV4ZXJzIG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gVGFncmVhZGJpbiB3aWxsCgkgIGFsc28gYmUgaGFwcHkgYWJvdXQgdGhpcy4KCjIwMDktMDYtMDEgMjI6NDI6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IGVuaGFuY2UgZnR5cCBicmFuZCBoZXVyaXN0aWMuICBGaXhlcyAjNTg0MzYwLgoKMjAwOS0wNi0wMSAyMToyNDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBzb21lIGlzc3VlcyB0aGF0IHdlcmUgZXhwb3NlZCBieSB0aGUgbmV3IHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIHVuaXQgdGVzdCBmb3Igc2hhcGV3aXBlCgoyMDA5LTA1LTMxIDIxOjMzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNS0zMSAyMDoyNDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBpbmNsdWRlIGdsaWIuaCBiZWZvcmUgY2hlY2tpbmcgaWYgR19PU19XSU4zMiBpcyBkZWZpbmVkCgoyMDA5LTA1LTMxIDIwOjIzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgc2hhcGV3aXBlIGV4YW1wbGUgYmluYXJ5CgoyMDA5LTA1LTMxIDE4OjIzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBTZXR0aW5nIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCBwaWNrZWQgdXAgYnkgcGxheWJpbjIuCgoyMDA5LTA1LTMxIDE4OjIzOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBFbWl0IGFwcGxpY2F0aW9uIG1lc3NhZ2Ugd2l0aCB0aGUgcGFyc2VkIGluZm9ybWF0aW9uLgoKMjAwOS0wNS0zMSAxNDoxNToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmg6CgkgIGhkdnBhcnNlOiBOZXcgZWxlbWVudCBmb3IgcGFyc2luZyBwcml2YXRlL2hkdi1hMSBzdHJlYW1zLgoKMjAwOS0wNS0yOSAyMTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkanVzdCBib3JkZXIgdG8gc3RpbGwgaGF2ZSBldmVyeXRoaW5nIHRyYW5zcGFyZW50IGF0IDEuMCBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMDktMDUtMjkgMTY6NTU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogRGl2aWRlIHRoZSBib3JkZXIgdmFsdWUgYnkgdHdvLCBvdGhlcndpc2Ugd2UgdXNlIGEgdHdpY2UgYSB3aWRlIGJvcmRlcgoKMjAwOS0wNS0yOSAxNjo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgYm9yZGVyIHByb3BlcnR5IHRvIGFsbG93IHNtb290aCBib3JkZXJzCgkgIC4uLmFuZCB1c2UgYSBib3JkZXIgb2YgMC4wMSBpbiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCjIwMDktMDUtMjkgMTU6NDQ6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBib2d1cyB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIGFjY2VzcwoJICBUeXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQKCjIwMDktMDUtMjkgMTU6MDE6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVzZSB0aGUgSVNPIDYzOSBsYW5ndWFnZSBjb2RlIGRlc2NyaXB0b3IgdG8gc2VuZCB0YWdzLgoJICBJZiB0aGVyZSBpcyBhbiBJU08gNjM5IGxhbmd1YWdlIGRlc2NyaXB0b3IgZm9yIGEgc3RyZWFtLCBzZW5kIGEgbGFuZ3VhZ2UKCSAgY29kZSB0YWcgc28gdGhhdCBwbGF5ZXJzIGNhbiBzaG93IGEgbWVhbmluZ2Z1bCBsYW5ndWFnZSBmb3IgdGhlIGF1ZGlvIGFuZAoJICBzdWJ0aXRsZSBzdHJlYW1zLgoKMjAwOS0wNS0yOSAxNjowMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkgIHNoYXBld2lwZTogRml4IE1ha2VmaWxlIG9mIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI5IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogQWRkIGEgc2ltcGxlIHNoYXBld2lwZSB0cmFuc2l0aW9uIGZpbHRlciAmIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjggMTc6Mzc6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRyYW5zZm9ybSB0aGUgcmlnaHQgc2Vzc2lvbiBzZGVzIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NDE2NQoKMjAwOS0wNS0yOCAxNzozMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEFkZCBzc3JjIHRvIGFwcGxpY2F0aW9uL3gtcnRwLXNvdXJjZS1zZGVzIHN0cnVjdHVyZQoKMjAwOS0wNS0yOCAyMzoxMjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgQS1MYXcgYW5kIMK1LUxhdwoKMjAwOS0wNS0yOCAyMzowODoxNyArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGdzdHNwdTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgRml4IHNvbWUgd2FybmluZ3MgZm9yIGZvcm1hdCBzdHJpbmcgYXJncyBhbmQgdW5pbml0aWFsaXplZCB2YXJzIG9uIE9TL1gKCSAgRml4ZXM6ICM1ODQxNjQKCSAgU2lnbmVkLW9mZi1ieTogSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKMjAwOS0wNS0yOCAxMzo1NjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGRpZmZlcmVudCBzdHNkIGF0b20gdHlwZSBmb3IgSDI2MyBmb3IgSVNPIGFuZCBRVCB2YXJpYW50cwoJICBGaXhlcyAjNTg0MTE0LgoKMjAwOS0wNS0yOCAxMzowNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IGZpeCBkZXRlY3Rpb24gb2YgbGlic291bmR0b3VjaCA+PSAxLjQKCjIwMDktMDUtMjggMTM6MDk6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogY29uc2lkZXIgaGVhZGVyIHNpemUgaW4gYnl0ZSA8LT4gdGltZSBjb252ZXJzaW9ucwoKMjAwOS0wNS0yNiAxOTo0Mzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggZGVidWcgY2F0ZWdvcnkKCjIwMDktMDUtMjggMTA6Mzg6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICBzZWxlY3RvcjogcmVtb3ZlIG5vdCBuZWVkZWQgaW5zdGFuY2UgdmFyIChwcmV2aW91cyBjb21taXQpLgoKMjAwOS0wNS0xMSAxNjoxMjo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogd2hlbiBzdG9wcGluZyBwbGF5YmFjaywgZG8gb25lIG1vcmUgY3ljbGUgdG8gZmx1c2ggdGhlIHBvcnQuIEZpeGVzICM1ODIxNjcKCSAgVGhlIGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKCkgZmxhZ3MgdGhlIHBvcnQgYXMgZGVhY3RpdmF0aW5nIGFuZCB1c2VzCgkgIGEgR0NvbmQgdG8gd2FpdCB1bnRpbCB0aGUgamFja19wcm9jZXNzX2NiKCkgaGFzIHJ1biBvbmNlIG1vcmUgYW5kIGNsZWFyZWQgdGhlCgkgIGZsYWcuIFRoaXMgd2F5IHRoZSBjbGllbnQgemVybydzIHRoZSBidWZmZXIuIFRoaXMgaGFwcGVucyBpZiBvbmUgbWFueWFsbHkgZ28KCSAgdG8gUEFVU0VEIGFuZCB0aGVuIHRvIFJFQURZLCB3aGlsZSBsZXRpbmcgdGhlIG1haW5sb29wIHJ1biBpbmJldHdlZW4uCgoyMDA5LTA1LTI4IDEwOjEyOjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgIG91dHB1dHNlbGVjdG9yOiBpbXBsZW1lbnQgcGFkX2FsbG9jIG9uIGFjdGl2ZSBwYWQuCgoyMDA5LTA1LTI3IDIyOjU0OjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDcmVhdGUgYWxsIHRoZSBhdWRpbyBzdHJlYW1zIG9mIGFsbCBmb3JtYXRzCgkgIEVuYWJsZSBjcmVhdGlvbiBvZiB0aGUgZGVtdXhlciBwYWRzIGZvciBhbGwgYXVkaW8gc3RyZWFtcywgZXZlbiB0eXBlcyB3ZQoJICBkb24ndCB5ZXQgc3VwcG9ydC4gVGhpcyBtZWFucyB0aGF0IHVuc3VwcG9ydGVkIHR5cGVzIChMUENNLCBEVFMpIGFyZSBvdXRwdXQsCgkgIGJ1dCBub3QgbGlua2VkIHRvIGFueXRoaW5nIHlldC4gSWYgb25seSB1bnN1cHBvcnRlZCBzdHJlYW1zIGFyZSBhdmFpbGFibGUsCgkgIHRoZSB1c2VyIGhlYXJzIHNpbGVuY2UgaW5zdGVhZCBvZiBoYXZpbmcgdGhlIHBpcGVsaW5lIG5vdCBwcmUtcm9sbCBjb3JyZWN0bHkuCgkgIFRoaXMgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGhvb2tpbmcgdXAgdGhlIGF1dG9tYXRpYyBkZWNvZGVyIHN3aXRjaGluZy4KCjIwMDktMDUtMjcgMTE6MDM6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IHRoZSBuZXR3b3JrIGFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlcgoJICBCcmluZyB0aGUgbmV0d29yayBhZGRyZXNzIGluIG5ldG93a3IgYnl0ZSBvcmRlciB0byB0aGUgaG9zdCBvcmRlci4KCjIwMDktMDUtMjcgMDA6NTE6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBnc3RzcHU6IENvbnZlcnQgZ193YXJuaW5ncyB0byBHU1RfRVJST1IsIGFuZCBmaXggZm9ybWF0IHNwZWNpZmllcnMKCSAgVXNlIEdfR1NTSVpFX0ZPUk1BVCBmb3IgcHJpbnRpbmcgcG9pbnRlciBkaWZmZXJlbmNlcywgd2hpY2ggc2hvdWxkIHdvcmsgb24KCSAgYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBzeXN0ZW1zLgoJICBVc2UgR1NUX0VSUk9SIGluc3RlYWQgb2YgZ193YXJuaW5nIGZvciBwcmludGluZyBtZXNzYWdlcyBhYm91dCB1bmtub3duCgkgIHBhY2tldCBjb250ZW50cy4KCjIwMDktMDUtMjcgMDA6NDc6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZ3N0c3B1OiBGaXggYSBuYXN0eSByZWdyZXNzaW9uLCB3aXRoIERWRHMgcmFuZG9tbHkgY3Jhc2hpbmcKCSAgVXNlIHRoZSBsb2NhbCB3cmFwcGVyIGZ1bmN0aW9uIHdoZW4gY2xlYXJpbmcgdGhlIGNvbXBvc2l0aW5nIGJ1ZmZlcnMgdG8KCSAgZW5zdXJlIHRoZSBjb3JyZWN0IHBvcnRpb24gaXMgYmVpbmcgY2xlYXJlZC4KCjIwMDktMDUtMjYgMTk6Mzg6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IExQQ00gc3RyZWFtcyBhcmUgb25seSBmcm9tIDB4YTAgdG8gMHhhZi4KCSAgRml4IHRoZSBzYW1lIGJ1ZyBhcyB0aGUgcHJldmlvdXMgY29tbWl0LCBidXQgaW4gcmVzaW5kdmQncyBjb3B5IG9mCgkgIG1wZWdkZW11eC4KCjIwMDktMDUtMjYgMTg6NDc6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogT25seSB0cmVhdCBzdHJlYW1zIGZyb20gMHhhMCB0byAweGFmIGFzIExQQ00sIG5vdCAweGEwLi4weGJmCgkgIERvbid0IHRyZWF0IHNvbWUgc3RyZWFtcyAoUHJpdmF0ZSBTdHJlYW0gMikgYXMgTFBDTSB3aGVuIHRoZXkncmUgbm90LiBGaXhlcwoJICBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IGhhdmUgcHJpdmF0ZSBzdHJlYW1zIGluIHRoZW0gbm93IHRoYXQgdGhlIFBFUyBmaWx0ZXIKCSAgZW1pdHMgc3VjaCBwYWNrZXRzLgoKMjAwOS0wNS0yNiAxODo0MzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBmaXggcHJpbnRmIGZvcm1hdHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDUtMjYgMTc6MTk6MzUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFiMTFkMSB0byBjNTcyNzIxCgoyMDA5LTA1LTIzIDIzOjE5OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGdzdHNwdTogSW1wbGVtZW50IFBHUyByZW5kZXJpbmcgYW5kIGFscGhhIGJsZW5kaW5nCgkgIFJlZmFjdG9yIHRoZSBEVkQgc3VicGljdHVyZSBjb21wb3NpdGluZywgc3dpdGNoaW5nIGl0IHRvIDgtYml0IGFscGhhCgkgIGNhbGN1bGF0aW9ucy4gUmV1c2Ugc29tZSBvZiB0aGUgcmVzdWx0aW5nIGNvZGUgdG8gaW1wbGVtZW50IFBHUwoJICBzdWJwaWN0dXJlIGJsZW5kaW5nLgoJICBJbXBsZW1lbnQgcGFyc2luZyBhbmQgY29sbGVjdGluZyBvZiBjb21wb3NpdGlvbiBvYmplY3RzIHByb3Blcmx5LCBidXQKCSAgYXNzdW1pbmcgYSBzaW5nbGUgYWN0aXZlIHdpbmRvdyBhbmQgY29sb3VyIHBhbGV0dGUgZm9yIG5vdy4gSSBuZWVkIG1vcmUKCSAgUEdTIHNhbXBsZXMuCgoyMDA5LTA1LTIyIDExOjEzOjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogTW92ZSBhIGJ1bmNoIG9mIHZvYnN1YiBzcGVjaWZpYyBsb2dpYyB0byBhIHNlcGFyYXRlIGZpbGUuCgkgIFN0YXJ0IHNlcGFyYXRpbmcgb3V0IHRoZSB2b2JzdWIgbG9naWMgaW4gcHJlcGFyYXRpb24gZm9yIGNyZWF0aW5nCgkgIHNlcGFyYXRlIHJlbmRlcmVyIG9iamVjdHMgZm9yIGVhY2ggc3VicGljdHVyZSBmb3JtYXQuCgoyMDA5LTA1LTIyIDExOjEyOjUyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBBZGQgY29weXJpZ2h0IGhlYWRlciBhbmQgaW5jbHVkZXMgdG8gdGhlIFBHUyBoYW5kbGVyCgoyMDA5LTA1LTIyIDEwOjE1OjQ0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBNYWtlIHRoZSBQR1MgZHVtcGluZyBsZXNzIHZlcmJvc2UKCjIwMDktMDUtMjEgMjM6NDU6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQ29sbGVjdCBlbnRpcmUgUEdTIHBhY2tldHMgYW5kIHF1ZXVlIGFzIGV2ZW50cwoJICBDb2xsZWN0IGZyYWdtZW50ZWQgUEdTIHBhY2tldHMgYW5kIHN1Ym1pdCBhcyBjb21wbGV0ZSBldmVudHMgZm9yCgkgIHByb2Nlc3NpbmcgYXQgdGhlIGNvcnJlY3QgbW9tZW50LgoKMjAwOS0wNS0yMCAwODo1NTo0MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJICBkdmRzcHU6IEFkZCBzaW1wbGUgUEdTIGhhbmRsZXIgdGhhdCBkdW1wcyB0aGUgcGFja2V0IGluZm8KCSAgQWRkIHNldGNhcHMgbG9naWMgb24gdGhlIHN1YnBpY3R1cmUgc2luayBwYWQgZm9yIGNvbmZpZ3VyaW5nCgkgIHdoaWNoIHN1YnBpY3R1cmUgZm9ybWF0IGlzIGFycml2aW5nLgoJICBBZGQgdGhlIGZpcnN0IHBpZWNlIG9mIFBHUyBzdWJwaWN0dXJlIGhhbmRsaW5nIGJ5IGR1bXBpbmcgdGhlIHN0cmVhbQoJICBjb250ZW50cyBvdXQgdG8gdGhlIHRlcm1pbmFsIGFzIHRoZSBwYWNrZXRzIGFycml2ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgZm9yIG91ciBzdWJwaWN0dXJlIHBhY2tldHMgdHdpY2UsCgkgIG9uY2UgaXMgZW5vdWdoLgoKMjAwOS0wNS0yMSAxNToyMjo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZGQgYSBzaW1wbGUgZGVmYXVsdCBjb2xvdXIgdGFibGUuCgkgIFdoZW4gd2UncmUgbm90IHByb3ZpZGVkIHdpdGggYSBwYWxldHRlIGluIGFkdmFuY2UsIGRyYXcgd2l0aCBhIGdyZXkKCSAgY29sb3VyIG9yIHR3bywgaW5zdGVhZCBvZiBZVVYgZ3JlZW4uCgoyMDA5LTA1LTIxIDExOjEzOjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzcGFyc2Ugc3RyZWFtIGZpbGxpbmcuCgkgIEZpcnN0IHN0YWIgYXQgc2VuZGluZyBuZXctc2VnbWVudCBldmVudHMgdG8gZWZmZWN0IHNwYXJzZSBzdHJlYW0KCSAgdXBkYXRlcy4KCjIwMDktMDUtMjEgMDA6NDE6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgc3ViLXBpY3R1cmUgc3RyZWFtcyBmb3VuZCBpbiBmaWxlcy4KCSAgT3V0cHV0IHN1YnBpY3R1cmUgc3RyZWFtcyB3aGVuIHRoZXkgYXJlIGZvdW5kIG9uIHRoZSBwcml2YXRlIHN0cmVhbSBJRC4KCSAgRG9uJ3Qgc3RyaXAgb2ZmIHRoZSBmaXJzdCBieXRlIG9mIHN1Y2ggcGFja2V0cyB3aGVuIHB1c2hpbmcuCgoyMDA5LTA1LTIwIDA4OjUwOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJICBtcGVndHNkZW11eDogQWRkIG1hcHBpbmcgZm9yIERWRCBhbmQgQmx1cmF5IHN1YnBpY3R1cmUgc3RyZWFtcy4KCSAgQWRkIG91dHB1dCBzdWJwaWN0dXJlIHBhZHMgZm9yIERWRCAodmlkZW8veC1kdmQtc3VicGljdHVyZSkgYW5kIEJsdXJheSBQR1MKCSAgKHN1YnBpY3R1cmUveC1wZ3MpIHN0cmVhbXMuIFJlbW92ZSBhbiB1bnVzZWQgdmFyaWFibGUgZnJvbQoJICB0aGUgUEVTIGZpbHRlci4KCjIwMDktMDUtMjUgMDA6MjU6MDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IEZpeCBzdWJwaWN0dXJlIHRpbWluZyBpbiBzb21lIGNhc2VzCgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGV2ZW50cyB0byBhbGwgcGFkcy4gVW5tYXJrIHRoZSBub3RsaW5rZWQgZmxhZyBvbgoJICBmcmVzaGx5IHNlbGVjdGVkIHBhZHMgdG8gZW5zdXJlIHRoZXkgZ2V0IGRhdGEuCgoyMDA5LTA1LTIyIDE0OjAyOjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBUcnkgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdG8gc2VnbWVudCBmaWxsaW5nLgoJICBSZXN0b3JlIHRoZSBvbGQgc2VnbWVudCB1cGRhdGUgYmVoYXZpb3VyLCBhbmQgaW5zdGVhZCBleHRlbmQgdGhlCgkgIGNsb3NlIHNlZ21lbnQgc3RvcCB0aW1lIGlmIHRoZSBTQ1IgKGxhc3Rfc3RvcCkgb3ZlcnJ1bnMgdGhlIGNhbGN1bGF0ZWQKCSAgc3RvcCBwb3NpdGlvbi4KCjIwMDktMDUtMjEgMTE6MTA6MTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IE1pbm9yIGNoYW5nZSB0byBpbmxpbmUgYSBmdW5jdGlvbiBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wNS0yMCAxOTozMToyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHN0YXRlczogSWdub3JlIHRoZSBjYW1lcmFiaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdAoJICBJdCBhY2Nlc3NlcyB0aGUgdmlkZW8gZGV2aWNlLCB3aGljaCBpc24ndCBnZW5lcmFsbHkgZGVzaXJhYmxlIGZvciB0aGUKCSAgc3RhdGUgdGVzdC4KCjIwMDktMDUtMjIgMTM6MDc6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRG9uJ3QgYWNjaWRlbnRhbGx5IGxvc2UgdGhlIGNvbG91ciBwYWxldHRlIHdoZW4gZmx1c2hpbmcgdGhlIFNQVQoJICBGaXhlcyByYWN5IHN0YXJ0dXAgb24gRFZEcyB3aGVyZSBpdCBzb21ldGltZXMgZ2V0cyBlbnRpcmVseSB0aGUgd3Jvbmcgc2V0CgkgIG9mIGNvbG91cnMgaW4gdGhlIG1lbnVzIGFuZCBzdWJ0aXRsZXMuCgoyMDA5LTA1LTI2IDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYnl0ZXN3YXAgdGhlIHBvcnQgZnJvbSBHc3ROZXRBZGRyZXNzCgkgIFNpbmNlIHRoZSBwb3J0IGluIEdzdE5ldEFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlciB3ZSBtaWdodCBuZWVkIHRvIGJ5dGVzd2FwIGl0CgkgIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIHNvdXJjZSBzdGF0aXN0aWNzLgoKMjAwOS0wNS0xMSAxOTozMDozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRGlyZWN0bHkgdXNlIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyKCkuCgoyMDA5LTA1LTI1IDE2OjI3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEb24ndCBwZWVrIHRoZSBhZGFwdGVyIGlmIHdlIGRvbid0IGhhdmUgZW5vdWdoIGRhdGEuCgoyMDA5LTA1LTI1IDE2OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEb24ndCBza2lwIHByaXZhdGUgc3RyZWFtcyBQRVMgYnV0IHB1c2ggdGhlbSBvdXQuCgkgIFRoZSBvbmUgdGhpbmcgd2UgKkRPKiBuZWVkIHRvIGRvIGZvciB0aG9zZSBzdHJlYW1zIGlzIHRvIHNraXAgYWxsCgkgIHRoZSBQVFMvRFRTL1NjcmFtYmxpbmcvRFNNL2V4dGVuc2lvbi8uLi4gaGFuZGxpbmcuCgoyMDA5LTA1LTI1IDE1OjIxOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSWdub3JlIE5VTEwgcGFja2V0cyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgVGhpcyBhdm9pZHM6CgkgICogY3JlYXRpbmcgYSBNcGVnVFNTdHJlYW0gc3RydWN0dXJlIGZvciBub3RoaW5nCgkgICogcHJvY2Vzc2luZyBwYWNrZXQgZGF0YSBmb3Igbm90aGluZwoKMjAwOS0wNS0yNSAxNToyMToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIG1hcHBpbmcgZm9yIEhEViBwcml2YXRlIHN0cmVhbXMKCjIwMDktMDUtMjUgMTc6MjQ6MzIgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwOiBhZGQgcHJvcGVydHkgdG8gc3VwcG9ydCBTUyBjZXJpZmljYXRlcwoJICBBZGQgYSBwcm9wZXJ0eSB0byBzdXBwb3J0IHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlcyBpbiBuZW9uaHR0cHNyYy4gVGhpcyBwcm9wZXJ0eQoJICBpcyBGQUxTRSBieSBkZWZhdWx0LgoJICBGaXhlcyAjNTExMDk3CgoyMDA5LTA1LTI1IDEzOjQ2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHB0ZGVtdXggZ2hvc3RwYWRzCgoyMDA5LTA1LTI1IDEzOjMzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcmVjZWl2ZSBydHBiaW4gdW5pdCB0ZXN0CgoyMDA5LTA1LTI1IDExOjE4OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIHgyNjRlbmM6IGFkZCBtdWx0aXBhc3MtY2FjaGUtZmlsZSBwcm9wZXJ0eQoJICBGaXhlcyAjNTgzNjI3CgoyMDA5LTA1LTIzIDEzOjExOjI4ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wNS0yMiAxNjo1Njo1MiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IEFkZCBuZXcgcGx1Z2luIGZvciBtcy1hZHBjbSBkZWNvZGluZy4KCjIwMDktMDUtMjAgMTY6NDY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRGV0ZWN0IGludGVybGFjZWQgY29udGVudCBhbmQgc2V0IGl0IG9uIG91dGdvaW5nIGNhcHMuCgkgIEkgYWxzbyBhZGRlZCB0aGUgcGFyc2luZyBvZiBhbGwgdGhlIG90aGVyIGJpdHMgaW4gdGhlIHNlcXVlbmNlIGV4dGVuc2lvbgoJICBoZWFkZXIgaW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLgoKMjAwOS0wNS0yMiAxNjo0MToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCB0byBuZXcgc2lnbmFsIHRvIHJlbW92ZSBTU1JDIHBhZHMKCjIwMDktMDUtMjIgMTY6MzU6MjAgKzAyMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgc3NyY2RlbXV4OiBlbWl0IHNpZ25hbCB3aGVuIHBhZHMgYXJlIHJlbW92ZWQKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gY2xlYXIgYW4gU1NSQyBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiByZW1vdmVkIHNzcmMuCgkgIFNlZSAjNTU0ODM5CgoyMDA5LTA1LTIyIDE1OjQ1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIG91ciBnaG9zdHBhZHMgaW5zdGVhZCBvZiBpdHMgdGFyZ2V0CgkgIFNpbmNlIHdlIGtlZXAgYSByZWZlcmVuY2UgdG8gb3VyIGdob3N0cGFkcywgd2UgY2FuIHVzZSB0aGVtIHRvIHRyYWNrIHNlc3Npb25zLgoJICBUaGlzIGF2b2lkIHVzIGhhdmluZyB0byBtZXNzIHdpdGggdGhlIHRhcmdldCBvZiB0aGUgZ2hvc3RwYWQuCgoyMDA5LTA1LTIyIDE1OjM3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBtb3JlIHJ0cGJpbiBjaGVja3MKCjIwMDktMDUtMjIgMTU6MzY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkb24ndCB3YXJuIHdoZW4gZ2V0dGluZyByZXF1ZXN0IHBhZHMgdHdpY2UKCSAgQWxsb3cgZ2V0dGluZyB0aGUgcmVxdWVzdCBwYWRzIG11bHRpcGxlIHRpbWVzLCBqdXN0IHJldHVybiB0aGUgcHJldmlvdXNseQoJICBjcmVhdGVkIHBhZHMuCgoyMDA5LTA1LTIyIDEzOjQ3OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWRkIFJUUCBhbmQgUlRDUCBzb3VyY2UgYWRkcmVzcwoJICBBZGQgdGhlIFJUUCBhbmQgUlRDUCBzZW5kZXIgYWRkcmVzc2VzIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUuCgoyMDA5LTA1LTIyIDEzOjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXVzZSBzb3VyY2UgY29kZSBmb3IgU0RFUwoJICBSZXVzZSB0aGUgUlRQU291cmNlIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDA5LTA1LTIyIDEzOjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgbW9yZSBydHBiaW4gdGVzdHMKCjIwMDktMDUtMjIgMTI6MjM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYW4gcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgc29tZSBtb3JlIHN0dWZmIHRvIC5naXRpZ25vcmUKCjIwMDktMDUtMjIgMTI6MjA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdGFyZ2V0IHN0YXRlIG9uIG5ldyBlbGVtZW50cwoJICBTZXQgdGhlIHN0YXRlIG9uIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFyZW50LgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvIGFuZCBkbyBzb21lIGNsZWFudXBzCgoyMDA5LTA1LTIyIDExOjU5OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdW5yZWYgcmVxdWVzdHMgcGFkcyBhZnRlciByZWxlYXNpbmcKCjIwMDktMDUtMjEgMTY6MDA6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtbGVha3MgYW5kIHJlZmNvdW50cwoJICBVc2UgY29ycmVjdCBjb25zdGFudHMgZm9yIFBJRF90eXBlIHNvIHRoYXQgd2UgY2xlYXIgdGhlIHJpZ2h0IGZpbHRlci4KCSAgcHJvdmlkZV9jbG9jayBtdXN0IHJldHVybiBhIHJlZiB0byBhIGNsb2NrLgoKMjAwOS0wNS0yMiAwOTo1NToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGF1dG90b29sczogbW92ZSAtV25vLXBvcnRhYmlsaXR5IGZvciBhdXRvbWFrZSB0byBjb25maWd1cmUuYWMKCjIwMDktMDUtMjIgMDk6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMKCjIwMDktMDUtMjIgMDk6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgaWQzdGFnOiBjaGFuZ2UgR1R5cGUgdG8gR3N0SWQzVGFnIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgaWQzdGFnIHBsdWdpbiBpbiAtdWdseQoKMjAwOS0wNS0yMiAwMToyOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUgY29uZmlnLmgKCjIwMDktMDUtMjIgMDE6Mjc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgaWQzdGFnOiByZWdpc3RlciBHVHlwZSBvZiB0aGUgYmFzZSBjbGFzcyB3aXRoIGEgbGVzcyBnZW5lcmljIG5hbWUKCSAgLi4gc28gd2UgY2FuIGVhc2lseSBtb3ZlIHRoZSBiYXNlIGNsYXNzIGludG8gLWJhc2UgbGF0ZXIgd2l0aG91dAoJICBjYXVzaW5nIEdUeXBlIG5hbWUgY29uZmxpY3RzLgoKMjAwOS0wNS0yMiAwMTowNDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIG00L2dzdC1maW9ucmVhZC5tNDoKCSAgbTQ6IGZpeCAnc3VzcGljaW91cyBjYWNoZSB2YWx1ZSBpZCcgd2FybmluZ3MgaW4gZ3N0LWZpb25yZWFkLm00CgkgIEFuZCB1cGRhdGUgY29tbW9uIHRvIHB1bGwgaW4gYSByZWxhdGVkIGZpeCBmcm9tIHRoZXJlLgoKMjAwOS0wNS0yMiAwMTo0Mzo1MCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyB0aGUgc3RyZWFtcwoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxNjoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogS2VlcCBqYiBzaWduYWxzIGhhbmRsZXIKCSAgS2VlcCB0aGUgc2lnbmFsIGhhbmRsZXJzIHNvIHRoZXkgY2FuIGJlIGRpc2Nvbm5lY3RlZCBhdCByZWxlYXNlIHRpbWUKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTI6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgdGhlIHJpZ2h0IGxvY2sgZm9yIHRoZSBzZXNzaW9ucwoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgd2hlbiBpdGVyYXRpbmcgdGhlIHNlc3Npb25zLgoKMjAwOS0wNS0yMiAwMTowMzo1NSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRnJlZSBzZXNzaW9uIGlmIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQKCSAgRnJlZSB0aGUgc2Vzc2lvbiB3aGVuIGFsbCB0aGUgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZXNzaW9uIGxpc3QgaW4gZnJlZV9zZXNzaW9uIGFzIGl0IGlzIGNhbGxlZCBmcm9tIGEgZm9yZWFjaAoJICBvbiB0aGF0IGxpc3QuCgkgIFNldCB0aGUgc3RhdGUgb2YgdGhlIHVwc3RyZWFtIGVsZW1lbnQgdG8gTlVMTCBmaXJzdC4KCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6NTE6NTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxhc2luZyBvZiB0aGUgcnRwIHJlY3YgcGFkCgoyMDA5LTA1LTIyIDAwOjQ0OjUxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0cCBzZW5kIHBhZHMKCjIwMDktMDUtMjIgMDA6MzQ6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNlIG9mIHRoZSByZWN2IHJ0Y3AgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjE2OjE5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0Y3Agc3JjIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0xOCAyMzozODo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBSZWNvbmNpbGUgZWxlbWVudCBjb2RlIHdpdGggYTUyZGVjIGNoYW5nZXMKCSAgUmUtd29yayB0aGUgZHRzZGVjIGVsZW1lbnQgY29kZSB0byB1bmlmeSBpdCB3aXRoIGNoYW5nZXMgbWFkZSBpdCBhNTJkZWMsCgkgIGluY2x1ZGluZyBzdXBwb3J0IGZvciByZXZlcnNlIHBsYXliYWNrIGFuZCBkeW5hbWljIGNoYW5uZWwgbmVnb3RpYXRpb24KCSAgb24gdGhlIHNvdXJjZSBwYWQuCgoyMDA5LTA1LTIxIDIxOjM1OjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgdGhlIHdpbjMyIGNvbmZpZy5oCgoyMDA5LTA1LTE4IDIzOjIxOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiByZXdvcmsgUlRDUCBzZW5kaW5nIGFuZCBSVFAgcmVjZWl2aW5nCgkgIFdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBtdWx0aWFzdCwgY3JlYXRlIHRoZSB1ZHAgc3JjIGFuZCBzaW5rIGVsZW1lbnRzIHBvaW50aW5nCgkgIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzc2VzLiBXaGVuIHdlIGFyZSBkb2luZyB1bmljYXN0LCByZWNlaXZlIGRhdGEgb24gdGhlIGxvY2FsCgkgIHBvcnRzIGFuZCBkb24ndCBzZW5kIFJUQ1AgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZXJlIHdlIGhhdmUgdG8gc2VuZCBpdC4KCSAgRml4ZXMgIzU4MzE4OAoKMjAwOS0wNS0yMSAxMzoxNTo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM3RhZzogQWRkIG5ldyBpZDMgdGFnZ2luZyBwbHVnaW4sIHN1cHBvcnRzIHYxLCB2Mi4zLCBhbmQgdjIuNC4KCSAgQnkgZGVmYXVsdCwgZG9lcyB2MSBhbmQgdjIuMywgYnV0IHRoZXJlIGFyZSBwcm9wZXJ0aWVzIHRvIHNlbGVjdC4KCSAgV2lsbCBob3BlZnVsbHkgcmVwbGFjZSBpZDNtdXgsIGlkM3YybXV4LCBpbiB0aGUgbm90LXRvby1kaXN0YW50IGZ1dHVyZS4KCjIwMDktMDUtMjEgMjE6MDI6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTIuMQoKPT09IHJlbGVhc2UgMC4xMC4xMiA9PT0KCjIwMDktMDUtMjAgMjI6MzE6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEyCgoyMDA5LTA1LTIwIDIwOjQ0OjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNS0yMCAxNzoxMDo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggZnJhbWVfbGF5b3V0IGZvciBub24taW50ZXJsYWNlZCBmb3JtYXRzLiBGaXhlcyAjNTgzMzM3CgoyMDA5LTA1LTE2IDAxOjU4OjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMS4zIHByZS1yZWxlYXNlCgoyMDA5LTA1LTE2IDAxOjUzOjE1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IEFkZCBkaXJlY3RkcmF3IHByb2plY3QgZmlsZXMgdG8gdGhlIHdpbjMyIG1hbmlmZXN0CgoyMDA5LTA1LTE2IDAxOjE0OjIzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIE1vdmVkICdkaXJlY3RkcmF3JyBmcm9tIC1nb29kIHRvIC1iYWQKCjIwMDctMDYtMTUgMDk6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gd2luMzIvdnM2LzogTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lCgkgIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkgb3RoZXJ3aXNlLgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgW01PVkVEIEZST00gR09PRF0gYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDktMDItMjcgMjA6NDA6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBkaXJlY3RkcmF3c2luazogRml4IHR5cGUgbWlzbWF0Y2hlcwoJICBGaXhlcyBidWcgIzU3MzM0My4KCjIwMDktMDEtMjkgMTE6MDc6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFJlbW92ZSB2ZXJzaW9uIG51bWJlcnMgZnJvbSBhIGZldyBnc3QtbGF1bmNoIGV4YW1wbGVzLgoJICBUaGUgbWFqb3JpdHkgb2YgdGhlIGV4YW1wbGVzIGRvZSBub3QgdXNlIC0wLjEwIGFuZCB0aGlzIHdpbGwgYWxzbyBoZWxwIHVzIHRvIG1haW50YWluIHRoZSBkb2NzLgoKMjAwOS0wMS0yOSAxMDoxMDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcGx1Z2lucyAoc3lzKS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIEZpeCBleGFtcGxlcy4KCjIwMDgtMTEtMDQgMTI6Mjg6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoKMjAwOC0wOC0yMSAyMTo1NjoxOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywKCSAgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgRml4IHR3byBtb3JlIGJ1ZmZlciByZWYgbGVha3MuCgoyMDA4LTA4LTIxIDE1OjI4OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRml4IGJ1ZmZlciByZWYgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgRml4IGJ1ZmZlciByZWYgbGVhay4KCjIwMDgtMDUtMDcgMTU6MzM6NTIgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6IERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6CgkgIERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJRCBoYXMgYWxyZWFkeSBiZWVuCgkgIHNldCBhZnRlciBjcmVhdGluZyB0aGUgY2xpcHBlci4KCjIwMDgtMDUtMDcgMTU6Mjg6MDYgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKTogQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zdWNjZXNzZnVsCgkgIElEaXJlY3REcmF3U3VyZmFjZTdfTG9jaygpIGNhbGwuCgkgIElmIHN1cmZhY2UgaXMgbG9zdCwgcmV0dXJuIEdTVF9GTE9XX09LLgoKMjAwOC0wNS0wNyAxNToxOTo0NyArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBXbmRQcm9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBJbXByb3ZlZCBXaW5kb3dzIG1lc3NhZ2UgbG9vcCBhbmQgZml4ZWQgd2luZG93IGRlc3RydWN0aW9uIGlzc3VlLgoJICBXaGVuIHRoZSB3aW5kb3cgd2hpY2ggRGlyZWN0RHJhdyBpcyByZW5kZXJpbmcgdG8gaXMgZGVzdHJveWVkLCB0aGUKCSAgcmVuZGVyL3Nob3dfZnJhbWUgZnVuY3Rpb24gd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNTowOToxMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKTogRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKToKCSAgRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBpcyBub3cKCSAgcmVsZWFzZWQgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNDo1NjoyMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHNvIHRoYXQgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MgdXNlcyB0aGUgcmlnaHQKCSAgd2lkdGgvaGVpZ2h0LgoJICBFc3BlY2lhbGx5IHdoZW4gbG9va2luZyB0aHJvdWdoIHRoZSBwb29sIG9mIGJ1ZmZlcnMsIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSB3aWR0aC9oZWlnaHQgb2YgY2FwcyBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIGFscmVhZHkgbmVnb3RpYXRlZAoJICBkaW1lbnNpb25zLgoJICBGb3IgZXhhbXBsZSBpZiBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudCBjYXBzIGlzIHJlcXVlc3RlZCwgaS5lLgoJICBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlIGNhbGxlciB3b3VsZCBnZXQgYSBidWZmZXIgd2l0aCB0aGUgb2xkCgkgIGRpbWVuc2lvbnMgYW5kIHRodXMgY29ycnVwdCB0aGUgaGVhcC4KCjIwMDgtMDUtMDcgMTQ6NDM6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoJICBUaGUgcmlnaHQgZml4IHRoaXMgdGltZS4KCjIwMDgtMDUtMDcgMTQ6Mzk6NDUgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgUmV2ZXJ0aW5nIHByZXZpb3VzIGNvbW1pdCwgaXQgaGFkIGl0IGFsbCBtaXhlZCB1cCwgd2FzIGZvciBhIGRpZmZlcmVudAoJICBwYXRjaCAobWFqb3IgYXV0b21hdGlvbiBzY3Jldy11cCkuIFNvcnJ5IQoKMjAwOC0wNS0wNyAxMzo0ODoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTAyLTEyIDEyOjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RkcmF3c3VyZmFjZV9jbGFzc19pbml0KSwgKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19maW5hbGl6ZSk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgoyMDA4LTAxLTA3IDE2OjQxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCjIwMDgtMDEtMDUgMjE6MjA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTA1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF93aW5kb3dfaWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2RyYXdfYm9yZGVycyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91cgoJICBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2hhbmNlIHRvCgkgIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIHByZXBhcmUteHdpbmRvdy1pZCBidXMgbWVzc2FnZS4gRHJhdwoJICBibGFjayBib3JkZXJzIHdoZW4ga2VlcGluZyBhc3BlY3QgcmF0aW8uIEhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICBvdXIKCSAgcmVuZGVyaW5nIHdpbmRvdyBkaXNhcHBlYXJzIChjbG9zZWQgb3IgZXJyb3JzKSBsaWtlIG90aGVyIHNpbmtzCgkgIGRvLiBWYXJpb3VzIDgwIGNvbHVtbnMgZml4ZXMsIGltcHJvdmUgc3RhdGUgY2hhbmdlIG9yZGVyLiBUaGF0CgkgIGVsZW1lbnQgY291bGQgbmVlZCBzb21lIG1vcmUgbG92ZS4KCjIwMDctMDktMjIgMDg6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gZml4IGhlYWRlciBhbmQgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgoyMDA3LTA2LTE0IDEyOjE0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgW01PVkVEIEZST00gR09PRF0gQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwOS0wNS0xNSAxMDo0NTo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IEZpeCByZXNldHRpbmcgb2YgdGhlIHNpbmsgaW4gTlVMTAoJICBSZXNldCB0aGUgZnBzZGlzcGxheXNpbmsgaW4gTlVMTCBieSByZW1vdmluZyB0aGUgdGV4dG92ZXJsYXkgaWYgd2UKCSAgY3JlYXRlZCBpdC4KCSAgRml4ZXM6ICM1ODI2MzMKCjIwMDktMDUtMTYgMDA6MTc6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIE1vdmVkICd5NG1lbmMnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xNSAxODoyNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IGFkZCBNYWtldmFycyBtYWdpYyBzbyB3ZSBkb24ndCBnZXQgbGluZSBudW1iZXJzIGluICoucG8gZmlsZXMKCSAgVGhpcyBhdm9pZHMgdGhlIG51bWJlciBvbmUgcmVhc29uIGZvciBsb2NhbCBtb2RpZmljYXRpb25zIGluICoucG8KCSAgZmlsZXMgYW5kIGFuZCBtYWtlcyB0aGluZ3MgbGVzcyBhbm5veWluZyB3aGVuIHdvcmtpbmcgd2l0aCBnaXQgKG9yCgkgIGFueSBvdGhlciBWQ1MgZm9yIHRoYXQgbWF0dGVyKS4KCjIwMDktMDUtMTUgMDE6NTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIFtxdG11eF0gRml4ZXMgc2VnZmF1bHQgd2hlbiBhZGRpbmcgYSBibG9iIGFzIGZpcnN0IHRhZy4KCSAgTW92ZXMgdGFncyBkYXRhIGluaXRpYWxpemF0aW9uIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGFwcGVuZHMKCSAgdGhlIHRhZ3MgdG8gdGhlIGxpc3QuIEZpeGVzICM1ODI3MDIKCSAgQWxzbyBmaXhlcyBzb21lIHN0eWxlIGNhdWdodCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoKMjAwOS0wNS0xNCAyMToyMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFVzZSBhIFJXIGxvY2sgdG8gcHJvdGVjdCBtZXRhZGF0YSBhbmQgYWRkIGFsbCBwYWRzIGF0IG9uY2Ugd2l0aG91dCBhIGxvY2sgaGVsZAoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlLCBhbW9uZyBvdGhlciB0aGluZ3MsIHRvIGRvIGEgcXVlcnkgaW4gdGhlCgkgIHBhZC1hZGRlZCBjYWxsYmFjay4KCSAgRml4ZXMgYnVnICM1ODI2NTYuCgoyMDA5LTA1LTE0IDEwOjM0OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCB0aGUgYXJndW1lbnQgb3JkZXIgaW4gYSBkZWJ1ZyBzdGF0ZW1lbnQKCSAgTWFrZSB0aGUgZGVidWcgc3RhdGVtZW50IGNvcnJlY3RseSBzaG93IHRoZSAnb2xkJyBhbmQgJ25ldycgYnV0dG9uCgkgIGNvb3JkaW5hdGVzLCBpbnN0ZWFkIG9mIHRoZSB3cm9uZyB3YXkgYXJvdW5kLgoKMjAwOS0wNS0xNCAwOTo1MzoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBNYWtlIHNlZ21lbnQgdXBkYXRlcyBsZXNzIGFnZ3Jlc3NpdmUuCgkgIFdoZW4gdXBkYXRpbmcgYSBwYWQsIHNlbmQgdGhlIHVwZGF0ZSB0byBoYWxmIGEgc2Vjb25kIGJlaGluZCB0aGUgU0NSLAoJICB3aGljaCBhdm9pZHMgZXZlciB1cGRhdGluZyB0aGUgc3RhcnQgdGltZSBmb3IgYSBwYWQgdG8gYmV5b25kIHRoZSBlbmQgb2YKCSAgdGhlIGNlbGwuIEFsc28sIHJlbWVtYmVyIHRoZSBsYXN0IGFjdHVhbCBuZXctc2VnbWVudCBzdGFydCB0aW1lIGZvciBlYWNoCgkgIHBhZCwgYW5kIHVzZSBpdCB3aGVuIGNsb3NpbmcgdGhlIHNlZ21lbnQuCgoyMDA5LTA1LTEzIDEyOjQ3OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJld29yayBidXR0b24gaGlnaGxpZ2h0IGNhbGN1bGF0aW9uIHNsaWdodGx5CgkgIFdoZW4gdGhlIGN1cnJlbnQgYnV0dG9uIG51bWJlciBpcyBoaWdoZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZQoJICBidXR0b25zLCBzd2l0Y2ggdG8gdGhlIGhpZ2hlc3QgbnVtYmVyZWQgYnV0dG9uIHJhdGhlciB0aGFuIHRoZSBsb3dlc3QuCgkgIEFsc28sIGRvbid0IHRocm93IGVycm9ycyB3aGVuIHdlIGZhaWwgdG8gcmV0cmlldmUgc29tZSBidXR0b24gaW5mbwoJICBmcm9tIGxpYmR2ZG5hdiwganVzdCByZXNldCB0aGUgaGlnaGxpZ2h0LgoKMjAwOS0wNS0xMiAyMzo0MjowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCBjb21tYW5kcy1jaGFuZ2VkIG9uIGJ1dHRvbiBjaGFuZ2UgYW5kIGhhbmRsZSBjb21tYW5kcyBxdWVyeQoJICBTZW5kIHRoZSBjb21tYW5kcy1jaGFuZ2VkIG5hdmlnYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBzZXQgb2YgYXZhaWxhYmxlCgkgIERWRCBtZW51IGJ1dHRvbiBhY3Rpb25zIGNoYW5nZXMsIGFuZCBoYW5kbGUgdGhlIGNvbW1hbmRzIG5hdmlnYXRpb24KCSAgcXVlcnkgc28gdGhhdCAoZS5nLikgVG90ZW0gY2FuIGtub3cgYWJvdXQgdGhlIGF2YWlsYWJsZSBuYXZpZ2F0aW9uCgkgIGNvbW1hbmRzLgoKMjAwOS0wNS0xNCAwODo0MjoyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYSBsZWFrIG9mIHRoZSBEVkQgdGl0bGUgc3RyaW5nCgoyMDA5LTA1LTE0IDEwOjU1OjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFB1c2ggdXBkYXRlIGZyYW1lLCBpZiBhbnksIHdoZW4gZW50ZXJpbmcgc3RpbGxzLgoJICBXaGVuIGVudGVyaW5nIGEgc3RpbGwgZnJhbWUgZ2VuZXJhdGVzIGFuIHVwZGF0ZWQgYnVmZmVyLCBtYWtlIHN1cmUKCSAgdG8gcHVzaCBpdCBvdXQsIG90aGVyd2lzZSB3ZSBtYXkgbm90IHB1dCBhIGZyYW1lIG9uc2NyZWVuIHdpdGggYQoJICByZW5kZXJlZCBidXR0b24sIGNhdXNpbmcgcmFjaW5lc3MgYXMgdG8gd2hldGhlciBidXR0b25zIGdldCBkcmF3bgoJICBvciBub3Qgd2hlbiBqdW1waW5nIGJhY2sgdG8gdGhlIG1lbnUgb24gc29tZSBkaXNjcy4KCjIwMDktMDUtMTMgMTA6Mjk6MzYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IEZpeCByYWNpbmVzcyBpbiByc25kdmRiaW4gd2hlbiBpbml0aWFsbHkgY3JlYXRpbmcgcGFkcwoJICBQcm90ZWN0IHBhZCBleHBvc3VyZSB3aXRoIGEgcHJlcm9sbCBsb2NrIHRvIGF2b2lkIHNpdHVhdGlvbnMKCSAgd2hlcmUgbm8tbW9yZS1wYWRzIGlzIGZpcmVkIG1vcmUgdGhhbiBvbmNlLCBvciBmaXJlZCBqdXN0IGJlZm9yZQoJICB0aGUgbGFzdCBwYWQgaXMgYWN0dWFsbHkgYWRkZWQuCgoyMDA5LTA1LTEzIDE3OjU1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBjaGFuZ2UgbXkgZW1haWwKCSAgY2hhbmdlIG15IGVtYWlsIHRvIHNvbWV0aGluZyBtb3JlIGN1cnJlbnQKCSAgU2VlICM1ODA3ODMKCjIwMDktMDUtMTMgMTc6NTQ6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGRvbid0IHN0cmlwIHRpbWVzdGFtcHMKCSAgRml4ZXMgIzU4MjQ4MwoKMjAwOS0wNS0xMyAxMDo0NzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBnc3QvZGVpbnRlcmxhY2UvLmdpdGlnbm9yZToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZGVpbnRlcmxhY2UudmNwcm9qOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIE1vdmVkICdkZWludGVybGFjZTInIGZyb20gLWJhZCB0byAtZ29vZAoJICBBbmQgcmVtb3ZlIG9sZCBkZWludGVybGFjZSBwbHVnaW4gYXMgZGVpbnRlcmxhY2UyIHdpbGwKCSAgYmUgY2FsbGVkIGRlaW50ZXJsYWNlIGluIC1nb29kLgoKMjAwOS0wNS0xMiAyMTo1MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgTW92ZWQgJ2ZsdicgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTEyIDAwOjUwOjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMS4yIHByZS1yZWxlYXNlCgoyMDA5LTA1LTExIDE3OjUwOjQxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IE1vZGlmeSB0aGUgc2VnbWVudCB1cGRhdGUgbG9naWMKCSAgU2VuZCBzZWdtZW50IHVwZGF0ZXMgdG8gdGhlIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIHBhZHMgbW9yZSBmcmVxdWVudGx5LAoJICBidXQgbGVzcyBvZnRlbiB0byB0aGUgdmlkZW8gcGFkLCB3aGVyZSB0aW1lc3RhbXBzIGFwcGVhciBsZXNzIG9mdGVuLgoJICBUaGlzIGhlbHBzIHdpdGggZ2FwIGZpbGxpbmcgb24gc29tZSBEVkRzLgoKMjAwOS0wNS0xMSAxNjowOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IEluY3JlYXNlIHRoZSBhbW91bnQgb2YgZmlsbGVyIGF1ZGlvIGdlbmVyYXRlZAoJICBXaGVuIGNyZWF0aW5nIGEgZmlsbGVyIGF1ZGlvIGJ1ZmZlciBpbiByc25hdWRpb211bmdlLCBnZW5lcmF0ZQoJICBhIGJpdCBtb3JlLCBhcyBhdWRpbyBzaW5rcyBkb24ndCBzZWVtIHRvIHByZXJvbGwgb3RoZXJ3aXNlLiBUaGlzCgkgIG5lZWRzIGEgYmV0dGVyIGFsZ29yaXRobSBpbiBnZW5lcmFsLCB0byBpbnRlbGxpZ2VudGx5IGZpbGwgdGhlCgkgIGdhcCwgcmF0aGVyIHRoYW4gaGFyZC1jb2RpbmcgYSB2YWx1ZS4KCjIwMDktMDUtMTEgMTQ6MTc6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IE1hbmFnZSB0aW1lZCBzdGlsbCBzZXF1ZW5jZXMgYmV0dGVyCgkgIE1ha2UgdGltZWQgc3RpbGwgZnJhbWVzIHdvcmsgYmV0dGVyIGJ5IGV4dGVuZGluZyB0aGUgY3VycmVudCBzZWdtZW50CgkgIHdoZW4gbmVlZGVkLCBhbmQgcmVzdGFydGluZyB0aGUgc3RpbGwgc2VxdWVuY2Ugd2l0aCB0aGUgY29ycmVjdAoJICByZW1haW5pbmcgZHVyYXRpb24gd2hlbiB0aGUgd2FpdCBpdCBpbnRlcnJ1cHRlZCBieSBhY3RpdmF0aW9uIG9mIGEKCSAgaGlnaGxpZ2h0IE5BViBwYWNrZXQuCgoyMDA5LTA1LTExIDExOjA2OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ2hhbmdlIHRoZSBhdWRpb211bmdlIGRlYnVnIG91dHB1dC4KCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzaG93IGluZm9ybWF0aW9uIGFib3V0IHRoZSBzZWdtZW50IGV2ZW50cyBwYXNzaW5nIHRocm91Z2gsCgkgIGV2ZW4gd2hlbiBwcmUtcm9sbCBhdWRpbyBidWZmZXJzIGFyZW4ndCBnb2luZyB0byBiZSBuZWVkZWQuCgoyMDA5LTA1LTExIDExOjA0OjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IE1ha2UgdGhlIGRlYnVnZ2luZyBvdXRwdXQgYSBiaXQgY2xlYXJlci4KCSAgRGlzcGxheSBtb3JlIGluZm8gYWJvdXQgY3VzdG9tIERWRCBldmVudHMgaW4gdGhlIGRlYnVnIG1lc3NhZ2VzLgoKMjAwOS0wNS0wOCAxNzo0MjoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBbHdheXMgcHVzaCBhIGZyYW1lIGF0IHRoZSBzdGFydCBvZiBhIHN0aWxsIGZyYW1lLCBhbmQgZml4IGEgbGVhay4KCSAgTWFrZSBzdXJlIHRvIHB1c2ggdGhlIGZyYW1lIGZvciBhIHN0aWxsIGZyYW1lLCB3aXRoIGRpc2NvbnQgPSB0cnVlIGFuZAoJICB0aW1lc3RhbXA9bm9uZSwgc28gdGhhdCBpdCBnZXRzIGRpc3BsYXllZCBieSB0aGUgc2luay4gQWxzbywgZG9uJ3QgbGVhawoJICBlYWNoIHJlbmRlcmVkIHZpZGVvIGZyYW1lIGR1cmluZyBzdGlsbCBtZW51cy4KCjIwMDktMDUtMDggMTc6NDA6NDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJICBkdmRzcHU6IEFkZCBhIGd1YXJkIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhbnkgc3VicGljdHVyZSBidWZmZXIgdG8gcmVuZGVyCgoyMDA5LTA1LTA4IDE2OjI5OjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogUmVuYW1lIHRoZSBhdWRpbyBtdW5nZXIgZGVidWcgY2F0ZWdvcnkKCSAgUmVuYW1lIGEgZGVidWcgY2F0ZWdvcnk6IHJzbl9hdWRpb211bmdlIC0+IHJzbmF1ZGlvbXVuZ2UuCgoyMDA5LTA1LTA4IDE2OjI3OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEVuc3VyZSB3ZSBzZW5kIGEgdGl0bGUgdGFnIGluIHRoZSBmaXJzdCBwbGF5IHNlY3Rpb24uCgoyMDA5LTA1LTA4IDE2OjA2OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNpbXBsaWZ5IHNvbWUgc3R1ZmYuIFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBMT0cgbWVzc2FnZS4KCSAgU2tpcCBhdHRlbXB0aW5nIHRvIHNjaGVkdWxlIGEgbmF2IGJsb2NrIHVubGVzcyB3ZSdyZSBpbiBQTEFZSU5HLiBUYWtlIGEgbG9jawoJICBzbGlnaHRseSBsYXRlciwgd2hlbiB3ZSBhY3R1YWxseSBuZWVkIGl0LiBSZW1vdmUgYSBub2lzeSBMT0cgbWVzc2FnZS4KCjIwMDktMDUtMDggMTQ6MjM6NDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHBlci1tZW51IGRlc2NyaXB0aW9uIGZyb20gdGhlIFRJVExFIHRhZwoJICBUaGUgcGFydCBudW1iZXIgcmVwb3J0ZWQgd2hpbGUgaW4gYSBtZW51IGRvZXNuJ3QgcmVmbGVjdCB0aGUgc2VsZWN0ZWQKCSAgbWVudSwgc28gaXQncyBwb2ludGxlc3MgdG8gdXNlIGl0IHRvIHJlcG9ydCB3aGljaCBtZW51IHdlJ3JlIGluIChBdWRpbywKCSAgQW5nbGUgZXRjKS4gSnVzdCByZXBvcnQgIkRWRCBNZW51IiBpbiB0aGUgdGl0bGUgdGFnIGluc3RlYWQuCgoyMDA5LTA1LTA4IDE0OjIwOjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIHRpdGxlIGluZm8gbWVzc2FnZSB3aGVuIGN1cnJlbnQgYW5nbGUgaXMgc3dpdGNoZWQuCgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGFuIHVwZGF0ZSB0aXRsZSB0YWcgd2hlbiB0aGUgY3VycmVudCBhbmdsZSBvciBhdmFpbGFibGUKCSAgYW5nbGVzIGNoYW5nZXMuCgoyMDA5LTA1LTA4IDEwOjQzOjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBJbXBsZW1lbnQgbmF2aWdhdGlvbiBjb21tYW5kIGNoYW5nZSBtZXNzYWdlIGFuZCBxdWVyeQoJICBTZW5kIG1lc3NhZ2VzIHdoZW4gdGhlIGF2YWlsYWJsZSBEVkQgbmF2aWdhdGlvbiBjb21tYW5kcyBjaGFuZ2VzLCBhbmQKCSAgaGFuZGxlIG5hdmlnYXRpb24gY29tbWFuZHMgYW5kIGFuZ2xlcyBxdWVyaWVzLgoKMjAwOS0wNS0xMSAxNjo1OToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogUHJvdGVjdCBiaXRyYXRlIGVzdGltYXRpb24gYWdhaW5zdCBib2d1cyB2YWx1ZXMuCgkgIElmIHRoZSBlc3RpbWF0ZWQgYml0cmF0ZSBpcyBsb3dlciB0aGFuIDE4OCBieXRlcywgdGhlcmUncyBtb3N0IGxpa2VseQoJICBzb21ldGhpbmcgY29tcGxldGVseSB3cm9uZyB3aXRoIHRoZSB0d28gc2FtcGxlcy4gSWYgdGhhdCBoYXBwZW5zLAoJICBmb3JjZSByZWNhbGN1bGF0aW9uLgoJICBVc2UgZ3VpbnQ2NCBmb3Igb2JzZXJ2YXRpb24gUENSLCBJIHNhdyBjYXNlcyB3aGVyZSBpdCB3b3VsZCBvdmVyZmxvdy4KCjIwMDktMDUtMTEgMTY6NTg6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBPbmx5IHRha2UgUENSIGZyb20gdGhlIGFjdGl2ZSBzdHJlYW0gZm9yIGJpdHJhdGUgZXN0aW1hdGlvbi4KCjIwMDktMDUtMTEgMTY6NDA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBDaGFuZ2UgZGVidWdnaW5nIGxldmVscyBmb3IgdmVyeSBmcmVxdWVudCBtZXNzYWdlcy4KCSAgVGhpcyBhbGxvd3MgZGVidWdnaW5nIHdpdGggbXBlZ3RzZGVtdXg6NCB3aGlsZSBiZWluZyBhYmxlIHRvIHRyYWNrIHdoYXQncwoJICBnb2luZyBvbiAoYW5kIGF2b2lkIHRha2luZyB1cCBhcyBtdWNoIGNwdSBmb3IgZGVidWdnaW5nIGFzIGZvciB0aGUgYWN0dWFsCgkgIGRlbXV4aW5nIHByb2Nlc3MpLgoKMjAwOS0wNS0wOSAwOTo1Nzo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFJldmVydCBpbmRlbnRhdGlvbiBhbmQgY29tbWVudCBoZWFkZXIgZmlsZS4KCSAgT25lIHNob3VsZG4ndCBydW4gZ3N0LWluZGVudCBvbiAuaCBmaWxlcywgaW4gdGhpcyBjYXNlIGl0IHdhcyB1bi1iZWF1dGlmeWluZwoJICB0aGUgaW5kZW50YXRpb24gOikKCjIwMDktMDUtMTAgMjE6MjE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogQWRkIE1QRUctNCBwYXJ0IDIgdG8gc3VwcG9ydGVkIGZvcm1hdHMuICBGaXhlcyAjNTgxNTkzLgoKMjAwOS0wNS0xMCAxNzoxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZhYWQ6IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHRoZSBGQUFEIHZlcnNpb24KCSAgVGhlIHByZXZpb3VzIHZlcnNpb24gbWF0Y2hlZCB0aGluZ3MgbGlrZSAyOTcgZm9yCgkgIHZlcnNpb24gMi43LCBldGMgd2hpY2ggY291bGQgYmUgYWRkZWQgdG8gdGhlIGZpbGUKCSAgYnkgb3RoZXIgaGVhZGVycy4KCSAgRml4ZXMgYnVnICM1ODIwNzQuCgoyMDA5LTA1LTEwIDExOjE3OjE3ICswMjAwICBNYXJjLUFuZHJlIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBSdW4gbGlidG9vbGl6ZSBiZWZvcmUgYWNsb2NhbAoJICBUaGlzIHVuYnJlYWtzIHRoZSBidWlsZCBpbiBzb21lIGNhc2VzLiBGaXhlcyBidWcgIzU4MjAyMQoKMjAwOS0wNS0xMCAxMDo0MDozNiArMDIwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFRoaXMgd2lsbCBhbHdheXMgYmUgc2V0IHRvIHNvbWV0aGluZyBidXQgZ2NjIGRpZG4ndCBkZXRlY3QKCSAgdGhpcy4gRml4ZXMgYnVnICM1ODIwMTMuCgoyMDA5LTA1LTA5IDIzOjQ3OjM5ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSAgUmVtb3ZlIHdyb25nIHN0dWZmIGZyb20gcHJlc2V0IGZpbGUKCjIwMDktMDUtMDkgMTU6NDg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBXcml0ZSBtZXRhZGF0YSBpdGVtcyBpbiByZWZlcmVuY2Ugb3JkZXIKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1ldGFkYXRhIGl0ZW1zIGFyZSBhbHdheXMgd3JpdHRlbgoJICBpbiB0aGUgc2FtZSBvcmRlciBhbmQgdGhhdCBmaXJzdCBjb21lcyB0aGUgcHJlZmFjZSwKCSAgdGhlbiB0aGUgaWRlbnRpZmljYXRpb24gbGlua2VkIGZyb20gdGhlIHByZWZhY2UsIC4uLgoJICBTb21lIGRlbXV4ZXJzIGNhbid0IGhhbmRsZSBmaWxlcyB3aGVyZSB0aGUgbWV0YWRhdGEKCSAgaXRlbXMgYXJlIGluIHJhbmRvbSBvcmRlci4KCjIwMDktMDUtMDkgMTU6NDg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggRU9TIGxvZ2ljIGFnYWluCgoyMDA5LTA1LTA5IDE1OjQ4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgdW5yZWYgTlVMTCBidWZmZXJzIGlmIHB1c2hpbmcgYSBidWZmZXIgYWZ0ZXIgdGhlIGZpcnN0IGZhaWxlZAoKMjAwOS0wNS0wOSAxMjo0MjoyNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkgIEFkZCBhIG1vcmUgcmVwcmVzZW50YXRpdmUgZXhhbXBsZSBwcmVzZXQgZmlsZSBmb3IgeDI2NAoKMjAwOS0wNS0wOCAxODoyNDoyOCArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogQWRkIGluaXRpYWwgbmFpdmUgc2Vla2luZyBzdXBwb3J0IGFuZCBmaXggZHVyYXRpb24gcXVlcnkuCgkgIFN5bmMgZnJvbSBnc3QtZmx1ZW5kby1tcGVnZGVtdXggYW5kIGhhdmUgc2Vla2luZy9kdXJhdGlvbiBxdWVyeQoJICBpbXByb3ZlbWVudHMgaW4uIE5vIHN1cHBvcnQgaG93ZXZlciBmb3Igd3JhcHBlZCBhcm91bmQgcGNycyBldGMuIGJ1dCBhCgkgIHN0YXJ0IG5vbmV0aGVsZXNzLgoJICBBbHNvIGZpeCBpbmRlbnRhdGlvbiBpc3N1ZXMuCgoyMDA5LTA1LTA4IDE2OjM4OjI2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQ29tbWVudCBvdXQgcHJlc2V0IG5vdCBpbiB5ZXQKCjIwMDktMDUtMDggMTU6Mzk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgYSBkaXNhYmxlZCBtb2RlIGZvciBwYXNzdGhyb3VnaCBvcGVyYXRpb24KCSAgQWxzbyBhbGxvdyB0byBjaGFuZ2UgdGhlIG1vZGUgaW4gUEFVU0VEIGFuZCBQTEFZSU5HIGJ5IHVwZGF0aW5nCgkgIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNS0wNyAxNzozNDozNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDUtMDcgMTM6MTI6MzQgKzAyMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIHNjYWxldGVtcG86IERvbid0IHJlcXVpcmUgZ2NvbmZhdWRpb3NpbmsgaW4gdGhlIGRlbW8KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDA5LTA1LTA2IDIxOjQ4OjMwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IG9wZW4gYWxsIFZUUyBpZm8gYXQgdGhlIHN0YXJ0CgkgIExvYWQgZWFjaCBWVFMgaWZvIHRoZSBmaXJzdCB0aW1lIHRoZSBkaXNjIGVudGVycyB0aGF0IFZUUywKCSAgcmF0aGVyIHRoYW4gc2Nhbm5pbmcgdGhlbSBhbGwgYXQgdGhlIHN0YXJ0LgoKMjAwOS0wNS0wNiAyMToxOToxMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCBhIHRpdGxlIHRhZyB3aGVuIHdlIGNoYW5nZSBjaGFwdGVyL21lbnUvYW5nbGUKCSAgQWxsb3cgYXBwcyBsaWtlIFRvdGVtIHRvIGRpc3BsYXkgYSBuaWNlciB0aXRsZSB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50CgkgIHBvc2l0aW9uIG9uIHRoZSBkaXNjLgoKMjAwOS0wNS0wNSAxMzoxODoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIGhpZ2hsaWdodC1yZXNldCBtZXNzYWdlcyB3aGVuIG5vdCBuZWVkZWQKCSAgRml4IGEgc21hbGwgYnVnIHRoYXQgcmVzdWx0cyBpbiB0aGUgU1BVIGhpZ2hsaWdodCBiZWluZyByZXNldCBtb3JlIG9mdGVuCgkgIHRoYW4gaXMgbmVjZXNzYXJ5IC0gaWUsIGNsZWFyaW5nIGl0IHdoZW4gaXQncyBhbHJlYWR5IGNsZWFyZWQuCgoyMDA5LTA1LTA1IDEzOjE0OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBzZW5kIGFuZ2xlcy1jaGFuZ2VkIG1lc3NhZ2VzIHdoZW4gYXBwcm9wcmlhdGUKCSAgV2hlbiB0aGUgY3VycmVudCBhbmdsZSBjaGFuZ2VzLCBvciB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBhbmdsZXMgY2hhbmdlcywKCSAgc2VuZCBhbiBhbmdsZXMtY2hhbmdlZCBtZXNzYWdlIHRvIGxldCB0aGUgYXBwIGtub3cuCgoyMDA5LTA1LTA1IDExOjM0OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1ha2UgdGhlIG5leHQvcHJldiBhbmdsZSBzd2l0Y2hpbmcgY3ljbGUgYXQgdGhlIGVuZHMKCSAgV2hlbiB0aGUgY3VycmVudCBhbmdsZSBpcyAxIGFuZCBwcmV2X2FuZ2xlIGlzIHJlcXVlc3RlZCwgbG9vcCB0byB0aGUKCSAgbWF4aW11bSBhbmdsZSBhbmQgdmljZSB2ZXJzYSBmb3IgbmV4dF9hbmdsZQoKMjAwOS0wNS0wNSAxNjo1NDozOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkb24ndCBsZWFrIHRoZSBjb25maWcgZGF0YQoJICBDbGVhciB0aGUgY29uZmlnIGRhdGEgd2hlbiBnb2luZyB0byBSRUFEWSBvciB3aGVuIGRpc3Bvc2VkLgoJICBGaXhlcyAjNTgxNDI3CgoyMDA5LTA1LTA1IDE2OjQ4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZHJvcCB1bmV4cGVjdGVkIFJUQ1AgcGFja2V0cwoJICBXZSB1c3VhbGx5IG9ubHkgZ2V0IFNSIHBhY2tldHMgaW4gb3VyIGNoYWluIGZ1bmN0aW9uIGJ1dCBpZiBhbiBpbnZhbGlkIHBhY2tldAoJICBjb250YWlucyB0aGUgU1IgcGFja2V0IGFmdGVyIHRoZSBSUiBwYWNrZXQsIHdlIG11c3Qgbm90IGZhaWwgYnV0IHNpbXBseSBpZ25vcmUKCSAgdGhlIG1hbGZvcm1lZCBwYWNrZXQuCgkgIEZpeGVzICM1ODEzNzUKCjIwMDktMDUtMDQgMjI6MDk6MDUgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IFJlbWVtYmVyIHBpZHMgdGhhdCBhcmUgbWVhbnQgdG8gYmUgc3RyZWFtIHBpZHMuCgkgIEZpeGVzICM1Njk3ODEKCjIwMDktMDUtMDQgMTI6Mzc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzM6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogSW1wbGVtZW50IFByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkOiBJbXBsZW1lbnQgUHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTAzIDE3OjQyOjQ0ICswMTAwICBWaW5jZW50IEdlbmlldXggPG11dGV4QHJ1bmJveC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IElnbm9yZSBzdWJ0YWJsZSBleHRlbnNpb24gd2hlbiBwYXJzaW5nIFBBVAoJICBGaXhlcyAjNTY5NjczLgoKMjAwOS0wNS0wMyAxNzoyMToyMiArMDEwMCAgVmluY2VudCBHZW5pZXV4IDxtdXRleEBydW5ib3guY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBtYWtlIHNhZmUgY2hhbmdpbmcgdGhlIHByb2dyYW0tbnVtYmVycyBwcm9wZXJ0eSBkeW5hbWljYWxseQoJICBGaXhlcyAjNTY5NDM3LgoKMjAwOS0wNS0wMyAxNDoyODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGV4dGVuZCBCYXNlU3JjIHF1ZXJ5IGhhbmRsaW5nIHJhdGhlciB0aGFuIG92ZXJyaWRpbmcKCjIwMDktMDQtMjcgMjI6Mzk6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IChyZWdyZXNzaW9uIGluKSBuZXdzZWdtZW50IGhhbmRsaW5nCgkgIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkuICBGaXhlcyAjNTgwMTMzLgoKMjAwOS0wNS0wMiAxMjoyMzowMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHBlcyBmaWx0ZXIgcGlkIHJlc2V0dGluZwoKMjAwOS0wNS0wMSAwMjoyNjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IGNvc21ldGljIGZpeCB0byBoZWFkZXIgc3RydWN0dXJlIHRvIG1ha2UgZ3RrLWRvYyBoYXBweQoKMjAwOS0wNS0wMSAxNDoyNTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGRvY3M6IG1ha2UgZnBzZGlzcGxheXNpbmsgc2hvdyB1cCBpbiB0aGUgZG9jcwoKMjAwOS0wNS0wMSAwMjoyMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogbW92ZSBwcml2YXRlIHN0cnVjdCBpbnRvIHBsdWdpbiBzdHJ1Y3QgYW5kIHVzZSBHc3QgbmFtZXNwYWNlCgoyMDA5LTA1LTAxIDAxOjU5OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZwc2Rpc3BsYXlzaW5rLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHJlbmFtZSBwbHVnaW4gKG5vdCBlbGVtZW50KSB0byBkZWJ1Z3V0aWxzYmFkCgkgIE1ha2VzIGl0IGVhc2llciB0byBhZGQgZnVydGhlciB1dGlscyBoZXJlIHdpdGhvdXQgY3JlYXRpbmcgeWV0IGFub3RoZXIgcGx1Z2luLgoKMjAwOS0wNS0wMSAxNDoyODoyMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdW5zZXQgcGlkIGZpbHRlcnMgY29ycmVjdGx5CgoyMDA5LTA0LTMwIDE0OjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogY2hhbmdlcyBjYXBzIG9mIHNyYyBwYWRzIHRvIHZpZGVvL3F1aWNrdGltZSwgdmFyaWFudD1zb21ldGhpbmcKCSAgVGFrZSBhIGxvb2sgYXQgYnVnICM1ODAwMDUgZm9yIGZ1cnRoZXIgaW5mby4KCjIwMDktMDQtMzAgMTc6Mjk6MzUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wNC0zMCAxNzoyODo0NyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3IgbmV3IHByZXNldHMgZmlsZQoKMjAwOS0wNC0zMCAxNzowODo1MiArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA5MDEuCgoyMDA5LTA0LTMwIDE0OjIwOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdTogZG8gc29tZSBiYXNpYyBjbGlwcGluZwoJICBBZGQgc29tZSBiYXNpYyBjbGlwcGluZyBvZiB0aGUgc3VidGl0bGUgcmVnaW9uIHdoZW4gdGhlIHN1YnRpdGxlIGlzIGJpZ2dlciB0aGFuCgkgIHRoZSBpbWFnZSB3ZSBzaG91bGQgcHV0IGl0IG9uLgoKMjAwOS0wNC0zMCAxNDoxODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogZG9uJ3QgRU9TIHdoZW4gdGhlIHN1YnRpdGxlIGdvdCBFT1MKCSAgRG9uJ3QgZm9yd2FyZCB0aGUgRU9TIG9uIHRoZSBzdWJ0aXRsZSBwYWQgYXMgdGhlIHZpZGVvIG1pZ2h0IHN0aWxsIGJlIHJ1bm5pbmcuCgoyMDA5LTA0LTMwIDEzOjQ1OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBjb2RlIGNsZWFudXAgYW5kIHBsdWcgb3ZlcmxheSBhcyBuZWVkZWQKCSAgUGx1Z2dpbiB0aGUgdGV4dC1vdmVsYXkgY2F1c2VzIHNvbWUgc2xvd2Rvd25zIGFuZCBtaWdodCBuZWVkIGEgY29sb3JzcGFjZQoJICBjb252ZXJ0ZXIuIFdlIG5vdyBvbmx5IGNoZWNrIHRoZSB0ZXh0LW92ZXJsYXkgcHJvcGVydHkgd2huZSBnb2ludCB0byByZWFkeSBhbmQKCSAgcGx1ZyBvciB1bnBsdWcgdGhlIHRleHQtb3ZlcmxheSBhdCB0aGF0IHRpbWUuIElmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzIGR1cmluZwoJICBwbGF5aW5nLCBpdHMgbm90IHN3aXRjaGVkIGltbWVkaWF0ZWx5LgoKMjAwOS0wNC0zMCAwMDowNjozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIHgyNjRlbmM6IGFkZCBwcmVzZXQgc3VwcG9ydAoJICBBZGQgcHJlc2V0IGlmYWNlIGFuZCBhIChkdW1teSkgcHJlc2V0IGZpbGUgYXMgYSBzdGFydGluZyBwb2ludC4KCjIwMDktMDQtMjYgMjE6MjY6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ29udmVydCBzb21lIGdfcHJpbnQgdG8gR1NUX0xPR19PQkpFQ1QgYW5kIGZyaWVuZHMsIHJlbW92ZSBzb21lIG90aGVycwoJICBUcmltIGRvd24gdGhlIGdfcHJpbnQgdmVyYm9zaXR5LgoKMjAwOS0wNC0yNiAyMToyOToyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgRFZERkFTVFNUQVJUIGVudiB2YXIgdG8gbWFraW5nIHNvbWUgdGVzdGluZyBlYXNpZXIKCjIwMDktMDQtMjQgMTQ6MDg6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSByZWR1bmRhbnQgbW9kdWxvIG9wZXJhdGlvbiBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wNC0yNCAxNDowNzozMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1hcCBhdWRpbyBhbmQgc3VicGljdHVyZSBsb2dpY2FsIHN0cmVhbXMgdG8gcGh5c2ljYWwuCgkgIFRoZSBsb2dpY2FsIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIHN0cmVhbSBudW1iZXIgZG9lc24ndCBhbHdheXMgY29ycmVzcG9uZAoJICB3aXRoIHRoZSBwaHlzaWNhbCBzdWJzdHJlYW0gaXQgaXMgY29taW5nIGZyb20uIFdoZW4gY29uZmlndXJpbmcgdGhlIGRlbXV4ZXIKCSAgcGFkcywgdXNlIHRoZSBtYXBwaW5nIHRhYmxlIHByb3ZpZGVkIGluIGVhY2ggUEdDIHRvIGdldCB0aGUgbGF5b3V0IGFuZAoJICBlbnN1cmUgdGhlIGRlbXV4ZXIgY3JlYXRlcyB0aGUgY29ycmVjdCBwYWRzLgoKMjAwOS0wNC0yOSAxODo1MjoyMCArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDc4Ni4KCjIwMDktMDQtMjkgMTY6NTc6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICB4MjY0ZW5jOiBhZGQgc29tZSBkb2N1bWVudGF0aW9uIG9uIHByb2ZpbGUKCjIwMDktMDQtMjkgMTM6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IFNldC9yZXF1aXJlIHRoZSBmcmFtZWQvcGFyc2VkIGZpZWxkcyBvZiB0aGUgYXVkaW8vbXBlZyBjYXBzIHRvIFRSVUUKCjIwMDktMDQtMjkgMTM6MTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBBbHdheXMgd3JpdGUgYXQgbGVhc3QgdGhlIG1pbmltYWwgdGFncyBhbmQgd3JpdGUgdGhlIFBBUiBhcyB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdjogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzb21lIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IEFkZCBzdXBwb3J0IGZvciB0aXRsZSB0YWcKCjIwMDktMDQtMjkgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IEZpeCBwYXJzaW5nIG9mIHRhZ3MgYW5kIGFkZCBuZXcgbWFwcGluZ3MKCSAgV2Ugc2hvdWxkbid0IHJlZ2lzdGVyIGEgbmV3IEdzdFRhZyBmb3IgZXZlcnkgdW5rbm93biB0YWcKCSAgd2UgZmluZCBhcyB0aGlzIG1pZ2h0IGxlYWQgdG8gY29uZmxpY3RzIGFuZCBhbHNvIHRob3NlCgkgIHRhZ3MgYXJlIGVzc2VudGlhbGx5IHVua25vd24uCgkgIEFkZCBtYXBwaW5ncyBmb3Igc29tZSBrbm93biB0YWdzIGFuZCBhbHNvIGNvbnZlcnQgc3RyaW5nCgkgIGRhdGVzIHRvIEdEYXRlLCBhcyBmb3VuZCBpbiBtYW55IEZMViBmaWxlcy4KCjIwMDktMDQtMjggMTY6MTA6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVqZWN0IHdyb25nIGNhcHMKCjIwMDktMDQtMjggMTY6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjggMTU6NTg6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCSAgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjcgMTE6MDk6MDggKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiBtYWtlIFdBUk5JTkcgaW50byBMT0cKCSAgU2luY2UgbmVpdGhlciBydHBtYW5hZ2VyIG5vciBhbnkgb2YgdGhlIHBheWxvYWRlcnMgcHJvcGVybHkgaW1wbGVtZW50CgkgIHBhZCBhbGxvY2F0aW9uLCB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBydHBtYW5hZ2VyIHRvIGluZm9ybSBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIG9mIHRoZSBuZXcgU1NSQyBpZiB0aGVyZSBpcyBhbiBTU1JDIGNvbGxpc2lvbi4gU28gdGhlIHdhcm5pbmcgaXMgZW1pdHRlZCBhbGwgdGhlCgkgIHRpbWUgYW5kIGl0IGlzIGNvbmZ1c2luZy4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMTowNjowMSArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG5vdGlmeSB3aGVuIFNTUkMgY2hhbmdlcwoJICBFbWl0IGEgZ19vYmplY3Rfbm90aWZ5IHdoZW4gdGhlIFNTUmMgY2hhbmdlcyBiZWNhdXNlIG9mIGEgY29sbGlzaW9uLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDEwOjA0OjUxICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgIEFkZCBuZXcgcGx1Z2luIHRvIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3NpbmcgaGVhZGVyIHRvIGdzdC9kY2NwL01ha2VmaWxlLmFtCgoyMDA5LTA0LTI1IDAwOjQ0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3RzIGJpbmFyaWVzCgoyMDA5LTA0LTI1IDAwOjQyOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogZGlzdCBsaWJnc3Rkc2hvdy5kZWYgYnkgYWRkaW5nIGl0IHRvIHdpbjMyL01BTklGRVNUCgkgIEZpeGVzICM1Nzg1NjMuCgoyMDA5LTA0LTI0IDE4OjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IENoYW5nZXMgc3JjIGNhcHMgdG8gYXBwbGljYXRpb24veC1pc28tbXA0CgkgIEZpeGVzICM1ODAwMDUKCjIwMDktMDQtMjQgMTY6MDE6NDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IENvbW1pdCB0aGUgd2luMzIgY29uZmlnIHdpdGggYnVtcGVkIHZlcnNpb24gbnVtYmVyLgoJICBTaG91bGQgaGF2ZSBjb21taXR0ZWQgdGhpcyB3aGVuIEkgdW5mcm96ZSB0aGUgYnVpbGQgbGFzdCB0aW1lLCBzb3JyeS4KCjIwMDktMDQtMjQgMTQ6NTE6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZXhjbHVkZSByc25kdmRiaW4gZnJvbSB0aGUgc3RhdGVzIHRlc3QKCjIwMDktMDQtMjQgMTU6NDI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogZml4IGNvbmZpZ3VyZSB0byB1c2UgcHJvcGVyIHNoZWxsIHN5bnRheC4gZml4ZXMgIzU4MDA5MQoKMjAwOS0wNC0yMyAxNzozMzoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBGaXggY29tcGlsYXRpb24gb24gbmV3ZXIgbGliU291bmRUb3VjaAoJICBOZXdlciBsaWJzb3VuZHRvdWNoIHJlcXVpcmVzIHRoYXQgd2UgaW5jbHVkZSBhbiBleHRyYSBoZWFkZXIgdGhhdCB3YXNuJ3QKCSAgcHJldmlvdXNseSByZXF1aXJlZCwgc28gZGVmaW5lIEhBVkVfU09VTkRUT1VDSF8xXzQgZm9yIG5ld2VyIGJ1aWxkcyBzbyB0aGF0IGl0CgkgIGdldHMgaW5jbHVkZWQuCgoyMDA5LTA0LTIwIDExOjM4OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBtb3JlIGNsZWFudXBzCgkgIFVzZSBub3JtYWwgZ3N0LWRlZmluZXMgaW4gUExVR0lOX0RFRklORS4gU2hvcnRlbiBfc3RhcnQvc3RvcCBtZXRob2QgbmFtZXMuCgkgIE1vcmUgaWRlYXMuIE1vdmUgZGVidWcgY2F0ZWdvcnktaW5pdCBkb3duIHRvIHBsdWdpbi1pbml0LgoKMjAwOS0wNC0yMCAwOTo1MTo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogdXNlIGEgbmljZXIgZm9udCBmYW1pbHkKCjIwMDktMDQtMjAgMTA6MjQ6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHZhcmlvdXMgY2xlYW51cHMsIGRvY3MgYW5kIGNvbW1lbnRzCgkgIFJlbW92ZSB1bnVzZWQgYmFzZV9pbml0LiBBZGQgYmFzaWMgZG9jIGJsb2IuIFJldXNlIHF1ZXJ5IG9iamVjdC4gUmVuYW1lCgkgIHZhcmlhYmxlcyBmb3IgY2xhcml0eS4gQWRkIGNvbW1lbnRzIGFuZCBUb0Rvcy4KCjIwMDktMDQtMjAgMDk6NDk6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHJlbW92ZSBpZmFjZSBwcm94eQoJICBXaGVuIHdlIGdldCBidXMgbWVzc2FnZXMgZm9yIHNldHRpbmcgdGhlIHhpZCwgd2UgaGF2ZSB0aGUgcmVhbCBzaW5rIGVsZW1lbnQKCSAgaW5zdGFuY2UgYXMgbWVzc2FnZV9zcmMuIE5vIG5lZWQgdG8gcHJveHkgdGhlIHhvdmVybGF5IGlmYWNlIHRoZXJlZm9yZQoJICAoYXV0b3ZpZGVvc2luayBkb2VzIG5vdCBkbyBpdCBlaXRoZXIpLiBBbHNvIHdlIGRvbid0IG5lZWQgdG8gcmV3cml0ZSB0aGUKCSAgbWVzc2FnZSBzcmMgb2YgYWxsIG1lc3NhZ2VzIGZyb20gdGhhdCBzaW5rLgoKMjAwOS0wNC0yMyAxMTowNDo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXQtc2VsZWN0b3I6IEZvcndhcmQgc2VnbWVudCBldmVudHMgZm9yIHRoZSBhY3RpdmUgcGFkIGltbWVkaWF0ZWx5LgoJICBXaGVuIGEgc2VnbWVudCBldmVudCBpcyByZWNlaXZlZCBvbiB0aGUgYWN0aXZlIHBhZCwgZm9yd2FyZCBpdCBkb3duc3RyZWFtCgkgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgZGVmZXJyaW5nIGl0IHVudGlsIHRoZSBuZXh0IGRhdGEgYnVmZmVyIGFycml2ZXMuIFRoaXMKCSAgZml4ZXMgcHJvYmxlbXMgd2l0aCBzZWdtZW50IHVwZGF0ZXMgbmV2ZXIgYmVpbmcgc2VudCBkb3duc3RyZWFtLCBsaWtlIHRob3NlCgkgIG5lZWRlZCBmb3Igc3BhcnNlIHN0cmVhbXMsIG9yIGZvciBjbG9zaW5nIHByZXZpb3VzbHkgb3BlbmVkIHNlZ21lbnRzLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIERWRCBtZW51cyB3aXRoIGEgc3RpbGwgdmlkZW8gZnJhbWUgYW5kIGFuIGF1ZGlvIHRyYWNrLAoJICBmb3IgZXhhbXBsZS4KCSAgRml4ZXM6ICM1Nzc4NDMKCjIwMDktMDQtMjIgMTg6MDE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHdhcm5pbmcKCjIwMDktMDQtMjAgMjA6MDA6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IGRpZmZlcmVudCBjYXBzIGRlcGVuZGluZyBvbiB0aGUgaW5wdXQKCjIwMDktMDQtMjIgMTY6MjU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogT25seSBmcmVlIHBhZCBwcml2YXRlIHdoZW4gcGFkIGlzIGRpc3Bvc2VkCgoyMDA5LTA0LTIyIDE5OjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdjogQWRkIGRvY3VtZW50YXRpb24gdG8gZmx2bXV4IGFuZCBmbHZkZW11eAoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM3MzcuCgoyMDA5LTA0LTIyIDE5OjQ1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14ZjogTWFyayBtb3N0IGZpZWxkcyBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFzIHByaXZhdGUKCjIwMDktMDQtMjIgMTk6NDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA0LTIyIDE5OjI0OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnBzZGlzcGxheXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIG14Zm11eCBhbmQgdXBkYXRlIHRoZSBkb2NzCgoyMDA5LTAzLTE5IDE1OjM3OjE3IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogVXNlIGNvcnJlY3QgaGVhZGVyIGZpbGUKCSAgbW9kcGx1ZydzIHNuZGZpbGUuaCBjb25mbGljdHMgd2l0aCBsaWJzbmRmaWxlJ3Mgc25kZmlsZS5oLCBzbwoJICB3ZSdsbCBhY2Nlc3MgaXQgZGlyZWN0bHkgdXNpbmcgbW9kcGx1Zy9zbmRmaWxlLmguICBGaXhlcyAjNTczODQ5CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNToyOTowNCAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIG00L2dzdC1zZGwubTQ6CgkgIHNkbDogVXNlIFNETCBzdGF0aWMtbGlicyBmb3IgY29uZnRlc3QKCSAgRml4ZXM6ICM1NzM4NDcuICBUaGlzIGZpeGVzIGJ1aWxkaW5nIHdpdGggU0RMIG9uIFdpbmRvd3MuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNDo1NToyNiAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBHZXQgbnVtYmVyIG9mIHByb2Nlc3NvcnMgb24gd2luMzIKCSAgRml4ZXMgIzU3Mzg0OC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE0OjQ5OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogQWRkIHBrZ2NvbmZpZyBjaGVjayBmb3Igc291bmR0b3VjaC0xLjQKCSAgRml4ZXMgIzU3Mzg0Ni4KCjIwMDktMDItMjYgMTQ6MTg6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICBBZGQgaW50ZXJsYWNlZCBzdXBwb3J0IHRvIHZpZGVvcGFyc2UKCSAgQWRkIGEgdmlydHVhbCBtZXRob2QgaW4gcmF3cGFyc2UgdG8gc2V0IGJ1ZmZlciBmbGFncy4gIFRoaXMgZG9lc24ndAoJICB1c2UgQVBJIGZyb20gdW5yZWxlYXNlZCAtYmFzZSwgc2luY2UgaXQgZGVmaW5lcyBHU1RfVklERU9fQlVGRkVSX1RGRgoJICBpZiBpdCdzIG5vdCBkZWZpbmVkIHlldC4KCjIwMDktMDQtMjEgMjI6MTM6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjM5NDFlYSB0byA2YWIxMWQxCgoyMDA5LTA0LTIxIDEzOjI3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ3J0cG11eC1maXhlcycKCjIwMDktMDQtMjEgMTY6NDg6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IElmIHRoZSBjb25uZWN0aW9uIGZhaWxzLCBlbWl0IGEgcmVkaXJlY3Rpb24gbXNnIHRvIHRoZSBydHNwIGVxdWl2YWxlbnQuCgkgIFRoaXMgc2hvdWxkIGhlbHAgZml4IHRoZSBpc3N1ZSB3aXRoIFdpbmRvd3MgTWVkaWEgU2VydmVyIHVzaW5nIHJ0c3AuLi4gYnV0CgkgIHN0aWxsIGRlY2xhcmluZyB0aGUgc3RyZWFtIHdpdGggbW1zOi8vCgoyMDA5LTA0LTIxIDE2OjA4OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBPbmx5IGVycm9yIG91dCBhdCBFT1MgcHVzaCBmYWlsdXJlIGlmIHdlIGRvbid0IGhhdmUgYW55IHN0cmVhbXMuCgkgIFRoaXMgc2hvdWxkIHJlbW92ZSB0aGUgYm9ndXMgZXJyb3IgbWVzc2FnZXMgd2hpbGUgc3RpbGwga2VlcGluZyB0aGUgb3JpZ2luYWwKCSAgaW50ZW50IG9mIHRoaXMsIHdoaWNoIGlzIHRvIGluZm9ybSB0aGUgcGlwZWxpbmUvYXBwbGljYXRpb24vdXNlciB0aGF0IHdlCgkgIGNvdWxkIG5vdCBmaW5kIGFueSB2YWxpZCBzdHJlYW1zLgoJICBUaGVyZSBhcmUgbWFueSByZWFzb25zIHdoeSBwdXNoaW5nIGFuIGV2ZW50IGNhbiBmYWlsLCBhbmQgbm90IGFsbCBvZiB0aGVtIGFyZQoJICBiZWNhdXNlIHRoZXJlJ3Mgbm8gbGluayBkb3duc3RyZWFtIChpdCBjb3VsZCBiZSBiZWNhdXNlIGl0IHdhcyBibG9ja2VkLCBvcgoJICBmbHVzaGluZykuCgoyMDA5LTA0LTEwIDE5OjI0OjI2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIGhhY2sgc3BlY2lmaWMgZm9yIGl0dmhkCgkgIGl0dmhkIG1hc2tzIGl0cyBoMjY0IHZpZGVvIHN0cmVhbSBhcyBhIHByaXZhdGUgc3RyZWFtIG1ha2luZyBpdCBoYXJkZXIgZm9yCgkgIG90aGVyIHNldCB0b3AgYm94ZXMgdG8gZGVjb2RlLiB0aGlzIGNoZWNrcyBmb3Igc3BlY2lmaWMgcHJvZ3JhbSBudW1iZXIsIHZpZGVvCgkgIHBpZCBhbmQgc3RyZWFtIHR5cGUgY29tYmluYXRpb24gYmVmb3JlIGRlY2xhcmluZyBpdCBhcyBoMjY0LgoKMjAwOS0wNC0xMCAxOTowNjo1NSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZGV0ZWN0IEFDMyBzdHJlYW1zIGluIFBNVCB0YWJsZQoJICBhZGQgJ2hhcy1hYzMnIGJvb2xlYW4gdG8gcG10IGJ1cyBtZXNzYWdlCgoyMDA5LTA0LTEwIDAxOjE2OjMwICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBpdHYgaGQgaGFjawoKMjAwOS0wNC0xMCAwMToxMTowMSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgaGFjayBmb3IgaXR2aGQgc2lkIHRvIGRldGVjdCBtcGVnMSBhcyBoMjY0CgoyMDA5LTA0LTIwIDE4OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSB1c2VsZXNzIGNhcHMgbWFuZ2xpbmcKCjIwMDktMDQtMjAgMTg6MzY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIHZhcmlhYmxlIGZvciBtb3JlIGNsYXJpdHkKCjIwMDktMDQtMjAgMTc6NDM6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMDktMDQtMjAgMTc6NDI6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEbyB0aGUgaW5jbHVkZXMgbG9jYWxseQoKMjAwOS0wNC0yMCAxNjozNDozMCArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSAgcGF0Y2ggb3ZlciBsb2dpYyBlcnJvcnMgaW4gb3N4dmlkZW9zcmMKCSAgYXBwbGUncyBjb21waWxlciBjYXJwcywgd2l0aCByZWFzb24sIGFib3V0IHNvbWUgY29uc3RydWN0cyBpbiBvc3h2aWRlb3NyYy5jCgkgIGZpeCB0aGVtLgoJICBhbHNvIGl0IHNlZW1zIHRoYXQgZm9yIHNvbWUgcmVhc29uIHRoaXMgcmVxdWlyZWQgYSBnc3QtaW5kZW50IHJ1bi4gd2hlZQoKMjAwOS0wNC0yMCAxMzowOTo0NiArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIGFkZCBvc3h2aWRlb3NyYwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOiBBdXRvY29uZmlzY2F0aW9uLgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOiBBZGQgb3N4dmlkZW9zcmMuIFNob3VsZCBmaXggIzE1MzY4NC4KCSAgUGF0Y2gtYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgIFBhdGNoLWJ5OiBBbGkgU2FiaWwgPGFsaS5zYWJpbEB0YW5kYmVyZy5jb20+CgkgIFBhdGNoLWJ5OiBCYXJyYWN1ZGEgTmV0d29ya3MgPGp1c3RpbkBhZmZpbml4LmNvbT4KCjIwMDktMDQtMTkgMTc6MTg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBpbnRlcmxhY2luZyBhdXRvZGV0ZWN0aW9uIG9yIHRvIGVuZm9yZSBkZWludGVybGFjaW5nCgkgIEZvciB0aGlzIGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0aGF0IGRlZmF1bHRzIHRvICJpbnRlcmxhY2VkIiBmb3Igbm93IGFzCgkgIG1vc3QgZGVjb2RlcnMvZGVtdXhlcnMgZG9uJ3QgcHJvcGVybHkgc2V0IHRoZSAiaW50ZXJsYWNlZCIgZmllbGQgb24gdGhlCgkgIGNhcHMgeWV0LgoJICBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAiYXV0byIgdGhlIGVsZW1lbnQgd2lsbCB3b3JrIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdW5sZXNzIHRoZSBjYXBzIGNvbnRhaW4gdGhlICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMDktMDQtMTggMjM6NDI6NTcgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBsZWFrIG9mIEdTVF9UWVBFX0xJU1QgZ3ZhbHVlCgoyMDA5LTA0LTE4IDEzOjA5OjIzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZml4IGxlYWsgaW4gc3JjX3BhZF9xdWVyeQoKMjAwOS0wNC0xNyAxNjoxNjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogam9pbiB0aGUgUlRDUCB0aHJlYWQKCSAgQXZvaWQgYSBjYXNlIHdoZXJlIGEgam9pbmFibGUgdGhyZWFkIHdvdWxkIGJlIGxlZnQgdW5qb2luZWQsIHdoaWNoIGxlYWtlZCB0aGUKCSAgdGhyZWFkIHN0cnVjdHVyZS4KCSAgRml4ZXMgIzU3NzMxOC4KCjIwMDktMDQtMTcgMTU6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBVc2UgR1NUXyhERUJVR3xXQVJOSU5HfEVSUk9SKV9PQkpFQ1QgaW5zdGVhZCBvZiB0aGUgbm9uLU9CSkVDVCBvbmVzCgoyMDA5LTA0LTE3IDE1OjM5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogUmVzZXQgaGlzdG9yeSBpZiBESVNDT05UIGlzIHNldCBvbiB0aGUgaW5jb21pbmcgYnVmZmVyCgoyMDA5LTA0LTE3IDE1OjM5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogRml4IHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgd2l0aCBSRkYgZmxhZyBzZXQKCjIwMDktMDQtMTYgMjI6MTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFByb3Blcmx5IGhhbmRsZSB0aGUgbmV3IGludGVybGFjZWQgc3VwcG9ydCBmcm9tIGxpYmdzdHZpZGVvIGZvciAoZGUpbXV4aW5nCgoyMDA5LTA0LTE2IDE3OjQxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTI6IFJlbmFtZSBsaW5lX2xlbmd0aCB0byByb3dfc3RyaWRlIGFuZCByZW1vdmUgb3V0cHV0X3N0cmlkZQoKMjAwOS0wNC0xNiAxNTo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEltcGxlbWVudCBzdXBwb3J0IGZvciBSRkYgYW5kIE9ORUZJRUxEIGJ1ZmZlciBmbGFncwoKMjAwOS0wNC0xNiAxODozNjoxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGFkZCBhIGluaXRpYWwgcG9ydCBvZiBhIHNpbmsgd2l0aCBmcHMgZGlzcGxheQoJICBUaGlzIG5vdyB3b3JrcyB3aXRoIGEgZXZlbnQgcHJvYmUuIE5lZWRzIHNvbWUgZXh0cmEgd29yay4KCjIwMDktMDMtMDkgMTg6MjI6MjggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW4gdXAgYW5kIGZpeCBhc3NlcnRpb24gZmFpbCB3aGVuIHNldHRpbmcgem9vbSBpbiBOVUxMIHN0YXRlCgoyMDA5LTAzLTA5IDE4OjMxOjA3ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3JtYXQgbWF0Y2hpbmcgd2hlbiBkZXRlY3RpbmcgYWxsb3dlZCBmcmFtZSByYXRlCgoyMDA5LTAzLTA5IDE4OjI1OjQ4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvc2UgcGVuZGluZyBzdGF0ZSB3aGVuIGNoYW5naW5nIHJlc29sdXRpb24KCjIwMDktMDItMjcgMTc6MTI6MzggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2hhbmdlIGltZy1kb25lIHNpZ25hbCBwYXJhbWV0ZXIgZnJvbSBHU3RyaW5nKiB0byBjb25zdCBnY2hhcioKCSAgRG9uJ3QgYWxsb3cgc2V0dGluZyBmaWxlbmFtZSB2aWEgaW1nLWRvbmUgc2lnbmFsIHBhcmFtZXRlciBidXQgZm9yY2UgYXBwCgkgIHVzZSBmaWxlbmFtZSBwcm9wZXJ0eS4gRG9uJ3Qgc3RvcCBjYXB0dXJlIHdoZW4gc2V0dGluZyBmaWxlbmFtZSBwcm9wZXJ0eS4KCSAgVXBkYXRlIGNoZWNrIHVuaXQgdGVzdCBiYXNlZCBvbiB0aGUgY2hhbmdlLgoKMjAwOS0wNC0xNSAxMzoyMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIEdTVF9ERUJVR19GVU5DUFRScwoKMjAwOS0wNC0xNSAxMzoxNTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2UgbG9ja2VkIHBhZCBvbiByZWxlYXNlX3BhZAoJICBSZWxlYXNlIHRoZSBzcGVjaWFsIHBhZCBpZiB0aGUgcGFkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbXV4ZXIuCgoyMDA5LTA0LTE1IDEzOjA5OjI3IC0wNDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBzcGVjaWFsIG9uIHBhZCBkaXNwb3NlCgkgIEZpeGVzICM1Nzc2OTAKCjIwMDktMDQtMTUgMTg6MTQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcmV2ZW50IG92ZXJmbG93IGluIEVPUyBlc3RpbWF0aW9uCgkgIFVzZSBhIGd1aW50NjQgaW5zdGVhZCBvZiBhIGd1aW50IHRvIGhvbGQgYSA2NGJpdCB2YWx1ZSB0byBwcmV2ZW50IGNvbXBsZXRlbHkKCSAgYm9ndWVzIEVPUyBlc3RpbWF0aW9uIHZhbHVlcyBkdWUgdG8gb3ZlcmZsb3dzLgoKMjAwOS0wNC0xNSAxNzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiB3ZSBzaG91bGQgbm90IHByb3ZpZGUgYSBjbG9jawoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHByb3ZpZGUgYSBjbG9jay4KCjIwMDktMDQtMTUgMTc6Mjg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3JlIGVzdGltYXRlZCBFT1MgZml4ZXMKCSAgRG8gbW9yZSBhY2N1cmF0ZSBFT1MgZXN0aW1hdGUgYW5kIGd1YXJkIGFnYWluc3QgYmFja3dhcmQgdGltZXN0YW1wcy4KCjIwMDktMDQtMTUgMTc6MjU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIE1ha2Ugc3VyZSB3ZSByZWxlYXNlIHRoZSBqaXR0ZXJidWZmZXIgbG9jayBiZWZvcmUgd2Ugc3RhcnQgcHVzaGluZyBvdXQgZGF0YQoJICBiZWNhdXNlIGVsc2Ugd2UgbWlnaHQgZGVhZGxvY2suCgoyMDA5LTA0LTE1IDE1OjQ2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIGRlaW50ZXJsYWNlMjogTW92ZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdCB0byBhIGZ1bmN0aW9uIHBhcmFtZXRlcgoKMjAwOS0wNC0xNSAxNTozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgdGhlIGZpZWxkIG9yZGVyCgoyMDA5LTA0LTE1IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogQWRkIHN1cHBvcnQgZm9yIFlWWVUgY29sb3JzcGFjZQoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIFlVWTIgd2l0aCBqdXN0IENyIGFuZCBDYiBzd2FwcGVkLiBBcwoJICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gd2hlbiBkZWludGVybGFjaW5nCgkgIHRoaXMgd29ya3MuCgoyMDA5LTA0LTEzIDEzOjMyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU21hbGwgY2xlYW51cAoKMjAwOS0wNC0xMCAxODowMDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggdGhlIGRlYnVnZ2luZyBzeXN0ZW0gZGlzYWJsZWQKCSAgT25lIEdTVF9ERUJVR19DQVRFR09SWV9JTklUIHNob3VsZCBiZSBlbm91Z2ggYW55d2F5LgoJICBGaXhlcyAjNTc4NTYyIChzcG90dGVkIGJ5IERhdmlkIEhveXQpLgoKMjAwOS0wNC0wOSAyMzo1MzozOSArMDIwMCAgSmFuaW4gS29sZW5jIDxqYW5pbi5rb2xlbmMgYXQgbWFyYW5kLnNpPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIHgyNjRlbmM6IGFkZCBmb3JjZSBrZXlmcmFtZSBldmVudCBoYW5kbGluZwoJICBVc2UgdGhlIEdzdEZvcmNlS2V5VW5pdCBldmVudCB0byBmb3JjZSBhIGtleWZyYW1lLgoJICBGaXhlcyAjNTc4MTEyLgoKMjAwOS0wNC0wOCAxMTo1Mjo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIGFjbWVuYywgYWNtbXAzZGVjLCBzZHA6IGxpbmsgdG8gYWxsIHJlcXVpcmVzIGxpYnJhcmllcyBvbiB3aW4zMi4KCSAgQWRkIHdpbnNvY2sgZm9yIHdpbmRvd3MgKGZvciBzZHApLiBMaW5rIHRvIGFsbCB0aGUgcGx1Z2lucy1iYXNlCgkgIGxpYnMgd2UgaW5kaXJlY3RseSB1c2UgZm9yIGFjbW1lbmMgYW5kIGFjbW1wM2RlYy4KCjIwMDktMDQtMDcgMTU6NTA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgbXhmOiBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgaWYgbXhmbXV4ICEgbXhmZGVtdXggcGlwZWxpbmVzIGFyZSB3b3JraW5nIHdpdGhvdXQgZXJyb3JzCgoyMDA5LTA0LTA3IDE1OjQ5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBpbnZhbGlkIGJ1ZmZlciBvZmZzZXRzLCBpbnN0ZWFkIGFzc3VtZSBvZmZzZXQgPT0gMAoKMjAwOS0wNC0wNyAxNTo0NTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IGNvbXBhcmlzb24KCjIwMDktMDQtMDcgMTU6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgVXNlIFVMIGRhdGFiYXNlIGZvciBhbGwgbWV0YWRhdGEgVUxzCgoyMDA5LTA0LTA3IDA0OjUzOjAyICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNsaWdodGx5IGJyb2tlbiBidWZmZXItaW4tc2VnbWVudCBjaGVjayAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpCgoyMDA5LTA0LTA1IDAzOjUwOjE5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHB1c2ggbW9kZSBzZWVraW5nIChhYWNwYXJzZSwgYW1ycGFyc2UpCgkgIFNlbmRpbmcgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IGZvcndhcmQgYmVmb3JlIHRha2luZyB0aGUgc3RyZWFtIGxvY2sgYWN0dWFsbHkKCSAgd29ya3MsIGluIGNvbnRyYXN0IHRvIGRlYWRsb2NraW5nIGluIGRvd25zdHJlYW0gcHJlcm9sbF93YWl0IChodW5rIDEpLgoJICBBZnRlciB0aGF0IHdlIGdldCB0aGUgY2hhaW4gZnVuY3Rpb24gYmVpbmcgc3R1Y2sgaW4gYSBidXN5IGxvb3AuIFRoaXMgaXMgZml4ZWQKCSAgYnkgdXBkYXRpbmcgdGhlIG1pbmltdW0gZnJhbWUgc2l6ZSBpbnNpZGUgdGhlIHN5bmNocm9uaXphdGlvbiBsb29wIGJlY2F1c2UgdGhlCgkgIHN1YmNsYXNzIGFza3MgZm9yIG1vcmUgZGF0YSBpbiB0aGlzIHdheSAoaHVuayAyKS4KCSAgRmluYWxseSwgdGhpcyBsZWFkcyB0byBhIHZlcnkgcHJvYmFibGUgY3Jhc2ggYmVjYXVzZSB0aGUgc3ViY2xhc3MgY2FuIGZpbmQgYQoJICB2YWxpZCBmcmFtZSB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgZGF0YSBpbiB0aGUKCSAgYWRhcHRlci4gVGhpcyBtYWtlcyB0aGUgc3Vic2VxdWVudCBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBjYWxsIHJldHVybiBOVUxMLAoJICB3aGljaCBpcyBub3QgZXhwZWN0ZWQgKGh1bmsgMykuCgoyMDA5LTA0LTA0IDIxOjE5OjExICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDBlYTg5ZSB0byBiMzk0MWVhCgoyMDA5LTA0LTA0IDE3OjUxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogZml4IHNvbWUgcmVmY291bnQgbWlzdGFrZXMgYW5kIGRvIHNvbWUgY2xlYW5pbmcgdXAKCSAgTm8gbmVlZCB0byB1bnJlZiBidWZmZXJzIGlmIHBhZF9wdXNoIHJldHVybnMgc29tZXRoaW5nIG5vbi1GTE9XX09LLgoJICBJbiBmYWN0LCB0aGlzIHdpbGwgY2F1c2UgYXNzZXJ0aW9ucyBvciBjcmFzaGVzLiBIb3dldmVyLCB3ZSBkbyBuZWVkCgkgIHRvIHVucmVmIHRoZSBpbnB1dCBidWZmZXIgd2hlbmV2ZXIgd2UgZG9uJ3QgcGFzcyBpdCBkb3duc3RyZWFtLiBBbHNvLAoJICBhIG5vbi1PSyBmbG93IHJldHVybiBpcyBub3QgYW4gZXJyb3IsIHNvIGRvbid0IHBvc3QgZXJyb3IgbWVzc2FnZXMgb24KCSAgdGhlIGJ1cyAtIHRoZSBwaXBlbGluZSBtYXkganVzdCBiZSBzaHV0dGluZyBkb3duLiBNaXNjZWxsYW5lb3VzIG90aGVyCgkgIGNsZWFuLXVwcyBhbmQgY3JhY2sgcmVtb3ZhbC4gUGxlbnR5IG9mIHdvcmsgbGVmdCBmb3IgdGhvc2Ugd2hvIGZlZWwKCSAgbGlrZSBpdC4KCjIwMDktMDQtMDQgMTQ6NTQ6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4YjNkOTEgdG8gZDBlYTg5ZQoKMjAwOS0wNC0wMyAyMzoxMDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IGR2ZG5hdiB2ZXJzaW9uIGNoZWNrCgkgIEZpeGVzICM1Nzc4NjQuIFRoaXMgdGltZSBmb3IgcmVhbC4KCjIwMDktMDQtMDMgMTc6NTU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IHJlcXVpcmUgbGliZHZkbmF2ID49IDQuMS4yIGZvciBkdmRuYXZfZ2V0X2N1cnJlbnRfdGltZSgpCgkgIEZpeGVzICM1Nzc4NjQuCgoyMDA5LTA0LTAzIDEwOjI5OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIG1pc2M6IEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjIuMQoKMjAwOS0wNC0wMSAxNzo0MTo0MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTZW5kIGJvdGggdGhlIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHN1YnN0cmVhbSBJRCBpbiB0aGUgc3RyZWFtIGNoYW5nZS4KCSAgV2hlbiBzZW5kaW5nIHRoZSBzdHJlYW0gY2hhbmdlIG1lc3NhZ2UocykgdG8gdGhlIGRlbXV4ZXIsIGFsc28gaW5jbHVkZSB0aGUKCSAgbG9naWNhbCBzdHJlYW0gaWQgYWxvbmcgd2l0aCB0aGUgcGh5c2ljYWwgSUQsIHNvIHRoYXQgdGhlIGRlbXV4ZXIgY2FuIHJlbWFwCgkgIGxvZ2ljYWwtPnBoeXNpY2FsIE1QRUcgc3RyZWFtIElELgoKMjAwOS0wNC0wMSAwMjoyMzoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBVc2UgbmV3IEdzdE5hdmlnYXRpb24gZnVuY3Rpb25hbGl0eS4KCSAgSGFuZGxlIHRoZSBuZXcgRFZEIGNvbW1hbmRzLCBzbyB0aGF0IHdlIGNhbiBoYW5kbGUgY29tbWFuZHMgZnJvbSBhIHBsYXllcgoJICB0byBjaGFuZ2UgYW5nbGUsIGp1bXAgdG8gbWVudXMgZXRjLiBVc2UgdGhlIG5ldyBHc3ROYXZpZ2F0aW9uIGV2ZW50IHBhcnNpbmcKCSAgZnVuY3Rpb25zLCBpbnN0ZWFkIG9mIGhhbmQtcm9sbGVkIHN0dWZmLgoJICBTZW5kIEdzdE5hdmlnYXRpb24gbm90aWZpY2F0aW9uIG1lc3NhZ2VzIHdoZW4gdGhlIG1vdXNlIGVudGVycyBhIGJ1dHRvbgoJICBvciBsZWF2ZXMgaXQsIHNvIFVJIGNhbiB0dXJuIHRoZSBtb3VzZSBjdXJzb3IgdG8gYSBoYW5kIGljb24uCgoyMDA5LTAzLTMwIDAxOjA3OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBTd2l0Y2ggdG8gdXNpbmcgYSBoYXJkLWNvZGVkIG1wZWcyZGVjLCBhbmQgY2hhbmdlIHBhZCBibG9ja2luZyBhIGJpdC4KCSAgQ2hhbmdlIHRoZSBwYWQgYmxvY2tpbmcgYmVoYXZpb3VyIGR1cmluZyBzdGFydHVwLCBhbmQgdXNlIGEgaGFyZC1jb2RlZCBtcGVnMmRlYyAoZm9yIHRoZSBtb21lbnQpLCBpbiBvcmRlciB0byBtYWtlIHRoaW5ncyB3b3JrIHdpdGggcGxheWJpbjIuCgoyMDA5LTAzLTI1IDEyOjMxOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBuZXdsaW5lIHRvIGRlYnVnIGdfcHJpbnQgc3RhdGVtZW50CgoyMDA5LTAzLTI1IDAyOjIwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1ha2UgaGlnaGxpZ2h0cyB3b3JrIHdoZW4ganVtcGluZyBpbnRvIG1lbnVzCgkgIE1ha2UgdGhlIGhpZ2hsaWdodHMgcmUtYXBwZWFyIGNvcnJlY3RseSB3aGVuIGp1bXBpbmcgYmFjayBpbnRvIG1lbnVzCgkgIGJ5IG1ha2luZyBzdXJlIHRvIHNldCB0aGUgZmx1c2hpbmdfc2VlayBmbGFnIGZvciB1c2VyLWFjdGlvbiBpbml0aWF0ZWQKCSAgc2Vla3MuCgkgIEZpZGRsZSBzb21lIGRlYnVnIHJlbGF0ZWQgdG8gdHJhY2tpbmcgZG93biB0aGUgaXNzdWUuCgoyMDA5LTAzLTI1IDAxOjIxOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFN1cHBvcnQgbXVsdGlhbmdsZSB0aXRsZXMuCgkgIEFkZCBhIHdvcmthcm91bmQgZm9yIGFuIGFwcGFyZW50IGxpYmR2ZG5hdiBidWcgd2hlcmUgaXQgbG9zZXMgbmF2IHBhY2tldHMKCSAgZHVyaW5nIG11bHRpYW5nbGUgdGl0bGVzLCBhbmQgYWRkIHNvbWUga2V5cHJlc3MgYmluZGluZ3MgdG8gc3dpdGNoIHRoZSBhbmdsZS4KCjIwMDktMDMtMTggMDk6MzU6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogQWRkIGJhY2sgaW4gc3VwcG9ydCBmb3IgdXNpbmcgaGFyZGNvZGVkIGE1MmRlYwoKMjAwOS0wMy0xNiAyMDozMTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogQWRkIHNvbWUgZGVidWcgd2hlbiBjcmVhdGluZyB0aGUgb3V0cHV0IHBhZHMgaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDMtMTAgMTA6Mzk6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByZXNpbmR2ZDogTW9yZSBoYWNraW5nIG9uIHRoZSBhdWRpbyBkZWNvZGVyLgoKMjAwOS0wMy0wNSAwMDowNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBUcmltIGJhY2sgdGhlIGdfcHJpbnQgZGVidWcgLSBjb252ZXJ0IHRvIEdTVF9ERUJVRyBhbmQgR1NUX0xPRwoKMjAwOS0wMy0wNCAxNjoxNjo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmQ6IEV4dGVuZCB0aGUgUmVzaW4gYXVkaW8gZGVjb2RlciBlbGVtZW50LCBhbmQgc3dpdGNoIHJzbmR2ZGJpbiB0byB1c2UgaXQKCjIwMDktMDItMjcgMTA6MTg6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZDogRmlyc3QgcGFydCBvZiB0aGUgcmUtcGx1Z2dpbmcgYXVkaW8gZGVjb2RlcgoKMjAwOS0wMi0yNyAwOTo0MjozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiByZW1vdmUgdW51c2VkIGNvZGUgcGF0aCBmcm9tIHRoZSBiaW4KCjIwMDktMDItMjYgMDA6Mjk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogSW5kZW50IHNvbWUgdGhpbmdzCgoyMDA5LTAyLTI2IDAwOjI3OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICByZXNpbmR2ZDogU3dpdGNoIEdTVF9CT0lMRVJQTEFURSB0byBHX0RFRklORV9UWVBFIGZvciBubyByZWFsIHJlYXNvbi4KCjIwMDktMDMtMjQgMDE6MDI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IEFkZCBmYXN0c3RhcnQsIGFuZCB3b3JrIGFyb3VuZCBzb21lIG11bHRpLWFuZ2xlIGlzc3VlcwoJICBBZGQgYSAnZmFzdC1zdGFydCcgcHJvcGVydHkgdG8gdGhlIHJzbmR2ZHNyYyBlbGVtZW50LCB0aGF0IGF0dGVtcHRzIHRvCgkgIGp1bXAgZGlyZWN0bHkgdG8gdGhlIERWRCBtZW51IHdoZW4gc3RhcnRpbmcuIERvZXNuJ3Qgd29yayBjb3JyZWN0bHkgb24gYWxsCgkgIHRpdGxlcyB5ZXQuCgkgIEFkZCB3b3JrYXJvdW5kcyBmb3IgaXNzdWVzIHdpdGggbXVsdGlwbGUgYW5nbGVzIGluIGxpYmR2ZG5hdjogVXNlIGEgaGV1cmlzdGljCgkgIHRvIGF2b2lkIGRldGVjdGluZyBkaXNjb250aW51aXRpZXMgZHVyaW5nIG11bHRpcGxlLWFuZ2xlIHRpdGxlcywgaXQgc2VlbXMKCSAgY2F1c2VkIGJ5IGxpYmR2ZG5hdiBsb3Npbmcgc29tZSBOQVYgcGFja2V0cyBpbiBtdWx0aWFuZ2xlIHRpdGxlcy4gRml4CgkgIHNlZWtpbmcgaW4gbXVsdGktYW5nbGUgdGl0bGVzIGJ5IGFsaWduaW5nIG91ciBzZWN0b3IgY2FsY3VsYXRpb24gbG9naWMKCSAgd2l0aCBsaWJkdmRuYXYncy4gQWxzbywgdXNlIGxpYmR2ZG5hdidzIGR2ZG5hdl9nZXRfY3VycmVudF90aW1lKCkgbWV0aG9kCgkgIHRvIGRldGVybWluZSB0aGUgbG9naWNhbCBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBjZWxsIHdoZW4gaXQgY2hhbmdlcywgYXMgdGhlCgkgIGNlbGxfc3RhcnQgdmFsdWUgaW4gdGhlIGNlbGxfY2hhbmdlIGV2ZW50IHByb3ZpZGVzIGEgbnVtYmVyIHRoYXQgZG9lc24ndAoJICBjb21wZW5zYXRlIGZvciBhbmdsZSBjZWxsIGJsb2Nrcy4KCjIwMDktMDMtMjEgMTk6MDQ6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU21hbGwgZGVidWcgb3V0cHV0IGNoYW5nZSBpbiB0aGUgc291cmNlIGVsZW1lbnQKCjIwMDktMDQtMDEgMDI6MjU6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWRkIHNvbWUgZGVidWcKCSAgQWRkIGEgbGl0dGxlIGJpdCBvZiBleHRyYSBkZWJ1Zy4gV3JhcCBhIGhhcmRjb2RlZCAjaWYgMCBpbnRvIGEgZGVmaW5lIGluc3RlYWQuCgoyMDA5LTA0LTAyIDEzOjA1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJlbmM6IFVucmVmIHBlZXIgY2FwcyBhZnRlciB1c2FnZSB0byBmaXggYSBtZW1vcnkgbGVhawoKMjAwOS0wNC0wMiAxMjo0NjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkgIG14Zm11eDogQWRkIHVuaXQgdGVzdHMKCjIwMDktMDQtMDEgMTU6NDU6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBmaXggbmVnb3RpYXRpb24gc28gdGhhdCB1cHN0cmVhbSBjYW4gYWN0dWFsbHkgZml4YXRlIHRvIGRvd25zdHJlYW0ncyByYXRlCgkgIElmIG9uZSBzaWRlIGhhcyBhIHByZWZlcmVuY2UgZm9yIGEgcGFydGljdWxhciBzYW1wbGUgcmF0ZSBvciBzZXQgb2Ygc2FtcGxlIHJhdGVzLCB3ZQoJICBzaG91bGQgaG9ub3VyIHRoaXMgaW4gdGhlIGNhcHMgd2UgYWR2ZXJ0aXNlIGFuZCB0cmFuc2Zvcm0gdG8gYW5kIGZyb20sIHNvIHRoYXQgZWxlbWVudHMKCSAgYWN0dWFsbHkga25vdyBhYm91dCB0aGUgb3RoZXIgc2lkZSdzIHNhbXBsZSByYXRlIHByZWZlcmVuY2UgYW5kIGNhbiBuZWdvdGlhdGUgdG8gaXQKCSAgaWYgc3VwcG9ydGVkLiBBbHNvIGFkZCB1bml0IHRlc3QgZm9yIHRoaXMuCgoyMDA5LTAzLTMxIDE2OjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERlbGF5IG5ld3NlZ21lbnQgYXMgbG9uZyBhcyBwb3NzaWJsZS4KCSAgSWYgbmV3c2VnbWVudCBpcyBzZW50ICh0b28pIGVhcmx5LCBjYXBzIG1heSBub3QgeWV0IGJlIGZpeGVkL3NldCwKCSAgYW5kIGRvd25zdHJlYW0gbWF5IG5vdCBoYXZlIGJlZW4gbGlua2VkLgoKMjAwOS0wMy0zMCAyMTo1NzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogZml4IGJpdHJhdGUgcHJvcGVydHkgc2V0dGluZ3MKCSAgQWxpZ24gYml0cmF0ZSBwcm9wZXJ0eSBpbnRlcnByZXRhdGlvbiB3aXRoIHVzdWFsIG1wZWcyZW5jIGJlaGF2aW91ci4KCSAgRml4ZXMgIzU3NTczNi4KCjIwMDktMDMtMjcgMjE6Mzk6MDUgKzAwMDAgIEFsYW4gRmFsbG9vbiA8YWZhbGxvb25AbHVtZW5lcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG1ha2UgLS1kaXNhYmxlLWV4dGVybmFsIHdvcmsgYWdhaW4KCjIwMDktMDMtMjcgMTk6Mzc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBqcDJrZGVjOiBpbXBsZW1lbnQgYmFzaWMgUW9TCgkgIERvbid0IHRyeSB0byBkZWNvZGUgZnJhbWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIGxhdGUgYW55d2F5LgoKMjAwOS0wMy0yNyAxNzo0NDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IGFkZCBvbl9ucHRfc3RvcCBzaWduYWwKCSAgQWRkIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gcnRwYmluIGFuZCBydHBqaXR0ZXJidWZmZXIgdG8gbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiB0aGF0IHRoZSBOUFQgc3RvcCBwb3NpdGlvbiBoYXMgYmVlbiByZWFjaGVkLgoKMjAwOS0wMy0yNyAxMToyMDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogcmVzZXQgc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWQoJICBSZXNldCB0aGUgbGFzdC1idWZmZXIsIHRoZSBwZW5kaW5nIHBhZCBhbmQgdGhlIHNlZ21lbnQgd2hlbiBnb2luZyB0byB0aGUgUkVBRFkKCSAgc3RhdGUuCgkgIEZpeGVzICM1NzY3MTIuCgoyMDA5LTAzLTI1IDIxOjI0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHJldXNpbmcgZWxlbWVudAoJICBTdGF0ZSBjaGFuZ2UgdG8gUkVBRFkgYW5kIHRoZW4gYmFjayB0byBQQVVTRUQgc2hvdWxkIHN0aWxsIHByb3ZpZGUKCSAgdGhlIHByb3BlciBzdHJ1Y3R1cmVzIGFzIGFyZSBvdGhlcndpc2UgZnJlc2hseSBhdmFpbGFibGUgZm9sbG93aW5nCgkgIGEgcmVxdWVzdF9uZXdfcGFkLgoJICBQb2ludGVkIG91dCBieSBUaGlhZ28gU2FudG9zLgoKMjAwOS0wMy0yNiAyMDoyODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogRml4IGNvbXBpbGF0aW9uIGFuZCBjb21waWxlciBlcnJvcnMgd2l0aCBHTGliIDwgMi4xNi4wCgoyMDA5LTAzLTI2IDE0OjI2OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBGaXggImNhc3QgdG8gcG9pbnRlciB0eXBlIG9mIGRpZmZlcmVudCBzaXplIiBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAzLTI2IDEzOjI0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBSZW5hbWUgZm9yZ290dGVuIGZ1bmN0aW9uIHRvIGZpeCB1bnJlc29sdmVkIHN5bWJvbHMgZXJyb3IKCjIwMDktMDMtMjYgMTM6MjA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmOiBVc2UgbXhmX3V7bCx1aWR9X2lzX2VxdWFsKCkgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBtZW1jbXAoKQoKMjAwOS0wMy0yNiAxMzoxMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZjogRGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFVMIGFuZCBVVUlECgoyMDA5LTAzLTI2IDEyOjQ2OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJKiBnc3QvbXhmL214ZndyaXRlLmg6CgkgIG14ZjogU291cmNlIGZpbGVzIGFuZCAjaW5jbHVkZSBjbGVhbnVwCgoyMDA5LTAzLTI2IDEyOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogVXNlIEdJT3MgZ19jb250ZW50X3R5cGVfZ3Vlc3MoKSBpZiBwb3NzaWJsZQoKMjAwOS0wMy0yNiAxMTo1MTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkgIG14ZjogVXNlIHRoZSBVTCBkYXRhYmFzZSBmb3Igc29tZSBtb3JlIFVMcwoKMjAwOS0wMy0yNiAxMTo0Mjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUmVtb3ZlIHNvbWUgR0xpYiA8IDIuMTQgY29tcGF0aWJpbGl0eSBzdHVmZgoKMjAwOS0wMy0yNiAxMTozNzoyOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbTogUG9ydCB0byBNaW5HVwoJICBGaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MzM6NTAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSAgeGRnbWltZTogTGluayB3aXRoIHdpbnNvY2sgbGlicmFyeSB0byBmaXggYnVpbGQgd2l0aCBNaW5HVwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjMyOjA4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgIGRjY3A6IFBvcnQgRENDUCBwbHVnaW4gdG8gTWluR1cKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMToyMzozMCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRjY3A6IERpc2FibGUgdGhlIGRjY3AgcGx1Z2luIGlmIG5vIHB0aHJlYWQgc3VwcG9ydCBpcyBhdmFpbGFibGUKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAwODoxMzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ214Zm11eCcKCjIwMDktMDMtMjYgMDg6MTI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IENsZWFudXAKCjIwMDktMDMtMjYgMDg6MTE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IEZpeCBoYW5kbGluZyBvZiBidWZmZXJzIHdpdGggbW9yZSB0aGFuIG9uZSBlZGl0IHVuaXQgYW5kIEVPUyBoYW5kbGluZwoKMjAwOS0wMy0yNSAyMzowNDoxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgbGFkc3BhOiBjb21tZW50IHNpZ25hbHByb2Nlc3NvciBjbGFzcyBtb3JlIGFuZCBkbyBtaW5vciBjb2RlIGNsZWFudXBzCgoyMDA5LTAzLTI1IDEyOjQwOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlID49IDAuMTAuMjIuMSBmb3IgJXUgcGFkIHRlbXBsYXRlIHN1cHBvcnQKCjIwMDktMDMtMjQgMTU6MjM6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBzZWxlY3RvcjogbWVyZ2UgdGhlIHRhZ3MKCSAgTWVyZ2UgdGhlIHRhZ3MgcmVjZWl2ZWQgb24gdGhlIGlucHV0LXNlbGVjdG9yIHNpbmtwYWRzIGluc3RlYWQgb2Ygb25seSBrZWVwaW5nCgkgIHRoZSBsYXN0IG9uZSB3ZSBzYXcuCgoyMDA5LTAzLTIzIDE5OjMzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBORVdTOgoJICBGaXggdmVyc2lvbiBudW1iZXIgaW4gdGhlIE5FV1MgZmlsZQoKMjAwOS0wMy0xOSAwMToxNzoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJ1c3lsb29wIHdoZW4gc2Vla2luZy4gRml4ZXMgIzU3NTM4OAoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGFmdGVyIGEgZGlzY29udCwgc2V0X21pbl9mcmFtZV9zaXplKDEwMjQpIGlzIGNhbGxlZCB3aGVuCgkgIGRldGVjdF9zdHJlYW0gcmV0dXJucyBGQUxTRS4gSG93ZXZlciwgZGV0ZWN0X3N0cmVhbSBjYWxscyBjaGVja19hZHRzX2ZyYW1lCgkgIHdoaWNoIHNldHMgdGhlIGZyYW1lIHNpemUgb24gaXRzIG93biB0byBzb21ldGhpbmcgbGFyZ2VyIHRoYW4gMTAyNC4gVGhpcyBpcyB0aGUKCSAgc2FtZSBzaXR1YXRpb24gYXMgaW4gdGhlIGJlZ2lubmluZywgc28gdGhlIGJhc2UgY2xhc3MgZW5kcyB1cCBjYWxsaW5nCgkgIGNoZWNrX3ZhbGlkX2ZyYW1lIGluIGFuIGVuZGxlc3MgbG9vcC4KCjIwMDktMDMtMTkgMDA6MzI6NDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlZmFjdG9yIGNoZWNrX3ZhbGlkX2ZyYW1lIHRvIGV4cG9zZSBicm9rZW4gY29kZQoJICBKdXN0IG1vdmluZyBjb2RlIGFyb3VuZCBhbmQgcmVtb3ZpbmcgYW4gdW5oZWxwZnVsL21pc2xlYWRpbmcgY29tbWVudC4KCjIwMDktMDMtMjMgMTE6MTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBpbmNsdWRlcyBmb3IgbHNlZWsKCSAgLS0KCjIwMDktMDMtMjAgMTQ6MjA6MTYgKzAxMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHdpbjMyOiBmaXggc2Vla2luZyBpbiBsYXJnZSBmaWxlcwoJICBVc2UgX2xzZWVraTY0KCkgb24gV2luZG93cyB0byBzZWVrIGluIGxhcmdlIGZpbGVzLgoJICBGaXhlcyAjNTc2MDIxLgoKMjAwOS0wMy0xNiAxMToyMTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgbmV3IGNvbm5lY3Rpb24gbW9kZQoJICBBZGQgYSBuZXcgY29ubmVjdGlvbiBtb2RlIHRvIGphY2tzcmMgYW5kIGphY2tzaW5rLiBJbiB0aGlzIG5ldyBhdXRvLWZvcmNlCgkgIGNvbm5lY3Rpb24gbW9kZSBqYWNrIHdpbGwgY3JlYXRlIGFzIG1hbnkgcG9ydHMgYXMgcmVxdWVzdGVkL25lZWRlZCBpbiB0aGUKCSAgcGlwZWxpbmUgYW5kIHdpbGwgdGhlbiBjb25uZWN0IGFzIG1hbnkgcGh5c2ljYWwgcG9ydHMgYXMgcG9zc2libGUsIHBvc3NpYmx5CgkgIGxlYXZpbmcgc29tZSBwb3J0cyB1bmNvbm5lY3RlZC4KCSAgQWxzbyBnZXQgcmlkIG9mIHNvbWUgbGVmdG92ZXIgZ19wcmludC4KCSAgRml4ZXMgIzU3NTI4NC4KCjIwMDktMDMtMjMgMTU6MDY6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBteGY6IE1vdmUgc29tZSBzdGF0aWMgY29uc3QgdmFyaWFibGVzIGludG8gZnVuY3Rpb25zCgoyMDA5LTAzLTEzIDE5OjQyOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGJ1aWxkIHdpdGggY2VsdCAwLjUuCgoyMDA5LTAzLTIyIDIwOjE0OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgoyMDA5LTAzLTIwIDE1OjU1OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlZW5hYmxlIG1ldGFkYXRhIHRlc3QKCjIwMDktMDMtMjAgMTU6MzM6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogcmVlbmFibGUgdGVzdAoKMjAwOS0wMy0yMCAxNToxODowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgbWV0ZGF0YTogbW9yZSBsb2dnaW5nIGFuZCBjb2RlIGNsZWFudXBzCgkgIFNwcmlua2xlIG1vcmUgZGVidWcgbG9nIHN0YXRlbWVudHMgaW50byB0aGUgY29kZS4gTW92ZSBzb21lIHJlcGVhZGVkIHN0cmluZwoJICBjb25zdGFudCBpbnRvIGhlYWRlciBmaWxlcyBhbmQgdXNlIHNpemVvZiBpbnN0ZWFkIG9mIG1hbnVhbGx5IGNvdW50ZWQgYnl0ZXMuIEFkZAoJICBjb21tZW50cy4KCjIwMDktMDMtMjAgMTU6MTQ6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSAgbWV0YWRhdGE6IGZpeCBtdXhpbmcgamZpZmxlc3MganBlZy4gRml4ZXMgIzU3NDQwMQoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB0byBiZSBtdXhlZCBqcGVnIGhhcyBubyBqZmlmLCBhcyB3ZSBjYW4gZWFzaWx5CgkgIGFkZCBpdC4KCjIwMDktMDMtMjAgMTU6MTA6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgbWV0YWRhdGE6IGZpeCBpbmNsdWRlIGd1YXJkcwoKMjAwOS0wMy0yMCAxNTowNDoxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiByZXdvcmsgZG9jIGNvbW1lbnQKCjIwMDktMDMtMDkgMjM6NDM6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW06IG5vIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zCgoyMDA5LTAzLTIyIDE1OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IGVycm9yIGhhbmRsaW5nCgoyMDA5LTAzLTIyIDE1OjUxOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBGaXggc29tZSBtZW1vcnkgbGVha3MsIGltcHJvdmUgZGVidWdnaW5nIGFuZCBoYW5kbGUgZXJyb3JzIGJldHRlcgoKMjAwOS0wMy0yMiAxNTozNTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IEFkZCBhbiBlcnJvciBzdGF0ZSBmcm9tIHdoaWNoIHdlIHJldHVybiBpbW1lZGlhdGVseQoJICBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOS0wMy0xOSAyMDo0MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZjogT3B0aW1pemUgbXhmX3VsX2lzX3N1YmNsYXNzKCkgYSBiaXQKCjIwMDktMDMtMTkgMTQ6MzA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIG14ZjogU3RhcnQgaW1wbGVtZW50aW5nIGEgY2VudHJhbCBVTCBkYXRhYmFzZSBhbmQgYWRkIHNvbWUgaGVscGVyIGZ1bmN0aW9ucyBhbmQgdXNlIHRoZW0KCjIwMDktMDMtMTcgMTQ6Mjc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogTWFrZSBzdXJlIHRvIGluY2x1ZGUgYSBwaWN0dXJlIGluIHRoZSBlZGl0IHVuaXRzIHdoZW4gbXV4aW5nIE1QRUcyL01QRUc0CgoyMDA5LTAzLTE3IDE0OjIzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogUmVtb3ZlIGFjY2lkZW50aWFsbHkgY29tbWl0dGVkIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCjIwMDktMDMtMTYgMTc6NDk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgc3Vic2FtcGxlZCBZVVYgZm9ybWF0cwoKMjAwOS0wMy0xNiAxNzoyMjoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBVc2UgY29ycmVjdCB3aWR0aC9oZWlnaHQgZm9yIHN0cmlkZSBjb252ZXJzaW9ucwoKMjAwOS0wMy0xNiAxNzoxODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogSW1wbGVtZW50IHN0cmlkZSB0cmFuc2Zvcm1hdGlvbnMgZm9yIHJhdyB2aWRlbyBjb250ZW50IGZvciBtdXhpbmcgYW5kIGRlbXV4aW5nCgoyMDA5LTAzLTE2IDE1OjM3OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFNpbXBsaWZ5IGNhcHMgc2VsZWN0aW9uIGJ5IHVzaW5nIGEgbG9va3VwIHRhYmxlCgoyMDA5LTAzLTE2IDEyOjQ4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmbXV4OiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IHBpY3R1cmUgZXNzZW5jZQoKMjAwOS0wMy0xNiAxMjoxNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IE9ubHkgYWRkIGFuIGVzc2VuY2UgY29udGFpbmVyIFVMIG9uY2UgdG8gdGhlIHBhcnRpdGlvbiBhbmQgcHJlZmFjZQoKMjAwOS0wMy0xNiAxMjowNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQVlVViBhbmQgdjMwOCBZVVYgY29sb3JzcGFjZXMKCjIwMDktMDMtMTYgMTE6MDA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogVXNlIHRoZSBjb3JyZWN0IGVkaXQgcmF0ZSBpbnN0ZWFkIG9mIGVzdGltYXRpbmcgaXQgZnJvbSB0aGUgZmlyc3QgYnVmZmVyIGR1cmF0aW9uCgoyMDA5LTAzLTE1IDE1OjI3OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEVycm9yIG91dCBkaXJlY3RseSBpZiBwdXNoaW5nIGEgcGFja2V0IGRvd25zdHJlYW0gZmFpbGVkCgoyMDA5LTAzLTE1IDE1OjI3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIERWL0RJRiBtdXhpbmcgYW5kIGFkZCBmcmFtZXJhdGUsIGV0YyB0byB0aGUgY2FwcyB3aGVuIGRlbXV4aW5nIERWL0RJRiBjb250ZW50CgoyMDA5LTAzLTE1IDE1OjI3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogQWRkIHNvbWUgZGVidWdnaW5nIGFuZCBlcnJvciBvdXQgb24gaW52YWxpZCBpbnB1dCBkYXRhCgoyMDA5LTAzLTE0IDE5OjU5OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDMtMTEgMTk6Mzg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHIGF1ZGlvIGFuZCB2aWRlbwoKMjAwOS0wMy0xMSAxOTozODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IFVzZSBjb3JyZWN0IGNhcHMgdHlwZSBmb3IgQUMzIGF1ZGlvIChhdWRpby94LWFjMyBpbnN0ZWFkIG9mIGF1ZGlvL2FjMykKCjIwMDktMDMtMTEgMTk6MzQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgSlBFRzIwMDAgY29kZSBzdHJlYW1zCgoyMDA5LTAzLTExIDE5OjMzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBWQy0zIChha2EgRE54SEQpIHZpZGVvCgoyMDA5LTAzLTExIDE5OjMzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgQS1MYXcgYXVkaW8KCjIwMDktMDMtMTEgMTk6MzM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgYXVkaW8KCjIwMDktMDMtMTEgMTk6MzI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJKiBnc3QvbXhmL214ZndyaXRlLmg6CgkgIG14ZjogQWRkIE1YRiBtdXhlcgoJICBUaGlzIG11eGVyIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIE9QMWEgYW5kIGlzCgkgIHByb2JhYmx5IG5vdCB5ZXQgMTAwJSBjb21wbHlpbmcgdG8gdGhlIHN0YW5kYXJkcy4KCjIwMDktMDMtMTEgMTk6MzA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEFkZCB3aWR0aC9oZWlnaHQvZm91cmNjIHRvIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKPT09IHJlbGVhc2UgMC4xMC4xMSA9PT0KCjIwMDktMDMtMjEgMDE6MDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjExCgoyMDA5LTAzLTIwIDIzOjM3OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMy0yMCAyMzozMToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjOiBBZGQgcGFyX24gYW5kIHBhcl9kIHRvIHRoZSBvYmplY3Qgc3RydWN0dXJlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAwOS0wMy0xOCAxMjozMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuNi41IHByZS1yZWxlYXNlCgoyMDA5LTAzLTE4IDEwOjM1OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZpeCBidWlsZCBvbiBHTGliIDwgMi4xNiBzb21lIG1vcmUKCjIwMDktMDMtMTggMDA6MDI6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xMC40IHByZS1yZWxlYXNlCgoyMDA5LTAzLTE2IDE3OjI5OjE2ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUmVwbGFjZSBnX2hhc2hfdGFibGVfZ2V0X3ZhbHVlcyB3aXRoIGNvZGUgd29ya2luZyB3aXRoIGdsaWIgMi42LgoJICBGaXhlcyAjNTc1NTY1CgoyMDA5LTAzLTEzIDE2OjMxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMC4zIHByZS1yZWxlYXNlCgoyMDA5LTAzLTEzIDE2OjE2OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9maS5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJICBwbzogVXBkYXRlIHBvIGZpbGVzIGZyb20gdXBzdHJlYW0KCjIwMDktMDMtMTMgMTY6MDg6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL3RyLnBvOgoJICBwbzogQWRkIFR1cmtpc2ggdHJhbnNsYXRpb24KCjIwMDktMDMtMTIgMjM6NTQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBtYWtlIHhkZyB0eXBlZmluZGVyIG1vcmUgY29uc2VydmF0aXZlCgkgIFRoZSB3aG9sZSByYWlzb24gZCdldHJlIG9mIHRoaXMgdHlwZWZpbmRlciBpcyB0byBoZWxwIGF2b2lkIGZhbHNlCgkgIHBvc2l0aXZlcyB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBvdXIgbWFpbiB0eXBlZmluZGVyIGluCgkgIC1iYXNlLiBJdHMgdGFzayBpcyBub3QgcmVhbGx5IHRvIHR5cGVmaW5kIGF1ZGlvL3ZpZGVvIGZpbGVzLCBldmVuCgkgIGxlc3Mgc28gZ2l2ZW4gdGhhdCBpdCBkZXRlY3RzICpNSU1FKiB0eXBlcywgbm90IEdTdHJlYW1lciBtZWRpYQoJICB0eXBlcy4gVGhlcmVmb3JlLCBpZiB0aGlzIHR5cGVmaW5kZXIgZGV0ZWN0cyBhbiBhdWRpbyBvciB2aWRlbwoJICB0eXBlLCBkb24ndCBldmVuIHN1Z2dlc3QgaXQgLSBvdXIgb3duIHR5cGVmaW5kZXJzIGFyZSBob3BlZnVsbHkKCSAgYmV0dGVyIGF0IHRoaXMgYW5kIGRldGVjdCB0aGUgcmlnaHQgdHlwZSBvZiB0eXBlIG9uIHRvcCBvZiB0aGF0LAoJICBhbmQgZXZlbiBpZiB0aGV5J3JlIG5vdCB3ZSByZWFsbHkgd2FudCB0byBrbm93IGFib3V0IGl0IGFuZCBmaXgKCSAgaXQuIEZpeGVzICM1NzUxNTcuCgoyMDA5LTAzLTEzIDE1OjU5OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IHJldHVybiBGQUxTRSBvbiBzZWVrIGV2ZW50cwoJICBTaWxlbnRseSBpZ25vcmUgdGhlIHNlZWsgZXZlbnQgaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0UuCgoyMDA5LTAzLTEzIDEwOjA3OjE4ICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogd29ya2Fyb3VuZCB0byBmaXggcGxheWJhY2sgb2YgY2VydGFpbiBtYWxmb3JtZWQgY2xpcHMKCSAgQWRkZWQgYSB3b3JrYXJyb3VuZCB0byBwZXJtaXQgcGxheSBjZXJ0YWluIG1hbGZvcm1lZCBjbGlwcyB3aGVyZSBmaXJzdAoJICBTQ1IgaXMgZ3JlYXRlciB0aGFuIGxhc3QgU0NSLiBGaXhlcyBidWcgIzQ1NDIyOAoKMjAwOS0wMy0xMiAyMDoxMzoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRGlzYWJsaW5nIG1ldGFkYXRhIHVuaXQgdGVzdCB1bnRpbCAjNTc0NDAxIGlzIGZpeGVkLgoKMjAwOS0wMy0xMiAxNzo1MzozNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBzb21lIG1vcmUgcGx1Z2lucyB0aGUgc3BlYyBmaWxlCgoyMDA5LTAzLTExIDEzOjA0OjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBwbHVnaW5zCgoyMDA5LTAzLTEwIDE1OjEyOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMoKQoKMjAwOS0wMy0xMCAyMToxODoyMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXhlZCBhIGJ1ZyBpbiB0aGUgVFMgc2Nhbm5lci4gRml4ZXMgIzU3NDAwOQoKMjAwOS0wMy0xMCAwMDoyMjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEwLjIgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTAgMDA6MTA6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgTW92ZWQgdHdvbGFtZSBmcm9tIEJhZCB0byBVZ2x5CgoyMDA5LTAzLTA5IDIzOjEzOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDcwMzIxNjMgdG8gZjhiM2Q5MQoKMjAwOS0wMy0wOCAxMjowNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZmYTczOGQgdG8gNzAzMjE2MwoKMjAwOS0wMy0wOCAxMToyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmMTNlNGUgdG8gZmZhNzM4ZAoKMjAwOS0wMy0wNyAxMTo0NjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjNzQ1NmIgdG8gM2YxM2U0ZQoKMjAwOS0wMy0wNyAxMDo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3YzgzZjIgdG8gM2M3NDU2YgoKMjAwOS0wMy0wNiAyMjozNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTWFrZSB0aGUgdGVzdHMgcGFzcyB3aGVuIHRoZSBjYW1lcmFiaW4gY2FuJ3QgaW5pdGlhbGlzZS4KCSAgVGhlIGNhbWVyYWJpbiB0ZXN0cyB3ZXJlIHRocm93aW5nIGdsaWIgZXJyb3JzIGFuZCBoYW5naW5nIHdoZW4KCSAgZ3N0LXBsdWdpbnMtZ29vZCBlbGVtZW50cyAoanBlZ2VuYywgdmlkZW9jcm9wKSBjYW4ndCBmb3VuZC4KCjIwMDktMDMtMDYgMjE6MTQ6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1pc2M6IElnbm9yZSB0aGUgY2FtZXJhYmluIGJpbmFyeSBpbiB0aGUgY2hlY2svZWxlbWVudHMgc3ViZGlyCgoyMDA5LTAzLTA2IDE5OjIyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IFBhcnRseSBmaXggZGlzdGNoZWNrCgkgIERvbid0IGRpc3QgdGhlIGdlbmVyYXRlZCBtYXJzaGFsLmggaGVhZGVyIGJ5IHB1dHRpbmcgaXQgaW4gdGhlIGhlYWRlcnMKCSAgbGlzdC4KCjIwMDktMDMtMDcgMDA6MjA6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogY2hhbmdlICdxJyBiYWNrIHRvICdqcGVnZW5jJyAobXkga2V5Ym9hcmQgaGF0ZXMgbWUpCgoyMDA5LTAzLTA2IDIzOjM0OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGNsZWFudXAsIGZpeCB0aGUgdGVzdCwgYWRkIGNvbW1lbnRzCgkgIEZpcnN0IGRvIG5vdCBidWlsZCB0aGUgcGx1Z2luLCBpZiB3ZSBoYXZlIG5vbmUgb2YgdGhlIGJhY2tlbmQsIGFzIGl0IHdvbid0IHdvcmsKCSAgdGhlbi4gRml4IHRoZSBtaW5pb2JqZWN0X3VucmVmIGVycm9yIGluIHRoZSB0ZXN0LiBTcHJpbmtsZSBhIGZpcnN0IGhhbmRmdWwgb2YKCSAgZGVidWcgbG9ncyBpbnRvIHRoZSBlbGVtZW50IGNvZGUuCgoyMDA5LTAzLTA2IDIwOjAyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBGaXggbWVtb3J5IGxlYWsgaW4gdGhlIHVuaXQgdGVzdCBieSB1bnJlZmZpbmcgdGhlIGNhcHMKCjIwMDktMDMtMDYgMTc6NDY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBTdG9yZSBhbmQgdXNlIHRoZSBzZXFudW0gb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIHNlZ21lbnQgZXZlcnl3aGVyZQoKMjAwOS0wMy0wNiAxNzoyNDowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRG9uJ3QgZXZlbiB0cnkgdG8gc2VyaWFsaXplIERNIGZyYW1ld29ya3MgYXMgaXQgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gdW50aWwgdGhpcyBpcyBmaW5pc2hlZAoKMjAwOS0wMy0wNiAxMjo0Mjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVXNlIHRoZSBwdWJsaWMgaGVhZGVycyBpZiBmYWFkMiA+PSAyLjcuIEZpeGVzICM1NzMzNjkKCSAgU2luY2UgZmFhZDItMi43LCB0aGUgcHVibGljIGZ1bmN0aW9uIHByb3RvdHlwZXMgYXJlIGluIHN5bmMgd2l0aCB0aGUKCSAgYWN0dWFsIGZ1bmN0aW9uIHByb3RvdHlwZXMgdXNlZCBpbnRlcm5hbGx5IGluIGxpYmZhYWQuCgoyMDA5LTAzLTA2IDExOjA4OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBmaXggY29tcGlsYXRpb24gd2hlbiBMUkRGIGlzIG1pc3NpbmcKCSAgLS0KCjIwMDktMDMtMDUgMjI6NTU6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiByZW1vdmUgLWxkbCBhcyB3ZSBub3cgdXNlIGdsaWJzIGdtb2R1bGUuCgoyMDA5LTAzLTA1IDIyOjM3OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogYWRkIGluaXRpYWwgbGlibHJkZiBzdXBwb3J0LgoJICBHZXQgY2xhc3NpZmljYXRpb24gZnJvbSByZGYgbWV0YWRhdGEuCgoyMDA5LTAzLTA1IDIyOjA0OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBmaXggcmVxdWlyZWQgdmVyc2lvbgoJICBXaXRoIHRoaXMgdmVyc2lvbiBpdCBidWlsZHMgb24gb3BlbnN1c2UgMTEuMS4KCjIwMDktMDMtMDUgMTQ6NDA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IERvbid0IHVzZSBOVUxMIEdzdFN0cnVjdHVyZXMgdG8gcHJldmVudCB3YXJuaW5ncwoJICBDdXJyZW50bHkgc2VyaWFsaXppbmcgb2YgRE0gRnJhbWV3b3JrcyBpcyBub3Qgc3VwcG9ydGVkCgkgIHlldCBieSBETVMxIGFuZCB3aWxsIGdpdmUgdXMgTlVMTC4KCjIwMDktMDMtMDQgMjE6MzA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIHBob3RvZ3JhcGh5OiBkZWNsYXJlIGludGVyZmFjZSBhcyB1bnN0YWJsZSBBUEkgYnkgbWVhbnMgb2YgYSB3YXJuaW5nCgkgIEFwcGxpY2F0aW9uIGRldmVsb3BlcnMgd29uJ3Qga25vdyByaWdodCBhd2F5IHdoaWNoIG1vZHVsZSBhbiBpbnRlcmZhY2UgY29tZXMgZnJvbSwKCSAgYW5kIG1heSBhc3N1bWUgdGhhdCBpdCBpcyBjb3ZlcmVkIGJ5IHRoZSB1c3VhbCBHU3RyZWFtZXIgQVBJIGd1YXJhbnRlZXMsIHNvIG1ha2UKCSAgaXQgYXMgY2xlYXIgYXMgcG9zc2libGUgdGhhdCB0aGlzIHBhcnRpY3VsYXIgQVBJIGlzIHN0aWxsIHN1YmplY3QgdG8gY2hhbmdlCgkgIChzaG91bGQgaGF2ZSBkb25lIHRoYXQgd2l0aCBvdGhlciBsaWJyYXJpZXMgaW4gLWJhZCBiZWZvcmUgdG9vIHJlYWxseSkuCgoyMDA5LTAzLTA0IDIwOjM3OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkZXRlY3QgZmFhZCdzIG1pbm9yIHZlcnNpb24gYW5kIGRlZmluZSBGQUFEMl9NSU5PUl9WRVJTSU9OIGluIGNvbmZpZy5oCgoyMDA5LTAzLTA0IDE2OjQ2OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIHZhbHZlOiByZW5hbWUgcGx1Z2luIGZpbGUgZnJvbSBsaWJmc3ZhbHZlLiogdG8gbGliZ3N0dmFsdmUuKgoJICBJZiB5b3UncmUgcnVubmluZyB0aGluZ3MgdW5pbnN0YWxsZWQsIHlvdSBtaWdodCBuZWVkIHRvIG1hbnVhbGx5CgkgIHJlbW92ZSB0aGUgcmVnaXN0cnkgdG8gZ2V0IHRoZSBwbHVnaW4ncyBmZWF0dXJlcyB0byBzaG93IHVwCgkgIGNvcnJlY3RseS4gQWxzbywgeW91IHByb2JhYmx5IHdhbnQgdG8gZG8gYSBtYWtlIGNsZWFuIHRvIGdldCByaWQKCSAgb2YgdGhlIG9sZCBwbHVnaW4gZmlsZS4KCjIwMDktMDMtMDQgMTk6NTA6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIGdzcmVhbDogYnJpbmcgZG93biB0aGUgcmFuayBvZiB0aGUgcmVhbCBkZWNvZGVycyB0byBNQVJHSU5BTC4KCSAgQmFzaWNhbGx5LCBhdCB0aGlzIHBvaW50LCB0aGUgZmZtcGVnIGVxdWl2YWxlbnQgZGVjb2RlcnMgcGVyZm9ybSB3YXkKCSAgYmV0dGVyLCBzbyB3ZSdsbCBtYWtlIHRoZSBmZm1wZWcgZXF1aXZhbGVudHMgUFJJTUFSWSBhbmQgdGhlc2UKCSAgTUFSR0lOQUwuCgoyMDA5LTAzLTA0IDE4OjQyOjE1ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtYWtlIHNvbWUgZG9jcyB1cCB0byBkYXRlCgoyMDA5LTAzLTA0IDE4OjE2OjMxICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiByZXNldCBzeW5jX2x1dF9sZW4gdG8gMCBvbiBSRUFEWSB0byBOVUxMCgoyMDA5LTAzLTA0IDE1OjMwOjA0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDMtMDQgMTU6Mjg6NDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IGFkZCBmaWd1cmVzIHN1YmRpcmVjdG9yeSB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogYWRkIG14ZiBzdWJkaXJlY3RvcnkgZ3N0LXBsdWdpbnMuc3BlYy5pbjogYWRkIG5ldyBwbHVnaW5zCgoyMDA5LTAzLTA0IDE2OjE1OjU3ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZ3N0LXBsdWdpbnMtYmFkLnN1cHAgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQuCgoyMDA5LTAzLTA0IDE1OjA1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogYWRkIExJQkRJUi9sYWRzcGEgdG8gc2VhcmNoIHBhdGggYW5kIG1ha2UgcGF0aCBtb3JlIHBvcnRhYmxlCgkgIFVzZSBnbGliIGRlZmluZXMgZm9yIHNlYXJjaHBhdGggc2VwYXJhdG9ycy4gRmlsdGVyIHNlYXJjaHBhdGggdG8gYXZvaWQgc2Nhbm5pbmcKCSAgcGF0aCBlbnRyaWVzIHR3aWNlLiBGaXggdGhlIHJldHVybiBpbiBsYWRzcGFfcGx1Z2luX2RpcmVjdG9yeV9zZWFyY2ggdG8gcmV0dXJuCgkgIHdoZXRlciB3ZSBmb3VuZCBhIHBsdWdpbi4KCjIwMDktMDMtMDQgMTQ6MzQ6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvbG9hZC5jOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGxhZHNwYTogcmV3cml0ZSB0aGUgZGlyZWN0b3J5IHNjYW5uaW5nLCBmaXhlcyBmaXJzdCBwYXJ0IG9mICM1NzMzNzAKCSAgTW92ZSB0aGUgdHdvIGZ1bmN0aW9uIGZyb20gc2VhcmNoLmMgaW50byBnc3RsYWRzcGEuYyBhbmQgbWFrZSB0aGVtIHN0YXRpYy4KCSAgUmVtb3ZlIG5vbiBuZWVkZWQgYXJndW1lbnRzIGZyb20gZnVuY3Rpb24gcHJvdG90eXBlcy4gVXNlIGdsaWIgYXBpIGZvcgoJICBzaW1wbGljaXR5IGFuZCBwb3J0YWJpbGl0eS4KCjIwMDktMDMtMDQgMTE6MTQ6MTggKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSBnaW50OCBpbnN0ZWFkIG9mIGludDhfdAoJICBVc2UgZ2ludDggaW5zdGVhZCBvZiBpbnQ4X3QgdG8gZml4IGNvbXBpbGF0aW9uLgoJICBGaXhlcyAjNTczODUxLgoKMjAwOS0wMy0wNCAxMTowNzo1MiArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogVXNlIEdfQllURV9PUkRFUiB0byBmaXggV2luZG93cyBjb21waWxlCgkgIGdzdGdzbWRlYyByZWxpZXMgb24gQllURV9PUkRFUiwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLiBVc2UKCSAgR19CWVRFX09SREVSIGluc3RlYWQuCgkgIEZpeGVzICM1NzM4NTAuCgoyMDA5LTAzLTAzIDE0OjMwOjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBBZGQgRG9jIGZvciBtaW1pYyBwbHVnaW4KCjIwMDktMDMtMDMgMTQ6MDM6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgTW92ZSBtaW1pYyB0byAtYmFkCgoyMDA5LTAzLTAzIDE0OjIwOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBSZS1pbmRlbnQgdG8gR1NUIHN0eWxlCgoyMDA4LTA3LTI1IDIyOjQ3OjI2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBvdXRwdXQgYSBuZXdzZWdtZW50IGlmIHRoZSBpbmNvbWluZyBuZXdzZWdtZW50IGlzbnQgYSB0aW1lIHNlZ21lbnQKCSAgMjAwODA3MjUyMjQ3MjYtM2UyZGMtZjgyYjk5M2MwZmJmZThiZDQ4N2QyZjE5NjJmZWMxZDBiNjU2NGViYy5negoKMjAwOC0wNy0yNSAyMjoyNjo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlcwoJICAyMDA4MDcyNTIyMjY0OC0zZTJkYy0yNDY0OTc4MmEzOTQ2MmM3YzNmZWY5ZDYyNzBiM2RiNGM0YWNlMWJiLmd6CgoyMDA4LTA3LTI1IDIyOjI0OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgb3V0IHRoZSByaWdodCBzZWdtZW50IGFuZCB1c2Ugc3RvcmVkIHRpbWVzdGFtcHMgZGlyZWN0bHkKCSAgMjAwODA3MjUyMjI0NDgtM2UyZGMtZTExOWJmMDllZGUxY2YxODc1ODFkNTkxNzZjOGIzNWJhZmI3MzFhZS5negoKMjAwOC0wNy0yNSAxOTo0ODozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTa2lwIG5vbi1rZXlmcmFtZXMgYmVmb3JlIHdlIGdldCBhIGtleWZyYW1lCgkgIDIwMDgwNzI1MTk0ODMzLTNlMmRjLTU4M2RmNTdjOGViY2U0YjE0OWEwMTc2OGVkN2QzNzM3MTM2YTIwOGYuZ3oKCjIwMDgtMDctMjUgMTk6MzM6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSWdub3JlIHVwc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnRzIGluIG1pbWRlYwoJICAyMDA4MDcyNTE5MzM1OC0zZTJkYy03YzBmMjIzODZlMDIwOGE0NWVhZTljMWQ3ZWI2MmU4NmY2MWQxNGJhLmd6CgoyMDA4LTA3LTI1IDE5OjI1OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVtaXQgdGhlIHJpZ2h0IHRpbWVzdGFtcCBpbiB0aGUgbmV3c2VnbWVudCBldmVudAoJICAyMDA4MDcyNTE5MjUzMC0zZTJkYy1hM2NjMGNlNzNmY2ExODFjYWVlMzIzZDY5OWQ4NTc2ZGY5MTZlOGQzLmd6CgoyMDA4LTA3LTI1IDE5OjA4OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHZpZGVvL3gtbWltaWMgYXMgdGhlIGNhcHMgdHlwZQoJICAyMDA4MDcyNTE5MDg0OS0zZTJkYy0zOGU0YWNjOWQ0YWQ4MjMxZWQyMmY2Y2M0ZDdkOGMyYThiNTY2OGU5Lmd6CgoyMDA4LTA3LTA0IDIyOjA3OjEzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHByb3BlciBsb2NraW5nIHRvIG1pbWVuYwoJICAyMDA4MDcwNDIyMDcxMy0zZTJkYy02YTIyZDFhNDIzNzE2ZThiODRiYzNiZGE5OTg2YTFiNGZmMGMwZDM3Lmd6CgoyMDA4LTA3LTA0IDIyOjAzOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGltcGxlbWVudGF0aW9uIG9mIGdldGNhcHMgZnJvbSBtaW1kZWMKCSAgMjAwODA3MDQyMjAzMTgtM2UyZGMtZDgxYmM1OWIyMzA4YzVhZDBkMzE0NDAzMGM1NjUwMjk1ZTk5ZjNjNi5negoKMjAwOC0wNy0wNCAyMjowMjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwcm9wZXIgbG9ja2luZyB0byBtaW1kZWMKCSAgMjAwODA3MDQyMjAyNDMtM2UyZGMtNzFjMTU3ZDgyOTk5ZGZiNDFiZDYyYjQwNjRiMTg4N2FiMjJlODRjMS5negoKMjAwOC0wNy0wNCAyMTo1OTozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgbGVhawoJICAyMDA4MDcwNDIxNTkzNi0zZTJkYy0yMmQ5OTJmOThjOTkzMWYwNjI2NjJmYzA1ZjFjZTY1YmM5N2Y2MTlhLmd6CgoyMDA4LTA3LTA0IDIxOjU1OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHRoZSBnc3QgdGltZXN0YW1wIGlmIHRoZSB0aW1lIGRpZmZlcmVudCBpcyB0b28gbGFyZ2UKCSAgMjAwODA3MDQyMTU1NTAtM2UyZGMtNzZlYjNmNjAwZjJiOTc3ZTkxNmY3ZTFmNjU0NTI5ZGRhZmYwNmFjOS5negoKMjAwOC0wNy0wNCAyMTo1MjowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBmaXJzdCBidWZmZXIgYXMgdGhlIGJhc2UKCSAgMjAwODA3MDQyMTUyMDgtM2UyZGMtNTgyMjc3MWYyNjk0ZGVkYTRhN2NkNWNkZDNjMzhhYjllZmY3ZmEyZC5negoKMjAwOC0wNy0wNCAyMTo0OTozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTdG9yZSB0aGUgdGltZXN0YW1wIGluIHRoZSBoZWFkZXIKCSAgMjAwODA3MDQyMTQ5MzUtM2UyZGMtOTBlYzczZGYzMjI1YjQxYmFhNjgxYWI2OTFmYjhiZDQ3ZTE3Yzc4MC5negoKMjAwOC0wNy0wNCAyMToxOTo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZS1pbmRlbnQgbWltZGVjCgkgIDIwMDgwNzA0MjExOTQzLTNlMmRjLWRlZjFlMGRhY2M0YTQ1ZmUyYjRhZmRjYjkwM2ExMzI4Yzk1MTE3YWMuZ3oKCjIwMDgtMDctMDQgMjE6MTU6MTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2ltcGxpZnkgbmV3c2VnbWVudCBjb2RlCgkgIDIwMDgwNzA0MjExNTExLTNlMmRjLWI5OGQxZTViMzFjMjNlYjc5MTIxOTdmOTM2NGEzMTU2MGQwOTJjNjMuZ3oKCjIwMDgtMDctMDQgMjA6NTA6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBtaW1pYyBwbHVnaW5zIHRvIEdTVF9CT0lMRVJQTEFURQoJICAyMDA4MDcwNDIwNTAxMC0zZTJkYy1kYTQxZTU2ODVhYjljZWI2NzU1NWQ0OTkxMjU0MzJjZDEyZDU1MDVkLmd6CgoyMDA4LTA3LTA0IDIwOjQxOjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbiBtaW1pYyBwbHVnaW4KCSAgMjAwODA3MDQyMDQxMTItM2UyZGMtMWFiNGI5MTNkNThmYWEwNTg3NDJiMDFlMDgzZjdkZWJkNjg3N2JiMy5negoKMjAwOC0wNy0wNCAyMDoyOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb25mbGljdHMKCSAgMjAwODA3MDQyMDI5NDEtM2UyZGMtN2Y1YTM4ODQ1Yjc5N2UxMmQ2NzI1NTE0NjZlNjM1ZDQ4NGNiNjc2My5negoKMjAwNy0xMS0xMCAwNToxNzoxNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbWltaWMgZW5jIGNoYWluIGZ1bmN0aW9uLCByZXR1cm4gcmVzIGZvciBjaGFpbigpLCBnZXQgdGhlIHBhcmVudCBlbGVtZW50IHdpdGggdGhlIHByb3BlciBhY2Nlc3NvciBmdW5jdGlvbiwgdXNlIHRoZSBfT0JKRUNUIGRlYnVnZ2luZyBtYWNyb3MKCSAgMjAwNzExMTAwNTE3MTctM2UyZGMtNDcyNmZjZDE5Y2MzZDExMjFhNGUxMzI3NmE0MWY1Zjg2ZGMxYzliMS5negoKMjAwNy0xMS0xMCAwNToxNDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBfc2V0X2NhcHMgZnVuY3Rpb24gb2YgbWltaWMgZW5jIG1vcmUgcm9idXN0CgkgIDIwMDcxMTEwMDUxNDI3LTNlMmRjLTM4MWE3MWYyY2JmZGJmNTA4ZTk0MWI2NzJlOTA1OGM4MmZhYmNlMjQuZ3oKCjIwMDctMTEtMTAgMDU6MTQ6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHRoZSBnc3QgMC45LjEgaWZkZWYKCSAgMjAwNzExMTAwNTE0MDEtM2UyZGMtMWYwNzFkNzMyZDY0NTczODg5OTc3NDA1OTk1NjkyZDk0YjEwYTBkNi5negoKMjAwNy0xMS0xMCAwNToxMDozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGNhcHMgZ3N0IDAuMTAgY29tcGxpYW50CgkgIDIwMDcxMTEwMDUxMDM1LTNlMmRjLWY3MDI0YmQzZWNmYjY3OTRmZThkMDlkY2IxMDBiYTBiNDc4M2RmNWQuZ3oKCjIwMDctMTEtMTAgMDU6MDk6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50IGluc3RlYWQgb2YgcmVmZmluZyB0aGUgcGFyZW50IGNsYXNzIGRpcmVjdGx5CgkgIDIwMDcxMTEwMDUwOTUwLTNlMmRjLTZkMTRkZGQ2YWUzY2VlZWFhNGU2NDFiN2IwOTYxM2U0NDI5MjdmOTIuZ3oKCjIwMDctMTEtMTAgMDU6MDg6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGZyYW1lc2l6ZSBwcm9wZXJ0aWVzIG9uIHRoZSBtaW1pYyBlbmNvZGVyCgkgIDIwMDcxMTEwMDUwODUyLTNlMmRjLWNiODE2NWMwNzNiZmE5ODE3OTBkYzkxNjkzZmQxYzQ4M2VhN2I2ZWEuZ3oKCjIwMDctMTEtMTAgMDU6MDc6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHRoZSBfT0JKRUNUIGRlYnVnIG1hY3JvcwoJICAyMDA3MTExMDA1MDc1My0zZTJkYy01NjBkMjJhODZlZWExMTA4ZjE3NDZkMDEyMzc0NGQzMzgxMmU5NGM5Lmd6CgoyMDA3LTExLTEwIDA1OjAzOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgaW5zdGVhZCBvZiBsb29raW5nIGludG8gdGhlIEdzdE9iamVjdCBkaXJlY3RseQoJICAyMDA3MTExMDA1MDM1MS0zZTJkYy02MzZmN2Q3NzM3NDk0ZjgxMDA0N2E4ZWU2OTI3Y2RlMDYwYmI0YjRiLmd6CgoyMDA3LTExLTEwIDA1OjAyOjMyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldHVybiBiYWNrIHJlc3VsdCBvZiBwYWQgcHVzaAoJICAyMDA3MTExMDA1MDIzMi0zZTJkYy00YTA4MGQ5Nzk2M2NkOGFiNmQ1MjhjNDAxMmQxNDM1M2MxY2ZlOTdiLmd6CgoyMDA3LTExLTEwIDA0OjExOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT2xlJ3MgcG9ydCB0byBnc3QgMC4xMAoJICAyMDA3MTExMDA0MTEyNS0zZTJkYy1lMjk5NGMzYmJlMTU3OGQ5OGU0ZjcwN2JkMTBmMjRmYWJmOTQyYzJiLmd6CgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMDItMTEgMjI6MjQ6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW1pdCB0aW1lc3RhbXAgZGlmZiBpbiBjYXNlIG9mIGEganVtcCBpbiB0aGUgdGltZXN0YW1wcwoJICAyMDA4MDIxMTIyMjQzMS00ZjBmNi03MjZmYzY2NDAzMDgxNTMzMzcxZjc3NTk1NGFhYjRjN2I4ZmRjNjQzLmd6CgoyMDA4LTAyLTA2IDAzOjE2OjU0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBiYWNrIHRvIDMwIGZwcyBpbiBjYXBzCgkgIDIwMDgwMjA2MDMxNjU0LTRmMGY2LWQ4MTk3ZTUzODg4OTA2ODA1MDQxZTY1NTJjMGRkNzc0YzU1ZTllODkuZ3oKCjIwMDgtMDItMDYgMDM6MDk6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHRpbWVzdGFtcHMgaW4gZ3N0IGJ1ZmZlcnMgc2VudCBieSBnc3RtaW1pYwoJICAyMDA4MDIwNjAzMDk0Ny00ZjBmNi05ZGM3ZDliMWE5MmE3MTdjNzFiMWU0OTBhNTU5MWYwZTJmZmUwZGFkLmd6CgoyMDA4LTAyLTA2IDAyOjAzOjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGZyYW1lcmF0ZSB0eXBlIGluIGNhcHMgZm9yIGdzdG1pbWljIGVsZW1lbnQKCSAgMjAwODAyMDYwMjAzMzUtNGYwZjYtMGQ5ZTEzNjAzOWFkNmI3Yjg0OTgyYmRhYzI0MmEwNTlkNTBmYmI2Ni5negoKMjAwNi0wMy0yNCAyMDoxNjoxOSArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlZCBjb3VwbGUgb2YgY29tcGlsYXRpb24gaXNzdWVzCgkgIDIwMDYwMzI0MjAxNjE5LTI0MjViLWJmMzM5OTI2ZjUzM2FhNGVmZWNlODU1ZmJiZTk0ZTU5YzdiYjk1NWYuZ3oKCjIwMDYtMDMtMjQgMTk6NTc6MjAgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsbHMgdG8gZ3N0X3BhZF9nZXRfcGFyZW50IHJlZiB0aGUgb2JqZWN0IHNvIGl0IG5lZWRzIHRvIGJlIHVucmVmZmVkIDwgaGV4YTAwQGdtYWlsLmNvbQoJICAyMDA2MDMyNDE5NTcyMC0yNDI1Yi0xNzkyOGJlMzRlZTY3ZjcxZWZiYWY2MmRlNzZkZWJhOWFkMTNmMGYyLmd6CgoyMDA2LTAyLTE0IDIxOjAwOjI3ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlcGFyYXRlZCBFUlJPUl9DRkxBR1MgZnJvbSBHU1RfQ0ZMQUdTCgkgIDIwMDYwMjE0MjEwMDI3LTI0MjViLTFmOWU2ZWQ1OTFjMDhlNTkwN2QwMmVmN2VhOWE4Y2Y2MmJmMjk4NDAuZ3oKCjIwMDUtMTAtMjQgMTU6Mzc6NDggKzAwMDAgIFBoaWxpcHBlIEtoYWxhZiA8YnVyZ2VyIGF0IHNwZWVkeSBkb3Qgb3JnPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2hvdWxkIG5vdCBiZSBkb25lIGluIGRpc3Bvc2UsIG1vdmluZyB0byBmaW5hbGl6ZQoJICAyMDA1MTAyNDE1Mzc0OC0wNTQ1OS05NjI1ZmVjMDU1NDdjNTM1YmY1ZjNjNjZhZWJiYTg0ODYxYjU0OWFhLmd6CgoyMDA1LTA3LTE2IDE5OjUwOjIxICswMDAwICBQaGlsaXBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvLmdpdC1kYXJjcy1kaXI6CgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcG9ydCBmcm9tIENWUyB0byBkYXJjcwoKMjAwOS0wMy0wMyAxNDozMjozOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgcnRwbXV4OiBJZ25vcmUgcnRwbXV4IGdldF90eXBlIGZ1bmN0aW9uIGZvciBkb2NzCgoyMDA5LTAzLTAzIDE5OjA4OjI4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbWVtbGVhawoJICBGaXggbWVtbGVhayBpbiBtcGVndHNfcGFja2V0aXplcl9jbGVhciB3aGVyZSBNcGVnVFNQYWNrZXRpemVyU3RyZWFtIGlzCgkgIG5vdCBmcmVlZCBwcm9wZXJseSB3aGVuIHVzaW5nIGZvcmVhY2hfc3RyZWFtX2NsZWFyIGZ1bmN0aW9uLgoKMjAwOS0wMy0wMyAxODoyODoxMCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBkeW5hbWljYWxseSBhZGp1c3QgdGhlIHN5bmMgTFVUIHRhYmxlCgkgIE1ha2UgdGhlIHN5bmMgTFVUIHRhYmxlIGFkanVzdGVkIGR5bmFtaWNhbGx5IGFjY29yZGluZyB0byB0aGUgc2l6ZQoJICBvZiBzY2FubmVkIGRhdGEuIEZpeGVzIGRlbXV4aW5nIGJ1ZmZlcnMgb2YgYW55IHNpemUuCgoyMDA5LTAyLTI1IDIxOjA1OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBJbXBvcnQgZnNzZWxlY3RvciBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IGFzIGF1dG9jb252ZXJ0CgkgIGZzc2VsZWN0b3IgaXMgdG9vIGNsb3NlIHRvIHNlbGVjdG9yLCBzbyBpbXBvcnQgaXMgYXMgYXV0b2NvbnZlcnQuIE5vdCBpbXBvcnRpbmcKCSAgdGhlIGhpc3RvcnkgYmVjYXVzZSB0aGUgZGlyZWN0b3J5IGlzIGFsc28gY2FsbGVkIGdzdC9zZWxlY3RvciBhbmQgaXQgZmFpbHMuCgoyMDA5LTAzLTAyIDEwOjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBhIGJpdCBtb3JlIHZlcmJvc2UgaW4gb3VyIGRlYnVnIG1lc3NhZ2Ugd2hlbiBmYWlsaW5nIHRvIHJlbmVnb3RpYXRlCgoyMDA5LTAzLTAyIDE3OjAwOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmZGVtdXg6IFVzZSBhcnJheXMgaW5zdGVhZCBvZiBsaXN0cyBmb3IgdGhlIG1ldGFkYXRhIHJlZ2lzdHJpZXMKCjIwMDktMDMtMDIgMTY6Mjk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBSZWR1Y2UgcHJvYmFiaWxpdHkgdG8gUE9TU0lCTEUKCjIwMDktMDMtMDIgMTY6Mjc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBBZGQgbG9ja2luZyB0byB0aGUgeGRnX21pbWVfKiBjYWxscyBhcyBpdCdzIG5vdCB0aHJlYWQtc2FmZQoKMjAwOS0wMy0wMSAyMDoxODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkgIHhkZ21pbWU6IFVzZSBnX3BhdHRlcm5fbWF0Y2hfc2ltcGxlKCkgaW5zdGVhZCBvZiBmbm1hdGNoKCkgZm9yIFdpbjMyIGNvbXBhdGliaWxpdHkKCjIwMDktMDMtMDEgMjA6MTM6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJICB4ZGdtaW1lOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDMtMDEgMjA6MTI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSAgeGRnbWltZTogRG9uJ3Qgd2FybiBpZiB3ZSBoYXZlIG5vIE1NQVAgc3VwcG9ydAoKMjAwOS0wMy0wMSAyMDoxMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJICB4ZGdtaW1lOiBVc2UgZ19udG9oW2xzXSBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiBmdW5jdGlvbnMgZm9yIFdpbjMyIGNvbXBhdGliaWxpdHkKCjIwMDktMDMtMDEgMjA6MDk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSAgeGRnbWltZTogVXNlIEdfQllURV9PUkRFUiBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gTElUVExFX0VORElBTiB0byBiZSBkZWZpbmVkCgoyMDA5LTAzLTAxIDIwOjAyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogRG9uJ3QgY29tcGlsZSB1bnVzZWQgY29kZSBmcm9tIGxvYWQuYwoKMjAwOS0wMi0yOCAyMzo0NzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIHJlYWxkZWM6IHVzZSBnc3RfcGx1Z2luX2FkZF9kZXBlbmRlbmN5KCkKCjIwMDktMDItMjggMTU6MjM6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzeW5jd29yZC4obm9uZSk+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBhY21lbmM6IGZpeCB3aGl0ZXNwYWNlCgkgIENvbnZlcnQgdG8gdW5peCBuZXdsaW5lcywgYW5kIHJlaW5kZW50IGluIHNvbWUgYnJva2VuIHBsYWNlcy4KCjIwMDktMDItMjggMjA6NDI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBtZW1vcnkgbGVhawoJICBnc3Rfc3RydWN0dXJlX2lkX3NldCgpIHdpbGwgY29weSBHc3RTdHJ1Y3R1cmVzIGluc3RlYWQgb2YgdGFraW5nCgkgIHRoZSBvd25lcnNoaXAuCgoyMDA5LTAyLTI4IDIwOjM5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IFN0b3JlIHRoZSBtZXRhZGF0YSB0eXBlIElEIGluc2lkZSB0aGUgY2xhc3Mgc3RydWN0dXJlCgoyMDA5LTAyLTI4IDE5OjQxOjEwICswMTAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVndHNkZW11eDogRml4IG1lbW9yeSBsZWFrcyB3aGVuIFBVU0kgaXMgbWlzc2VkIGR1ZSB0byBwYWNrZXQgbG9zcwoJICBGaXhlcyBidWcgIzU3MzI4OC4KCjIwMDktMDItMjggMTE6NDM6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbnNmL2Ztb3BsLmM6CgkgIG5zZjogRG9uJ3Qgd3JpdGUgZnVydGhlciB0aGFuIHRoZSBsaW1pdHMgb2YgdGhlIHRhYmxlIChzaXplIGlzIDc1LCBhcyBkZWZpbmVkIGluIHRoZSBoZWFkZXIpCgkgIGdjYyA0LjMuMyBmb3VuZCB0aGlzIG9uZSwgSSdtIGltcHJlc3NlZC4KCjIwMDktMDItMjggMTA6Mjk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGY6IERvbid0IHVzZSBHTGliIDIuMTYgQVBJIHVuY29uZGl0aW9uYWxseSBpbiB0aGUgZXhhbXBsZQoKMjAwOS0wMi0yNyAyMDo0MzoyNSArMDEwMCAgQW5kcnplaiBQb2xhdHnFhHNraSA8YXBvbGF0eW5za2lAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IEZpeCBicmlnaHRuZXNzIGNhbGN1bGF0aW9uIHRvIG5vdCBvbmx5IHVzZSB0aGUgZmlyc3Qgcm93c3RyaWRlCgkgIEZpeGVzIGJ1ZyAjNTczMzkxLgoKMjAwOS0wMi0yNyAxMTozNjo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBjb3JyZWN0IHZhbHVlcyBmb3IgY2hlY2tpbmcgVk8gc3RhcnRjb2RlLgoJICBGaXggY29tcGlsZXIgd2FybmluZyBkdWUgdG8gY29uZGl0aW9uIGFsd2F5cyBiZWluZyB0cnVlIC0gc2luY2Ugd2UncmUKCSAgb25seSBsb29raW5nIGF0IHRoZSBmaW5hbCBieXRlIG9mIHRoZSBzdGFydGNvZGUgKG5vdCB0aGUgbGVhZGluZwoJICAweDAwMDAwMSksIG9ubHkgY2hlY2sgZm9yIDwgMHgxZiwgbm90IDwgMHgxMWYKCjIwMDktMDItMjcgMjA6MjE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBVc2UgZW1wdHkgY2FwcyBmb3IgcmVnaXN0ZXJpbmcgdGhlIHR5cGVmaW5kZXJzIHdpdGggb2xkIGNvcmUgdmVyc2lvbnMKCSAgY29yZSBiZWZvcmUgMC4xMC4yMi4xIHByb2R1Y2VkIGFzc2VydGlvbnMgd2hlbiBzdG9yaW5nIHR5cGVmaW5kIGZhY3RvcmllcwoJICB3aXRoIE5VTEwgY2FwcyBpbiB0aGUgcmVnaXN0cnkuCgoyMDA5LTAyLTI2IDE1OjQwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgbW9yZSBmb3JtYXRzCgkgIFdlIG9ubHkgbmVlZCBhIFZpZGVvIE9iamVjdCBTdGFydCBjb2RlIGJlZm9yZSB3ZSBjYW4gc3RhcnQgcHVzaGluZyBvdXQgZGF0YS4KCSAgU2VhcmNoIGZvciB0aGlzIGNvZGUgYWxzbyBpbnN0ZWFkIG9mIG9ubHkgbG9va2luZyBmb3IgVk9TIGFuZCBWT1AuCgkgIEZpeGVzICM1NzI1NTEuCgoyMDA5LTAyLTI3IDEyOjAzOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJ3dvcmsnCgoyMDA5LTAyLTI3IDExOjU2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgZG9jczogSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMDktMDItMjcgMTE6NTU6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBNb3ZlIGRlZmluZSBpbnRvIHRoZSBDIGZpbGUgc28gaXQgZG9lc24ndCBzaG93IHVwIGluIHRoZSBkb2NzCgoyMDA5LTAyLTI3IDExOjU0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJICBkb2NzOiBFbnJvbGwgZGlyYWMgcGx1Z2luIGludG8gdGhlIGRvY3MKCjIwMDktMDItMjcgMTE6Mzk6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBBZGQgc29tZSBiYXNpYyBkb2NzIHRvIHRoZSBwbHVnaW4KCjIwMDktMDItMjcgMTA6MTY6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJICBhcGV4c2luazogVXNlIGEgdW5pb24gdG8gYXZvaWQgdHlwZS1wdW5uaW5nIHN0cmljdCBhbGlhc2luZyBjb21waWxlciB3YXJuaW5nLgoKMjAwOS0wMi0yNyAxMjozNToxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXdvcmsgc2lnbmFsaW5nIGFuZCB0ZXN0cwoJICBSZXZlcnQgdGhlIEdTdHJpbmcgY2hhbmdlLiBUaGVyZSBhcmUgbm8gbWFyc2hhbGxlcnMgZm9yIGl0LiBBIGJldHRlciBjaGFuZ2UgaXMKCSAgbm93IGRlc2NyaWJlZCBpbiBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzMzNzAuCgkgIFRlc3Qgc2hvdWxkIHdvcmsgYWdhaW4uCgoyMDA5LTAyLTI3IDExOjI0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnQgbGFzdCBjaGFuZ2UgYW5kIHByb3Blcmx5IGZpeAoJICBCYXNlcGFyc2UgaW50ZXJuYWx5IGJyZWFrcyB0aGUgc2VtYW50aWNzIG9mIGEgX2NoYWluIGZ1bmN0aW9uIGJ5IGNhbGxpbmcgaXQgd2l0aAoJICBidWZmZXI9PU5VTEwuIFRoZSByZXNvbiBJIGJlbGl2ZWQgaXQgd2FzIG9rYXkgdG8gcmVtb3ZlIGl0IHdhcyB0aGF0IHRoZXJlIGlzCgkgIGFsc28gYW4gdW5jaGVja2VkIGFjY2VzcyB0byBidWZmZXIgbGF0ZXIgaW4gX2NoYWluLiBBY3R1YWxseSB0aGF0IGNvZGUgaXMgd3JvbmcsCgkgIGFzIGl0IG1vc3QgcHJvYmFibHkgd2FudHMgdG8gc2V0IGRpc2NvbnQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlci4KCjIwMDktMDItMjcgMTE6MDY6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSAgcXR3cmFwcGVyOiBPbmx5IHVzZSBfZHVtcF9tZW0oKSBpZiByZXF1ZXN0ZWQuCgoyMDA5LTAyLTI2IDEyOjQ4OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEFkZCB2MjEwIGZvcm1hdAoKMjAwOS0wMi0yNiAxMjo0NzoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBGaXggaW5jb3JyZWN0ICJwaXhlbF9hc3BlY3RfcmF0aW8iIGluIGNhcHMKCSAgU2hvdWxkIGJlICJwaXhlbC1hc3BlY3QtcmF0aW8iLgoKMjAwOS0wMi0yNiAxODo0NjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmOiBBZGQgZXhhbXBsZSBhcHBsaWNhdGlvbiB0byBvdXRwdXQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdHJlZSBpbnRvIGEgR3RrVHJlZVZpZXcKCjIwMDktMDItMjYgMTM6MTA6MjkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwYmluOiBEb24ndCBmb3J3YXJkIHJldmMgZXZlbnRzIHRvIHNlbmRlcgoJICBEb24ndCBzZW5kIGV2ZW50cyBmcm9tIHRoZSByZWNlaXZlciB0byB0aGUgc2VuZGVyIHNpZGUuCgkgIEZpeGVzICM1NzI5MDAuCgoyMDA5LTAyLTI2IDExOjAyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgY2hlY2tzIGZvciBidWZmZXI9PU5VTEwKCSAgQWNjb3JkaWZuIHRvIGRvY3MgZm9yIEdzdFBhZENoYWluRnVuY3Rpb24gYnVmZmVyIGNhbm5vdCBiZSBOVUxMLiBJZiB3ZSB3b3VsZAoJICBsZWF2ZSB0aGUgY2hlY2ssIHdlIHdvdWxkIGFsc28gbmVlZCBtb3JlIHN1Y2ggY2hlY2sgYmVsb3cuCgoyMDA5LTAyLTI1IDE1OjA2OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVwZGF0ZSBzaGF2ZSBpbml0IHN0YXRlbWVudCBmb3IgY2hhbmdlcyBpbiBjb21tb24uIEJ1bXAgY29tbW9uLgoKMjAwOS0wMi0yNSAxNToyNDoxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgdGVzdHM6IGFkZCBhIHRpbWVvdXQgb2YgNSBzbGlnaHRseSBhYm92ZSB0aGUgZGVmYXVsdAoKMjAwOS0wMi0yNSAxNToxNzoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaW5jcmVhc2UgdGltZW91dCBhbmQgbG93ZXIgdmlkZW8gcmVjb3JkaW5nIGxlbmd0aAoJICBUaGUgdmlkZW8gd2FzIHJlY29yZGVkIGZvciB0b28gbG9uZyBmb3IgdGhlIHRlc3QgdGltZW91dHMuIEFsc28gdGhlIHZlcmlmaWNhdGlvbgoJICBzdWl0ZSBkaWQgbm90IGhhZCBjdXN0b20gdGltb3V0cyBhdCBhbGwuIEFsc28gc3BsaXQgdGhlIHZlcmlmaWNhdGlvbiBmb3IgaW1hZ2VzCgkgIGFuZCB2aWRlbyB0byBnZXQgYmV0dGVyIHJlcG9ydGluZy4KCjIwMDktMDItMjUgMTE6MzI6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWNmOGM5YiB0byBhNmNlNWM2CgoyMDA5LTAyLTI1IDEyOjM0OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBkY2NwIHBsdWdpbnMuCgkgIFVubGVzcyBvbmUgcnVucyBhIHZlcnkgcmVjZW50IGtlcm5lbCwgdGhleSBjYW4gZWFzaWx5IGxvY2t1cCB0aGUgd2hvbGUgc3lzdGVtLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMjUgMTE6MzQ6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvbid0IGlnbm9yZSBHc3RGbG93UmV0dXJuIHZhbHVlcwoJICBkb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBwdWxsX3JhbmdlIGJlY2F1c2Ugd2Ugb25seSBnZXQgYSB2YWxpZCBub24tTlVMTAoJICBidWZmZXIgd2hlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIEdTVF9GTE9XX09LLiBBdm9pZHMgYSBjcmFzaCB3aGVuIHRoZSBwaXBlbGluZSBpcwoJICBzaHV0dGluZyBkb3duLgoKMjAwOS0wMi0yNSAxMTo0MTozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBzaWduYWwgbWFyc2hhbGxlciBhbmQgZG9jcwoJICBVc2UgR1N0cmluZyBpbnN0ZWFkIG9mIEdQb2ludGVyIGZvciB0aGUgbWFyc2hhbGxlciBhcyB0aGlzIGlzIHdoYXQgdGhlIGNhbGxiYWNrIHVzZXMuCgkgIFNsaWdodGx5IHJlZm9ybWF0IGRvY3MuCgoyMDA5LTAyLTI1IDExOjM4OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5wbmc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIHRvIGFkZCBjYW1lcmFiaW4gYW5kIGl0cyBmaWd1cmUKCjIwMDktMDItMjUgMTE6MDA6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGdldCByaWQgb2YgLy8gY29tbWVudCBhbmQgZXhwbGFpbgoKMjAwOS0wMi0yNSAxMDo0NjoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIGNoZWNrIHVuaXQgdGVzdAoJICBVc2UgcGxheWJpbjIgZm9yIHZhbGlkYXRpb24uIFVzZSB0bXBfZGlyIGZvciBjYXB0dXJpbmcuIFdhaXQgd2l0aCBnX2NvbmQgZm9yCgkgIGJ1cnN0IGNhcHR1cmUgZmluaXNoLiBDbGVhbnVwIHNvbWUgZ19vYmplY3Rfc2V0LiBBZGQgc29tZSBsb2dnaW5nIHRvIGVhc2UKCSAgdHJhY2luZy4KCjIwMDktMDItMjUgMTA6NDU6MTkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdW5ibG9jayBjb3JyZWN0IHBhZCBpbiByZXNldCwgc3VwcG9ydCBmYWtlc2luayBhcyB2aWV3IGZpbmRlcgoKMjAwOS0wMi0yNCAxNjozNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgIFJlbW92ZSB0ZXN0cy9leGFtcGxlcy9hcHAgYXMgaXQgd2FzIG1vdmVkIHRvIC1iYXNlIGEgbG9uZyB0aW1lIGFnbwoKMjAwOS0wMi0yNCAxNjozMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIGV4YW1wbGVzL2RpcmVjdGZiLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIGV4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiBleGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2xldmVsL1JFQURNRToKCSogZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiBleGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJKiBleGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgTW92ZSBleGFtcGxlcyBkaXJlY3RvcnkgdG8gdGVzdHMvZXhhbXBsZXMgYXMgaW4gZXZlcnkgb3RoZXIgR1N0cmVhbWVyIG1vZHVsZQoKMjAwOS0wMi0yNCAxNjoyMToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogVXNlIG5ldyBEQ0EgZnVuY3Rpb25zL2NvbnN0YW50cyBhcyBub3QgYWxsIGRpc3Ryb3MgcGFja2FnZSB0aGUgY29tcGF0IGR0cy5oCgkgIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdlIGRlZmluZSB0aGUgRENBIGZ1bmN0aW9ucy9jb25zdGFudHMgdG8gdGhlCgkgIG9sZCBEVFMgZnVuY3Rpb25zL2NvbnN0YW50cyBpZiB3ZSdyZSBidWlsZGluZyBhZ2FpbnN0IGxpYmR0cy4KCjIwMDktMDItMjQgMTU6MjY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50Lmg6CgkgIHhkZ21pbWU6IEFkZCBuZXcgdHlwZWZpbmRlciBiYXNlZCBvbiB4ZGdtaW1lCgkgIFRoaXMgdHlwZWZpbmRlciBpcyBtb3N0bHkgdXNlZnVsIHRvIGZpbHRlciBvdXQgYW55IGZhbHNlIHBvc2l0aXZlcwoJICBieSB0aGUgb3RoZXIgdHlwZWZpbmRlcnMgbGlrZSB0aGUgdXN1YWwgV29yZCBkb2N1bWVudCBtaXNkZXRlY3RlZCBhcwoJICBNUDMgZmlsZS4KCjIwMDktMDItMjQgMTM6Mzc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBkdHM6IFByZWZlciBsaWJkY2Egb3ZlciBsaWJkdHMgYXMgaXQncyB0aGUgc3VjY2Vzc29yCgoyMDA5LTAyLTIzIDE2OjAyOjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMi0yMyAxNToyNTowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMi0yMCAxMjowODowNCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBBZGQgYXNwZWN0IHJhdGlvIGNhcHNmaWx0ZXIgZm9yIHZpZXcgZmluZGVyCgkgIElmIGRlYWxpbmcgd2l0aCBsYXJnZXIgZnJhbWUgc2l6ZXMgdGhhbiB2aWV3IGZpbmRlciBzaW5rIGVsZW1lbnQKCSAgYWNjZXB0cyB0aGVuIG1haW50YWluIGFzcGVjdCByYXRpbyB3aGVuIHNjYWxpbmcgZnJhbWVzIHRvIGZpdC4KCjIwMDktMDItMjAgMTI6MDc6MzMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2NhbGUgaW5jb21pbmcgZnJhbWVzIGlmIHRoZWlyIHNpemUgZG9lcyBub3QgbWF0Y2ggcmVxdWVzdGVkIHNpemUKCSAgSWYgY2FwdHVyZSBwcmVwYXJhdGlvbiBpbiB2aWRlb3NyYyByZXN1bHRzIGluIGZyYW1lIHNpemUgZGlmZmVyZW50CgkgIGZyb20gcmVxdWVzdGVkIHNpemUsIHRoZW4gd2UgbmVlZCB0byBzY2FsZSB0aGVtLgoKMjAwOS0wMi0yMCAxMjowMzowMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG8gaWZhY2U6IEFkZCBjYXBzIG9iamVjdCB0byBwcmVwYXJhdGlvbiBBUEkgZm9yIHJlcXVlc3RlZCBhbmQgYWN0dWFsIGNhcHR1cmUgZm9ybWF0CgkgIEFsbG93IHJlcXVlc3Rpbmcgb2YgY2VydGFpbiBmb3JtYXQgd2l0aCBwcmVwYXJlX2Zvcl9jYXB0dXJlKCkgYW5kIHJldHVybgoJICB0aGUgYWN0dWFsIGZvcm1hdCBpbiBHc3RQaG90b0NhcHR1cmVQcmVwYXJlZCBjYWxsYmFjay4KCjIwMDktMDItMjMgMTE6NDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IEFkZCBzb3VuZHRvdWNoJ3MgLWxCUE0gdG8gX0xJQlMsIG5vdCBfQ0ZMQUdTCgoyMDA5LTAyLTIyIDIyOjAwOjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgZGNjcDogRml4ICJub24tdm9pZCB3aXRob3V0IHJldHVybiB2YWx1ZSIgY29tcGlsYXRpb24gaXNzdWUuCgoyMDA5LTAyLTIyIDE5OjE3OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIERldGVjdCBsaWJzb3VuZHRvdWNoIDEuNCBhbmQgaGlnaGVyLgoJICBJbiBsaWJzb3VuZHRvdWNoIDEuNCwgbGliQlBNIGFwcGVhcnMgdG8gaGF2ZSBiZWVuIHN1YnN1bWVkIGludG8KCSAgbGliU291bmRUb3VjaCwgYW5kIGludG8gdGhlIHNvdW5kdG91Y2ggbmFtZXNwYWNlLgoKMjAwOS0wMi0yMiAxODoxMjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVzZSBzaGF2ZSBmb3IgdGhlIGJ1aWxkIG91dHB1dAoKMjAwOS0wMi0yMiAxODo0MTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY29tcGlsYXRpb24gb24gV2luZG93cyB3aXRoIFZpc3VhbCBTdHVkaW8KCSAgV2luZG93cyBkb2Vzbid0IGhhdmUgc3RyY2FzZWNtcCBzbyB3ZSBzaG91bGQgdXNlCgkgIGdfYXNjaWlfc3RyY2FzZWNtcCBoZXJlIGluc3RlYWQuCgkgIEFsc28gV2luZG93cyBkb2Vzbid0IGhhdmUgc3lzL3RpbWUuaCBzbyB3ZSBmaXJzdAoJICBuZWVkIHRvIGNoZWNrIGlmIGl0IGFjdHVhbGx5IGV4aXN0cyBhbmQgaWYgbm90CgkgIHdlIHNob3VsZCBub3QgaW5jbHVkZSBpdC4KCSAgRml4ZXMgYnVnICM1NzIzMTUuCgoyMDA5LTAyLTIyIDE1OjU4OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVkN2M5Y2MgdG8gOWNmOGM5YgoKMjAwOS0wMi0yMiAxNDo1ODozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRG9uJ3QgdXNlIHZvaWQgKiBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDItMjIgMTM6MTc6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5nCgoyMDA5LTAyLTIxIDExOjEzOjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODBjNjI3ZCB0byA1ZDdjOWNjCgoyMDA5LTAyLTEwIDE3OjAyOjI0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgTW92ZWQgcnRwbXV4IGZyb20gZ3N0LXAtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0NTo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxOToxMToxNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvY3VtZW50IHJ0cCBtdXhlciBhIGJpdAoKMjAwOS0wMi0yMCAxMzozMDo0OSAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHNpZ25hbHMgYmVmb3JlIHN0cmVhbSBsb2NrIGFuZCBhZnRlciB1bmxvY2tpbmcKCjIwMDktMDItMTggMjA6MTg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMZXQgc3NyYyB0aHJvdWdoIGdldGNhcHMKCjIwMDktMDItMTggMTk6NTg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgaGF2ZV9iYXNlIHRvIGhhdmVfdHNfYmFzZQoKMjAwOS0wMi0xOCAxODoxNDo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3RlY3QgdGhlIHNlcW51bSB3aXRoIG9iamVjdCBsb2NrIGluIHJ0cG11eAoKMjAwOS0wMi0xOCAxODowNzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgc2lua190c19iYXNlCgoyMDA5LTAyLTE4IDE1OjIwOjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSGF2ZSBnZXRjYXBzIHRvIGZvcmNlIHRoZSBzYW1lIGNsb2NrcmF0ZSBvbiBhbGwgcGFkcwoKMjAwOS0wMi0xOCAxNzowNToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFZhbGlkYXRlIFJUUCBkYXRhIGluIFJUUCBNdXgKCjIwMDktMDItMTggMTQ6MTY6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGNsb2NrLXJhdGUgcHJvcGVydHkKCjIwMDktMDItMTggMTM6NTY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSBsb2NraW5nIGluIHJ0cGR0bWZtdXgKCjIwMDktMDItMTggMTM6MzI6NTYgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6NTU6MjIgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXBkYXRlIHNlcW51bSBiYXNlIGluIHJ0cCBtdXhlcgoJICBXaXRoIGhlbHAgZnJvbSBXaW0KCjIwMDgtMTItMDEgMTc6NTQ6NTggLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBzb21lIG1vcmUgbGVha3MKCjIwMDgtMTItMDEgMTc6NDg6MjkgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBsZWFrCgoyMDA4LTA5LTI5IDE1OjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBrbm93ICh0aGFua3MgV2ltKQoKMjAwOC0wOC0xMiAxMjo0ODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBwZXItYnVmZmVyIGRlYnVnIGF0IGxldmVsIExPRwoKMjAwOC0wOC0xMiAxMjo0NzoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZGVidWcgcHJpbnQgYWNjdXJhdGUKCjIwMDgtMDgtMTIgMTI6NDY6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgb3VyIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCjIwMDgtMDgtMTIgMTI6NDY6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1iYXNlIHN0b3JlZCBmcm9tIHRoZSBsYXN0IHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6NDE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTdG9yZSB0aGUgY2xvY2stYmFzZSBvbiBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjMwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhZHByaXZhdGUgdG8gdGhlIHJlcXVlc3QgcGFkcwoKMjAwOC0wOC0xMiAxMjoyMzozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgd2hpdGVzcGFjZSBpbiBnc3RydHBtdXgKCjIwMDgtMDgtMTEgMjE6MjA6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGluZGVudGF0aW9uIG1vcmUgY29ycmVjdAoKMjAwOC0wOC0xMSAyMTowNTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvCgoyMDA4LTA4LTExIDIxOjAzOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHNlcW51bS1iYXNlIGFuZCBjbG9jay1iYXNlIGluIGNhcHMgZnJvbSBydHBtdXhlcgoKMjAwNy0wOC0xNSAxMzo1MDozOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwODE1MTM1MDM4LWYzZjFlLTljN2E1NDkwYTUyNWM2ZTg3NTNjYjFiOGMwMzM1NGRmOTkxMzJiNWMuZ3oKCjIwMDctMDgtMjMgMjE6MjI6MjUgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN5bmMgaml0dGVyYnVmZmVyIHdpdGggQ1ZTIC1iYWQKCSAgMjAwNzA4MjMyMTIyMjUtMjQyNWItMGZlNjliZjcyNTM5Njc4ZGRhNDVkNjE1YTA5ZjFjYmY1MDJjYzcxYS5negoKMjAwNy0wOC0yMCAxODo1MDozMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtaXNzaW5nIGNvbW1lbnQKCSAgMjAwNzA4MjAxODUwMzItNGYwZjYtMGFiNjdiNmFjNDBkZDRlMzVhOGZlNTNmM2NiNmRhZmY2NWNlNDNiOS5negoKMjAwNy0wNy0xMiAxOTo1MzozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBidWZmZXIgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgaW50byBpdAoJICAyMDA3MDcxMjE5NTMzNi0zZTJkYy05MWE1ZmI3OTdjZmE0OTE5ZDRlMmY5YTcyOGM2ZDZmYmQzYjgzZDkzLmd6CgoyMDA3LTA3LTA2IDIwOjI0OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgcGFkcyBhY3RpdmUgd2hlbiBhZGRpbmcgdGhlbSB0byBhIHBvdGVudGlhbGx5IHJ1bm5pbmcgZWxlbWVudAoJICAyMDA3MDcwNjIwMjQ1OS0zZTJkYy1hMzczMWY4ODU3MjU1OTRkZWYwYTdiZTk5N2ZjN2IzYTczOWVlOTY3Lmd6CgoyMDA3LTA2LTA3IDEyOjAxOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbXVsdGlwbGUgcmVmIGxlYWtzIChwYXRjaGVzIGJ5IFNQIEdMRSkKCSAgMjAwNzA2MDcxMjAxMjEtM2UyZGMtMDYxZTllZjdhNDdiMWI4NGZhOGY4MDkyZjRiOGJjYzBlNmRiOGM4Yy5negoKMjAwNy0wNS0yOCAxNToyNTowNSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHNlbmQgZXZlbnQgdG8gYWxsIHNyYyBwYWRzCgkgIDIwMDcwNTI4MTUyNTA1LWYzZjFlLTAzOTIxNmM3M2RjOTNmNjRjNDk5NjJjNzdhMDI1M2NiOWNmZWM0ZDMuZ3oKCjIwMDctMDUtMjggMTI6Mzc6NDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBwcmludCBhIHdhcm5pbmcgaWYgcmVjZWl2ZSBhbiBlcnJvciBpdGVyYXRpbmcgc2lua3BhZHMKCSAgMjAwNzA1MjgxMjM3NDktZjNmMWUtNGMxZWIzZjUxMWI1NjEwMTQzNjEwYTY1YTk0ZDExN2YyYzNkMjU4MC5negoKMjAwNy0wNS0yOCAxMjoyODowOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYWwgd2l0aCBhbGwgdGhlIGdzdF9pdGVyYXRvcl9uZXh0KCkgcmV0dXJuIHZhbHVlcwoJICAyMDA3MDUyODEyMjgwOC1mM2YxZS1kMzAxNjQ0YzNiZTc2MzNlYzZkYzVlMjg1OTZlOTM0NmQyZGE2YTUwLmd6CgoyMDA3LTA1LTI1IDEyOjMxOjE2ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV0dXJuIGNvcnJlY3QgdmFsdWUgZnJvbSB0aGUgZXZlbnQgaGFuZGxlcgoJICAyMDA3MDUyNTEyMzExNi1mM2YxZS0xMzFiMzdiNWY0NTIxNjE4ZmUyZjEzMjA0MDlhNDdlNjViMzVhZDJkLmd6CgoyMDA3LTA1LTI1IDEwOjI3OjA5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVmlsbGUncyBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhlIHRyYXZlcnNhbCBvZiBkdG1mIGV2ZW50CgkgIDIwMDcwNTI1MTAyNzA5LWYzZjFlLTZjNDFkMWVmOTM0MDY4YTRmNGU4MTBlN2U5ODFiNDIwMDc1YjBjOTguZ3oKCjIwMDctMDMtMjkgMTM6NTI6NTAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCB0aGUgY29ycmVjdCB0cy1vZmZzZXQgb24gdGhlIGdldF9wcm9wIHZhbHVlCgkgIDIwMDcwMzI5MTM1MjUwLTY1MDM1LWE0M2UyMjJkOTFkNTdjMGE2MWNiMzI4NzU4NmFhYTI5YWJmNzg2NzQuZ3oKCjIwMDctMDMtMjkgMTM6NTI6MjMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yaXplIHN0YXRlX2NoYW5nZQoJICAyMDA3MDMyOTEzNTIyMy02NTAzNS0yM2EwMTA3YjJlMzk3NzEwZjAzNWM2ZTg4Y2MwZTQ5YjY1YmI0ZDVkLmd6CgoyMDA3LTAzLTI5IDEzOjM2OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBzZXQgU1NSQyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDMyOTEzMzYyMi02NTAzNS0xYmU2ZTBhYTg1YTcxMzg5ZjdkMjU3YjljZDNlMTNhNzNkNmI3NDViLmd6CgoyMDA3LTAzLTI5IDEzOjE5OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb2RlIGNsZWFuLXVwIGFuZCBtb3JlIGRlYnVnIG91dHB1dAoJICAyMDA3MDMyOTEzMTkzNi02NTAzNS05ZDQ5OWUyMDllMGQ3YTQwOWMzYWEwZDEwNDA3NzhiYWJmMDc2MTc5Lmd6CgoyMDA3LTAzLTI4IDExOjIyOjE5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2Ugb3duIGNsb2NrLWJhc2UKCSAgMjAwNzAzMjgxMTIyMTktNjUwMzUtMWJhNWZlZmJjNjUwNTllOWIwYzg2MDUyOGEzMTA2MmNlYjZhNzMzMS5negoKMjAwNy0wMy0yMyAxNjozMTozOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBhY2NlcHQgUlRQIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lIGNsb2NrLXJhdGUKCSAgMjAwNzAzMjMxNjMxMzktNjUwMzUtZmMwYjE3YjBiOGE3YTA0MWY0ODk5NGM0ZjI2ZTk2NTY4MTY4YmY5NS5negoKMjAwNy0wMy0yMiAxNjoxNTo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgbW9yZSBjb2RlLWNsZWFudXBzCgkgIDIwMDcwMzIyMTYxNTUyLTY1MDM1LWJkYTk2MTY1ZTE0NmI0ZjFkNWZlYTFjYzk1NzZhN2FiM2FiZWJjOWUuZ3oKCjIwMDctMDMtMjIgMTU6NDI6NTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJldHVybiBuZXdwYWQgaW5zdGVhZCBvZiBOVUxMIGFuZCB3YXJuIGlmIGZhaWxlZCB0byBjcmVhdGUgYSBwYWQKCSAgMjAwNzAzMjIxNTQyNTEtNjUwMzUtY2RiNjY1MWU2MWMyZWIwMjA1Y2M4YzI0NjkzYjQzZjk4YTJkYTcxOC5negoKMjAwNy0wMy0yMiAxMjo0MTozMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3JpemUgdGhlIFJUUE11eCBjb2RlCgkgIDIwMDcwMzIyMTI0MTMyLTY1MDM1LTBhMzI3ODE0NzU0NmUzM2Y2ODcwOTdhNDNiNzc1YjNmNmFhOTlmOTMuZ3oKCjIwMDctMDMtMjIgMTI6MTQ6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIG1vcmUgZG9jIGZpeGluZwoJICAyMDA3MDMyMjEyMTQ1My02NTAzNS0xMmQ2MDIyNzIyMTdiNTFiZDk3ZGY0ZTU3OTAwMjRjMzk5NjIyZGQzLmd6CgoyMDA3LTAzLTIyIDExOjMyOjI4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW9yZSBSZWZhY3RvcmluZwoJICAyMDA3MDMyMjExMzIyOC02NTAzNS1iYWUzNGE3OTU5OWU3ZGU1MjkzZWQ3N2IwMjIzNjFjY2ZmODIyYmI5Lmd6CgoyMDA3LTAzLTIyIDExOjMxOjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW9yZSBkb2N1bWVudGF0aW9uCgkgIDIwMDcwMzIyMTEzMTU0LTY1MDM1LTYyNDg1MDU0MWE1YjVmYzNkZjIzMTIwNGJlNWE4M2QwNzIzOWRiMjguZ3oKCjIwMDctMDMtMjEgMTY6MzM6MTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3RvciB0aGUgZXZlbnQgaGFuZGxlciBmdW5jdGlvbgoJICAyMDA3MDMyMTE2MzMxMS02NTAzNS05ODdlN2YyNWQxYWI1MzM1Yjc5ZjQ0YjI3N2FiZjE1ZTRlMzdkMzE3Lmd6CgoyMDA3LTAzLTIxIDE0OjUyOjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIFJUUERUTUZNdXggZWxlbWVudAoJICAyMDA3MDMyMTE0NTI0NC02NTAzNS05YTAxMzkwYjBkZWUzMzk4ZTUzMTk5YTFmYTFkOTM1MjAwNGYzMzhlLmd6CgoyMDA3LTAzLTIxIDEyOjMxOjQ5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgRFRNRi1zcGVjaWZpYyBjb2RlIGZyb20gUlRQIG11eGVyIGFuZCBtYWtlIGl0IGV4dGVuZGFibGUKCSAgMjAwNzAzMjExMjMxNDktNjUwMzUtYjhhOGY1NWZmNzhlZWQ4Y2JiMDA0MmU4Mjc4ODVlZGZjNTQzODI0Mi5negoKMjAwNy0wMy0yMCAxMjowNToyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IG1vcmUgaGVscGZ1bCBkZXNjcmlwdGlvbgoJICAyMDA3MDMyMDEyMDUyNC02NTAzNS1kYjI3YTdjZjYzMDdiNTExYWViM2Q5OTZkMjZlNzkwZTM2N2E3YmFkLmd6CgoyMDA3LTAzLTE2IDE1OjE2OjQxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmUgdGhlIChjb21tZW50ZWQtb3V0KSBjb2RlIGZvciBibG9ja2luZyB0aGUgcGFkcwoJICAyMDA3MDMxNjE1MTY0MS02NTAzNS0wMTIzYWYzODc5NTFmODg1OTQ3OTdjNzIyZTg4MmNmZTcwMjQwYWZmLmd6CgoyMDA3LTAzLTE2IDEzOjE0OjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEcm9wIGJ1ZmZlcnMgaW5zdGVhZCBvZiBibG9ja2luZyB0aGUgc2lua3BhZHMKCSAgMjAwNzAzMTYxMzE0NDQtNjUwMzUtOWMxMzQ1YWQ5NjEwODg4MWY0NTVkNGI1NWE3ZjYyM2NkMzAyZDBlZC5negoKMjAwNy0wMy0xNCAxNzoxNjoxOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0cmVhbSBsb2NraW5nLCBuZWVkZWQgZm9yIERUTUYKCSAgMjAwNzAzMTQxNzE2MTgtNjUwMzUtZTRkMjRiMTYwNmNlMGEzZTJlNzM5ZjAxODMzZjYxZTRkNzU1NWVhYy5negoKMjAwNy0wMy0xNCAxMDoyMDo1OCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNlIEdTVF8qX09CSkVDVCBpbnN0ZWFkIG9mIGdfKgoJICAyMDA3MDMxNDEwMjA1OC02NTAzNS1lMjQ0Mjg4OGYyZTNlNWEzYTc2NTlhZDc5NTRhNGZiYTM0NzQ5Y2UyLmd6CgoyMDA3LTAzLTE0IDEwOjE4OjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBObyBuZWVkIHRvIG1hbmFnZSBwYWRzLCBwYXJlbnQgZG9lcyB0aGF0IGZvciB1cwoJICAyMDA3MDMxNDEwMTg1NC02NTAzNS1lZjVmNGFiZGUyMjcxMDJhMTEyODgzNWFiMzI1OTA1ZWFlNGMzNzI2Lmd6CgoyMDA3LTAzLTE0IDA5OjAzOjU4ICswMDAwICB6ZWVuaXhAZ21haWwuY29tIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHQgaGVhZGVyCgkgIDIwMDcwMzE0MDkwMzU4LWQwMTRhLTNhNmQzZWVlYWFmNWNiOGNhM2JjYTZhMzNlOTlhNTUxZjU5OGJkNDguZ3oKCjIwMDctMDMtMDcgMDg6NTM6MDcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSVFAgbXV4ZXIKCSAgMjAwNzAzMDcwODUzMDctNjUwMzUtODMzNDAyNDEzZjk5Y2IzZjhiZTQ4ODNlOTJiYWQ0Yzg3MjI1MTBjOS5negoKMjAwOS0wMi0yMCAxODoxNjowMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBEb2N1bWVudCBydHBkdG1mZGVwYXkgYSBiaXQKCjIwMDktMDItMjAgMTc6NDE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgTW92ZWQgZHRtZiBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDA6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIEZpeCB1cCBkb2N1bWVudGF0aW9uIGJsb2JzIFNHTUwKCjIwMDktMDItMjAgMTc6Mzc6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xOCAxMzozMDo0NCAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgZGlyZWN0aXZlCgoyMDA4LTEyLTA0IDIxOjIxOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWF4aW11bSBkdXJhdGlvbiB0byBhIFJUUCBEVE1GIGV2ZW50CgoyMDA4LTEyLTA0IDIxOjExOjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcHJvdmUgdGhlIG1pbmltdW0gcXVhbnRhIHRvIG1ha2UgaXQgaW1wb3NzaWJsZSBmb3IgdGhlIGR1cmF0aW9uIHRvIGZhbGwgZG93biB0byAwCgoyMDA4LTEyLTAxIDE4OjMxOjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWluaW11bSBzaXplIG9mIGEgc291bmQgcXVhbnRhIGluIHRoZSBkdG1mIGRlcGF5bG9hZGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzozNzoxMCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gd2llcmQgY2FzdGluZyBvZiB0aGUgdm9sdW1lIHRvIG1ha2UgTVNWQyBoYXBweQoKMjAwOC0xMC0xNSAxNjoyMTo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSAiZXZlbnQtdHlwZSIgZmllbGQgd2hlbiBzcGVjaWZ5aW5nIGR0bWYgZXZlbnRzCgoyMDA4LTA3LTIyIDIxOjM5OjM4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnX2RlYnVncwoJICAyMDA4MDcyMjIxMzkzOC0zZTJkYy00NGE4MmQwMTdmZTY2ZjMxMTIzMDFjNDEwYWEwYjU0M2RlNjE1NmFkLmd6CgoyMDA4LTA2LTEzIDIzOjU3OjIzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgcmF0ZSBmcm9tIHRoZSBwZWVycyBjYXBzIGlmIHBvc3NpYmxlCgkgIDIwMDgwNjEzMjM1NzIzLTNlMmRjLTE1NjkwZWU0MjcwOGM1MzllMWJlMTJlMjBlMDc2YTU2MTNmYWVhOTYuZ3oKCjIwMDgtMDYtMTMgMjM6NDE6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgdGhlIHNhbXBsZSByYXRlIGluIGR0bWZzcmMgaW50byBhIHZhcmlhYmxlCgkgIDIwMDgwNjEzMjM0MTQ0LTNlMmRjLWU2MDA3MDk0M2JlYzgyOWI3MDNiODgyMWM3YWE0MzUxYTAyZGVlYmUuZ3oKCjIwMDgtMDYtMTMgMjM6MzA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stcmF0ZSBmcm9tIHRoZSBjYXBzIGluIHJ0cGR0bWZzcmMKCSAgMjAwODA2MTMyMzMwMDYtM2UyZGMtYTdkNGU5MTg2NDNmNGY4YzFiYjJjYzI2Nzg1NThjNjU0MDI1OTIwZS5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0NDoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggYnl0ZSBvcmRlcmluZyBpc3N1ZXMgd2l0aCBkdG1mc3JjIGFuZCBydHBkdG1mZGVwYXkuLiB1c2Ugb2YgR19TVFJJTkdJRlkgdG8gYXZvaWQgZXJyb3Igb24gTVNWQwoJICAyMDA4MDQxMjIzNDQxOC00ZjBmNi00ODI4ZDE2MTNkZmNkNTY0YWZkMjM2ZGZjOGZiNTdhMjk5MDkyZjgzLmd6CgoyMDA4LTAzLTIwIDE5OjE0OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMgYWdhaW4sIHBlciBzbWN2J3MgYWR2aWNlLi4KCSAgMjAwODAzMjAxOTE0MzgtNGYwZjYtNjcxYzlkYjVkOTk2YTQ2MDFkZjAxN2NlYWI0YWY2ZDE2NDY5Yzk2Ni5negoKMjAwOC0wMy0xOSAyMToxNzozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGNsZWFyIHRoYXQgZHRtZnNyYyBhbHNvIHRha2VzIG5hbWVkIGV2ZW50cyBhcyBpbnB1dAoJICAyMDA4MDMxOTIxMTczMS0zZTJkYy0yNmM3MjlmNmRjOGRiMjdlNzFjZjZiMjI2NDZhODE1MzBkYmY4NjJmLmd6CgoyMDA4LTAzLTIwIDE4OjQ4OjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWJ1ZyBtZXNzYWdlIG1hZGUgaW50byBlcnJvcnMgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGV5IGFyZS4uLgoJICAyMDA4MDMyMDE4NDg0MS00ZjBmNi04YTJkMjgzMjk3YjAyNzEzZGFkZTBhZTRhY2FhNWY2ZTBmNjdlYWNlLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbiB1bnVzZWQgc3R1ZmYuLi4KCSAgMjAwODAzMjAxODM5MzctNGYwZjYtYmNiODQxY2RjMDdmOWU5Njc3NTEyZjRiNTBiNGI2NTlhNThjNjc4My5negoKMjAwOC0wMy0yMCAxODozOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzCgkgIDIwMDgwMzIwMTgzOTEyLTRmMGY2LTY4OTM2NWQ1YTQwNjYzMmUzZDA4OGZhYzc0ZTRmYjZmOGE0ZWIwZWEuZ3oKCjIwMDgtMDMtMjAgMDE6MTM6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgc3VwcG9ydCBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDExMzAxLTRmMGY2LWQzNmE1ZDI0YmUyMDMzNmUzNmM0Nzk2ZDc1NDc2YzliNWVlMWE3ZTEuZ3oKCjIwMDgtMDMtMTkgMTk6MzI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW5jb2RpbmcgbmFtZSBoYXMgdG8gYmUgdXBwZXItY2FzZQoJICAyMDA4MDMxOTE5MzI1MS0zZTJkYy0xNTgxYjMzYmU5YjQ4NmUzNWVjNDk0ODAwOTY3N2NjZDVmZmRjMDk4Lmd6CgoyMDA4LTAzLTIwIDAwOjUxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgbmVjZXNzYXJ5IGZpbGVzIGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMDUxNDctNGYwZjYtNTUwZmUyMmY3MDE1MmYzYWFiM2RjZDdhNmIwMmNiZjgxZTg5MjMyZC5negoKMjAwOC0wMy0yMCAwMDo1MDo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvcwoJICAyMDA4MDMyMDAwNTA0MS00ZjBmNi05ZDIyZmE1ZDE1NWUzNWI2MDVlYTg1YjFmZDllNzE5N2E4ODJhMWYwLmd6CgoyMDA4LTAyLTE2IDEzOjQxOjQwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkdG1mc3JjOiBDb3JyZWN0bHkgc2V0IHRoZSBlbmRpYW5lc3MgaW4gdGhlIGNhcHMgdG8gdGhlIG1hY2hpbmVzIGVuZGlhbmVzcwoJICAyMDA4MDIxNjEzNDE0MC05M2I5YS00MGEzYTlkN2FjMTY3OWM1ZTBkZmQyNGE2YjkxZTRhYmE2Y2M2NDk2Lmd6CgoyMDA3LTA5LTE3IDE3OjUyOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlYXJjaCZSZXBsYWNlIG9vcHMKCSAgMjAwNzA5MTcxNzUyMzMtM2UyZGMtNTdmNTc5YzRiODkwOTkzZjQ5ZmE4ZTllNjQ3MGEzZWI3OWQyYjkyMi5negoKMjAwNy0wOS0xNyAxNzo1MTozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBldmVudHMgZG9udCB5ZXQgYmVsb25nIGluIHRoZSBjYXBzCgkgIDIwMDcwOTE3MTc1MTMzLTNlMmRjLWZkMWQ4M2I3ODI2Yjg5ODExMGZjNTcxYWU3YzM0NDBmMTg4NzQzNGQuZ3oKCjIwMDctMDktMTcgMTY6MDg6MjAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGF0Y2ggdG8gbWFrZSBpdCB3b3JrIHdpdGggbWFlbW8gZHNwIHNvdXJjZXMgdGhhdCBwYXlsb2FkIGluY29ycmVjdGx5CgkgIDIwMDcwOTE3MTYwODIwLTNlMmRjLTA2YjFiMWQxYjA5MThiMzBkYWJlYTVhMDcxNGNiNzMyYjNiOGQ4ZGQuZ3oKCjIwMDctMDktMTcgMDQ6MjY6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb3BzLCBzZXQgdG8gbm8gcHJlcm9sbCB3aGVuIHBsYXlpbmctPnBhdXNlZCB0b28KCSAgMjAwNzA5MTcwNDI2NDktM2UyZGMtOTRhZGI2YWEwNjE3ZTgxNWE2ZTIzMzIzMmRhYmI0YmJjNDhkYzgyYy5negoKMjAwNy0wOS0xNyAwMDozNjo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBsZXRlIHBvcnQgdG8gYmFzZXNyYwoJICAyMDA3MDkxNzAwMzY1NC0zZTJkYy1kYjBmODRkYWJkOWRkMWFjOTI5YTA0NjE4NjViOGFhYThlZjkxYTc3Lmd6CgoyMDA3LTA5LTE3IDAwOjI0OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNhcHMgbmVnb3RpYXRpb24gZnVuY3Rpb24KCSAgMjAwNzA5MTcwMDI0MTItM2UyZGMtY2EyNjY4MTZlOTYyOTc0NmU5MDgzYzViYjhiN2Y3M2I5NGE5YjJiMC5negoKMjAwNy0wOS0xNyAwMDoxNjo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBmcmVlIG5vbi1zdGFydCBldmVudHMKCSAgMjAwNzA5MTcwMDE2NTktM2UyZGMtYTU3MTc3N2UzZWNmYjkwOTg5Zjg3NDEyZjU1NGFhMTBhMzFjYzJjYS5negoKMjAwNy0wOS0xNyAwMDoxNTo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW50ZXJ2YWwgYW5kIHBhY2tldF9yZWR1bmRhbmN5IGludG8gdWludAoJICAyMDA3MDkxNzAwMTU1Mi0zZTJkYy02MDAzMmU1NDdiMzY2OWI4NzMxN2M5ODFkOTg1YzE1NmFhYjkxYjQwLmd6CgoyMDA3LTA5LTE2IDE5OjQ0OjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgcnRwIGR0bWYgc3JjIHVzZSBiYXNlc3JjCgkgIDIwMDcwOTE2MTk0NDA4LTNlMmRjLTczNDAwMDEzMGRjZTI0MzRhMDE0YWNmODQzZDY0MWZmMGU2MGFhNWEuZ3oKCjIwMDctMDktMTYgMTk6NDE6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkdG1mIHNyYyBjb2RlIG5pY2VyCgkgIDIwMDcwOTE2MTk0MTAxLTNlMmRjLWE4YmU4YzUwOWM2NTQwMGQxZDM5NjJkYTAyZTY3ZDE1ZDIwNTQzMTYuZ3oKCjIwMDctMDktMTYgMTk6NDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGRpcmVjdG9yeQoJICAyMDA3MDkxNjE5NDA1Mi0zZTJkYy00NGQ3ZjRjYjJmMjIwNzYxYjY1ZTJiOWI2Y2VjNGIzYzZmOGJlN2M1Lmd6CgoyMDA3LTA5LTE0IDA0OjIwOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0b3BwaW5nIGluIGEgbmljZSB0aHJlYWQgc2FmZSB3YXkKCSAgMjAwNzA5MTQwNDIwNDItM2UyZGMtMWZlMjU3ZmY0YjcyYWNhNGIwZWI1ZjI4NWExNDY1MGI4ZGYyNjhjMy5negoKMjAwNy0wOS0xNCAwNDoxODozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ2V0X3RpbWVzIChXaW0gc2F5cyBpdHMgb25seSBnb29kIGZvciByZWFsbHkgZmFrZSBzb3VyY2VzKQoJICAyMDA3MDkxNDA0MTgzNC0zZTJkYy1mZmY0ZDVkYTJhMTQ1ZjE5ZTdiNjEwYTEwMjdkMmM0ZDRiYzVlYWUwLmd6CgoyMDA3LTA5LTEzIDIxOjIxOjQ1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNpbmcgdGhlIHVubG9jayBtZXRob2Qgb2YgYmFzZXNyYwoJICAyMDA3MDkxMzIxMjE0NS00ZjBmNi0wZTQzOGE2ODFiZjE2NTFjMGNjMGQ4ZmEzMjY5YWVkM2YxNjY4YjZiLmd6CgoyMDA3LTA5LTEzIDIxOjEyOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDkxMzIxMTIyNi00ZjBmNi1iYzMyYjU4MjhmYzhlMDMyM2M4YTZlZWU3NzlhMzgxNDVhYWNkNTkzLmd6CgoyMDA3LTA5LTEzIDIwOjQ2OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgZGVidWdzCgkgIDIwMDcwOTEzMjA0NjE0LTRmMGY2LTY4YzJhNjlhZTdhMWVmY2E2ZTEzYzExNmRiYWQ3ZjliNjg2ZjAyNDIuZ3oKCjIwMDctMDktMTMgMTk6MjA6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHN1cmUgdG8gdW5sb2NrIHRoZSB0aHJlYWQgd2hlbiBnb2luZyB0byByZWFkeSBhbmQgdG8gZmx1c2ggdGhlIHF1ZXVlIHdoZW4gbW92aW5nIHRvIHBhdXNlZCBvciBwbGF5aW5nCgkgIDIwMDcwOTEzMTkyMDUzLTRmMGY2LTc2YzM5MjUzODBkMWEzMDk4ODI4NjE3MDUzNWE2NWRlYTY0YTU1ODMuZ3oKCjIwMDctMDktMTMgMTc6NTU6MjAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5nZWQgZHRtZnNyYyBpbnRvIGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVNyYwoJICAyMDA3MDkxMzE3NTUyMC00ZjBmNi0xNmNhNGJmOTM2OTAwNzJmM2U4MzZkMWM4YTViNTJjZjdhNDIxOTE2Lmd6CgoyMDA3LTA5LTA0IDIyOjU3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGFub3RoZXIgZml4IGZvciBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uCgkgIDIwMDcwOTA0MjI1NzUzLTRmMGY2LTViYThjNDI2MGMwMDJiYjI3ZWI5OGU5ZmFiYTNjMTU3OTkzNTdiNTcuZ3oKCjIwMDctMDktMDQgMjE6NTI6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvbW1lbnQgdG8gZXhwbGFpbiBwdXNoIGJhY2sKCSAgMjAwNzA5MDQyMTUyMjQtM2UyZGMtZDkyYWMxZjQwM2RjZjU3MTU0NmE3YzUzZjE4ODA5Zjg0MGVlYTUxZC5negoKMjAwNy0wOS0wNCAyMDo1NTowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGRvIHRoZSBsb2NraW5nIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGNsb2NrIHVuc2NoZWR1bGluZwoJICAyMDA3MDkwNDIwNTUwOS0zZTJkYy1kYTE5OTAwYjUxYWY2YWVkYjY1NDdmNGYzOTJiZWY0ZDEwNjFkZWMyLmd6CgoyMDA3LTA5LTAxIDAwOjAzOjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VwcywgSSBkaWQgaXQgYWdhaW4uLi4KCSAgMjAwNzA5MDEwMDAzMjQtNGYwZjYtM2Q4YjQ2NjkxZWU1MjA1MzdiMDZjNTExYTVlNzMyZjViODEyYjg0NC5negoKMjAwNy0wOC0zMSAyMzo1NDoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIHNvcnJ5Li4gRFRNRiwgbm90IFJUUF9EVE1GIGZvciB0aGlzIGZpbGUuLi4KCSAgMjAwNzA4MzEyMzU0MjgtNGYwZjYtMDBiNjA2YmZiNDg5MmU0ZjIxN2M0NDBiNjExY2M3OTRhYjBkZTU1YS5negoKMjAwNy0wOC0zMSAyMzo0NDoxMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVzIHRoZSBkZWFkbG9jayB3aGVuIHBhdXNpbmcgdGhlIGR0bWZzcmMgYW5kIHJ0cGR0bWZzcmMuIEhhZCB0byBwdXNoIHNvbWV0aGluZyBvbiB0aGUgYXN5bmMgcXVldWUgdG8gcmVsZWFzZSB0aGUgYmxvY2tpbmcgYXN5bmNfcXVldWVfcG9wKCkuIFRoYW5rcyB0byBPbGl2aWVyIGZvciB0aGUgc29sdXRpb24uCgkgIDIwMDcwODMxMjM0NDEzLTRmMGY2LTc5M2NmMzVmYzQzNjM2ZTcyNzUyNThjYzcwNjNmYzA2OGY1ZWZhMGEuZ3oKCjIwMDctMDgtMjggMjI6MTU6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbG9ja0lEIHdoZW4gd2FpdGluZyBmb3IgYnVmZmVyIGlzIG5vdyB1bnNjaGVkdWxlZCB3aGVuIHN0b3BwaW5nIHRoZSB0YXNrLiBWYXJpb3VzIGZpeGVzIHRvIGF2b2lkIGJ1Z3MgKHRoYW5rcyB0byAtV2FsbCAtV2Vycm9yKS4gRml4ZXMgdG8gYWxsb3cgdGhlIG1lcmdlIG9mIHRoZSBicmFuY2guCgkgIDIwMDcwODI4MjIxNTM0LTRmMGY2LWIwZDZhNGZlNDhjNGUyYTE2YjlmZjY5Y2IzMTAwODdjOTcwY2U0OGUuZ3oKCjIwMDctMDgtMjggMTc6MTU6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuZWQgdXAgdGhlIGNvZGUgYSBiaXQsIG5vIHVzZSBvZiBHU1RfKiBhbmQgcmV0dXJuIHZhbHVlIHZlcmlmaWNhdGlvbiBmcm9tIGdzdF8qCgkgIDIwMDcwODI4MTcxNTQ2LTRmMGY2LWJkZWI0YjFiN2Y5OWY5NDY0YWFiZTVjNDNiZDRhNGQyMDI1MjYyYjYuZ3oKCjIwMDctMDgtMjcgMTk6NTY6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb3Zlcmx5IGxvbmcgbGluZXMgYW5kIHRhYnMKCSAgMjAwNzA4MjcxOTU2MTAtM2UyZGMtMzk2YTNmYTAxZTE2ZjE4NGU0MTA5YzcxZmUyZGViNmU1MTZiZGYwZC5negoKMjAwNy0wOC0yNyAxOToyNjoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdW50YWJiaWZpZWQgZHRtZnNyYwoJICAyMDA3MDgyNzE5MjYxOC00ZjBmNi03N2Q2ODA3MDQ2NGYxYjVmOWE0NmNiNmVlYzJkOTIyMzQwMTQzYzA0Lmd6CgoyMDA3LTA4LTI3IDE3OjI0OjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXBzIGJ5IHNlbmRpbmcgYSBuZXdfc2VnbWVudCBldmVudCB0byB0aGUgcGF5bG9hZGVyCgkgIDIwMDcwODI3MTcyNDI0LTRmMGY2LWQyMDkwN2UzZDQzNmQ1MGJmZTc0ZWI0ZmMzZDJkNmQ3YjZiNmRiYzUuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBCZXR0ZXIgaGFuZGxpbmcgb2YgcGFja2V0cywgd2Ugc2VuZCB0aGUgc2FtZSBkdXJhdGlvbiBmb3IgYWxsIHBhY2tldHMgdG8gYXZvaWQgaHVnZSBwYWNrZXRzIHdoZW4gbWluIGR1cmF0aW9uIGRlZmluZXMgYXJlIG1vZGlmaWVkLgoJICAyMDA3MDgyNzE3MjMzOS00ZjBmNi1jYzkzMzA0NDM3ZWEzNzZmZmY2NDU4Yzc0YzQ2YzE5ZjY5MjBkMzI5Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdpbmcgbWluaW11bSB2YWx1ZXMgdG8gd29yayBiZXR0ZXIgb24gc29tZSBnYXRld2F5cwoJICAyMDA3MDgyNzE3MjMyMi00ZjBmNi01YmYyYmZmYTU5YTgyNDQ1MzhkY2VkNzk1ZmE3ZDc2NDk0NTJjYTkxLmd6CgoyMDA3LTA4LTIyIDIwOjE2OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIERUTUYgdG9uZSBnZW5lcmF0b3Igbm93IHJlc3BlY3RzIHRoZSB2b2x1bWUgYXJndW1lbnQgcGFzc2VkIGluIHRoZSBldmVudAoJICAyMDA3MDgyMjIwMTY1My00ZjBmNi04YjdmZjg3NDAwNmUxMWY1YTc0ZDBmZDkxZTVhOWE0M2NkMDgyYWRhLmd6CgoyMDA3LTA4LTIyIDE4OjAxOjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZG9uJ3Qga25vdyB3aHkgSSBkaWQgdGhhdC4uLgoJICAyMDA3MDgyMjE4MDEzMy00ZjBmNi02YTczODJmNmM3ZDM2MzBmOTFkYTM4NGUxOTA0NzYzYzdlYTZmYTFhLmd6CgoyMDA3LTA4LTIyIDE3OjU1OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0ZWQgdGhlIGV2ZW50IHF1ZXVlIHdvcmsgZnJvbSBkdG1mc3JjIHRvIHJ0cGR0bWZzcmMKCSAgQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBydHBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoCgkgIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMjE3NTUzMy00ZjBmNi1mMjc0MTRjNDA2ZjFmN2IwMGM5YTkwODRhOTg4Y2YzYTc5MzBmZTVjLmd6CgoyMDA3LTA4LTIyIDE3OjU0OjQ0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VjaCwgcHJpbnRpbmcgd2l0aCBhcmd1bWVudHMgYnV0IHdpdGhvdXQgJXMuLiB0aGF0IG1hZGUgaXQgc2VnZmF1bHQgYSBmZXcgdGltZXMuLi4KCSAgMjAwNzA4MjIxNzU0NDQtNGYwZjYtNDQ1ZWE2Y2U3YTk2NjhkMDRjZjk5OWFmNzcyYTUwNGVjNzRmYjY3YS5negoKMjAwNy0wOC0yMiAxNzo1MToyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBldmVudCB0byBkdG1mc3JjIHN0cnVjdHVyZSBzaW5jZSB3ZSBoYXZlIG9ubHkgb25lIGV2ZW50IGF0IGEgdGltZSwgc28gbGV0J3Mga2VlcCBpdCBzdG9yZWQgaW4gdGhlIGR0bWZzcmMgc3RydWN0CgkgIDIwMDcwODIyMTc1MTI2LTRmMGY2LTUzYmNkYTJiZDhhZThjNTZkMjllNjJlNjlhYzE5YTMwZTA4YWQzNTAuZ3oKCjIwMDctMDgtMjAgMjA6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaCB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjAyMDM4MjYtNGYwZjYtNzUwYTIyYjYxMmE1ZTQ5NWU3Njc2NjY5MzQ0NjVjMzRmZTMyMDc0Yi5negoKMjAwNy0wOC0yMCAxODo0ODo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGR0bWZzcmMsIGEgRFRNRiBUb25lIEdlbmVyYXRvciwgYW5kIG1hZGUgaXQgcGFydCBvZiB0aGUgJ2R0bWYnIHBsdWdpbi4KCSAgMjAwNzA4MjAxODQ4NTItNGYwZjYtYTBkODVlNjc3MDgyOTBhZWJhZmE4OWFiNzlkM2NlZGQ1ODE1YjYyMC5negoKMjAwNy0wOC0yMCAxODo0ODowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIGdzdC9ydHBkdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHJ0cGR0bWYgdG8gZHRtZiBkaXJlY3RvcnkKCSAgMjAwNzA4MjAxODQ4MDAtNGYwZjYtZmEzM2VhOTc0NTEwMTYxZGU4Yzk5NTFjMzkwODdhZjM2MTNiNjVhNC5negoKMjAwNy0wNy0xMiAxOTo1NzoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgYWxsIHBhY2tldCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBpbmNsdWRpbmcgdGhlIGxhc3Qgb25lCgkgIDIwMDcwNzEyMTk1NzE1LTNlMmRjLTY4NDhjNzBhN2YwMTM3YzkxZmE4ODJhOGVmYjZkYmY4Mzg5MWFlMTMuZ3oKCjIwMDctMDctMTIgMTk6NTU6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IG5vbi16ZXJvIGR1cmF0aW9uIGluIGZpcnN0IHBhY2tldCBhbmQgcHV0IGEgbWluaW11bSBkdXJhdGlvbiBvZiA1MG1zCgkgIDIwMDcwNzEyMTk1NTI4LTNlMmRjLWQ0NmVkZWFhYjg0ZmI1NWU3NDg0MmJkY2Y0Zjg3OTJkZmNkYjA0NTcuZ3oKCjIwMDctMDctMTIgMTY6MjM6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXAgb24gZHRtZiBwYWNrZXRzCgkgIDIwMDcwNzEyMTYyMzI4LTNlMmRjLTk4YzEzMDNmNGE1MmI4OTFjZTU5YmY4OGUwN2QyOWY0ZTJkZmM5NzQuZ3oKCjIwMDctMDctMTEgMTU6NTI6MDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZXQgbWFya2VyIG9uIHZlcnkgZmlyc3QgcGFja2V0IG9mIGFuIGV2ZW50CgkgIDIwMDcwNzExMTU1MjAyLTNlMmRjLWY3ZWEzYWJkMmNiMGNhMjkzN2VhNDUwOGU2ZTMwMWJhYWE2ZTIxNTQuZ3oKCjIwMDctMDctMTEgMTU6NTE6NTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBvbiBwYWNrZXQgc3RhcnQgdGltZQoJICAyMDA3MDcxMTE1NTE1Ny0zZTJkYy1lZTBlOWZjMTNkMzUyOTY1OTMwMDUyNjdhMjQxN2RkNjVlNzkwZDI5Lmd6CgoyMDA3LTA3LTExIDE1OjUwOjU2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJUUCB0aW1lc3RhbXAgaXMgdGhlIHRpbWUgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgZHRtZiBldmVudAoJICAyMDA3MDcxMTE1NTA1Ni0zZTJkYy1jYjVjZGE3M2ZiZjdkZjFjNTQ1Y2IwMzIxYjBlMzM5OTE0YzU4OTdmLmd6CgoyMDA3LTA0LTI0IDIwOjAyOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIDgwIGNvbHVtbiBpcyBlbm91Z2ggZm9yIGV2ZXJ5b25lCgkgIDIwMDcwNDI0MjAwMjUyLTNlMmRjLWQxYmMxNzI2NmFmZmYyNTk5MTI5YTI1ZDQ0MzM4MDYyMzcyZjdlYTMuZ3oKCjIwMDctMDQtMjQgMTk6MzE6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcmVkdW5kYW5jeSBhbmQgaW50ZXJ2YWwgcHJvcGVydGllcyB0byBydHBkdG1mc3JjIChwYXRjaCBieSBTUCBHTEUgPHNwZ2xlZ2xlQHlhaG9vLmZyPikKCSAgMjAwNzA0MjQxOTMxNTUtM2UyZGMtNjY2ODgwMDFlN2I1MjljNDZmMTA4NjMzY2Q5NTIwMzQ3YzNjOGMzZS5negoKMjAwNy0wNS0wNCAxOTo1Mjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNlbmQgZHRtZiBpZiB0aGUgbWV0aG9kIGlzIHVuc3BlY2lmaWVkIG9yIGlzIDEKCSAgMjAwNzA1MDQxOTUyNTEtM2UyZGMtYjk1YjRiOGU4ZGFkODc5NjJjZjM5ZWMyZWU2N2I2ZjFiNjE5ZTliZC5negoKMjAwNy0wMy0wOCAyMjozNTo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGRvY3VtZW50YXRpb24gY29uc2lzdGVudCB3aXRoIGl0c2VsZgoJICAyMDA3MDMwODIyMzU1OS0zZTJkYy1jYzIwZmU1NzEzNzBiYzUxYmY5NjNjYzNkZjFiOGFiNGEzZGRjMjBiLmd6CgoyMDA3LTA0LTEyIDIwOjA0OjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHNlZ21lbnQgdG8gY2FsY3VsYXRlIGR0bWZzcmMgcnRwIHRpbWVzdGFtcAoJICAyMDA3MDQxMjIwMDQzNS0zZTJkYy1iNWNjMjZiMTJiNmU4Yjg5ZjEzMWZkMjdmMGU0NjI3NzQ2ZTg1Njk3Lmd6CgoyMDA3LTA0LTAyIDEyOjQ2OjM1ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuLXVwIGFuZCByZWZhY3Rvcml6ZSBkdG1mc3JjIGNvZGUKCSAgMjAwNzA0MDIxMjQ2MzUtNjUwMzUtM2QxMzI0NDQ2MWMxZGQxZmNjOTZiNzQxMjRhZDdhNzRkMmZmMDE0NC5negoKMjAwNy0wMy0zMCAxNTo0MzowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb29wcywgbGl0dGxlIHR5cG8KCSAgMjAwNzAzMzAxNTQzMDMtM2UyZGMtOWY2ZWRjZGUyNGQzMGNhZWE4ZWE4NzZiMjRhM2E2ODBkNDBiMmVhMS5negoKMjAwNy0wMy0zMCAwMDoxNzowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgZ2VuZXJhdGUgdGhlIHByb3BlciBydHAgdGltZXN0YW1wcyBpbiBzeW5jIHdpdGggdGhlIGxpdmUgc291cmNlCgkgIDIwMDcwMzMwMDAxNzAwLTNlMmRjLWJiZjk1NGU0ZWRlYzA2MTVjNGVlZTYwM2ZiYzZhYjhhN2Q4OTQzNmYuZ3oKCjIwMDctMDMtMjkgMTE6NDI6NTcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW5jcmVtZW50IHRoZSB0cyBhZnRlciBzZXR0aW5nIHRoZSBidWZmZXIncyB0cwoJICAyMDA3MDMyOTExNDI1Ny02NTAzNS1jODY4NmFiNGNlMjBiMWYzNmYzZGFjMTIwNDg1YWRlNWNkOTBhYWM5Lmd6CgoyMDA3LTAzLTI5IDEwOjM5OjQ2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGN1bGF0ZSB0aGUgcnRwIHRzIGJlZm9yZSBnc3QgdHMgZ2V0IGluY3JlbWVudGVkCgkgIDIwMDcwMzI5MTAzOTQ2LTY1MDM1LWY3NGUzYTAxNDBjNTdlOTQxNDQ0YmI4MzdkNjA1M2FkMWMzY2Y1NjcuZ3oKCjIwMDctMDMtMjkgMTA6Mzk6MDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBjb2RlLWNsZWFudXAKCSAgMjAwNzAzMjkxMDM5MDQtNjUwMzUtZGIwOGNjN2MzMDk4YjYwYTU1NmQzODA5ZGU5MTJjZDBlMWE1NDVjMS5negoKMjAwNy0wMy0yOSAxMDozODoyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbml0aWFsaXplIHRoZSBHc3RTZWdtZW50IGF0IHRoZSByaWdodCB0aW1lCgkgIDIwMDcwMzI5MTAzODI0LTY1MDM1LTlhYjNhMGEwM2M1ZjkzMjljZDQ2MjVhZTY1NjdjMmMxZmQ0YTczZDguZ3oKCjIwMDctMDMtMjYgMTA6NTc6MTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsbCBzZXRfY2FwcyB3aGVuIHdlIGhhdmUgYWxsIHRoZSBwYXJhbXMKCSAgMjAwNzAzMjYxMDU3MTItNjUwMzUtM2UzZGZjZTBiNTBkNjFlYWZkYTg0NmJlZTBhNmQ2NmMzNTQxYzZlZC5negoKMjAwNy0wMy0yMyAxNjoyOToyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgY2FwcyBvbiB0aGUgYnVmZmVyIGJlZm9yZSBwdXNoaW5nIGl0CgkgIDIwMDcwMzIzMTYyOTIyLTY1MDM1LTllNGJlNTQ0OWM3OWMwYTQ1OTk2NWVlMDdhZGI0YTgxNDNjNGMxZDUuZ3oKCjIwMDctMDMtMTQgMTc6MTc6NTYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVxdWVzdCBmb3Igc3RyZWFtIGxvY2sgd2hlbiBnZW5lcmF0aW5nIERUTUYgcGFja2V0cwoJICAyMDA3MDMxNDE3MTc1Ni02NTAzNS0wYjQ5N2RmYWMyMDNmZjRmNTc5NTI1NDg1ZDU4MDRlNWY1MDkzYjNmLmd6CgoyMDA3LTAzLTA3IDExOjQxOjA5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvcnJlY3QgY2FwcyBwcmludG91dAoJICAyMDA3MDMwNzExNDEwOS02NTAzNS0xMjQyMDI4ODQ5MThhOWM4YTgwMzA4MGQ2OTY3MjM0NTM5ZDI0Yjk3Lmd6CgoyMDA3LTAyLTE2IDEyOjA2OjA2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBkb2Mtc2VjdGlvbiBjb21tZW50cwoJICAyMDA3MDIxNjEyMDYwNi02NTAzNS02ZTdkMjg3MjFkYzA4NzJmM2Y1NWJhN2NjZDRmZWQzZDY2ZjgxNzVmLmd6CgoyMDA3LTAyLTE1IDEzOjQ4OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvcHlyaWdodHMKCSAgMjAwNzAyMTUxMzQ4NTMtNjUwMzUtNTBmZTVmOGU5OTlhZTg2YTFlM2JhMGRiZGVjZTQ5MTFlYjlkY2NhMC5negoKMjAwNy0wMi0xNSAxMzozNTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBObyBuZWVkIHRvIGhhbmRsZSBkb3duc3RyZWFtIGV2ZW50cwoJICAyMDA3MDIxNTEzMzUzNi02NTAzNS02NDhiNzkxZDQwNGJmMDY5MDBiZDI2OThkOTI1MTE3Yzg5NzQzZGI5Lmd6CgoyMDA3LTAyLTE1IDEyOjI2OjU1ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEF0dGVtcHQgdG8gY29ycmVjdCBldmVudCBoYW5kbGluZwoJICAyMDA3MDIxNTEyMjY1NS02NTAzNS00NzA3MGQ5YTI4YzA4ZDkzNTNiMDRkMmQ5MzAxZTI5YjdlZTcyYjgzLmd6CgoyMDA3LTAyLTE1IDEwOjI2OjI5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBwYXVzZV90YXNrIGluc3RlYWQgb2Ygc3RvcF90YXNrIHRvIGF2b2lkIGFueSBwb3NzaWJsZSBkZWFkbG9ja3MKCSAgMjAwNzAyMTUxMDI2MjktNjUwMzUtYTQ4Yzc3MzY2MWUzODVhOTFlMDIyZTBhYzFkYTA4NjJjNDIwNmY4NS5negoKMjAwNy0wMi0xNSAxMDoxMDozMCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBjb3JyZWN0IHNlcSBhbmQgdGltZXN0YW1wcyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDIxNTEwMTAzMC02NTAzNS03MTQ2YTNjNGE4ZDBmZWFiNTEzZDEzYTIwN2IyY2RjNWRlMzExZjAzLmd6CgoyMDA3LTAyLTE0IDEzOjU1OjAxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHRoZSBjb3B5cmlnaHQgbm90aWNlCgkgIDIwMDcwMjE0MTM1NTAxLTY1MDM1LWU5MDc1M2IxZjY1MjVmN2I5YzBhYzJlYjdlNDBjZWY3Y2E2NzNlNjguZ3oKCjIwMDctMDItMTQgMTM6MTM6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9ydHBkdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBSVFAgRFRNRiBldmVudCBwYWNrZXQgZ2VuZXJhdG9yIGVsZW1lbnQgYW5kIHRlc3QgYXBwIGZvciBpdAoJICAyMDA3MDIxNDEzMTM1Mi02NTAzNS0zYzE0YTEwNDdjM2NkNjY5NmYzYTcxNmE2MmIyMWQzZjRiOWRhNjJiLmd6CgoyMDA5LTAxLTMwIDA5OjAzOjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWN0dWFsbHkgc2V0dGluZyB1cCBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDItMjEgMTc6NDU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWRkIHJlYWQtb25seSBwcm9wZXJ0eSB0byBnZXQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEKCjIwMDktMDItMjEgMTc6NDA6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBBZGQgTVBFRyB2aWRlbyBiaXRyYXRlIHRvIHRoZSB0YWdzIGlmIGF2YWlsYWJsZQoKMjAwOS0wMi0yMSAxNzozODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBQb3N0IHN0cnVjdHVyYWwgbWV0YWRhdGEgdHJlZSBhcyB0YWcgb24gdGhlIGJ1cwoJICBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBrZWVwIHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHdoZW4KCSAgcmVtdXhpbmcgYW4gTVhGIGZpbGUgYW5kIGNhbiBhbHNvIGJlIHVzZWQgaW4gUGl0aXZpIGZvciBleGFtcGxlCgkgIHRvIGtub3cgdGhlIGZpbGUgc3RydWN0dXJlIGFuZCB0byBzZWxlY3Qgd2hhdCBzaG91bGQgYmUgdXNlZAoJICBhbmQgcGxheWVkLgoKMjAwOS0wMi0yMSAxNjowOToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmZGVtdXg6IEZpeCBjYWxjdWxhdGlvbiBvZiBBRVMzIGJpdHJhdGUgdGFnCgoyMDA5LTAyLTIxIDE2OjA1OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIG14ZmRlbXV4OiBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgTVhGcmFjdGlvbiB0byBnZG91YmxlIGFuZCB1c2UgaXQKCjIwMDktMDItMjEgMTY6MDA6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmZGVtdXg6IE9ubHkgc3RvcmUgdGhlIG1haW4gZGVzY3JpcHRvciBpbiBzb3VyY2UgcGFja2FnZXMKCSAgRm9yIHRoZSB0cmFja3Mgd2Ugc3RpbGwgcmVzb2x2ZSB0aGUgZGVzY3JpcHRvcnMgYnV0IHRoZQoJICBzb3VyY2UgcGFja2FnZSBvbmx5IGNvbnRhaW5zIHRoZSBkZXNjcmlwdG9yIGl0IHJlYWxseSByZWZlcmVuY2VzCgkgIGluc3RlYWQgb2YgYWxsIHN1YmRlc2NyaXB0b3JzIG9mIG11bHRpcGxlIGRlc2NyaXB0b3JzLgoJICBUaGlzIG1ha2VzIGl0IGVhc2llciBsYXRlciB0byBzZXJpYWxpemUgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEKCSAgYWdhaW4uCgoyMDA5LTAyLTE3IDE3OjM3OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNldCBmcmVlJ2QgbWVtb3J5IHRvIE5VTEwgdG8gcHJldmVudCBhIGRvdWJsZSBmcmVlIGxhdGVyIGluIHNvbWUgY2FzZXMKCjIwMDktMDItMTUgMDk6NTE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIGdlbmVyaWMgbWV0YWRhdGEgcGFyc2VycyBmb3IgdW5rbm93biBtZXRhZGF0YSwgdGhlIHJlc3VsdHMgYXJlIHVzZWxlc3MgYW55d2F5CgoyMDA5LTAyLTE5IDExOjM2OjQ1ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBzL2ZsdXRzL21wZWd0cwoJICBDaGFuZ2UgYWxsIGRlZmluaXRpb25zIGZyb20gZmx1dHMgdG8gbXBlZ3RzLgoKMjAwOS0wMi0xMCAxODo1ODo0MCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgZG9jIGluZnJhc3RydWN0dXJlIHRvIHZhbHZlCgoyMDA5LTAyLTEwIDE4OjUyOjU0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIERvY3VtZW50IHRoZSBHc3RWYWx2ZQoKMjAwOS0wMi0xMCAxODowMzoyNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJICBNb3ZlZCB2YWx2ZSBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMTAgMTc6NTc6MTYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBSZW5hbWUgZnN2YWx2ZSB0byB2YWx2ZQoKMjAwOS0wMi0xMCAxNzo1NTo0NyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBSZS1pbmRlbnQgdmFsdmUgaW4gZ3N0IHN0eWxlCgoyMDA4LTEyLTEzIDAwOjMxOjQ1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIElnbm9yZSBlcnJvcnMgaWYgZHJvcHBpbmcgaXMgc2V0IHRvIHRydWUKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0xMCAxNzowMDozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZ2V0Y2FwcyBwcm94eWluZyB0byB0aGUgdmFsdmUKCjIwMDgtMDgtMjAgMTQ6MTE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlYmFzZSB2YWx2ZSBvbnRvIGdzdGVsZW1lbnQgaW5zdGVhZCBvZiBiYXNldHJhbnNmb3JtCgoyMDA4LTA4LTE5IDE4OjQ5OjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldmVydCAiRml4IHJlZmNvdW50aW5nIGlzc3VlcyBpbiBwcmVwYXJlX291dHB1dF9idWZmZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjVkZDQ2MGYwYTNhOWM0ODgyZTYzOGM4NjIwOGY3NGVmNjJjMzQ2MC4KCjIwMDgtMDgtMDUgMTE6MzA6NTcgKzAwMDAgIHNqb2VyZEBsdW9uLm5ldCA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggcmVmY291bnRpbmcgaXNzdWVzIGluIHByZXBhcmVfb3V0cHV0X2J1ZmZlcgoJICAyMDA4MDgwNTExMzA1Ny1iZTBmMi05ZGMyNzA3ODFmMGEwZjIxYzYxNmVkMTFkYmQxZjE5OGZkMWIzMjZlLmd6CgoyMDA4LTA0LTA5IDE2OjMyOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBkaXNwb3NlIG1ldGhvZCBpbiB2YWx2ZQoJICAyMDA4MDQwOTE2MzIyMS0zZTJkYy05MmNjYjJkYjg3NGU0NmUwZDkyYzE1NTIwNTc3YzFiZTBlMmJjNjE3Lmd6CgoyMDA3LTEyLTE5IDIwOjMyOjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9udCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGlsZSBjYWxsaW5nIGJhc2UgYWxsb2MgZnVuY3Rpb24KCSAgMjAwNzEyMTkyMDMyMzAtM2UyZGMtNjUxOTE3NWQ4ZDgxNDk2NTE1YjJkOTA2MGFjMzE2NjUwNTYwZjY5MS5negoKMjAwNy0xMi0xOSAyMDozMjoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgdGhlIERJU0NPTlQgZmxhZyBhZnRlciBkcm9wcGluZyBidWZmZXJzCgkgIDIwMDcxMjE5MjAzMjE4LTNlMmRjLWJjNWYwM2Q4OGZmNTgzNzA0MGI5MjE0ZGUwMTZjYzE0Mjc3NmRmYzIuZ3oKCjIwMDctMTItMTkgMDA6NTc6MzkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGRvIHRoZSBhbGxvY19idWZmZXIgZnVuY3Rpb24gaW4gdGhlIHZhbHZlCgkgIDIwMDcxMjE5MDA1NzM5LTNlMmRjLTJhMGZkZmEyZjM4ZjAzYWI0NzkxZmU1YzRhYjg1ZTg3OTAxMTM2ODMuZ3oKCjIwMDctMTEtMjEgMjA6MDg6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNldCBwYXNzdGhyb3VnaCB0byBUUlVFIG9uIG5ld2VyIHZlcnNpb25zIG9mIGdzdAoJICAyMDA3MTEyMTIwMDg1OC0zZTJkYy1iMTZjZGVhYmJjM2MwNTYyYzZmYzdiMTFiOWI5NzkyYzkxMGY1NjllLmd6CgoyMDA3LTExLTIxIDE4OjE3OjI5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGFyZSBtaW5vciwgbm90IG1ham9yCgkgIDIwMDcxMTIxMTgxNzI5LTNlMmRjLWE1OTk3YzNiN2Y1Yzg2OTY2MzcwOTY5NzE0ZmFjZjhlZTI0MjY1OWQuZ3oKCjIwMDctMTAtMjYgMjI6Mzc6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSB2YWx2ZSBlbGVtZW50IHdvcmsgd2l0aCBnc3QgPCAwLjEwLjEzCgkgIDIwMDcxMDI2MjIzNzQ5LTNlMmRjLTE4ZjY4NWE0ZTQ1ZmJkY2U2NzdhYzc3NzU4Njg3NmZjNzE5ZDcyMjIuZ3oKCjIwMDctMTAtMjQgMjI6NDI6NDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSB2YWx2ZSB0byBmc3ZhbHZlCgkgIDIwMDcxMDI0MjI0MjQ2LTNlMmRjLWM1NDIxNmFmMmVmMGVmM2YxYTIyMDZkNzIzZTg3YmUyYTIzYWI4ZWQuZ3oKCjIwMDctMTAtMjQgMjI6NDE6NDcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCB2YWx2ZSBlbGVtZW50CgkgIDIwMDcxMDI0MjI0MTQ3LTNlMmRjLWYyOGFiMGMwNzNlMjgzODk0YjY1YzIyYzRmNDQzOTdjODk3ZGVjMDEuZ3oKCjIwMDktMDItMTAgMTk6MjA6MjYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiB0byB0aGUgc2lyZW4gZW5jL2RlYyBwbHVnaW5zCgoyMDA5LTAyLTEwIDE5OjIwOjE5ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFJlLWluZGVudCB0aGUgc2lyZW4gc3R1ZmYgdG8gYmUgZ3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE3OjI5OjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkgIE1vdmVkIHNpcmVuIGZyb20gZ3N0LXAtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0xMCAxNzoyMzozOCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJICBNb3ZlIHNpcmVuIHJ0cCBwYXkvZGVwYXkgIHRvIGdvb2QKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMC0wNSAyMjowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgdW5kZXJzY29yZSB0byBtYWtlIHRoZSBlbmNvZGVyIGxpa2UgdGhlIGRlY29kZXIKCjIwMDgtMTAtMDUgMjI6MDE6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIG9mZnNldCB0byBvdXRfb2Zmc2V0IHRvIG1ha2UgaXRzIG1lYW5pbmcgY2xlYXJlcgoKMjAwOC0xMC0wNSAyMjowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGVjayB0aGUgc2l6ZSBvZiB0aGUgaW5wdXQgYnVmZmVyLCBub3QgdGhlIG91dHB1dCBidWZmZXIKCjIwMDgtMDktMTYgMTU6NDA6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJlc2VydmUgdGltZXN0YW1wCgoyMDA4LTA3LTA0IDIyOjIxOjAzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNoZWNrcywgZG9jdW1lbnQgbG9ja2luZwoJICAyMDA4MDcwNDIyMjEwMy0zZTJkYy00N2E3ZjQ5YzQxNGY5OGExODhmZmM0MmIwNzE4OWRhZjUxNDc0ODNiLmd6CgoyMDA4LTA3LTA0IDIyOjE3OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1ha2Ugc2lyZW5lbmMgdGhyZWFkIHNhZmUKCSAgMjAwODA3MDQyMjE3NDMtM2UyZGMtZjkzZGE4NjQzOGY3NTNlMTRiZTI1MTY2YWVlNDVmODgwMmY3ZDEwMC5negoKMjAwOC0wNy0wNCAyMDoxODozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXBsYWNlIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluIHNpcmVuZW5jCgkgIDIwMDgwNzA0MjAxODMwLTNlMmRjLThmM2U0MDFhYWE1OTRjOGNjNTg1M2I3M2Y0MWNhNWNiMDQ3ZWUyZDMuZ3oKCjIwMDgtMDctMDQgMjA6MTc6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgc2lyZW5kZWMgdG8gR3N0ZWxlbWVudAoJICAyMDA4MDcwNDIwMTc0NC0zZTJkYy05OWJmN2I4NmU0MmRhMzYzZDhjODI2NDQ5ZDg0YjQzNzUxNTcyZDVlLmd6CgoyMDA4LTA3LTA0IDIwOjA0OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVsZWFzZSByZWYgYXQgdGhlIGVuZCBvZiBjaGFpbgoJICAyMDA4MDcwNDIwMDQ1NC0zZTJkYy0zODZmMjY4NTg4MmE3NGQwMWNlNTAzZjkxMzk2ZWEzNzUwNmRiZTgzLmd6CgoyMDA4LTA3LTA0IDIwOjAzOjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY2FsbCB0byBwZWVrX3BhcmVudAoJICAyMDA4MDcwNDIwMDMxNS0zZTJkYy02YjMwZWZkMmQzMmI2Y2E5NjYwOWY0YmRjMGMzZTI4NmY0NDQxNzQ2Lmd6CgoyMDA4LTA3LTA0IDIwOjAwOjI5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBHc3RTaXJlbkVuYyB1c2UgR1NUXypfT0JKRUNUIGFwcHJvcHJpYXRlbHkKCSAgMjAwODA3MDQyMDAwMjktM2UyZGMtZjY4ZmRhYWE4OTI5MDM5ZmQ4NDEzZmYwYmY4ZmY1MTRmNmU0ZmJlMS5negoKMjAwOC0wNy0wNCAxOTo1MTowMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IHNpcmVuZW5jIHRvIGdzdGVsZW1lbnQKCSAgMjAwODA3MDQxOTUxMDItM2UyZGMtY2Q3Njg3NTEyYWM1NjBmYWFmMTVmNTNlMWUyNjJkMTg3NGEzNmNkZi5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDM6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlZCBkZWJ1ZyBvdXRwdXQKCSAgMjAwODA0MTIyMzQzMjUtNGYwZjYtMzZiOTQ2YTdjYTNhYjRlNTgwMjkxN2I4OTMwZjAzNmM1MGE5M2EyOS5negoKMjAwOC0wNC0xMCAyMzo0MzoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE91cHMsIHR5cG8KCSAgMjAwODA0MTAyMzQzMjgtNGYwZjYtOTYyZTM3NWU3OGRhMDVlYWI1Mjg5MmE1N2QzMjI2ZmRkMmZmYzg2ZC5negoKMjAwOC0wNC0xMCAwNzowMToxNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuaDoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbl9jb25zdHMuaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3NpcmVuL3NpcmVuNy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgU2lyZW4gZW5jb2Rlci9kZWNvZGVyL3BheWxvYWRlci9kZXBheWxvYWRlcgoJICAyMDA4MDQxMDA3MDExNi00ZjBmNi03MmZmYmRiYjI2MmYwN2JmYWJkMWU0Njk5NzNhMDFiMzM1OWJlZTQ1Lmd6CgoyMDA5LTAyLTEwIDE4OjQ2OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIEFkZCBsaXZlYWRkZXIgdG8gdGhlIGRvY3MKCjIwMDktMDItMTAgMTg6Mzg6MTEgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIERvY3VtZW50IHRoZSBsaXZlYWRkZXIKCjIwMDktMDItMTAgMTY6MTg6MzIgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIE1vdmVkIGxpdmVhZGRlciBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCSAgUmUtaW5kZW50IGxpdmVhZGRlciBpbiBnc3Qgc3R5bGUgYW5kIGFkZCBpdCB0byBjb25maWd1cmUKCjIwMDgtMTItMTMgMDA6MDk6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgbG9nIGZvciBtZXNzYWdlIHRoYXRzIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0wOC0yNyAxNzoxNjoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBsaXZlYWRkZXIgOiBIYW5kbGUgaml0dGVyIGluIGluY29taW5nIGJ1ZmZlcnMKCSAgSW5jb21pbmcgYnVmZmVycyAoZXNwZWNpYWxseSB0aG9zZSBmcm9tIGFuIFJUUCBjb25uZWN0aW9uKSBtaWdodCBoYXZlIHNsaWdodCB0aW1lc3RhbXAgaml0dGVyLiBUaGlzIGlzIG5vcm1hbGx5IGhhbmRsZWQgYnkgYXVkaW9zaW5rIChhY2NlcHRpbmcgdXAgdG8gNTAwbXMgb2Ygaml0dGVyKS4KCSAgSGVyZSB3ZSBhY2NlcHQgYSBtYXhpbXVtIGppdHRlciBvZiAxMG1zLiBJZiBhIGJ1ZmZlciBpcyB3aXRoaW4gMTBtcyBvZiB0aGUgZXhwZWN0ZWQgdGltZSwgd2UgY29ycmVjdCBpdHMgdGltZXN0YW1wLgoKMjAwOC0wNy0wNCAxODo1NzoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGhhbmRsaW5nIG9mIHBvc2l0aW9uIHF1ZXJ5IHRvIGxpdmVhZGRlcgoJICAyMDA4MDcwNDE4NTcyMS0zZTJkYy03YTY4N2UzNDZlNzRiNDRmYTg0N2M1ZTViNmViNjRjM2UwOTQ5NzY0Lmd6CgoyMDA4LTA1LTIxIDE3OjIwOjA1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXBsYWNlIEM5OSBsbGFicyB3aXRoIEM4OSBjb2RlCgkgIDIwMDgwNTIxMTcyMDA1LTNlMmRjLThlNjM3ZDFkYWEwZTI3Y2MyZWRhZTFmZGZkMGRiZjIzODk2ZmI1YmMuZ3oKCjIwMDgtMDUtMTUgMDE6MjI6NTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHZhcnMgYmVmb3JlIHJlc3RhcnRpbmcgdGhyZWFkIG9uIGZsdXNoIHN0b3AKCSAgMjAwODA1MTUwMTIyNTctM2UyZGMtZTM1MjE3NTJjZjNlYWYyYjg3NjdmNGM2MjBlYWRmYzI0YThlOGUzMS5negoKMjAwOC0wNS0xNSAwMToyMjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IGZpcnN0IHZlcnNpb24gb2Ygc2Vla2luZwoJICAyMDA4MDUxNTAxMjIyNy0zZTJkYy03ZjUzZjc4ZDFjM2RmZGNkYjZlN2FkNTNlNmM3ZjE2ZDVlOTk4YTA1Lmd6CgoyMDA4LTA1LTE1IDAxOjIxOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZHVyYXRpb24gcXVlcnkgZnJvbSBhZGRlcgoJICAyMDA4MDUxNTAxMjE0Mi0zZTJkYy0yNzY4MTk5MTgzYmZiOWQ1NjliZTEzODllMzgyYmVkYzAyZTNlOTVlLmd6CgoyMDA4LTA1LTE1IDAwOjAyOjE0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlIGZsdXNoIHN0b3AgaW5zaWRlIHdoZXJlIGl0IGJlbG9uZ3MKCSAgMjAwODA1MTUwMDAyMTQtM2UyZGMtY2RhNWNkZGQxZWFkNWM0OGE1NTRlOWU5YmM3NWFlNjg0MzdiY2RmYi5negoKMjAwOC0wNS0xNCAyMzo0OTo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSGF2ZSB0aGUgbGl2ZWFkZGVyIHJlbWVtYmVyIGlmIGl0cyBwbGF5aW5nIG9yIG5vdAoJICAyMDA4MDUxNDIzNDk0OC0zZTJkYy05MDY0YTI3YTU0YWVmNTk4NDQ0YWE2YWQ2NDYzMzQ1OTc5MTIwODI4Lmd6CgoyMDA4LTA1LTE0IDIzOjQ5OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXNoIG91dCBidWZmZXIgaWYgd2UncmUgbm90IHBsYXlpbmcgd2hpbGUgdGhlcmUgaXMgbm8gY2xvY2sKCSAgMjAwODA1MTQyMzQ5MTAtM2UyZGMtMTA5NmViN2RjM2ZhZGExOWFmYzgxZGNkNTM2ZDllZGM4MjFkMGRhOS5negoKMjAwOC0wNS0xNCAyMzoyNjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRW1wdHkgdGhlIHF1ZXVlIG9uIGZsdXNoIHN0YXJ0CgkgIDIwMDgwNTE0MjMyNjQzLTNlMmRjLTVhM2Y1MmEzZmQzNzcxMTY0ZGVhOTViZDE0NDEwZDc2YjRmY2UyYWEuZ3oKCjIwMDgtMDUtMTQgMjM6MTc6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHBhZCBwcml2YXRlIG9uIGZsdXNoIHN0b3AKCSAgMjAwODA1MTQyMzE3NTItM2UyZGMtMTEzZmVjMmZhYWZjMmRjMTFjMWVhYTgxOGNiNDg4YjcxZTYwMWY5Yi5negoKMjAwOC0wNS0xNCAyMzoxNjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUGFzcyBwYWQgYXMgcGFkIHRvIHJlc2V0X3BhZF9wcml2YXRlCgkgIDIwMDgwNTE0MjMxNjQzLTNlMmRjLTAwNjk2MGI5Y2RjM2NlOGUxZjg5MGRjNmQxOTQ3NzhjYmM3Yzk3MzYuZ3oKCjIwMDgtMDUtMDIgMTk6MTA6MDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByaW50IGRlYnVnIG1lc3NhZ2UgaWYgd2UgcmV0dXJuIG5vbi1vayBmcm9tIGNoYWluCgkgIDIwMDgwNTAyMTkxMDA0LTNlMmRjLWYxZjcyMzdjMDZjMTE1OGNmMjdlMjlkMzJhNjlkZTA2ZjcxMTI1MDYuZ3oKCjIwMDgtMDUtMDIgMTk6MDk6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHJldHVybiBFT1MgaWYgd2UgaGF2ZSBubyBwYWRzCgkgIDIwMDgwNTAyMTkwOTU0LTNlMmRjLTQxMzUxMjI1ZTkwOWU2ZDA4MzdhNmE2MGUxODdkMzNhYjE4NmFkNzYuZ3oKCjIwMDgtMDUtMDEgMjA6MzE6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBpcyBOT1QgdGltZQoJICAyMDA4MDUwMTIwMzE1NC0zZTJkYy03ODBlNDZiMWYwZmU3NmE2NmUyZDc5YTJlYjg1ZDc2NGZmNWYxODJmLmd6CgoyMDA4LTA0LTI4IDIyOjE3OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB1c2UgZ19xdWV1ZV9jbGVhcigpCgkgIDIwMDgwNDI4MjIxNzM3LTNlMmRjLWJiOGU0NzQ4NzUxYzI5ZTA4NTczMTNhMDlmODUwNjdhYjEyYzNmZTQuZ3oKCjIwMDgtMDUtMDEgMjA6MDk6NDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBhZCBwdXNoIGV2ZW50IGFmdGVyIHRoZSBsb2NrIGhhcyBiZWVuIHVubG9ja2VkCgkgIDIwMDgwNTAxMjAwOTQwLTNlMmRjLWFlNWZlYzVmNzlmMzI3NzdiYmE2NDlkMGQ3MDBkNDlmN2JlZGZmNDAuZ3oKCjIwMDgtMDUtMDEgMTg6MjU6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENyZWF0ZSBnZW5lcmljIHNlZ21lbnQgaXMgbm9uZSByZWNlaXZlZCBhbmQgcmVmdXNlIG5vbi10aW1lIHNlZ21lbnRzCgkgIDIwMDgwNTAxMTgyNTU0LTNlMmRjLWFjZTVjYTAwMDQxNDQyOGQ2ZDk0NDc4YWRjNTkyN2M5ZjkxOTc1ZGYuZ3oKCjIwMDgtMDQtMjkgMTQ6MDg6MDIgKzAwMDAgIFNpbW9uIE1jVml0dGllIDxzaW1vbi5tY3ZpdHRpZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIG1pc3Npbmcgc2VtaWNvbG9uIChkaWQgYW55b25lIHRlc3QgdGhpcz8hKQoJICAyMDA4MDQyOTE0MDgwMi01M2VlZS00MWZkYjQzOTFlZGRiMTI1YjdlMzQwMTk0MjdjZmE1ZGM4YWZkNmMwLmd6CgoyMDA4LTA0LTI5IDAwOjM2OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJvYnVzdG5lc3MgY2hlY2ssIG1ha2Ugc3VyZSB0aGUgcXVldWUgaXMgbm90IGVtcHR5IGJlZm9yZSB1c2luZyB0aGUgaGVhZCBlbGVtZW50CgkgIDIwMDgwNDI5MDAzNjAwLTRmMGY2LTcwOGM2NTRiNjU4MTJjYWViMzYxMjI0OGRiZTBiMmU2MjU2N2MyNTAuZ3oKCjIwMDgtMDQtMjkgMDA6MzQ6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY29uZGl0aW9uCgkgIDIwMDgwNDI5MDAzNDEyLTRmMGY2LTllODkwYWQwYWM0NDI3OTFhOGIyMjY1MGE3NWNiNzU0ZDdmMmQ3MjMuZ3oKCjIwMDgtMDQtMjkgMDA6MDM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gY2hlY2sgYWdhaW5zdCBhdWRpb19idWZmZXJfY2xpcCB3aGljaCBjYW4gcmV0dXJuIE5VTEwgaWYgdGhlIGJ1ZmZlciBpcyBvdXRzaWRlIHRoZSBjbGlwcGluZyBzZWdtZW50CgkgIDIwMDgwNDI5MDAwMzM5LTRmMGY2LTdlNGUzMWYwNjZiODdlMjkyNjVkZGIzOTc4OTI5ZTUxZWZiZmY0N2QuZ3oKCjIwMDgtMDQtMjggMjM6NDk6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG9iamVjdCBsb2NraW5nIGluIHNldGNhcHMKCSAgMjAwODA0MjgyMzQ5NDgtNGYwZjYtNDU4NjQzNGI0MzA4ZTExNGY0OTVlOTI2OTk2ZmMxOTQ4M2MxMDU2Zi5negoKMjAwOC0wNC0yOCAyMzo0OTozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ19jb25kX2Jyb2FkY2FzdCBpbnN0ZWFkIG9mIGdfY29uZF9zaWduYWwKCSAgMjAwODA0MjgyMzQ5MzUtNGYwZjYtZTUxZmFiMzE3NzJiMzJmMmZiMDgwYWQ3MGM2YmVkZWZjNWMyNmRjNi5negoKMjAwOC0wNC0yOCAyMzoyODo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYXggbGF0ZW5jeSBzaG91bGQgYWxzbyBiZSBpbmNyZWFzZWQgYnkgb3VyIG93biBsYXRlbmN5CgkgIDIwMDgwNDI4MjMyODUxLTRmMGY2LTA1ZjlhODk0MDNjZDU0MjExZjJmNGE2NTk1NzA0MjcwZWFiOTYxNmYuZ3oKCjIwMDgtMDQtMjggMjI6MzY6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBkZWFkbG9jayBvbiBpbnZhbGlkIHRpbWVzdGFtcCBlcnJvcgoJICAyMDA4MDQyODIyMzYwNi0zZTJkYy05NjNlNDhiMzNlZmFmODRjMTZkNGVjNGI3ODlhNmRmYjJkOTM1OGFkLmd6CgoyMDA4LTA0LTI4IDE2OjE5OjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGNvbW1lbnQgZm9yIGNsYXJpdHkKCSAgMjAwODA0MjgxNjE5NTgtNGYwZjYtY2JhYTE2NmZiZGU5OTAxM2I1NTVjNjlhYjQ4ZDk2NGQ3NTc3M2E3Zi5negoKMjAwOC0wNC0yOCAxNjoxMjozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBUT0RPIGNvbW1lbnRzCgkgIDIwMDgwNDI4MTYxMjM1LTRmMGY2LWZiYzc4NTMzZDI5ZDM3YjY1YWRkNmY2MDQ2ZmVjMTdjZTVlMzBjYWUuZ3oKCjIwMDgtMDQtMjggMTU6NTk6MjcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gY2hlY2tfZW9zIHdpbGwgYWx3YXlzIHJldHVybiBGQUxTRSBoZXJlLi4KCSAgMjAwODA0MjgxNTU5MjctNGYwZjYtMWE5M2UyOTVkM2RmNjhhOTYzNjdiNzUwNjBhODlhOTQ3ZWZhODk0NC5negoKMjAwOC0wNC0yOCAxNTo0OTo1NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBjb21tZW50IG9uIHRoZSBubyBjbG9jayBlcnJvcgoJICAyMDA4MDQyODE1NDk1Ni00ZjBmNi03ZTI0ZWQzMWY5YzgyMmU0MzIzYjY4MWE1NGJjMjNmMDNjMWEzMjVlLmd6CgoyMDA4LTA0LTI4IDE1OjQ4OjUwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVycm9yIGlmIG5vIGNsb2NrIGlzIGF2YWlsYWJsZQoJICAyMDA4MDQyODE1NDg1MC00ZjBmNi0zOGZkYzQxMzQ4MzVjNDU3ZDAwNTQzMDE1NzlkOGNkNGNiZDQ5ODlhLmd6CgoyMDA4LTA0LTI1IDIxOjA0OjU2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbmFtaW5nIHVudXNlZCBhcmcKCSAgMjAwODA0MjUyMTA0NTYtNGYwZjYtYWIxY2RjOTQ0YzliY2Q3Nzk1MDQyOTJiMjFkYzE3ODdkNmNiNjJhMS5negoKMjAwOC0wNC0yNSAyMDozOTozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmVkIHVudXNlZCB1c2VyX2RhdGEgYW5kIGNvbW1lbnRlZCBsaW5lCgkgIDIwMDgwNDI1MjAzOTM4LTRmMGY2LTc4Nzc3ODQ3NWI2NDY0NjFkYTQwZjNlMDAwMGExMGJjOTZlMTQyYmMuZ3oKCjIwMDgtMDQtMjUgMjA6Mzc6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlIHVudXNlZCBjYXNlcyBhbmQgZW1wdHkgc3dpdGNoCgkgIDIwMDgwNDI1MjAzNzM1LTRmMGY2LWMwNDQyZmNmNTdlM2YwOGI4MWJjMWJlM2Q2OWY1Y2ZhMDI1N2I1MmEuZ3oKCjIwMDgtMDQtMjggMTg6MzQ6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEV4cGxpY2l0IHRoZSBkaXNjb250IGZsYWcgbWFuZ2xpbmcKCSAgMjAwODA0MjgxODM0MDktM2UyZGMtNGRiMjUwNWVlY2EwMzNhNjM0MjUzYjZjMmQyZjRmMTM5OGU5ZmNjYS5negoKMjAwOC0wNC0yOCAxODowNzoxMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5yZWYgZXZlbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZAoJICAyMDA4MDQyODE4MDcxMS0zZTJkYy1lYjY1OTc4N2YxNzk1NjJmMTU0MDJjODE5ZjE4OGRlMzk4ZGVlZjJkLmd6CgoyMDA4LTA0LTI0IDIyOjQ2OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgR2xpYiBHX3tNQVgsTUlOfXtVLH1JTlR7OCwxNiwzMn0gbWFjcm9zCgkgIDIwMDgwNDI0MjI0NjI3LTNlMmRjLTEwMzZiYzU4YjZiNGRiMmY5ZjEyODMxY2RiYWUzYmM2MTNmYWNiYmYuZ3oKCjIwMDgtMDQtMjEgMDM6MjY6MTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVubG9jayBsaXZlYWRkZXIgZW1wdHkgYnVmZmVyIGdjb25kIG9uIGZsdXNoCgkgIDIwMDgwNDIxMDMyNjE0LTNlMmRjLTRlZDI5ZTE1ODNmZjY4NDMzOGJhNWQ3NjExZjYwYjFhN2VhZmY1NjMuZ3oKCjIwMDgtMDQtMTggMTk6Mjk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVucmVmIGV2ZW50IGluc3RlYWQgb2YgbGVha2luZyBpdAoJICAyMDA4MDQxODE5Mjk0MS0zZTJkYy0zNTJlMjVmNmFiMjkxNjEyYmUxZGMxMzk3OTAzMDNhMTMzM2Y2NWQ3Lmd6CgoyMDA4LTA0LTAzIDE3OjA5OjU2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBub24tcGVyZmVjdCBzdHJlYW0gaXNudCBhbiBlcnJvciwgbGV0cyBqdXN0IGxvZyBpdAoJICAyMDA4MDQwMzE3MDk1Ni0zZTJkYy02NjNmNmFmOGNlMDY3ZjQ0Y2EyNTFhODlhZWJmMjYyZDRiOGEyODY5Lmd6CgoyMDA4LTA0LTAzIDE2OjU0OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBXZSByZXRpbWVzdGFtcCB0byB0aGUgcnVubmluZyB0aW1lLCBzdGFydGluZyB0aGUgc2VnbWVudHMgZnJvbSAwIHNob3VsZCB0aGVyZWZvcmUgd29yawoJICAyMDA4MDQwMzE2NTQzMS0zZTJkYy1kOTgxYWMyZjllYTdmZDNjOGQyYmU0ZDIyZjE4MTdjZjc4YzYxNGU0Lmd6CgoyMDA4LTA0LTAzIDE2OjU0OjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB0aGUgbWluL21heCBvZiB0aGUgbGF0ZW5jaWVzIGNvcnJlY3RseQoJICAyMDA4MDQwMzE2NTQxNS0zZTJkYy1jMTEyNGJkODRlNjdjZjhhOTExYTE0YmIxMjNiODczMWRhOWY0ZmM0Lmd6CgoyMDA4LTA0LTAzIDAyOjE0OjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggaW5kZW50YXRpb24KCSAgMjAwODA0MDMwMjE0MjUtM2UyZGMtZWZkNzNhNmVlZDA2NzZlMTU4YWY3MDQ4NGQ0ZTVjNDJlYTc1ZGU3NC5negoKMjAwOC0wNC0wMyAwMjowMzoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gaW4gY2FzZSB3ZSdyZSBhbHJlYWR5IHBsYXlpbmcKCSAgMjAwODA0MDMwMjAzMTgtM2UyZGMtYWZkNThmOTkyYzBiMzA1NzIyMWI5MTAzNGIyZmNkOTFmMjk2ZTUyZC5negoKMjAwOC0wNC0wMyAwMjowMjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRm9yIGxhdGVuY2llcywgdXNlIHRoZSBtaW4gb2YgdGhlIG1heCBhbmQgdGhlIG1heCBvZiB0aGUgbWluIChhbmQgdGhlIG1pbiB3aW5zIGlmIHRoZXkgY3Jvc3MpCgkgIDIwMDgwNDAzMDIwMjUzLTNlMmRjLWRkYTdlNDcxMDczZWU3NWE2ZjYwZTg0NWMzYzU0NmFmOWJlMTk2NzUuZ3oKCjIwMDgtMDQtMDMgMDA6NTc6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBuZXh0X3RzIGludG8gZXhwZWN0ZWRfdHMsIG1ha2Ugc3VyZSBhbGwgYnVmZmVycyBoYXZlIGEgZHVyYXRpb24KCSAgMjAwODA0MDMwMDU3MjgtM2UyZGMtODI0NWNlMWJmZWViZWJmYjhmNzUwNzMyNTNiM2MwZTNjNGI1ZjU5Ni5negoKMjAwOC0wNC0wMyAwMDo0MDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdHJ5IHRvIHNldCB0aGUgZGlzY29udCBmbGFnIGlmIHRoZSBkdXJhdGlvbiBvZiB0aGUgcHJldmlvdXMgaW5jb21pbmcgYnVmZmVyIHdhcyBub3QgdmFsaWQKCSAgMjAwODA0MDMwMDQwMTItM2UyZGMtNmY5NTUyMGM5MjhjMzQ3NTA4YmRmNjE4OGM4NzNlZDcyNGFkMmRkNy5negoKMjAwOC0wNC0wMiAyMjo0NjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgYnVmZmVycyBvZmZzZXRzIHRvIG5vbmUKCSAgMjAwODA0MDIyMjQ2MjctM2UyZGMtZDNlZThjN2QwYzE0MTMxMDE3ODQyZDgxNTlmN2Y2ODRkMGNjZWY2ZC5negoKMjAwOC0wNC0wMiAyMjo0NjoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wb3J0IGFkZGVyIHNyYyBldmVudCBoYW5kbGluZwoJICAyMDA4MDQwMjIyNDYxMi0zZTJkYy0yMWE2ODJiMThmZTE4NzgyYmY3ZmE0ODk4M2MxM2MxYWQ4NmRjNWExLmd6CgoyMDA4LTAzLTMxIDE4OjQ0OjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXNoIG91dCBhIHNpbXBsZSBuZXdzZWdtZW50IGV2ZW50CgkgIDIwMDgwMzMxMTg0NDIxLTNlMmRjLTY5NTQ0YjViMDNhZTNiYjhjMWUzZjk2Nzk3NGZkMjUwZDA0MDU2YjUuZ3oKCjIwMDgtMDMtMzEgMTg6NDQ6MDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHJldHVybiBFT1MgaWYgdGhlcmUgaXMgbm8gc2luayBwYWQKCSAgMjAwODAzMzExODQ0MDQtM2UyZGMtNDgyYTEzNGI0N2VhZGNkOWYxZjlkMTQ0YzAyYWIxMTQ1MDI4ZmEwNy5negoKMjAwOC0wMy0zMSAxNzoxMToxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVkdWNlIGxvY2tpbmcgYSBiaXQgYW5kIGNsZWFudXAgY29kZSBhIGJpdAoJICAyMDA4MDMzMTE3MTExNi0zZTJkYy01ZGRmYjBlNDU5MDA0NzgwZDNmN2E2NjBjNjRmNTgyNDM5MzZhODQ0Lmd6CgoyMDA4LTAzLTI5IDAwOjQ1OjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgbGl2ZWFkZGVyIGVsZW1lbnQKCSAgMjAwODAzMjkwMDQ1MTgtM2UyZGMtNDBlNDc0NmZlODJiYmM1YTg3MWYwM2ZlNmZmNjA0OGY0MzZjOWY4NS5negoKMjAwOS0wMi0xNiAxNjowODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogRml4IGFjY2lkZW50YWxseSBpbnRyb2R1Y2VkIHN0YWNrIG92ZXJ3cml0aW5nIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMDktMDItMTYgMTY6MDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IFNhdmUgb25lIG1lbW9yeSBhbGxvY2F0aW9uIHBlciBzdGVyZW8gYnVmZmVyCgoyMDA5LTAyLTEzIDEyOjE4OjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRG8gbm90IHVzZSB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4KCjIwMDktMDItMTIgMTc6MzE6NTAgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IFJldHVybiBBU1lOQyBhcHByb3ByaWF0ZWx5IGZyb20gY2hhbmdlX3N0YXRlLgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgZG8gdGhlIHdyb25nIHRoaW5nIHdoZW4gb3VyIGJhc2UgY2xhc3MgaXMgcmV0dXJuaW5nCgkgIEFTWU5DIGluIHN0YXRlIGNoYW5nZXMuCgoyMDA5LTAyLTEyIDE1OjAxOjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogZml4IGNvbXBpbGF0aW9uLgoJICBBY2NpZGVudGx5IG1lcmdlZCBwYXJ0IG9mIG9uZSBjaGFuZ2U7IHJlbW92ZSBpdC4KCjIwMDktMDItMTIgMjI6NDA6NDggKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIE1ha2UgdGhlIGRlbXV4ZXIgcmV1c2FibGUgaW4gUkVBRFktPlBMQVlJTkctPlJFQURZLT5QTEFZSU5HIGN5Y2xlcyBieSBmbHVzaGluZyBhZGFwdGVycyBjb3JyZWN0bHkuCgoyMDA5LTAyLTEyIDEwOjUzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFsc28gaW5jbHVkZSB0aGUgcGljdHVyZS9zb3VuZC9kYXRhIGVzc2VuY2UgY29kaW5nIGluIHRoZSB1bmtub3duIGNhcHMKCjIwMDktMDItMTIgMDk6NDY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8sIHdlIHNob3VsZCBzdXBwb3J0IHRoZSBkcm9wLWZyYW1lIHByb3BlcnR5IG9mIHRpbWVjb2RlIHRyYWNrcwoKMjAwOS0wMi0xMiAwODo0NjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGaXggcmVzb2x2YWwgb2YgaWRlbnRpZmljYXRpb25zIGZyb20gdGhlIHByZWZhY2UKCjIwMDktMDItMTEgMTg6NDA6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBQYXJzZSBNWEZUaW1lc3RhbXAncyBtaWxsaXNlY29uZHMgYW5kIGFkZCBfdG9fc3RyaW5nKCkgZnVuY3Rpb24KCjIwMDktMDItMTAgMTQ6MjM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8KCjIwMDktMDItMTIgMTA6NDY6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogYWxzbyBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcgZXJyb3IKCjIwMDktMDItMTEgMTc6MjM6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLCBhbHNvIGFkZCBzb21lIG1pc3NpbmcgZGlzdGluZyBkaXJlY3RvcmllcyB0byBhIGNvdXBsZSBvZiBNYWtlZmlsZXMuYW0gZmlsZXMKCjIwMDktMDItMTEgMTc6MjE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogRml4IGNvbXBpbGF0aW9uLCBhY3RpdmF0ZV9zaW5rcGFkKCkgaGFzIG5vIG5vdGlmeSBwYXJhbWV0ZXIKCjIwMDktMDItMTAgMTY6MjI6NTQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXQtc2VsZWN0b3I6IEFjdGl2YXRlIGFuZCBub3RpZnkgcGFkIGJlZm9yZSBwcm9jZXNzaW5nIGV2ZW50cy4KCSAgRXZlbnRzIHNob3VsZCB0cmlnZ2VyIHBhZCBzZWxlY3Rpb24gaWYgd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIGFuCgkgIGV4cGxpY2l0bHkgc2VsZWN0ZWQgcGFkLCBzbyB0aGF0IGV2ZW50cyBwcmlvciB0byBmaXJzdCBidWZmZXIgZG9uJ3QgZ2V0CgkgIGxvc3QuCgoyMDA5LTAyLTExIDAxOjU0OjAzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTYW5pdGl6ZSBjb25zdGFudHMgdXNlZCBmb3IgZWxlbWVudCBmYWN0b3J5IG5hbWVzLgoKMjAwOS0wMi0xMSAwMToyNDo1MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIHY0bDJzcmMgYXMgZGVmYXVsdCBzb3VyY2UuCgoyMDA5LTAyLTExIDAxOjA3OjA0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvLmdpdGlnbm9yZToKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiAuZ2l0aWdub3JlIGdlbmVyYXRlZCBmaWxlcy4KCjIwMDktMDItMTEgMDE6MDI6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IE1vdmUgZ2VuZXJhdGVkIGZpbGVzIHRvIHdpbjMyL2NvbW1vbi4KCjIwMDktMDItMTEgMDA6Mjg6NTMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIGNhbWVyYWJpbjogQWRkIC5naXRpZ25vcmUgdG8gaGlkZSBnZW5lcmF0ZWQgc2lnbmFsIG1hcnNoYWxsZXIgZmlsZXMuCgoyMDA5LTAyLTExIDAwOjE5OjIyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggcGx1Z2luIGRldGFpbHMgdG8gdXNlIEdTVF9QQUNLQUdFXyogdmFsdWVzLgoKMjAwOS0wMi0xMSAwMDoxNTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGxpY2Vuc2Ugc3BlY2lmaWVkIGluIHBsdWdpbiBkZXRhaWxzLgoKMjAwOS0wMi0xMCAxMjoyODo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IFBhc3MgcGl4ZWwgYXNwZWN0IHRocm91Z2ggZnJvbSBkZW11eGVycywgaWYgc3VwcGxpZWQuCgkgIElmIHRoZSBpbmNvbWluZyBjYXBzIGhhdmUgYSBwaXhlbC1hc3BlY3QtcmF0aW8sIGVuc3VyZSBpdCdzIHNldCBvbiB0aGUKCSAgb3V0cHV0LiBDb3JyZWN0cyBQQVIgZm9yIG1hbnkgKGJ1dCBwcm9iYWJseSBub3QgYWxsKSBmaWxlcy4KCjIwMDktMDItMTAgMTI6MjY6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBNYWtlIGF1ZGlvIGRlY29kZXJzIGhhdmUgU0VDT05EQVJZIHJhbmsuCgkgIFRoZXNlIHdyYXBwZXJzIGFyZSBub3QgaWRlYWwsIGFuZCBmb3IgbWFueSBvZiB0aGVzZSBmb3JtYXRzIHRoZXJlIGFyZQoJICBiZXR0ZXIgZ3N0cmVhbWVyIGVsZW1lbnRzIGF2YWlsYWJsZS4gU28sIG1ha2UgdGhlIHJhbmsgU0VDT05EQVJZLiBJbgoJICBwYXJ0aWN1bGFyLCB0aGUgbXAzIGRlY29kZXIgb24gd2luWFAgZG9lc24ndCB3b3JrIHZlcnkgd2VsbC4KCjIwMDktMDItMTAgMTI6MTI6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICBkc2hvd2RlY3dyYXBwZXI6IERlbGV0ZSBvbGQgLmMgZmlsZXMgdGhhdCBhcmUgdW51c2VkCgkgIFRoZXNlIG9sZCBmaWxlcyBhcmUgc3RhbGU7IHRoZSBwbHVnaW4gd2FzIHJld3JpdHRlbiBpbiBjKysgYWdlcwoJICBhZ28uIE5vdCBzdXJlIHdoeSB0aGVzZSBhcmUgaGFuZ2luZyBhcm91bmQuCgoyMDA5LTAyLTEwIDEwOjE3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBQYXNzIGF0IG1vc3QgMjA0OCBzYW1wbGVzIHRvIFNvdW5kVG91Y2gncyBCUE1EZXRlY3QKCSAgSW50ZXJuYWxseSBCUE1EZXRlY3QgYXNzdW1lcyB0aGF0IGF0IG1vc3QgMjA0OCBzYW1wbGVzIGFyZSBwYXNzZWQKCSAgdG8gaXQgYXQgb25jZSBhbmQgc3RvcmVzIHRob3NlIGluIGEgc3RhY2sgYWxsb2NhdGVkIHN0YXRpYyBzaXplZAoJICBhcnJheS4gSWYgd2UgcGFzcyB0b28gbWFueSBzYW1wbGVzIHRoaXMgd2lsbCByZXN1bHQgaW4gYSBidWZmZXIgb3ZlcmZsb3cKCSAgcmVzdWx0aW5nIGluIGhlYXZ5IHN0YWNrIGNvcnJ1cHRpb24gYW5kIGEgY3Jhc2guIEZpeGVzIGJ1ZyAjNTcwOTk2LgoKMjAwOS0wMi0wOSAxNzo1ODo0MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21tcDNkZWM6IGZpeCBtYWpvciBtZW1vcnkgbGVha3MgYW5kIGNsZWFuIHVwIGNvZGUuCgkgIFVucmVmIGluY29taW5nIGJ1ZmZlcnMgd2hlbiB3ZSdyZSBkb25lLgoJICBSZWluZGVudCwgY2xlYW4gdXAgd2hpdGUgc3BhY2UuIEZpeCBjb21tZW50cy4KCjIwMDktMDItMDkgMTg6MTQ6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWZ0ZXIgcHVsbGluZyB0aGUgZm9vdGVyIG1ldGFkYXRhIHJlc2V0IGVzc2VuY2UgdHJhY2sgcG9zaXRpb25zIHRvIDAKCjIwMDktMDItMDkgMTc6NTU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogV2hlbiB0cnlpbmcgdG8gZmluZCBhbiBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHRyeSB0byBmaW5kIHBvc2l0aW9uKzEgdG9vCgkgIEJ5IHNlYXJjaGluZyBmb3IgdGhlIGZvbGxvd2luZyBwb3NpdGlvbiB3ZSB3aWxsIGFkZCB0aGUgY29tcGxldGUKCSAgZ2VuZXJpYyBjb250YWluZXIgKGkuZS4gYWxsIHRyYWNrcykgYXQgdGhlIHNhbWUgcG9zaXRpb24gdG8gdGhlCgkgIGluZGV4IHdoaWNoIHNob3VsZCBtYWtlIGZpbmRpbmcgcG9zaXRpb25zIGZvciBtb3JlIHRoYW4gb25lIHRyYWNrCgkgIGEgYml0IGZhc3Rlci4KCjIwMDktMDItMDkgMTc6NDg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIG5ldyBlc3NlbmNlIHRyYWNrcyBvbmx5IHNldCB0aGUgcG9zaXRpb24gdG8gMCBpZiBpdCBzdGFydHMgaW4gdGhlIGN1cnJlbnQgcGFydGl0aW9uCgoyMDA5LTAyLTA5IDE3OjQ0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENoZWNrIGlmIHRoZSBsZW5ndGggb2YgdGhlIHNyYy9lc3NlbmNlIHRyYWNrIGFycmF5cyBhcmUgMCwgbm90IHRoZSBhcnJheSBpdHNlbGYKCjIwMDktMDItMDkgMTc6MjU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogTWFrZSBzdXJlIHRoYXQgdGhlIHNyY3BhZCBhbmQgZXNzZW5jZSB0cmFjayBhcnJheXMgYWx3YXlzIGV4aXN0CgoyMDA5LTAyLTA5IDE2OjEyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENoYW5nZSBzb21lIEdTVF9FUlJPUnMgdG8gc29tZXRoaW5nIGxlc3MgY3JpdGljYWwKCjIwMDktMDItMDkgMTY6MDk6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBnbyBpbnRvIEVPUyBhbmQgc2VuZCBzZWdtZW50LWRvbmUgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgZmluaXNoZWQKCjIwMDktMDItMDkgMTY6MDk6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETwoKMjAwOS0wMi0wOSAxNTo0ODoyMCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIGZvciBjYW1lcmFiaW4uCgoyMDA5LTAyLTA5IDEyOjAyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBCdW1wIHJldmlzaW9uIHRvIHVzZSBmb3IgY29tbW9uIHN1Ym1vZHVsZS4KCjIwMDktMDEtMzAgMTY6MDk6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgTW9yZSBmaWxlcyB0byBpZ25vcmUKCjIwMDktMDItMDUgMjM6MDY6MjMgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IEFkZCBjYW1lcmFiaW4gdW5pdCB0ZXN0cy4KCjIwMDktMDItMDUgMTU6NDg6MzIgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5oOgoJICBBZGQgY2FtZXJhYmluIGVsZW1lbnQuCgoyMDA5LTAyLTA2IDEyOjA2OjIzICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgQWRkIHBob3RvZ3JhcGh5IGludGVyZmFjZS4KCjIwMDktMDItMDkgMDc6MzM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IHNlZWtpbmcgdG8gdGhlIGVuZCBvZiBmaWxlCgkgIFdoZW4gc2Vla2luZyB0byBhIHBvc2l0aW9uIHdoZXJlIG5vIG5ldyBvZmZzZXQgY2FuIGJlCgkgIGZvdW5kIG9yIGFmdGVyIHRoZSBlbmQgb2YgYSB0cmFjayBkb24ndCBzZXQgdGhlIEVPUyBmbGFnCgkgIHRvIFRSVUUgYXMgd2UgZG9uJ3QgKGFuZCBjYW4ndCkgcHVzaCBFT1MgZG93bnN0cmVhbSB0aGVuLgoJICBJbnN0ZWFkIHNldCB0aGUgY3VycmVudCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHRvIHRoZW4KCSAgZW5kIG9mIHRoZSBlc3NlbmNlIHRyYWNrIGFuZCBsZXQgdGhlIGxvb3Agb3IgY2hhaW4gZnVuY3Rpb24KCSAgc2V0IGV2ZXJ5dGhpbmcgdG8gRU9TIGFuZCBwdXNoIEVPUyBkb3duc3RyZWFtLgoJICBBbHNvIHJlc3RhcnQgdGhlIHBhZCdzIHRhc2sgaWYgcmVzb2x2aW5nIG1ldGFkYXRhIGZhaWxlZAoJICAocGxheWJhY2sgd2lsbCBjb250aW51ZSBhcyBiZWZvcmUpIGFuZCByZXR1cm4gRkFMU0UgZnJvbQoJICB0aGUgc2VlayBpZiBubyBuZXcgb2Zmc2V0IGNvdWxkIGJlIGZvdW5kLgoKMjAwOS0wMi0wOCAyMTo1MjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggbGFzdF9zdG9wIGNhbGN1bGF0aW9uIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wOCAyMTozMTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBSZXNvbHZlIHNvdXJjZSBwYWNrYWdlIGJlZm9yZSBhY2Nlc3NpbmcgaXQncyBtZW1iZXJzCgoyMDA5LTAyLTA4IDIxOjIzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogQ29ycmVjdGx5IGltcGxlbWVudCB0aW1lc3RhbXBpbmcgaW4gYWxsIGNhc2VzCgkgIFdoZW4gdGhlIG1hdGVyaWFsIHBhY2thZ2UgdHJhY2sgYW5kIHNvdXJjZSBwYWNrYWdlIHRyYWNrCgkgIGVkaXQgcmF0ZSBhcmUgZGlmZmVyZW50IHRoZSBzb3VyY2UgcGFja2FnZSB0cmFjayBlZGl0CgkgIHJhdGUgYXBwbGllcyB0byB0aGUgc3RvcmVkIGVzc2VuY2UgYW5kIHRoZSBtYXRlcmlhbCB0cmFjawoJICBlZGl0IHJhdGUgb25seSBhcHBsaWVzIHRvIHRoZSB2YWx1ZXMgaW4gdGhlIHRyYWNrJ3Mgc2VxdWVuY2UKCSAgYW5kIGNvbXBvbmVudHMuCgoyMDA5LTAyLTA4IDIxOjIyOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBoYW5kbGUgRFVSQVRJT04gcXVlcmllcyB3aXRoIGEgbmVnYXRpdmUgZHVyYXRpb24KCjIwMDktMDItMDggMjE6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogV2hlbiBjaGFuZ2luZyB0byB0aGUgY29tcG9uZW50IGFmdGVyIHRoZSBsYXN0IGNvbXBvbmVudCB1cGRhdGUgdGhlIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24KCjIwMDktMDItMDggMjE6MTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogU21hbGwgY2xlYW51cCBhbmQgYW4gYWRkaXRpb25hbCBjaGVjawoJICBVcGRhdGUgVE9ETyBsaXN0LCByZWR1Y2Ugc2l6ZSBvZiBhIHN0YWNrIGFsbG9jYXRlZCBzdHJpbmcKCSAgYW5kIGRvbid0IGFsbG93IGVzc2VuY2UgdHJhY2tzIHdpdGggYW4gaW52YWxpZCBlZGl0IHJhdGUKCjIwMDktMDItMDggMDc6MzA6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRm9yIG1hdGVyaWFsIHBhY2thZ2VzIG1ha2Ugc3VyZSB0aGF0IHRyYWNrcyByZXNvbHZlIHRvIHNvdXJjZSB0cmFja3MKCjIwMDktMDItMDcgMTA6Mzg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMgY29udGFpbmluZyBETnhIRCBlc3NlbmNlCgkgIEF2aWQgdXNlcyBhIGN1c3RvbSBlc3NlbmNlIGNvbnRhaW5lciBVTCBhbmQgY3VzdG9tIGVzc2VuY2UgZWxlbWVudCBrZXlzCgkgIHRoYXQgYXJlIGZvcnR1bmF0ZWx5IGNvbXBhdGlibGUgd2l0aCB0aGUgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZQoJICBlbGVtZW50cy4gUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTYxOTIyLgoKMjAwOS0wMi0wNyAxMDoxMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IE1ha2UgZXNzZW5jZSB0cmFjayBjcmVhdGlvbiBhIGJpdCBtb3JlIHJvYnVzdCBhZ2FpbnN0IGJyb2tlbiBmaWxlcwoJICBTb21lIGZpbGVzIGNvbnRhaW4gbXVsdGlwbGUgdHJhY2tzIHdpdGggdGhlIHNhbWUgdHJhY2sgbnVtYmVyIGJ1dCBkaWZmZXJlbnQKCSAgdHJhY2sgaWQgaW5zaWRlIHRoZSBzYW1lIHNvdXJjZSBwYWNrYWdlLiBUaGlzIGlzIGludmFsaWQgYW5kIHdlIHNpbXBseSBpZ25vcmUKCSAgdGhlIHNlY29uZCBhbmQgZm9sbG93aW5nIG9mIHN1Y2ggdHJhYWNrcyBub3cgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyB0aGUKCSAgaW5mb3JtYXRpb24gb2YgdGhlIGZpcnN0IG9uZS4KCjIwMDktMDItMDcgMTA6MDM6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRG9uJ3QgaW5jbHVkZSBtdWx0aXBsZSBkZXNjcmlwdG9ycyBpbiB0aGUgdHJhY2sncyBkZXNjcmlwdG9ycwoKMjAwOS0wMi0wNyAwOToyNzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMgY29udGFpbmluZyBEViBlc3NlbmNlCgkgIEF2aWQgdXN1YWxseSB1c2VzIGEgY3VzdG9tIGVzc2VuY2UgY29udGFpbmVyIGxhYmVsIGZvciB0aGUgZXNzZW5jZQoJICBkZXNjcmlwdG9ycyBhbmQgc3RvcmVzIHRoZSBhY3R1YWwgY29kZWMgdGhhdCBpcyB1c2VkIGluc2lkZSB0aGUKCSAgcGljdHVyZSBlc3NlbmNlIGNvZGluZyBmaWVsZCAoYW5kIGZvciBzb3VuZCBwcm9iYWJseSBpbiB0aGUgc291bmQKCSAgZXNzZW5jZSBjb2RpbmcgZmllbGQgYnV0IEkgaGF2ZSBubyBzYW1wbGUgZmlsZXMgd2l0aCBzb3VuZCkuCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU2MTkyMi4KCjIwMDktMDItMDYgMTE6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogQWRkIGRhdGEgZGVmaW5pdGlvbiBmb3IgQXZpZCB2ZW5kb3Igc3BlY2lmaWMgcGljdHVyZSBlc3NlbmNlCgoyMDA5LTAyLTA2IDExOjU1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZvciB0cmFja3Mgd2l0aCBubyBrbm93biBtYXBwaW5nIHVzZSBkdW1teSBjYXBzCgoyMDA5LTAyLTA2IDExOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHJlbW92ZSBpbnZhbGlkIG5ldyBlc3NlbmNlIHRyYWNrIHR3aWNlIGZyb20gdGhlIEdQdHJBcnJheQoKMjAwOS0wMi0wNiAxMTowOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIE1QRUc0IHZpZGVvIHN0cmVhbXMKCjIwMDktMDItMDYgMTA6NDY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSGFuZGxlIHNvbWUgbW9yZSBzcGVjaWFsIGNhc2VzIHdoZW4gc2V0dGluZyB0aGUgcG9zaXRpb24gd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA2IDEwOjQ2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFkanVzdCBsYXN0X3N0b3AgdG8gdGhlIGxhc3Qga2V5ZnJhbWUgd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA2IDEwOjA2OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBsb2dpYyBmb3IgZmluZGluZyB0aGUgcHJldmlvdXMga2V5ZnJhbWUKCjIwMDktMDItMDYgMDk6NTM6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJICBteGZkZW11eDogQWRkIGtleWZyYW1lIGRldGVjdGlvbiBmb3IgTVBFRzIgdmlkZW8gc3RyZWFtcwoJICBUaGlzIGlzIHVzZWZ1bCBmb3Igc2Vla2luZyBhcyB3ZSB1c3VhbGx5IHdhbnQgdG8gc2VlayB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIFRoZSBrZXlmcmFtZSBkZXRlY3Rpb24gaXMgZG9uZSBieSBwYXJzaW5nIHRoZSBNUEVHMgoJICBlbGVtZW50YXJ5IHN0cmVhbSBhbmQgaWYgYSBHT1Agb3IgSS1mcmFtZSBwYWNrZXQgaXMgZm91bmQgd2UKCSAgYXNzdW1lIGEga2V5ZnJhbWUgaW4gdGhpcyBlZGl0IHVuaXQuCgoyMDA5LTAyLTA1IDIxOjI5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogUHJvdGVjdCB0aGUgbWV0YWRhdGEgd2l0aCBhIGxvY2sgYWdhaW5zdCBjb25jdXJyZW50IGFjY2VzcwoKMjAwOS0wMi0wNSAxNzo0MjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBSYW5kb20gY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcwoJICBVc2UgZ3N0X2VsZW1lbnRfa2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCksIGluc3RhbGwgcHJvcGVydGllcwoJICB3aXRoIHN0YXRpYyBzdHJpbmdzLCBjcmVhdGUgcGFkcyBkaXJlY3RseSBmcm9tIHRoZSBzdGF0aWMgcGFkCgkgIHRlbXBsYXRlcywgZGlyZWN0bHkgcHV0IHRoZSBzZWdtZW50IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCwKCSAgdXNlIEdTVF9NU0VDT05EIGluc3RlYWQgb2YgbnVtYmVycy4KCSAgVGhlIFBBUiBpcyBhIEdzdEZyYWN0aW9uIGFuZCBub3QgYSBkb3VibGUsIHVzZSBnc3Rfc3RydWN0dXJlX2dldF9mcmFjdGlvbigpLgoJICBTaW1wbGlmeSBzZXRjYXBzKCkgZnVuY3Rpb25zLgoKMjAwOS0wMi0wNSAxNzowMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBVc2UgR1NUX1ZJREVPX0NBUFNfUkdCIGZvciB0aGUgdGVtcGxhdGUgY2FwcwoKMjAwOS0wMi0wNSAxNjo1Nzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDItMDUgMTY6NTQ6MDEgKzAxMDAgIEJlbmphbWluIFNjaG1pdHogPHZvcnRleEB3b2xwem9uZS5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBBZGQgYXNzcmVuZGVyIHBsdWdpbiBmb3IgcmVuZGVyaW5nIEFTUy9TU0Egc3VidGl0bGVzCgkgIFRoaXMgZWxlbWVudCBoYXMgdGhlIGFkdmFudGFnZSBvdmVyIHN1YnBhcnNlJ3MgQVNTL1NTQQoJICBzdXBwb3J0IHRoYXQgbW9yZSBmZWF0dXJlcyBhcmUgc3VwcG9ydGVkLCBsaWtlIGZhZGluZywKCSAgYnkgdXNpbmcgbGliYXNzLiBGaXhlcyBidWcgIzQ4MTA3NS4KCjIwMDktMDItMDUgMTA6NTA6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGEgdGVzdDogRml4IHdyb25nIGxvb3BpbmcgdmFyaWFibGUuIFRlc3QgaXMgbm93IHZhbGlkIChidXQgZmFpbHMpLgoJICBUaGUgaW5uZXIgbG9vcGluZyB3YXMgdXNpbmcgdGhlIG91dGVyIGxvb3BpbmcgdmFyaWFibGUuCgoyMDA5LTAyLTA0IDE4OjExOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggdXAgdGhpbmdzIHRoYXQgdGhlIGluZGVudCB0aGluZ3kgY29tcGxhaW5lZCBhYm91dAoKMjAwOS0wMi0wNCAxODowOTo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IG1ham9yIGxlYWtzIGluIHF0d3JhcHBlciBhdWRpbyBkZWNvZGVycy4KCSAgRnJlZSB0aGUgZGVjb2RlciBjb21wb25lbnQgYW5kIGF1ZGlvYnVmZmVybGlzdCB3aGVuIGNhcHMgY2hhbmdlLCBvciB3aGVuCgkgIGRpc3Bvc2luZyBlbGVtZW50LgoKMjAwOS0wMi0wNCAxNzo1MDo1MSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEhhbmRsZSBtYW55IG1vcmUgZWRnZSBjYXNlcyBpbiBkc2hvd3ZpZGVvc2luay4KCSAgSW5zdHJ1bWVudCB2YXJpb3VzIGNvZGVwYXRocyB3aXRoIGRlYnVnIG1lc3NhZ2VzLgoJICBIYW5kbGUgKGFzIGJlc3QgYXMgSSBjb3VsZCBzZWUgaG93IC0gaXQncyBwcmV0dHkgbmFzdHkpIG1vdmluZyBhIHZpZGVvCgkgIHdpbmRvdyB0byBhbm90aGVyIG1vbml0b3IuCgkgIEFkZCBsaXN0ZW5pbmcgZm9yIGRpcmVjdHNob3cgZXZlbnRzLgoKMjAwOS0wMi0wNCAyMjo1MDozMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IGZpeGVzIGNsb3NzaW5nIHNlZ21lbnQgZ2VuZXJhdGlvbi4KCSAgRW5zdXJlIHRoYXQgdGhlIGNsb3NzaW5nIHNlZ21lbnQgaXMgZ2VuZXJhdGVkIGNvcnJlY3RseSBhbmQgYmVpbmcKCSAgcHJvcGVybHkgcHVzaGVkLgoJICBBZGRlZCBzb21lIEdTVF9ERUJVRyB0byBjaGVjayBpdC4KCSAgRW5zdXJlIHRoYXQgbGFzdF9zdG9wIGlzIHVwZGF0ZWQgaW4gc3RyZWFtIHRpbWUuCgkgIENhbGN1bGF0ZSBkdXJhdGlvbiBhcyBkZWx0YSBvZiBQVFMgYXMgaXQgc2VlbXMgbW9yZSBjb3JyZWN0IHRoYW4gZGVsdGEKCSAgb2YgU0NSIGluIHNvbWUgY2xpcHMgdGhhdCBJIHRlc3RlZC4KCjIwMDktMDItMDQgMjI6MTc6MzYgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBzZXZlcmFsIGZpeGVzIG9uIHRoZSBzZWVraW5nIGZ1bmN0aW9uIGluIHB1bCBtb2RlLgoJICBSZW1vdmVkIGEgbGluZSB3cm9uZ2x5IGNvcHkgcGFzdGVkIGluIG15IHByZXZpb3VzIGNvbW1pdC4KCSAgQXZvaWQgYW4gdW5zaWduZWQgaW50ZWdlciBvdmVyZmxvdy4KCSAgU2VlayBsYXN0X3N0b3AgaW4gc3RyZWFtIHRpbWUuCgkgIENsYW1wIGxhc3Rfc3RvcCBpbiBzdHJlYW0gdGltZSBiZXR3ZWVuIGZpcnN0IGFuZCBsYXN0IFNDUi4KCSAgRml4ZWQgYSB0eXBvIGluIHRoZSBHU1RfREVCVUcgbGluZSBhbmQgYWRkZWQgc29tZSBtb3JlIGluZm8uCgoyMDA5LTAyLTA0IDE2OjIwOjQwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBNb3ZlZCB2YXIgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbiBvZiBmdW5jdGlvbgoKMjAwOS0wMi0wNCAxNjoxODoyNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDItMDQgMTY6MTE6MjMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIEltcHJvdmVkIHNlZWtpbmcgaW4gcHVsbCBtb2RlLiBTb21lIHJlZmFjdG9yaW5nIGFuZCBzbWFsbCBmaXhlcwoKMjAwOS0wMi0wNCAxMToxMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTA0IDExOjA5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBQb3N0IGFuIFVNSUQgdGFnIHdpdGggdGhlIGN1cnJlbnQgcGFja2FnZSdzIFVNSUQKCjIwMDktMDItMDQgMTA6NTk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNldCB0aGUgY3VycmVudCBwYXJ0aXRpb24gYWZ0ZXIgc2Vla2luZyBhbmQgTkVXU0VHTUVOVCBldmVudHMKCjIwMDktMDItMDQgMTA6NTM6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbiBwdXNoIG1vZGUgcGxheSBhbGwgcmVtYWluaW5nIHBhcnRzIG9mIHRoZSBmaWxlIG9uIEVPUyBpZiB0aGVyZSBhcmUgYW55CgoyMDA5LTAyLTA0IDEwOjM3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgcHJvcGVydHkgdG8gc2V0IHRoZSBtYXhpbXVtIGFsbG93ZWQgdGltZSBkaWZmZXJlbmNlIGJldHdlZW4gdHJhY2tzCgoyMDA5LTAyLTA0IDEwOjI3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQWx3YXlzIHNldCB0aGUgY3VycmVudCBwYWNrYWdlLCBub3Qgb25seSB3aGVuIGl0IHdhcyBjaGFuZ2VkCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGFzIHRoZSBjdXJyZW50IHBhY2thZ2UgbGluayB3aWxsIGJlIHNldCB0byBOVUxMCgkgIHdoZW4gdXBkYXRlZCBtZXRhZGF0YSBpcyBwYXJzZWQgYW5kIHNob3VsZCBiZSBzZXQgaGVyZSBhZ2Fpbi4KCjIwMDktMDItMDQgMTA6MTk6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBUcnkgdG8gcmVzb2x2ZSBhbGwgc3luY2hyb25pemF0aW9uIGlzc3Vlcywgbm90IG9ubHkgdGhlIGZpcnN0CgoyMDA5LTAyLTAzIDE3OjQ3OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVtb3ZlIHNvbWUgY2hlY2tzIHRoYXQgd2lsbCBhbHdheXMgYmUgVFJVRQoKMjAwOS0wMi0wMyAyMjoyNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTAyLTAyIDIzOjI5OjI0ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgQWxzbyBmbHVzaCBwYXJzZXIgd2hlbiBhIG5ld3NlZ21lbnQgaXMgcmVjZWl2ZWQuIEZpeGVzIGxvb3AgaW4gcmV2ZXJzZSBtb2RlLgoKMjAwOS0wMi0wMiAyMzoxMjowNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBBZGQgcHVsbCBtb2RlIHRvIG1wZWdwc2RlbXV4IGFuZCByZXBvcnQgZHVyYXRpb24gcmVhZGluZyBmaXJzdCBhbmQgbGFzdCBQVFMuIFNvbWUgcmFuZG9tIGNsZWFudXBzLgoKMjAwOS0wMi0wMiAxNzo0NDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIENsZWFudXAgcGxheWJhY2sgcGFja2FnZSBzZWxlY3Rpb24gYW5kIG5vdGlmeSBhYm91dCB0aGUgY3VycmVudCBwYWNrYWdlCgoyMDA5LTAyLTAyIDE2OjIzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIHRhZ3MgcHJvcGVybHksIGVzcGVjaWFsbHkgb24gY29tcG9uZW50IHN3aXRjaAoKMjAwOS0wMi0wMiAxNjowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEVycm9yIG91dCBpZiBubyBwYWRzIGNvdWxkIGJlIGNyZWF0ZWQKCjIwMDktMDItMDIgMTU6NTQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNvbHZlIG1ldGFkYXRhIGFuZCB1cGRhdGUgdHJhY2tzIGlmIG5lY2Vzc2FyeSBiZWZvcmUgc2Vla2luZwoKMjAwOS0wMi0wMiAxNTo1NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIERvbid0IGdvIGFmdGVyIHRoZSBsYXN0IGNvbXBvbmVudCBvZiBhIHRyYWNrCgoyMDA5LTAyLTAyIDE1OjUzOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmV0dXJuIGFuIGVycm9yIGlmIHVwZGF0aW5nIGFuIGFscmVhZHkgZXhpc3RpbmcgcGFkIGZhaWxzCgoyMDA5LTAyLTAyIDA3OjQ0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IHNlZWtpbmcgaWYgdGhlIHNvdXJjZSBjbGlwIGR1cmF0aW9uIGlzIHVua25vd24KCjIwMDktMDItMDEgMTY6NTk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAwOS0wMi0wMSAxNjo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBkZWFkbG9ja3Mgd2hlbiBzZWVraW5nIGluIHB1bGwgbW9kZSBmYWlsZWQgYW5kIGNoZWNrIG5ldyBvZmZzZXQgYmVmb3JlIHVzaW5nIGl0CgoyMDA5LTAyLTAxIDE2OjU4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIG9mZnNldCBpbiBwdXNoIG1vZGUgYW5kIGhhbmRsZSBldmVudHMgcHJvcGVybHkKCjIwMDktMDItMDEgMTU6MDc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEltcGxlbWVudCBpbml0aWFsIHNlZWtpbmcgc3VwcG9ydCAocHVsbCBtb2RlIG9ubHkpCgoyMDA5LTAxLTMxIDExOjI5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBEb24ndCB1c2UgR0xpYiAyLjE2IEFQSSB1bmNvbmRpdGlvbmFsbHkKCjIwMDktMDEtMzAgMTk6NTI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBDaGVjayBmb3IgRU9TIG9uIGFsbCBwYWRzIGFmdGVyIGFkanVzdGluZyB0aGUgZXNzZW5jZSB0cmFjayBkdXJhdGlvbnMKCjIwMDktMDEtMzAgMTk6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggZHVyYXRpb24gY2FsY3VsYXRpb24gZm9yIGVzc2VuY2UgdHJhY2tzCgoyMDA5LTAxLTMwIDE1OjUwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wbGVtZW50IEdzdEVsZW1lbnQ6OnF1ZXJ5L2dldF9xdWVyeV90eXBlcyB2ZnVuY3MKCjIwMDktMDEtMzAgMTU6MzQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNldCBhbGwgaW50ZXJuYWwgc3RhdGUgaW4gZmluYWxpemUKCjIwMDktMDEtMjkgMjA6Mjc6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBkZXRlY3Rpb24gYW5kIGZpeCBwdXNoIG1vZGUgZm9yIHRoZSBsYXN0IHB1c2hlZCBpbiBidWZmZXIKCjIwMDktMDEtMjkgMTk6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEtlZXAgdHJhY2sgb2YgZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB3aGVuIHBsYXlpbmcgc291cmNlIHBhY2thZ2VzCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMgYXJlIHBsYXllZCBhbmQKCSAgdGhhdCB3ZSBzZWVrIHRvIHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMuCgoyMDA5LTAxLTI5IDE5OjQyOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBDb21wZW5zYXRlIGZvciB0aW1lc3RhbXAvZHVyYXRpb24gcm91bmRpbmcgZXJyb3JzCgoyMDA5LTAxLTI5IDE1OjU2OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgbG9naWMgdG8gY2hlY2sgYWxsIHBhZHMgd2hlbiBwdWxsaW5nIGEgcGFja2V0IHJldHVybmVkIEVPUwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBmaW5pc2ggYWxsIHBhZHMgdGhhdCBhcmUgYXQgRU9TIG5vdyBpbnN0ZWFkIG9mCgkgIGp1c3QgZmluaXNoaW5nIG9uZSBhbmQgcmV0dXJuaW5nIHRvIHRoaXMgcG9pbnQgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMDktMDEtMjkgMTU6NTU6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBPbmx5IHB1c2ggYnVmZmVycyBmb3IgcGFkcyB0aGF0IGFyZSBub3QgbW9yZSB0aGFuIDUwMG1zIGJlZm9yZSBvdGhlciBwYWRzCgoyMDA5LTAxLTI5IDE1OjM5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgbG9naWMgdG8gb25seSBnbyBpbnRvIEVPUyBhZnRlciBhbGwgdHJhY2tzIGFyZSBmaW5pc2hlZAoKMjAwOS0wMS0yOCAxNzozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBUT0RPIGxpc3QKCjIwMDktMDEtMjggMTY6Mzk6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBUcnkgdG8ga2VlcCB0aGUgdGltZXN0YW1wIGRpZmZlcmVuY2UgYmV0d2VlbiB0cmFja3MgbG93ZXIgdGhhbiA1MDBtcwoKMjAwOS0wMS0yNyAxNTozNjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBwbGF5YmFjayBvZiBhdG9tIGZpbGVzCgoyMDA5LTAxLTI3IDE1OjI3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgS2VlcCB0cmFjayBvZiBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uCgoyMDA5LTAxLTI3IDE0OjM4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgU2V0IGVzc2VuY2UgdHJhY2sgcG9zaXRpb25zIHRvIDAgaWYgd2UncmUgYXQgdGhlIHN0YXJ0IHBhcnRpdGlvbgoKMjAwOS0wMS0yNyAxNDoyNToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgR2VuZXJhdGUgYW4gaW5kZXggdGFibGUgZm9yIGVzc2VuY2Ugc3RyZWFtcwoJICBHZW5lcmF0ZSBhbiBpbmRleCB0YWJsZSBmb3IgZXNzZW5jZSBzdHJlYW1zIGR1cmluZyBwbGF5YmFjawoJICBhbmQgbWFrZSBzdXJlIHRoYXQgb25seSB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzIGFyZQoJICB1c2VkIGZvciBwbGF5ZWQgdHJhY2tzLgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGhhdmUgb25lIGVzc2VuY2Ugc3RyZWFtIHVzZWQgaW4gbXVsdGlwbGUKCSAgcGxheWJhY2sgdHJhY2tzLgoJICBGaXggc29tZSBtaW5vciBidWdzLgoKMjAwOS0wMS0yNyAxNDoyMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIERvbid0IGNvbXBsYWluIGlmIHRoZSBwcmVmYWNlIGhhcyBubyBwcmltYXJ5IHBhY2thZ2Ugc2V0CgoyMDA5LTAxLTI2IDE2OjIzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBBbGxvdyBpbmRleCB0YWJsZSBzZWdtZW50cyB3aXRob3V0IHByaW1lciBwYWNrCgkgIFdoZW4gcGFyc2luZyBhbiBpbmRleCB0YWJsZSBzZWdtZW50IHdpdGhvdXQgYSB2YWxpZAoJICBwcmltZXIgcGFjayBpbiB0aGlzIHBhcnRpdGlvbiBvbmx5IHBhcnNlIHRoZSBzdGF0aWMKCSAgbG9jYWwgdGFncyBhbmQgaWdub3JlIGFsbCBkeW5hbWljIG9uZXMuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHVzZSBpbmRleCB0YWJsZSBzZWdtZW50cyBpbiBzb21lCgkgIGJyb2tlbiBmaWxlcy4KCjIwMDktMDEtMjYgMTY6MjA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBlc3NlbmNlIHRyYWNrIGFic3RyYWN0aW9uCgkgIEFkZCBhbiBhYnN0cmFjdGlvbiB0byByZXByZXNlbnQgZXNzZW5jZSB0cmFja3MgYW5kCgkgIHVzZSB0aGlzIGV2ZXJ5d2hlcmUuIFRoaXMgd2lsbCBsYXRlciBiZSB1c2VkIHRvIGtlZXAKCSAgdHJhY2sgb2YgcG9zaXRpb25zIGFuZCB0byBnZW5lcmF0ZS9oYW5kbGUgc2VlayB0YWJsZXMuCgkgIFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIHJlbmFtaW5nLgoKMjAwOS0wMS0yNiAxNDo0NzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIEZpeCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzCgkgIEFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHBvcyB0YWJsZXMgYW5kIHNsaWNlIG9mZnNldHMKCSAgb2YgdGhlIGluZGV4IGVudHJpZXMgc2VwYXJhdGVseSB0byBhKSBmaXggYWxpZ25tZW50IGluCgkgIHdlaXJkIGNhc2VzIGFuZCBiKSB0byBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBmcmVlKCkKCSAgaW4gdGhlIGluZGV4IHRhYmxlIHNlZ21lbnQgcmVzZXQgZnVuY3Rpb24uCgoyMDA5LTAxLTI2IDE0OjMzOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXByb3ZlIGRldGVjdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBoZWFkZXIgbWV0YWRhdGEKCSAgSGVhZGVyIG1ldGFkYXRhIGlzIGZpbmlzaGVkIGFmdGVyIHBhcnRpdGlvbi5oZWFkZXJfYnl0ZV9jb3VudAoJICBieXRlcyBhZnRlciB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgcHJpbWVyIHBhY2sgYXJlIGhhbmRsZWQuCgkgIEFmdGVyIHRoaXMgdGhlcmUgY2FuIG9ubHkgYmUgaW5kZXggdGFibGUgc2VnbWVudHMsIGZpbGxlciBwYWNrZXRzLAoJICBlc3NlbmNlIG9yIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBwYXJ0aXRpb24uCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcyB0aGF0IGhhdmUgbm9uLXN0YW5kYXJkIG1ldGFkYXRhCgkgIHBhY2tldHMgaW4gdGhlIGhlYWRlciBtZXRhZGF0YS4KCjIwMDktMDEtMzAgMTg6Mjc6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgVW5yZWYgZXZlbnQgaWYgd2UgZG9uJ3QgZm9yd2FyZCBpdCwgdW5yZWYgcGFkcyB3aGVuIGRvbmUgd2l0aCB0aGVtLgoKMjAwOS0wMS0zMCAyMjoyODoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkIHJlbGVhc2VpbmZvIHdpdGggb25saW5lIHVybC4KCjIwMDktMDEtMzAgMTg6MjA6MTcgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXggY29tcGlsYXRpb24gb24gRm9ydGUuCgkgIERlcmVmZXJlbmNlIHRoZSBwb2ludGVyIHRvIHRoZSBwYXNzZWQgc29ja2V0IHRvIGNoZWNrIHRoZSBhY3R1YWwgZmQKCSAgd2hlbiBjbG9zaW5nIHRoZW0uCgkgIENhc3QgYW4gYXNzaWdubWVudCB0byBraWxsIGEgd2FybmluZy4KCjIwMDktMDEtMzAgMTg6MTg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uLgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbiBpbiBib3RoCgkgIGNvcGllcyBvZiBHc3RCYXNlUGFyc2UKCjIwMDktMDEtMzAgMTc6MzE6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQnVtcCBjb21tb24KCjIwMDktMDEtMzAgMDg6NTQ6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIFVzZSBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGNsaWVudC1zaWRlIGhvb2sKCjIwMDktMDEtMjkgMTc6NTk6MzUgLTAyMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICBxdHdyYXBwZXI6IEZpeGVzIGJ1aWxkIGF0IGNhc2Ugc2Vuc2l0aXZlIHN5c3RlbXMuCgoyMDA5LTAxLTI4IDEyOjQxOjM2ICswMDAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZAoJICBwZXMgcGFja2V0cyB0aGF0IGNsYWltIHRvIGJlIGVuY3J5cHRlZCBtYXkgbm90IGJlIHNvLCBzbyB0cmVhdCBhcyBub3JtYWwuCgkgIEp1c3QgbG9nIHRoZSBmbGFncy4KCjIwMDktMDEtMjggMTM6MjU6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIEFkZGl0aW9uYWwgbWVkaWEgdHlwZSBzdXBwb3J0IGluIHF0bXV4IChhbmQgZnJpZW5kcykuCgkgIFN1cHBvcnQgQU1SIGFuZCBIMjYzIGZvciBib3RoIHF0bXV4IGFuZCBncHBtdXgsCgkgIGFuZCBhZGQgZXh0ZW5zaW9ucyBpbiBzYW1wbGUgdGFibGUgZGVzY3JpcHRpb24uCgoyMDA5LTAxLTI4IDEyOjI3OjQyICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBSZXZlcnQgIm1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzZTRlNTU5OGY2YzNkYjQ0NGQwMDE0NTk3ZDM4M2VkMzVhMDI5OTguCgoyMDA5LTAxLTI4IDEyOjA2OjQ5ICswMDAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBjb21tb246CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkCgkgIHBlcyBwYWNrZXRzIHRoYXQgY2xhaW0gdG8gYmUgZW5jcnlwdGVkIG1heSBub3QgYmUgc28sIHNvIHRyZWF0IGFzIG5vcm1hbC4KCSAgSnVzdCBsb2cgdGhlIGZsYWdzLgoKMjAwOS0wMS0yNCAxODoxMzozOSArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvUkVBRE1FOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2NoYW5nZXMudHh0OgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2Zhc3RtaXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2l0X2RlZnMuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkXzY2OS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9hbWYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfYW1zLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RibS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kbWYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZHNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2Zhci5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9qMmIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbWRsLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21lZC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tb2QuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbXQyLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX210bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9va3QuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9zM20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfc3RtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3VsdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF91bXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfd2F2LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3htLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tbWNtcC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9kc3AuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9mbHQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9meC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZG1peC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvdGFibGVzLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy90YWJsZXMuZDoKCSAgQnVpbGQgdGhlIG1vZHBsdWcgcGx1Z2luIGFnYWluc3QgdGhlIG1vZHBsdWcgbGlicmFyeSBhbmQgcmVtb3ZlIG91ciBjb3B5CgkgIEFsd2F5cyBidWlsZCB0aGUgbW9kcGx1ZyBwbHVnaW4gYWdhaW5zdCB0aGUgc3lzdGVtIG1vZHBsdWcgbGlicmFyeQoJICBhbmQgcmVtb3ZlIG91ciBvd24gY29weS4gVXNpbmcgdGhlIHN5c3RlbSB2ZXJzaW9uIGhhcyBhZHZhbnRhZ2VzCgkgIGlmIHNlY3VyaXR5IGlzc3VlcyBvciBvdGhlciBjcml0aWNhbCBidWdzIGFyZSBmb3VuZCBpbiBsaWJtb2RwbHVnCgkgIGFuZCBvdXIgb3duIGNvcHkgd2Fzbid0IHJlYWxseSBtYWludGFpbmVkIGFueXdheS4KCSAgQWxzbyBvdXIgY29weSBvbmx5IGNvbnRhaW5lZCBzb21lIHBhdGNoZXMgdG8gdXNlIEdMaWIgdHlwZXMgYW5kIGZ1bmN0aW9ucy4KCSAgRml4ZXMgYnVnICM1Njg4MzcuCgoyMDA5LTAxLTIzIDIzOjQyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJKiBwby8uZ2l0aWdub3JlOgoJICBBZGQgbW9yZSB0byB0aGUgZ2l0aWdub3JlcwoKMjAwOS0wMS0yMyAxNDowMjoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgTWFrZSBSR0IgbWFza3MgdW5zaWduZWQgaW4gcmF3dmlkZW9wYXJzZQoJICBBbGxvdyB0aGUgZnVsbCByYW5nZSBvZiAzMiBiaXQgbWFza3MgZm9yIFJHQkEvUkdCIGRhdGEgYnkgbWFraW5nIHN1cmUKCSAgdGhlIG1hc2sgcHJvcGVydGllcyBhcmUgdW5zaWduZWQuCgoyMDA5LTAxLTIzIDE2OjA5OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvUkVBRE1FOgoJICBBZGQgUkVBRE1FIHdpdGggbWlkaSByZWxhdGVkIGxpbmtzLgoKMjAwOS0wMS0yMyAxNjowMDoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgTG9nIGFhYyBkZXRhaWxzIGZvdW5kIGluIGNvZGVjX2RhdGEuCgoyMDA5LTAxLTIzIDE0OjQzOjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJICBDb25maWd1cmUgYnl0ZSBvcmRlciBmb3IgRVhJRi4gRml4ZXMgIzU2ODcwNAoJICBFeGlmIGJsb2NrcyBjYW4gYmUgaW4gZGlmZmVybnQgYnl0ZSBvcmRlcnMuIEFkZCBhbiBlbGVtZW50IHByb3BlcnR5IHRvIHNlbGVjdCB3aWNoIG9uZSBzaG91bGQgYmUgd3JpdHRlbi4KCjIwMDktMDEtMjMgMTI6NDY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgUmVuYW1lIGF1ZGlvcmVzYW1wbGUgZmlsZXMgYW5kIHR5cGVzIHRvIGxlZ2FjeXJlc2FtcGxlCgkgIEZpbmlzaCB0aGUgbW92ZS9yZW5hbWUgb2YgYXVkaW9yZXNhbXBsZSB0byBsZWdhY3lyZXNhbXBsZQoJICB0byBwcmV2ZW50IGFueSBjb25mdXNpb24uCgoyMDA5LTAxLTIzIDEyOjM5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSAtYmFkLCBpdCdzIGluIC1iYXNlCgoyMDA5LTAxLTIzIDEyOjEzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgU2VuZCBCWUUgcGFja2V0cyBpbW1lZGlhdGx5IGZvciBzbWFsbCBzZXNzaW9ucwoJICBXaGVuIHRoZSBudW1iZXIgb2YgcGFydGljaXBhbnRzIGlzIGxlc3MgdGhhbiA1MCwgdGhlIFJGQyBhbGxvd3MgZm9yIHNlbmRpbmcgdGhlCgkgIEJZRSBwYWNrZXQgaW1tZWRpYXRseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWd1bGFyIEJZRSB0aW1lb3V0LgoJICBGaXhlcyAjNTY3ODI4LgoKMjAwOS0wMS0yMyAxMTo1MDoyOSArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCB0byBtbXNzcmMuIEZpeGVzIGJ1ZyAjNDY5OTMwLgoJICBBZGQgcHJvcGVyIHNlZWtpbmcgc3VwcG9ydCB0byBtbXNzcmMgYW5kIGNsZWFuCgkgIHVwIHNvbWUgY29kZS4gVGhpcyByZXF1aXJlcyBsaWJtbXMgPj0gMC40LgoKMjAwOS0wMS0yMyAxMDo0NDoyMCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIExpbmsgbW9kcGx1ZyBwbHVnaW4gd2l0aCAtbG0uIEZpeGVzIGJ1ZyAjNTY4NDgzLgoKMjAwOS0wMS0yMyAxMDoxMTo1MiArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeCBidWlsZCBvbiBTb2xhcmlzLiBGaXhlcyBidWcgIzU2ODQ4MC4KCSAgRml4IGxpbmtpbmcgb24gU29sYXJpcyBieSBjaGVja2luZyBmb3IgdGhlIG5zbCBhbmQgc29ja2V0CgkgIGxpYnJhcmllcyB3aGljaCBhcmUgbmVlZGVkIGZvciBzb2NrZXQoKSBhbmQgZ2V0aG9zdGJ5bmFtZSgpLgoJICBEb24ndCBpbml0aWFsaXplIHNvbWUgZmllbGRzIG9mIHN0cnVjdCBtaCB0byBOVUxMLzAsIHRoZXkncmUKCSAgYWxyZWFkeSBzZXQgdG8gTlVMTC8wIGJ5IGEgbWVtc2V0KCkuIEFsc28gdGhpcyBmaWVsZHMgZG9uJ3QKCSAgZXhpc3Qgb24gU29sYXJpcy4KCjIwMDktMDEtMjIgMTQ6Mzc6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgU3RvcmUgYWxsIHBhcnRpdGlvbnMgJiBwcmltZXIgcGFja3MgaW4gbWVtb3J5IGZvciBmYXN0ZXIgYWNjZXNzCgkgIFN0b3JlIGFsbCBwYXJ0aXRpb25zICYgcHJpbWVyIHBhY2tzIGluIG1lbW9yeSBmb3IgZmFzdGVyIGFjY2Vzcy4KCSAgVGhpcyBpcyBsYXRlciBuZWVkZWQgZm9yIGZhc3Qgc2Vla2luZy4KCSAgUHJlLWZpbGwgdGhlIGxpc3Qgb2YgcGFydGl0aW9ucyB3aXRoIHRoZSBjb250ZW50IG9mIHRoZSByYW5kb20KCSAgaW5kZXggcGFjay4KCSAgRG9uJ3QgcGFyc2UgbWV0YWRhdGEgb2YgYW4gcGFydGl0aW9uIHR3aWNlLgoKMjAwOS0wMS0yMiAxODoyMDowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHNuYXBzaG90LgoKMjAwOS0wMS0yMiAxNDowMDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGNvbmZpZy5oIGZvciBkZXZlbG9wbWVudC4KCjIwMDktMDEtMjIgMTM6NDY6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgRml4IHByZS1jb21taXQgaG9vawoKMjAwOS0wMS0yMiAxMzozOTozNCArMDEwMCAgSmFuIFVyYmFuc2tpIDxqLnVyYmFuc2tpQHN0dWRlbnRzLm1pbXV3LmVkdS5wbD4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBGaXhlcyBidWcgIzU2Nzk2NS4KCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBUaGlzIGZpeGVzCgkgIHNlZWtpbmcgb24gc29tZSBmaWxlcyB0aGF0IGhhdmUgdGhlIHNlZWsgdGFibGUgc3RvcmVkCgkgIGluc2lkZSBhbiBFQ01BIGFycmF5IGluc3RlYWQgb2YgdGhlIG5vcm1hbCBhcnJheS4KCjIwMDktMDEtMjIgMTM6MzM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgVW5sb2NrIHRoZSBqaXR0ZXJidWZmZXIgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBwYWNrZXQtbG9zdCBldmVudHMuIE1vdmUgc29tZSBjb2RlIGJlZm9yZSB3ZSBkbyB0aGUgdW5sb2NrIHRvIG1ha2UgdGhlIGppdHRlcmJ1ZmZlciBzdGF0ZSBjb25zaXN0ZW50IHdoaWxlIHdlIGFyZSB1bmxvY2tlZC4KCjIwMDktMDEtMjIgMTE6NTQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBGaXggVUwgZm9yIERUUyBhbmQgTVBFRzIgbGF5ZXIgMQoKMjAwOS0wMS0yMiAxMTo1NDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBBQUMgYXVkaW8KCjIwMDktMDEtMjIgMTE6NDc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTdG9yZSBNWEYgbWV0YWRhdGEgaW4gYSBoYXNoIHRhYmxlLCBrZXllZCBieSBVSUQKCSAgU3RvcmUgdGhlIE1YRiBtZXRhZGF0YSBpbiBhIGhhc2ggdGFibGUsIGtleWVkIGJ5IHRoZQoJICBpbnN0YW5jZSBVSUQuIFRoaXMgc2ltcGxpZmllcyByZXNvbHZhbCBvZiB0aGUgbWV0YWRhdGEKCSAgYW5kIG1ha2VzIGxvb3Bpbmcgb3ZlciBhbGwgbWV0YWRhdGEgc2V0cyB1bm5lY2Vzc2FyeQoJICBpbiBtb3N0IGNhc2VzLgoJICBBZGRpdGlvbmFsbHkgcGFyc2UgbWV0YWRhdGEgYWx3YXlzLiBJZiB3ZSBhbHJlYWR5IGhhdmUKCSAgYSBtZXRhZGF0YSBzZXQgd2l0aCB0aGUgc2FtZSBVSUQgcmVwbGFjZSBpdCBvbmx5IGlmCgkgIHRoZSBuZXcgbWV0YWRhdGEgc2V0IGlzIGZyb20gYSBsYXRlciBvZmZzZXQuIFRoaXMKCSAgZml4ZXMgbWV0YWRhdGEgcGFyc2luZyBvZiBmaWxlcyB3aGVyZSBmb2xsb3dpbmcgcGFydGl0aW9ucwoJICBkb24ndCBoYXZlIGEgY29tcGxldGUgY29weSBvZiB0aGUgcHJldmlvdXMgbWV0YWRhdGEuCgoyMDA5LTAxLTIyIDExOjQ0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQnVpbGQgdGhlIHJhbmRvbSBpbmRleCBwYWNrIHdoaWxlIHBhcnNpbmcKCSAgSWYgdGhlIGZpbGUgY29udGFpbnMgbm8gcmFuZG9tIGluZGV4IHBhY2sgb3IganVzdAoJICBhbiBpbnZhbGlkIG9uZSBidWlsZCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgd2hpbGUKCSAgcGFyc2luZy4KCjIwMDktMDEtMjIgMTE6NDM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkgIFVwZGF0ZSBjb3B5cmlnaHRzIGZvciAyMDA5CgoyMDA5LTAxLTIyIDExOjQyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTaW1wbGlmeSBwYXJzaW5nIG9mIFVML1VVSUQgYXJyYXlzCgkgIFNpbXBsaWZ5IHBhcnNpbmcgb2YgVUwvVVVJRCBhcnJheXMgYnkgYWJzdHJhY3RpbmcgaXQKCSAgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uLgoKMjAwOS0wMS0yMiAxMTozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBETVMxIChTTVBURSBTMzgwTSkKCjIwMDktMDEtMjIgMTE6MDA6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSB0aGUgZmlsdGVyIHBsdWdpbiBmcm9tIHRoZSBidWlsZAoJICBUaGUgZmlsdGVyIHBsdWdpbiBvbmx5IGNvbnRhaW5zIGEgbGltaXRlZCBJSVIgZmlsdGVyIGVsZW1lbnQKCSAgd2hpY2ggaXMgbm93IG9ic29sZXRlZCBieSB0aGUgYXVkaW9paXJmaWx0ZXIgZWxlbWVudCBmcm9tCgkgIGdzdC1wbHVnaW5zLWdvb2QvYXVkaW9meC4KCjIwMDktMDEtMjIgMTE6NTY6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbCAtPiAwLjEwLjEwLjEKCjIwMDktMDEtMjIgMDY6MTI6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEluc3RhbGwgYW5kIHVzZSBwcmUtY29tbWl0IGluZGVudGF0aW9uIGhvb2sgZnJvbSBjb21tb24KCjIwMDktMDEtMjEgMTI6MjI6NTQgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiYWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYzZhYzE3MGI5ZjIxOGM2NzNjMGRhYWY1YzU2OGM2MDAwYTM3ZmMzLgoKMjAwOS0wMS0yMSAxMjoxODo0OSArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIGFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQKCSAgKiBjb25maWd1cmUuYWM6IEFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQuCgoyMDA5LTAxLTIxIDA0OjMyOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaCA6IFVzZSBnaXQgc3VibW9kdWxlCgo9PT0gcmVsZWFzZSAwLjEwLjEwID09PQoKMjAwOS0wMS0xOSAyMzoxNTozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMTAKCjIwMDktMDEtMTkgMjI6NDE6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMS0wOSAyMzo0NDozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOS4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC45LjMgcHJlLXJlbGVhc2UKCjIwMDktMDEtMDkgMjI6MDk6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBEb24ndCBmb3J3YXJkIGR1cmF0aW9uIHJlcXVlc3RzIGluIEJZVEVTLCBzaW5jZSB0aGUgcmV0dXJuZWQgdmFsdWUgZG9lc24ndCBtZWFuIGFueXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRG9uJ3QgZm9yd2FyZCBkdXJhdGlvbiByZXF1ZXN0cyBpbiBCWVRFUywgc2luY2UgdGhlIHJldHVybmVkCgkgIHZhbHVlIGRvZXNuJ3QgbWVhbiBhbnl0aGluZy4gIEZpeGVzICM1NjY5NTkKCjIwMDktMDEtMDkgMjE6NTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydCB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQKCSAgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNTY2OTU4CgoyMDA5LTAxLTA5IDE2OjQ5OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBBZGRpdGlvbmFsIHBhdGNoIGZvciByZXNpbiBmaXhlcyB0aW1lLWJhc2VkIHNlZWtpbmcgaW4gdGl0bGVzIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgc2VjdG9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgQWRkaXRpb25hbCBwYXRjaCBmb3IgcmVzaW4gZml4ZXMgdGltZS1iYXNlZCBzZWVraW5nIGluIHRpdGxlcwoJICB0aGF0IGRvbid0IHN0YXJ0IGF0IHNlY3RvciAwIGluIHRoZSBWVFMsIGFuZCBmaXhlcyBpbnRlcnByZXRhdGlvbgoJICBvZiB0aGUgY2VsbCBlbGFwc2VkIHRpbWUsIHNvIHRoYXQgaXQgcmVwb3J0cyB0aGUgY29ycmVjdCB0aW1lIGFmdGVyCgkgIHRoZSBzZWVrIGNvbXBsZXRlcy4KCSAgUmVhbGx5IGZpeGVzICM1NjY5NTcuCgoyMDA5LTAxLTA4IDE3OjU3OjE5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBleHQvbGFkc3BhL3NlYXJjaC5jOiBBdm9pZCBzZWFyY2hpbmcgKG51bGwpIHBhdGhzIG9yIGNyYXNoaW5nIG9uIHBsYXRmb3JtcyB3aGVyZSBwcmludGluZyBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9zZWFyY2guYzogKExBRFNQQVBsdWdpblNlYXJjaCk6CgkgIEF2b2lkIHNlYXJjaGluZyAobnVsbCkgcGF0aHMgb3IgY3Jhc2hpbmcgb24gcGxhdGZvcm1zIHdoZXJlIHByaW50aW5nIGEKCSAgTlVMTCBzdHJpbmcgc2VnZmF1bHRzLiBGaXhlcyAjNTY3MDA0LgoKMjAwOS0wMS0wOCAxMjo0MjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvOiBBZGQgc3VwcG9ydCBmb3IgdGltZSBiYXNlZCBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGltZSBiYXNlZCBzZWVraW5nLgoJICBNYWtlIHNldHRpbmcgZHZkOi8vIHJlc2V0IHRvIHRoZSBkZWZhdWx0IGRldmljZS4KCSAgTWFrZSB0aGUgJ2F1ZGlvbXVuZ2UnIGVsZW1lbnQgc2VuZCBhbnkgbmV3IHNlZ21lbnQgc3RhcnQgYmVmb3JlCgkgIHRoZSAnZ2FwIGZpbGxlcicgYnVmZmVyIGl0IGdlbmVyYXRlcywgYW5kIGFueSBzZWdtZW50IGNsb3NlcwoJICBhZnRlci4KCSAgRml4ZXM6ICM1NjY5NTcKCjIwMDktMDEtMDggMDk6NDA6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IEFkZCBwbHVnaW4gZGVwZW5kZW5jeSBmb3IgdGhlIExBRFNQQSBwbHVnaW4gZGlyZWN0b3JpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBwbHVnaW4gZGVwZW5kZW5jeSBmb3IgdGhlIExBRFNQQSBwbHVnaW4gZGlyZWN0b3JpZXMuCgkgIEZpeGVzIGJ1ZyAjNTY2ODc4LgoKMjAwOS0wMS0wNiAyMjo1MTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzdCB0ZXN0IGhlYWRlcnMgZm9yIGFtciBhbmQgYWFjIHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXN0IHRlc3QgaGVhZGVycyBmb3IgYW1yIGFuZCBhYWMgcGFyc2Vycy4KCSAgUmVtb3ZlIGxlZnRvdmVyIGxpbmVzIG1lbnRpb25lZCBzcGVleHJlc2FtcGxlIHRlc3RzLgoKMjAwOS0wMS0wNiAyMjozNTo1MCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbTogRml4IHR5cG8gaW4gdGhlIG9wcG9zaXRlIHdheSB0byBnaXZlIHRoZSBwbHVnaW4gYSBzZW5zaWJsZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBGaXggdHlwbyBpbiB0aGUgb3Bwb3NpdGUgd2F5IHRvIGdpdmUgdGhlIHBsdWdpbiBhIHNlbnNpYmxlIG5hbWUuCgoyMDA5LTAxLTA2IDIyOjE2OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIHRoZSBtYWtlZmlsZSB0YXJnZXQgcHJldmVudGluZyBkaXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBGaXggdHlwbyBpbiB0aGUgbWFrZWZpbGUgdGFyZ2V0IHByZXZlbnRpbmcgZGlzdGluZy4KCjIwMDktMDEtMDUgMjM6MDM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIEFwcFNyYy9BcHBTaW5rIHRoYXQgYXJlIG1vdmluZyB0byAtYmFzZS4gUGFydGlhbGx5IGZpeGVzICM1NjQ0MjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgUmVtb3ZlIEFwcFNyYy9BcHBTaW5rIHRoYXQgYXJlIG1vdmluZyB0byAtYmFzZS4gUGFydGlhbGx5IGZpeGVzCgkgICM1NjQ0MjEKCjIwMDktMDEtMDUgMTc6NDE6NTEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogR3VhcmQgaW50ZXJ2YWwgaXMgNCBpZiBkZXNjcmlwdG9yIHBhcnQgc2hvd3MgYmluYXJ5IDExICgzIG5vdCA0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEd1YXJkIGludGVydmFsIGlzIDQgaWYgZGVzY3JpcHRvciBwYXJ0IHNob3dzIGJpbmFyeSAxMSAoMyBub3QgNCkuCgoyMDA5LTAxLTA1IDE3OjMwOjU1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOiBGaXggdXAgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIEZpeCB1cCBzYXRlbGxpdGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlZnMuCgoyMDA5LTAxLTA1IDE3OjI2OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOiBGaXggdXAgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBGaXggdXAgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgZGVmcy4KCSAgVGhleSBzaG91bGQgYmUgc2hpZnRlZCBvdGhlcndpc2Ugd3JvbmcgdmFsdWVzIGFyZSBzZWVuLgoKMjAwOS0wMS0wNSAxMzo0MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86ICJHZW5lcmF0aW9uIFVJRCIgYW5kICJUaGlzIEdlbmVyYXRpb24gVUlEIiBhcmUgZGlmZmVyZW50IHNvIGhhbmRsZSB0aGVtIGRpZmZlcmVudC4gQWxzbyBib3RoIGFyZSBub3QgcGFydCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgIkdlbmVyYXRpb24gVUlEIiBhbmQgIlRoaXMgR2VuZXJhdGlvbiBVSUQiIGFyZSBkaWZmZXJlbnQgc28gaGFuZGxlCgkgIHRoZW0gZGlmZmVyZW50LiBBbHNvIGJvdGggYXJlIG5vdCBwYXJ0IG9mIGV2ZXJ5IG1ldGFkYXRhIHR5cGUuCgoyMDA5LTAxLTA1IDEyOjM0OjE4ICswMDAwICBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEZpeCBjb2xvciBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIDI0YnBwLiBGaXhlcyBidWcgIzU2NjYxMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTYXNjaGEgSGF1ZXIgPHMgZG90IGhhdWVyIGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiAoZ2V0X3BpeF9vZmZzZXQpLAoJICAoZ3N0X2JheWVyMnJnYl9zZXRfY2Fwcyk6CgkgIEZpeCBjb2xvciBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIDI0YnBwLiBGaXhlcyBidWcgIzU2NjYxMy4KCjIwMDktMDEtMDUgMTE6Mjg6NDkgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC86IEltcHJvdmUgbXV4aW5nIG9mIEFDMy9oMjY0IHN0cmVhbXMgYSBiaXQuIEZpeGVzIGJ1ZyAjNTUwNjEzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X3dyaXRlX3BtdCk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fd3JpdGVfcGVzX2hlYWRlciksICh0c211eF9zdHJlYW1fZ2V0X2VzX2Rlc2Nycyk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBJbXByb3ZlIG11eGluZyBvZiBBQzMvaDI2NCBzdHJlYW1zIGEgYml0LiBGaXhlcyBidWcgIzU1MDYxMy4KCjIwMDktMDEtMDUgMTA6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogRG9uJ3QgYWxsb3cgbmVnYXRpdmUgb3IgemVybyBlZGl0IHJhdGVzIHRvIHByZXZlbnQgZGl2aXNpb24gYnkgemVybyBhbmQgd2Ugc3VwcG9ydCBuZWdhdGl2ZSBlZGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfbmV4dF9jb21wb25lbnQpOgoJICBEb24ndCBhbGxvdyBuZWdhdGl2ZSBvciB6ZXJvIGVkaXQgcmF0ZXMgdG8gcHJldmVudCBkaXZpc2lvbgoJICBieSB6ZXJvIGFuZCB3ZSBzdXBwb3J0IG5lZ2F0aXZlIGVkaXQgcmF0ZXMgYW55d2F5LgoKMjAwOS0wMS0wNSAxMDoyODo1OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IFVzZSBoeXBoZW4gaW4gcHJvcGVydHkgbmFtZSwgcGVyZm9ybSBzYWZldHkgYnVmZmVyIHNpemUgY2hlY2sgcHJpb3IgdG8gbWVtIGFjY2VzcywgYW5kIHNvbWUgbW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIFVzZSBoeXBoZW4gaW4gcHJvcGVydHkgbmFtZSwgcGVyZm9ybSBzYWZldHkgYnVmZmVyIHNpemUgY2hlY2sKCSAgcHJpb3IgdG8gbWVtIGFjY2VzcywgYW5kIHNvbWUgbW9yZSBwYXJlbnRoZXNlcyBpbiBtYWNyby4KCjIwMDktMDEtMDUgMTA6MjI6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfYWRkX3RvX2hhc2hfdGFibGUpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQuCgoyMDA5LTAxLTA1IDEwOjAwOjIxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQWxzbyBtZW50aW9uIGpwMmtlbmMgYXMgYSBqcDJrIHBsdWdpbiBmZWF0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsc28gbWVudGlvbiBqcDJrZW5jIGFzIGEganAyayBwbHVnaW4gZmVhdHVyZS4KCjIwMDktMDEtMDQgMTE6MTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCBzb21lIG1lbW9yeSBsZWFrcy4gRml4ZXMgYnVnICM1NjYzNTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiAoZHZiX2Jhc2VfYmluX2luaXQpLAoJICAoZHZiX2Jhc2VfYmluX2ZpbmFsaXplKSwgKGR2Yl9iYXNlX2Jpbl9hY3RpdmF0ZV9wcm9ncmFtKSwKCSAgKGR2Yl9iYXNlX2Jpbl9wbXRfaW5mb19jYiksIChkdmJfYmFzZV9iaW5fcGFkX2FkZGVkX2NiKSwKCSAgKGR2Yl9iYXNlX2Jpbl9wcm9ncmFtX2Rlc3Ryb3kpOgoJICBGaXggc29tZSBtZW1vcnkgbGVha3MuIEZpeGVzIGJ1ZyAjNTY2MzU2LgoKMjAwOS0wMS0wMiAxNzo0MDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0Y2Fwc19zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZQoJICBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoKMjAwOS0wMS0wMiAxNjo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgoyMDA5LTAxLTAyIDExOjAwOjE3ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbTogTW92ZSAtbGdjcnlwdG8gZnJvbSBfTERGTEFHUyB0byBfTElCQURELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIE1vdmUgLWxnY3J5cHRvIGZyb20gX0xERkxBR1MgdG8gX0xJQkFERC4KCjIwMDktMDEtMDIgMDE6NDQ6MTEgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOiBMaW5rIGFnYWluc3QgLWxnY3JweXRvIGZvciBSU0FfbmV3IGFuZCBSU0FfZnJlZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgLWxnY3JweXRvIGZvciBSU0FfbmV3IGFuZCBSU0FfZnJlZS4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA5LTAxLTAyIDAxOjEyOjM1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IEluaXRpYWxpemUgc2NyX3JhdGVfbiBhbmQgc2NyX3JhdGVfZCBpbiBvcmRlciB0byBmaXggY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIEluaXRpYWxpemUgc2NyX3JhdGVfbiBhbmQgc2NyX3JhdGVfZCBpbiBvcmRlciB0byBmaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTEyLTMxIDA4OjUzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgT1AyYS9iL2MgYW5kIE9QM2EvYi9jLCBpLmUuIHRyYWNrcyB3aXRoIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21wb25lbnQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX25leHRfY29tcG9uZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZ2YzMuYzogKG14Zl92YzNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9zaW5rX2NoYWluKToKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIE9QMmEvYi9jIGFuZCBPUDNhL2IvYywgaS5lLiB0cmFja3Mgd2l0aAoJICBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcG9uZW50LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGZvcgoJICB0aGUgY2FzZSB3aGVyZSB0aGUgY29tcG9uZW50cyBhcmUgc3RvcmVkIGluIHBsYXliYWNrIG9yZGVyCgkgIGluIHRoZSBmaWxlLgoJICBTZXQgc29tZSBtb3JlIGRlZmF1bHQvZGlzdGluZ3Vpc2hlZCB2YWx1ZXMgZm9yIHRoZSBzdHJ1Y3R1cmFsCgkgIG1ldGFkYXRhLgoJICBNYWtlIHNvbWUgdHlwZXMgbW9yZSBzdHJpY3QgYnkgY2hvb3NpbmcgdGhlIGNvcnJlY3Qgc3ViY2xhc3Nlcy4KCSAgU2V0IERJU0NPTlQgZmxhZyBvbiBidWZmZXJzIGFmdGVyIGEgY29tcG9uZW50IHN3aXRjaC4KCSAgVGFrZSB0aGUgbGFzdCBwYXJ0aXRpb24gZnJvbSB0aGUgcmFuZG9tIGluZGV4IHBhY2sgZm9yIHRoZSBmb290ZXIKCSAgcGFydGl0aW9uIG9mIHRoZSBoZWFkZXIgcGFydGl0aW9uIGRvZXNuJ3QgcmVmZXJlbmNlIHRoZSBmb290ZXIKCSAgcGFydGl0aW9uLiBUaGlzIGdpdmVzIHVzIHRoZSBmaW5hbCBzdHJ1Y3R1cmFsIG1ldGFkYXRhIGZvcgoJICBzb21lIG1vcmUgZmlsZXMgaW4gdGhlIGJlZ2lubmluZy4KCjIwMDgtMTItMjkgMTg6MjI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBVc2UgdGhlIGFkanVzdGVkIFNDUiBmb3IgY2FsY3VsYXRpbmcgdGhlIG11eCByYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgIFVzZSB0aGUgYWRqdXN0ZWQgU0NSIGZvciBjYWxjdWxhdGluZyB0aGUgbXV4IHJhdGUuCgkgIERvbid0IHVwZGF0ZSB0aGUgcmF0ZSBlc3RpbWF0aW9uIGFmdGVyIGEgZGlzY29udC4KCjIwMDgtMTItMjkgMTc6NTU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC4qOiBUaGUgcG9zaXRpb24gbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50IGNvcnJlc3BvbmRzIHRvIHRoZSBzdHJlYW1fdGltZSBvZiB0aGUgc2VnbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIFRoZSBwb3NpdGlvbiBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQgY29ycmVzcG9uZHMgdG8gdGhlCgkgIHN0cmVhbV90aW1lIG9mIHRoZSBzZWdtZW50IHN0YXJ0IHBvc2l0aW9uLgoKMjAwOC0xMi0yOSAxNzozMDowMyArMDAwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogQ29udmVydGluZyBmcm9tIHRpbWUgdG8gYnl0ZXMgb3BlcmF0ZXMgb24gdGhlIHN0cmVhbV90aW1lLCBub3QgdGhlIFNDUiB0aW1lbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2JpbiBTdG9ja2VyIDxyb2JpbiBhdCBuaWJvciBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgQ29udmVydGluZyBmcm9tIHRpbWUgdG8gYnl0ZXMgb3BlcmF0ZXMgb24gdGhlIHN0cmVhbV90aW1lLCBub3QgdGhlIFNDUgoJICB0aW1lbGluZS4KCSAgVGhlIHBvc2l0aW9uIHJlcG9ydGluZyBzaG91bGQgaGFwcGVuIGluIHN0cmVhbV90aW1lLCBub3QgdGhlIHNlZ21lbnQKCSAgdGltZXN0YW1wIHJhbmdlLiBTZWUgIzU1NzE2MS4KCjIwMDgtMTItMjkgMTY6NDU6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBBZGQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0byBjb25maWd1cmUgYW5kIHJldHJpZXZlIHRoZSBtaW4gYW5kIG1heCBsYXRlbmNpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19xdWVyeSksCgkgIChnc3RfYXBwX3NyY19zZXRfbGF0ZW5jaWVzKSwgKGdzdF9hcHBfc3JjX3NldF9sYXRlbmN5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9sYXRlbmN5KSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2Z1bGwpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRvIGNvbmZpZ3VyZSBhbmQgcmV0cmlldmUgdGhlIG1pbiBhbmQgbWF4CgkgIGxhdGVuY2llcy4KCjIwMDgtMTItMjkgMTY6Mjk6MDggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNTY1NjE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2VpdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNTY1NjE0LgoKMjAwOC0xMi0yOSAxNjoxODo0NyArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGEgc2NyYW1ibGVkIGZpZWxkIHRvIHRoZSBzZXJ2aWNlIHN0cnVjdHVyZXMgcmV0cmlldmVkIGZyb20gU0RUIHRvIGRldGVybWluZSBpZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9zZHQpOgoJICBBZGQgYSBzY3JhbWJsZWQgZmllbGQgdG8gdGhlIHNlcnZpY2Ugc3RydWN0dXJlcyByZXRyaWV2ZWQgZnJvbSBTRFQgdG8KCSAgZGV0ZXJtaW5lIGlmIGEgY2hhbm5lbCBpcyBzY3JhbWJsZWQuIEZpeGVzICM1NjU2MTMuCgoyMDA4LTEyLTI5IDE1OjU0OjQ0ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgZ3N0L3BjYXBwYXJzZS86IFBhdGNoIHRvIG1ha2UgZ3N0cGNhcHBhcnNlIGNvbXBpbGUgd2l0aCBtaW5ndzMyIGdjYy4gRml4ZXMgIzU2NTQzOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBQYXRjaCB0byBtYWtlIGdzdHBjYXBwYXJzZSBjb21waWxlIHdpdGggbWluZ3czMiBnY2MuIEZpeGVzICM1NjU0MzkuCgoyMDA4LTEyLTI5IDE1OjQ5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZ2l1cmUgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgIEZpeGVzICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE1OjIxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuIHRoZSBTU1JDIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbgoJICB0aGUgU1NSQyBhY3R1YWxseSBjaGFuZ2VkLiBTZWUgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTQ6MjE6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuKjogV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsIGFzc3VtZSB0aGUgY2xvY2stcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLAoJICBhc3N1bWUgdGhlIGNsb2NrLXJhdGUgY29ycmVzcG9uZHMgdG8gdGhlIGZpcnN0IHBheWxvYWQgdHlwZSBmb3VuZCBpbiB0aGUKCSAgUlRQIHBhY2tldHMuIEZpeGVzICM1NjU1MDkuCgoyMDA4LTEyLTIzIDE2OjMyOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogV2l0aCBjb25zdGFudCByZWFkIGZhaWx1cmVzLCBtYWtlIHN1cmUgd2UgZXhpdCB0aGUgcmVhZF9kZXZpY2UgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBXaXRoIGNvbnN0YW50IHJlYWQgZmFpbHVyZXMsIG1ha2Ugc3VyZSB3ZSBleGl0IHRoZSByZWFkX2RldmljZQoJICBtZXRob2QuCgoyMDA4LTEyLTIzIDE1OjI2OjMwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUG9zdCBidXMgbWVzc2FnZSB3aXRoIGR2YiByZWFkIGZhaWx1cmUgd2hlbiB1bmFibGUgdG8gcmVhZCBmcm9tIGRldmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUG9zdCBidXMgbWVzc2FnZSB3aXRoIGR2YiByZWFkIGZhaWx1cmUgd2hlbiB1bmFibGUgdG8gcmVhZCBmcm9tCgkgIGRldmljZS4KCjIwMDgtMTItMjMgMTI6MjU6NDcgKzAwMDAgIEx1b3RhbyBGdSA8bC5mdUBwZW5ndXRyb25peC5kZT4KCgkgIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogRml4IHRoZSBEZXB0aCBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2dldGNhcHMpOgoJICBGaXggdGhlIERlcHRoIGNhbGN1bGF0aW9uLgoJICBGaXhlcyAjNTY0MTE0LgoKMjAwOC0xMi0yMyAxMTozOTo1OSArMDAwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZSB0aW1lLiAgVGltZXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUKCSAgdGltZS4gIFRpbWVzdGFtcHMgY2FuIG9ubHkgZ28gZm9yd2FyZCBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIKCSAgc2lkZSwgY2FuIG9ubHkgZ28gYmFjayBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIgc2lkZSwgYW5kIHJlbWFpbiB0aGUKCSAgc2FtZSBpZiB0aGV5IHJlbWFpbiB0aGUgc2FtZSBhdCB0aGUgc2VuZGVyIHNpZGUuIEZpeGVzICM1NjUzMTkuCgoyMDA4LTEyLTIyIDIwOjU2OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1wZWcuYzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgaC4yNjQgdmlkZW8gKFNNUFRFIFJQMjAwOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBoLjI2NCB2aWRlbyAoU01QVEUgUlAyMDA4KS4KCjIwMDgtMTItMjIgMjA6Mzc6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbWV0YWRhdGEuKjogSWYgcmVzb2x2aW5nIGEgbWV0YWRhdGEgb2JqZWN0IGZhaWxlZCB0aGUgZmlyc3QgdGltZSByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBJZiByZXNvbHZpbmcgYSBtZXRhZGF0YSBvYmplY3QgZmFpbGVkIHRoZSBmaXJzdCB0aW1lIHJldHVybgoJICBGQUxTRSBmb3IgYSBzZWNvbmQgbXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSgpIGNhbGwgaW5zdGVhZAoJICBvZiBUUlVFLgoKMjAwOC0xMi0yMiAxMDoxNDozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENsZWFudXAgb2YgdGhlIGluY2x1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zi5jOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6CgkgICogZ3N0L214Zi9teGZkbXMxLmM6CgkgICogZ3N0L214Zi9teGZkbXMxLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBDbGVhbnVwIG9mIHRoZSBpbmNsdWRlcy4KCjIwMDgtMTItMTkgMTg6NTM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMTItMTkgMTg6MzM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgoyMDA4LTEyLTE5IDEwOjA2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcygpIHRvIHNldCByYXRlIGFuZCBjaGFubmVscyBhbmQgdXNlIHRoaXMgZm9yIGFsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpOgoJICBBZGQgbXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKCkgdG8KCSAgc2V0IHJhdGUgYW5kIGNoYW5uZWxzIGFuZCB1c2UgdGhpcyBmb3IgYWxsIHNvdW5kIGVzc2VuY2UuCgkgIEdpdmUgc29tZSBkZWJ1ZyBvdXRwdXQgd2hlbiBzZXR0aW5nIHBpY3R1cmUgZXNzZW5jZSBjYXBzIHdpdGgKCSAgaW52YWxpZCBkZXNjcmlwdG9yIHZhbHVlcy4KCSAgRml4IGhlaWdodCBjYWxjdWxhdGlvbiBmcm9tIHRoZSBmcmFtZSBsYXlvdXQgYSBiaXQgbW9yZSBhbmQKCSAgYWRkIGEgVE9ETyB0byBjaGVjayBpZiBpdCdzIHJlYWxseSBjb3JyZWN0IG5vdyBvciBpZiBpdCBuZWVkcwoJICBtb3JlIGZpeGluZyAoZXNwZWNpYWxseSwgZG9lcyB0aGUgZnJhbWVyYXRlIG5lZWQgYWRqdXN0bWVudHM/KS4KCjIwMDgtMTItMTggMTc6NDk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgVkMtMyAoYWthIEROeEhEIGVzc2VuY2UsIHNlZSBTTVBURSAyMDE5LTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZ2YzMuYzogKG14Zl9pc192YzNfZXNzZW5jZV90cmFjayksCgkgIChteGZfdmMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3ZjM19jcmVhdGVfY2FwcyksCgkgIChteGZfdmMzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBWQy0zIChha2EgRE54SEQgZXNzZW5jZSwgc2VlIFNNUFRFIDIwMTktNCkuCgkgIFRoaXMgaXMgdW50ZXN0ZWQgYmVjYXVzZSBvZiBsYWNrIG9mIHNhbXBsZSBmaWxlcyBidXQgc2hvdWxkCgkgIHdvcmsgZmluZS4KCjIwMDgtMTItMTcgMTM6NTE6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgYXBwc3JjIGFuZCBhcHBzaW5rIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpOgoJICBBZGQgYXBwc3JjIGFuZCBhcHBzaW5rIGRvY3VtZW50YXRpb24uCgoyMDA4LTEyLTE3IDEyOjA2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEluIHB1c2ggbW9kZSBza2lwIHRoZSBydW4gaW4gYWdhaW4gaWYgd2UgZ2V0IGJ1ZmZlcnMgd2l0aCBhbiBvZmZzZXQgYmVmb3JlIHRoZSBydW4gaW4uIFRoaXMgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSBza2lwIHRoZSBydW4gaW4gYWdhaW4gaWYgd2UgZ2V0IGJ1ZmZlcnMgd2l0aAoJICBhbiBvZmZzZXQgYmVmb3JlIHRoZSBydW4gaW4uIFRoaXMgY2FuIGhhcHBlbiBvbiBzZWVrcyBmb3IgZXhhbXBsZS4KCjIwMDgtMTItMTYgMTY6MjY6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcwoJICB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoKMjAwOC0xMi0xNiAxMjo0NjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChteGZkZW11eF9zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMjozNzoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguKjogTWFrZSBzdXJlIHRoZSBtYWluIGxvb3AgaXMgYWxyZWFkeSBydW5uaW5nIHdoZW4gaGFuZGxpbmcgdGhlIEVPUyBldmVudCBpbiBwdWxsIG1vZGUuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfc2lua19ldmVudCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguaDoKCSAgTWFrZSBzdXJlIHRoZSBtYWluIGxvb3AgaXMgYWxyZWFkeSBydW5uaW5nIHdoZW4gaGFuZGxpbmcgdGhlIEVPUwoJICBldmVudCBpbiBwdWxsIG1vZGUuIFRoaXMgd29ya3MgYXJvdW5kIGEgcmFjZSBjb25kaXRpb24gdGhhdCBjYW4KCSAgaGFwcGVuIGlmIHRoZSBlbGVtZW50IGdvZXMgaW50byBQTEFZSU5HLCBoYW5kbGVzIGV2ZXJ5dGhpbmcgYW5kCgkgIHNlbmRzIEVPUyBiZWZvcmUgdGhlIG1haW4gbG9vcCBpcyBzdGFydGVkLgoKMjAwOC0xMi0xNiAxMjozMDozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBhbiBlc3NlbmNlIGVsZW1lbnQgaGFuZGxpbmcgcmVnaXN0cnkgYW5kIHVzZSB0aGlzIGluc3RlYWQgb2YgYW4gaGFyZGNvZGVkLCBsYXJnZSBpZi10aGVuLWVsc2UgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksCgkgIChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXNfYndmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hbGF3X2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kMTBfY3JlYXRlX2NhcHMpLAoJICAobXhmX2QxMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2R2X2RpZl9jcmVhdGVfY2FwcyksCgkgIChteGZfZHZfZGlmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9qcGVnMjAwMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfZXNzZW5jZV9lbGVtZW50X2hhbmRsZXJfcmVnaXN0ZXIpLAoJICAobXhmX2Vzc2VuY2VfZWxlbWVudF9oYW5kbGVyX2ZpbmQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksCgkgIChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdXBfcmdiYV9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfY3JlYXRlX2NhcHMpLCAobXhmX3VwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgSW1wbGVtZW50IGFuIGVzc2VuY2UgZWxlbWVudCBoYW5kbGluZyByZWdpc3RyeSBhbmQgdXNlIHRoaXMgaW5zdGVhZAoJICBvZiBhbiBoYXJkY29kZWQsIGxhcmdlIGlmLXRoZW4tZWxzZSBibG9jay4KCjIwMDgtMTItMTYgMTA6NTA6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQmxhY2tsaXN0IHJmYnNyYyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEJsYWNrbGlzdCByZmJzcmMgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgoyMDA4LTEyLTE2IDA5OjU5OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBwdXNoIGFuZCBwdWxsIG1vZGUgdW5pdCB0ZXN0IGZvciBteGZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9wYWRfYWRkZWQpLCAoX3NpbmtfY2hhaW4pLAoJICAoX3NpbmtfZXZlbnQpLCAoX2NyZWF0ZV9zaW5rX3BhZCksIChfY3JlYXRlX3NyY19wYWRfcHVzaCksCgkgIChfc3JjX2dldHJhbmdlKSwgKF9zcmNfcXVlcnkpLCAoX2NyZWF0ZV9zcmNfcGFkX3B1bGwpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobXhmZGVtdXhfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lmg6CgkgIEFkZCBwdXNoIGFuZCBwdWxsIG1vZGUgdW5pdCB0ZXN0IGZvciBteGZkZW11eC4KCjIwMDgtMTItMTYgMDg6MzU6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBNWEYgcGx1Z2luIGFuZCBteGZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE1YRiBwbHVnaW4gYW5kIG14ZmRlbXV4LgoKMjAwOC0xMi0xNiAwODoyMToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJlbmFtZSBNWEZNZXRhZGF0YUJhc2UgbWV0aG9kcyB0byByZWZsZWN0IHRoYXQgdGhleSBiZWxvbmcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZV9kZWZhdWx0KSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2NsYXNzX2luaXQpLCAobXhmX21ldGFkYXRhX2Jhc2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfbmV3KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc29sdmUpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgUmVuYW1lIE1YRk1ldGFkYXRhQmFzZSBtZXRob2RzIHRvIHJlZmxlY3QgdGhhdCB0aGV5IGJlbG9uZyB0bwoJICBNWEZNZXRhZGF0YUJhc2UgYW5kIG5vdCBNWEZNZXRhZGF0YS4KCjIwMDgtMTItMTUgMTg6MTI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZXR1cm4gRkFMU0Ugd2hlbiBwYXJzaW5nIGEgbWV0YWRhdGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgIFJldHVybiBGQUxTRSB3aGVuIHBhcnNpbmcgYSBtZXRhZGF0YSB0YWcgZmFpbGVkLgoJICBSZW1vdmUgc29tZSB1c2VsZXNzIHJldHVybiB2YWx1ZSBhc3NpZ25tZW50cy4KCjIwMDgtMTItMTUgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRvIEdzdE1pbmlPYmplY3RzIHRvIG1ha2UgYSBsb3Qgb2YgY29kZSBlYXNpZXIgYW5kIHRvIG1ha2UgZXZlcnl0aGluZyBiZXR0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXNfYndmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19jcmVhdGVfY2FwcyksIChteGZfYWxhd19pbml0KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfY3JlYXRlX2NhcHMpLCAobXhmX2QxMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2ZpbmRfcGFja2FnZSksIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9jcmVhdGVfY2FwcyksIChteGZfZHZfZGlmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKSwgKG14Zl9qcGVnMjAwMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfaGFuZGxlX3RhZyksIChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2luaXQpLCAobXhmX21ldGFkYXRhX2Jhc2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcGFyc2UpLCAobXhmX21ldGFkYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLCAobXhmX21ldGFkYXRhX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2luaXQpLCAobXhmX21ldGFkYXRhX2luaXRfdHlwZXMpLAoJICAobXhmX21ldGFkYXRhX3JlZ2lzdGVyKSwgKG14Zl9tZXRhZGF0YV9uZXcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfZmluYWxpemUpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2ZpbmFsaXplKSwgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19pZGVudGlmaWVyX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdGF0aWNfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RhdGljX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfaW5pdCksIChteGZfbWV0YWRhdGFfbG9jYXRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX2FkZF90b19oYXNoX3RhYmxlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwgKG14Zl91cF9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRvIEdzdE1pbmlPYmplY3RzIHRvIG1ha2UgYSBsb3Qgb2YKCSAgY29kZSBlYXNpZXIgYW5kIHRvIG1ha2UgZXZlcnl0aGluZyBiZXR0ZXIgZXh0ZW5zaWJsZS4KCSAgQWRkIGEgInJlZ2lzdHJ5IiBmb3IgbWV0YWRhdGEgaGFuZGxlcnMgdG8gaW1wcm92ZSBleHRlbnNpYmlsaXR5IGV2ZW4KCSAgbW9yZSBhbmQgdG8gcmVtb3ZlIG1ldGFkYXRhIHR5cGUgc3BlY2lmaWNzIGZyb20gbXhmZGVtdXguCgkgIENsZWFuIHVwIGEgbG90IG9mIHBhcnRzIGFuZCBhZGQgc29tZSBtb3JlIE5VTEwgY2hlY2tzLgoKMjAwOC0xMi0xNSAxNTo1NjoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggZGVmYXVsdCBmb3Igb3V0cHV0Zm9ybWF0IHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIEZpeCBkZWZhdWx0IGZvciBvdXRwdXRmb3JtYXQgcHJvcGVydHkuCgoyMDA4LTEyLTE1IDEyOjAyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogRml4IGV4YW1wbGUgdG8gdW5yZWYgYWZ0ZXIgZW1pdGluZyB0aGUgcHVzaC1idWZmZXIgYWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6IChmZWVkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzogKGZlZWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKHJlYWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6IChmZWVkX2RhdGEpOgoJICBGaXggZXhhbXBsZSB0byB1bnJlZiBhZnRlciBlbWl0aW5nIHRoZSBwdXNoLWJ1ZmZlciBhY3Rpb24uCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfZnVsbCksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9hY3Rpb24pOgoJICBEb24ndCB0YWtlIHRoZSByZWYgb24gdGhlIGJ1ZmZlciBpbiBwdXNoLWJ1ZmZlciBhY3Rpb24gYmVjYXVzZSBpdCdzIHRvbwoJICBhd2t3YXJkIGZvciBiaW5kaW5ncy4gRml4ZXMgIzU2NDQ4Mi4KCjIwMDgtMTItMTMgMTY6MjY6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogTW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCB3aXRoIGdldHRleHQgMC4xNyBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgTW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCB3aXRoIGdldHRleHQgMC4xNyBhbnltb3JlLgoKMjAwOC0xMi0xMyAxMzowMDoxMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93IHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdwoJICByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0IG9mIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA4LTEyLTEzIDA4OjA2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEFkZCBhIGdlbmVyaWMgaGFuZGxlciBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEgc28gd2UgY2FuIGdldCBzb21lIGRlYnVnIG91dHB1dCBhbmQgbGV0IHVzZXJzIGZpbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZGVzY3JpcHRpdmVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgIEFkZCBhIGdlbmVyaWMgaGFuZGxlciBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEgc28gd2UgY2FuIGdldCBzb21lCgkgIGRlYnVnIG91dHB1dCBhbmQgbGV0IHVzZXJzIGZpbGUgYnVncyBmb3IgdW5zdXBwb3J0IGRlc2NyaXB0aXZlCgkgIG1ldGFkYXRhIHNjaGVtZXMuCgoyMDA4LTEyLTEyIDEwOjI5OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogTWFqb3IgdXBkYXRlIG9mIHRoZSBUT0RPIGxpc3RzLiBUaGVyZSdzIHN0aWxsIG11Y2ggdG8gZG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAqIGdzdC9teGYvbXhmdXAuYzoKCSAgTWFqb3IgdXBkYXRlIG9mIHRoZSBUT0RPIGxpc3RzLiBUaGVyZSdzIHN0aWxsIG11Y2ggdG8gZG8uCgoyMDA4LTEyLTExIDE0OjM1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgRXZlbnQgVHJhY2tzLCBTdGF0aWMgVHJhY2tzLCBETSBTZWdtZW50cyBhbmQgRE0gU291cmNlIENsaXBzIGFzIGEgcHJlcGFyYXRpb24gZm9yIGRlc2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfdHJhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIEV2ZW50IFRyYWNrcywgU3RhdGljIFRyYWNrcywgRE0gU2VnbWVudHMKCSAgYW5kIERNIFNvdXJjZSBDbGlwcyBhcyBhIHByZXBhcmF0aW9uIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YQoJICBzdXBwb3J0LiBOZXh0IHN0ZXAgaXMgdG8gaW1wbGVtZW50IFNNUFRFIFMzODBNLCAiRGVzY3JpcHRpdmUKCSAgTWV0YWRhdGEgU2NoZW1lLTEiLgoKMjAwOC0xMi0wOSAxMzo0NDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZqcGVnMjAwMC5jOiBJbXBsZW1lbnQgZGV0ZWN0aW9uIG9mIHRoZSBjb2xvcnNwYWNlIHVzZWQgYnkgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIEltcGxlbWVudCBkZXRlY3Rpb24gb2YgdGhlIGNvbG9yc3BhY2UgdXNlZCBieSB0aGUKCSAgSlBFRzIwMDAgY29kZXN0cmVhbS4gWFlaIGNvbG9yc3BhY2UgaXNuJ3Qgc3VwcG9ydGVkIGJ5CgkgIG91ciBkZWNvZGVycyB5ZXQgdW5mb3J0dW5hdGVseS4KCjIwMDgtMTItMDggMTU6NDY6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogQWxsIGZyYW1lIGxheW91dCB2YWx1ZXMgZXhjZXB0IDAgYXJlIGZvciBpbnRlcmxhY2VkIHZpZGVvLCBub3Qgb25seSAxIGFuZCAyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIEFsbCBmcmFtZSBsYXlvdXQgdmFsdWVzIGV4Y2VwdCAwIGFyZSBmb3IgaW50ZXJsYWNlZCB2aWRlbywKCSAgbm90IG9ubHkgMSBhbmQgMi4KCjIwMDgtMTItMDggMTU6Mjg6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgImZpbmFsIiBtZXRhZGF0YSwgYnJva2VuIGZpbGVzIGhhdmUgdXBkYXRlZCBtZXRhZGF0YSBpbiBmb2xsb3dpbmcgcGFydGl0aW9ucyBldmVuIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3ByaW1lcl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3ByZWZhY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgImZpbmFsIiBtZXRhZGF0YSwgYnJva2VuIGZpbGVzIGhhdmUgdXBkYXRlZAoJICBtZXRhZGF0YSBpbiBmb2xsb3dpbmcgcGFydGl0aW9ucyBldmVuIGlmIHRoZSBjdXJyZW50IHBhcnRpdGlvbgoJICBpcyBjbG9zZWQgYW5kIGNvbXBsZXRlLgoJICBJZiB0aGVyZSdzIGEgc2Vjb25kIHByaW1lciBwYWNrIGluc2lkZSBhIHBhcnRpdGlvbiBpZ25vcmUgdGhlIHNlY29uZAoJICBvbmUgaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvci4KCSAgU3RvcmUgdGhlIHR5cGUgb2YgYSB0cmFjayAoYXVkaW8sIHZpZGVvLCB0aW1lc3RhbXAsIC4uLikgaW5zaWRlIHRoZQoJICB0cmFjayBzdHJ1Y3QuCgkgIFBvc3Qgbm8tbW9yZS1wYWRzIG9ubHkgb25jZSBmb3IgYSBzdHJlYW0gYW5kIG5vdCBhIHNlY29uZCB0aW1lCgkgIHdoZW4gc3dpdGNoaW5nIHRoZSBjdXJyZW50bHkgcGxheWluZyBwYWNrYWdlLgoJICBXaGVuIHVwZGF0aW5nIGFsbCBzdHJlYW1zIG1ha2Ugc3VyZSB0aGF0IHdlIGNvdWxkIHNlbGVjdCBhbmQgZmluZAoJICBhIHBhY2thZ2UgaW5zdGVhZCBvZiBkZXJlZmVyZW5jaW5nIE5VTEwuCgkgIEFsbG93IGRlc2NyaXB0aXZlIG1ldGFkYXRhIGluc2lkZSBtZXRhZGF0YSBwYXJ0cyBvZiBhIGZpbGUgd2hlbgoJICBwdWxsaW5nIHRoZSBmb290ZXIgbWV0YWRhdGEgdG9vLgoJICBPbmx5IHN3aXRjaCB0aGUgY3VycmVudGx5IHBsYXlpbmcgcGFja2FnZSBpZiBhIG5ldyBvbmUgd2FzIGNob3NlbgoJICBhbmQgdGhlIG1ldGFkYXRhIGlzIGluIGEgcmVzb2x2ZWQgc3RhdGUuIElmIHRoZSBsYXR0ZXIgaXNuJ3QgdHJ1ZQoJICBwb3N0cG9uZSB0aGUgc3dpdGNoIHVudGlsIHRoZSBtZXRhZGF0YSBpcyByZXNvbHZlZC4KCSAgUHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIGRpcmVjdGx5IGFmdGVyIHBhcnNpbmcgdGhlIGhlYWRlciBwYXJ0aXRpb24KCSAgcGFjayBpZiBpdCdzIG5vdCBjbG9zZWQgb3Igbm90IGNvbXBsZXRlIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbAoJICB0aGUgbmV4dCBLTFYgcGFja2V0LgoKMjAwOC0xMi0wOCAxMzo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZ1cC5jOiBEb24ndCBjcmVhdGUgYSBzdWJidWZmZXIsIGluc3RlYWQganVzdCBjaGFuZ2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSBvZiB0aGUgaW5wdXQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgIERvbid0IGNyZWF0ZSBhIHN1YmJ1ZmZlciwgaW5zdGVhZCBqdXN0IGNoYW5nZSB0aGUgYnVmZmVyIG1ldGFkYXRhCgkgIG9mIHRoZSBpbnB1dCBidWZmZXIuCgoyMDA4LTEyLTA3IDIwOjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFJlbmFtZSBHc3RNWEZQYWQgdG8gR3N0TVhGRGVtdXhQYWQgdG8gcHJldmVudCBuYW1lIGNsYXNoZXMgd2l0aCB0aGUgR3N0TVhGTXV4UGFkIGluIHRoZSBtdXhlciAobGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYWRfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfY2xhc3NfaW5pdCksIChnc3RfbXhmX2RlbXV4X3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZCksIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKSwgKGdzdF9teGZfZGVtdXhfbG9vcCksCgkgIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbmFtZSBHc3RNWEZQYWQgdG8gR3N0TVhGRGVtdXhQYWQgdG8gcHJldmVudCBuYW1lIGNsYXNoZXMKCSAgd2l0aCB0aGUgR3N0TVhGTXV4UGFkIGluIHRoZSBtdXhlciAobGF0ZXIpLgoJICBQdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBvbmx5IGRpcmVjdGx5IGFmdGVyIHNraXBwaW5nIHRoZSBydW4KCSAgaW4gYW5kIGRvbid0IGFsbG9jYXRlIGFuIGFycmF5IGZvciBpdCBpZiBwYXJzaW5nIGl0IGZhaWxlZC4KCjIwMDgtMTItMDcgMTg6NTI6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZDEwLmM6IFVzZSB0aGUgbWFwcGluZyBkYXRhIGZvciBzdG9yaW5nIHRoZSBjaGFubmVsIGNvdW50IGFuZCB0aGUgd2lkdGggaW5zdGVhZCBvZiBwYXJzaW5nIGNhcHMgZm9yIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICBVc2UgdGhlIG1hcHBpbmcgZGF0YSBmb3Igc3RvcmluZyB0aGUgY2hhbm5lbCBjb3VudCBhbmQgdGhlCgkgIHdpZHRoIGluc3RlYWQgb2YgcGFyc2luZyBjYXBzIGZvciBldmVyeSBidWZmZXIuCgoyMDA4LTEyLTA3IDE4OjM5OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnVwLmM6IEhhbmRsZSB0aGUgaW1hZ2Ugc3RhcnQgYW5kIGVuZCBvZmZzZXRzLCBvdGhlcndpc2Ugd2Ugb3V0cHV0IHRvbyBsYXJnZSBpbWFnZSBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfdXBfcmdiYV9jcmVhdGVfY2Fwcyk6CgkgIEhhbmRsZSB0aGUgaW1hZ2Ugc3RhcnQgYW5kIGVuZCBvZmZzZXRzLCBvdGhlcndpc2Ugd2Ugb3V0cHV0CgkgIHRvbyBsYXJnZSBpbWFnZSBidWZmZXJzLgoKMjAwOC0xMi0wNyAxNzo1NzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtcGVnLmM6IFNldCBjb2RlYyBuYW1lIHRhZ3MgZm9yIHRoZSBNUEVHIGF1ZGlvIGVzc2VuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpOgoJICBTZXQgY29kZWMgbmFtZSB0YWdzIGZvciB0aGUgTVBFRyBhdWRpbyBlc3NlbmNlLgoKMjAwOC0xMi0wNyAxNzoxNjoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHVuY29tcHJlc3NlZCB2aWRlbyBlc3NlbmNlIChTTVBURSBTMzg0TSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHVuY29tcHJlc3NlZCB2aWRlbyBlc3NlbmNlIChTTVBURSBTMzg0TSkuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgIEZpeCBwYXJzaW5nIG9mIHRoZSBSR0JBIGRlc2NyaXB0b3IgYW5kIGFkZCBzdXBwb3J0IGZvciBwYXJzaW5nCgkgIHRoZSBwaXhlbCBsYXlvdXQuCgoyMDA4LTEyLTA2IDIwOjQ2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFRoZSBwcmV2aW91cyBwYXJ0aXRpb24gZmllbGQgb2YgdGhlIHBhcnRpdGlvbiBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gYW5kIG5vdCB0byB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpOgoJICBUaGUgcHJldmlvdXMgcGFydGl0aW9uIGZpZWxkIG9mIHRoZSBwYXJ0aXRpb24gaXMgcmVsYXRpdmUKCSAgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFuZCBub3QgdG8gdGhlIG9mZnNldCBvZiB0aGUgaGVhZGVyCgkgIHBhcnRpdGlvbi4KCjIwMDgtMTItMDYgMTk6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZDEwLmM6IERvY3VtZW50IGRlY29kaW5nIG9mIHRoZSBBRVMzIGRhdGEgYW5kIGFsc28gc2tpcCB0aGUgMzIgYml0IGhlYWRlciBpbiB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJ1ZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgRG9jdW1lbnQgZGVjb2Rpbmcgb2YgdGhlIEFFUzMgZGF0YSBhbmQgYWxzbyBza2lwIHRoZSAzMiBiaXQKCSAgaGVhZGVyIGluIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYnVmZmVyLCBvdGhlcndpc2Ugd2UgZ2V0CgkgIG9uZSBicm9rZW4gYXVkaW8gY2hhbm5lbC4KCjIwMDgtMTItMDUgMTI6MjY6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgZ2VuZXJpYyBkYXRhIGVzc2VuY2UgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgZ2VuZXJpYyBkYXRhIGVzc2VuY2UgZGVzY3JpcHRvci4KCjIwMDgtMTItMDUgMTA6MzI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogR2VuZXJhbGl6ZSBzb21lIGxpbmVzIG9mIGNvZGVzIHRoYXQgYXJlIG1vcmUgb3IgbGVzcyB0aGUgc2FtZSBieSBhIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgR2VuZXJhbGl6ZSBzb21lIGxpbmVzIG9mIGNvZGVzIHRoYXQgYXJlIG1vcmUgb3IgbGVzcyB0aGUgc2FtZQoJICBieSBhIG1hY3JvLgoKMjAwOC0xMi0wNCAyMDoxMToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZSB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZQoJICB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCjIwMDgtMTItMDQgMTk6NTA6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvIG91ciBNNCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvCgkgIG91ciBNNCBtYWNyb3MuCgoyMDA4LTEyLTA0IDE3OjUxOjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBFbnN1cmUgd2UgZW1pdCBub3RpZnk6OmFjdGl2ZS1wYWQgd2hlbiBhdXRvLXNlbGVjdGluZyBhIHBhZCBkdWUgdG8gaXQgaGF2aW5nIGFjdGl2aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgRW5zdXJlIHdlIGVtaXQgbm90aWZ5OjphY3RpdmUtcGFkIHdoZW4gYXV0by1zZWxlY3RpbmcgYSBwYWQKCSAgZHVlIHRvIGl0IGhhdmluZyBhY3Rpdml0eSBhbmQgdXMgbm90IGhhdmluZyBhbiBleGlzdGluZyBhY3RpdmUKCSAgcGFkLiBGaXhlcyAjNTYzMTQ3CgoyMDA4LTEyLTA0IDEzOjI4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ29kaW5nIHN0eWxlIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgQ29kaW5nIHN0eWxlIGZpeGVzLgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBNUEVHLCBBQzMsIERUUyBhdWRpby4KCjIwMDgtMTItMDQgMDk6MjY6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWdub3JlIHplcm8gc2l6ZWQgZXNzZW5jZSBlbGVtZW50cy4gVGhleSdyZSBvZnRlbiBpbnNlcnRlZCB0byBmdWxmaWxsIHRoZSBzdHJlYW1pbmcgcmVxdWlyZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBJZ25vcmUgemVybyBzaXplZCBlc3NlbmNlIGVsZW1lbnRzLiBUaGV5J3JlIG9mdGVuIGluc2VydGVkCgkgIHRvIGZ1bGZpbGwgdGhlIHN0cmVhbWluZyByZXF1aXJlbWVudHMuCgoyMDA4LTEyLTA0IDA4OjUwOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBoZWlnaHQvd2lkdGggYW5kIFBBUiBvZiB2aWRlbyBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIEZpeCBzZXR0aW5nIG9mIHRoZSBoZWlnaHQvd2lkdGggYW5kIFBBUiBvZiB2aWRlbyBzdHJlYW1zLgoKMjAwOC0xMi0wNCAwODozNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBTTVBURSBEMTAgZXNzZW5jZSAoU01QVEUgMzg2TSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICBBZGQgc3VwcG9ydCBmb3IgU01QVEUgRDEwIGVzc2VuY2UgKFNNUFRFIDM4Nk0pLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgRG9uJ3Qgc2V0IHdpZHRoL2hlaWdodCBhbmQgUEFSIG9uIHRoZSBjYXBzIGFzIHRob3NlIHZhbHVlcyBhcmUKCSAgd3JvbmcgZm9yIG1vc3QgZmlsZXMgKGhlaWdodCBpcyBzb21ldGltZXMgdGhlIGhlaWdodCBvZiBhIGZpZWxkCgkgIGFuZCBhc3BlY3QgcmF0aW8gaXMgc29tZSByYW5kb20gdmFsdWUpLgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2Fwcyk6CgkgIEZpeCBjYWxjdWxhdGlvbiBvZiBibG9jayBhbGlnbiBpZiBpdCBpc24ndCBzZXQgaW4gdGhlIGRlc2NyaXB0b3IuCgoyMDA4LTEyLTAzIDE2OjA4OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIEFFUzMgYXVkaW8gKFNNUFRFIDM4Mk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgQUVTMyBhdWRpbyAoU01QVEUgMzgyTSkuCgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUuCgoyMDA4LTEyLTAzIDEzOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMTItMDMgMTE6NDM6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpOgoJICBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0xMi0wMyAxMDoxNToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBSZW1vdmUgRklYTUUsIHplcm8tVUxzIGFuZCBVTUlEcyBhcmUgcmVhbGx5IGludmFsaWQgYW5kIHdlIGNhbiB1c2UgdGhlbSBhcyAidW5zZXQiIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIFJlbW92ZSBGSVhNRSwgemVyby1VTHMgYW5kIFVNSURzIGFyZSByZWFsbHkgaW52YWxpZCBhbmQgd2UgY2FuCgkgIHVzZSB0aGVtIGFzICJ1bnNldCIgdmFsdWUuCgoyMDA4LTEyLTAzIDA4OjA0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFVzZSBhIHNpbmdsZSAidHJhY2tfJXUiIHNyYyBwYWQgdGVtcGxhdGUgYW5kIHVzZSB0aGUgdHJhY2sgSUQgb2YgdGhlIHBsYXliYWNrIHBhY2thZ2UgZm9yIHRoZSBwYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGEgc2luZ2xlICJ0cmFja18ldSIgc3JjIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIHRoZSB0cmFjayBJRAoJICBvZiB0aGUgcGxheWJhY2sgcGFja2FnZSBmb3IgdGhlIHBhZCBuYW1lIGluc3RlYWQgb2YgdGhlIHRyYWNrIElECgkgIG9mIHRoZSBzb3VyY2UgcGFja2FnZSwgYXMgdGhlIGxhdHRlciBjb3VsZCBiZSB0aGUgc2FtZSBmb3IKCSAgbW9yZSB0aGFuIG9uZSB0cmFjayBpZiB0aGV5J3JlIGluIGRpZmZlcmVudCBwYWNrYWdlcy4KCjIwMDgtMTItMDIgMDY6MjE6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IFNvbWUgY29tcGlsZXJzIGNvbXBsYWluIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGU7IGFkZCBhIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IFNvbWUgY29tcGlsZXJzIGNvbXBsYWluIGFib3V0CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGU7IGFkZCBhIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCjIwMDgtMTItMDEgMTk6MzY6MzUgKzAwMDAgIOydtOusuO2YlSA8aXdpbmdzQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IERvbid0IGZvcmdldCB0byByZWxlYXNlIHRoZSBsb2NrIGFnYWluIGlmIHdlIGJhaWwgb3V0IGJlY2F1c2Ugc29tZSBwYWQgaXMgZmx1c2hpbmcgb3Igdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IOydtOusuO2YlSA8aXdpbmdzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgdGhlIGxvY2sgYWdhaW4gaWYgd2UgYmFpbCBvdXQgYmVjYXVzZSBzb21lCgkgIHBhZCBpcyBmbHVzaGluZyBvciB3ZSd2ZSByZWFjaGVkIEVPUywgb3RoZXJ3aXNlIHRoaW5ncyB3aWxsIGxvY2sgdXAKCSAgbmV4dCB0aW1lIF9wdXNoX2J1ZmZlcigpIGlzIGNhbGxlZCAoIzU2MjgwMikuCgoyMDA4LTEyLTAxIDE2OjM3OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9hdG9tcy5jOiBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOiAoYnVpbGRfanAyaF9leHRlbnNpb24pOgoJICBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgoyMDA4LTEyLTAxIDE1OjUwOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IFVzZSBuZXcgaW1hZ2UveC1qcGMgY2FwcyBmb3IgdGhlIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBVc2UgbmV3IGltYWdlL3gtanBjIGNhcHMgZm9yIHRoZSByYXcgSlBFRzIwMDAgY29kZXN0cmVhbS4KCSAgRm9yIG5vdyBhc3N1bWUgc1JHQiBhcyBjb2xvcnNwYWNlLCBoYXMgdG8gYmUgcmVhZCBmcm9tIHRoZSBkZXNjcmlwdG9yCgkgIHNvbWVob3cgbGF0ZXIuCgoyMDA4LTEyLTAxIDE1OjQ4OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanAyay86IEFkZCBpbWFnZS94LWpwYyBjYXBzIG5hbWUgZm9yIHJlYWwsIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtIGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogKGdzdF9qYXNwZXJfZW5jX3Jlc2V0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfamFzcGVyX2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X2phc3Blcl9lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9qYXNwZXJfZW5jX2dldF9kYXRhKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSAgQWRkIGltYWdlL3gtanBjIGNhcHMgbmFtZSBmb3IgcmVhbCwgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0gZGF0YS4KCSAgSW4gMC4xMSB3ZSBzaG91bGQgbWVyZ2UgaW1hZ2UveC1qMmMgYW5kIGltYWdlL3gtanBjIGFuZCBzaW1wbHkgZHJvcAoJICB0aGUgbm9uLXN0YW5kYXJkIGJveGluZyBpbiB0aGUgamFzcGVyIGVsZW1lbnRzIGFuZCBoYW5kbGUgaXQgaW4KCSAgcXRtdXgvcXRkZW11eC4KCSAgaW1hZ2UveC1qcGMgd2lsbCBiZSB1c2VkIGJ5IG14ZmRlbXV4IGxhdGVyLgoJICBBbHNvIGFkZCBzdXBwb3J0IGZvciBKUDIgb3V0cHV0IGluIGpwMmtlbmMuCgoyMDA4LTEyLTAxIDE1OjI0OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHRoZSBjb2RlYyBuYW1lLCBhbmQgaWYgcG9zc2libGUgdGhlIGF2ZyBiaXRyYXRlLCB0byB0aGUgcGFkJ3MgdGFnbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgdGhlIGNvZGVjIG5hbWUsIGFuZCBpZiBwb3NzaWJsZSB0aGUgYXZnIGJpdHJhdGUsIHRvIHRoZSBwYWQncyB0YWdsaXN0LgoKMjAwOC0xMi0wMSAxNDoyNToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZiB0aGUgcHJlZmFjZSByZWZlcmVuY2VzIGEgcHJpbWFyeSBwYWNrYWdlIHVzZSB0aGlzIGFzIHRoZSBkZWZhdWx0IHBsYXliYWNrIHBhY2thZ2UgdW5sZXNzIG9uZSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpOgoJICBJZiB0aGUgcHJlZmFjZSByZWZlcmVuY2VzIGEgcHJpbWFyeSBwYWNrYWdlIHVzZSB0aGlzIGFzIHRoZSBkZWZhdWx0CgkgIHBsYXliYWNrIHBhY2thZ2UgdW5sZXNzIG9uZSB3YXMgc3BlY2lmaWVkIGJ5IHRoZSAicGFja2FnZSIgcHJvcGVydHkuCgkgIElmIHRoZXJlJ3Mgbm8gcHJlZmFjZSBwcmltYXJ5IHBhY2thZ2Ugc3RpbGwgdHJ5IHRvIHVzZSB0aGUgZmlyc3QKCSAgbWF0ZXJpYWwgcGFja2FnZS4KCjIwMDgtMTEtMzAgMTc6NTg6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWYgdGhlcmUncyBubyBkZXNjcmlwdG9yIGZvciB0aGUgdHJhY2sgaW4gdGhlIHRyYWNrJ3Mgc291cmNlIHBhY2thZ2UgYW5kIHRoZXJlJ3MgYSBzaW5nbGUgZGVzY3JpcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgSWYgdGhlcmUncyBubyBkZXNjcmlwdG9yIGZvciB0aGUgdHJhY2sgaW4gdGhlIHRyYWNrJ3Mgc291cmNlCgkgIHBhY2thZ2UgYW5kIHRoZXJlJ3MgYSBzaW5nbGUgZGVzY3JpcHRvciB3aXRob3V0IGEgbGlua2VkIHRyYWNrCgkgIGFzc3VtZSB0aGF0IGl0IGJlbG9uZ3MgdG8gdGhpcyB0cmFjay4KCjIwMDgtMTEtMzAgMTc6NDI6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTb21lIHJhbmRvbSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLgoKMjAwOC0xMS0zMCAxNzoyNjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHRvcC1sZXZlbCBzb3VyY2UgcGFja2FnZSBvciBtYXRlcmlhbCBwYWNrYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWRzKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXQpLCAoZ3N0X214Zl9kZW11eF9maW5kX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXhmX2RlbXV4X2dldF9wcm9wZXJ0eSksIChnc3RfbXhmX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl91bWlkX2Zyb21fc3RyaW5nKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHRvcC1sZXZlbCBzb3VyY2UgcGFja2FnZSBvciBtYXRlcmlhbAoJICBwYWNrYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHBsYXliYWNrLgoKMjAwOC0xMS0zMCAxNjoyMTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBNYWtlIHN1cmUgdGhhdCBkZW11eC0+b2Zmc2V0IGhhcyB0aGUgY29ycmVjdCB2YWx1ZSBiZWZvcmUgY2FsbGluZyBhbnkgZ3N0X214Zl9kZW11eF9oYW5kbGVfKiBmdW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayk6CgkgIE1ha2Ugc3VyZSB0aGF0IGRlbXV4LT5vZmZzZXQgaGFzIHRoZSBjb3JyZWN0IHZhbHVlIGJlZm9yZQoJICBjYWxsaW5nIGFueSBnc3RfbXhmX2RlbXV4X2hhbmRsZV8qIGZ1bmN0aW9ucy4KCjIwMDgtMTEtMzAgMTQ6MTI6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTZXQgdGhlIGNvcnJlY3QgTVBFRyB2aWRlbyB2ZXJzaW9uIGlmIHBvc3NpYmxlIGFuZCBhZGQgc3VwcG9ydCBmb3IgTVBFRzQgdmlkZW8sIGluY2x1ZGluZyBjb2RlY19kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICBTZXQgdGhlIGNvcnJlY3QgTVBFRyB2aWRlbyB2ZXJzaW9uIGlmIHBvc3NpYmxlIGFuZCBhZGQgc3VwcG9ydAoJICBmb3IgTVBFRzQgdmlkZW8sIGluY2x1ZGluZyBjb2RlY19kYXRhLgoKMjAwOC0xMS0yOSAyMDoyNTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGVuY29kZWQgdmlkZW8gZXNzZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF92aWRlb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBKUEVHMjAwMCBlbmNvZGVkIHZpZGVvIGVzc2VuY2UuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBTZXQgdGhlIGZyYW1lcmF0ZSBpbiB0aGUgdmlkZW8gY2Fwcy4KCjIwMDgtMTEtMjkgMjA6MDc6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiBEb24ndCB1bnJlZiB0aGUgZWxlbWVudCBpbnN0YW5jZSBpZiB3ZSBkb24ndCBvd24gYSByZWZlcmVuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKToKCSAgRG9uJ3QgdW5yZWYgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaWYgd2UgZG9uJ3Qgb3duIGEgcmVmZXJlbmNlLgoKMjAwOC0xMS0yOSAxMzozMzozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3lnd2luIFBvcnRzIG1haW50YWluZXIKCSAgPHlzZWxrb3dpdHogYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbAoJICAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgc3RpbGwgd29yay4KCSAgRml4ZXMgYnVnICM1NTYwOTEuCgoyMDA4LTExLTI4IDE4OjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE9ubHkgdHJ5IHRvIHB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIGF0IHRoZSBlbmQgb2YgZmlsZSBvbmUgdGltZSBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgcGFja2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKToKCSAgT25seSB0cnkgdG8gcHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgYXQgdGhlIGVuZCBvZiBmaWxlIG9uZSB0aW1lCgkgIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBwYWNrZXQgaWYgaXQgZmFpbHMuCgoyMDA4LTExLTI4IDE4OjEzOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGVuY29kZWQgYXVkaW8gZXNzZW5jZSAoU01QVEUgMzg4TSBhbmQgMzgyTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2F1ZGlvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGVuY29kZWQgYXVkaW8gZXNzZW5jZSAoU01QVEUgMzg4TSBhbmQgMzgyTSkuCgoyMDA4LTExLTI4IDE0OjIyOjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDgtMTEtMjggMTE6MjQ6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cywgd2hpY2ggd2lsbCBsYXRlciBiZSB1c2VkIGZvciBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2luZGV4X3RhYmxlX3NlZ21lbnQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksCgkgIChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMsIHdoaWNoIHdpbGwgbGF0ZXIgYmUKCSAgdXNlZCBmb3Igc2Vla2luZy4KCjIwMDgtMTEtMjggMDk6NDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBhdWRpb3Jlc2FtcGxlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgZWxlbWVudCBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBVcGRhdGUgYXVkaW9yZXNhbXBsZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGVsZW1lbnQgbmFtZS4KCjIwMDgtMTEtMjggMDg6Mzc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQW5kIG5vdyBhbHNvIHVwZGF0ZSB0aGUgZGVidWcgY2F0ZWdvcnkgZnJvbSBhdWRpb3Jlc2FtcGxlIHRvIGxlZ2FjeXJlc2FtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIEFuZCBub3cgYWxzbyB1cGRhdGUgdGhlIGRlYnVnIGNhdGVnb3J5IGZyb20gYXVkaW9yZXNhbXBsZQoJICB0byBsZWdhY3lyZXNhbXBsZS4KCjIwMDgtMTEtMjcgMTk6Mjc6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSB0aGUgYnVpbGQgc3lzdGVtIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIHRoZSBidWlsZCBzeXN0ZW0gdG9vLgoKMjAwOC0xMS0yNyAxOToyMjo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIG9sZCBzcGVleHJlc2FtcGxlIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTQuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm01ZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2JmaW4uaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9kZWJ1Zy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGVfc3NlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzoKCSAgUmVtb3ZlIG9sZCBzcGVleHJlc2FtcGxlIGZpbGVzLgoKMjAwOC0xMS0yNyAxNzowNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOiBSZW1vdmUgb2xkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgUmVtb3ZlIG9sZCBmaWxlLgoKMjAwOC0xMS0yNyAxNzowNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDogQWRkIG1pc3NpbmcgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDgtMTEtMjcgMTY6NTg6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEludGVncmF0ZSB0aGUgbW92ZWQgYXVkaW9yZXNhbXBsZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gYW5kIHJlbmFtZSBpdCB0byBsZWdhY3lyZXNhbXBsZS4gRml4ZXMgYnVnICM1NTgxMjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIEludGVncmF0ZSB0aGUgbW92ZWQgYXVkaW9yZXNhbXBsZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gYW5kCgkgIHJlbmFtZSBpdCB0byBsZWdhY3lyZXNhbXBsZS4gRml4ZXMgYnVnICM1NTgxMjQuCgoyMDA4LTExLTI3IDE2OjI2OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIHJhbmRvbSBpbmRleCBwYWNrLCB3aGljaCBwcm92aWRlcyBhIHNlZWsgdGFibGUgKGluY2x1ZGluZyBib2R5IHNpZCkgdG8gdGhlIHN0YXJ0IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9yYW5kb21faW5kZXhfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spLCAoZ3N0X214Zl9kZW11eF9sb29wKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3JhbmRvbV9pbmRleF9wYWNrX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgcmFuZG9tIGluZGV4IHBhY2ssIHdoaWNoIHByb3ZpZGVzIGEgc2VlawoJICB0YWJsZSAoaW5jbHVkaW5nIGJvZHkgc2lkKSB0byB0aGUgc3RhcnQgb2YgcGFydGl0aW9uIHBhY2tzLgoJICBMYXRlciB0aGlzIHdpbGwgYmUgdXNlZCBmb3IgcmVhZGluZyBhbGwgaW5kZXggdGFibGUgc2VnbWVudHMgb2YKCSAgdGhlIGNvbXBsZXRlIGZpbGUgZWZmaWNpZW50bHkuCgoyMDA4LTExLTI3IDEwOjA5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGZ1bmRhbWVudGFsIHN1cHBvcnQgZm9yIERWLURJRiBlc3NlbmNlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2lzX2Rlc2NyaXB0aXZlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIEFkZCBmdW5kYW1lbnRhbCBzdXBwb3J0IGZvciBEVi1ESUYgZXNzZW5jZSBzdHJlYW1zLgoJICBIYW5kbGUgZGVzY3JpcHRpdmUgbWV0YWRhdGEgcGFja2V0cyBhcyBtZXRhZGF0YSBwYWNrZXRzLgoKMjAwOC0xMS0yNyAwODo0OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC4qOiBPbmx5IHRyeSB0byBwdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgb25jZSBhbmQgbm90IG9uIGV2ZXJ5IEtMViBwYWNrZXQgaWYgaXQgZmFpbGVkIGJlZm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIE9ubHkgdHJ5IHRvIHB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBvbmNlIGFuZCBub3Qgb24gZXZlcnkgS0xWIHBhY2tldAoJICBpZiBpdCBmYWlsZWQgYmVmb3JlLgoKMjAwOC0xMS0yNiAxMjo0MDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmIHRvIGl0IHdoZW4gYSBzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSk6CgkgIE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZgoJICB0byBpdCB3aGVuIGEgc2Vzc2lvbiBjbGVhbnVwIG9jY3VycyB3aGVuIHdlIGFyZSBlbWl0aW5nIGEgc2lnbmFsLgoJICBFbWl0IHRoZSBvbl9uZXdfc3NyYyBzaWduYWwgZm9yIHRoZSBDU1JDLCBub3QgdGhlIFNTUkMuCgkgIEZpeGVzICM1NjIzMTkuCgoyMDA4LTExLTI2IDEyOjAyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBGaXhlcyAjNTYyMzEyLgoKMjAwOC0xMS0yNiAxMTo0NDozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4gdGhlIG1ldGhvZCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbgoJICB0aGUgbWV0aG9kIGNhbGwuCgkgIEFkZCBzaWduYWwgdG8gcmVzZXQgc3luYyBwYXJhbWV0ZXJzLgoJICBBdm9pZCBwYXJzaW5nIHRoZSBjYXBzIHRvIGdldCBhIGNsb2NrX2Jhc2UsIHdlIGdldCB0aGlzIGZyb20gdGhlIHN5bmMKCSAgc2lnbmFsIG5vdy4KCjIwMDgtMTEtMjYgMTE6MzA6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogUHJvcGVybHkgY29tYmluZSBmbG93IHJldHVybnMgb2YgdGhlIHNvdXJjZSBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLCAoZ3N0X214Zl9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIFByb3Blcmx5IGNvbWJpbmUgZmxvdyByZXR1cm5zIG9mIHRoZSBzb3VyY2UgcGFkcy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIHJlc2V0IHBhZCBmaWVsZHMgdG9nZXRoZXIgd2l0aCB0aGUKCSAgbWV0YWRhdGEgdG8gcHJldmVudCBpbnZhbGlkIG1lbW9yeSByZWZlcmVuY2VzLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKToKCSAgRml4IHR5cG8uCgoyMDA4LTExLTI2IDEwOjM3OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogV2hlbiBtZW1zZXQnaW5nIHRoZSBkZXNjcmlwdG9ycyB0byB6ZXJvZXMgb25seSB0b3VjaCB0aGUgcGFydCBvZiB0aGlzIGRlc2NyaXB0b3IsIG5vdCBpdCdzIHBhcmVudCB0eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgV2hlbiBtZW1zZXQnaW5nIHRoZSBkZXNjcmlwdG9ycyB0byB6ZXJvZXMgb25seSB0b3VjaCB0aGUgcGFydAoJICBvZiB0aGlzIGRlc2NyaXB0b3IsIG5vdCBpdCdzIHBhcmVudCB0eXBlLgoJICBTZXQgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsIG1ldGFkYXRhIGZpZWxkcy4KCjIwMDgtMTEtMjYgMDQ6NTc6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBFbmFibGUgbGF0ZW5jeSBjb2RlLCBzaW5jZSB3ZSdyZSBkZWZpbml0ZWx5IGFmdGVyIDAuMTAuMTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgRW5hYmxlIGxhdGVuY3kgY29kZSwgc2luY2Ugd2UncmUgZGVmaW5pdGVseSBhZnRlciAwLjEwLjEyCgoyMDA4LTExLTI1IDE4OjI4OjE4ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZXh0L3NwYy9nc3RzcGMuYzogUG9zdCBhbiBlcnJvciBhbmQgcHVzaCBFT1Mgd2hlbiB3ZSBjYW4ndCBzdGFydCBwbGF5YmFjayBmb3Igc29tZSByZWFzb24uIGFsc28gYXZvaWQgYSBjcmFzaCB3aGVuIGZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLCAoc3BjX3NldHVwKToKCSAgUG9zdCBhbiBlcnJvciBhbmQgcHVzaCBFT1Mgd2hlbiB3ZSBjYW4ndCBzdGFydCBwbGF5YmFjayBmb3Igc29tZSByZWFzb24uCgkgIGFsc28gYXZvaWQgYSBjcmFzaCB3aGVuIGZlZCBhbiBlbXB0eSBmaWxlLiBGaXhlcyAjNDgwNTQzLgoKMjAwOC0xMS0yNSAxNjozNzo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBNYWtlIHVuaXQgdGVzdCBhZ2FpbiBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cyB3aXRoIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6ICh0ZXN0X3BpcGVsaW5lKToKCSAgTWFrZSB1bml0IHRlc3QgYWdhaW4gZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMgd2l0aCB2YWxncmluZC4KCjIwMDgtMTEtMjUgMTU6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBldmVudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBldmVudCBsZWFrLgoKMjAwOC0xMS0yNSAxNDo0OTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNldCB2aWRlbyBkaW1lbnNpb25zIGFuZCBwaXhlbCBhc3BlY3QgcmF0aW8gb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFNldCB2aWRlbyBkaW1lbnNpb25zIGFuZCBwaXhlbCBhc3BlY3QgcmF0aW8gb24gdGhlIGNhcHMuCgoyMDA4LTExLTI1IDEwOjI2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgcGFyc2luZyBvZiBSR0JBIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEFkZCBpbml0aWFsIHBhcnNpbmcgb2YgUkdCQSBkZXNjcmlwdG9ycy4KCSAgRG9uJ3QgaW5pdGlhbGl6ZSBkZXNjcmlwdG9yIEdBcnJheSB3aXRoIHplcm9lcy4KCjIwMDgtMTEtMjUgMDk6Mzg6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZXdyaXRlIHBhcnNpbmcgb2YgZGVzY3JpcHRvcnMgdG8gZ28gdG9wLWRvd24gaW5zdGVhZCBvZiBib3R0b20tdXAgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZSB0aGUgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9wcmltZXJfcGFja19wYXJzZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBSZXdyaXRlIHBhcnNpbmcgb2YgZGVzY3JpcHRvcnMgdG8gZ28gdG9wLWRvd24gaW5zdGVhZCBvZiBib3R0b20tdXAKCSAgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZSB0aGUgYnVmZmVyIGRhdGEgbm9uLXdyaXRhYmxlLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMTEtMjUgMDA6MjA6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBuZXcgZGlyZWN0b3J5IGZvciBuZXcgYWNtbXAzZGVjIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBZGQgbmV3IGRpcmVjdG9yeSBmb3IgbmV3IGFjbW1wM2RlYyBwbHVnaW4KCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvYWNtbXAzZGVjLmM6CgkgIEFkZCBuZXcgYWNtbXAzZGVjIHBsdWdpbiwgd2hpY2ggdXNlcyBBQ00gZm9yIGRlY29kaW5nIG1wMyBvbiB3aW5kb3dzLgoKMjAwOC0xMS0yNCAxMTozMToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBNYWtlIHN1cmUgdG8gb25seSBvdXRwdXQgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZSBlbGVtZW50cyBmb3IgYSB0cmFjayBpZiB0aGUgYm9keSBTSUQgb2YgdGhlIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIE1ha2Ugc3VyZSB0byBvbmx5IG91dHB1dCBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlIGVsZW1lbnRzCgkgIGZvciBhIHRyYWNrIGlmIHRoZSBib2R5IFNJRCBvZiB0aGUgc3Vycm91bmRpbmcgcGFydGl0aW9uIGlzCgkgIHRoZSBzYW1lIGFzIHRoZSBib2R5IFNJRCBvZiB0aGUgdHJhY2sncyBzb3VyY2UgcGFja2FnZS4KCjIwMDgtMTEtMjQgMTE6MTc6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cyBrZXlmcmFtZS4gTWFyayB0aGUgZGlzY29udCBmbGFnIHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBNYXJrCgkgIHRoZSBkaXNjb250IGZsYWcgd2hlbiB3ZSd2ZSBtb3ZlZCBpbiB0aGUgZmlsZS4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6IE1QMwoJICBzdHJlYW1zCgkgIGFyZSBwYXJzZWQgYWxyZWFkeSwgbWFrZXMgYXV0b3BsdWdnZWQgcGlwZWxpbmVzIHNob3J0ZXIuCgoyMDA4LTExLTI0IDEwOjQ2OjAxICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgQUMzL0RUUy9MUENNIGludG8gTVBFRyBUUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KToKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIEFDMy9EVFMvTFBDTSBpbnRvIE1QRUcgVFMuCgkgIEZpeGVzIGJ1ZyAjNTUwNjEzLgoKMjAwOC0xMS0yNCAxMDo0MToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFsbG93IG5vbi1NWEYgS0xWIHBhY2tldHMgYW5kIGp1c3QgZHJvcCB0aGVtIGluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXJyb3IgYW5kIGhhbmRsZSA5IGJ5dGUgcHJvZHVjdCB2ZXJzaW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSk6CgkgIEFsbG93IG5vbi1NWEYgS0xWIHBhY2tldHMgYW5kIGp1c3QgZHJvcCB0aGVtIGluc3RlYWQgb2YgdGhyb3dpbmcKCSAgYW4gZXJyb3IgYW5kIGhhbmRsZSA5IGJ5dGUgcHJvZHVjdCB2ZXJzaW9ucyBhcyB3cml0dGVuIGJ5IEF2aWQuCgkgIFRoaXMgZG9lc24ndCBhZGQgc3VwcG9ydCBmb3IgdGhlIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcwoJICBidXQgYXQgbGVhc3QgbWFrZXMgaXQgcG9zc2libGUgdG8gcGFyc2UgdGhlaXIgaGVhZGVyIG1ldGFkYXRhLgoJICBGaXggYSBjb3B5JnBhc3RlIGVycm9yIGluIGRlYnVnIG91dHB1dC4KCjIwMDgtMTEtMjMgMTc6NTA6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrLzogUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgTm8gcHJpbnRmIHBsZWFzZS4KCjIwMDgtMTEtMjMgMTE6MjU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogQWN0dWFsbHkgd2Ugc3VwcG9ydCBhIGxlbmd0aCBzdG9yZWQgaW5zaWRlIDggYnl0ZXMgYnV0IGl0IG11c3QgYmUgc21hbGxlciB0aGFuIEdfTUFYVUlOVCBmb3IgR3N0Qi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgQWN0dWFsbHkgd2Ugc3VwcG9ydCBhIGxlbmd0aCBzdG9yZWQgaW5zaWRlIDggYnl0ZXMgYnV0IGl0IG11c3QKCSAgYmUgc21hbGxlciB0aGFuIEdfTUFYVUlOVCBmb3IgR3N0QnVmZmVyLgoKMjAwOC0xMS0yMyAxMToxNjozNiArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBGaXggZm9ybWF0IHN0cmluZy4gRml4ZXMgYnVnICM1NjE5OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIChyc25fZHZkc3JjX3ByZXBhcmVfc3RyZWFtc2luZm9fZXZlbnQpOgoJICBGaXggZm9ybWF0IHN0cmluZy4gRml4ZXMgYnVnICM1NjE5OTIuCgoyMDA4LTExLTIyIDE1OjMxOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCjIwMDgtMTEtMjIgMTU6MjQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNvcHlfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBBZGQgcHJvcGVydHkgdG8gcmV0dXJuIGEgR1ZhbHVlQXJyYXkgb2YgYWxsIGtub3duIFJUUFNvdXJjZXMgaW4gdGhlCgkgIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9jcmVhdGVfc2RlcyksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIFJlbW92ZSBwcm9wZXJ0aWVzIHRvIHNldCB0aGUgdmFyaW91cyBTREVTIGl0ZW1zLCBhbiBhcHBsaWNhdGlvbiBpcyBuZXZlcgoJICBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIFJUUFNvdXJjZSBkYXRhLgoJICBDaGFuZ2UgdGhlIFNERVMgZ2V0dGVyIHByb3BlcnRpZXMgdG8gb25lIFNERVMgcHJvcGVydHkgdGhhdCByZXR1cm5zIGFsbAoJICBTREVTIGl0ZW1zIGluIGEgR3N0U3RydWN0dXJlLgoKMjAwOC0xMS0yMiAxNTowMjoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBNYWtlIHRoZSB1bml0IHRlc3QgYSBiaXQgZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMsIGVzcGVjaWFsbHkgd2l0aCB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIHRoZSB1bml0IHRlc3QgYSBiaXQgZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMsIGVzcGVjaWFsbHkKCSAgd2l0aCB2YWxncmluZC4KCjIwMDgtMTEtMjIgMTQ6NTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTb21lIG1vcmUgZm9ybWF0IHN0cmluZyBmaXhlcyBhbmQgdXNhZ2Ugb2YgZ3VpbnQgaW5zdGVhZCBvZiBnaW50IHdoZXJlIG5lZ2F0aXZlIHZhbHVlcyBkb24ndCBtYWtlIHNlbnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAoZ3N0X214Zl91bF9oYXNoKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKToKCSAgU29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgZml4ZXMgYW5kIHVzYWdlIG9mIGd1aW50IGluc3RlYWQgb2YgZ2ludAoJICB3aGVyZSBuZWdhdGl2ZSB2YWx1ZXMgZG9uJ3QgbWFrZSBzZW5zZS4KCjIwMDgtMTEtMjIgMTQ6NDI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDY0IG9yIGdzaXplIGZvciBhbGwgYnVmZmVyIHNpemVzIGFuZCB1c2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgdGhlbS4gT25seSBsby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2FuZF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl90aW1lc3RhbXBfcGFyc2UpLCAobXhmX2ZyYWN0aW9uX3BhcnNlKSwKCSAgKG14Zl91dGYxNl90b191dGY4KSwgKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDY0IG9yIGdzaXplIGZvciBhbGwgYnVmZmVyIHNpemVzIGFuZAoJICB1c2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgdGhlbS4gT25seSBsb2NhbCB0YWcgc2V0IHNpemVzCgkgIGFyZSBzdGlsbCBndWludDE2IGFzIHRoZXkgY2FuJ3QgYmUgbGFyZ2VyLgoJICBPbmx5IGFsbG93IEtMViBwYWNrZXRzIG9mIHNpemVzIGJlbG93IDE8PDMyIGFzIEdTdHJlYW1lciBvbmx5IHVzZXMKCSAgZ3VpbnQgZm9yIGJ1ZmZlciBzaXplcy4gVGhlIE1YRiBzdGFuZGFyZCBhbGxvd3MgcGFja2V0IHNpemVzIHVwCgkgIHRvIDE8PDY0LgoKMjAwOC0xMS0yMiAxMzoxNzoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgoyMDA4LTExLTIyIDA4OjIzOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mICIldSIgZm9yIGEgc2l6ZV90IHZhcmlhYmxlIGluIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHByZXZlbnQgYSBjb21waWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3Bfc29ja2V0X3dyaXRlKToKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgIiV1IiBmb3IgYSBzaXplX3QgdmFyaWFibGUgaW4KCSAgdGhlIGZvcm1hdCBzdHJpbmcgdG8gcHJldmVudCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTIxIDE2OjE3OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCjIwMDgtMTEtMjEgMTU6NDU6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWRkIGEgImZpbHRlci1sZW5ndGgiIHByb3BlcnR5IHRoYXQgbWFwcyB0byB0aGUgcXVhbGl0eSB2YWx1ZXMgZm9yIGNvbXBhdGliaWx0eS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfcHJvcGVydHkpOgoJICBBZGQgYSAiZmlsdGVyLWxlbmd0aCIgcHJvcGVydHkgdGhhdCBtYXBzIHRvIHRoZSBxdWFsaXR5IHZhbHVlcwoJICBmb3IgY29tcGF0aWJpbHR5IHdpdGggYXVkaW9yZXNhbXBsZS4KCjIwMDgtMTEtMjEgMTA6Mzc6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHRoZSAiZXhwZXJpbWVudGFsIiBmbGFnIGZyb20gdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIHRoZSAiZXhwZXJpbWVudGFsIiBmbGFnIGZyb20gdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4uCgoyMDA4LTExLTIxIDEwOjI3OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBNWEYgZGVtdXhlci4gQ3VycmVudGx5IGl0IHN1cHBvcnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLCAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfcGFkX2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfcGFkX2NsYXNzX2luaXQpLCAoZ3N0X214Zl9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2ZsdXNoKSwgKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZCksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0X214Zl9zdGF0ZSksIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXQpLCAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcGFydGl0aW9uX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcHJpbWVyX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcHJlZmFjZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbiksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3RyYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3NlcXVlbmNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2xvY2F0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfc3lzdGVtX2l0ZW0pLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3JhbmRvbV9pbmRleF9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2luZGV4X3RhYmxlX3NlZ21lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfYW5kX2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfbG9vcCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYWluKSwgKGdzdF9teGZfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5X3R5cGUpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9teGZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfbXhmX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9teGZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2luaXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfaXNfbXBlZ192aWRlb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pc19teGZfcGFja2V0KSwgKG14Zl9pc19wYXJ0aXRpb25fcGFjayksCgkgIChteGZfaXNfaGVhZGVyX3BhcnRpdGlvbl9wYWNrKSwgKG14Zl9pc19ib2R5X3BhcnRpdGlvbl9wYWNrKSwKCSAgKG14Zl9pc19mb290ZXJfcGFydGl0aW9uX3BhY2spLCAobXhmX2lzX2ZpbGwpLAoJICAobXhmX2lzX3ByaW1lcl9wYWNrKSwgKG14Zl9pc19tZXRhZGF0YSksCgkgIChteGZfaXNfcmFuZG9tX2luZGV4X3BhY2spLCAobXhmX2lzX2luZGV4X3RhYmxlX3NlZ21lbnQpLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX3N5c3RlbV9pdGVtKSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfY29udGFpbmVyX2xhYmVsKSwKCSAgKG14Zl91bF9pc19lcXVhbCksIChteGZfdWxfaXNfemVybyksIChteGZfdWxfdG9fc3RyaW5nKSwKCSAgKG14Zl91bWlkX2lzX2VxdWFsKSwgKG14Zl91bWlkX2lzX3plcm8pLCAobXhmX3VtaWRfdG9fc3RyaW5nKSwKCSAgKGdzdF9teGZfdWxfaGFzaCksIChnc3RfbXhmX3VsX2VxdWFsKSwgKG14Zl90aW1lc3RhbXBfcGFyc2UpLAoJICAobXhmX3RpbWVzdGFtcF9pc191bmtub3duKSwgKG14Zl90aW1lc3RhbXBfY29tcGFyZSksCgkgIChteGZfZnJhY3Rpb25fcGFyc2UpLCAobXhmX3V0ZjE2X3RvX3V0ZjgpLAoJICAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3Jlc2V0KSwgKF9teGZfbWFwcGluZ191bF9mcmVlKSwKCSAgKG14Zl9wcmltZXJfcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcmVzZXQpLAoJICAobXhmX2xvY2FsX3RhZ19wYXJzZSksIChnc3RfbXhmX2xvY2FsX3RhZ19mcmVlKSwKCSAgKGdzdF9tZXRhZGF0YV9hZGRfY3VzdG9tX3RhZyksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNldCksIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzZXQpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNldCksIChteGZfbWV0YWRhdGFfdHJhY2tfaWRlbnRpZmllcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBNWEYgZGVtdXhlci4gQ3VycmVudGx5IGl0IHN1cHBvcnRzCgkgIE1QRUcgdmlkZW8gYW5kIHJhdyBhdWRpbyBhbmQgT1AgMWEvYi9jLgoKMjAwOC0xMS0yMSAwMDo0NzozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDogRml4IGZsdXNoaW5nL3NlZWtpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIGVycm9yIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIEZpeCBmbHVzaGluZy9zZWVraW5nIHByb2JsZW1zIHJldHVybmluZyBlcnJvciBjb2RlLgoJICBGaXggbXAzIGRlY29kaW5nIHdpdGggd2luWFAgKGNyYXNoZWQgcmFuZG9tbHksIG9jY2FzaW9uYWxseSkuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgRml4IHByb2JsZW1zIHdoZW4gZnJhbWVyYXRlIGlzIG1pc3NpbmcgZnJvbSB2aWRlby4KCjIwMDgtMTEtMjAgMTg6NDE6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdldF9jdXJyZW50X3RpbWVzKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCk6CgkgIFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIEltcHJvdmUgdGhlIHRpbWUgZnVuY3Rpb24gdG8gcHJvdmlkZSBtb3JlIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFyayB0aGUgaW50ZXJuYWwgc291cmNlIHdpdGggYSBmbGFnLgoJICBVc2UgcnVubmluZ190aW1lIGluc3RlYWQgb2YgdGhlIG1vcmUgdXNlbGVzcyB0aW1lc3RhbXAuCgkgIFZhbGlkYXRlIGEgc291cmNlIHdoZW4gYSB2YWxpZCBTREVTIGhhcyBiZWVuIHJlY2VpdmVkLgoJICBQYXNzIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIHdoZW4gcHJvY2Vzc2luZyBTUiBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2NyZWF0ZV9zdGF0cyksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgc291cmNlIHN0YXRzLgoJICBNYXJrIHBhcmFtcyBhcyBTVEFUSUNfU1RSSU5HUy4KCSAgQ2FsY3VsYXRlIHRoZSBiaXRyYXRlIGF0IHRoZSBzZW5kZXIgU1NSQy4KCSAgQXZvaWQgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSByb3VuZCB0cmlwIHRpbWUgY2FsY3VsYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVwZGF0ZSBzb21lIGRvY3MgYW5kIGNoYW5nZSBzb21lIHZhcmlhYmxlIG5hbWUgdG8gbW9yZSBjbG9zZWx5IHJlZmxlY3QKCSAgd2hhdCBpdCBjb250YWlucy4KCjIwMDgtMTEtMjAgMTY6MDE6MjcgKzAwMDAgIExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCgkgIGdzdC9kY2NwLzogQ29kZVN0eWxlIGltcHJvdmVtZW50cyBhbmQgbWlub3IgZml4ZXMgdG8gdGhlIERDQ1AgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICBDb2RlU3R5bGUgaW1wcm92ZW1lbnRzIGFuZCBtaW5vciBmaXhlcyB0byB0aGUgRENDUCBwbHVnaW4uCgkgIEZpeGVzICM1NTM4MjMuCgoyMDA4LTExLTIwIDA4OjE5OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCk6CgkgIEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQKCSAgdmFyaWFibGUuCgoyMDA4LTExLTE5IDE2OjQ4OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoKMjAwOC0xMS0xOSAwOTowNjoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jIG5vdGlmaWNhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLCAoZnJlZV9zdHJlYW0pLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYwoJICBub3RpZmljYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW50ZXJuYWxfbGlua3MpLCAoY3JlYXRlX3J0Y3Bfc2luayksCgkgIChyZW1vdmVfcnRjcF9zaW5rKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX3J0Y3BfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VuZCBTUiBwYWNrZXRzIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIENoZWNrIGlmIHRoZSBTUiB0aW1lc3RhbXBzIGFyZSB2YWxpZCBieSBjb21wYXJpbmcgdGhlbSB0byB0aGUgUlRQCgkgIHRpbWVzdGFtcHMuCgkgIFNpZ25hbCB0aGUgU1IgcGFja2V0IGFuZCB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHRvIGxpc3RlbmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgc2VlbiBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIGZpbHRlciBvdXQKCSAgaW52YWxpZCBTUiBwYWNrZXRzLgoKMjAwOC0xMS0xOCAxNjo1MjoxMSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6IEF2b2lkIGRlYWRsb2NrIGR1cmluZyBwYWQgYWN0aXZhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBBdm9pZCBkZWFkbG9jayBkdXJpbmcgcGFkIGFjdGl2YXRpb24uCgkgIEZpeGVzICM1NjEyNDEuCgoyMDA4LTExLTE4IDAxOjA5OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5CgkgIGFkZGVkLgoKMjAwOC0xMS0xNyAxOTo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkCgkgIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTE3IDE1OjE3OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIGppLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZQoJICB2YWx1ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIFBhc3MgdGhlIGNsb2NrLXJhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQWxzbyBwYXNzIHRoZSBjbG9jay1yYXRlIGFsb25nIHdpdGggdGhlIHJ0cCB0aW1lc3RhbXAgd2hlbiBnZXR0aW5nIHRoZQoJICBzeW5jIHBhcmFtZXRlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgY2xvY2stcmF0ZSBjaGFuZ2VzIGFuZCByZXR1cm4gdGhlIGNsb2NrLXJhdGUgdG9nZXRoZXIgd2l0aAoJICB0aGUgcnRwIHRpbWVzdGFtcHMgdXNlZCBmb3Igc3luYy4KCSAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCB0aW1lc3RhbXBzIHdoZW4gd2UgaGF2ZSBubyBiYXNlX3RpbWUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIFJlcXVlc3QgYSBuZXcgY2xvY2stcmF0ZSB3aGVuIHRoZSBwYXlsb2FkIHR5cGUgY2hhbmdlcy4KCSAgUmVzZXQgdGhlIGppdHRlciBjYWxjdWxhdGlvbiB3aGVuIHRoZSBjbG9jay1yYXRlIGNoYW5nZXMuCgoyMDA4LTExLTE3IDA5OjMzOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZV9kYXRhLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2VfZGF0YS5oOgoJICBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDgtMTEtMTUgMDI6NTY6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4Lio6IFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgoyMDA4LTExLTE0IDIzOjAxOjU2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IEFkZCBzb21lIG9mIG91ciBmYXZvcml0ZSBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IEFkZCBzb21lIG9mIG91ciBmYXZvcml0ZSBjb2RlY3MuCgoyMDA4LTExLTE0IDIxOjQ0OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogR3VhcmQgYWdhaW5zdCBhIE5VTEwgZGVyZWZlcmVuY2UgSSBzb21laG93IGVuY291bnRlcmVkIC0gd2l0aCBhIEZMVVNIX1NUT1AgYXJyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIEd1YXJkIGFnYWluc3QgYSBOVUxMIGRlcmVmZXJlbmNlIEkgc29tZWhvdyBlbmNvdW50ZXJlZCAtCgkgIHdpdGggYSBGTFVTSF9TVE9QIGFycml2aW5nIGVpdGhlciBiZWZvcmUgYmFzZXRyYW5zZm9ybSBfc3RhcnQoKSwKCSAgb3IgYWZ0ZXIgX3N0b3AoKS4KCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGp1bXAgYmFja3dhcmRzIHdoZW4gdHlwZWZpbmRpbmcgY29ycnVwdCBtb3YgZmlsZXMuCgoyMDA4LTExLTE0IDIxOjI0OjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IFJldmVydCBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoKMjAwOC0xMS0xNCAyMDozODoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgoyMDA4LTExLTE0IDIwOjE3OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOiAoYnVpbGRfZXNkc19leHRlbnNpb24pLAoJICAoYnVpbGRfbW92X2FhY19leHRlbnNpb24pLCAoYnVpbGRfanAyaF9leHRlbnNpb24pLAoJICAoYnVpbGRfY29kZWNfZGF0YV9leHRlbnNpb24pOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYXVkaW9fc2lua19zZXRfY2FwcyksCgkgIChnc3RfcXRfbXV4X3ZpZGVvX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiAoZ3N0X3F0X211eF9tYXBfZm9ybWF0X3RvX2hlYWRlcik6CgkgIEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIEFsc28gYWN0dWFsbHkgaW1wbGVtZW50IElTTyBKUEVHMjAwMCBtajIgZm9ybWF0LgoKMjAwOC0xMS0xNCAxOTo1MjoyNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IENvbnN0cnVjdCBzb3VyY2UgY2FwcyBpbiBtb3JlIGNvbnZlbnRpb25hbCAoYW5kIGNvcnJlY3QpIG1hbm5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2Fwcyk6CgkgIENvbnN0cnVjdCBzb3VyY2UgY2FwcyBpbiBtb3JlIGNvbnZlbnRpb25hbCAoYW5kIGNvcnJlY3QpIG1hbm5lci4KCjIwMDgtMTEtMTQgMTY6MTU6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbm8gbW9yZSBlZ2dpbmcgdGhlIHB1ZGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vIG1vcmUgZWdnaW5nIHRoZSBwdWRkaW5nCgoyMDA4LTExLTE0IDE0OjIzOjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QtbGlicy9nc3QvcGxheS86IFJlbW92ZSBjcnVmdC4gVGhpcyBpcyBub3QgZW50ZXJlZCBieSBtYWtlIGFuZCBpdHMgbm90IGV2ZW4gY29tcGlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS52Y3Byb2o6CgkgIFJlbW92ZSBjcnVmdC4gVGhpcyBpcyBub3QgZW50ZXJlZCBieSBtYWtlIGFuZCBpdHMgbm90IGV2ZW4gY29tcGlsYWJsZS4KCjIwMDgtMTEtMTMgMjI6MzA6NTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNvcnJlY3RseSBpbiB0aGUgZW5jb2RlciBBUEksIGFzIHdlbGwgYXMgc29tZSBkZWZhdWx0IGdzdHJlYW1lcmlzaCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGVuY29kZXIgQVBJLCBhcyB3ZWxsCgkgIGFzIHNvbWUgZGVmYXVsdCBnc3RyZWFtZXJpc2ggY29sb3JzcGFjZSBwcm9wZXJ0aWVzLiAgQWxzbywKCSAgYXBwYXJlbnRseSwgY2hhbmdlIGEgYnVuY2ggb2YgaW5kZW50YXRpb24uCgoyMDA4LTExLTEzIDIxOjQ0OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcDJrLzogQWRkIGpwMmtlbmMgdG8ganAyayBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiAoZ3N0X2phc3Blcl9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2phc3Blcl9lbmNfaW5pdCksCgkgIChnc3RfamFzcGVyX2VuY19yZXNldCksIChnc3RfamFzcGVyX2VuY19zZXRfc3JjX2NhcHMpLAoJICAoZ3N0X2phc3Blcl9lbmNfaW5pdF9lbmNvZGVyKSwgKGdzdF9qYXNwZXJfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfamFzcGVyX2VuY19nZXRfZGF0YSksIChnc3RfamFzcGVyX2VuY19jaGFpbiksCgkgIChnc3RfamFzcGVyX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2phc3Blcl9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYXNwZXJfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkgICogZXh0L2pwMmsvZ3N0anAyay5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQganAya2VuYyB0byBqcDJrIHBsdWdpbi4KCjIwMDgtMTEtMTMgMjE6MzE6MTQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZGVjLio6IE1ha2UgcGFkIHRlbXBsYXRlIGNhcHMgcmVmbGVjdCB0aGUgc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19yZXNldCksIChnc3RfamFzcGVyX2RlY19uZWdvdGlhdGUpLAoJICAoZ3N0X2phc3Blcl9kZWNfZ2V0X3BpY3R1cmUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBNYWtlIHBhZCB0ZW1wbGF0ZSBjYXBzIHJlZmxlY3QgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBBZGQgb3IgbW9kaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cywgYW5kIHNsaWdodGx5IHNpbXBsaWZ5IGltYWdlCgkgIHBhc3NpbmcgdG8gZW5jb2RpbmcgbGlicmFyeS4KCjIwMDgtMTEtMTMgMTc6MjQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCjIwMDgtMTEtMTMgMTU6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTExLTEzIDE1OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgoyMDA4LTExLTEzIDE0OjMxOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSAgVXBkYXRlIGRvY3MuCgoyMDA4LTExLTEzIDE0OjIxOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgoyMDA4LTExLTEzIDEyOjU5OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoKMjAwOC0xMS0xMiAxMDozMjoyNCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXggdW5pbml0aWFsaXplZCB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MKCjIwMDgtMTEtMTEgMTk6MzE6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9xdG11eCksIChjbGVhbnVwX3F0bXV4KSwKCSAgKGNoZWNrX3F0bXV4X3BhZCksIChHU1RfU1RBUlRfVEVTVCksIChxdG11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgoyMDA4LTExLTExIDE5OjI0OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hZGRfbWV0YWRhdGFfdGFncyk6CgkgIEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCjIwMDgtMTEtMTAgMTU6MjY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlIG9uIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlCgkgIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0xMCAxNDo1Mzo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFdpbSwgeW91J3JlIGEgYmFkIGJveS4gWW91IGRvbid0IHdhbnQgcGVvcGxlIHRvIGNvbnRhY3QgeW91IG9yIHdoYXQ/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgV2ltLCB5b3UncmUgYSBiYWQgYm95LiBZb3UgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gY29udGFjdCB5b3Ugb3Igd2hhdD8KCjIwMDgtMTEtMTAgMTQ6MDE6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RpaXIuYzogRml4IG5hbWUgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICBGaXggbmFtZSB0YWcuCgoyMDA4LTExLTA4IDAyOjAwOjU4ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBGaXhlcyAjNTUwMjgwLgoKMjAwOC0xMS0wNyAxNzozNTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEFkZCBpcy1saXZlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBpcy1saXZlIHByb3BlcnR5LgoJICBBZGQgc29tZSBtb3JlIGRvY3MuCgoyMDA4LTExLTA2IDIyOjU0OjM5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgRml4IGJhc2ljIG5hdmlnYXRpb24gZXZlbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEZpeCBiYXNpYyBuYXZpZ2F0aW9uIGV2ZW50cwoKMjAwOC0xMS0wNiAxNDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KToKCSAgQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCjIwMDgtMTEtMDYgMTM6MDA6NTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBTZXQgZmlsdGVycyBpbiBQQVVTRUQgb3IgUExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgU2V0IGZpbHRlcnMgaW4gUEFVU0VEIG9yIFBMQVlJTkcuCgoyMDA4LTExLTA2IDEyOjE3OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBNYWtlIHByaXZhdGUgc2VjdGlvbiBwYWRzIGhhdmUgYSBjYXBzIHNldCBzbyB0aGV5IGFyZSBub3QgdHJpZWQgdG8gYmUgbGlua2VkIGluIHBhcnNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgTWFrZSBwcml2YXRlIHNlY3Rpb24gcGFkcyBoYXZlIGEgY2FwcyBzZXQgc28gdGhleSBhcmUgbm90IHRyaWVkCgkgIHRvIGJlIGxpbmtlZCBpbiBwYXJzZV9sYXVuY2ggZm9yIGV4YW1wbGUuCgoyMDA4LTExLTA2IDExOjMxOjAzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBObyBuZWVkIHRvIHJlY2xhY3VsYXRlIGZsdXNoIGluIHRoaXMgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgTm8gbmVlZCB0byByZWNsYWN1bGF0ZSBmbHVzaCBpbiB0aGlzIGNhc2UuCgkgIEZpeGVzIHNvbWUgYmFkIGRlY29kZSBlcnJvcnMgaW50cm9kdWNlZC4KCjIwMDgtMTEtMDYgMTA6NDI6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IEZpeCB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBGaXggdHlwby4KCjIwMDgtMTEtMDUgMjM6MzE6NDEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBGaXggUkdCIG1hc2sgaW4gY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBGaXggUkdCIG1hc2sgaW4gY2FwcwoKMjAwOC0xMS0wNSAyMjoyNToyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGQgSGV4dGlsZSBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgSGV4dGlsZSBlbmNvZGluZwoKMjAwOC0xMS0wNSAxODo1MjozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogSGV1cmlzdGljIGFwcHJvYWNoIHdoZW4gcmVzeW5jaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBIZXVyaXN0aWMgYXBwcm9hY2ggd2hlbiByZXN5bmNpbmcuCgoyMDA4LTExLTA1IDE4OjExOjU1ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOiBMZW5ndGggc2hvdWxkIGJlIGEgZ3VpbnQ4IG5vdCBhIGdpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgTGVuZ3RoIHNob3VsZCBiZSBhIGd1aW50OCBub3QgYSBnaW50LgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDb252ZXJ0IHRleHQgdG8gdXRmOCBmb3IgZWFjaCBkZXNjcmlwdG9yIHNlcGFyYXRlbHkgYW5kIG5vdAoJICBjb25jYXRlbmF0ZSB0aGVtIGZpcnN0IGFuZCBjb252ZXJ0IGFmdGVyLgoKMjAwOC0xMS0wNCAyMDoyNjowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogU2VuZCB0YWcgZXZlbnQuIEZpeGVzICM1NTkyODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIFNlbmQgdGFnIGV2ZW50LiBGaXhlcyAjNTU5Mjg2LgoKMjAwOC0xMS0wNCAxODowMzo1NSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzogRml4IGFub3RoZXIgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBGaXggYW5vdGhlciBtZW1sZWFrLgoKMjAwOC0xMS0wNCAxNzoyNTowOSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIEZpeCBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRml4IG1lbWxlYWtzLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTEtMDQgMDg6MjQ6MTAgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6IEZpeCBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIEZpeCBtZW1sZWFrLgoKMjAwOC0xMS0wMyAyMjowMDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleGFtcGxlcy9zY2FsZXRlbXBvLy5jdnNpZ25vcmU6IEFkZCBleGFtcGxlIHRvIGN2cyBpZ25vcmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvLy5jdnNpZ25vcmU6CgkgIEFkZCBleGFtcGxlIHRvIGN2cyBpZ25vcmVzLgoKMjAwOC0xMS0wMyAyMToyNzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogRml4IG1pc21hdGNoZWQgc2lnbmVkbmVzcyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgKG9wZW5fZGVjb2Rlcik6CgkgIEZpeCBtaXNtYXRjaGVkIHNpZ25lZG5lc3MgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMDMgMDg6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWRkIFRPRE8gYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3IgZW5hYmxpbmcgU1NFL0FSTSBzcGVjaWZpYyBvcHRpbWl6YXRpb25zIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpOgoJICBBZGQgVE9ETyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciBlbmFibGluZyBTU0UvQVJNIHNwZWNpZmljCgkgIG9wdGltaXphdGlvbnMgYW5kIGNob29zaW5nIHRoZSBmYXN0ZXN0IGltcGxlbWVudGF0aW9uIGF0IHJ1bnRpbWUuCgkgIEFkZCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIGF0IHR3byBwbGFjZXMgdGhhdCBzaG91bGQgcmVhbGx5IG5ldmVyCgkgIGJlIHJlYWNoZWQuCgoyMDA4LTExLTAyIDA5OjE5OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEZpeCBmb3JtYXQgc3RyaW5nIGFuZCBhcmd1bWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KToKCSAgRml4IGZvcm1hdCBzdHJpbmcgYW5kIGFyZ3VtZW50cy4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZV9zc2UuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDgtMTEtMDEgMjE6Mzc6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbTogRGlzdCB0aGUgcGxheSBzY3JpcHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIERpc3QgdGhlIHBsYXkgc2NyaXB0cy4KCjIwMDgtMTEtMDEgMTk6Mzg6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIG1pc3NpbmcgaGVhZGVycyB0byBNYWtlZmlsZS5hbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlciksIChfYmVuY2htYXJrX2ludF9mbG9hdCksCgkgIChfYmVuY2htYXJrX2ludF9pbnQpLCAoX2JlbmNobWFya19pbnRlZ2VyX3Jlc2FtcGxpbmcpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVycyB0byBNYWtlZmlsZS5hbS4KCSAgVXBkYXRlIGNvcHlyaWdodCwgeWVhcnMgYW5kIG15IG1haWwgYWRkcmVzcy4KCSAgQmVuY2htYXJrIHRoZSBpbnRlZ2VyIHJlc2FtcGxpbmcgaW1wbGVtZW50YXRpb24gYWdhaW5zdCB0aGUKCSAgZmxvYXQgaW1wbGVtZW50YXRpb24gYW5kIHVzZSB0aGUgZmFzdGVyIG9uZSBmb3IgOC8xNiBiaXQgaW50ZWdlcgoJICBpbnB1dC4gT24gbW9zdCByZWNlbnQgc3lzdGVtcyB0aGUgZmxvYXRpbmcgcG9pbnQgdmVyc2lvbiBpcyBmYXN0ZXIuCgoyMDA4LTEwLTMxIDE4OjM5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gYXMgdGhlIHJlc3VsdCBvZiB0aGUgbGlua2luZyBpcyB3aGF0IGlzIGludGVyZXN0aW5nLCBub3QgdGhhdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGFzIHRoZSByZXN1bHQgb2YgdGhlIGxpbmtpbmcKCSAgaXMgd2hhdCBpcyBpbnRlcmVzdGluZywgbm90IHRoYXQgaXQgYWN0dWFsbHkgcnVucy4KCSAgRml4ZXMgY3Jvc3MtY29tcGlsYXRpb24gYW5kIGZpeGVzIGJ1ZyAjNTU4NjM5LgoKMjAwOC0xMC0zMCAxOTo1NDozOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IEFkZCBBTEFDIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBBZGQgQUxBQyBzdXBwb3J0LgoJICBGaXggZGVjb2RlIG9mIG1vbm8gQUFDIGZpbGVzIGNyZWF0ZWQgYnkgaXR1bmVzLgoJICBTZXQgb3V0cHV0IGZvcm1hdCBjb3JyZWN0bHkgKGRvbid0IGFzayBxdWlja3RpbWUgdG8KCSAgcmVzYW1wbGUgZm9yIHVzKS4KCSAgVXNlIGEgbGFyZ2VyIGRlY29kZSBidWZmZXIgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBsYXJnZQoJICBBTEFDIHBhY2tldHMuCgkgIEZpeCBkZWNvZGUgdG8gbG9vcCB1bnRpbCB3ZSBoYXZlIGFsbCBvdXRwdXQgZGF0YS4KCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSAgRml4IGluY2x1ZGVzIHNvIHdlIGNvbXBpbGUgb24gbW9yZSBPU2VzLgoKMjAwOC0xMC0zMCAxNTozMTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBhdCBsZWFzdCBHdGsgMi44LjAgZm9yIHRoZSBkZW1vcyAodGhhdCdzIHRoZSBvbGRlc3QgSSBjYW4gdGVzdCB3aXRoOyBJJ20gZmFpcmx5IGNlcnRhaW4gR3RrIDIuMC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgYXQgbGVhc3QgR3RrIDIuOC4wIGZvciB0aGUgZGVtb3MgKHRoYXQncyB0aGUgb2xkZXN0IEkgY2FuCgkgIHRlc3Qgd2l0aDsgSSdtIGZhaXJseSBjZXJ0YWluIEd0ayAyLjAuMCBpcyBub3QgZ29vZCBlbm91Z2ggYW55CgkgIGxvbmdlcik7IGNsZWFuIHVwIHNvbWUgdW51c2VkIEd0ay1yZWxhdGVkIGNvbmZpZ3VyZSBjcnVmdC4KCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIERlZmluZSBHdGsgMi4xMiBmdW5jdGlvbiB0byBub29wIHdoZW4gY29tcGlsaW5nIGFnYWluc3Qgb2xkZXIgR3RrLgoKMjAwOC0xMC0zMCAxNDo1NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBUaGUgbGVuZ3RoIGZvciB0aGUgYnVmZmVyIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgdGhlIG51bWJlciBvZiBhdWRpbyBmcmFtZXMsIGkuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlcik6CgkgIFRoZSBsZW5ndGggZm9yIHRoZSBidWZmZXIgY29udmVyc2lvbiBmdW5jdGlvbiBpcyB0aGUgbnVtYmVyIG9mCgkgIGF1ZGlvIGZyYW1lcywgaS5lLiB3ZSBuZWVkIHRvIG11bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgdG8gZ2V0IHRoZSBudW1iZXIgb2YgdmFsdWVzLiBBbHNvIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdCBhZnRlcgoJICBydW5uaW5nIGluIHZhbGdyaW5kLgoKMjAwOC0xMC0zMCAxNDo0NjozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBBZGQgcGlwZWxpbmUgdW5pdCB0ZXN0cyBmb3IgdGVzdGluZyBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgd2l0aCB1cC9kb3duc2FtcGxpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKGVsZW1lbnRfbWVzc2FnZV9jYiksCgkgIChlb3NfbWVzc2FnZV9jYiksICh0ZXN0X3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWV4cmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgcGlwZWxpbmUgdW5pdCB0ZXN0cyBmb3IgdGVzdGluZyBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgd2l0aAoJICB1cC9kb3duc2FtcGxpbmcgYW5kIGRpZmZlcmVudCBpbi9vdXRyYXRlcy4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgRml4IGJ1Z3MgaWRlbnRpZmllZCBieSB0aGUgdGVzdHN1aXRlLgoKMjAwOC0xMC0zMCAxMzo0NDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgc3VwcG9ydCBmb3IgaW50OCwgaW50MjQgYW5kIGludDMyIGlucHV0IGJ5IGNvbnZlcnRpbmcgaW50ZXJuYWxseSB0by9mcm9tIGludDE2IG9yIGRvdWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGludDgsIGludDI0IGFuZCBpbnQzMiBpbnB1dCBieSBjb252ZXJ0aW5nIGludGVybmFsbHkKCSAgdG8vZnJvbSBpbnQxNiBvciBkb3VibGUuCgoyMDA4LTEwLTMwIDEzOjM4OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy4qOiBCZXR0ZXIgZml4IGZvciAjNTQ2MzE5IGFuZCBzaW1pbGFyIGNhc2VzIGJ5IGV4cGxpY2l0bHkgcmVnaXN0ZXJpbmcgd2hlbiB3ZSdyZSBpbiBwbGF5aW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgQmV0dGVyIGZpeCBmb3IgIzU0NjMxOSBhbmQgc2ltaWxhciBjYXNlcyBieSBleHBsaWNpdGx5CgkgIHJlZ2lzdGVyaW5nIHdoZW4gd2UncmUgaW4gcGxheWluZyBzdGF0ZSBvciBub3QuCgoyMDA4LTEwLTMwIDEzOjAyOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBXaGl0ZXNwYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBXaGl0ZXNwYWNlLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFkZCBhIEZJWE1FOi4gbm90IHN1cmUgaWYgdGhpcyBjb2RlIGRvZXMgdGhlIGZvcndhcmRpbmcgY29ycmVjdGx5LgoKMjAwOC0xMC0zMCAxMjo0Mzo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGRvdWJsZSBzYW1wbGVzIGFzIGlucHV0IGFuZCByZWZhY3RvciB0aGUgdXNhZ2Ugb2YgdGhlIGRpZmZlcmVudCBjb21waWxhdGlvbiBmbGF2b3JzIG9mIHRoZSBzcGVleCByZXNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKF9nY2QpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChzZXR1cF9zcGVleHJlc2FtcGxlKSwKCSAgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBkb3VibGUgc2FtcGxlcyBhcyBpbnB1dCBhbmQgcmVmYWN0b3IgdGhlIHVzYWdlCgkgIG9mIHRoZSBkaWZmZXJlbnQgY29tcGlsYXRpb24gZmxhdm9ycyBvZiB0aGUgc3BlZXggcmVzYW1wbGVyLgoKMjAwOC0xMC0zMCAxMjoxMzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0xMC0zMCAxMTo1MDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb2J1ZmZlci86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIGF1ZGlvcmluZ2J1ZmZlciBlbGVtZW50IHRoYXQgY2FuIGJlIGluc2VydGVkIGluIHRoZSBwaXBlbGluZSB0byBjb252ZXJ0IHB1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9pbnRfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9pbnRfcmluZ19idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfaW50X3JpbmdfYnVmZmVyX2luaXQpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9uZXcpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2V0Y2FwcyksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9idWZmZXJhbGxvYyksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9yZW5kZXIpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2hhaW4pLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF9yYW5nZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfY2hlY2tnZXRyYW5nZV9mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBhdWRpb3JpbmdidWZmZXIgZWxlbWVudCB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbgoJICB0aGUgcGlwZWxpbmUgdG8gY29udmVydCBwdXNoLWJhc2VkIHVwc3RyZWFtIGludG8gYSBwdWxsLWJhc2VkCgkgIGRvd25zdHJlYW0uCgoyMDA4LTEwLTMwIDExOjQzOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTEwLTMwIDAwOjE3OjEyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBBSUZGIGlzIGFsd2F5cyBzaWduZWQsIGV2ZW4gZm9yIDggYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBBSUZGIGlzIGFsd2F5cyBzaWduZWQsIGV2ZW4gZm9yIDggYml0LgoKMjAwOC0xMC0yOSAxNzowMjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBGaXggdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpOgoJICBGaXggdGhlIGRvY3MuCgoyMDA4LTEwLTI5IDE2OjUzOjU0ICswMDAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQSBSZWFsVmlkZW8gdmlkZW8gaW5zaWRlIGEgY29udGFpbmVyIChmb3IgZXhhbXBsZSBNS1YpIHNob3VsZCB1c2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iaW4gU3RvY2tlciA8cm9iaW4gYXQgbmlib3IgZG90IG9yZz4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKToKCSAgQSBSZWFsVmlkZW8gdmlkZW8gaW5zaWRlIGEgY29udGFpbmVyIChmb3IgZXhhbXBsZSBNS1YpIHNob3VsZCB1c2UgdGhlCgkgIFBBUiB3aGljaCBpcyBzcGVjaWZpZWQgb24gdGhlIHNpbmtwYWQgY2Fwcy4gRml4ZXMgIzU1ODQxNi4KCjIwMDgtMTAtMjkgMTI6MTE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuKjogUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcgdG8gbWFrZSBpdCBtb3JlIHJvYnVzdCBhbmQgZ3VhcmFudGVlIGEgY29udGlub3VzIHN0ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RhcnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcgdG8gbWFrZSBpdCBtb3JlIHJvYnVzdCBhbmQgZ3VhcmFudGVlCgkgIGEgY29udGlub3VzIHN0cmVhbS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChzZXR1cF9zcGVleHJlc2FtcGxlKSwKCSAgKGNsZWFudXBfc3BlZXhyZXNhbXBsZSksIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSksCgkgICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpLCAobGl2ZV9zd2l0Y2hfYWxsb2Nfb25seV80ODAwMCksCgkgIChsaXZlX3N3aXRjaF9nZXRfc2lua19jYXBzKSwgKGxpdmVfc3dpdGNoX3B1c2gpLAoJICAoc3BlZXhyZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBzcGVleHJlc2FtcGxlIGJhc2VkIG9uIHRoZSBhdWRpb3Jlc2FtcGxlIHVuaXQgdGVzdHMuCgoyMDA4LTEwLTI5IDAxOjAwOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBNYWtlIHN1cmUgdG8gc3RhcnQgdGhlIE5BViBwYWNrZXQgcHJvY2Vzc2luZyB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIFBMQVlJTkcgIGJ5IHBhc3NpbmcgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgTWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBOQVYgcGFja2V0IHByb2Nlc3Npbmcgd2hlbiBjaGFuZ2luZwoJICBzdGF0ZSB0byBQTEFZSU5HICBieSBwYXNzaW5nIGEgZmxhZyB0aGF0IGluZGljYXRlcyB0aGUgc3RhdGUKCSAgY2hhbmdlIGlzIGluIHByb2dyZXNzLgoJICBGaXhlczogIzU0NjMxOQoKMjAwOC0xMC0yOCAyMDowNjoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6IFJlbW92ZSAkQCB0byBmaXggcGFyc2VfbGF1bmNoIHdhcm5pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgIFJlbW92ZSAkQCB0byBmaXggcGFyc2VfbGF1bmNoIHdhcm5pbmcKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTI6CgkgIEFkZCBhIHZlcnNpb24gdGhhdCB1c2VzIGRlaW50ZXJsYWNlIGFuZCB4dmltYWdlc2luay4KCjIwMDgtMTAtMjggMTk6MzA6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuKjogU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEdfTElLRUxZIGFuZCBmcmllbmRzLCB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZml4YXRlX2NhcHMpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgR19MSUtFTFkgYW5kIGZyaWVuZHMsIHVzZSBHU1RfREVCVUdfT0JKRUNUCgkgIGluc3RlYWQgb2YgR1NUX0RFQlVHLCAuLi4KCjIwMDgtMTAtMjggMTg6NDQ6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoKMjAwOC0xMC0yOCAxODo0MToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mCgkgIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBQdXNoIHRhZ3MgYWxyZWFkeSBpZiBvbmx5IG9uZSBwYWQgd2FzIGFkZGVkLCBubyBuZWVkIHRvIHdhaXQgZm9yCgkgIHRoZSBzZWNvbmQgb25lLgoJICBXaGVuIGdlbmVyYXRpbmcgb3VyIGluZGV4IHNldCBoYXNfdmlkZW8gYW5kIGhhc19hdWRpbyBpZiB3ZSBmaW5kCgkgIHZpZGVvIG9yIGF1ZGlvIGluIGNhc2UgdGhlIEZMViBoZWFkZXIgaGFzIGluY29ycmVjdCBkYXRhLgoKMjAwOC0xMC0yOCAxNjoyODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBGaXhhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZml4YXRlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICBGaXhhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLgoKMjAwOC0xMC0yOCAxNjoyNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBGaXhhdGUgdGhlIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLiBGaXhlcyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoYXVkaW9yZXNhbXBsZV9maXhhdGVfY2Fwcyk6CgkgIEZpeGF0ZSB0aGUgcmF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mCgkgIHRoZSBmaXJzdCBvbmUuIEZpeGVzIGJ1ZyAjNTQ5NTEwLgoKMjAwOC0xMC0yOCAxMTo0NjoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBVcGRhdGUgU3BlZXggcmVzYW1wbGVyIHdpdGggbGF0ZXN0IHZlcnNpb24gZnJvbSBTcGVleCBHSVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTVlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYmZpbi5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2RlYnVnLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChjb21wdXRlX2Z1bmMpLCAobWFpbiksIChzaW5jKSwKCSAgKGN1YmljX2NvZWYpLCAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwgKHVwZGF0ZV9maWx0ZXIpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2luaXRfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX21hZ2ljKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlX2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX3NraXBfemVyb3MpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Jlc2V0X21lbSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIFVwZGF0ZSBTcGVleCByZXNhbXBsZXIgd2l0aCBsYXRlc3QgdmVyc2lvbiBmcm9tIFNwZWV4IEdJVC4KCjIwMDgtMTAtMjggMDE6NTM6NDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLio6IENhbGN1bGF0ZSB3aWR0aCBmcm9tIGRlcHRoIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5oOgoJICBDYWxjdWxhdGUgd2lkdGggZnJvbSBkZXB0aCBjb3JyZWN0bHkuCgkgIFJlYWQgU1NORCBoZWFkZXIgcHJvcGVybHkgKGZpeGVzIDI0IGJpdCBBSUZGIHJlYWRpbmcpLgoKMjAwOC0xMC0yNyAxNzowMToyMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEFkYXB0IHRvIHNsaWdodGx5IG1vZGlmaWVkIHgyNjQgQVBJLiAgRml4ZXMgIzU1NTIzOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6CgkgIEFkYXB0IHRvIHNsaWdodGx5IG1vZGlmaWVkIHgyNjQgQVBJLiAgRml4ZXMgIzU1NTIzOC4KCjIwMDgtMTAtMjcgMTY6MzI6NDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBQcmV2ZW50IGVuZGxlc3MgbG9vcCBpZiBidWZmZXIgYWxsb2MgZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICBQcmV2ZW50IGVuZGxlc3MgbG9vcCBpZiBidWZmZXIgYWxsb2MgZXJyb3IuCgoyMDA4LTEwLTI3IDA5OjQ1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdCBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdAoJICBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCjIwMDgtMTAtMjcgMDk6NDI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgb2YgY29yZSBmb3IgdGhlIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIG9mIGNvcmUgZm9yIHRoZSBsYXN0IGNoYW5nZS4KCjIwMDgtMTAtMjcgMDk6NDE6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvTWFrZWZpbGUuYW06IEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKToKCSAgUmV3cml0ZSB0aGUgc2NyaXB0IHRhZyBwYXJzaW5nIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8gcmVhZAoJICBtb3JlIGRhdGEgdGhhbiB3ZSBoYXZlLiBBbHNvIHVzZSBHU1RfUkVBRF9VSU5UMjRfQkUgZGlyZWN0bHkgYW5kCgkgIGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCSAgVGhpcyBzaG91bGQgbWFrZSBhbGwgY3Jhc2hlcyBvbiBmdXp6ZWQgRkxWIGZpbGVzIGRpc2FwcGVhci4KCjIwMDgtMTAtMjcgMDk6Mzc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kCgkgIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSByZWdpb24uCgoyMDA4LTEwLTI3IDA5OjM1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgoyMDA4LTEwLTI3IDA5OjMzOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCjIwMDgtMTAtMjcgMDk6MzI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbSBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtCgkgIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgRml4IHNlZWsgZXZlbnQgaGFuZGxpbmcgdG8gbG9vayBhdCB0aGUgZmxhZ3Mgb2YgdGhlIHNlZWsgZXZlbnQKCSAgaW5zdGVhZCBvZiBhc3N1bWluZyBzb21lIHJhbmRvbSBmbGFncywgZG9uJ3Qgc2VuZCBzZWdtZW50LXN0YXJ0CgkgIG1lc3NhZ2VzIHdoZW4gb3BlcmF0aW5nIGluIHB1c2ggbW9kZSBhbmQgcHVzaCBzZWVrIGV2ZW50cyB1cHN0cmVhbQoJICBpZiB3ZSBjb3VsZG4ndCBoYW5kbGUgdGhlbS4KCjIwMDgtMTAtMjcgMDk6Mjc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoKMjAwOC0xMC0yNyAwOToyNToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZSBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCSAgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaWxlcyAod2hpY2ggYXJlIG1vcmUgdGhhbgoJICBvZnRlbiBpbmNvcnJlY3QgYW5kIGNhdXNlIGZhaWxlZCBzZWVrcykuCgkgIEZvciBwdXNoIG1vZGUgd2Ugc3RpbGwgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSB0aGUgZmlsZSBhbmQgZXh0ZW5kIGl0CgkgIHdoaWxlIGRvaW5nIHRoZSBwbGF5YmFjay4KCjIwMDgtMTAtMjcgMDk6MjA6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbCBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KToKCSAgSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbAoJICBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkb2VzIHdoYXQgd2Ugd2FudCBhbmQgaXMgbXVjaAoJICBtb3JlIHNpbXBsZS4KCjIwMDgtMTAtMjcgMDk6MTQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguKjogSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUKCSAgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdCB3aGVuIHN0YXJ0aW5nIGEgbmV3IHN0cmVhbSB0byBnZXQKCSAgYWxsIG9sZCBlbnRyaWVzIHJlbW92ZWQuCgoyMDA4LTEwLTI3IDA5OjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCjIwMDgtMTAtMjcgMDk6MTA6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMgaGFuZGxlZC4KCjIwMDgtMTAtMjcgMDg6NTc6MjcgKzAwMDAgIERhdmlkIEjDpHJkZW1hbiA8ZGF2aWRAaGFyZGVtYW4ubnU+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yLCB3aGljaCBwcm92aWRlcyBhZGRpdGlvbmFsIGZyZXF1ZW5jaWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYXZpZCBIw6RyZGVtYW4gPGRhdmlkIGF0IGhhcmRlbWFuIGRvdCBudT4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX25pdCk6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvciwgd2hpY2ggcHJvdmlkZXMKCSAgYWRkaXRpb25hbCBmcmVxdWVuY2llcyB0aGF0IHNob3VsZCBiZSBzY2FubmVkIGJ5IGEgRFZCIGFwcGxpY2F0aW9uLgoJICBGaXhlcyBidWcgIzU1NzgxNC4KCjIwMDgtMTAtMjcgMDg6NTI6NTAgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogRml4IEVPUyBsb2dpYyBieSBjb3JyZWN0bHkgcG9wcGluZyB0aGUgY29sbGVjdCBwYWQgYnVmZmVycyBvbmx5IHdoZW4gd2UndmUgY2hvc2VuIHRvIHVzZSB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtKToKCSAgRml4IEVPUyBsb2dpYyBieSBjb3JyZWN0bHkgcG9wcGluZyB0aGUgY29sbGVjdCBwYWQgYnVmZmVycyBvbmx5CgkgIHdoZW4gd2UndmUgY2hvc2VuIHRvIHVzZSB0aGVtIGluc3RlYWQgb2YgcG9wcGluZyB0aGVtIGFsd2F5cyBhbmQKCSAgc3RvcmluZyB0aGVtIGluIGEgcHJpdmF0ZSBxdWV1ZS4KCSAgQmVmb3JlIHRoZSBwaXBlbGluZSB3b3VsZCBkZWFkbG9jayBpZiBhbGwgcGFkcyBnbyBFT1MgYXQgdGhlIHNhbWUKCSAgdGltZS4gRml4ZXMgYnVnICM1NTc3NjMuCgoyMDA4LTEwLTI2IDIwOjA3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCj09PSByZWxlYXNlIDAuMTAuOSA9PT0KCjIwMDgtMTAtMjQgMjI6NDU6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC45CgoyMDA4LTEwLTI0IDIxOjQzOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0xMC0yNCAxNjo0MTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjguNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjguNCBwcmUtcmVsZWFzZQoKMjAwOC0xMC0yMCAxNDoxOToxNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IEZpeCByZXZlcnNlIHBsYXliYWNrIHJlZ3Jlc3Npb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgRml4IHJldmVyc2UgcGxheWJhY2sgcmVncmVzc2lvbi4KCSAgRml4ZXMgIzU1NzA4MAoKMjAwOC0xMC0xOSAxMjozOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IFNldCBhcGV4c2luaydzIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCB1c2VkIGJ5IGF1dG9hdWRpb3NpbmsgKHRoZXJlJ3Mgbm8gcG9pbnQgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgYXBleHNpbmsncyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgdXNlZCBieQoJICBhdXRvYXVkaW9zaW5rICh0aGVyZSdzIG5vIHBvaW50IHJlYWxseSkuICgjNTU2NTg4KQoKMjAwOC0xMC0xNiAxNzoxMjowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjMgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMTYgMTY6Mzc6MzMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IFByb3Blcmx5IGhhbmRsZSBzb21lIHJlc3luYyBjYXNlcyBpbiB0aGUgb3B0aW1pc2VkIGJ1ZmZlcmluZyBzdHJhdGVneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIFByb3Blcmx5IGhhbmRsZSBzb21lIHJlc3luYyBjYXNlcyBpbiB0aGUgb3B0aW1pc2VkCgkgIGJ1ZmZlcmluZyBzdHJhdGVneS4KCjIwMDgtMTAtMTYgMTY6MTg6MzEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06IFJlbW92ZSBpbmNvcnJlY3QgdXNlIG9mIERJUkVDVFNPVU5EX0xERkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTAtMTYgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBpbmNvcnJlY3QgdXNlIG9mIERJUkVDVFNPVU5EX0xERkxBR1MKCjIwMDgtMTAtMTYgMTU6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28gaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKToKCSAgRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbwoJICBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNTU2NTY0LgoKMjAwOC0xMC0xNiAxNTowNjo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC90eXBlZmluZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgoyMDA4LTEwLTE2IDE0OjU0OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBMZWF2ZSBhcGV4c2luayBvdXQgb2YgdGhlIHN0YXRlcyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTGVhdmUgYXBleHNpbmsgb3V0IG9mIHRoZSBzdGF0ZXMgdGVzdC4KCjIwMDgtMTAtMTYgMTM6MDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dCBzZXFudW0gZGlzY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQKCSAgc2VxbnVtIGRpc2NvbnRpbnVpdGllcy4KCSAgSW1wcm92ZSBnYXAgZGV0ZWN0aW9uIGFuZCByZWNvdmVyeSwgcmVzZXQgYW5kIGZsdXNoIHRoZSBqaXR0ZXJidWZmZXIgb24KCSAgc2VxbnVtIHJlc3RhcnQuIEZpeGVzICM1NTY1MjAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBGaXggd3JvbmcgR19MSUtFTFkuCgoyMDA4LTEwLTE2IDExOjU1OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuOC4yIHByZS1yZWxlYXNlIGJ1bXAsIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgaW4gYSB0YXJiYWxsIG9uIDIwMDgtMTAtMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC44LjIgcHJlLXJlbGVhc2UgYnVtcCwgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBpbiBhCgkgIHRhcmJhbGwgb24gMjAwOC0xMC0xMQoKMjAwOC0xMC0xNiAwOTo1MToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBUUlVFLgoKMjAwOC0xMC0xNiAwOToxODozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IE1ha2Ugc3VyZSB0aGUgbXBlZ3BzZGVtdXggZWxlbWVudCBjcmVhdGVzIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgIE1ha2Ugc3VyZSB0aGUgbXBlZ3BzZGVtdXggZWxlbWVudCBjcmVhdGVzIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBGaXhlcyAjNTU2NDI4CgoyMDA4LTEwLTE2IDA4OjE3OjU5ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEZpeGVzIHNlZ2ZhdWx0IGluIGdldF9lbmNvZGluZ19hbmRfY29udmVydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeGVzIHNlZ2ZhdWx0IGluIGdldF9lbmNvZGluZ19hbmRfY29udmVydC4KCSAgRml4ZXMgIzU1NjQ4MgoKMjAwOC0xMC0xNiAwODoxMzo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRml4ZXMgYSBzZWdmYXVsdCBpbiB0aGUgYWRhcHRhdGlvbiBidWZmZXIgc2l6ZSBzdHJhdGVneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRml4ZXMgYSBzZWdmYXVsdCBpbiB0aGUgYWRhcHRhdGlvbiBidWZmZXIgc2l6ZSBzdHJhdGVneS4KCSAgRml4ZXMgIzU1NjQ0MAoKMjAwOC0xMC0xNSAxNzo0NTozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEdyYWNlZnVsbHkgaGFuZGxlIHRoZSBjYXNlcyB3aGVuIHdlIGRvbnQnIGhhdmUgb3RoZXJwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfZXZlbnQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgR3JhY2VmdWxseSBoYW5kbGUgdGhlIGNhc2VzIHdoZW4gd2UgZG9udCcgaGF2ZSBvdGhlcnBhZC4KCSAgRml4ZXMgIzU1NjQzMAoKMjAwOC0xMC0xNCAxNToxMzowNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IEZpeCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24uCgkgIEZpeGVzICM1NTYyNzQKCjIwMDgtMTAtMTQgMTQ6NTM6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6IEZpeCBzb21lIG1vcmUgZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyAoZnJvbSBPUy9YKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgRml4IHNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIChmcm9tIE9TL1gpCgoyMDA4LTEwLTEzIDEyOjI3OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZm9yIGxhdGVzdCBwbHVnaW5zIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZvciBsYXRlc3QgcGx1Z2lucyBjaGFuZ2VzCgoyMDA4LTEwLTEzIDA3OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiAoZ3N0X2FwZXhyYW9wX2Nvbm5lY3QpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF92b2x1bWUpOgoJICBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTAtMTIgMjE6NTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zczQvOiBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgRml4ZXM6ICM1NTU5NjkgIzU1NTk2OCAjNTU1OTY1CgoyMDA4LTEwLTEyIDE3OjA4OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNTU2MDAzLgoKMjAwOC0xMC0xMiAxNzowNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgYXBleHNpbmsgdG8gU1VCRElSUy4gRml4ZXMgYnVnICM1NTU5MTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIGFwZXhzaW5rIHRvIFNVQkRJUlMuIEZpeGVzIGJ1ZyAjNTU1OTEyLgoKMjAwOC0xMC0xMSAxMTowMjoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzogTWFrZSB0aGUgbWV0YWRhdGEgdGVzdCBub3QgZmFpbCB3aGVuIGpwZWdlbmMgaXNuJ3QgYXZhaWxhYmxlLi4uLiBhcyBpdCBpc24ndCBoZXJlLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIE1ha2UgdGhlIG1ldGFkYXRhIHRlc3Qgbm90IGZhaWwgd2hlbiBqcGVnZW5jIGlzbid0IGF2YWlsYWJsZS4uLi4KCSAgYXMgaXQgaXNuJ3QgaGVyZSwgYmVjYXVzZSBpdCdzIG5vdCBpbiB0aGlzIG1vZHVsZSwgYW5kCgkgIHRoZXJlZm9yZSBub3QgaW4gdGhlIHBsdWdpbiBwYXRoIHdoZW4gdGhlIGNoZWNrIHJ1bnMuCgoyMDA4LTEwLTEwIDE2OjMzOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0IGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldAoJICBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yayB3aXRoIChpLmUuIHRoZSBwYWQncyBjYXBzKS4KCSAgQWRkIG5vbi1rZXlmcmFtZSB2aWRlbyBmcmFtZXMgdG8gdGhlIGluZGV4IHRvbyBidXQgd2l0aG91dCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4KCSAgQWRkIGF1ZGlvIGZyYW1lcyB0byB0aGUgaW5kZXggb25seSBpZiB3ZSBoYXZlIG5vIHZpZGVvIHN0cmVhbS4KCjIwMDgtMTAtMTAgMTY6MTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbSBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0KCSAgYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2FwcyBhcmUgc2V0LgoKMjAwOC0xMC0xMCAxNTo1MTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIGZsYWNwYXJzZSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgdG9vIGJ1Z2d5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgZmxhY3BhcnNlIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyB0b28gYnVnZ3kuCgoyMDA4LTEwLTEwIDExOjE3OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTEwLTEwICBKYW4gU2NobWlkdCAgPGphbi5zY2htaWR0QHN1bi5jb20+CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYyAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcKCSAgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTEwLTEwIDExOjAxOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZyB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYyAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcKCSAgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTEwLTA5IDE5OjM4OjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBYODYgYXNzZW1ibHkuCgoyMDA4LTEwLTA5IDE2OjUxOjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZml4IHZhcmlvdXMgYnVpbGQgZmlsZXMgdG8gYWxsb3cgZm9yIGRpc3RpbmcgYW5kIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2YXJpb3VzIGJ1aWxkIGZpbGVzIHRvIGFsbG93IGZvciBkaXN0aW5nIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMuCgoyMDA4LTEwLTA5IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQgKG1heWJlIGJldHRlcikgZHVyYXRpb24gZnJvbQoJICBtZXRhZGF0YSBsYXRlciB3ZSdsbCB1c2UgdGhhdCBpbnN0ZWFkLgoKMjAwOC0xMC0wOSAxNTo0MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbiB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbgoJICB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlYWRhYmxlLgoKMjAwOC0xMC0wOSAxNToyNjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIElmIHdlIGdldCBHU1RfRkxPV19OT1RfTElOS0VEIGluIHRoZSBwYXJzZSBsb29wIGJ1dCBhdCBsZWFzdAoJICBvbmUgb2YgdGhlIHBhZHMgaXMgbGlua2VkIGNvbnRpbnVlIHRoZSBsb29wLgoKMjAwOC0xMC0wOSAxMDowMTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZW5jLio6IFBhc3MgdGhlIGRpc2NvbnQgZmxhZyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgb24gdG8gdGhlIG91dHB1dCBidWZmZXIgaW4gdGhlIEFNUiBlbmNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgUGFzcyB0aGUgZGlzY29udCBmbGFnIGZyb20gdGhlIGlucHV0IGJ1ZmZlciBvbiB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbgoJICB0aGUgQU1SIGVuY29kZXIuCgoyMDA4LTEwLTA5IDEwOjAwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbCB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpOgoJICBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwKCSAgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjb2RlciBhbmQgaGFzIGRpZmZlcmVudCBjYXBzLgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gY29kZWMgaWQgMTQsIHdoaWNoIGlzIE1QMyB3aXRoIDhrSHogc2FtcGxpbmcKCSAgcmF0ZS4KCSAgRml4IGVuZGlhbm5lc3MgYW5kIHNpZ25lZG5lc3MgZm9yIHJhdyBhdWRpbyBjb2RlYyBpZHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhbGF3IGFuZCBtdWxhdyBhdWRpby4KCjIwMDgtMTAtMDkgMDk6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKToKCSAgR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQKCSAgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcyBlbXB0eS4KCSAgQWRkIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHRoZSBoZWFkZXIgYW5kIHRhZyBzaXplLgoJICBEb24ndCBwcmludCBzeW5jaHJvbml6aW5nIG1lc3NhZ2UgaWYgZXZlcnl0aGluZyBpcyBmaW5lLgoKMjAwOC0xMC0wOSAwOToyNjo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZyBvZiBzdHJlYW0gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9iYXNlX2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfY2xhc3NfaW5pdCksIChnc3RfZmx2X211eF9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2ZpbmFsaXplKSwgKGdzdF9mbHZfbXV4X3Jlc2V0KSwKCSAgKGdzdF9mbHZfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLCAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2hlYWRlciksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKSwgKGdzdF9mbHZfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nCgkgIG9mIHN0cmVhbSBtZXRhZGF0YS4KCjIwMDgtMTAtMDkgMDk6MjE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLio6IEFkZCBmbHVzaCBzZWVrIGhhbmRsZXIuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBBZGQgZmx1c2ggc2VlayBoYW5kbGVyLiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgkgIFN5bmMgdGhlIGNvZGUgbW9yZSBhbmQgdXNlICNkZWZpbmVzIGZvciBIRUFERVIuCgoyMDA4LTEwLTA5IDA4OjQzOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS4qOiBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5LiBBbHNvIHNldCBjYXBzIG9uIHRoZSBwYWRzIGFuZCBidWZmZXJzIG1vcmUgY29ycmVjdGx5LiBUYWtlbiBmcm9tIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5LiBBbHNvIHNldCBjYXBzIG9uIHRoZSBwYWRzIGFuZCBidWZmZXJzIG1vcmUKCSAgY29ycmVjdGx5LiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgoyMDA4LTEwLTA4IDE2OjIwOjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC86IEFkZCBGbHVlbmRvIHRvIHRoZSBMb25nIE5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBBZGQgRmx1ZW5kbyB0byB0aGUgTG9uZyBOYW1lLgoKMjAwOC0xMC0wOCAxNToyNToyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXguCgkgIEZpeGVzICM1NTUxOTMuCgoyMDA4LTEwLTA4IDE1OjIyOjEyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eAoKMjAwOC0xMC0wOCAxMDoyMToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogUHJldmVudCBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbGFzdCBtdXggcmF0ZSB3YXMgemVyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICBQcmV2ZW50IGEgZGl2aXNpb24gYnkgemVybyBpZiBsYXN0IG11eCByYXRlIHdhcyB6ZXJvLgoJICBJZiB3ZSdyZSBnb2luZyB0byBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBidXQgdGhlIHNlZ21lbnQgc3RhcnQKCSAgYW5kIHRoZSBjdXJyZW50IGJ1ZmZlciB0aW1lc3RhbXAgZGlmZmVyIGJ5IG1vcmUgdGhhbiBhIHNlY29uZCB3ZQoJICB3aWxsIHN0YXJ0IHRoZSBORVdTRUdNRU5UIGF0IHRoZSBidWZmZXIgdGltZXN0YW1wLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHRoZSB0djItMV8yNS5tcGcgZmlsZSwgd2hpY2ggaGFzIDAgYXMgZmlyc3QgU0NSCgkgIGJ1dCB0aGUgZmlyc3QgUFRTIGFyZSBhcm91bmQgMSBob3VyIGFuZCA0MCBtaW51dGVzLgoJICBGaXhlcyBidWcgIzU1Mzc1NS4KCjIwMDgtMTAtMDcgMjE6Mjk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEZpeCBuZXh0L3ByZXYgY2hhcHRlciBzZWVraW5nIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgRml4IG5leHQvcHJldiBjaGFwdGVyIHNlZWtpbmcgYXQgdGhlIGJlZ2lubmluZyBvciBlbmQuCgkgIFVzZSA2NC1iaXQgc2NhbGluZyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgY29udmVydGluZyBNUEVHCgkgIHRpbWVzdGFtcHMuCgoyMDA4LTEwLTA3IDE4OjU0OjQxICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfaW50ZXJuYWxfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgQWRkIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjaGVja19jb2xsaXNpb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgYW4gUlRQU291cmNlIG9iamVjdCBieSBTU1JDLgoJICBTZWUgIzU1NTM5Ni4KCjIwMDgtMTAtMDcgMTM6MTQ6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOiBDaG9vc2UgcmlnaHQgcGFkIGZvciBzZW5kaW5nIGV2ZW50cy4gRml4ZXMgIzU1NTI0NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgQ2hvb3NlIHJpZ2h0IHBhZCBmb3Igc2VuZGluZyBldmVudHMuIEZpeGVzICM1NTUyNDQKCjIwMDgtMTAtMDcgMTE6MzM6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X3BhZCksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksIChyZW1vdmVfcmVjdl9ydHApLAoJICAocmVtb3ZlX3JlY3ZfcnRjcCksIChyZW1vdmVfc2VuZF9ydHApLCAocmVtb3ZlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgU3RhcnQgaW1wbGVtZW50aW5nIHJlbGVhc2luZyBwYWRzIG9mIGdzdHJ0cGJpbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChyZW1vdmVfcmVjdl9ydHBfc2luayksCgkgIChyZW1vdmVfcmVjdl9ydGNwX3NpbmspLCAocmVtb3ZlX3NlbmRfcnRwX3NpbmspLAoJICAocmVtb3ZlX3NlbmRfcnRjcF9zcmMpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBwYWRzIGluIGdzdHJ0cHNlc3Npb24uCgoyMDA4LTEwLTA3IDEwOjAyOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpOgoJICBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlCgkgIHN0cmVhbXMuCgoyMDA4LTEwLTA2IDE2OjAxOjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjCgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgU3RhcnQgdXNpbmcgY29yZSBnZW8gdGFncyAoYnVtcCByZXEpLiBGaXggaGFuZGxpbmcgb2YgbG9jYXRpb24KCSAgcmVmZXJlbmNlcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgU29ydCBibGFja2xpc3RlZCBlbGVtZW50cyBhbmQgcmVtb3ZlIG1vdmVkIG9uZXMuIEFkZCBuZXcgdGVzdC4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgQWRkIGZpcnN0IHRlc3RzIGZvciBtZXRhZGF0YSBlbGVtZW50LgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNb3ZlIGZyZWUgdG8gY29ycmVjdCBwbGFjZS4KCjIwMDgtMTAtMDYgMTU6NTM6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IFN0b3AgdGVzdCBvbiBzdGF0ZS1jaGFuZ2UgZXJyb3IuIFNob3VsZCBiZSBhcHBsaWVkIG9uIG90aGVyIG1vZHVsZXMgaWYgd2UgYWdyZWUgdGhhdCBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBTdG9wIHRlc3Qgb24gc3RhdGUtY2hhbmdlIGVycm9yLiBTaG91bGQgYmUgYXBwbGllZCBvbiBvdGhlciBtb2R1bGVzIGlmCgkgIHdlIGFncmVlIHRoYXQgaXQgbWFrZXMgc2Vuc2UuCgoyMDA4LTEwLTA2IDEyOjAxOjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEFjdHVhbGx5IGNvcHkgdGhlIHN0cnVjdHVyZSBwYXNzZWQgaW4gd2hlbiBhc3NpZ25pbmcgaXQgYmVjYXVzZSBpdCBnZXRzIGZyZWVkIHN0cmFpZ2h0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBY3R1YWxseSBjb3B5IHRoZSBzdHJ1Y3R1cmUgcGFzc2VkIGluIHdoZW4gYXNzaWduaW5nIGl0IGJlY2F1c2UKCSAgaXQgZ2V0cyBmcmVlZCBzdHJhaWdodCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbC4KCSAgUmU6IHBhdF9pbmZvIGFuZCBwbXRfaW5mbyBHc3RTdHJ1Y3R1cmVzLgoKMjAwOC0xMC0wNiAwODozMjo0MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRml4IHdyb25nIGZpcmluZyBvZiBjcml0aWNhbCBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIG9wdGltaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRml4IHdyb25nIGZpcmluZyBvZiBjcml0aWNhbCBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIG9wdGltaXNhdGlvbi4KCjIwMDgtMTAtMDMgMTc6MTE6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFdhcm4gYW5kIGNsYW1wIHRvIG1heCBiaXRyYXRlIGZvciBzYW1wbGVyYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCk6CgkgIFdhcm4gYW5kIGNsYW1wIHRvIG1heCBiaXRyYXRlIGZvciBzYW1wbGVyYXRlLgoJICBGaXhlcyAjNTUwNDg2LgoKMjAwOC0xMC0wMyAwOToxMToxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggcG9zc2libGUgY3Jhc2ggd2hlcmUgcGF0IGlzIHBvaW50aW5nIHRvIGEgZnJlZWQgc3RydWN0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHBvc3NpYmxlIGNyYXNoIHdoZXJlIHBhdCBpcyBwb2ludGluZyB0byBhIGZyZWVkIHN0cnVjdHVyZS4KCjIwMDgtMTAtMDMgMDU6NTc6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IEFkZCBtYXBwaW5nIG9mIGZvcm1hdCBhbmQgbWltZSB0eXBlIHRvIHhtcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgQWRkIG1hcHBpbmcgb2YgZm9ybWF0IGFuZCBtaW1lIHR5cGUgdG8geG1wLgoKMjAwOC0xMC0wMiAxNDo0MjoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogUmV2ZXJ0aW5nLiBXaWxsIG5lZWQgdG8gd2FpdCBmb3IgY29yZSAwLjEwLjIxIHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFJldmVydGluZy4gV2lsbCBuZWVkIHRvIHdhaXQgZm9yIGNvcmUgMC4xMC4yMSByZWxlYXNlLgoKMjAwOC0xMC0wMiAxMzo1Mjo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogVXNlIGNvcmUgZ3NwIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFVzZSBjb3JlIGdzcCB0YWdzLgoKMjAwOC0wOS0zMCAxNzowMzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIEdzdEluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfZmluYWxpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X2luZGV4KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2dldF9pbmRleCk6CgkgIEFkZCBzdXBwb3J0IGZvciBHc3RJbmRleC4KCjIwMDgtMDktMzAgMTY6NDE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLio6IFByb3ZpZGUgYSB2ZnVuYyBmb3IgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGV0aGVyIGEgZnJhbWUgaXMgaW5zaWRlIHRoZSBzZWdtZW50IG9yIG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NvbnZlcnQpLCAoZ3N0X2Jhc2VfcGFyc2VfZnJhbWVfaW5fc2VnbWVudCk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgUHJvdmlkZSBhIHZmdW5jIGZvciB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoZXRoZXIgYSBmcmFtZSBpcyBpbnNpZGUKCSAgdGhlIHNlZ21lbnQgb3Igbm90IGFuZCBhZGQgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJICBGaXggYXBwcm94aW1hdGUgYml0cmF0ZSBjYWxjdWxhdGlvbnMuCgoyMDA4LTA5LTMwIDE2OjIyOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiBBcHByb3hpbWF0ZSB0aGUgYXZlcmFnZSBiaXRyYXRlLCBkdXJhdGlvbiBhbmQgc2l6ZSBpZiBwb3NzaWJsZSBhbmQgYWRkIGEgZGVmYXVsdCBjb252ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKSwgKGdzdF9iYXNlX3BhcnNlX2NoYWluKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2xvb3ApLCAoZ3N0X2Jhc2VfcGFyc2VfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY29udmVydCksIChnc3RfYmFzZV9wYXJzZV9xdWVyeSk6CgkgIEFwcHJveGltYXRlIHRoZSBhdmVyYWdlIGJpdHJhdGUsIGR1cmF0aW9uIGFuZCBzaXplIGlmIHBvc3NpYmxlCgkgIGFuZCBhZGQgYSBkZWZhdWx0IGNvbnZlcnNpb24gZnVuY3Rpb24gd2hpY2ggdXNlcyB0aGlzIGZvcgoJICB0aW1lPC0+Ynl0ZSBjb252ZXJzaW9ucy4KCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOiAoZ3N0X2ZsYWNfcGFyc2VfZ2V0X2ZyYW1lX3NpemUpOgoJICBGaXggcGFyc2luZyBpZiB1cHN0cmVhbSBnaXZlcyAtMSBhcyBkdXJhdGlvbi4KCjIwMDgtMDktMzAgMTU6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdCB0aGUgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fc3NyY19hY3RpdmUpLCAob25fc3NyY19zZGVzKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAob25fc2VuZGVyX3RpbWVvdXQpOgoJICBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQKCSAgdGhlIHNpZ25hbHMuCgoyMDA4LTA5LTMwIDExOjE5OjEwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzLzogTmV3IHBsdWdpbiBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgcGxheWJhY2sgdXNpbmcgV2luZG93cyBBdWRpbyBTZXNzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICBOZXcgcGx1Z2luIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBwbGF5YmFjayB1c2luZyBXaW5kb3dzIEF1ZGlvIFNlc3Npb24KCSAgQVBJIChXQVNBUEkpIGF2YWlsYWJsZSB3aXRoIFZpc3RhIGFuZCBuZXdlciAoIzUyMDkwMSkuCgkgIENvbWVzIHdpdGggaGFyZGNvZGVkIGNhcHMgYW5kIG9idmlvdXNseSBuZWVkcyBsb3RzIG9mIGxvdmUuIEhhdmVuJ3QKCSAgaGFkIHRpbWUgdG8gd29yayBvbiB0aGlzIGNvZGUgc2luY2UgaXQgd2FzIHdyaXR0ZW4sIHdhcyBpbml0aWFsbHkganVzdAoJICBhIHF1aWNrIGV4cGVyaW1lbnQgdG8gcGxheSBhcm91bmQgd2l0aCB0aGlzIG5ldyBBUEkuCgoyMDA4LTA5LTMwIDEwOjQzOjU0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHAKCSAgKEF1ZGlvRmFrZVNpbmsuRG9SZW5kZXJTYW1wbGUpOgoJICBGaXggYSBjb3VwbGUgb2Ygc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZ3MuCgoyMDA4LTA5LTMwIDEwOjIyOjEwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IFVzZSB0aGUgX1QoKSBtYWNybyB0byBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmggKEF1ZGlvRmFrZVNpbmsuQXVkaW9GYWtlU2luayk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmggKFZpZGVvRmFrZVNpbmsuVmlkZW9GYWtlU2luayk6CgkgIFVzZSB0aGUgX1QoKSBtYWNybyB0byBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUy4KCjIwMDgtMDktMzAgMTA6MTc6NDEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jIChwbHVnaW5faW5pdCk6IEZpeCByZXR1cm4gdHlwZSBvZiB0aGUgR3N0VVJJSGFuZGxlcjo6Z2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYyAocGx1Z2luX2luaXQpOgoJICBGaXggcmV0dXJuIHR5cGUgb2YgdGhlIEdzdFVSSUhhbmRsZXI6OmdldF90eXBlKCkgaW1wbGVtZW50YXRpb24uCgoyMDA4LTA5LTI5IDA4OjI2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgRkxBQyBwYXJzZXIsIGJhc2VkIG9uIEdzdEJhc2VQYXJzZS4gQWxzbyBhZGQgdGhlIGJpdCBhbmQgYnl0ZSByZWFkZXIgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGxpYmdzdGJhc2UgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9nZXRfdHlwZSksCgkgIChnc3RfYmFzZV9wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfYmFzZV9maW5hbGl6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9maW5hbGl6ZSksIChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfY2hlY2tfZnJhbWUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfcGFyc2VfZnJhbWUpLCAoZ3N0X2Jhc2VfcGFyc2VfYnl0ZXBvc190b190aW1lKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19ldmVudGZ1bmMpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9iYXNlX3BhcnNlX3NyY19ldmVudGZ1bmMpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaXNfc2Vla2FibGUpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX2FuZF9wdXNoX2J1ZmZlciksIChnc3RfYmFzZV9wYXJzZV9kcmFpbiksCgkgIChnc3RfYmFzZV9wYXJzZV9jaGFpbiksIChnc3RfYmFzZV9wYXJzZV9wdWxsX3JhbmdlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2xvb3ApLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9hY3RpdmF0ZSksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9iYXNlX3BhcnNlX3NldF9kdXJhdGlvbiksCgkgIChnc3RfYmFzZV9wYXJzZV9zZXRfbWluX2ZyYW1lX3NpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X3F1ZXJ5dHlwZXMpLCAoZ3N0X2Jhc2VfcGFyc2VfcXVlcnkpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX3NlZWspLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmM6IChnc3RfYml0X3JlYWRlcl9uZXcpLAoJICAoZ3N0X2JpdF9yZWFkZXJfbmV3X2Zyb21fYnVmZmVyKSwgKGdzdF9iaXRfcmVhZGVyX2ZyZWUpLAoJICAoZ3N0X2JpdF9yZWFkZXJfaW5pdCksIChnc3RfYml0X3JlYWRlcl9pbml0X2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9iaXRfcmVhZGVyX3NldF9wb3MpLCAoZ3N0X2JpdF9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3RfYml0X3JlYWRlcl9nZXRfcmVtYWluaW5nKSwgKGdzdF9iaXRfcmVhZGVyX3NraXApLAoJICAoZ3N0X2JpdF9yZWFkZXJfc2tpcF90b19ieXRlKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5jOiAoR0RPVUJMRV9TV0FQX0xFX0JFKSwKCSAgKEdGTE9BVF9TV0FQX0xFX0JFKSwgKGdzdF9ieXRlX3JlYWRlcl9uZXcpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX25ld19mcm9tX2J1ZmZlciksIChnc3RfYnl0ZV9yZWFkZXJfZnJlZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfaW5pdCksIChnc3RfYnl0ZV9yZWFkZXJfaW5pdF9mcm9tX2J1ZmZlciksCgkgIChnc3RfYnl0ZV9yZWFkZXJfc2V0X3BvcyksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3JlbWFpbmluZyksIChnc3RfYnl0ZV9yZWFkZXJfc2tpcCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQ4KSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50OCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50OCksIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQ4KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDI0X2JlKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOiAoZ3N0X2ZsYWNfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNfcGFyc2VfaW5pdCksCgkgIChnc3RfZmxhY19wYXJzZV9maW5hbGl6ZSksIChnc3RfZmxhY19wYXJzZV9zdGFydCksCgkgIChnc3RfZmxhY19wYXJzZV9zdG9wKSwgKGdzdF9mbGFjX3BhcnNlX2dldF9mcmFtZV9zaXplKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9zdHJlYW1pbmZvKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV92b3JiaXNjb21tZW50KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9waWN0dXJlKSwgKF92YWx1ZV9hcnJheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9oZWFkZXJzKSwgKGdzdF9mbGFjX3BhcnNlX2dlbmVyYXRlX2hlYWRlcnMpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfcGFyc2VfZnJhbWUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmg6CgkgIEFkZCBGTEFDIHBhcnNlciwgYmFzZWQgb24gR3N0QmFzZVBhcnNlLiBBbHNvIGFkZCB0aGUgYml0IGFuZCBieXRlIHJlYWRlcgoJICB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gbGliZ3N0YmFzZSBsYXRlci4KCSAgVGhlIEZMQUMgcGFyc2VyIGlzIGN1cnJlbnRseSBub3QgMTAwJSBidWcgZnJlZSBhbmQgZmFpbHMgdG8gZ2V0IHRoZQoJICBjb3JyZWN0IGZyYW1lIHNpemUgZm9yIHNvbWUgZnJhbWVzIGluIHNvbWUgc3RyZWFtcy4KCjIwMDgtMDktMjcgMDE6MTI6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkLzogQWRkIGluIFRpdGxlL0NoYXB0ZXIgc2Vla2luZywgYW5kIHNpbXBsZSBidXQgYnVnZ3kgYXVkaW8gYW5kIHN1YnRpdGxlIHN0cmVhbSBzZWxlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIEFkZCBpbiBUaXRsZS9DaGFwdGVyIHNlZWtpbmcsIGFuZCBzaW1wbGUgYnV0IGJ1Z2d5IGF1ZGlvCgkgIGFuZCBzdWJ0aXRsZSBzdHJlYW0gc2VsZWN0aW9uLgoKMjAwOC0wOS0yNCAxNzoyMTo0MSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IFByZWZlciBrbm93bi1nb29kIGZpbHRlcnMsIGNyZWF0ZSBkaXJlY3RseSBieSBHVUlEIGlmIHBvc3NpYmxlLCBmYWxsIGJhY2sgdG8gY3JlYXRpbmcgaGlnaGVzdC1tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIFByZWZlciBrbm93bi1nb29kIGZpbHRlcnMsIGNyZWF0ZSBkaXJlY3RseSBieSBHVUlEIGlmIHBvc3NpYmxlLAoJICBmYWxsIGJhY2sgdG8gY3JlYXRpbmcgaGlnaGVzdC1tZXJpdCBmaWx0ZXIgb3RoZXJ3aXNlLgoJICBGaXhlcyBwbGF5YmFjayB3aXRoIHJhbmRvbSBkc2hvdyBmaWx0ZXJzIGluc3RhbGxlZCBpbiBzb21lCgkgIGNhc2VzLgoKMjAwOC0wOS0yMyAxODoxMzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEZpeCBzb21lIGRvY3MuCgoyMDA4LTA5LTIzIDE3OjM0OjQ0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgUGF0Y2ggZnJvbTogSm9zZXAgVG9ycmEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGZyb206IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgVXNlIGEgcHJlYWxsb2NhdGVkIGJ1ZmZlciBwZXIgc3RyZWFtIGZvciBQRVMgcGFja2V0cyBzZW50IG9uIHNyYyBwYWRzLgoJICBBZGFwdGl2ZWx5IGFkanVzdCBidWZmZXIgc2l6ZSBhcHByb3ByaWF0ZWx5LgoKMjAwOC0wOS0xNyAxNDo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IENsZWFuIHVwIHRoZSBkZWJ1ZyBsb2dnaW5nIGNvZGUgYW5kICNpZmRlZiBtZXNzIGEgYml0OiB3aGV0aGVyIG9yIG5vdCBnc3RyZWFtZXIgZGVidWcgbWVzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBDbGVhbiB1cCB0aGUgZGVidWcgbG9nZ2luZyBjb2RlIGFuZCAjaWZkZWYgbWVzcyBhIGJpdDogd2hldGhlciBvciBub3QKCSAgZ3N0cmVhbWVyIGRlYnVnIG1lc3NhZ2VzIHNob3VsZCBiZSBvdXRwdXQgc2hvdWxkIG5vdCBkZXBlbmQgb24gYW4KCSAgZWxlbWVudCBwcm9wZXJ0eTsgYWxzbywgR1NUX0VMRU1FTlRfRVJST1Igd2lsbCBsZWF2ZSBhIGxpbmUgaW4gdGhlIGxvZwoJICBhbHJlYWR5LCBzbyBtZXJnZSB0aGUgbW9yZSB1c2VmdWwgZGVidWcgbG9nIG1lc3NhZ2VzIHdpdGggdGhlIGxlc3MgdXNlZnVsCgkgIGVycm9yIGRlYnVnIHN0cmluZ3MuCgoyMDA4LTA5LTE3IDE0OjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRG9uJ3QgcG9zdCBMSUJSQVJZX0lOSVQgZXJyb3JzIHdoZXJlIHdlIHNob3VsZCBiZSBwb3N0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgRG9uJ3QgcG9zdCBMSUJSQVJZX0lOSVQgZXJyb3JzIHdoZXJlIHdlIHNob3VsZCBiZSBwb3N0aW5nCgkgIFJFU09VUkNFIE9QRU5fUkVBRCBlcnJvcnMuIEZpeGVzICM1NTI1MDYuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA5LTE3IDA5OjA2OjU3ICswMDAwICBNaWNoYWVsIEtydWZreSA8bWtydWZreUBsaW51eHR2Lm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBhZGFwdGVyX25hbWUgZm9yIGJ1cyBtZXNzYWdlIGluIEFUU0MgY2FzZS4gRml4ZXMgIzU1MjUzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNaWNoYWVsIEtydWZreQoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBhZGFwdGVyX25hbWUgZm9yIGJ1cyBtZXNzYWdlIGluIEFUU0MgY2FzZS4gRml4ZXMgIzU1MjUzNi4KCjIwMDgtMDktMTUgMDk6Mzk6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDogSGVscCBndGstZG9jIHRvIHBhcnNlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEhlbHAgZ3RrLWRvYyB0byBwYXJzZSB0aGlzIGNvcnJlY3RseS4KCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBBZGQgbWlzc2luZyBpbmNsdWRlLgoKMjAwOC0wOS0xNSAwOTozNDoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IE9ubHkgYnVpbHQgc2NhbGV0ZW1wbyBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgT25seSBidWlsdCBzY2FsZXRlbXBvIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsuCgoyMDA4LTA5LTEzIDAxOjM3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0IHNlZW4gYW4gU1IgcGFja2V0LiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldAoJICBzZWVuIGFuIFNSIHBhY2tldC4gQXZvaWRzIGxhcmdlIHRzLW9mZnNldHMgaW4gc29tZSBjYXNlcy4KCjIwMDgtMDktMTAgMjM6MTU6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBNYWpvciByZXdyaXRlIG9mIGRzaG93ZGVjd3JhcHBlci4gQ29udmVydHMgY29kZSB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBNYWpvciByZXdyaXRlIG9mIGRzaG93ZGVjd3JhcHBlci4gQ29udmVydHMgY29kZSB0bwoJICBDKyssIG1vdmVzIHRvIGRpcmVjdCB1c2Ugb2YgRGlyZWN0U2hvdyBiYXNlIGNsYXNzZXMsCgkgIG1ha2UgYSBsb3Qgb2YgY29kZSBjbGVhcmVyLCBzaW1wbGlmeSwgZXRjLgoJICBGaXggZGVjb2RlIG9mIE1QMyBvbiBWaXN0YSBieSB3b3JraW5nIGFyb3VuZCBhbiBhcHBhcmVudAoJICBidWcgaW4gdGhlIGRlY29kZXIuCgoyMDA4LTA5LTEwIDEyOjA1OjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2dzdGtzY2xvY2suYyAoZ3N0X2tzX2Nsb2NrX3dvcmtlcl90aHJlYWRfZnVuYywgZ3N0X2tzX2Nsb2NrX3N0YXJ0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suYyAoZ3N0X2tzX2Nsb2NrX3dvcmtlcl90aHJlYWRfZnVuYywKCSAgZ3N0X2tzX2Nsb2NrX3N0YXJ0KToKCSAgU3luY2hyb25pemUgS1MgY2xvY2sgYXMgYSBzaW5nbGUtc2hvdCBvcGVyYXRpb24gZm9yIG5vdywgdGhlcmUncyBub3QKCSAgbXVjaCBwb2ludCBpbiBkb2luZyBpdCBwZXJpb2RpY2FsbHkgdW50aWwgd2UncmUgYWN0dWFsbHkgdXNpbmcgdGhlCgkgIEtTIHRpbWVzdGFtcHMgZm9yIGFueXRoaW5nIGVsc2UgdGhhbiBqdXN0IGRpc2NhcmRpbmcgb2xkIGZyYW1lcy4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChnc3Rfa3NfdmlkZW9fc3JjX29wZW5fZGV2aWNlKToKCSAgUHJvdmlkZSB0aGUgR3N0Q2xvY2sgd2hlbiBvcGVuaW5nIHRoZSBkZXZpY2UgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZS4KCjIwMDgtMDktMDkgMjM6NTg6MDIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChHU1RfREVCVUdfSVNfRU5BQkxFRCwgbGFzdF90aW1lc3RhbXAsIGdzdF9rc192aWRlb19kZXZpY2VfcHJlcGFyZV9idWZmZXJzLCBnc3Rfa3NfdmlkZW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoR1NUX0RFQlVHX0lTX0VOQUJMRUQsIGxhc3RfdGltZXN0YW1wLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3ByZXBhcmVfYnVmZmVycywgZ3N0X2tzX3ZpZGVvX2RldmljZV9jcmVhdGVfcGluLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSwgZ3N0X2tzX3ZpZGVvX2RldmljZV9yZXF1ZXN0X2ZyYW1lLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3JlYWRfZnJhbWUpOgoJICBHdWFyZCBhZ2FpbnN0IGNhcHR1cmluZyBvbGQgZnJhbWVzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhc3QKCSAgdGltZXN0YW1wIGFuZCBhbHNvIHplcm8tZmlsbCB0aGUgYnVmZmVycyBiZWZvcmUgZWFjaCBjYXB0dXJlLgoJICBPbmx5IGFzc2lnbiBhIG1hc3RlciBjbG9jayBpZiB0aGUgcGluIGhhc24ndCBhbHJlYWR5IGdvdCBvbmUuCgkgIEFjdHVhbGx5IGZyZWUgYnVmZmVycyBvbiB0aGUgd2F5IGRvd24gdG8gYXZvaWQgYSBodWdlIG1lbW9yeSBsZWFrLAoJICBhcyB0aGlzIHdhcyBwcmV2aW91c2x5IGRvbmUgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBBQ1FVSVJFIGRvd253YXJkcwoJICBhbmQgd2Ugbm93IHNraXAgdGhhdCBzdGF0ZSBvbiB0aGUgd2F5IGRvd24uCgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKERFRkFVTFRfREVWSUNFX1BBVEgsIERFRkFVTFRfREVWSUNFX05BTUUsCgkgIERFRkFVTFRfREVWSUNFX0lOREVYLCBLU19XT1JLRVJfTE9DSywgS1NfV09SS0VSX1VOTE9DSywKCSAgS1NfV09SS0VSX1dBSVQsIEtTX1dPUktFUl9OT1RJRlksIEtTX1dPUktFUl9XQUlUX0ZPUl9SRVNVTFQsCgkgIEtTX1dPUktFUl9OT1RJRllfUkVTVUxULCBLU19XT1JLRVJfU1RBVEVfU1RBUlRJTkcsCgkgIEtTX1dPUktFUl9TVEFURV9SRUFEWSwgS1NfV09SS0VSX1NUQVRFX1NUT1BQSU5HLAoJICBLU19XT1JLRVJfU1RBVEVfRVJST1IsIEtzV29ya2VyU3RhdGUsIGRldmljZV9wYXRoLCBkZXZpY2VfbmFtZSwKCSAgZGV2aWNlX2luZGV4LCBydW5uaW5nLCB3b3JrZXJfdGhyZWFkLCB3b3JrZXJfbG9jaywKCSAgd29ya2VyX25vdGlmeV9jb25kLCB3b3JrZXJfcmVzdWx0X2NvbmQsIHdvcmtlcl9zdGF0ZSwKCSAgd29ya2VyX3BlbmRpbmdfY2Fwcywgd29ya2VyX3NldGNhcHNfcmVzdWx0LCB3b3JrZXJfcGVuZGluZ19ydW4sCgkgIHdvcmtlcl9ydW5fcmVzdWx0LCBnc3Rfa3NfdmlkZW9fc3JjX3Jlc2V0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2FwcGx5X2RyaXZlcl9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfb3Blbl9kZXZpY2UsCgkgIGdzdF9rc192aWRlb19zcmNfY2xvc2VfZGV2aWNlLCBnc3Rfa3NfdmlkZW9fc3JjX3dvcmtlcl9mdW5jLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3N0YXJ0X3dvcmtlciwgZ3N0X2tzX3ZpZGVvX3NyY19zdG9wX3dvcmtlciwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUsIGdzdF9rc192aWRlb19zcmNfc2V0X2Nsb2NrLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jYXBzLCBnc3Rfa3NfdmlkZW9fc3JjX3RpbWVzdGFtcF9idWZmZXIsCgkgIGdzdF9rc192aWRlb19zcmNfY3JlYXRlKToKCSAgUmVtb3ZlIEVOQUJMRV9DTE9DS19ERUJVRyBkZWZpbmUsIGl0J3MgR1NUX0xFVkVMX0RFQlVHIGFmdGVyIGFsbC4KCSAgR2V0IHJpZCBvZiBQUk9QX0VOU0xBVkVfS1NDTE9DSyBhbmQgYWx3YXlzIHNsYXZlIHRoZSBrcyBjbG9jayB0byB0aGUKCSAgR1N0cmVhbWVyIGNsb2NrLCBpdCBkb2Vzbid0IHNlZW0gdG8gaHVydCBhbmQgbWF0Y2hlcyBEaXJlY3RTaG93J3MKCSAgYmVoYXZpb3IuIEFzIGFuIGFkZGVkIGJvbnVzIHdlIHVzdWFsbHkgZ2V0IFByZXNlbnRhdGlvblRpbWUgc2V0IGZvcgoJICBlYWNoIGZyYW1lLCBzbyB3ZSBjYW4gZXhwYW5kIG9uIHRoaXMgbGF0ZXIgZm9yIHNtYXJ0ZXIgbGF0ZW5jeQoJICByZXBvcnRpbmcgKGJ5IGxvb2tpbmcgYXQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgdGltZXN0YW1wIGZyb20gdGhlCgkgIGRyaXZlciBhbmQgdGhlIHRpbWUgYWNjb3JkaW5nIHRvIHRoZSBHU3RyZWFtZXIgY2xvY2spLgoJICBVc2UgYW4gaW50ZXJuYWwgd29ya2VyIHRocmVhZCBmb3Igb3BlbmluZyB0aGUgZGV2aWNlLCBzZXR0aW5nIGNhcHMsCgkgIGNoYW5naW5nIGl0cyBzdGF0ZSBhbmQgY2xvc2luZyBpdC4gVGhpcyB3YXkgd2UncmUgYSBsb3QgbW9yZQoJICBjb21wYXRpYmxlIHdpdGggZHJpdmVycyB0aGF0IHJlbHkgb24gaGFja3MgdG8gZG8gdmlkZW8tZWZmZWN0cwoJICBiZXR3ZWVuIHRoZSBsb3ctbGV2ZWwgTlQgQVBJIGFuZCB0aGUgYXBwbGljYXRpb24uIEljay4KCSAgU3RhcnQgdGhlIGtzIGNsb2NrIGFuZCBzZXQgdGhlIHBpbiB0byBLU1NUQVRFX1JVTiBvbiB0aGUgZmlyc3QKCSAgY3JlYXRlKCkgc28gdGhhdCB3ZSdsbCBob3BlZnVsbHkgZ2V0IGhvbGQgb2YgdGhlIEdTdHJlYW1lciBjbG9jawoJICBmcm9tIHRoZSB2ZXJ5IGJlZ2lubmluZy4gVGhpcyB3YXkgdGhlcmUncyBubyBjaGFuY2UgdGhhdCB0aGUKCSAgdGltZXN0YW1wcyB3aWxsIG1ha2UgYSBzdWRkZW4ganVtcCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0KCSAgd2hlbiB3ZSdyZSBydW5uaW5nIHdpdGggYSBjbG9jay4KCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmMgKENIRUNLX09QVElPTlNfRkxBRywKCSAga3Nfb3B0aW9uc19mbGFnc190b19zdHJpbmcpOgoJICBSZW9yZGVyIHRoZSBmbGFncyB0byBtYXRjaCB0aGUgaGVhZGVyZmlsZSBvcmRlciwgYW5kIG1ha2UgdGhlIHN0cmluZwoJICBhIGJpdCBtb3JlIGNvbXBhY3QuCgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX3Byb2JlX2ZpbHRlcl9mb3JfY2Fwcyk6CgkgIEF2b2lkIGxlYWtpbmcgS1NQUk9QRVJUWV9QSU5fREFUQVJBTkdFUy4KCjIwMDgtMDktMDkgMTc6NTY6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGpwMmsgcGx1Z2luLiAgRml4ZXMgIzU1MDY1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19jbGFzc19pbml0KSwgKGdzdF9qYXNwZXJfZGVjX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfcmVzZXQpLCAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9qYXNwZXJfZGVjX25lZ290aWF0ZSksIChnc3RfamFzcGVyX2RlY19nZXRfcGljdHVyZSksCgkgIChnc3RfamFzcGVyX2RlY19jaGFpbiksIChnc3RfamFzcGVyX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phc3Blcl9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYXNwZXJfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIEFkZCBqcDJrIHBsdWdpbi4gIEZpeGVzICM1NTA2NTcuCgoyMDA4LTA5LTA5IDExOjQ3OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC86IEZpeCBjb25mbGljdGluZyBwdWJsaWMgbmFtZXMgaW4gbmV3IG1wZWcgZGVtdXhlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zeW5jX2dldF90eXBlKSwKCSAgKGdzdF9mbHVwc19kZW11eF9nZXRfdHlwZSksIChnc3RfZmx1cHNfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogKGdzdF9mbHV0c19kZW11eF9nZXRfdHlwZSksCgkgIChnc3RfZmx1dHNfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBGaXggY29uZmxpY3RpbmcgcHVibGljIG5hbWVzIGluIG5ldyBtcGVnIGRlbXV4ZXJzLgoJICBGaXhlcyAjNTUwNDY4CgoyMDA4LTA5LTA5IDAxOjE0OjEwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBTdXBwb3J0IGNodW5rcyBpbiBBSUZGIGluIGFueSBvcmRlciBpbiBwdWxsIG1vZGUsIGFuZCBhbnkgb3JkZXIgc28gbG9uZyBhcyB3ZSBnZXQgQ09NTSBiZWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgU3VwcG9ydCBjaHVua3MgaW4gQUlGRiBpbiBhbnkgb3JkZXIgaW4gcHVsbCBtb2RlLCBhbmQgYW55IG9yZGVyIHNvCgkgIGxvbmcgYXMgd2UgZ2V0IENPTU0gYmVmb3JlIHRoZSBhY3R1YWwgZGF0YSAoU1NORCkgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBwbGF5YmFjayBvZiBBSUZDIGZpbGVzLgoKMjAwOC0wOS0wOCAyMDoyNzoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJlc2V0IHRoZSBzZWxlY3RvciBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9yZXNldCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVzZXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHRoZSBzZWxlY3RvciBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwOC0wOS0wNSAxMzo1MjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIFR3ZWFrIGxpcC1zeW5jIGNvZGUsIGRvbid0IHN0b3JlIG91ciBvd24gY29weSBvZiB0aGUgdHMtb2Zmc2V0IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIGRvbid0IGFkanVzdCBzeW5jIGlmIHRoZSBjaGFuZ2UgaXMgbGVzcyB0aGFuIDRtc2VjLgoJICBHZXQgdGhlIFJUUCB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZGlyZWN0bHkgZnJvbQoJICB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2Ygb3VyIGluYWNjdXJhdGUgdmVyc2lvbiBmcm9tIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIEdfTElLRUxZIG1hY3JvcywgdXNlIGdsb2JhbCBkZWZpbmVzIGZvciBtYXggcGFja2V0IHJlb3JkZXIgYW5kCgkgIGRyb3BvdXRzLgoJICBSZXNldCB0aGUgaml0dGVyYnVmZmVyIGNsb2NrIHNrZXcgZGV0ZWN0aW9uIHdoZW4gcGFja2V0cyBzZXFudW1zIGFyZQoJICBjaGFuZ2VkIHVuZXhwZWN0ZWRseS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBHX0xJS0VMWSBtYWNyb3MuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGV4dGVuZGVkIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcmVwb3J0IHRoZSBSVFAKCSAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGZvciBsaXAtc3luYy4KCSAgUmVtb3ZlIHNlcnZlciB0aW1lc3RhbXAgZ2FwIGRldGVjdGlvbiBjb2RlLCB0aGUgc2VydmVyIGNhbiBzb21ldGltZXMKCSAgbWFrZSBhIGh1Z2UgZ2FwIGluIHRpbWVzdGFtcHMgKHRhbGsgc3B1cnRzLC4uLikgc2VlICM1NDk3NzQuCgkgIERldGVjdCB0aW1ldGFtcCB3ZWlyZG5lc3MgaW5zdGVhZCBieSBvYnNlcnZpbmcgdGhlIHNlbmRlci9yZWNlaXZlcgoJICB0aW1lc3RhbXAgcmVsYXRpb24gYW5kIHJlc3luYyBpZiBpdCBjaGFuZ2VzIG1vcmUgdGhhbiAxIHNlY29uZC4KCSAgQWRkIG1ldGhvZCB0byByZXBvcnQgYWJvdXQgdGhlIGN1cnJlbnQgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zZW5kZXJfdGltZW91dCksIChjaGVja19jb2xsaXNpb24pLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUsIHRoZQoJICBqaXR0ZXJidWZmZXIgY2FuIG5vdyBkbyBhbiBhY2N1cmF0ZSByZXBvcnRpbmcgYWJvdXQgdGhpcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIERlZmluZSBnbG9iYWwgbWF4LXJlb3JkZXIgYW5kIG1heC1kcm9wb3V0IGNvbnN0YW50cyBmb3IgdXNlIGluIHZhcmlvdXMKCSAgc3Vic3lzdGVtcy4KCjIwMDgtMDktMDUgMTE6MDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgRFZCIEFkYXB0ZXIgbmFtZSB0byBzdHJ1Y3R1cmUgc2VudCBvdmVyIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIERWQiBBZGFwdGVyIG5hbWUgdG8gc3RydWN0dXJlIHNlbnQgb3ZlciBidXMuCgoyMDA4LTA5LTAzIDE0OjAyOjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG1wZWcgZGVtdXhlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1wZWcgZGVtdXhlcgoKMjAwOC0wOS0wMiAxNzo0Mzo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogKGdzdF9mbHV0c19kZW11eF9kYXRhX2NiKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDktMDIgMTI6MDQ6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgRmx1ZW5kbyBNUEVHIFBTIGFuZCBUUyBkZW11eGVycyB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMgaXMgbm93IGR1YWwgbGljZW5zZWQgTVBMIGFuZCBMR1BMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuaDoKCSAgQWRkIEZsdWVuZG8gTVBFRyBQUyBhbmQgVFMgZGVtdXhlcnMgdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzCgkgIGlzIG5vdyBkdWFsIGxpY2Vuc2VkIE1QTCBhbmQgTEdQTC4KCjIwMDgtMDktMDIgMTE6MjM6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobmV3X3BhY2tldF9jYik6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA5LTAyIDA5OjU2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRW5hYmxlL2ZpeCB1cCB0cmFuc2xhdGlvbnMgZm9yIHRoZXNlIHBsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRW5hYmxlL2ZpeCB1cCB0cmFuc2xhdGlvbnMgZm9yIHRoZXNlIHBsdWdpbnMuCgkgICogcG8vTElOR1VBUzoKCSAgQWRkICdjYScgdG8gTElOR1VBUy4KCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgbW9yZSBmaWxlcyBmb3IgdHJhbnNsYXRpb24gYW5kIG1vcmUgZmlsZXMgd2hpY2ggdG9vbHMKCSAgc2hvdWxkIHNraXAuCgoyMDA4LTA5LTAyIDA5OjQ2OjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF93cml0ZV90c19oZWFkZXIpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOS0wMSAxNzo1NDowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBzdWJkaXJzIGluIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBzdWJkaXJzIGluIE1ha2VmaWxlLmFtCgoyMDA4LTA5LTAxIDE3OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogQWxsb2NhdGUgYSBmaXhlZCBzaXplIGJ1ZmZlciBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB1c2luZyBtYWxsb2MoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IChtcGVndHNtdXhfcHJlcGFyZV9hYWMpOgoJICBBbGxvY2F0ZSBhIGZpeGVkIHNpemUgYnVmZmVyIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHVzaW5nIG1hbGxvYygpLgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X25ldyksICh0c211eF9mcmVlKSwKCSAgKHRzbXV4X3Byb2dyYW1fbmV3KSwgKHRzbXV4X3Byb2dyYW1fZnJlZSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fZnJlZSksICh0c211eF9zdHJlYW1fY29uc3VtZSksCgkgICh0c211eF9zdHJlYW1fYWRkX2RhdGEpOgoJICBVc2UgR1NsaWNlLgoKMjAwOC0wOS0wMSAxNzo0NzowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHNCB2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHNCB2aWRlby4KCjIwMDgtMDktMDEgMTc6NDE6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4LzogRml4IGJ1aWxkIG9mIG1wZWd0c211eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgRml4IGJ1aWxkIG9mIG1wZWd0c211eC4KCjIwMDgtMDktMDEgMTY6Mzg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBGbHVlbmRvIE1QRUctVFMgbXV4ZXIgYW5kIGxpYnRzbXV4IHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcyBpcyByZW5hbWVkIHRvIG1wZWd0c211eCB0byBwcmV2ZW50IGNvbmZsaWN0cy4gQWxzbyBhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2Jhc2VfaW5pdCksCgkgIChtcGVndHNtdXhfY2xhc3NfaW5pdCksIChtcGVndHNtdXhfaW5pdCksIChtcGVndHNtdXhfZGlzcG9zZSksCgkgIChnc3RfbXBlZ3RzbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbXBlZ3RzbXV4X2dldF9wcm9wZXJ0eSksCgkgIChyZWxlYXNlX2J1ZmZlcl9jYiksIChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSksCgkgIChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbXMpLCAobXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSksCgkgIChtcGVndHNtdXhfY29sbGVjdGVkKSwgKG1wZWd0c211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAobXBlZ3RzbXV4X3JlbGVhc2VfcGFkKSwgKG5ld19wYWNrZXRfY2IpLAoJICAobXBlZ3RzZGVtdXhfcHJlcGFyZV9zcmNwYWQpLCAobXBlZ3RzbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogKG1wZWd0c211eF9wcmVwYXJlX2FhYyk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmg6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfaDI2NCk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF9uZXcpLCAodHNtdXhfc2V0X3dyaXRlX2Z1bmMpLAoJICAodHNtdXhfc2V0X3BhdF9mcmVxdWVuY3kpLCAodHNtdXhfZ2V0X3BhdF9mcmVxdWVuY3kpLCAodHNtdXhfZnJlZSksCgkgICh0c211eF9wcm9ncmFtX25ldyksICh0c211eF9zZXRfcG10X2ZyZXF1ZW5jeSksCgkgICh0c211eF9nZXRfcG10X2ZyZXF1ZW5jeSksICh0c211eF9wcm9ncmFtX2FkZF9zdHJlYW0pLAoJICAodHNtdXhfcHJvZ3JhbV9zZXRfcGNyX3N0cmVhbSksICh0c211eF9nZXRfbmV3X3BpZCksCgkgICh0c211eF9jcmVhdGVfc3RyZWFtKSwgKHRzbXV4X2ZpbmRfc3RyZWFtKSwgKHRzbXV4X3BhY2tldF9vdXQpLAoJICAodHNtdXhfd3JpdGVfYWRhcHRhdGlvbl9maWVsZCksICh0c211eF93cml0ZV90c19oZWFkZXIpLAoJICAodHNtdXhfd3JpdGVfc3RyZWFtX3BhY2tldCksICh0c211eF9wcm9ncmFtX2ZyZWUpLAoJICAodHNtdXhfd3JpdGVfc2VjdGlvbiksICh0c211eF93cml0ZV9zZWN0aW9uX2hkciksCgkgICh0c211eF93cml0ZV9wYXQpLCAodHNtdXhfd3JpdGVfcG10KToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX2dldF9waWQpLCAodHNtdXhfc3RyZWFtX2ZyZWUpLAoJICAodHNtdXhfc3RyZWFtX3NldF9idWZmZXJfcmVsZWFzZV9mdW5jKSwgKHRzbXV4X3N0cmVhbV9jb25zdW1lKSwKCSAgKHRzbXV4X3N0cmVhbV9hdF9wZXNfc3RhcnQpLCAodHNtdXhfc3RyZWFtX2J5dGVzX2F2YWlsKSwKCSAgKHRzbXV4X3N0cmVhbV9ieXRlc19pbl9idWZmZXIpLCAodHNtdXhfc3RyZWFtX2dldF9kYXRhKSwKCSAgKHRzbXV4X3N0cmVhbV9wZXNfaGVhZGVyX2xlbmd0aCksCgkgICh0c211eF9zdHJlYW1fZmluZF9wdHNfZHRzX3dpdGhpbiksCgkgICh0c211eF9zdHJlYW1fd3JpdGVfcGVzX2hlYWRlciksICh0c211eF9zdHJlYW1fYWRkX2RhdGEpLAoJICAodHNtdXhfc3RyZWFtX2dldF9lc19kZXNjcnMpLCAodHNtdXhfc3RyZWFtX3Bjcl9yZWYpLAoJICAodHNtdXhfc3RyZWFtX3Bjcl91bnJlZiksICh0c211eF9zdHJlYW1faXNfcGNyKSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfcHRzKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEFkZCBGbHVlbmRvIE1QRUctVFMgbXV4ZXIgYW5kIGxpYnRzbXV4IHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcwoJICBpcyByZW5hbWVkIHRvIG1wZWd0c211eCB0byBwcmV2ZW50IGNvbmZsaWN0cy4gQWxzbyBhbGwgcmVsZXZhbnQKCSAgaW5mb3JtYXRpb25zIGFib3V0IGNvcHlyaWdodCBhbmQgbGljZW5zZSBhcmUgYWRkZWQgdG8gdGhlIHRvcCBvZgoJICBldmVyeSBmaWxlIGJ1dCBhcGFydCBmcm9tIHRoYXQgbm8gY2hhbmdlcyBjb21wYXJlZCB0byB0aGUgbGF0ZXN0CgkgIFNWTiB2ZXJzaW9ucyBoYXBwZW5lZC4KCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDA4LTA5LTAxIDE2OjA1OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSk6CgkgIE5vdyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0gaXMgJ2ZpeGVkJyAuLi4gcmVtb3ZlIGNydWZ0IGZyb20gdGVzdHMuCgkgIEFkZCBkZWJ1Z2dpbmcgZm9yIGNvaGVyZW5jZS4KCjIwMDgtMDktMDEgMTM6MjM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZSB0aGUgc2FtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZQoJICB0aGUgc2FtZS4KCSAgSW1wbGVtZW50IGEgY3VzdHVtIGV2ZW50IGhhbmRsZXIgYW5kIGdldCB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkCgkgIGRpcmVjdGx5IGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZGVmYXVsdCAoc2xvd2VyKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDgtMzEgMTU6MDE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQKCSAgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbiB2YXJpb3VzIGNhbGN1bGF0aW9uczogdGhlCgkgIGdyYW51bGVwb3MgaXMgdGhlIHNhbXBsZSBudW1iZXIgb2YgdGhlIF9sYXN0XyBzYW1wbGUgaW4gYSBmcmFtZSwgbm90CgkgIHRoZSBmaXJzdC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19lbmNvZGUpLCAoZ3N0X2NlbHRfZW5jX2NoYWluKSwKCSAgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDEyOjIwOjMzICswMDAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm92IEp1dmFubyA8cm92anV2YW5vIGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzogKHBvcF9zdGF0dXNfYmFyKSwKCSAgKHN0YXR1c19iYXJfcHJpbnRmKSwgKGRlbW9fZ3VpX3NlZWtfYmFyX2Zvcm1hdCksICh1cGRhdGVfcG9zaXRpb24pLAoJICAoZGVtb19ndWlfc2Vla19iYXJfY2hhbmdlKSwgKGRlbW9fZ3VpX2RvX2NoYW5nZV9yYXRlKSwKCSAgKGRlbW9fZ3VpX2RvX3NldF9yYXRlKSwgKGRlbW9fZ3VpX2RvX3JhdGVfZW50ZXJlZCksCgkgIChkZW1vX2d1aV9kb190b2dnbGVfYWR2YW5jZWQpLCAoZGVtb19ndWlfZG9fdG9nZ2xlX2Rpc2FibGVkKSwKCSAgKGRlbW9fZ3VpX2RvX3NlZWspLCAoZGVtb19ndWlfZG9fcGxheSksIChkZW1vX2d1aV9kb19wYXVzZSksCgkgIChkZW1vX2d1aV9kb19wbGF5X3BhdXNlKSwgKGRlbW9fZ3VpX2RvX29wZW5fZmlsZSksCgkgIChkZW1vX2d1aV9kb19wbGF5bGlzdF9wcmV2KSwgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X25leHQpLAoJICAoZGVtb19ndWlfZG9fYWJvdXRfZGlhbG9nKSwgKGRlbW9fZ3VpX2RvX3F1aXQpLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc3RyaWRlKSwgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X292ZXJsYXApLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc2VhcmNoKSwgKGRlbW9fZ3VpX3JhdGVfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX3N0YXJ0ZWQpLCAoZGVtb19ndWlfcGxheWluZ19wYXVzZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19lbmRlZCksIChkZW1vX2d1aV9wbGF5ZXJfZXJyb3JlZCksCgkgIChkZW1vX2d1aV9zdHJpZGVfY2hhbmdlZCksIChkZW1vX2d1aV9vdmVybGFwX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfc2VhcmNoX2NoYW5nZWQpLCAoZGVtb19ndWlfc2V0X3BsYXllcl9mdW5jKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdF9mdW5jKSwgKGJ1aWxkX2d2YWx1ZV9hcnJheSksCgkgIChjcmVhdGVfYWN0aW9uKSwgKGRlbW9fZ3VpX3Nob3dfZnVuYyksIChkZW1vX2d1aV9zZXRfcGxheWVyKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdCksIChkZW1vX2d1aV9zaG93KSwgKGRlbW9fZ3VpX2dldF9wcm9wZXJ0eSksCgkgIChkZW1vX2d1aV9zZXRfcHJvcGVydHkpLCAoZGVtb19ndWlfaW5pdCksIChkZW1vX2d1aV9jbGFzc19pbml0KSwKCSAgKGRlbW9fZ3VpX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzogKGhhbmRsZV9lcnJvcl9tZXNzYWdlKSwKCSAgKGhhbmRsZV9xdWl0KSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzogKG5vX3BpcGVsaW5lKSwKCSAgKGRlbW9fcGxheWVyX2V2ZW50X2xpc3RlbmVyKSwgKGRlbW9fcGxheWVyX3N0YXRlX2NoYW5nZWRfY2IpLAoJICAoZGVtb19wbGF5ZXJfZW9zX2NiKSwgKGRlbW9fcGxheWVyX2J1aWxkX3BpcGVsaW5lKSwgKF9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlX2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGVfZnVuYyksCgkgIChfc2V0X3N0YXRlX2FuZF93YWl0KSwgKGRlbW9fcGxheWVyX2xvYWRfdXJpX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfcGxheV9mdW5jKSwgKGRlbW9fcGxheWVyX3BhdXNlX2Z1bmMpLCAoX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieV9mdW5jKSwgKGRlbW9fcGxheWVyX3NlZWtfdG9fZnVuYyksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb25fZnVuYyksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb25fZnVuYyksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX2xvYWRfdXJpKSwgKGRlbW9fcGxheWVyX3BsYXkpLCAoZGVtb19wbGF5ZXJfcGF1c2UpLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieSksIChkZW1vX3BsYXllcl9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbiksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb24pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Byb3BlcnR5KSwgKGRlbW9fcGxheWVyX3NldF9wcm9wZXJ0eSksCgkgIChkZW1vX3BsYXllcl9pbml0KSwgKGRlbW9fcGxheWVyX2NsYXNzX2luaXQpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IChiZXN0X292ZXJsYXBfb2Zmc2V0X2Zsb2F0KSwKCSAgKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfczE2KSwgKG91dHB1dF9vdmVybGFwX2Zsb2F0KSwKCSAgKG91dHB1dF9vdmVybGFwX3MxNiksIChmaWxsX3F1ZXVlKSwgKHJlaW5pdF9idWZmZXJzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybSksIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc2NhbGV0ZW1wb19zaW5rX2V2ZW50KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9jYXBzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX2dldF9wcm9wZXJ0eSksIChnc3Rfc2NhbGV0ZW1wb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NjYWxldGVtcG9fYmFzZV9pbml0KSwgKGdzdF9zY2FsZXRlbXBvX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NjYWxldGVtcG9faW5pdCk6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQKCSAgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByYXRlIT0xLjAuCgkgIEludGVncmF0ZSBpdCBpbnRvIHRoZSBkb2NzIGFuZCBhZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIGl0LgoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDgtMDgtMzAgMjA6MjI6MDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCjIwMDgtMDgtMzAgMDY6MzA6NDIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQKCSAgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCjIwMDgtMDgtMjkgMTQ6MDU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gRm9ydGUuCgoyMDA4LTA4LTI5IDEzOjU3OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgRklPTlJFQUQJY2hlY2ssIG5lZWRlZCBmb3IgdGhlIGRjY3Agc3JjLgoKMjAwOC0wOC0yOSAxMjoxNjoyNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB0byBpbmNsdWRlIGxhdGVzdCBwbHVnaW5zLCBhZGQgYXBleHNyYyBkaXJldG9yeSB0byBkaXN0ZWQgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgoyMDA4LTA4LTI5IDExOjM2OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy4qOiBBZGQgY29kZSBmb3IgY2FsY3VsYXRpbmcgcHJvcGVyIHRpbWVzdGFtcC9kdXJhdGlvbiBmb3IgdGhlIHRyYWlsaW5nIGVuY29kZWQgYnVmZmVycyB0aGF0IGZhYWMgd2lsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpLCAoZ3N0X2ZhYWNfc2lua19ldmVudCksCgkgIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZwoJICBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbGwgb3V0cHV0IHdoZW4gcmVjZWl2aW5nIEVPUy4KCjIwMDgtMDgtMjkgMDg6NTc6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IENGTEFHUyBhbmQgTElCUyBmb3IgdGhlIGFwZXhzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCjIwMDgtMDgtMjggMjI6MDI6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fbWVkaWFfdHlwZV9mcmVlKTogQXZvaWQgbGVha2luZyB0aGUgS1NEQVRBUkFOR0UgbWVtYmVyIG9mIGVhY2ggS3NWaWRlb01lZGlhVHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6CgkgIEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yOCAxNzowMTozMCArMDAwMCAgSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbEBnbWFpbC5jb20+CgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYXBleHNpbmsvTEdQTC0zLjAudHh0OgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiAoZ19zdHJkZWwpLCAoZ3N0X2FwZXhyYW9wX3NlbmQpLAoJICAoZ3N0X2FwZXhyYW9wX3JlY3YpLCAoZ3N0X2FwZXhyYW9wX25ldyksIChnc3RfYXBleHJhb3BfZnJlZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X2hvc3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9ob3N0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfcG9ydCksIChnc3RfYXBleHJhb3BfZ2V0X3BvcnQpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF91c2VyYWdlbnQpLCAoZ3N0X2FwZXhyYW9wX2dldF91c2VyYWdlbnQpLAoJICAoZ3N0X2FwZXhyYW9wX2Nvbm5lY3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrdHlwZSksCgkgIChnc3RfYXBleHJhb3BfZ2V0X2phY2tzdGF0dXMpLCAoZ3N0X2FwZXhyYW9wX2Nsb3NlKSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKSwgKGdzdF9hcGV4cmFvcF93cml0ZV9iaXRzKSwKCSAgKGdzdF9hcGV4cmFvcF93cml0ZSksIChnc3RfYXBleHJhb3BfZmx1c2gpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiAoZ3N0X2FwZXhzaW5rX2phY2tzdGF0dXNfZ2V0X3R5cGUpLAoJICAoZ3N0X2FwZXhzaW5rX2phY2t0eXBlX2dldF90eXBlKSwgKGdzdF9hcGV4c2lua19pbnRlcmZhY2VzX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9saXN0X3RyYWNrcyksIChnc3RfYXBleHNpbmtfbWl4ZXJfc2V0X3ZvbHVtZSksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfZ2V0X3ZvbHVtZSksIChnc3RfYXBleHNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19jbGFzc19pbml0KSwgKGdzdF9hcGV4c2lua19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwZXhzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBleHNpbmtfZmluYWxpc2UpLCAoZ3N0X2FwZXhzaW5rX29wZW4pLAoJICAoZ3N0X2FwZXhzaW5rX3ByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX3dyaXRlKSwKCSAgKGdzdF9hcGV4c2lua191bnByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX2RlbGF5KSwKCSAgKGdzdF9hcGV4c2lua19yZXNldCksIChnc3RfYXBleHNpbmtfY2xvc2UpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MKCSAgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgoyMDA4LTA4LTI4IDE1OjIxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIGluc3RydWN0IHVzIHRvIHNlbmQgRU9TLiBXZQoJICBjdXJyZW50bHkgd2lsbCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBpcyBhIHNlbmRlciBhbmQgd2hlbiB0aGUgc2VuZGVyIHBhcnQKCSAgZ29lcyBFT1MuIFRoaXMgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QgYmVoYXZpb3VyIGJlY2F1c2UgdGhlIHNlc3Npb24KCSAgY291bGQgc3RpbGwgcGFydGljaXBhdGUgYXMgYSByZWNlaXZlci4KCSAgRml4ZXMgIzU0OTQwOS4KCjIwMDgtMDgtMjggMDE6MDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFJlYWQgc2l6ZSBvZiBjaHVua3MgcHJlY2VlZGluZyB0aGUgYXVkaW8gZGF0YSB3aXRoIHRoZSBjb3JyZWN0IGVuZGlhbm5lc3MuIEZpeGVzIHBsYXliYWNrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUKCSAgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzLgoJICBGaXhlcyAjNTM4NTAwCgoyMDA4LTA4LTI4IDAwOjI1OjI4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gQUlGRiBwYXJzaW5nIGVsZW1lbnQsIGhlYXZpbHkgYmFzZWQgb24gd2F2cGFyc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoKMjAwOC0wOC0yNyAyMTozMzowNyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoZ3N0X2tzX3ZpZGVvX2RldmljZV9jbGFzc19pbml0LCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBEb24ndCBzZXQgdGhlIHBpbiBzdGF0ZSB0byBLU1NUQVRFX1JVTiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTa2lwIEtTU1RBVEVfQUNRVUlSRSB3aGVuIGNoYW5naW5nIHBpbiBzdGF0ZSBkb3dud2FyZHMuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBmaW5hbGl6ZSBtZXRob2QuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9FTkFCTEVfUVVJUktTLCBQUk9QX0VOQUJMRV9RVUlSS1MsCgkgIGVuYWJsZV9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX3NyY19pbml0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2ZpbmFsaXplLCBnc3Rfa3NfdmlkZW9fc3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfcHJvcGVydHksIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUsCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMpOgoJICBGaXJzdCBkcml2ZXIgcXVpcms6IHdvcmsgYXJvdW5kIExvZ2l0ZWNoJ3MgaG9zdGlsZSBkcml2ZXIgc29mdHdhcmUgdG8KCSAgaW1wcm92ZSBzdGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLiBTZWUgY29tbWVudHMgZm9yIGRldGFpbHMuCgkgIFByb3ZpZGUgYSBwcm9wZXJ0eSB0byBkaXNhYmxlIGRyaXZlciBxdWlya3MgKGVuYWJsZWQgYnkgZGVmYXVsdCkuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBkaXNwb3NlIG1ldGhvZC4KCSAgVHdlYWsgaW5jbHVkZSBvcmRlci4KCjIwMDgtMDgtMjcgMTU6NDU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwgc2lua3BhZHMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEltcGxlbWVudCB0aGUgTEFURU5DWSBxdWVyeSBpbiBhIGJldHRlciB3YXkgYnkgdGFraW5nIHRoZSBsYXRlbmN5IG9mIGFsbAoJICBzaW5rcGFkcyBhbmQgdGFraW5nIHRoZSBtaW4vbWF4IGluc3RlYWQgb2YganVzdCB0YWtpbmcgYSByYW5kb20gcGFkLgoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC86IFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUgYSBzbWFsbCBzcGVlZHVwIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlCgkgIGEgc21hbGwgc3BlZWR1cCBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gaGFuZGxlIGNocm9tYSBhbmQgbHVtYQoJICBkaWZmZXJlbnQgd2hpY2ggaXMgbmVlZGVkIGxhdGVyLgoKMjAwOC0wOC0yNiAxMToxODozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLio6IERvbid0IHB1dCBnbG9iYWxzIG9ubHkgdXNlZCBieSBvbmUgJy5jJyBmaWxlIGluIGEgaGVhZGVyICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJICBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIERlY2xhcmUgaXQgYXMgc3RhdGljLCBmaXhlcyBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI2IDExOjEzOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpOgoJICBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCjIwMDgtMDgtMjYgMTE6MDg6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3BfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpLCAoZ3N0X2RjY3Bfc2V0X3NvY2tfd2luZG93c2l6ZSk6CgkgIHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UKCSAgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24gbWFjb3N4LgoJICBSZW1vdmUgZW5kaW5nICdcbicgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDgtMjYgMTE6MDE6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOiBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogKGdzdF9wY2FwX3BhcnNlX2NsYXNzX2luaXQpOgoJICBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0yNCAyMjowNTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIFVzZXMgS2VybmVsIFN0cmVhbWluZywgdGhlIGxvd2VzdCBsZXZlbCBBUEkgZm9yIGRvaW5nIHZpZGVvIGNhcHR1cmUKCSAgb24gV2luZG93cyAobW9yZSBvciBsZXNzIGp1c3QgcmF3IGlvY3RscykuCgoyMDA4LTA4LTI0IDE2OjU1OjQ4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGJsb2JzLiBUaGFua3MgdG8gU3RlZmFuIGZvciBub3RpY2luZyEKCjIwMDgtMDgtMjQgMTM6NTM6MjkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IHBjYXBwYXJzZSAoIzUyMDg5OSkuCgoyMDA4LTA4LTI0IDEzOjIzOjQ0ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCjIwMDgtMDgtMjMgMDA6MDE6MzkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOiBGbGlwIG1wZWcxL21wZWcyIGFycmF5cyBmb3IgbXBlZyBhdWRpby4gRGV0ZWN0IHdoaWNoIHR5cGUgdGhlIGF1ZGlvIGlzIGNvcnJlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbwoJICBpcyBjb3JyZWN0bHksIGluc3RlYWQgb2YgYmFja3dhcmRzLiBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHNpbmNlIHRoaXMKCSAgbWlzdGFrZSB3YXMgY29tcGxldGVseSBzZWxmLWNvbnNpc3RlbnQuCgoyMDA4LTA4LTIyIDA2OjI3OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOiBBZGQsIGJ1dCBjb21tZW50ZWQgb3V0IHhtbC9lbGVtZW50LWRjMTM5NC54bWwuIEl0cyBkb2N1bWVudGVkLCBidXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIEkgY2FuJ3QgZ2V0IGl0IHRvIGJlIGJ1aWxkLgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIEZpeCBkb2Mgd2FybmluZ3MgYW5kIHJlZm9ybWF0IHRoZSBkb2MgYmxvY2suCgoyMDA4LTA4LTIxIDEzOjIyOjM4ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBBZGQgZGNjcCBwbHVnaW4uIEZpeGVzICM1NDIzOTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9SRUFETUU6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUENsaWVudFBsYXlNaWMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQU2VydmVyU2VuZE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BDbGllbnRQbGF5TVAzU3RyZWFtLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoKMjAwOC0wOC0yMCAyMjoyNDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGJpdHMgdGhhdCBwcmVzdW1hYmx5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgY29tbWl0dGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCjIwMDgtMDgtMjAgMjE6NDQ6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgQWRkIG5ldyB3aW5kb3dzIEFDTSBlbmNvZGVyIHdyYXBwZXIuCgoyMDA4LTA4LTE4IDExOjEzOjA3ICswMDAwICBNaWNoYWVsIEtydWZreSA8bWtydWZreUBsaW51eHR2Lm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNaWNoYWVsIEtydWZreQoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIEFkZCBBVFNDIHR1bm5pbmcgYW5kIGNoYW5uZWxzLmNvbmYgcGFyc2luZyBzdXBwb3J0LgoJICBGaXhlcyAjNTM3NDU1CgoyMDA4LTA4LTEzIDIxOjU4OjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvOiBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEluaXRpYWxpc2UgQ09NIHdpdGggZGVmYXVsdCBmbGFncy4KCSAgT25seSBkZWluaXRpYWxpc2UgaWYgdGhlIGluaXRpYWxpc2F0aW9uIHdhcyBzdWNjZXNzZnVsLgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTEyIDE2OjEzOjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuKjogRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfcmVzZXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwKCSAgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBEbyBub3QgbWFuaXB1bGF0ZSBpbnB1dCB0aW1lc3RhbXBzIG9uIHRoZSB3YXkgb3V0LAoJICBzaW5jZSB0aGF0IHNoaWZ0cyB0aGUgdGltZWxpbmUgYW5kIEEvViBzeW5jLgoKMjAwOC0wOC0xMiAxNTo0MTo0OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogSW50ZWdyYXRlIG5ldyBwcm9wZXJ0aWVzIGludG8gZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICBGaXggdXAgQVBJIHByaW9yIHRvIGV2ZW50dWFsIHBsdWdpbiBtb3ZlLgoJICBBUEk6IEdzdFgyNjRFbmM6cGFzcyAocHJvdmlkZXMgbW9yZSBvcHRpb25zLCBhbmQgY2hhbmdlZCB0byBlbnVtKQoKMjAwOC0wOC0xMiAxNDozMTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwOC0wOC0xMiAxMzowODozOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY0ZW5jLmM6IChzZXR1cF94MjY0ZW5jKSwKCSAgKGNsZWFudXBfeDI2NGVuYyksIChHU1RfU1RBUlRfVEVTVCksICh4MjY0ZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoKMjAwOC0wOC0xMSAxNzoyNDo1OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEFsbG9jYXRlIHNvbWUgYnVmZmVycyBpbiBtb3JlIGFkYXB0aXZlIGFuZCBlY29ub21pY2FsIGZhc2hpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoKMjAwOC0wOC0xMSAxNToxNjoxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBzdWZmaWNpZW50bHkgdXAtdG8tZGF0ZSB4MjY0IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Bhc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBFeHBvc2Ugc29tZSBtb3JlIHBhcmFtZXRlcnMgb2YgdGhlIHgyNjQgZW5jb2RlciBhcyBwcm9wZXJ0aWVzLgoKMjAwOC0wOC0xMSAwNzoyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICBVc2UgIi0iIGluc3RlYWQgb2YgIl8iIGluIHByb3BlcnR5IG5hbWVzLiBDYW4gd2UgY2FsbCB0aGVtIGp1c3QKCSAgImRldmljZSIgbGlrZSBldmVyeXdoZXJlIGVsc2U/CgoyMDA4LTA4LTA4IDE1OjA3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbG9nX2NhbGxiYWNrKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpOgoJICBDb2Rpbmcgc3R5bGUgYW5kIGxheW91dDsgcmUtb3JkZXIgc29tZSBmdW5jdGlvbnMgaW4gbW9yZQoJICB0eXBpY2FsIGFuZCBuYXR1cmFsIGZsb3cuCgoyMDA4LTA4LTA4IDE0OjE5OjE2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0LzogVXNlIEdRdWV1ZSBpbiBzdGVhZCBvZiBjdXN0b20gcXVldWUgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfcmVzZXQpLCAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpLCAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIEZhY3Rvcml6ZSBmbHVzaGluZyBvdXQgZW5jb2RlciBkZWxheWVkIGZyYW1lcy4KCSAgRmFjdG9yaXplIGluaXRpYWxpemF0aW9uIGFuZCBzdGF0ZSBjaGFuZ2UgcmVzZXQuCgoyMDA4LTA4LTA4IDEwOjU2OjAyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgVXNlIGNvbmZpZ3VyZS1nZW5lcmF0ZWQgX3N0ZGludC5oLgoKMjAwOC0wOC0wOCAxMDoxMzozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSB2aWRlbyBmb3JtYXQgbGlicmFyeSBhbmQgR1NUX1dSSVRFXypfQkUgbWFjcm9zIHdoZXJlIGFwcGxpY2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBVc2UgZmluYWxpemUgaW4gc3RlYWQgb2YgZGlzcG9zZS4KCSAgU2V0IHVwIGRlYnVnIGNhdGVnb3J5IGFuZCBsb2cgY2FsbGJhY2suCgoyMDA4LTA4LTA3IDE2OjIwOjMwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfcGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTQ6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuKjogQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbik6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgoyMDA4LTA4LTA3IDEzOjE1OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzogVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgoyMDA4LTA4LTA3IDA5OjA5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBBZGQgbmV3IGVsZW1lbnQgdG8gZG9jcy4KCSAgKiBleHQvamFjay9nc3RqYWNrLmgKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgUmVuYW1lIGphY2thdWRpb3NyYyB0byBqYWNrX2F1ZGlvX3NyYy4KCjIwMDgtMDgtMDcgMDg6NDc6NDAgKzAwMDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSAgZXh0L2phY2svOiBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIEZpeGVzICM1NDUxOTcuCgoyMDA4LTA4LTA2IDE1OjQ5OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdHdvbGFtZSBhbmQgY2VsdCBwbHVnaW5zIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDU6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYWQuIFdlIHdhbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0Y2FwcyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfYWN0aXZhdGVfc2lua3BhZCk6CgkgIE1vdmUgdGhlIHNlbGVjdC1hbGwgbG9naWMgaW50byB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkCgkgIHBhZC4gV2Ugd2FudCB0byByZW1lbWJlciB0aGUgbGFzdCBwYWQgd2l0aCBhY3Rpdml0eSBpbiBzZWxlY3QtYWxsIG1vZGUuCgkgIEZpeCB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiwgd2UgY2FuIHByb2R1Y2UgdGhlIHVuaW9uIG9mIHRoZSB1cHN0cmVhbSBjYXBzCgkgIGluIHNlbGVjdC1hbGwgbW9kZSwgbm90IHRoZSBpbnRlcnNlY3Rpb24gbGlrZSBwcm94eV9nZXRjYXBzKCkgZG9lcy4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYik6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdAoJICBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgoyMDA4LTA4LTAyIDE4OjM2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0IGNhbiBiZSB1c2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0CgkgIGNhbiBiZSB1c2VkIGJ5IHNpbXBsZSBkZWludGVybGFjaW5nIG1ldGhvZHMuIFRoZXkgb25seSBoYXZlIHRvIHByb3ZpZGUKCSAgYSBmdW5jdGlvbiBmb3IgaW50ZXJwb2xhdGluZyBhIHNjYW5saW5lIG9yIGNvcHlpbmcgYSBzY2FubGluZS4KCjIwMDgtMDgtMDIgMTg6MTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpOgoJICBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTA4LTAyIDE4OjAyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wOC0wMiAxNzozOToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3BhZGRpbmdfZ2V0X3R5cGUpLCAoZ3N0X3R3b19sYW1lX2VtcGhhc2lzX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9yZWxlYXNlX21lbW9yeSksIChnc3RfdHdvX2xhbWVfZmluYWxpemUpLAoJICAoZ3N0X3R3b19sYW1lX2Jhc2VfaW5pdCksIChnc3RfdHdvX2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfdHdvX2xhbWVfc3JjX3NldGNhcHMpLCAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfaW5pdCksIChnc3RfdHdvX2xhbWVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90d29fbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3R3b19sYW1lX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKSwgKGdzdF90d29fbGFtZV9zZXR1cCksCgkgIChnc3RfdHdvX2xhbWVfY2hhbmdlX3N0YXRlKSwgKGdzdF90d29fbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCjIwMDgtMDgtMDIgMTc6Mjk6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBDRUxUIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMgYmFzZWQgb24gdGhlIFNwZWV4IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L2dzdGNlbHQuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChnc3RfY2VsdF9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9jZWx0X2RlY19jbGFzc19pbml0KSwgKGdzdF9jZWx0X2RlY19yZXNldCksCgkgIChnc3RfY2VsdF9kZWNfaW5pdCksIChjZWx0X2RlY19jb252ZXJ0KSwKCSAgKGNlbHRfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc2lua19xdWVyeSksCgkgIChjZWx0X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc3JjX3F1ZXJ5KSwKCSAgKGNlbHRfZGVjX3NyY19ldmVudCksIChjZWx0X2RlY19zaW5rX2V2ZW50KSwKCSAgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2hlYWRlciksIChjZWx0X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKGNlbHRfZGVjX2NoYWluKSwKCSAgKGNlbHRfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzogKGdzdF9jZWx0X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9jZWx0X2VuY19iYXNlX2luaXQpLCAoZ3N0X2NlbHRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NlbHRfZW5jX2ZpbmFsaXplKSwgKGdzdF9jZWx0X2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2NlbHRfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfY2VsdF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc2luayksIChnc3RfY2VsdF9lbmNfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2NlbHRfZW5jX2dldF9xdWVyeV90eXBlcyksIChnc3RfY2VsdF9lbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX3F1ZXJ5KSwgKGdzdF9jZWx0X2VuY19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwgKGdzdF9jZWx0X2VuY19zZXR1cCksCgkgIChnc3RfY2VsdF9lbmNfYnVmZmVyX2Zyb21fZGF0YSksIChnc3RfY2VsdF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2NlbHRfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19jaGFpbiksIChnc3RfY2VsdF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2NlbHRfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCjIwMDgtMDgtMDIgMTc6MTY6MzkgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBVc2UgZ19zZXRlbnYoKSBhbmQgZ191bnNldGVudigpIGluc3RlYWQgb2Ygc2V0ZW52KCkgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggbWluZ3cuIEZpeGVzIGJ1ZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKToKCSAgVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbgoJICB3aXRoIG1pbmd3LiBGaXhlcyBidWcgIzU0NTI0Ny4KCjIwMDgtMDgtMDEgMjM6MzA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoKMjAwOC0wOC0wMSAxNTozOTo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZSBtb3ZlZCBwbHVnaW5zIGZyb20gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC44ID09PQoKMjAwOC0wNy0zMSAyMjoxNToxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44CgoyMDA4LTA3LTMxIDIyOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNy0yNCAyMzo1Mzo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2lkLnBvOgoJICBBZGQgSW5kb25lc2lhbiB0cmFuc2xhdGlvbi4KCjIwMDgtMDctMjQgMDA6MzI6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJICBTdXBwb3J0IGZvciBjb21waWxpbmcgd2l0aCBNU1ZDOiB1c2UgX01TQ19WRVIgZm9yIGRldGVjdGluZyBNU1ZDIGluc3RlYWQKCSAgb2YgTVNDX1ZFUi4gTWFrZSBDYW5QYWNrU2FtcGxlcyB0YWtlIHRoZSB0eXBlIGl0J3MgcGFzc2VkLiBDaGFuZ2Ugc2NvcGUKCSAgb2YgYSB2YXJpYWJsZSBpbiBsb2FkX2l0LmNwcCB0byBNU1ZDJ3Mgc2NvcGluZyBydWxlcy4KCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICBGaXhlcyAjNTQ0NDU3LgoKMjAwOC0wNy0yMiAwNjoyNzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuIEZpeGVzICM1NDQwNTAuCgoyMDA4LTA3LTIxIDIxOjEyOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY2hlY2sgZm9yIG5hdl9wcmludC5oIGFueSBtb3JlIC0gaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBsaWJkdmRuYXYgZGV2ZWxvcG1lbnQgcGFja2FnZSBpZiBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbgoJICB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGliZHZkbmF2IGhlYWRlcnMgZGVwZW5kIG9uIGl0LgoJICBGaXhlczogIzU0Mzg0NgoKMjAwOC0wNy0yMSAxNjowMzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcyBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBMaW5rIHRoZSBsYWRzcGEgcGx1Z2luIHdpdGggLWxkbC4gSXQncyBuZWVkZWQgZm9yIGRsb3BlbigpIGFuZCBmcmllbmRzCgkgIGZvciBsb2FkaW5nIHRoZSBsYWRzcGEgcGx1Z2lucyBhbmQgcHJldmlvdXNseSB3YXMgbGlua2VkIGluIGJ5CgkgIGdtb2R1bGUuIEZpeGVzIGJ1ZyAjNTQzODQ4LgoKMjAwOC0wNy0yMSAxMDoxNjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbTogVXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIENYWEZMQUdTLiBHU1RfQ0ZMQUdTIGNhbiBjb250YWluIGNvbXBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUwoJICBjYW4gY29udGFpbiBjb21waWxlciBwYXJhbWV0ZXJzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgRml4ZXMgYnVnICM1NDM4NjAuCgoyMDA4LTA3LTIxIDEwOjE1OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoKMjAwOC0wNy0xOSAxNDoxMjo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4yIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjIgcHJlLXJlbGVhc2UKCjIwMDgtMDctMTkgMTQ6MDI6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXN0IGFuZCByZWN1cnNlIGludG8gcmVzaW5kdmQgc3ViZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoKMjAwOC0wNy0xOSAxMzo0MzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gY29uZmlndXJlLmFjIHBpZWNlcyB0b28KCjIwMDgtMDctMTkgMTM6Mjk6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vOiBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9sdC5wbzoKCSAgQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTCgkgIGZpbGUuCgoyMDA4LTA3LTE5IDAwOjU4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gcGx1Z2lucyB0aGF0IGhhdmUgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneSBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5CgkgIGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIEJ1aWxkIHRoZSBkZWludGVybGFjZTIgcGx1Z2luIG9uIGFsbCBhcmNoaXRlY3R1cmVzIGJ1dCBzdGlsbCBtYXJrIGl0CgkgIGFzIGV4cGVyaW1lbnRhbC4KCSAgQnVpbGQgdGhlIHg4NiBpbmxpbmUgYXNzZW1ibHkgb25seSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IGlzIHN1cHBvcnRlZAoJICBhbmQgb25seSBvbiB4ODYgb3IgYW1kNjQuIEZpeGVzIGJ1ZyAjNTQzMjg2LgoKMjAwOC0wNy0xNiAxNDoxNTozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgY2FzdHMgdG8gZml4IHRoZSBidWlsZCBvbiBGb3J0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgIEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTE0IDA3OjUwOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzogUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZW1vdmUgd2hpdGVzcGFjZSBsaW5lLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICBNYWtlIGl0IHNvIHRoYXQgYXVkaW8vdmlkZW8gcGFkcyBhcmVuJ3QgYWRkZWQgdG8gdGhlIGJpbgoJICB1bnRpbCBhZnRlciBkYXRhIGZsb3cgc3RhcnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBNb3ZlIHZpZGVvIGJ1ZmZlciBxdWV1ZSBvdXRzaWRlIHJlc2luZHZkYmluCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIENoZWNrIHRoYXQgdGhlIG5hdl9jbG9ja19pZCBkaWRuJ3QgYWxyZWFkeSBnZXQgdW5zY2hlZHVsZWQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVtb3ZlIGFzc2VydCB0aGF0IHNvbWV0aW1lcyB0cmlnZ2VycyBlcnJvbmVvdXNseS4KCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBUaGUgU1NFIG1ldGhvZCBpbiBmYWN0IG9ubHkgbmVlZHMgTU1YRVhULCBkZWNsYXJlIGl0IGFzIHN1Y2guCgoyMDA4LTA3LTExIDE0OjA2OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICBUdXJuIGdfcHJpbnQncyBpbnRvIGRlYnVnIHN0YXRlbWVudHMuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBBZGQgYSBibG9hdGVkIGltcGxlbWVudGF0aW9uIG9mIGEgcmVhbGx5IHNpbXBsZSBpZGVhOiBSZXBsYWNlIHRoZQoJICBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gdGhlIG91dHB1dCB2aWRlbyB3aXRoIGEgcHJlc2NyaWJlZCBvbmUgd2hlbgoJICBuZWNlc3NhcnkuIFRoZXJlIG11c3QgYmUgYW4gZWFzaWVyIHdheS4KCSAgU3BsaXQgdGhlIGR2ZHNwdSBvdXQgb2YgdGhlIHJlc2luZHZkYmluIGFuZCBwdXQgb3V0IHRoZSBzdWJwaWN0dXJlCgkgIHN0cmVhbSBvbiB0aGUgc3VicGljdHVyZSBwYWQuCgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBTZW5kIHZpZGVvLWFzcGVjdCBldmVudHMgZG93biB0aGUgcGlwZSBmcm9tIHRoZSBkZW11eGVyLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBIYW5kbGUgdGltZWQtc3RpbGxzIHNvbWV3aGF0IHVzaW5nIGdfY29uZF90aW1lZF93YWl0LCB3aXRoIGEgRklYTUUKCSAgdG8gbWFrZSBpdCB1c2UgY2xvY2std2FpdGluZyBsYXRlci4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIGxhc3Rfc3RvcCBpbiB0aGUgYmFzZXNyYyBzZWdtZW50IGFmdGVyIGEgc2VhbWxlc3MKCSAgc2Vlay4KCjIwMDgtMDctMTEgMTM6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCjIwMDgtMDctMTAgMjE6MDY6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDctMTAgMjA6MjM6MDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgZXh0ZW5kZWQgZXZlbnQgdGV4dCB0byBVVEYtOC4KCjIwMDgtMDctMTAgMTg6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IG9uZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgRG9jdW1lbnQgb25lIG1vcmUuCgoyMDA4LTA3LTEwIDA5OjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6IEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mIHRleHQgbGVuZ3RoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IgcGFyc2luZywgb3V0IGJ5IDEgaW4gcG9zaXRpb24gb2YKCSAgdGV4dCBsZW5ndGguCgoyMDA4LTA3LTA5IDEyOjEzOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogQWRkIGEgbm90ZSB0byB0aGUgZG9jcywgdGhhdCBmZXN0aXZhbCBuZWVkIHRvIGJlIHJ1bm5pbmcuIEFsc28gbG9nIGFuIGVycm9yIGl0IGl0IGlzIG5vdC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbgoJICBlcnJvciBpdCBpdCBpcyBub3QuIEZpeGVzICM1NDEzMjcKCjIwMDgtMDctMDggMjE6MjA6MjcgKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGQgdmlldy1vbmx5IHByb3BlcnR5IHRvIGlnbm9yZSB0aGUgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTA3LTA4IDE4OjUzOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogUmV2ZXJ0IHByZXZpb3VzIHBhdGNoIGFwYXJ0IGZyb20gdHlwbyBmaXhlczsgdGhlIHBhdGNoIHdhcyBub3QgaW5kZXBlbmRlbnRseSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90CgkgIGluZGVwZW5kZW50bHkgdXNlZnVsLgoKMjAwOC0wNy0wOCAxNzo0MTo1NSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQWRkIEFBQywgQUMzIHRvIGhhbmRsZWQgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgRml4IGhhbmRsaW5nIG9mIGZsdXNoIGV2ZW50cy4KCSAgSW1wcm92ZSBkZWJ1Zy9lcnJvciBvdXRwdXQuCgkgIEZpeCBhIG51bWJlciBvZiB0eXBvcyBpbiBjb21tZW50cyBhbmQgdmFyaWFibGUgbmFtZXMuCgoyMDA4LTA3LTA4IDE1OjI0OjQ0ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEltcGxlbWVudCBTZXJ2ZXJDdXRUZXh0IG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgoyMDA4LTA3LTA4IDE0OjI4OjA4ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCjIwMDgtMDctMDggMTQ6MDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfc2V0dXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgoyMDA4LTA3LTA4IDEzOjI4OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToKCSAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbiBkb3Qgcm9zc2VyIGF0IHJkIGRvdCBiYmMgZG90IGNvIGRvdCB1az4KCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6IChtZXRhZGF0YXBhcnNlX2hhbmRsZV91bml0X3RhZ3MpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFwYXJzZV94bXBfaXRlcl9hZGRfdG9fdGFnX2xpc3QpOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zdGFydCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfbG9vcCk6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCjIwMDgtMDctMDcgMTM6MjI6MjYgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbW9yeSBsZWFrIGJ5IHVucmVmZmluZyBzdHJ1Y3R1cmVzIHdoZW4gbm90IG5lZWRlZC4KCSAgRml4ZXMgIzUzOTI5Mi4KCjIwMDgtMDctMDcgMTA6NDM6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgoyMDA4LTA3LTA2IDIwOjQzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBGaXggb3V0cHV0dGluZyBvZiBhbGwgZmllbGRzLCBpLmUuIGRvdWJsaW5nIG9mIHRoZSBmcmFtZXJhdGUuCgoyMDA4LTA3LTA1IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgIE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoKMjAwOC0wNy0wNCAxODo1MjozNyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNraW5nIG9mIGhlYWRlcnMgZm9yIHRoZSBPU1M0IHBsdWdpbiB0byBmYWlsIGlmIGEgc2luZ2xlIGhlYWRlciBkb2Vzbid0IGV4aXN0IGFscmVhZHkuIEFDX0NIRUNLXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZQoJICBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS19IRUFERVJTIG9ubHkgZmFpbHMgaWYgbm9uZQoJICBvZiB0aGUgaGVhZGVycyBpcyBmb3VuZC4gRml4ZXMgYnVnICM1NDE1NDMuCgoyMDA4LTA3LTA0IDE2OjA2OjA5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgRml4IGJ1aWx0IG9mIHRoZSBmZXN0aXZhbCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyLmRsbCBhbmQgaW5jbHVkaW5nIHdpbnNvY2sgaGVhZGVycy4gRml4ZXMgYnVnICM1NDE1MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwKCSAgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNy0wMSAyMTo0MDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuKjogUXVldWUgbmV3LXNlZ21lbnQgZXZlbnRzIGFuZCBzZW5kIHRoZW0gYWZ0ZXIgY2FwcyBoYXZlIGJlZW4gZGV0ZXJtaW5lZCBhbmQgc2V0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuCgkgIGRldGVybWluZWQgYW5kIHNldCwgc28gdGhhdCB0aGUgZGVjb2RlciB3aWxsIGhhdmUgYmVlbiBhdXRvLXBsdWdnZWQuCgoyMDA4LTA3LTAxIDExOjI4OjE3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyLzogTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgOiBNaWNoYWVsIFNtaXRoIDxtc21pdGggQCB4aXBoIGRvdCBvcmc+CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKG1ha2Vfc2Ftcl9tYWdpY19jb29raWUpLCAod3JpdGVfbGVuKSwKCSAgKG1ha2VfYWFjX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6IChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfYXZjMSksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfbXA0diksIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX3N0c2RfYnVmZmVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZHVtcF9hdmNjX2F0b20pLCAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksCgkgIChBbGxvY2F0ZUF1ZGlvQnVmZmVyTGlzdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICAqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfYmFzZV9pbml0KSwgKG9wZW5fZGVjb2RlciksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBMb3RzIG9mIGZpeGVzCgkgIEZpeGVzICM1MzE4NDAKCjIwMDgtMDYtMzAgMTk6MTk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgUkdCIGJ1ZmZlcnMgLT4gYnBwIGlzIGluIGJpdHMsIHNvIGRpdmlkZSBieSA4CgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6ICh0b21zbW9jb21wX2luaXQpLAoJICAodG9tc21vY29tcF9maWx0ZXJfbW14KSwgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSksIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICBVc2UgIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+LgoKMjAwOC0wNi0yOSAxMDo1Njo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDIwOjUxOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuKjogRXhwb3NlIHRoZSBhZGRpdGlvbmFsIE1QRUcgSERUViBmb3JtYXQgcHJvZmlsZXMgYXZhaWxhYmxlIGluIGxhdGVzdCBtanBlZ3Rvb2xzIHZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkgIEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QKCSAgbWpwZWd0b29scyB2ZXJzaW9uLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCjIwMDgtMDYtMjggMTg6MTA6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgU2V0IGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wNi0yNiAxNTo1Mjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDE1OjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoKMjAwOC0wNi0yNCAxMjowODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoKMjAwOC0wNi0yNCAwOTo0MDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAyMToyMDoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzogVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCjIwMDgtMDYtMjEgMDk6MDU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNjo1NDoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEZpeCBwcm9ibGVtIHdoZW4gZW1wdHkgc3RyaW5nIGlzIHByb3ZpZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbyBidXQgdXNlIHRoZSBNTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9saW5lX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28KCSAgYnV0IHVzZSB0aGUgTU1YRVhUIG9wdGltaXplZCBjb2RlIHdoZW5ldmVyIHBvc3NpYmxlLgoKMjAwOC0wNi0yMCAxNDozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZQoJICBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwgZW5hYmxlZCBvbmx5CgkgIGJ5IC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4KCjIwMDgtMDYtMjAgMTM6MDc6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IFNjaGVkdWxlIE5BViBwYWNrZXRzIGFuZCBhY3RpdmF0ZSB0aGVtIHdpdGggYW4gYXN5bmMgY2xvY2sgY2FsbGJhY2sgYXQgdGhlIHJpZ2h0IG1vbWVudC4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrCgkgIGF0IHRoZSByaWdodCBtb21lbnQuIFRoaXMgbWFrZXMgZGVsYXllZCBtZW51IGhpZ2hsaWdodHMgYXBwZWFyCgkgIGF0IHRoZSBjb3JyZWN0IHRpbWUgYW5kIGZpeGVzIEJhY2sgVG8gVGhlIEZ1dHVyZS4KCSAgV2hlbiBvdXRwdXR0aW5nIG5ldyBzZWdtZW50IGluIGRvX3NlZWsoKSwgY2FsY3VsYXRlIG91ciBwb3NpdGlvbgoJICB2YWx1ZSBwcm9wZXJseSwgc28gd2UgcmVwb3J0IHRoZSByaWdodCB0aW1lIHdoZW4gcG9wcGluZyBpbiBhbmQKCSAgb3V0IG9mIHRoZSBtZW51cy4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBXaGVuIGhhbmRsaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWssIGFjY3VtdWxhdGUgdGhlIHNlZ21lbnQsCgkgIHJhdGhlciB0aGFuIGhhdmluZyBldmVyeSBzZWVrIHN0YXJ0IGZyb20gMCBhbmQgbWVzc2luZyB3aXRoIHN5bmMKCjIwMDgtMDYtMTkgMTM6MTg6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgVXNlIEJPSUxFUlBMQVRFIG1hY3JvIGFuZCB1cGRhdGUgdGVzdCB0byB0aGUgbGF0ZXN0IGFwaSBjaGFuZ2VzLgoKMjAwOC0wNi0xOSAxMToyNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpOgoJICBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoKMjAwOC0wNi0xOCAwNzowMjo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiBBZGQgZGVzY3JpcHRpb24gdGFnIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwKCSAgY29tbWVudHMuCgoyMDA4LTA2LTE3IDE5OjUyOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBQYXJzZSB0aGUgVVJJIGFyZ3VtZW50IGludG8gdGhlIGRldmljZSBuYW1lIHNvIGR2ZDovLy9wYXRoL3RvL2ltYWdlIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZQoJICB3b3Jrcy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgSW1wbGVtZW50IGEgdHJpdmlhbCBkdXJhdGlvbiBxdWVyeSByZXBvcnRpbmcgdGhlIGN1cnJlbnQgUEdDIGxlbmd0aC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZW5hbWUgdHlwbyBpbiB0aGUgZnVuY3Rpb24gbmFtZS4KCjIwMDgtMDYtMTcgMTE6MDE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQgd2l0aCBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGRlaW50ZXJsYWNlMiBwbHVnaW4gYWdhaW4gd2hpY2ggd2FzIGFjY2lkZW50bHkgZW5hYmxlZAoJICB3aXRoIGxhc3QgY29tbWl0LgoKMjAwOC0wNi0xNyAxMDo1MzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSByZXNpbmR2ZCB3b3JrIHdpdGggbGliZHZkbmF2ID49IDQuMC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCjIwMDgtMDYtMTcgMDE6MDg6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJkdmRuYXYgdG8gYnVpbGQgcmVzaW5kdmQuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICBGaXJzdCBjb21taXQgb2YgRFZELVZpZGVvIHBsYXliYWNrIGNvbXBvbmVudCAncnNuZHZkYmluJwoJICBhbmQgaGVscGVyIGVsZW1lbnRzLgoJICBVc2UgLS1lbmFibGUtZXhwZXJpbWVudGFsIGZvciBub3csIGJ1dCBmZWVsIGZyZWUgdG8gZ2l2ZSBpdCBhCgkgIHRyeSB1c2luZyB0aGUgcmVzaW4tcGxheSBzY3JpcHQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgQWRkIHNvbWUgZXh0cmEgZ3VhcmRzIGZvciBtYWxmb3JtZWQgZXZlbnRzLgoKMjAwOC0wNi0xNyAwMDozNzo0OSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBkaXJhYyByZXF1aXJlbWVudCB0byAwLjEwIGR1ZSB0byBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTYgMTQ6MTE6MzYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnl0ZXMsIGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKTogVXNlCgkgIEdfR1VJTlQ2NF9GT1JNQVQuIEF2b2lkIG92ZXJmbG93IGluIGdldF9tYXhfYnl0ZXMoKS4KCjIwMDgtMDYtMTYgMTI6Mzc6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTW92ZSBkb2NibG9iIHVwd2FyZHMuIEJhbGFuY2UgdGFncyBhbmQgcmVzdG9yZSBibGFuayBsaW5lLgoKMjAwOC0wNi0xNiAxMTo0NzozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEZpeCBvdXQgb2YgZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCjIwMDgtMDYtMTYgMTE6Mjk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGZyb206IFZpbmNlbnQgR2VuaWV1eAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcmVmY291bnQgaXNzdWVzLCBmaXhlcyAjNTM4NTYwLgoKMjAwOC0wNi0xNiAwOToyMjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlIHRoZSBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTE2IDA3OjAzOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCjIwMDgtMDYtMTMgMjI6NDY6NDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDYtMTMgMTg6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3Byb2JlX21vZHVsZXMpOgoJICBEaXNhYmxlIHNpcHJvIG9uIDY0Yml0cywgaXQgY3Jhc2hlcy4KCjIwMDgtMDYtMTMgMTg6MDM6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGNsb3NlX2xpYnJhcnkpLCAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIFJlZmFjdG9yIHRoZSBsb2FkaW5nIG9mIHRoZSByZWFsIGNvZGVjcyBsaWtlIHJlYWx2aWRlbyBzbyB0aGF0IHdlIGNhbgoJICBpbXBsZW1lbnQgcHJvYmluZy4KCSAgUHJvYmUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIGJ5IHRyeWluZyB0byBsb2FkIHRoZSAuc28gZmlsZXMsIG9ubHkgcmVwb3J0CgkgIHRoZSB2ZXJzaW9ucyBvbiB0aGUgY2FwcyB0aGF0IHdlIGNhbiBhY3R1YWxseSBsb2FkLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRjYXBzKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19wcm9iZV9tb2R1bGVzKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgQ2hhbmdlIHRoZSBsb2FkaW5nIG9mIHRoZSBsaWJyYXJ5IGxpa2UgdGhlIGF1ZGlvIGRlY29kZXIuCgkgIFByb2JlIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzIGFuZCBvbmx5CgkgIHJlcG9ydCB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCjIwMDgtMDYtMTMgMTU6NDY6MDMgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBIYW5kbGUgY2hhcmFjdGVyIHNldHMgaW4gc3RyaW5ncyBjb21pbmcgZnJvbSBEVkIgU0kgYWNjb3JkaW5nIHRvIHRoZSBEVkIgU0kgc3BlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZwoJICB0byB0aGUgRFZCIFNJIHNwZWMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTU6NDc6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luayBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiAob25fbmV3X2J1ZmZlcl9mcm9tX3NvdXJjZSksCgkgIChvbl9zb3VyY2VfbWVzc2FnZSksIChvbl9zaW5rX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZCBiZWVmZWQgdXAgZXhhbXBsZSBhcHAgZnJvbSBidWcgIzQxMzQxOC4gSXQgbm93IGFsc28gdXNlcyBhcHBzaW5rCgkgIGluc3RlYWQgb2YgZmFrZXNpbmsgZm9yIG1vcmUgdWx0aW1hdGUgY29vbG5lc3MuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19jcmVhdGUpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYmxvY2sgcHJvcGVydHkgdG8gYWxsb3cgcHVzaCBiYXNlZCBpbXBsZW1lbnRhdGlvbiB0byBibG9jayB3aGVuIHdlCgkgIGZpbGwgdXAgdGhlIGFwcHNyYyBxdWV1ZXMuCgkgIEVtaXQgdGhlIGVub3VnaC1kYXRhIHNpZ25hbCB3aGlsZSByZWxlYXNpbmcgb3VyIGxvY2suCgoyMDA4LTA2LTEyIDE0OjUwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTQ6MjA6NDAgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6NTE6NTEgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAxMToxMjoxNCArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDA3OjU4OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICBTb25pY2FkdmFuY2UxIGF0IEdNQUlMIGRvdCBDT00KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBJbml0aWFsaXplIHdpbGRtaWRpIG9ubHkgb25jZSBpbiB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gaW5zdGVhZAoJICBvZiBvbmNlIGZvciBldmVyeSBpbnN0YW5jZS4gVGhlIHNlY29uZCBhbmQgZm9sbG93aW5nIGNhbGxzIHRvIHRoZQoJICB3aWxkbWlkaSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aWxsIGZhaWwuIEZpeGVzIGJ1ZyAjNTI1NjEzLgoJICBBbHNvIGRvbid0IHJlZ2lzdGVyIHRoZSBlbGVtZW50IGF0IGFsbCBpZiB3aWxkbWlkaSBpbml0aWFsaXphdGlvbgoJICBmYWlscy4KCjIwMDgtMDYtMTAgMTI6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgYWZ0ZXIgYWxsIHBhZHMgYXJlIGFkZGVkLgoKMjAwOC0wNi0wOSAxNzo1NzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEFkZCBzaW1wbGUgcmV2ZXJzZSBwbGF5YmFjay4KCjIwMDgtMDYtMDkgMTI6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogRml4IHNlZWtpbmcsIHRpbWVzdGFtcHMsIGR1cmF0aW9uIGFuZCBzb21lIG1vcmUuIEZpeGVzICM1MzYzMDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9jb252ZXJ0KSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2Zwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoKMjAwOC0wNi0wNiAxNjo1MDo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZGVkIDMgbW9yZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB1c2luZyBhcHBzcmMgaW4gcmFuZG9tLWFjY2VzcyBtb2RlLCBwdWxsLW1vZGUgc3RyZWFtaW5nIGFuZCBwdWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6IChmZWVkX2RhdGEpLCAoZm91bmRfc291cmNlKSwKCSAgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwKCSAgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCBtb2RlIHNlZWthYmxlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX2RvX2dldF9zaXplKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTWFrZSBzdHJlYW0tdHlwZSBwcm9wZXJ0eSB3cml0YWJsZS4KCSAgVW5zZXQgZmx1c2hpbmcgd2hlbiBzdGFydGluZyBzbyB0aGF0IHdlIHJldXNlIGFwcHNyYy4KCSAgSW5mb3JtIGJhc2VzcmMgYWJvdXQgdGhlIGNvbmZpZ3VyZWQgc2l6ZS4KCSAgRW1pdCBzZWVrLWRhdGEgc2lnbmFsIHdoZW4gd2UgYXJlIGdvaW5nIHRvIGEgZGlmZmVyZW50IG9mZnNldCBpbgoJICByYW5kb20tYWNjZXNzIG1vZGUuCgoyMDA4LTA2LTA2IDE0OjE5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogVXNlIGRlZXAtbm90aWZ5IHVudGlsIHdlIGNhbiBkZXBlbmQgb24gYSBwbGF5YmluMiB3aXRoIHN1cHBvcnQgZm9yIHRoZSBzb3VyY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChmb3VuZF9zb3VyY2UpLCAobWFpbik6CgkgIFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUKCSAgc291cmNlIHByb3BlcnR5LgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDYtMDUgMTY6Mzg6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCBhbiBleGFtcGxlIG9uIGhvdyB0byB1c2UgYXBwc3JjIGluIHBsYXliaW4gaW4gc3RyZWFtaW5nIG1vZGUgZnJvbSBhbiBtbWFwcGVkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKSwgKHN0YXJ0X2ZlZWQpLAoJICAoc3RvcF9mZWVkKSwgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20KCSAgYW4gbW1hcHBlZCBmaWxlLgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBTZXQgcGlwZWxpbmUgdG8gTlVMTCB0byBmcmVlIHF1ZXVlZCBidWZmZXJzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoc3RyZWFtX3R5cGVfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2ZsdXNoX3F1ZXVlZCksIChnc3RfYXBwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX3N0b3ApLCAoZ3N0X2FwcF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfY2hlY2tfZ2V0X3JhbmdlKSwgKGdzdF9hcHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwgKGdzdF9hcHBfc3JjX3NldF9zdHJlYW1fdHlwZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc3RyZWFtX3R5cGUpLCAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pLCAoZ3N0X2FwcF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9zZXRfdXJpKSwgKGdzdF9hcHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1lYXN1cmUgbWF4IHF1ZXVlIHNpemUgaW4gYnl0ZXMgaW5zdGVhZC4KCSAgQWRkIHN1cHBvcnQgZm9yIDMgbW9kZXMgb2Ygb3BlcmF0aW9uLCBzdHJlYW1pbmcsIHNlZWthYmxlIGFuZAoJICByYW5kb20tYWNjZXNzLCBtYWtpbmcgYmFzZXNyYyBoYW5kbGUgdGhlIHNjaGVkdWxpbmcgbW9kZXMgZm9yIGVhY2guCgkgIEFkZCBhcHBzcmM6Ly8gdXJpIGhhbmRsZXIgc28gdGhhdCBhdXRvbWF0aWMgcGx1Z2dpbmcgY2FuIGJlIGRvbmUgZnJvbQoJICBwbGF5YmluMiBvciB1cmlkZWNvZGViaW4sIGZvciBleGFtcGxlLgoJICBBZGRlZCBzdXBwb3J0IGZvciBjdXN0b20gc2VnbWVudCBmb3JtYXRzLgoJICBBZGQgc3VwcG9ydCBmb3IgcHVzaCBhbmQgcHVsbCBiYXNlZCBvcGVyYXRpb25zIGZyb20gdGhlIGFwcGxpY2F0aW9uLgoJICBFeHBhbmQgdGhlIG1ldGhvZHMgc28gdGhhdCBlcnJvcnMgY2FuIGJlIGRldGVjdGVkLgoJICBGbHVzaCB0aGUgcXVldWVkIGJ1ZmZlcnMgb24gc2Vla3MgYW5kIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgQWRkIHNpZ25hbHMgdG8gaW5mb3JtIHRoZSBhcHAgdGhhdCBhIHNlZWsgbXVzdCBoYXBwZW4uCgoyMDA4LTA2LTA1IDExOjA3OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlCgkgIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkgYW5kIGRpdmlkZS9tdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHQuCgoyMDA4LTA2LTA0IDIxOjE4OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3d2aWRlb3NpbmsvOiBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEZpeCB1cCBjb3B5cmlnaHQgbm90aWNlIG9uIG5ldyBwbHVnaW4uCgoyMDA4LTA2LTA0IDE3OjAyOjM4ICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50IGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50CgkgIGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCjIwMDgtMDYtMDQgMTE6MzM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IFRyeSBoYXJkZXIgbm90IHRvIGNyYXNoIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBidXQgaGF2ZW4ndCBzZXQgdXAgdGhlIGVuY29kZXIgeWV0IChhcyBtYXkgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0CgkgIHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVycm9ycyBvdXQgd2l0aAoJICBub3QtbmVnb3RpYXRlZCwgZm9yIGV4YW1wbGUpLiBBbHNvLCBhbHdheXMgcHVzaCB0aGUgRU9TIGV2ZW50CgkgIGRvd25zdHJlYW0uCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTU6NDE6MDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMTE6MTA6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBQYXJzZSBjb2RlY19kYXRhIGFuZCB1c2UgdGhlIG5hbHVfc2l6ZV9sZW5ndGggZmllbGQgdG8gZ2V0IHRoZSBOQUxVIGxlbmd0aCBpbiBwYWNrZXRpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfYnNfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVQoJICBsZW5ndGggaW4gcGFja2V0aXplZCBoMjY0LgoJICBXaGVuIHF1ZXVlaW5nIGEgcGFja2V0aXplZCBidWZmZXIgaW4gcmV2ZXJzZSBtb2RlLCBkb24ndCB1bnJlZiB0aGUKCSAgYnVmZmVyIHR3aWNlLgoJICBBdm9pZCBhY2Nlc3NpbmcgdGhlIGJ1ZmZlciBUSU1FU1RBTVAgZmllbGQgYWZ0ZXIgd2UgcHVzaGVkIGl0IG9uCgkgIHRoZSBhZGFwdG9yLgoKMjAwOC0wNi0wMyAwOTowMzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlciB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKGdzdF9pbnRlcmxlYXZlX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIKCSAgdGhlIEdzdEludGVybGVhdmVQYWQgdHlwZSBmcm9tIGEgdGhyZWFkc2FmZSBjb250ZXh0LgoKMjAwOC0wNi0wMiAyMTo1MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBhY2NpZGVudGFsIGFkZGl0aW9uIGluIGNvbmZpZ3VyZS5hYy4gU29ycnkuCgoyMDA4LTA2LTAyIDE4OjIzOjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9SRUFETUU6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IKCSAgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHNvbWUgWVVWIGZvcm1hdHMuCgkgIFJhbmsgUFJJTUFSWSwgc2luY2UgaXQncyBtdWNoIG1vcmUgdXNlZnVsIGZvciB0aGUgY29tbW9uIGNhc2VzIHRoYXQgdGhlCgkgIGRpcmVjdGRyYXcgc2luayAod2hpY2ggb25seSBkb2VzIFJHQikuCgoyMDA4LTA2LTAyIDE4OjA2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9NYWtlZmlsZS5hbTogRGlzdCB0YWcuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICBEaXN0IHRhZy5oCgoyMDA4LTA2LTAyIDE3OjA2OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHdheXMgZHJhaW4gYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5ldyBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zaW5rX2V2ZW50KToKCSAgQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCjIwMDgtMDYtMDIgMTI6NDI6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlCgkgIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBpbnB1dCBhcyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb2YgdGhlIG91dHB1dC4KCSAgRml4IHNvbWUgYnJva2VuIGxvZ2ljIGFuZCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoc3JjX2hhbmRvZmZfZmxvYXQzMiksCgkgIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGNvcnJlY3QgaGFuZGxpbmcgb2YgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTA2LTAyIDEwOjE4OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9kaXNwb3NlKSwgKGNsZWFyX3F1ZXVlZCksCgkgIChmbHVzaF9xdWV1ZWQpLCAoZ3N0X2ZhYWRfZHJhaW4pLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLAoJICAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEFkZCBiYXNpYyByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIENsZWFyIGRlY29kZXIgc3RhdGUgYWZ0ZXIgZGlzY29udHMuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICBNYXJrIG91dHB1dCBidWZmZXJzIHdpdGggYSBkaXNjb250IGFmdGVyIGEgZGVjb2RpbmcgZXJyb3IuCgoyMDA4LTA2LTAyIDA3OjM3OjMxICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpOgoJICBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgoyMDA4LTA1LTI5IDE5OjU2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjkgMTk6MTE6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG1haW4pOgoJICBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yOCAwODo1MzowMCArMDAwMCAgT25rYXIgU2hpbmRlIDxvbmthcnNoaW5kZUBnbWFpbC5jb20+CgoJICBzeXMvdmNkL3ZjZHNyYy5jOiBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG9ua2Fyc2hpbmRlIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgIEFsbG93IHRoZSB0cmFjayB0byBiZSBzZXQgYnkgdXNpbmcgdGhlIHVyaS4gRml4ZXMgIzUzNTA0My4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTM6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogQWRkIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHRvIG5vdCBJIGZyYW1lIGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgoyMDA4LTA1LTI3IDE2OjQ4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE1ha2Ugc3VyZSBubyBzdGF0ZSBjaGFuZ2VzIGNhbiBoYXBwZW4gd2hlbiB3ZSByZWNvbmZpZ3VyZS4KCjIwMDgtMDUtMjcgMTY6MzI6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgY29yZSBhbmQgYmFzZSBmb3IgbmV3IGF1ZGlvIGNsb2NrIHJlc2V0IG1ldGhvZC4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIGF1ZGlvIGNsb2NrLiBTZWUgIzUyMTc2MS4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA1LTI2IDEwOjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpLAoJICAoZm9yd2FyZF9ldmVudF9mdW5jKSwgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X2ludGVybGVhdmVfc3JjX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBNYWpvciByZXdyaXRlIG9mIGludGVybGVhdmUgdXNpbmcgR3N0Q29sbGVjdHBhZHMuIFRoaXMgbmV3IHZlcnNpb24KCSAgYWxzbyBzdXBwb3J0cyBhbG1vc3QgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBoYXMgYmV0dGVyIGNhcHMKCSAgbmVnb3RpYXRpb24uIEZpeGVzIGJ1ZyAjNTA2NTk0LgoJICBBbHNvIHVwZGF0ZSBkb2NzIGFuZCBhZGQgc29tZSBtb3JlIGV4YW1wbGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhaW5fZnVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzcmNfaGFuZG9mZl9mbG9hdDMyKSwgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGV4dGVuc2l2ZSB1bml0IHRlc3RzIGZvciBpbnRlcmxlYXZlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTIyIDE5OjQ3OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQKCSAgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGEgcGFyYXByYXBoIGFib3V0IHVzaW5nIGEgcXVldWUgYW5kIGF1ZGlvY29udmVydCBhZnRlciB0aGUgc291cmNlCgkgIHBhZHMgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTIyIDE4OjU1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZCBhbmQgdGhlIGRlZmF1bHQgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19nZXRjYXBzKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZAoJICBhbmQgdGhlIGRlZmF1bHQgZ2V0Y2FwcygpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvcnJlY3QgcmVzdWx0cyBmb3IKCSAgb3VyIHNyYyBwYWRzLgoJICBDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGFuZCBhZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wNS0yMiAxNjozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiAob3B0X3Nob3dfbWl4ZXJfbWVzc2FnZXMpLCAoV0FJVF9USU1FKSwKCSAgKHNob3dfbWl4ZXJfbWVzc2FnZXMpLCAocHJvYmVfbWl4ZXJfdHJhY2tzKSwgKHByb2JlX3BhZCksCgkgIChwcm9iZV9kZXRhaWxzKSwgKHByb2JlX2VsZW1lbnQpLCAobWFpbik6CgkgIFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcwoJICB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGF0LiBBbHNvIGFsbG93cyB0ZXN0aW5nIG9mCgkgIG1peGVyIGNoYW5nZSBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwOC0wNS0yMiAxNToxNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3M0LzogTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZSBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOiAoZ3N0X29zczRfbWl4ZXJfb3Blbik6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZSksCgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lX25vZmQpOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzogKGdzdF9vc3M0X3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUKCSAgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgoyMDA4LTA1LTIyIDE0OjAzOjA1ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlIG90aGVyIGJpdHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfcHVzaCksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlCgkgIG90aGVyIGJpdHMgb2YgcGFyc2luZywgYXZvaWQgYSB3aG9sZSBidW5jaCBvZiBwZWVrcy4KCSAgR2V0IHJpZCBvZiBpbnZhbGlkIGRhdGEgdGhhdCBzaG91bGQgbm90IGhhcHBlbiBhY2NvcmRpbmcgdG8gdGhlIHNwZWNzLgoJICBGaXhlcyAjNTMzNTU5LgoKMjAwOC0wNS0yMCAwOTozNjo1NiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbXl0aHR2X3NyY19pbml0KSwgKGdzdF9teXRodHZfc3JjX2NsZWFyKSwKCSAgKGRvX3JlYWRfcmVxdWVzdF9yZXNwb25zZSksIChnc3RfbXl0aHR2X3NyY19jcmVhdGUpLAoJICAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIHRvIGdldCBhIG1vcmUgY29ycmVjdCBzZWVrIGJhciBpbiB0b3RlbS4KCSAgRGlzYWJsZSBxdWVyeSBhbmQgZXZlbnQgZnVuY3Rpb25zIGFzIHRoZXkgZG9uJ3Qgd29yayBhbmQgZG8gc29tZQoJICBzbWFsbGVyIGNsZWFudXAuCgkgIEZpeGVzIGJ1ZyAjNTMzNzM2LgoKMjAwOC0wNS0yMCAwOTowNDo0OCArMDAwMCAgQnJpYW4gS29yb3BvZmYgPGJyaWFuaGtAY3Mud2FzaGluZ3Rvbi5lZHU+CgoJICBleHQvc3BjLzogQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBLb3JvcG9mZiA8YnJpYW5oayBhdCBjcyBkb3Qgd2FzaGluZ3RvbiBkb3QgZWR1PgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5X3R5cGUpLCAoZ3N0X3NwY19kZWNfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19kaXNwb3NlKSwgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3NwY19kdXJhdGlvbiksIChnc3Rfc3BjX2ZhZGVvdXQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgICogZXh0L3NwYy90YWcuYzogKHNwY190YWdfaXNfZXh0ZW5kZWQpLCAoc3BjX3RhZ19pc190ZXh0X2Zvcm1hdCksCgkgIChzcGNfdGFnX2lzX3ByZXNlbnQpLCAoc3BjX3RhZ191bnBhY2tfZGF0ZSksIChzcGNfdGFnX2NsZWFyKSwKCSAgKHNwY190YWdfZ2V0X2luZm8pLCAoc3BjX3RhZ19mcmVlKToKCSAgKiBleHQvc3BjL3RhZy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc29tZSBlc3NlbnRpYWwgZmVhdHVyZXMgbGlrZSBzZWVraW5nLCByZWFkaW5nIHNvbmcKCSAgZHVyYXRpb24gYW5kIGV4dGVuZGVkIHRhZ3MuIEZpeGVzIGJ1ZyAjNDU0MTUxLgoKMjAwOC0wNS0xOSAxMjozMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlIHRoYXQgdGhlIG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZQoJICB0aGF0IHRoZSBvcmlnaW5hbCBjaGFubmVsIHBvc2l0aW9uIGlzIHNldCBvbiB0aGUgb3V0cHV0LgoKMjAwOC0wNS0xOSAwNzo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBtb25vIG91dHB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbgoJICB0aGUgbW9ubyBvdXRwdXQgYnVmZmVycyBvciBzaG91bGQgYmUgZHJvcHBlZC4KCjIwMDgtMDUtMTggMTA6Mjc6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogT29wcyAtIGZpeCB0aGUgc3BlbGxpbmcgb2YgdGhlIHZhcmlhYmxlIEkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoKMjAwOC0wNS0xNyAxOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UgZG93bnN0cmVhbSB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UKCSAgZG93bnN0cmVhbSB3aWxsIG5ldmVyIGdldCB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDUtMTcgMTQ6MDU6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSByZXR1cm5zIHNvbWV0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2Fwcyk6CgkgIEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpCgkgIHJldHVybnMgc29tZXRoaW5nLCBldmVuIGlmIHRoZXkncmUgbm90IHNldCBpbiB0aGUgY2Fwcy4gVGhpcyBtYWtlcwoJICBzdXJlIHRoYXQgdGhlIG91dHB1dCBjaGFubmVscyBjYW4gYmUgaW50ZXJsZWF2ZWQgYWdhaW4gY29ycmVjdGx5CgkgIGluIHRoZSBtb25vL3N0ZXJlbyBjYXNlcyB0b28uCgkgIERvbid0IGFzayBmb3IgdGhlIHBlZXJjYXBzIG9mIHRoZSBjdXJyZW50IHBhZCBpbiBnZXRjYXBzKCkgYXMgdGhpcwoJICBtaWdodCBjYWxsIGdldGNhcHMoKSBhZ2FpbiBhbmQgZGVhZGxvY2suCgoyMDA4LTA1LTE2IDIyOjAwOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBGaXhlcyBidWcgIzUzMzQzNS4gUGFja2FnZXJzIHNob3VsZCBzdGlsbCAjZGVmaW5lIFdJTERNSURJX0NGRwoJICB0byB0aGUgZGlzdHJpYnV0aW9ucyBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE2IDE0OjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczogUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UgY2xhc3MgaW50byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBSZW1vdmUgYm9ndXMgYXR0ZW1wdCB0byBwdWxsICdtZXRhZGF0YScgcGx1Z2luJ3MgYmFzZQoJICBjbGFzcyBpbnRvIHRoZSBkb2NzLgoKMjAwOC0wNS0xNCAyMTowMjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gZXJyb3IgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbgoJICBlcnJvciBhbmQgc3RvcHBpbmcuIFRoaXMgaXMgYSBwZXJmZWN0bHkgcmVjb3ZlcmFibGUgZXZlbnQgYW5kIHdlIGRvbid0CgkgIGZvcmNlIHBlb3BsZSB0byB1c2UgYW4gcnRwYmluIHRvIGZpbHRlciBvdXQgYmFkIHBhY2tldHMgZmlyc3QuCgoyMDA4LTA1LTE0IDIwOjU3OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCjIwMDgtMDUtMTQgMTY6MjE6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGRlaW50ZXJsZWF2ZSB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIGFnYWluIG5vdyB0aGF0IHRoZXJlIGFyZSBzdXBwcmVzc2lvbnMgaW4gZ3N0LnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdAoJICB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zdXBwIHdoaWNoIG1ha2UgdGhpcyB3b3JrIGZvciBtZS4KCjIwMDgtMDUtMTQgMTQ6MTk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzCgkgIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gdmFsZ3JpbmQvbGliYyBhZnRlciBfZXhpdCBmb3Igc29tZQoJICByZWFzb24uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChwYWRzX2NyZWF0ZWQpLAoJICAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzJfOGNoKSwKCSAgKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYiksCgkgIChtYWtlX2Zha2Vfc3JjXzhjaGFuc19mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCBiaXRzIEkgaGFkIGxvY2FsbHkuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAwOC0wNS0xNCAxMzo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYyBhbmQgd2hpY2ggYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYwoJICBhbmQgd2hpY2ggYnJlYWtzIHRoaW5ncyBiYWRseSBpbiB0aGUgbm9uLXBhc3N0aHJvdWdoIGNhc2Ugc2luY2UgaXQKCSAgcmV0dXJuZWQgYnVmZmVycyB3aXRoIGEgZGlmZmVyZW50IChpZS4gc29tZXRpbWVzIHNtYWxsZXIpIHNpemUgdGhhbgoJICB0aGUgc2l6ZSByZXF1ZXN0ZWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDE3OjIxOjA3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQgd2lkdGgvaGVpZ2h0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X25ld19jYXBzKSwgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnZXRfYml0cyksIChuZXh0X3N0YXJ0X2NvZGUpLCAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLCAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfbXBlZzR2cGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQKCSAgd2lkdGgvaGVpZ2h0LCBhcGVjdCByYXRpb24sIGZyYW1lcmF0ZSBpbiB0aGUgY2FwcyBpZiBhcHBsaWNhYmxlLgoJICBNYXJrIGZyYW1lcyBhcyBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB3aGVuIHRoZXkgYXJlIG5vdAoJICBpbnRyYSBmcmFtZXMKCSAgU2V0IHRoZSB0aW1lc3RhbXBzIG9mIG91dGdvaW5nIGJ1ZmZlcnMgdG8gdGhlIGJ1ZmZlciBpbgoJICB3aGljaCB0aGUgVk9QIGhlYWRlciB3YXMgZm91bmQuCgkgIERyb3AgaW5jb21pbmcgZGF0YSB1bnRpbGwgY29uZmlndXJhdGlvbiBpcyBmb3VuZCAoYnkgZGVmYXVsdCwKCSAgY29uZmlndXJhYmxlIHVzaW5nIGEgcHJvcGVydHkpLgoJICBSZXBvcnQgYSAxIGZyYW1lIGxhdGVuY3kuIEZpeGVzICM1MzI3MjMuCgoyMDA4LTA1LTEzIDE2OjE2OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGRlYnVnIGZvciB3aGVyZSB3ZSBhcmUgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCjIwMDgtMDUtMTMgMTA6NTk6NDkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLAoJICAobGl2ZV9zd2l0Y2hfcHVzaCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3QgYmFzZXRyYW5zZm9ybSBuZWdvdGlhdGlvbiBjaGFuZ2VzLgoJICBTZWUgYnVnICM1MjY3NjguCgoyMDA4LTA1LTEzIDA5OjA2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCjIwMDgtMDUtMTIgMTg6NDM6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEgbG93ZXIgdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhCgkgIGxvd2VyIHRpbWVzdGFtcCB0aGFuIHRoZSBjdXJyZW50IHBhY2tldC4KCjIwMDgtMDUtMTIgMTQ6Mjg6MDkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8gcHJldmVudCBhIG1lbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvCgkgIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMTIgMTQ6MTc6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFF1aWV0ZW4gc29tZSBkb2NzIG91dHB1dAoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTExIDE3OjIzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgoyMDA4LTA1LTA5IDEwOjIxOjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIGFsbCBzY2hlZHVsZSBFSVQgYW5kIG5vbi1hY3R1YWwgdHJhbnNwb3J0IHN0cmVhbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIEVJVHMgYXJlIHBhcnNlZC4gQWxzbyBhZGQgcHJlc2VudC1mb2xsb3dpbmcgZmxhZyBhbmQKCSAgYWN0dWFsLXRyYW5zcG9ydC1zdHJlYW0gZmxhZyB0byBlaXQgYnVzIG1lc3NhZ2UuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDUtMDggMDY6MjA6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQgb2YgaXQncyBvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIExldCBhdWRpb3Jlc2FtcGxlIHVzZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24gb2YgYmFzZXRyYW5zZm9ybSBpbnN0ZWFkCgkgIG9mIGl0J3Mgb3duIHN0dWZmLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGFsbG9jX29ubHlfNDgwMDApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSByZWNlbnQgYmFzZXRyYW5zZm9ybSBidWdmaXgsIHdoZXJlIHVwc3RyZWFtCgkgIGNoYW5nZXMgY2FwcyB0byBzb21ldGhpbmcgdGhhdCBjYW4ndCBiZSBwYXNzZWQgdGhyb3VnaCBhbnltb3JlLgoKMjAwOC0wNS0wNyAyMDoyNTowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjogRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIERvbid0IGRlZmluZSBHU1RfRlVOQ1RJT04sIGlmIEdMaWIgc3VwcG9ydHMgTVNWQyB3ZSdkIG11Y2ggcmF0aGVyCgkgIHVzZSB0aGUgcmVhbCB0aGluZyB0aGFuIGhhdmluZyAiPz8/IiB1bmNvbmRpdGlvbmFsbHkuCgoyMDA4LTA1LTA3IDEwOjM4OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbC5saXN0LCBtYWtlIGl0IGNvbXBpbGUgYW5kIGFkZCB0byBjdnNpZ25vcmUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3Npbmtfc3RvcCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfc3RvcCksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpLCAoZ3N0X2FwcF9zcmNfc2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2NhcHMpLCAoZ3N0X2FwcF9zcmNfc2V0X3NpemUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NpemUpLCAoZ3N0X2FwcF9zcmNfc2V0X3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zZWVrYWJsZSksIChnc3RfYXBwX3NyY19zZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEJlYXQgYXBwc3JjIGluIHNoYXBlLCBhZGQgc2lnbmFscyBhbmQgYWN0aW9ucy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnRpZXMgZm9yIGNhcHMsIHNpemUsIHNlZWthYmlsaXR5IGFuZCBtYXgtYnVmZmVycy4KCSAgRml4IHVubG9jay9zdG9wIGNvZGUuCgoyMDA4LTA1LTA3IDA3OjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgoyMDA4LTA1LTA1IDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IFN0YXJ0IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfaW5pdCksIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX3VubG9ja19zdGFydCksCgkgIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwKCSAgKGdzdF9hcHBfc2lua19zdGFydCksIChnc3RfYXBwX3Npbmtfc3RvcCksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX3NldF9kcm9wKSwKCSAgKGdzdF9hcHBfc2lua19nZXRfZHJvcCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIFN0YXJ0IHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnR5IHRvIGRyb3AgYnVmZmVycyB3aGVuIHRoZSBxdWV1ZSBpcyBmaWxsZWQKCSAgRml4IHVubG9ja2luZyBhbmQgZmx1c2hpbmcgd2hlbiB0aGUgcXVldWVzIGFyZSBmaWxsZWQuCgoyMDA4LTA1LTAyIDE0OjQwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoKMjAwOC0wNC0yOSAxOToxMTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAoZ3N0X3NydF9lbmNfdGltZXN0YW1wX3RvX3N0cmluZyk6CgkgIERlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYmxvY2tzLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoCgkgIGdjYyAyLnggYW5kIG90aGVyIGNvbXBpbGVycy4gRml4ZXMgYnVnICM1MzA2MTEuCgoyMDA4LTA0LTI5IDA5OjAyOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdCBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdAoJICBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsZSB0aGUgRVBHIGRhdGEgZnJvbSBVSydzCgkgIGZyZWVzYXQgdG8gYmUgcGlja2VkIHVwLgoKMjAwOC0wNC0yNSAyMzoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIENhc3QgTlVMTCBzZW50aW5lbHMgdG8gdm9pZCAqIGFzIE5VTEwgaXMgZGVmaW5lZCBhcyBhbiBpbnRlZ2VyCgkgIGNvbnN0YW50IGluIG1vc3QgZW52aXJvbm1lbnRzIHdoZW4gdXNpbmcgQysrIGFuZCBpdCdzIHNpemUgbWlnaHQKCSAgYmUgZGlmZmVyZW50IGZyb20gYSBwb2ludGVyLgoKMjAwOC0wNC0yNSAxODoxODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgbW9yZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2VtaXRfc2lnbmFscyksIChnc3RfYXBwX3NpbmtfZ2V0X2VtaXRfc2lnbmFscyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc2lua19nZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgQWRkIG1vcmUgZG9jcy4KCSAgQWRkIHNpZ25hbHMgZm9yIHdoZW4gcHJlcm9sbCBhbmQgcmVuZGVyIGJ1ZmZlcnMgYXJlIGF2YWlsYWJsZS4KCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgc2lnbmFsIGVtaXNzaW9uLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgbWF4IHF1ZXVlIHNpemUuCgoyMDA4LTA0LTI1IDE4OjEzOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IFVzZSBDWFhGTEFHUyByYXRoZXIgdGhhbiBDRkxBR1M7IHRoZXNlIGFyZSBDKysgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgRGVmaW5lIHJlcXVpcmVkIGNvbnN0YW50cyBhcHByb3ByaWF0ZWx5LgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlZCBpbmNsdWRlIGRpciwgbGlicmFyaWVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA0LTI1IDExOjMyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoKMjAwOC0wNC0yNSAxMToyMjoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhIHByb3BlcnR5IHRvIGVuYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEKCSAgcHJvcGVydHkgdG8gZW5hYmUgaXQuIFdlIHdpbGwgbGlrZWx5IGVuYWJsZSBpdCBieSBkZWZhdWx0IHdoZW4gdGhlIGJhc2UKCSAgZGVwYXlsb2FkZXJzIGhhdmUgYSBkZWZhdWx0IGhhbmRsZXIgZm9yIHRoZW0gc28gdGhhdCB3ZSBkb24ndCBzZW5kIHRoZXNlCgkgIGV2ZW50cyBhbGwgdGhyb3VnaCB0aGUgcGlwZWxpbmUgZm9yIG5vdy4KCjIwMDgtMDQtMjUgMDk6MzU6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBBZGQgc3JjIGV2ZW50IGhhbmRsZXIuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIHB1c2hpbmcgbG9vcCBzbyB0aGF0IGl0IGNhbiBxdWlja2x5IHJlYWN0IHRvCgkgIGxvc3QgcGFja2V0cyBhbmQgaW5zdHJ1Y3QgdGhlIGRlcGF5bG9hZGVyIG9mIHRoZW0uIFRoaXMgY2FuIHRoZW4gYmUgdXNlZAoJICB0byBpbXBsZW1lbnQgZXJyb3IgY29uY2VhbG1lbnQgZGF0YS4KCjIwMDgtMDQtMjUgMDg6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlIHRoZSBkZWZhdWx0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UKCSAgdGhlIGRlZmF1bHRzIGFyZSByZWFsbHkgbm90IGNvcnJlY3QuCgkgIEltcGxlbWVudCBhIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBSVENQIHNyYyBwYWQsIG1vc3RseSB0byBjb3JyZWN0bHkKCSAgcmVwb3J0IGFib3V0IHRoZSBsYXRlbmN5LgoKMjAwOC0wNC0yNSAwODoxNTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIFJUUCB0aW1lc3RhbXAgYXMgdGhleSBib3RoIGFyZSBuZWVkZWQgdG8gY29uc3RydWN0IHRoZSB0aW1pbmcgb2YKCSAgb3V0Z29pbmcgcGFja2V0cyBpbiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhcmUgdGhlcmVmb3JlIGFsc28gbmVlZGVkIHRvCgkgIG1hbmFnZSBsaXAtc3luYy4gVGhpcyBmaXhlcyBsaXAtc3luYyBpZiB0aGUgZmlyc3QgUlRQIHBhY2tldHMgYXJyaXZlCgkgIHdpdGggYSB3aWxkbHkgZGlmZmVyZW50IGdhcC4KCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0yNCAyMjoxOTo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0IGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IGxpYm1wY2RlYyBBUEkgd2hpY2ggbWFnaWNhbGx5IGdldHMgdXMgc3VwcG9ydAoJICBmb3IgU1Y4IGZpbGVzLiBBbHNvIGRvIHNvbWUgcmFuZG9tIGNsZWFudXAuIEZpeGVzIGJ1ZyAjNTI2OTA1LgoKMjAwOC0wNC0yNCAyMToyNDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuNy4xCgkgID09PSByZWxlYXNlIDAuMTAuNyA9PT0KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDQtMjQgMDA6MTg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNwoKMjAwOC0wNC0yNCAwMDoxNToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNC0yMiAxNTowNzozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBsZWFrIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uLiBGaXhlcyAjNTI5Mzc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgoyMDA4LTA0LTIyIDA4OjE4OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKHJlcXVlc3RfcHRfbWFwKToKCSAgUmVmIGNhcHMsIHNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0yMiAwMDoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNi40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC42LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAyMTo1MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpOgoJICBEb24ndCBsZWFrIHRoZSB0YWdzIHN0cmluZyBhbmQgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5MjgzLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE4IDE4OjUxOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgoyMDA4LTA0LTE3IDIzOjAxOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuMyBwcmUtcmVsZWFzZQoKMjAwOC0wNC0xNyAxODoyODowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXZlcnQgcGF0Y2ggdGhhdCBhZGRlZCBhIGxvb3AgdGltZW91dC4KCSAgRml4ZXMgIzUyODYxNC4KCjIwMDgtMDQtMTcgMDc6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksIChmcmVlX2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fZ2V0X2ZyZWVfcGFkX25hbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIERvbid0IGxlYWsgYSBwYWRuYW1lLgoJICBEb24ndCBsZWFrIGNsaWVudCBzdHJlYW1zIGxpc3QuCgkgIExvY2sgcnRwYmluIHdoZW4gYXNzb2NpYXRpbmcgc3RyZWFtcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTYgMDk6NTA6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcyBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5sY3VkZSBkYzEzOTRzcmMgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QgYXMgaXQgcmVxdWlyZXMKCSAgc3BlY2lhbCBoYXJkd2FyZS4gRml4ZXMgYnVnICM1MjgwMTEuCgoyMDA4LTA0LTE2IDA5OjQ4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCk6CgkgIE9ubHkgY2hlY2sgaWYgdGhlIGdlbmVyYXRlZCBmaW5nZXJwcmludHMgYXJlIHZhbGlkIEJhc2U2NC4gVGhlCgkgIGZpbmdlcnByaW50cyBhcmUgZGlmZmVyZW50IHdoZW4gcnVubmluZyBvbiBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlcwoJICB3aGljaCBpcyBhKSBubyBwcm9ibGVtIGJlY2F1c2UgdGhlIGZpbmdlcnByaW50cyBhcmUgdG9sZXJhbnQgZW5vdWdoCgkgIGFuZCBiKSBpcyBjYXVzZWQgYnkgbGlib2ZhLiBGaXhlcyBidWcgIzUyODI2Ni4KCjIwMDgtMDQtMTYgMDk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbTogRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvciBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIHNvdXJjZSBmaWxlcywgbm8gbWF0dGVyIGlmIG9ubHkgdGltaWRpdHkgb3Igd2lsZG1pZGkgb3IKCSAgbm90aGluZyBpcyBmb3VuZCBieSBjb25maWd1cmUuIEZpeGVzIGJ1ZyAjNTI4MDAwLgoKMjAwOC0wNC0xNCAyMDowOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOiBSZW1vdmUgc291cGh0dHBzcmMgcGx1Z2luIGZyb20gc3BlYyBmaWxlcywgaXQncyBtb3ZlZCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoKMjAwOC0wNC0xMyAyMzoxMTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIGZyb20gdGhlIGRpc3QuCgoyMDA4LTA0LTEzIDIwOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IGNvbXBpbGF0aW9uIGJ5IGNhc3Rpbmcgc3RyaW5nIGNvbnN0YW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRml4IFdJTklORVRfRElSIHZhcmlhYmxlIHJlZmVyZW5jZS4KCjIwMDgtMDQtMTIgMjM6MzI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCjIwMDgtMDQtMTEgMjM6MTk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwOC0wNC0xMSAxOTozMzo1MyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy4qOiBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuIHRoZSBzdHJlYW1pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOiAoUFJPUF9ERVZJQ0VfTkFNRSksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jbGFzc19pbml0KSwgKGdzdF9kc2hvd3ZpZGVvc3JjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfZGlzcG9zZSksIChnc3RfZHNob3d2aWRlb3NyY19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9jayksIChnc3RfZHNob3d2aWRlb3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jcmVhdGUpLCAoZ3N0X2RzaG93dmlkZW9zcmNfcHVzaF9idWZmZXIpOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGNhbid0IGtlZXAgdXAgb3IgaXNuJ3Qgc2NoZWR1bGVkIG9mdGVuCgkgIGVub3VnaCBmb3Igc29tZSBvdGhlciByZWFzb24sIGJ1dCBqdXN0IGRyb3AgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICBpbiB0aGF0IGNhc2UuIEFsc28gaW1wbGVtZW50IEdzdEJhc2VTcmM6OnVubG9jayBmb3IgZmFzdGVyCgkgIHVubG9ja2luZyB3aGVuIHNodXR0aW5nIGRvd24uICgjNTIwODkyKS4KCjIwMDgtMDQtMTEgMTg6NDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuKjogUmVtb3ZlIEdzdFhPdmVybGF5IHN0dWZmIGFuZCB1c2UgZ2RrcGl4YnVmc2luayBwbHVzIHNvbWUgcmF0aGVyIGNydWRlIGRyYXdpbmcvc2NhbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChFTkNfVU5LTk9XTiksIChsYXN0X3BpeGJ1ZiksCgkgIChkcmF3X3BpeGJ1ZiksIChjaGFuZ2VfdGFnX2xpc3QpLCAodXBkYXRlX2RyYXdfcGl4YnVmKSwKCSAgKHVpX2RyYXdpbmdfc2l6ZV9hbGxvY2F0ZV9jYiksIChvbl9kcmF3aW5nTWFpbl9leHBvc2VfZXZlbnQpLAoJICAob25fYnV0dG9uU2F2ZUZpbGVfY2xpY2tlZCksICh1aV9jcmVhdGUpLCAobWVfZ3N0X2J1c19jYWxsYmFja192aWV3KSwKCSAgKG1lX2dzdF9zZXR1cF92aWV3X3BpcGVsaW5lKSwgKHByb2Nlc3NfZmlsZSk6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUKCSAgZHJhd2luZy9zY2FsaW5nIGxvZ2ljIHRvIG1ha2UgdGhpcyBjb21waWxlIGFuZCB3b3JrIG9uIGFsbCBwbGF0Zm9ybXMuCgkgIEZpeGVzICM1MTgyMjcuCgoyMDA4LTA0LTExIDEzOjU3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChkZWludGVybGFjZV9kZWJ1ZyksCgkgIChHU1RfQ0FUX0RFRkFVTFQpLCAoZ3N0X2RlaW50ZXJsYWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBfc2V0X2VsZW1lbnRfZGV0YWlsc19zaW1wbGUgYW5kCgkgIHJlbW92ZSBzcGVjaWFsIGNvZGUgcGF0aCBmb3IgWTQyQiB0byBjYWxjdWxhdGUgb2Zmc2V0cyBhbmQKCSAgc3RyaWRlczsgbGliZ3N0dmlkZW8ga25vd3MgaG93IHRvIGhhbmRsZSB0aGlzIGZvcm1hdCBub3cuCgoyMDA4LTA0LTExIDEzOjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2NkeGFwYXJzZS86IFBvcnQgVkNEIHBhcnNlciAoZm9ybWVybHkgY2R4YXN0cmlwKSBmcm9tIDAuOCB0byAwLjEwLiBEb2Vzbid0IGRvIGFueXRoaW5nIHRoZSAwLjggdmVyc2lvbiBkaWRuJ3QgZG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSAgUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8KCSAgYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyB0aG91Z2guCgoyMDA4LTA0LTExIDA4OjEzOjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9vc3M0LzogRml4IGFyZ3VtZW50cyBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMTEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgIChnc3Rfb3NzNF9taXhlcl9lbnVtX2dldF92YWx1ZXNfbG9ja2VkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2RlbGF5KTogRml4IGFyZ3VtZW50cwoJICBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDQtMTAgMTU6Mjk6NDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBBZGQgd2luaW5ldHNyYyBmb3IgYmFzaWMgaHR0cC9mdHAgc3VwcG9ydCBvbiB3aW5kb3dzICgjNTIwODk3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmg6CgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoKMjAwOC0wNC0xMCAxMDowMTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvbnNmLmg6IENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZCAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICBDaGFuZ2UgcHJvdG90eXBlIG9mIHByb2Nlc3MgZnVuY3Rpb24gaGVyZSB0b28gdG8gYXZvaWQKCSAgJ2luY29tcGF0aWJsZSBhc3NpZ25tZW50JyB3YXJuaW5ncy4KCjIwMDgtMDQtMTAgMDc6MTE6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMgYW5kIGNoZWNrIGZvciBOVUxMIGNhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMKCSAgYW5kIGNoZWNrIGZvciBOVUxMIGNhcHMgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBUaGUgcmVhbCBmaXggd291bGQgYmUgdG8gaW1wbGVtZW50IGFuIHNob3V0Y2FzdCBzZXJ2ZXIgZm9yIHRoZSB1bml0IHRlc3QKCSAgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgd29ya2luZyBpbnRlcm5ldCBjb25uZWN0aW9uLgoJICBGaXhlcyBidWcgIzUyMTc0OS4KCjIwMDgtMDQtMDkgMjI6Mjc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCjIwMDgtMDQtMDkgMTM6NDM6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9uZXNfYXB1Lio6IERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOiAoYXB1X3Byb2Nlc3MpOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYyAtIGl0J3MgYSBnY2MgZXh0ZW5zaW9uLgoKMjAwOC0wNC0wNiAyMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZSBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lCgkgIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHN0YXJ0aW5nIHVwIG11bHRpcGxlIHBsYXliaW4KCSAgb2JqZWN0cyBjb25jdXJyZW50bHkgKHNlZSAjNTEyMzgyKS4KCjIwMDgtMDQtMDYgMDk6MDE6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKToKCSAgT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIEdTVF9TT1VQX0hUVFBfU1JDX1NFU1NJT05fSU9fU1RBVFVTX1JVTk5JTkcuIEZpeGVzIGJ1ZyAjNTI2MzM3LgoKMjAwOC0wNC0wNiAwODo1ODozOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIEZpeGVzIGJ1ZyAjNTI2MjQ3LgoKMjAwOC0wNC0wNSAxMTowMzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbyB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBbHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBwcm9jZXNzZWQgYXQgbGVhc3QgMTM1IHNlY29uZHMgb2YgYXVkaW8KCSAgdW50aWwgd2Ugc3RvcCBhbmQgY2FsY3VsYXRlZCBhIGZpbmdlcnByaW50LgoKMjAwOC0wNC0wNCAyMDo0MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLio6IEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJICBHc3RTcnRlbmMgPT4gR3N0U3J0RW5jIGFuZCBnc3Rfc3J0ZW5jXyA9PiBnc3Rfc3J0X2VuY18uCgoyMDA4LTA0LTA0IDE5OjE4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChvZmFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgoyMDA4LTA0LTAzIDE0OjIzOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBvc3N2NCBwbHVnaW4KCjIwMDgtMDQtMDIgMjA6MTg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLCBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICAqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLAoJICBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCjIwMDgtMDQtMDEgMjI6NDA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAocGx1Z2luX2luaXQpOgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoKMjAwOC0wNC0wMSAyMDozMzoxOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjJ2EnbGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYydhJ2xlYwoKMjAwOC0wNC0wMSAxOTo1Mzo1MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDYWJsZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVzY3JpcHRvcnMnIGZyZXF1ZW5jeSdzIGJjZAoJICBpcyBtZWFzdXJlZCBpbiAxMDBIeiB1bml0cyBzbyBhZGp1c3QgbXVsdGlwbGllciBhY2NvcmRpbmdseS4KCjIwMDgtMDQtMDEgMTM6NDI6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcnRlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5oOgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCjIwMDgtMDMtMzEgMTY6MjQ6NDIgKzAwMDAgIGthcGlsIDxrYXBpbEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBrYXBpbCA8a2FwaWwgYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBJbmNyZWFzZSB0aGUgYWxsb3dlZCBzYW1wbGVyYXRlcyBmb3IgdGhlIG1zLWdzbSBmb3JtYXQuCgkgIEZpeGVzICM0ODEzNTQuCgoyMDA4LTAzLTMwIDIxOjA2OjU4ICswMDAwICBKYW4gZGUgR3Jvb3QgPGphbkBqZ2MuaG9tZWlwLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW4gZGUgR3Jvb3QgPGphbiBhdCBqZ2MgaG9tZWlwIG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZCB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbCAoIzUyNTEwMCkuCgoyMDA4LTAzLTI4IDA5OjQ4OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCjIwMDgtMDMtMjcgMTY6MzI6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoKMjAwOC0wMy0yNyAxNTo1NzoxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1ha2UgZGlzZXFjIHdvcmsgbW9yZSByZWxpYWJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoKMjAwOC0wMy0yNiAwNzo0MDo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBtZW1ndWFyZCBhZ2FpbiBhbmQgYXBwbHkgaG9wZWZ1bGx5IGFsbCBwcmV2aW91c2x5IGRyb3BwZWQgbG9jYWwgcGF0Y2hlcy4gU2hvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZAoJICBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGFuIHRoZSBvbGQgdmVyc2lvbiBub3cuCgoyMDA4LTAzLTI1IDE2OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFVuYnJlYWsgY29tcGlsYXRpb24gYnkgZGlzYWJsaW5nIG1lbWd1YXJkIGFuZCBkb2luZyBzb21lIGRpcnR5IGhhY2sgZml4ZXMgdG8gbWFrZSBpdCBjb21waWxlIG9uIDY0Yml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOiAoX215X2ZyZWUpOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjawoJICBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoKMjAwOC0wMy0yNSAxNTo1NjoxMyArMDAwMCAgQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzQGZhdGFsLnNldD4KCgkgIGdzdC9uc2YvOiBVcGRhdGUgb3VyIGludGVybmFsIG5vc2VmYXJ0IHRvIG5vc2VmYXJ0LTIuNy1tbHMgdG8gZml4IHNlZ2ZhdWx0cyBvbiBzb21lIGZpbGVzLiBGaXhlcyBidWcgIzQ5ODIzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXMgYXQgZmF0YWwgZG90IHNldD4KCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2xvZy5jOgoJICAqIGdzdC9uc2YvbG9nLmg6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5oOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5oOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgKiBnc3QvbnNmL29zZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5oOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzCgkgIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBSZW1vdmUgc29tZSAvLyBjb21tZW50cywgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MgYW5kIHVzZSBwb3coKQoJICBpbnN0ZWFkIG9mIGEgc2xvdywgc2VsZm1hZGUgaW1wbGVtZW50YXRpb24uCgoyMDA4LTAzLTI1IDE1OjE3OjU4ICswMDAwICBFZCBDYXRtdXIgPGVkQGNhdG11ci5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIHN1cHBvcnQgZm9yIG5lb24gMC4yOCwgd2hpY2ggZGlkbid0IGNoYW5nZSBBUEkuIEZpeGVzIGJ1ZyAjNTI0MDM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkIENhdG11ciA8ZWQgYXQgY2F0bXVyIGRvdCBjbyBkb3QgdWs+CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIyIDE1OjAwOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZSBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKGdzdF9hbHNhX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKGdzdF9hbHNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChnc3RfYWxzYXNyY19jbGFzc19pbml0KToKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgIChnc3RfY2RfcGFyYW5vaWFfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWVfdmZzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWVfdmZzX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6IChnc3RfdGhlb3JhX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6IChnc3RfdGhlb3JhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc3JjLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21peGVydHJhY2suYzoKCSAgKGdzdF9taXhlcl90cmFja19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VydHBwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOiAoZ3N0X2F1ZGlvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKGdzdF9hdWRpb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAoZ3N0X3BsYXlfYmFzZV9iaW5fY2xhc3NfaW5pdCksCgkgIChwcmVyb2xsX3VubGlua2VkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6IChnc3RfcXVldWVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKGdzdF91cmlfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzogKGdzdF92aWRlb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzogKGdzdF92NGxtanBlZ3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOiAoZ3N0X3Y0bG1qcGVnc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jbGFzc19pbml0KToKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2UKCSAgc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1c2FnZSwKCSAgZmV3ZXIgYWxsb2NhdGlvbnMgYW5kIHRodXMgbGVzcyBtZW1vcnkgZGVmcmFnbWVudGF0aW9uLiBEZXBlbmQKCSAgb24gY29yZSBDVlMgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTIzODA2LgoKMjAwOC0wMy0yMSAxNDo1MDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHsgfSB3aGlsZSAoMCkgbWFjcm9zLiBUaGlzIGZpeGVzCgkgIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGcrKyA0LjMsIHJlc3VsdGluZyBpbiBhIGJ1aWxkIGZhaWx1cmUKCSAgYmVjYXVzZSBvZiAtV2Vycm9yLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIG1lbWNweSBhbmQgZnJpZW5kcyB0byBmaXggdGhlIGJ1aWxkIHdpdGgKCSAgZ2NjIDQuMy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHRyYWlsaW5nIGJhY2tzbGFzaC4KCjIwMDgtMDMtMjAgMTg6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eSBiZWNhdXNlIG90aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgRG8gZ19vYmplY3Rfbm90aWZ5KCkgb25seSB3aGVuIG5vdCBob2xkaW5nIHRoZSBsb2NrIHRvIGdldCB0aGUgcHJvcGVydHkKCSAgYmVjYXVzZSBvdGhlcndpc2Ugd2UgcnVuIGludG8gYSBkZWFkbG9jayB3aXRoIHRoZSBkZWVwLW5vdGlmeSBoYW5kbGVycwoJICB0aGF0IGFyZSBwb3NzaWJseSBpbnN0YWxsZWQuCgoyMDA4LTAzLTIwIDE3OjQ4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVsZWFzZSB0aGUgc2VsZWN0b3IgbG9jayB3aGVuIHBhZCBhbGxvYyBoYXBwZW5zIG9uIGEgbm9uIHNlbGVjdGVkIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoKMjAwOC0wMy0yMCAxNzowNzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbiByZXR1cm4gT0sgb3IgTi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfaW5pdCksIChnc3Rfc2VsZWN0b3JfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSksIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBBZGQgcGFkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBiZWhhdmlvdXIgb2YgdGhlIHVuc2VsZWN0ZWQgcGFkLCBpdCBjYW4KCSAgcmV0dXJuIE9LIG9yIE5PVF9MSU5LRUQsIGJhc2VkIG9uIHRoZSB1c2UgY2FzZS4KCjIwMDgtMDMtMjAgMTY6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBGaWd1cmUgb3V0IHRoZSBsb2NraW5nIGEgYml0IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9yZXNldCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3dhaXQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZGlzcG9zZSksIChnc3Rfc2VnbWVudF9zZXRfc3RhcnQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X2xpbmtlZF9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2lzX2FjdGl2ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9hY3RpdmF0ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2Jsb2NrKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgTWFyayBidWZmZXJzIHdpdGggZGlzY29udCBhZnRlciBzd2l0Y2hpbmcuCgkgIEZpeCBpbml0aWFsIHNlZ21lbnQgZm9yd2FyZGluZywgbWFrZSBzdXJlIHRvIG9ubHkgZm9yd2FyZCBvbmUgc2VnbWVudAoJICByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHNlcXVlbmNlIG9mIGJ1ZmZlcnMvc2VnbWVudHMgaXMuIFNlZSAjNTIyMjAzLgoJICBJbXByb3ZlIGZsdXNoaW5nIHdoZW4gYmxvY2tlZC4KCSAgUmV0dXJuIE5PVF9MSU5LRUQgd2hlbiBhIHN0cmVhbSBpcyBub3Qgc2VsZWN0ZWQuCgkgIE5vdCBBUEkgY2hhbmdlIGZvciB0aGUgc3dpdGNoIHNpZ25hbCBpbiB0aGUgZG9jcy4KCSAgRml4IHN0YXJ0L3RpbWUvYWNjdW0gdmFsdWVzIG9mIHRoZSBuZXcgc2VnbWVudC4KCSAgQ29ycmVjdGx5IHVubG9jayBhbmQgZmx1c2ggYSBibG9ja2luZyBzZWxlY3RvciB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwOC0wMy0yMCAxNTo1NDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS86IEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoKMjAwOC0wMy0yMCAxNTo0OToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTkgMTg6NDQ6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9vZmEvZ3N0b2ZhLmM6IEltcHJvdmUgZGVidWdnaW5nLCBjbGVhbiB1cCBhIGJpdCBhbmQgcmVhbGx5IGdlbmVyYXRlIHRoZSBmaW5nZXJwcmludCBhZnRlciAxMzUgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50CgkgIGFmdGVyIDEzNSBzZWNvbmRzLgoKMjAwOC0wMy0xOSAxODoxOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogVXNlIEdQTCBhcyBsaWNlbnNlLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBMR1BMIGJ1dCBsaWJvZmEgaXMgR1BMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgoyMDA4LTAzLTE5IDE4OjE0OjE3ICswMDAwICBFcmljIEJ1ZWhsIDxlcmljLmJ1ZWhsQGdtYWlsLmNvbT4KCgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBFcmljIEJ1ZWhsIDxlcmljIGRvdCBidWVobCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6IChnc3Rfb2ZhX2Jhc2VfaW5pdCksIChnc3Rfb2ZhX2ZpbmFsaXplKSwKCSAgKGdzdF9vZmFfY2xhc3NfaW5pdCksIChjcmVhdGVfZmluZ2VycHJpbnQpLCAoZ3N0X29mYV9ldmVudCksCgkgIChnc3Rfb2ZhX2luaXQpLCAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAoZ3N0X29mYV9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIEZpeGVzIGJ1ZyAjMzUxMzA5LgoKMjAwOC0wMy0xOCAxMDoxMjo0MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfY2hhaW4pOiBGaXggYSBiYWQgZm9ybWF0IGFyZ3VtZW50LAoJICBhbmQgYSBwb3RlbnRpYWwgaW50IG92ZXJmbG93LgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDogSW5jbHVkZSA8bmVhYWNkZWMuaD4gaWYgZmFhZCBpcyBuZWFhYy4KCSAgQXZvaWRzIGEgI3dhcm5pbmcgYWJvdXQgYW4gaWdub3JlZCAjcHJhZ21hLgoKMjAwOC0wMy0xNyAxNTo1MTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgVXBkYXRlIHN3aXRjaCBleGFtcGxlIHRvIHVzZSBpbnB1dCBzZWxlY3Rvci4KCjIwMDgtMDMtMTcgMDk6MDI6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkKCSAgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYWJvdXQgYWxsIHRoZSBvdGhlciAzeHgKCSAgcmVkaXJlY3Qgc3RhdHVzIGNvZGVzLiBGaXhlcyBidWcgIzUyMjg4NC4KCjIwMDgtMDMtMTQgMjE6NDg6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdGhlIGRzaG93IGhlbHBlciBsaWJyYXJ5IGhlYWRlcnMgZ2V0IGRpc3RyaWJ1dGVkIGluIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTAzLTE0IDE3OjM4OjEwICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmhrPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBTaWduaWZpY2FudCBpbXByb3ZlbWVudHMuICBGaXhlcyAjNTIxMzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgoyMDA4LTAzLTE0IDE3OjIyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKToKCSAgQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBGaXggdGltZSBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTAzLTEzIDE2OjQ2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogVmFyaW91cyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2ZpbmFsaXplKSwgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgQWRkZWQgdGFncyB0byB0aGUgcGFkcy4KCSAgU2VsZWN0IGFjdGl2ZSBwYWQgYmFzZWQgb24gdGhlIHBhZCBvYmplY3QgaW5zdGVhZCBvZiBpdHMgbmFtZS4KCSAgRml4IHJlZmNvdW50IGluIHNldF9hY3RpdmVfcGFkLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgcGFkcy4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIFNlbGVjdCB0aGUgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggbG9ja2luZyB3aGVuIHNldHRpbmcgdGhlIGFjdGl2ZSBwYWQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOiAoY2xlYW51cF9wYWQpLAoJICAoc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLCAocnVuX2lucHV0X3NlbGVjdG9yX2J1ZmZlcl9jb3VudCk6CgkgIEZpeGVzIGZvciBwYWQgaW5zdGVhZCBvZiBwYWRuYW1lIGZvciBwYWQgc2VsZWN0aW9uLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDgtMDMtMTMgMDk6NDU6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgoyMDA4LTAzLTEyIDE4OjQ0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBTZXQgY29ycmVjdCBwaXhlbCBhc3BlY3QgcmF0aW8gZm9yIHRoZSBlbmNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAzLTA4IDA0OjI3OjAzICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEltcHJvdmUgdGhlIGhlYWRlciBjaGVja2luZyB0byBsb29rIGZvciB3aGF0IGZhYWQyIGxvb2tzIGZvciB0b28uIEZpeGVzIHBsYXliYWNrIG9mIHNhbWUgYXBwbGUgdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKToKCSAgSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MKCSAgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0cmFpbGVycy4KCSAgRml4ZXMgYnVnICM0Njk5NzkuCgoyMDA4LTAzLTA3IDEzOjI4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0IDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsbHkgY2hlY2sgZm9yIGxpYmRjMTM5NCA+PSAyLjAuMCwgcGtnLWNvbmZpZyB0aGlua3MgdGhhdAoJICAyLjAuMC1yY1ggaXMgbmV3ZXIgdGhhbiAyLjAuMCBzbyB3ZSBjaGVjayBmb3IgdGhpcyB0b28uCgoyMDA4LTAzLTA2IDA3OjAzOjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogQWRkIGEgYnVuY2ggb2YgcHJvcGVydGllcyBjcmliYmVkIGZyb20gdGhlIGVuY29kZXIgcHJvZ3JhbSBpbiBkaXJhYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQKCSAgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoKMjAwOC0wMy0wNiAwMzoxNjoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXdyaXRlIERpcmFjIGVuY29kZXIgcGx1Z2luIGJhc2VkIG9uIFNjaHJvZWRpbmdlciBnc3RyZWFtZXIgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lcgoJICBlbGVtZW50cy4KCjIwMDgtMDMtMDUgMDY6MDM6MDMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHRlc3Rfc2lua19ldmVudCksIChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfbXBsZXgpLCAoY2xlYW51cF9tcGxleCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChtcGxleF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIG1wbGV4IGVsZW1lbnQuCgoyMDA4LTAzLTA1IDA1OjM4OjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgY29uZmlndXJlLmFjOiBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkgIFN0cmVhbWxpbmUgY29uZGl0aW9uYWwgY29kZSBmb3IgZXZvbHZpbmcgbWpwZWd0b29scyBBUEksCgkgIG9wdGltaXplIGFuZCBmaXgvcHJldmVudCBjcmFzaCBpbiBsb2cgaGFuZGxpbmcsIHVzZQoJICBuYW1lcy9uaWNrcyBmb3IgZW51bXMgaW4gdGhlIHVzdWFsIHdheSBhbmRtIGlub3IgdXBkYXRlcwoJICBpbiBjb2RlIGFuZCBwcm9wZXJ0aWVzL3NldHRpbmdzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1MjAzMjkuCgoyMDA4LTAzLTA0IDE3OjQ5OjE1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBwYXJzaW5nIG9mIGNhYmxlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yLgoKMjAwOC0wMy0wMyAxMjo0ODo1NiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2ggcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoCgkgIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0OTgyMjIpCgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAwOC0wMy0wMyAwNjowNDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmM6IChnc3RfYWxzYV9taXhlcl90cmFja19nZXRfdHlwZSk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vYXVkaW8uYzoKCSAgKiBnc3QtbGlicy9nc3QvZmZ0L2tpc3NfZmZ0X2Y2NC5jOiAoa2lzc19mZnRfZjY0X2FsbG9jKToKCSAgKiBnc3QtbGlicy9nc3QvcGJ1dGlscy9taXNzaW5nLXBsdWdpbnMuYzoKCSAgKGdzdF9taXNzaW5nX3VyaV9zaW5rX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZGVjb2Rlcl9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbmNvZGVyX21lc3NhZ2VfbmV3KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RydGNwYnVmZmVyLmM6CgkgIChnc3RfcnRjcF9wYWNrZXRfYnllX2dldF9yZWFzb24pOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzoKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfZ2V0X2FueV9jYXBzKToKCSAgKiBzeXMvdjRsL3Y0bF9jYWxscy5jOgoJICAqIHN5cy92NGwvdjRsc3JjX2NhbGxzLmM6IChnc3RfdjRsc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsc3JjX3RyeV9jYXB0dXJlKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3hpbWFnZXNpbmtfeGltYWdlX25ldyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoc2V0dXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWNvZGViaW4uYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzogKHNldHVwX2dub21ldmZzc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKHNldHVwX211bHRpZmRzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoc2V0dXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKHNldHVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChzZXR1cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL2Nsb2NrLXNlbGVjdGlvbi5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChzZXR1cCksICh0ZWFyZG93bik6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvdmlkZW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChxdWVyeV9wb3NpdGlvbnNfZWxlbXMpLAoJICAocXVlcnlfcG9zaXRpb25zX3BhZHMpOgoJICAqIHRlc3RzL2ljbGVzL3N0cmVzcy14b3ZlcmxheS5jOiAobXljbG9jayk6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZAoJICBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RydHAuZGVmOgoJICBBZGQgZ3N0X3J0cF9idWZmZXJfc2V0X2V4dGVuc2lvbl9kYXRhIHRvIHRoZSBzeW1ib2wgZGVmaW5pdGlvbiBmaWxlLgoKMjAwOC0wMy0wMyAwNDozOTo0OCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBGaXggYXVkaW8gZGlzY29udGludWl0eSB0aGF0IGhhcHBlbnMgd2hlbiBzaWxlbnQgY2h1bmtzIGFyZSBmb2xsb3dlZCBieSByZWFsIGRhdGEgYWdhaW4uIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2F1ZGlvX2RhdGEpLAoJICAoZ3N0X212ZV9kZW11eF9nZXRfdHlwZSk6CgkgIEZpeCBhdWRpbyBkaXNjb250aW51aXR5IHRoYXQgaGFwcGVucyB3aGVuIHNpbGVudCBjaHVua3MgYXJlCgkgIGZvbGxvd2VkIGJ5IHJlYWwgZGF0YSBhZ2Fpbi4gRml4ZXMgYnVnICM1MTk5MDUuCgoyMDA4LTAzLTAxIDEyOjQ5OjEzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBEVkItQyBzdXBwb3J0LiBTcGVjaWFsIHRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIGEgdGVzdGluZyBncm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIEFkZCBEVkItQyBzdXBwb3J0LiBTcGVjaWFsIHRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIKCSAgZm9yIGEgdGVzdGluZyBncm91bmQuCgoyMDA4LTAyLTI4IDEzOjIyOjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IE9ubHkgc2VuZCBQTVRzIHRvIHByb2dyYW0gcGFkcyB0aGF0IHRoZSBQTVQgaXMgZm9yIGV2ZW4gaWYgb24gc2FtZSBwaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBPbmx5IHNlbmQgUE1UcyB0byBwcm9ncmFtIHBhZHMgdGhhdCB0aGUgUE1UIGlzIGZvciBldmVuIGlmCgkgIG9uIHNhbWUgcGlkLgoJICBBcyBhIGJ5LXByb2R1Y3QsIHdlIG5vdyBubyBsb25nZXIgaGFyZGNvZGUgYW55IHBzaSBwaWQgbnVtYmVycy4KCSAgQWxzbyByZW1vdmUgcGNyIHN0cmVhbSBmcm9tIG9sZCBwbXQgd2hlbiB3ZSBhcHBseSBhIG5ldyBwbXQuCgoyMDA4LTAyLTI4IDEwOjQxOjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncyBhbmQgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGF0aW1lIGFzIGxvY2FsIHRpbWUgKHRob3NlIGNoYW5nZXMgaGFzIGJlZW4gZG9uZSBpbiBwcmV2aW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzIGFuZCBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YXRpbWUgYXMgbG9jYWwgdGltZSAodGhvc2UgY2hhbmdlcyBoYXMgYmVlbiBkb25lIGluIHByZXZpb3VzIGNvbWl0IGJ1dCBoYWQgdG8gYmUgcmV2ZXJ0IGluIDIwMDgtMDItMTAgZHVlIHRvIGZyb3plbikKCjIwMDgtMDItMjcgMjM6Mjk6NDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IFJlbW92ZSB0aGUgR19WQUxVRV9IT0xEU19CT1hFRCBjaGVja3MuIFRoZXkgd2VyZSBvbmx5IGFkZGVkIHRvIGhlbHAgZGVidWcgdGhlIGRhdGEgY29ycnVwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBSZW1vdmUgdGhlIEdfVkFMVUVfSE9MRFNfQk9YRUQgY2hlY2tzLiBUaGV5IHdlcmUKCSAgb25seSBhZGRlZCB0byBoZWxwIGRlYnVnIHRoZSBkYXRhIGNvcnJ1cHRpb24uCgoyMDA4LTAyLTI3IDE5OjQxOjEzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBEb24ndCBmcmVlIHRoZSBwcm9ncmFtIGRlc2NyaXB0b3JzLCB0aGlzIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZW0gaXMgc3RpbGxzIHRvcmVkIGFmdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIERvbid0IGZyZWUgdGhlIHByb2dyYW0gZGVzY3JpcHRvcnMsIHRoaXMgc3RydWN0dXJlCgkgIGNvbnRhaW5pbmcgdGhlbSBpcyBzdGlsbHMgdG9yZWQgYWZ0ZXIuCgkgIEZpeGVzIGRhdGEgY29ycnVwdGlvbi4KCjIwMDgtMDItMjcgMTI6MzQ6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IEV4dHJhIGNoZWNrcyB0byBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbi9zZWdmYXVsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRXh0cmEgY2hlY2tzIHRvIHByZXZlbnQgZGF0YSBjb3JydXB0aW9uL3NlZ2ZhdWx0cy4KCjIwMDgtMDItMjYgMTU6MTM6NTQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA4LTAyLTI2IDEyOjA0OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbmFzL25hc3NpbmsuYzogRml4IGJ1aWxkIHdhcm5pbmcgYnkgdXNpbmcgcG9ydGFibGUgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgRml4IGJ1aWxkIHdhcm5pbmcgYnkgdXNpbmcgcG9ydGFibGUgQVBJLgoKMjAwOC0wMi0yNiAxMjowMTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6IEZpeCBjaGFuZ2luZyB0byBzYW1lIHBhZCB0d2ljZSBiZWZvcmUgYSBjaGFpbiBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IGNoYW5naW5nIHRvIHNhbWUgcGFkIHR3aWNlIGJlZm9yZSBhIGNoYWluIGNhbGwuCgoyMDA4LTAyLTI2IDA1OjU0OjI2ICswMDAwICBEYW5pZWwgRmlzY2hlciA8ZGFuQGYzYy5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgbGliZGMxMzk0IDIuMC4wIGFuZCBhYm92ZSBhbmQgcmVxdWlyZSB0aGlzIHZlcnNpb24gbm93LiBGaXhlcyBidWcgIzUxNDk2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRmlzY2hlciA8ZGFuIGF0IGYzYyBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLCAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2Fwcyk6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYmRjMTM5NCAyLjAuMCBhbmQgYWJvdmUgYW5kIHJlcXVpcmUgdGhpcyB2ZXJzaW9uCgkgIG5vdy4gRml4ZXMgYnVnICM1MTQ5NjQuCgoyMDA4LTAyLTI2IDA1OjM2OjE3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4KCSAgdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgoyMDA4LTAyLTI1IDA4OjUzOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBBZGRlZCAic2VsZWN0LWFsbCIgcHJvcGVydHkgdG8gbWFrZSBpdCB3b3JrIGxpa2UgYWdncmVnYXRvciBpbiAwLjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgQWRkZWQgInNlbGVjdC1hbGwiIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yayBsaWtlIGFnZ3JlZ2F0b3IgaW4gMC44LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggcmVzZW5kLWxhdGVzdCBiZWhhdm9pdXIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igc2VsZWN0b3IuCgoyMDA4LTAyLTI1IDA2OjI5OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgbWlkaSB0eXBlZmluZGVycyBhbmQgcmVxdWlyZSBiYXNlIENWUyBhcyB0aGV5IG1vdmVkIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSBtaWRpIHR5cGVmaW5kZXJzIGFuZCByZXF1aXJlIGJhc2UgQ1ZTIGFzIHRoZXkgbW92ZWQgdGhlcmUuCgoyMDA4LTAyLTI0IDA5OjU3OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IE9ubHkgZGlzYWJsZSB0aGUgZXh0L3RpbWlkaXR5IGRpcmVjdG9yeSBpZiBib3RoLCB3aWxkbWlkaSBfYW5kXyB0aW1pZGl0eSBhcmUgbm90IGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBPbmx5IGRpc2FibGUgdGhlIGV4dC90aW1pZGl0eSBkaXJlY3RvcnkgaWYgYm90aCwgd2lsZG1pZGkKCSAgX2FuZF8gdGltaWRpdHkgYXJlIG5vdCBhdmFpbGFibGUuCgoyMDA4LTAyLTI0IDA0OjI0OjIwICswMDAwICBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodUB1YnVudHUuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBCdWlsZCB0aGUgd2lsZG1pZGkgcGx1Z2luIGlmIGl0J3MgZW5hYmxlZCBhbmQgbm90IG9ubHkgd2hlbiBib3RoLCB0aGUgdGltaWRpdHkgYW5kIHdpbGRtaWRpIHBsdWdpbiwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHUgYXQgdWJ1bnR1IGRvdCBjb20+CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBCdWlsZCB0aGUgd2lsZG1pZGkgcGx1Z2luIGlmIGl0J3MgZW5hYmxlZCBhbmQgbm90IG9ubHkgd2hlbgoJICBib3RoLCB0aGUgdGltaWRpdHkgYW5kIHdpbGRtaWRpIHBsdWdpbiwgYXJlIGVuYWJsZWQuCgoyMDA4LTAyLTIzIDE1OjAxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIEdTVF9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZyBDKysgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIEdTVF9DWFhGTEFHUyBhbmQgdXNlIHRoZW0KCSAgd2hlbiBidWlsZGluZyBDKysgY29kZS4KCjIwMDgtMDItMjMgMTE6NTY6NDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdWx0aXByb3RvIGRyaXZlciAobm90IHlldCBtZXJnZWQgaW50byB2NGwtZHZiIG1haW5saW5lIHlldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11bHRpcHJvdG8gZHJpdmVyIChub3QgeWV0IG1lcmdlZCBpbnRvCgkgIHY0bC1kdmIgbWFpbmxpbmUgeWV0KS4KCSAgT25seSB3b3JrcyBmb3IgRFZCLVMgbm90IERWQi1TMiwgRFZCLVQsIERWQi1DIG9yIG90aGVyLgoKMjAwOC0wMi0yMiAxMDoxODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogVXBkYXRlIHRvIHZlcnNpb24gMC4xMC42LjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSB0byB2ZXJzaW9uIDAuMTAuNi4xLgoKMjAwOC0wMi0yMiAwOTo1Njo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBkb2NzIGZvciBlbGVtZW50cyB0aGF0IGhhdmUgbW92ZWQgdG8gb3RoZXIgbW9kdWxlcyBvciBiZWVuIHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlbW92ZSBkb2NzIGZvciBlbGVtZW50cyB0aGF0IGhhdmUgbW92ZWQgdG8gb3RoZXIgbW9kdWxlcwoJICBvciBiZWVuIHJlbmFtZWQuCgoyMDA4LTAyLTIyIDA3OjIwOjAzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfZnJlZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgUHJlZml4IHByb3h5IFVSSXMgd2l0aCAiaHR0cDovLyIgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGl0CgkgIGFscmVhZHkgYW5kIGNhdGNoIGVycm9ycyBlYXJsaWVyLCBmaXhlcyBoYW5naW5nIGluIHNvbWUgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1MTQ5NDguCgoyMDA4LTAyLTIyIDA2OjQyOjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDogQWRkIHN1cHByZXNzaW9ucyBmb3IgU291bmRUb3VjaCB2YWxncmluZCB3YXJuaW5ncyBhbmQgYSB2YWxncmluZCB3YXJuaW5nIGNhdXNlZCBieSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBwcmVzc2lvbnMgZm9yIFNvdW5kVG91Y2ggdmFsZ3JpbmQgd2FybmluZ3MgYW5kCgkgIGEgdmFsZ3JpbmQgd2FybmluZyBjYXVzZWQgYnkgdGhlIExBRFNQQSBzaW5lIHBsdWdpbiBhbmQKCSAgaGFwcGVuaW5nIG9uIGV2ZXJ5IGV4aXQoKS4KCSAgUmVtb3ZlIEdJTyBzdXBwcmVzc2lvbnMgYXMgaXQncyBub3cgaW4gLWJhc2UuCgoyMDA4LTAyLTIyIDA2OjMzOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBEb24ndCBhbGxvY2F0ZSBhbmQgY29weSB0aGUgZGF0YSB0byBhIG5ldyBwbGFjZSBidXQgaW5zdGVhZCBwdXQgdGhlIGRhdGEgZnJvbSBnbXl0aCAod2hpY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2NyZWF0ZSk6CgkgIERvbid0IGFsbG9jYXRlIGFuZCBjb3B5IHRoZSBkYXRhIHRvIGEgbmV3IHBsYWNlIGJ1dCBpbnN0ZWFkCgkgIHB1dCB0aGUgZGF0YSBmcm9tIGdteXRoICh3aGljaCB3ZSBvd24pIGludG8gdGhlIGJ1ZmZlcnMgdGhhdAoJICBhcmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA4LTAyLTIyIDA2OjMxOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogSWYgV0lMRE1JRElfQ0ZHIGlzIG5vdCBkZWZpbmVkLCBkZWZpbmUgaXQgdG8gdGhlIGRlZmF1bHQgdGltaWRpdHkgY29uZmlndXJlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICBJZiBXSUxETUlESV9DRkcgaXMgbm90IGRlZmluZWQsIGRlZmluZSBpdCB0byB0aGUgZGVmYXVsdAoJICB0aW1pZGl0eSBjb25maWd1cmUgZmlsZS4KCjIwMDgtMDItMjIgMDY6MTI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBoYWNrIHRvIHdvcmsgd2l0aCBtanBlZ3Rvb2xzIDEuOS4wcmMzIGFuZCBhYm92ZSBhbmQgaW5zdGVhZCB1c2UgbWpwZWdfbG9nbGV2X3QoKSBmb3IgZ2V0dGluZyB0aGUgbG9nIGxldmVscy4gQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgSGFucyBkZSBHb2VkZSA8aiBkb3QgdyBkb3QgciBkb3QgZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIFJlbW92ZSBoYWNrIHRvIHdvcmsgd2l0aCBtanBlZ3Rvb2xzIDEuOS4wcmMzIGFuZCBhYm92ZSBhbmQgaW5zdGVhZAoJICB1c2UgbWpwZWdfbG9nbGV2X3QoKSBmb3IgZ2V0dGluZyB0aGUgbG9nIGxldmVscy4gQ2hlY2sgZm9yIHRoaXMKCSAgZnVuY3Rpb24gaW4gY29uZmlndXJlLmFjIGFzIHRoZSBwa2ctY29uZmlnIGZpbGUgZG9lc24ndCB0ZWxsIHVzCgkgIHdoaWNoIHJlbGVhc2UgY2FuZGlkYXRlIHdlIGhhdmUuIEZpeGVzIGJ1ZyAjNTE3ODk2LgoKMjAwOC0wMi0yMiAwNTo0ODozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBmb3IgdGhlIG5hcyBwbHVnaW4gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCBpdCBhZ2Fpbi4gRml4ZXMgYnVnICM1MTc4OTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggZm9yIHRoZSBuYXMgcGx1Z2luIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgaXQKCSAgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE3ODk1LgoKMjAwOC0wMi0yMiAwNTo0MjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IElnbm9yZSBzb21lIG1vcmUgZWxlbWVudHMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LCBsaWtlIGRmYnZpZGVvc2luayB3aGljaCBwcm9kdWNlcyBhIHNlZ2ZhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgc29tZSBtb3JlIGVsZW1lbnRzIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCwgbGlrZQoJICBkZmJ2aWRlb3Npbmsgd2hpY2ggcHJvZHVjZXMgYSBzZWdmYXVsdC4gRml4ZXMgYnVnICM1MTc4NTQuCgoyMDA4LTAyLTIyIDA1OjMzOjU5ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBTb21lIEM4OSBmaXhlcywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTM3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJfcHJvcGVydHlfc2V0X3ZlcnNpb24pOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX2RlY29kZXJfbWVzc2FnZV9zZXRfZW5jb2RpbmdzKSwKCSAgKHJmYl9kZWNvZGVyX3N0YXRlX3NldF9lbmNvZGluZ3MpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9uaXQpLCAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfc2R0KSwKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2VpdCk6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19nZXRjYXBzKSwKCSAgKGdzdF9mYmRldnNpbmtfc2V0Y2FwcyksIChnc3RfZmJkZXZzaW5rX3JlbmRlcik6CgkgIFNvbWUgQzg5IGZpeGVzLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcKCSAgb2YgYSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzcuCgoyMDA4LTAyLTIxIDIzOjUwOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCj09PSByZWxlYXNlIDAuMTAuNiA9PT0KCjIwMDgtMDItMjEgMDA6MTM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC42IC0gQSBCaWcgRGVlcCBCcmVhdGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC42IC0gQSBCaWcgRGVlcCBCcmVhdGgKCjIwMDgtMDItMjAgMjM6MzU6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTAyLTIwIDE2OjA0OjMyICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBVc2luZyB0aGUgd3JvbmcgR3N0Rm9ybWF0IGZvciB0aGUgZmlsZXNpemUsIGFuZCBmYWlsIHNlZWsgcHJvcGVybHkgb24gYW55dGhpbmcgYnV0IF9CWVRFUyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMjAgIEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzQGhhZGVzcy5uZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2RvX3NlZWspLAoJICAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOiBVc2luZyB0aGUgd3JvbmcgR3N0Rm9ybWF0IGZvciB0aGUgZmlsZXNpemUsCgkgIGFuZCBmYWlsIHNlZWsgcHJvcGVybHkgb24gYW55dGhpbmcgYnV0IF9CWVRFUyBmb3JtYXQKCSAgRml4ZXMgYnVnICM1MTc2ODQKCjIwMDgtMDItMjAgMDk6MzM6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoKMjAwOC0wMi0xOSAxMTo1MDo0NSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGNoYW5nZSBnbXl0aC0xLjAgdG8gZ215dGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZSBnbXl0aC0xLjAgdG8gZ215dGgKCjIwMDgtMDItMTkgMTA6NTE6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC90dGEvTWFrZWZpbGUuYW06IExpbmsgdHRhIHBsdWdpbiB3aXRoIGxpYm0uIEZpeGVzIGJ1ZyAjNTE3MzkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICBMaW5rIHR0YSBwbHVnaW4gd2l0aCBsaWJtLiBGaXhlcyBidWcgIzUxNzM5MS4KCjIwMDgtMDItMTQgMTc6MDk6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IERvIG5vdCBhc3N1bWUgImRlc2NyaXB0b3JzIiBwcm9wZXJ0eSBpbiB0aGUgcG10IHN0cnVjdHVyZSBpcyBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIERvIG5vdCBhc3N1bWUgImRlc2NyaXB0b3JzIiBwcm9wZXJ0eSBpbiB0aGUgcG10IHN0cnVjdHVyZQoJICBpcyBwcmVzZW50LgoJICBGaXhlcyAjNTE2NDk5LgoKMjAwOC0wMi0xNCAxNjoyNTo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZyBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nCgkgIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCjIwMDgtMDItMTQgMTQ6MzM6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IFNldCBuX2xpbmVfY3RybF9pIHRvIDAgd2hlbmV2ZXIgd2UgZnJlZSBsaW5lX2N0cmxfaS4gUGF0Y2ggYmFzZWQgb24gYW4gaWRlYSBieSBKYW4gU2NobWlkdCwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZ3N0X2R2ZF9zcHVfaGFuZGxlX25ld19zcHVfYnVmKToKCSAgU2V0IG5fbGluZV9jdHJsX2kgdG8gMCB3aGVuZXZlciB3ZSBmcmVlIGxpbmVfY3RybF9pLiBQYXRjaCBiYXNlZAoJICBvbiBhbiBpZGVhIGJ5IEphbiBTY2htaWR0LCBmaXhlcyBidWcgIzUxNjQzNi4KCjIwMDgtMDItMTQgMTQ6MjI6NTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBNYWtlIHN1cmUgdGhlIGdzdG1wZWdkZXNjIGRlYnVnIGxpbmVzIGRvIG5vdCBjcml0aWNhbCB3aGVuIEdTVF9ERUJVRyBpcyBlbmFibGVkIGFuZCBhbHNvIGFjdHVhbGx5IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1ha2Ugc3VyZSB0aGUgZ3N0bXBlZ2Rlc2MgZGVidWcgbGluZXMgZG8gbm90IGNyaXRpY2FsCgkgIHdoZW4gR1NUX0RFQlVHIGlzIGVuYWJsZWQgYW5kIGFsc28gYWN0dWFsbHkgb3V0cHV0LgoJICBUaGFua3MgdG8gQWxlc3NhbmRybyBEZWNpbmEgZm9yIHNwb3R0aW5nLgoJICBGaXhlcyAjNTE2NDQ4CgoyMDA4LTAyLTEzIDIzOjUyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFsc28gYWRkIGRzaG93IHBpZWNlcyB0byB0aGUgZGlzdGVkIHN1YmRpcnMgdG8gZml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWxzbyBhZGQgZHNob3cgcGllY2VzIHRvIHRoZSBkaXN0ZWQgc3ViZGlycyB0byBmaXggZGlzdGNoZWNrLgoKMjAwOC0wMi0xMyAxNDo0MDozMyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBSZS1GaXhlcyAjNTE2MDYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gUmUtRml4ZXMgIzUxNjA2MS4KCjIwMDgtMDItMTMgMTE6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQWxsb3cgZ215dGggdmVyc2lvbnMgZnJvbSAwLjQgdXAgdG8gMC43Ljk5LCB0aGUgQVBJIGRpZG4ndCBjaGFuZ2UgdW50aWwgMC43IGZvcnR1bmF0ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsbG93IGdteXRoIHZlcnNpb25zIGZyb20gMC40IHVwIHRvIDAuNy45OSwgdGhlIEFQSSBkaWRuJ3QgY2hhbmdlCgkgIHVudGlsIDAuNyBmb3J0dW5hdGVseS4KCjIwMDgtMDItMTIgMjM6MTY6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBHZW5lcmF0ZSB0aGUgZGlyZWN0c2hvdyBNYWtlZmlsZXMgc28gdGhhdCB0aGUgZGlyZWN0b3JpZXMgZ2V0IGRpc3RlZC4gU3RpbGwgbmVlZHMgc29tZSBjb25maWd1cmUgdGltZSBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgR2VuZXJhdGUgdGhlIGRpcmVjdHNob3cgTWFrZWZpbGVzIHNvIHRoYXQgdGhlIGRpcmVjdG9yaWVzCgkgIGdldCBkaXN0ZWQuIFN0aWxsIG5lZWRzIHNvbWUgY29uZmlndXJlIHRpbWUgZGV0ZWN0aW9uIHRvIGVuYWJsZQoJICBidWlsZGluZyB0aGVtIHVuZGVyIE1pbmdXLgoKMjAwOC0wMi0xMiAyMzoxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06IERvbid0IGluc3RhbGwgYSBoZWFkZXIgZmlsZS4gV2Ugd2lsbCBoYXZlIHRvIG1lcmdlIHRoZXNlIHRhZ3MgaW50byBsaWJnc3R0YWcgYWZ0ZXIgdGhlIHJlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIGEgaGVhZGVyIGZpbGUuIFdlIHdpbGwgaGF2ZSB0byBtZXJnZSB0aGVzZQoJICB0YWdzIGludG8gbGliZ3N0dGFnIGFmdGVyIHRoZSByZWxlYXNlIGFuZCB1c2UgdGhlbSBmcm9tIHRoZXJlLgoJICBGaXhlczogIzUxNTg2MAoKMjAwOC0wMi0xMiAyMjoxMDozOSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgQWRkIE1ha2VmaWxlcyB0byB3aW4zMiBwbHVnaW5zIGFuZCBsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBNYWtlZmlsZXMgdG8gd2luMzIgcGx1Z2lucyBhbmQgbGliLgoJICBUaGV5IHdpbGwgbmVlZCB0byBiZSB0ZXN0ZWQgYW5kIHByb2JhYmx5IGZpeGVkIGJ5IGRldmVsb3BlcnMKCSAgd29ya2luZyB3aXRoIG1pbmd3LiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCB0byBpbmNsdWRlIHNvdXJjZSBmaWxlcwoJICB3aXRoIHJlbGVhc2VzLgoKMjAwOC0wMi0xMiAyMTozMTo1NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggbGVhayBvZiBsb2NhdGlvbiBzdHJpbmcgcmV0dXJuZWQgZnJvbSBnc3RfdXJpX2dldF9sb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEZpeCBsZWFrIG9mIGxvY2F0aW9uIHN0cmluZyByZXR1cm5lZCBmcm9tIGdzdF91cmlfZ2V0X2xvY2F0aW9uLgoJICBGaXhlcyBidWcgIzUxNjExNAoKMjAwOC0wMi0xMiAyMTowMToxNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZW1vdmUgZ2xpbWFnZXNpbmssIGFzIGl0J3MgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvQlVHUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVtb3ZlIGdsaW1hZ2VzaW5rLCBhcyBpdCdzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ2wuCgkgIEZpeGVzICM1MTYwOTQuCgoyMDA4LTAyLTEyIDE4OjI5OjI5ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIEZpeGVzICM1MTYwNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBGaXhlcyAjNTE2MDYxLgoKMjAwOC0wMi0xMiAxMTowODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IENoYWluIHVwIGRpc3Bvc2UgbWV0aG9kcyBwcm9wZXJseS4gRml4ZXMgYnVnICM1MTU5NzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfZGlzcG9zZSk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19kaXNwb3NlKToKCSAgQ2hhaW4gdXAgZGlzcG9zZSBtZXRob2RzIHByb3Blcmx5LiBGaXhlcyBidWcgIzUxNTk3MC4KCjIwMDgtMDItMTIgMTE6MDI6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgNTE1OTE5IGZpeGVkIGluIG15IHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIDUxNTkxOSBmaXhlZCBpbiBteSBwcmV2aW91cyBjb21taXQKCjIwMDgtMDItMTIgMTA6NTc6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogRml4IGxlYWtpbmcgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBsZWFraW5nIGNhcHMuCgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gZm9yd2FyZCBtb2RlLgoJICBDbGVhbnVwIHF1ZXVlcyB3aGVuIGdvaW5nIHRvIFJFQURZLiBGaXhlcyAjNTE1ODE1LgoKMjAwOC0wMi0xMiAxMDoyNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBHSU8gcGx1Z2luIGFzIGl0IHdhcyBtb3ZlZCB0byBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWcgIzUxNTk2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdJTyBwbHVnaW4gYXMgaXQgd2FzIG1vdmVkIHRvCgkgIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1ZyAjNTE1OTY0LgoKMjAwOC0wMi0xMiAxMDoyMjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggc29tZSBmaW5hbGl6ZSBsZWFrcyBieSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgRml4IHNvbWUgZmluYWxpemUgbGVha3MgYnkgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBtZXRob2QuCgoyMDA4LTAyLTEyIDA1OjIxOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgoyMDA4LTAyLTEyIDA1OjE5OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBGcmVlIHRoZSByZmIgZGVjb2RlciBvbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZiX3NyY19kaXNwb3NlKToKCSAgRnJlZSB0aGUgcmZiIGRlY29kZXIgb24gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIxLgoKMjAwOC0wMi0xMSAxMzozNDo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiBGcmVlIHRoZSBkZXZpY2Ugc3RyaW5nIGluIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9mYmRldnNpbmtfZmluYWxpemUpOgoJICBGcmVlIHRoZSBkZXZpY2Ugc3RyaW5nIGluIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMi4KCjIwMDgtMDItMTEgMTM6MzM6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogVW5zZXQgR1ZhbHVlcyBhZnRlciB1c2luZyB0aGVtLiBGaXhlcyBidWcgIzUxNTcyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgdXNpbmcgdGhlbS4gRml4ZXMgYnVnICM1MTU3MjAuCgoyMDA4LTAyLTExIDA1OjExOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aGUgZHZiIHBsdWdpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0LiBGaXhlcyBidWcgIzUxNTU2Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIGR2YiBwbHVnaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdC4gRml4ZXMgYnVnICM1MTU1NjcuCgoyMDA4LTAyLTEwIDIxOjAzOjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBSZXZlcnQgY2hhbmdlcyB0byAyMDA4LTAyLTA5IGR1ZSB0byBmcm96ZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnQgY2hhbmdlcyB0byAyMDA4LTAyLTA5IGR1ZSB0byBmcm96ZW4uCgoyMDA4LTAyLTEwIDE5OjQ0OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IEpvc2VwJ3Mgc3VybmFtZSBpbiB0aGUgcHJldmlvdXMgZmV3IGNvbW1pdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBKb3NlcCdzIHN1cm5hbWUgaW4gdGhlIHByZXZpb3VzIGZldyBjb21taXRzCgoyMDA4LTAyLTEwIDE5OjAxOjQzICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiBUcml2aWFsIGZpeCBmb3IgYnVpbGQgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBUcml2aWFsIGZpeCBmb3IgYnVpbGQgd2FybmluZy4KCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgIEZpeGVzOiAjNTE1NTg4CgoyMDA4LTAyLTEwIDE4OjM2OjQ2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhVGltZSBhcyBsb2NhbCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGFUaW1lIGFzIGxvY2FsIHRpbWUuCgoyMDA4LTAyLTEwIDA0OjM2OjEyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzLgoKMjAwOC0wMi0wOSAwMzozNzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06IExpc3RpbmcgdGhlIG1hcnNoYWwuaCBpbiB0aGUgbm9kaXN0X0hFQURFUlMgYnJlYWtzIGRpc3RjaGVjaywgc28gbGV0J3Mgbm90IGRvIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBMaXN0aW5nIHRoZSBtYXJzaGFsLmggaW4gdGhlIG5vZGlzdF9IRUFERVJTIGJyZWFrcyBkaXN0Y2hlY2ssIHNvCgkgIGxldCdzIG5vdCBkbyB0aGF0CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIGNyYXNoaW5nIGNkYXVkaW8gcGx1Z2luIGZyb20gdGhlIHN0YXRlcyB0ZXN0IHNvIEkgY2FuIG1ha2UKCSAgcHJlLXJlbGVhc2VzLgoKMjAwOC0wMi0wOSAwMjozMzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBDb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFuZCBzZXQgLWtiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvd2RlY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHYuZHNwOgoJICBDb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFuZCBzZXQgLWtiCgoyMDA4LTAyLTA4IDE4OjIyOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBVUkkgSGFuZGxlciBmb3IgZHZiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBBZGQgVVJJIEhhbmRsZXIgZm9yIGR2Yi4KCSAgUmUtb3JkZXIgcGFkIHRlbXBsYXRlcyB0byB3b3JrYXJvdW5kIGEgYnVnIGluIHBsYXliYXNlYmluLgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBBZGQgY29kZSB0byBwYXJzZSBjaGFubmVscyBmcm9tIHphcC1zdHlsZSBjaGFubmVscy5jb25mIGZpbGVzLgoKMjAwOC0wMi0wOCAwNDoyMjowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgbXVsdGlmaWxlIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgUmVtb3ZlIG11bHRpZmlsZSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMzo0NDoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlLzogVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgU2hvdWxkIGJlIGxlc3MgZXJyb3IgcHJvbmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgc3RhbmRhcmQgZnVuY3Rpb25zIGluc3RlYWQgb2YKCSAgY3JlYXRpbmcgYSBkaXJlY3RvcnkgaW4gdGhlIGN1cnJlbnQgZGlyLgoKMjAwOC0wMi0wOCAwMzoyNzoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgc3BlY3RydW0gcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9zcGVjdHJ1bS52Y3Byb2o6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgUmVtb3ZlIHNwZWN0cnVtIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAyOjQ4OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTLCB0byBnZXQgLVdlcnJvciAtV2FsbCBpbnRvIHRoZSB0ZXN0cyBhcyBmb3IKCSAgb3RoZXIgbW9kdWxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBmcm9tIC1XYWxsIC1XZXJyb3IKCjIwMDgtMDItMDggMDI6MDA6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgUmVtb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDE6MTI6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIERJU0FCTEVfREVQUkVDQVRFRCBkZWZpbmVkICpvbmx5KiBkdXJpbmcgQ1ZTLCBub3QgZHVyaW5nIHByZS1yZWxlYXNlcyBvciByZWxlYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIERJU0FCTEVfREVQUkVDQVRFRCBkZWZpbmVkICpvbmx5KiBkdXJpbmcgQ1ZTLCBub3QgZHVyaW5nCgkgIHByZS1yZWxlYXNlcyBvciByZWxlYXNlcy4KCjIwMDgtMDItMDggMDA6NDg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBEb24ndCBzY2FuIGRlbGV0ZWQgeGluZ211eCBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgRG9uJ3Qgc2NhbiBkZWxldGVkIHhpbmdtdXggaGVhZGVyLgoKMjAwOC0wMi0wOCAwMDo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIHhpbmdtdXggcGx1Z2luLCBhcyB0aGUgZWxlbWVudCBoYXMgbW92ZWQgaW50byBtcGVnYXVkaW9wYXJzZSBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4X3Rlc3RkYXRhLmg6CgkgIFJlbW92ZSB0aGUgeGluZ211eCBwbHVnaW4sIGFzIHRoZSBlbGVtZW50IGhhcyBtb3ZlZCBpbnRvCgkgIG1wZWdhdWRpb3BhcnNlIGluIC11Z2x5LgoKMjAwOC0wMi0wNyAyMzozNzozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFJlbW92ZSBtZW50aW9uIG9mIG5vbi1leGlzdGVudCBoZWFkZXJzIHRvIGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG1lbnRpb24gb2Ygbm9uLWV4aXN0ZW50IGhlYWRlcnMgdG8gZml4IHRoZSBidWlsZC4KCjIwMDgtMDItMDcgMjM6MzA6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIEdJTyBwbHVnaW4gd2hpY2ggaGFzIG5vdyBtb3ZlZCB0byAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICBSZW1vdmUgR0lPIHBsdWdpbiB3aGljaCBoYXMgbm93IG1vdmVkIHRvIC1iYXNlLgoKMjAwOC0wMi0wNyAyMTo1MzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyAtIHRoZXkndmUgYmVjb21lIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQgcmVzcGVjdGl2ZWx5LCBpbiB0aGUgZ3N0LXBsdWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9maWx0ZXIudmNwcm9qOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOgoJICBSZW1vdmUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyAtIHRoZXkndmUgYmVjb21lCgkgIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQgcmVzcGVjdGl2ZWx5LCBpbiB0aGUKCSAgZ3N0LXBsdWdpbnMtZ29vZCBhdWRpb2Z4IHBsdWdpbi4KCjIwMDgtMDItMDcgMjE6MDI6MTkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dFxuZW9uXGdzdG5lb25odHRwc3JjLmM6IEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBfSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dFxuZW9uXGdzdG5lb25odHRwc3JjLmM6CgkgIEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBfSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgICogZ3N0XG1wZWd2aWRlb3BhcnNlXG1wZWd2aWRlb3BhcnNlLmM6CgkgIFVzZSBHX0dVSU5UNjRfQ09OU1RBTlQgR0xJQiBtYWNybyBmb3IgY29uc3RhbnQKCSAgKiBzeXNcZHNob3dzcmN3cmFwcGVyXGdzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXNcZHNob3dzcmN3cmFwcGVyXGdzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93ZGVjd3JhcHBlci5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvZGVjLmMKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93dmlkZW9kZWMuaDoKCSAgQWRkIGEgRGlyZWN0U2hvdyBkZWNvZGVyIHdyYXBwZXIuCgkgICogd2luMzJcTUFOSUZFU1Q6CgkgIEFkZCBuZXcgd2luMzIgZmlsZXMgdG8gTUFOSUZFU1QKCSAgKiB3aW4zMlx2czZcZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMlx2czZcbGliZ3N0ZHNob3cuZHNwOgoJICAqIHdpbjMyXHZzNlxsaWJnc3Rkc2hvd2RlY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyXHZzNlxsaWJnc3RmbHYuZHNwOgoJICBBZGQgbmV3IHByb2plY3RzIHRvIGJhZCB3b3Jrc3BhY2UKCjIwMDgtMDItMDcgMTQ6NDU6MDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBQYXJzZSBjb21wb25lbnQgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgY29tcG9uZW50IGRlc2NyaXB0b3IuCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFkZCBTSSBwaWRzIHRvIGV2ZXJ5IHByb2dyYW0gKGJ1dCBoYXJkY29kZWQgY3VycmVudGx5KS4KCjIwMDgtMDItMDcgMTM6NTk6NDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBBZGQgbW9yZSB0YWdzLiBJbXByb3ZlIHRlc3QgYXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1vcmUgdGFncy4gSW1wcm92ZSB0ZXN0IGFwcC4KCjIwMDgtMDItMDcgMTM6NDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOiBBZGQgYSBmaXhtZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgQWRkIGEgZml4bWUgY29tbWVudC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHNhbWUgbGVhayBhcyBpbiBpbnB1dC1zZWxlY3Rvci4KCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0LgoKMjAwOC0wMi0wNyAxMzo0MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcHJvdmUgdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBJbXByb3ZlIHRoZSBkb2NzLgoKMjAwOC0wMi0wNyAxMjowNTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVGhlIGRjMTM5NCBwbHVnaW4gc2VlbXMgdG8gdXNlIEFQSSB0aGF0IHdhcyByZW1vdmVkIG9yIGNoYW5nZWQgYmVmb3JlIHRoZSBmaW5hbCAyLjAuMCByZWxlYXNlLCBzbyBvbmx5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFRoZSBkYzEzOTQgcGx1Z2luIHNlZW1zIHRvIHVzZSBBUEkgdGhhdCB3YXMgcmVtb3ZlZCBvciBjaGFuZ2VkCgkgIGJlZm9yZSB0aGUgZmluYWwgMi4wLjAgcmVsZWFzZSwgc28gb25seSBidWlsZCBpdCBpZiAyLjAuMC1yYzUKCSAgaXMgYXZhaWxhYmxlLiBTb21lb25lIG5lZWRzIHRvIHBvcnQgaXQgdG8gdGhlIGZpbmFsIEFQSS4KCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9jaGFuZ2VfY2FtZXJhX3RyYW5zbWlzc2lvbik6CgkgIEluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNweSBhbmQgdXNlIGdfdXNsZWVwIGluc3RlYWQgb2YgdXNsZWVwLgoKMjAwOC0wMi0wNyAxMDowNDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTAyLTA3IDAyOjA2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOiBQdXQgQ0ZMQUdTIGFuZCBMSUJTIGluIHRoZSByaWdodCBvcmRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgUHV0IENGTEFHUyBhbmQgTElCUyBpbiB0aGUgcmlnaHQgb3JkZXIKCjIwMDgtMDItMDYgMTg6NTY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IHhpbWFnZXNyYyBoYXMgbW92ZWQgdG8gLWdvb2QsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIHRoZSByZXF1aXJlZCBYIGxpYnMgaGVyZSBhbnkgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICB4aW1hZ2VzcmMgaGFzIG1vdmVkIHRvIC1nb29kLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvcgoJICB0aGUgcmVxdWlyZWQgWCBsaWJzIGhlcmUgYW55IG1vcmUuCgoyMDA4LTAyLTA2IDExOjA3OjQ3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTAyLTA1IDE3OjEwOjExICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgQWRkIG1vcmUgdGFncyBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1vcmUgdGFncyBtYXBwaW5nLgoKMjAwOC0wMi0wNSAxMjoxOTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBIYW5kbGUgbGF0ZW5jeSBxdWVyaWVzIGluIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgSGFuZGxlIGxhdGVuY3kgcXVlcmllcyBpbiBzcmMgcGFkcy4KCjIwMDgtMDItMDUgMTE6NDA6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgZmxhZyB0byBib3RoIHNkdCBhbmQgbml0IHN0cnVjdHVyZXMgdG8gc2F5IHdoZXRoZXIgdGhlIHRhYmxlIGlzIGZvciB0aGUgYWN0dWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIGZsYWcgdG8gYm90aCBzZHQgYW5kIG5pdCBzdHJ1Y3R1cmVzIHRvIHNheQoJICB3aGV0aGVyIHRoZSB0YWJsZSBpcyBmb3IgdGhlIGFjdHVhbCBuZXR3b3JrL3RzCgkgIG9yIG5vdC4KCjIwMDgtMDItMDUgMTE6MzA6NDkgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogRmx1c2ggcGFja2V0aXplciB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCk6CgkgIEZsdXNoIHBhY2tldGl6ZXIgdG9vLgoKMjAwOC0wMi0wNCAxOToxNTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURSBhcyB0aGUgc3R1ZmYgZ2VuZXJhdGVkIGZyb20gaXQgaXMgbm90IHVzZWQgYW55d2F5IGFuZCBjYW4ndCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpLAoJICAoZ3N0X2xhZHNwYV9jbGFzc19pbml0KSwgKGxhZHNwYV9kZXNjcmliZV9wbHVnaW4pLCAocGx1Z2luX2luaXQpOgoJICBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFIGFzIHRoZSBzdHVmZiBnZW5lcmF0ZWQgZnJvbSBpdCBpcyBub3QgdXNlZAoJICBhbnl3YXkgYW5kIGNhbid0IGJlIHVzZWQuCgkgIFN0b3JlIHRoZSBjbGFzcyBzdHJ1Y3Qgb2YgdGhlIGNvcnJlY3QgdHlwZSBpbiBwYXJlbnRfY2xhc3MuCgkgIFBhc3MgdGhlIExBRFNQQV9EZXNjcmlwdG9yIGFzIGNsYXNzX2RhdGEgdG8gdGhlIGNsYXNzX2luaXQgZnVuY3Rpb24KCSAgYXMgcHJlcGFyYXRpb24gZm9yIHRoZSB0aW1lLCB3aGVuIHdlIGNhbiBhZGQgcGFkIHRlbXBsYXRlcyBhbmQgZnJpZW5kcwoJICBpbiBjbGFzc19pbml0IGFuZCBhZGQgYSBGSVhNRSBmb3IgdGhhdC4KCSAgRG9uJ3QgdXNlIGEgY3VzdG9tIGhhc2ggdGFibGUgZm9yIHBhc3NpbmcgdGhlIExBRFNQQV9EZXNjcmlwdG9ycyB0bwoJICBiYXNlX2luaXQgYnV0IHVzZSBnX3R5cGVfc2V0X3FkYXRhIGFuZCBnX3R5cGVfZ2V0X3FkYXRhLgoKMjAwOC0wMi0wNCAxNjoyMjoxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IFJlYWxseSBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICBSZWFsbHkgZml4IHRoZSBidWlsZC4KCSAgVE9ETyA6IEFwcGx5IHNwYW5rT21hdGljMjAwMCBvbiB0aGF5dGFuJ3MgcmVhciBlbmQuCgoyMDA4LTAyLTA0IDEzOjEyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogRml4IGNvbXBpbGF0aW9uIHdpdGggbGlibWpwZWd0b29scyAxLjgueC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKEdzdE1wZWcyRW5jUGljdHVyZVJlYWRlci5TdHJlYW1QaWN0dXJlUGFyYW1zKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggbGlibWpwZWd0b29scyAxLjgueC4KCjIwMDgtMDItMDQgMTE6NDg6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IERvbid0IHVucmVmIHRoZSBwYWQgdGVtcGxhdGUgYWZ0ZXIgYWRkaW5nIGl0LiBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIHRhay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSk6CgkgIERvbid0IHVucmVmIHRoZSBwYWQgdGVtcGxhdGUgYWZ0ZXIgYWRkaW5nIGl0LgoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIHRha2VzIG93bmVyc2hpcCBvZiBpdC4KCjIwMDgtMDItMDMgMTg6MjI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogVXNlIHRoZSBpbmNvbWluZyBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgcHJvdmlkZWQgdG8gaW5mZXIgYSBkZWZhdWx0IGFzcGVjdCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIFVzZSB0aGUgaW5jb21pbmcgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHByb3ZpZGVkIHRvIGluZmVyIGEKCSAgZGVmYXVsdCBhc3BlY3QgcmF0aW8sIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSAnYXNwZWN0JwoJICBwcm9wZXJ0eS4KCSAgRml4ZXM6ICM0OTkwMDgKCjIwMDgtMDItMDMgMTc6NDc6MjUgKzAwMDAgIEFuZHJ6ZWogTWVuZGVsIDxhbmRyemVqLm1lbmRlbEBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCB2YXJpYWJsZSBuYW1pbmcgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB0aGUgZ2xpbWFnZXNpbmsgcGx1Z2luLiBGaXhlcyBidWcgIzUxNDA5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyemVqIE1lbmRlbCA8YW5kcnplaiBkb3QgbWVuZGVsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdmFyaWFibGUgbmFtaW5nIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgdGhlIGdsaW1hZ2VzaW5rCgkgIHBsdWdpbi4gRml4ZXMgYnVnICM1MTQwOTMuCgoyMDA4LTAyLTAyIDIzOjI1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzogRGVtb3RlIG1ldGFkYXRhZGVtdXggdG8gR1NUX1JBTktfTk9ORSBmb3IgdGhlIHJlbGVhc2UsIGl0J3Mgbm90IHJlYWR5IHRvIGJlIGF1dG9wbHVnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgIERlbW90ZSBtZXRhZGF0YWRlbXV4IHRvIEdTVF9SQU5LX05PTkUgZm9yIHRoZSByZWxlYXNlLCBpdCdzIG5vdAoJICByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZCB5ZXQuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgZm9yIEdUeXBlIG9uIHBwYzMyIGJ5IHJlbW92aW5nIGl0LAoJICBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJpbnQgdGhlIEdUeXBlIHZhbHVlIGFueXdheS4KCjIwMDgtMDItMDIgMjA6MjI6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgTWFwIG1vcmUgRXhpZiB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIG1vcmUgRXhpZiB0YWdzLgoKMjAwOC0wMi0wMSAxNzowODoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IERvbid0IGxlYWsgZXZlbnQgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkLiBGaXhlcyAjNTEyODI2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCk6CgkgIERvbid0IGxlYWsgZXZlbnQgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkLiBGaXhlcyAjNTEyODI2LgoKMjAwOC0wMi0wMSAxMzowMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zLCB0byBhdm9pZCBjb25mdXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zLCB0byBhdm9pZCBjb25mdXNpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKToKCSAgVXNlIHRoZSBuZXcgR3N0VmlkZW9Gb3JtYXQgQVBJIHRvIGdldCBzdHJpZGVzLCBwbGFuZSBvZmZzZXRzIGV0Yy4uCgkgIEZvciBZNDJCIHdlIHN0aWxsIG5lZWQgdG8gY2FsY3VsYXRlIHRoZXNlIG91cnNlbHZlcywgc2luY2UgdGhlIGxpYgoJICBpbiAtYmFzZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyBmb3JtYXQgeWV0IGFuZCB3ZSBjYW4ndCBidW1wIHRoZQoJICByZXF1aXJlbWVudCB0byBDVlMgcmlnaHQgbm93LiBGaXggdGhlIFk0MkIgc3RyaWRlLCBvZmZzZXQgYW5kIHNpemUKCSAgY2FsY3VsYXRpb25zIGZvciBvZGQgd2lkdGhzIGFuZCBoZWlnaHRzIHdoaWxlIHdlJ3JlIGF0IGl0IHRob3VnaAoJICAodG8gbWF0Y2ggdGhvc2UgaW4gdmlkZW90ZXN0c3JjKS4KCjIwMDgtMDEtMzEgMjE6NTU6NDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0zMSAxNzoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiAobWV0YWRhdGFwYXJzZV9qcGVnX3JlYWRpbmcpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA4LTAxLTMxIDE3OjE4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IFJlYWxseSBjbGVhbiB1cCB0aGUgcXVldWUgaW5zdGVhZCBvZiBqdXN0IHVucmVmZmluZyBhbGwgYnVmZmVycyBpbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZGlzcG9zZSk6CgkgIFJlYWxseSBjbGVhbiB1cCB0aGUgcXVldWUgaW5zdGVhZCBvZiBqdXN0IHVucmVmZmluZyBhbGwgYnVmZmVycwoJICBpbiBpdC4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zcmNfaW5pdCksCgkgIChnc3RfYXBwX3NyY19kaXNwb3NlKSwgKGdzdF9hcHBfc3JjX2ZpbmFsaXplKToKCSAgRml4IGRpc3Bvc2UvZmluYWxpemUuCgoyMDA4LTAxLTMxIDE1OjUyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgbWFraW5nIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgbWF0Y2ggd2hhdCBldmVyeW9uZSBpcyBwYXNzaW5nIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgbWFraW5nIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgbWF0Y2ggd2hhdAoJICBldmVyeW9uZSBpcyBwYXNzaW5nIGluLi4uCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQgb24gU29sYXJpcyBieSByZW1vdmluZyBHTlUgbGQgc3BlY2lmaWMgZmxhZ3MgdGhhdAoJICBsb29rIHVubmVjZXNzYXJ5LgoKMjAwOC0wMS0zMSAxMDoxNjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOiBBZGQgc29tZSByZWxldmFudCB2YXJpYWJsZXMgdG8gQ0ZMQUdTIGFuZCBMSUJBREQsIGZvciBleGFtcGxlIG91ciBjb21waWxlciB3YXJuaW5ncyBwYXJhbXRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgQWRkIHNvbWUgcmVsZXZhbnQgdmFyaWFibGVzIHRvIENGTEFHUyBhbmQgTElCQURELCBmb3IgZXhhbXBsZSBvdXIKCSAgY29tcGlsZXIgd2FybmluZ3MgcGFyYW10ZXJzLgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKGdzdF9iYXNlX21ldGFkYXRhX3N0cmlwX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX21ldGFkYXRhX2NhbGN1bGF0ZV9vZmZzZXRzKSwKCSAgKGdzdF9iYXNlX21ldGFkYXRhX3NyY19ldmVudCksIChnc3RfYmFzZV9tZXRhZGF0YV9zaW5rX2FjdGl2YXRlKToKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOiAoZ3N0X21ldGFkYXRhX2RlbXV4X2luaXQpLAoJICAoZ3N0X21ldGFkYXRhX2RlbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbWV0YWRhdGFfZGVtdXhfZGlzcG9zZSk6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6IChnc3RfbWV0YWRhdGFfbXV4X2luaXQpLAoJICAoZ3N0X21ldGFkYXRhX211eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21ldGFkYXRhX211eF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21ldGFkYXRhX211eF9kaXNwb3NlKSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfY3JlYXRlX2NodW5rc19mcm9tX3RhZ3MpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOiAobWV0YWRhdGFfZGlzcG9zZSk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAobWV0YWRhdGFwYXJzZV9leGlmX2NvbnRlbnRfZm9yZWFjaF9lbnRyeV9mdW5jKSwKCSAgKG1ldGFkYXRhbXV4X2V4aWZfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSAgKG1ldGFkYXRhbXV4X2lwdGNfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzogKG1ldGFkYXRhbXV4X2pwZWdfbGF6eV91cGRhdGUpLAoJICAobWV0YWRhdGFtdXhfanBlZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzogKG1ldGFkYXRhbXV4X3BuZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogKG1ldGFkYXRhcGFyc2VfanBlZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOiAobWV0YWRhdGFwYXJzZV94bXBfdGFnX2xpc3RfYWRkKSwKCSAgKG1ldGFkYXRhbXV4X3htcF9jcmVhdGVfY2h1bmtfZnJvbV90YWdfbGlzdCk6CgkgIEZpeCBhIG1pbGxpb24gd2FybmluZ3MgdGhhdCBzaG93ZWQgdXAgYWZ0ZXIgdGhlIGFib3ZlIGNoYW5nZS4KCjIwMDgtMDEtMzEgMDk6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoKMjAwOC0wMS0zMSAwODo1NzoxNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgoyMDA4LTAxLTMwIDIwOjU1OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHNvdW5kdG91Y2ggdG8gbm90IHByb2R1Y2Ugc3ludGF4IGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY29uZmlndXJlIGNoZWNrIGZvciBzb3VuZHRvdWNoIHRvIG5vdCBwcm9kdWNlIHN5bnRheCBlcnJvcnMuCgoyMDA4LTAxLTMwIDE5OjE5OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggYnVpbGQgd2l0aCBleGVtcGkgPj0gMS45OS41IGFuZCBmaXggdGhlIGluY2x1ZGUgcGF0aCBmb3IgZXhlbXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIChtZXRhZGF0YW11eF94bXBfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICBGaXggYnVpbGQgd2l0aCBleGVtcGkgPj0gMS45OS41IGFuZCBmaXggdGhlIGluY2x1ZGUKCSAgcGF0aCBmb3IgZXhlbXBpLgoKMjAwOC0wMS0zMCAxNjo1Mzo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSAgSnVzdCB1cHRhZGUgdGhlIFRvRG8gbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgdXB0YWRlIHRoZSBUb0RvIGxpc3QuCgoyMDA4LTAxLTMwIDE2OjA1OjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gU3BlZWQgdXAgYSBiaXQgcG5nIG11eGVyLiBGaXggeG1wIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIFNwZWVkIHVwIGEgYml0IHBuZyBtdXhlci4gRml4IHhtcCBtdXhlci4KCjIwMDgtMDEtMzAgMTU6NDA6NDQgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlZ2VuZXJhdGUgZXZlcnl0aGluZyBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdlcyB3ZSBoYWQuCgoyMDA4LTAxLTMwIDE1OjM0OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvLzogVXNlIGFzeW5jIHZhcmlhbnRzIG9mIHRoZSBjbG9zZSBzdHJlYW0gZnVuY3Rpb25zIHRvIHByZXZlbnQgYmxvY2tpbmcgZm9yIGEgbG9uZyB0aW1lIHRoZXJlIGFuZCBhZGQgc29tZSBtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOiAoY2xvc2Vfc3RyZWFtX2NiKSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fYmFzZV9zaW5rX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoY2xvc2Vfc3RyZWFtX2NiKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2NyZWF0ZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3NldF9zdHJlYW0pOgoJICBVc2UgYXN5bmMgdmFyaWFudHMgb2YgdGhlIGNsb3NlIHN0cmVhbSBmdW5jdGlvbnMgdG8gcHJldmVudCBibG9ja2luZwoJICBmb3IgYSBsb25nIHRpbWUgdGhlcmUgYW5kIGFkZCBzb21lIG1vcmUgc2FuaXR5IGNoZWNrcyBmb3IgYSBjb3JyZWN0CgkgIHN0cmVhbS4KCjIwMDgtMDEtMzAgMTM6Mzg6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBNb3ZlIC1XbCBwYXJhbWV0ZXIgZnJvbSBfTERBREQgdG8gX0xERkxBR1MgdG8gZml4IGF1dG9nZW4uc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIC1XbCBwYXJhbWV0ZXIgZnJvbSBfTERBREQgdG8gX0xERkxBR1MgdG8gZml4IGF1dG9nZW4uc2guCgoyMDA4LTAxLTMwIDEzOjI5OjE1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19pbml0KToKCSAgTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eQoJICBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCjIwMDgtMDEtMzAgMTM6MDg6NDUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMzAgMTM6MDY6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfYm9keV9jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcmVzcG9uc2VfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291cDIuNCBhbmQgcmVxdWlyZSBpdC4gQWxzbyBpbXBsZW1lbnQgcmVkaXJlY3Rpb24KCSAgYW5kIG1hbnVhbCBwcm94eSBzcGVjaWZpY2F0aW9uLiBGaXhlcyBidWcgIzUxMDcwOC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHNvdXBodHRwc3JjLgoKMjAwOC0wMS0zMCAxMjo1Njo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gRml4IHRlc3QgYXBwIGNvbXBpbGF0aW9uLiBGaXggcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIEZpeCB0ZXN0IGFwcCBjb21waWxhdGlvbi4gRml4IHB1bGwgbW9kZS4KCjIwMDgtMDEtMjkgMTg6NTc6MjcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBheWxvYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyICA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcKCSAgcGF5bG9hZCB0eXBlIGluc3RlYWQgb2YgYWx3YXlzIGZpcmluZyB0aGUgc2lnbmFsLiBGaXhlcyAjNTEyNzc0LgoKMjAwOC0wMS0yOSAxODowNTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOiBEZWZpbmUgTE9HX05PTkUgYW5kIGZyaWVuZHMgaWYgdGhleSdyZSBub3QgZGVmaW5lZCB5ZXQuIG1qcGVndG9vbHMgMS45LjByYzMgcmVtb3ZlZCB0aGVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgRGVmaW5lIExPR19OT05FIGFuZCBmcmllbmRzIGlmIHRoZXkncmUgbm90IGRlZmluZWQgeWV0LiBtanBlZ3Rvb2xzCgkgIDEuOS4wcmMzIHJlbW92ZWQgdGhlaXIgZGVmaW5pdGlvbnMgYnV0IHdpdGhvdXQgaXQgZG9lc24ndCBtYWtlIG11Y2gKCSAgc2Vuc2UgdG8gd3JpdGUgYSBsb2cgaGFuZGxlci4KCjIwMDgtMDEtMjkgMTE6MzI6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBiYXNlIGNsYXNzZXMgZm9yIG1ldGFkYXRhIGFuZCBlcXVhbGl6ZXIgKG5vIGludHJvc3BlY3Rpb24geWV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBBZGQgYmFzZSBjbGFzc2VzIGZvciBtZXRhZGF0YSBhbmQgZXF1YWxpemVyIChubyBpbnRyb3NwZWN0aW9uIHlldCkuCgoyMDA4LTAxLTI5IDA3OjQzOjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvUkVBRE1FOiBGb3JtYXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICBGb3JtYXR0aW5nLgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wMS0yOSAwNzozODozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVwbGFjZSB0aGUgc3dpdGNoIHBsdWdpbiB3aXRoIHRoZSBzZWxlY3RvciBwbHVnaW4uIEFkZCBvdXRwdXQtIHNlbGVjdG9yIGFzIHRoZSBvcHBvc2l0ZSBvZiBpbnB1dC1zZWxlY3RvbyAod2FzIHN3aXRjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBnc3Qvc2VsZWN0b3IvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL3NlbGVjdG9yLnZjcHJvajoKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC9zd2l0Y2gvc3dpdGNoLnZjcHJvajoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIFJlcGxhY2UgdGhlIHN3aXRjaCBwbHVnaW4gd2l0aCB0aGUgc2VsZWN0b3IgcGx1Z2luLiBBZGQgb3V0cHV0LQoJICBzZWxlY3RvciBhcyB0aGUgb3Bwb3NpdGUgb2YgaW5wdXQtc2VsZWN0b28gKHdhcyBzd2l0Y2gpLiBBZGQgYSB0ZXN0CgkgIGZvciBvdXRwdXQtc2VsZWN0b3IuIEFkZCBkb2NzIGZvciB0aGUgZWxlbWVudHMuIFRoZSB2Y3Byb2ogbmVlZHMKCSAgdXBkYXRlLiBGaXhlcyAjNTAwMTQyLgoKMjAwOC0wMS0yOCAyMzoxODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFRyeSB0byBhdm9pZCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIGlmIGRlYnVnZ2luZyBpcyBkaXNhYmxlZCAobm90IGJ1bGxldCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCk6CgkgIFRyeSB0byBhdm9pZCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIGlmIGRlYnVnZ2luZyBpcwoJICBkaXNhYmxlZCAobm90IGJ1bGxldCBwcm9vZiwgYnV0IHNlZW1zIHRvIGRvIGZvciBub3cpLiAoIzUxMjY1NCkKCjIwMDgtMDEtMjggMTE6NDc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzogQ2xlYW4gdXAgYSBiaXQgYW5kIG9ubHkgYWxsb2NhdGUgYSB0ZW1wb3JhcnkgYnVmZmVyIGZvciB0aGUgZGF0YSBpZiBwcm9jZXNzaW5nIHN0ZXJlby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIENsZWFuIHVwIGEgYml0IGFuZCBvbmx5IGFsbG9jYXRlIGEgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgdGhlIGRhdGEKCSAgaWYgcHJvY2Vzc2luZyBzdGVyZW8gZGF0YSBhcyBCUE1EZXRlY3QgZG93bm1peGVzIGZyb20gc3RlcmVvIHRvCgkgIG1vbm8gYW5kIHN0b3JlcyB0aGUgcmVzdWx0IGluIHRoZSBpbnB1dCBkYXRhLiBUaGFua3MgdG8KCSAgU3RlZmFuIEtvc3QgZm9yIHRoZSBzdWdnZXN0aW9ucy4KCjIwMDgtMDEtMjcgMTc6MDI6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBDYXN0IGEgZG91YmxlIHRvIGEgR3N0Q2xvY2tUaW1lRGlmZiB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQ2FzdCBhIGRvdWJsZSB0byBhIEdzdENsb2NrVGltZURpZmYgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDEtMjcgMTY6MTI6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiBQcmludGYgZm9ybWF0IGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4LgoKMjAwOC0wMS0yNyAwNzo1MTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IERvbid0IHNlbmQgYSBMQVRFTkNZIGV2ZW50IGZvciBub3cgdW50aWwgd2UgZ2V0IHRoZSB1c2FnZSByaWdodC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIERvbid0IHNlbmQgYSBMQVRFTkNZIGV2ZW50IGZvciBub3cgdW50aWwgd2UgZ2V0IHRoZSB1c2FnZSByaWdodC4KCjIwMDgtMDEtMjcgMDc6Mzc6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLio6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5IGFuZCBub3RpZnkgYWJvdXQgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkgYW5kIG5vdGlmeSBhYm91dCBsYXRlbmN5IGNoYW5nZXMuCgkgIFVuZm9ydHVuYXRlbHkgd2UgZG9uJ3QgaGF2ZSBhIGZpeGVkIGxhdGVuY3kgYnV0IGl0IGNoYW5nZXMKCSAgYSBiaXQgd2l0aCBlYWNoIGJ1ZmZlciBzbyB3ZSBvbmx5IHNlbmQgYW4gTEFURU5DWSBldmVudCB3aXRoCgkgIHRoZSBtYXhpbXVtIGxhdGVuY3kgaWYgaXQgY2hhbmdlcy4KCSAgQWx3YXlzIGNhbGN1bGF0ZSB0aGUgdGltZXN0YW1wLCBkdXJhdGlvbiwgZXRjIGZyb20gdGhlIHNhbXBsZQoJICByYXRlIGluc3RlYWQgb2YgdXNpbmcgYSBwcmUtY2FsY3VsYXRlZCBkdXJhdGlvbiBmb3Igb25lIHNhbXBsZQoJICB0byBwcmV2ZW50IGxhcmdlIHJvdW5kaW5nIGVycm9ycy4KCjIwMDgtMDEtMjcgMDc6MzI6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IG1qcGVndG9vbHMgMS45IHdoaWxlIGtlZXBpbmcgY29tcGF0aWJsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBIYW5zIGRlIEdvZWRlIDxqIGRvdCB3IGRvdCByIGRvdCBkZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBtanBlZ3Rvb2xzIDEuOSB3aGlsZSBrZWVwaW5nCgkgIGNvbXBhdGlibGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLgoKMjAwOC0wMS0yNyAwNjozMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOiBPbmx5IGNvbnNpZGVyIGEgQlBNIHZhbHVlIGFib3ZlIDEuMCBhcyB2YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBPbmx5IGNvbnNpZGVyIGEgQlBNIHZhbHVlIGFib3ZlIDEuMCBhcyB2YWxpZC4KCjIwMDgtMDEtMjcgMDU6NTY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoLzogQWRkIEJQTSBkZXRlY3Rpb24gcGx1Z2luIGJhc2VkIG9uIFNvdW5kVG91Y2gncyBsaWJCUE0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuaGg6CgkgICogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBCUE0gZGV0ZWN0aW9uIHBsdWdpbiBiYXNlZCBvbiBTb3VuZFRvdWNoJ3MgbGliQlBNLgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBbGxvdyBzYW1wbGUgcmF0ZXMgdW50aWwgTUFYIGluc3RlYWQgb2Ygb25seSA0OGtIeiBhbmQgcmVtb3ZlIHRoZQoJICBidWZmZXItZnJhbWVzIGZpZWxkIGZyb20gdGhhdCBjYXBzLgoJICBDbGVhciB0aGUgcmVtYWluaW5nIHNhbXBsZXMgY29tcGxldGVseSB3aGVuIG5lY2Vzc2FyeSB0byBnZXQgaW50bwoJICBhIGNsZWFuIHN0YXRlIGFnYWluLgoKMjAwOC0wMS0yNiAxNjoxOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlCgkgIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCjIwMDgtMDEtMjYgMTU6MTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBBbGxvdyBzZWVraW5nIG9ubHkgaW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQsIG90aGVyIGZvcm1hdHMgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWxsb3cgc2Vla2luZyBvbmx5IGluIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0LCBvdGhlciBmb3JtYXRzIHdpbGwKCSAgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEFsc28gaGFuZGxlIGEgc3RvcCBwb3NpdGlvbiBvZiAtMSBjb3JyZWN0bHkKCSAgZm9yIHNlZWtzLCBuZXdzZWdtZW50IGV2ZW50cyBhbmQgdGhlIHF1ZXJpZXMuIFRoaXMgZml4ZXMgcGxheWJhY2sKCSAgd2l0aCB0aGUgcGl0Y2ggZWxlbWVudCBpZiB1cHN0cmVhbSBkb2Vzbid0IGtub3cgdGhlIGR1cmF0aW9uIG9yIGhhcwoJICAtMSBhcyBzdG9wIHBvc2l0aW9uIGluIE5FV1NFR01FTlQgZXZlbnRzIGZvciBvdGhlciByZWFzb25zLiBCZWZvcmUKCSAgc2ltcGx5IG5vdGhpbmcgd2FzIHBsYXllZCBhcyB0aGUgc2VnbWVudCB3YXMgZ29pbmcgZnJvbSAwIHRvIDAuCgkgIFNlbmQgYSBHU1RfTUVTU0FHRV9EVVJBVElPTiB3aGVuZXZlciB0aGUgcmF0ZSBvciB0ZW1wbyBpcyBjaGFuZ2VkCgkgIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXBkYXRlIHRoZWlyIGNhY2hlZCBkdXJhdGlvbi4gRml4ZXMgYnVnICM1MDMzMDguCgkgIFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIG1lbW9yeSBsZWFrIGNsb3NpbmcuCgoyMDA4LTAxLTI2IDE0OjM1OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXVzZXBhY2svOiBGaXJzdCBpbmNsdWRlIHRoZSBsaWJtcGNkZWMgaGVhZGVycyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlIGFzIHRoZXkgI2RlZmluZSBUUlVFIGFuZCBGQUxTRSB1bmNvbmRpdGlvbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgIEZpcnN0IGluY2x1ZGUgdGhlIGxpYm1wY2RlYyBoZWFkZXJzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYXMgdGhleQoJICAjZGVmaW5lIFRSVUUgYW5kIEZBTFNFIHVuY29uZGl0aW9uYWxseSBhbmQgd2Ugb3RoZXJ3aXNlIGdldCBjb25mbGljdHMKCSAgd2l0aCB0aGUgb25lcyB0aGF0IEdMaWIgZGVmaW5lcy4KCjIwMDgtMDEtMjYgMTM6MjQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VuZHRvdWNoIDEuMy4xIGFuZCBhZGQgYW4gdWdseSB3b3JrYXJvdW5kIGZvciB0aGUgaGVhZGVyIGRlZmluaW5lZCBQQUNLQUdFIGFuZCBvdGhlciB2YXJpYWJsZXMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VuZHRvdWNoIDEuMy4xIGFuZCBhZGQgYW4gdWdseSB3b3JrYXJvdW5kIGZvcgoJICB0aGUgaGVhZGVyIGRlZmluaW5lZCBQQUNLQUdFIGFuZCBvdGhlciB2YXJpYWJsZXMgZm9yIHdoaWNoIHdlIG5lZWQKCSAgb3VyIG93biB2YWx1ZXMgZnJvbSBjb25maWcuaC4KCjIwMDgtMDEtMjYgMTI6MTE6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBsaWJnbGFkZS0yLjAsIGZvciB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGxpYmdsYWRlLTIuMCwgZm9yIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZS4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgT25seSB0cnkgdG8gYnVpbGQgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrIGFuZAoJICBnbGFkZSAob3RoZXJ3aXNlIHRoZSBidWlsZCB3b3VsZCBqdXN0IGZhaWwgLi4uKTsgZml4IGJ1aWxkIGluCgkgIHVuaW5zdGFsbGVkIHNldHVwLgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiAob25fY2VsbF9lZGl0ZWQpLCAodWlfYWRkX2NvbHVtbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgKHVzZSBHTGliIG1hY3JvcyB0byBjYXN0IHBvaW50ZXIgPC0+IGludCkuCgoyMDA4LTAxLTI1IDE3OjQ1OjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWFrZWZpbGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBBZGQgbG90IG9mIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbG90IG9mIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTI1IDE3OjM1OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogT3BlbiBmcm9udGVuZCBpbiBOVUxMLT5SRUFEWSBzbyBjYXBzIGFib3V0IGR2YiBhZGFwdGVyIGNhbiBiZSBzZWVuIGJ5IHRoZSBhcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE9wZW4gZnJvbnRlbmQgaW4gTlVMTC0+UkVBRFkgc28gY2FwcyBhYm91dCBkdmIgYWRhcHRlciBjYW4gYmUKCSAgc2VlbiBieSB0aGUgYXBwLgoKMjAwOC0wMS0yNSAxNjo1ODowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0IHdpdGggYSBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHBheWxvYWRfdHlwZV9jaGFuZ2UpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dAoJICB3aXRoIGEgc2lnbmFsLgoKMjAwOC0wMS0yNSAxNjowMDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0CgkgIGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQgd2l0aCBlYWNoIGJ1ZmZlciBpbnN0ZWFkLiBGaXhlcyAjNTExNjg2LgoKMjAwOC0wMS0yNSAxNTo0OTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgVHJhY2sgcHQgb24gaW5wdXQgYnVmZmVycyBhbmQgZ2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gaXQgY2hhbmdlcy4KCSAgSWdub3JlIHBhY2tldHMgd2l0aCB1bmtub3duIGNsb2NrLXJhdGUuIFNlZSAjNTExNjg2LgoKMjAwOC0wMS0yNSAxMjo0ODo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFBvc3QgYnVzIG1lc3NhZ2UgYWJvdXQgYWRhcHRlciB0eXBlIGFuZCBpdCdzIGNhcGFiaWxpdGllcywgd2hlbiBvcGVuaW5nIHRoZSBmcm9udGVuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUG9zdCBidXMgbWVzc2FnZSBhYm91dCBhZGFwdGVyIHR5cGUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzLAoJICB3aGVuIG9wZW5pbmcgdGhlIGZyb250ZW5kLgoJICBBZnRlciBmYWlsaW5nIHRvIHJlYWQgZnJvbSB0aGUgZHZyLCBwb3N0IGEgYnVzIG1lc3NhZ2UgdG8KCSAgaW5mb3JtIHRoZSBhcHAuCgoyMDA4LTAxLTI1IDA5OjUwOjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogVGhlIGxvZ2ljIGZvciB0aGUgZ3VhcmQgaW50ZXJ2YWwgY2FsY3VsYXRpb24gd2FzIHRvdGFsbHkgd3JvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFRoZSBsb2dpYyBmb3IgdGhlIGd1YXJkIGludGVydmFsIGNhbGN1bGF0aW9uIHdhcyB0b3RhbGx5IHdyb25nLgoJICBGaXhlZC4KCjIwMDgtMDEtMjUgMDE6NDQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUKCSAgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgoyMDA4LTAxLTI0IDEzOjIzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBOb3cgd2UgaGF2ZSBmdWxsIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgTm93IHdlIGhhdmUgZnVsbCBoaWVyYXJjaHkuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgUmVnZW5lcmF0ZS4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgQWRkIGRvYyBibG9iIGZvciBvYmplY3QgaW5zdGFuY2UuCgoyMDA4LTAxLTI0IDEwOjE1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIHRoaXMgdG9vLCBob3BlZnVsbHkgZml4ZXMgdGhlIGRvY3MgYnVpbGQgKGRvZXMgYXQgbGVhc3QgZm9yIG1lLCBhZnRlciBtYWtlIGNsZWFuIGluIGRvY3MvcGx1Z2lucykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgIFVwZGF0ZSB0aGlzIHRvbywgaG9wZWZ1bGx5IGZpeGVzIHRoZSBkb2NzIGJ1aWxkIChkb2VzIGF0IGxlYXN0CgkgIGZvciBtZSwgYWZ0ZXIgbWFrZSBjbGVhbiBpbiBkb2NzL3BsdWdpbnMpLgoKMjAwOC0wMS0yNCAwODoxMjoyOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEZpeCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciwgdGhlIGxlbmd0aCBpcyBhY3R1YWxseSB0aGUgZGVzY3JpcHRvciBsZW5ndGggbm90IHN0b3JlZCBpbiB0aGUgYnl0ZSBhZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXggbmV0d29yayBuYW1lIGRlc2NyaXB0b3IsIHRoZSBsZW5ndGggaXMgYWN0dWFsbHkgdGhlCgkgIGRlc2NyaXB0b3IgbGVuZ3RoIG5vdCBzdG9yZWQgaW4gdGhlIGJ5dGUgYWZ0ZXIuCgkgIEZpeCBib3VuZHMgY2hlY2tpbmcgdG8gYmUgbW9yZSBjb3JyZWN0LgoKMjAwOC0wMS0yNCAwMDoyMjoxNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlIGFuZCBhZGQgdG8gcmVsZXZhbnQgYnVzIG1lc3NhZ2VzIHRoZSB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgdGhlIGxvZ2ljYWwgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSBhbmQgYWRkIHRvIHJlbGV2YW50IGJ1cyBtZXNzYWdlcyB0aGUgdGVycmVzdHJpYWwgZGVsaXZlcnkKCSAgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIHRoZSBsb2dpY2FsIGNoYW5uZWwgZGVzY3JpcHRvci4KCSAgRG8gYm91bmRzIGNoZWNraW5nIG9uIGRhdGEgc3RvcmVkIGluIGRlc2NyaXB0b3IgYmVmb3JlIHVzZS4KCjIwMDgtMDEtMjMgMTY6MzU6MzQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMjMgMTU6NTE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IGxpYmRjYSAod2l0aCB0aGUgbGliZHRzIGNvbXBhdCBoZWFkZXIpLiBGaXhlcyBidWcgIzUxMTUzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IGxpYmRjYSAod2l0aCB0aGUgbGliZHRzIGNvbXBhdAoJICBoZWFkZXIpLiBGaXhlcyBidWcgIzUxMTUzMC4KCSAgU2hvdWxkIHByb2JhYmx5IGJlIHBvcnRlZCB0byBsaWJkY2EgYXMgc29tZSBwb2ludHMgYXMgaXQncyB0aGUKCSAgc3VjY2Vzc29yIG9mIGxpYmR0cy4KCjIwMDgtMDEtMjMgMTQ6NTk6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBEbyBub3QgZ28gb24gZm9yZXZlciBpZiBwcm9ibGVtIHdpdGggcmVhZGluZyBmcm9tIGR2ciwgcmF0aGVyIHJldHVybiBOVUxMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBEbyBub3QgZ28gb24gZm9yZXZlciBpZiBwcm9ibGVtIHdpdGggcmVhZGluZyBmcm9tIGR2ciwgcmF0aGVyCgkgIHJldHVybiBOVUxMLgoJICBIYW5kbGUgc29tZSBjbGVhbnVwIGlzc3VlcyBvZiBjbG9zaW5nIGZpbGVkZXNjcmlwdG9ycyB3aGVuCgkgIGZhaWxpbmcgdG8gdHVuZSBvciBzaW1pbGFyLgoKMjAwOC0wMS0yMyAxMzoxODoyNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBub19pbnN0IGhlYWRlciBmaWxlcyB0byBNYWtlZmlsZS5hbSBzbyBkaXN0aW5nIHN0aWxsIHdvcmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbWlzc2luZyBub19pbnN0IGhlYWRlciBmaWxlcyB0byBNYWtlZmlsZS5hbSBzbyBkaXN0aW5nIHN0aWxsIHdvcmtzCgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOC0wMS0yMyAxMDozNDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSB4aW5naGVhZGVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHhpbmdoZWFkZXIgcGx1Z2luLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGVsZW1lbnQgc3RhdGUgdG8gUExBWUlORyBiZWZvcmUgZG9pbmcgc29tZXRoaW5nIGVsc2UuCgoyMDA4LTAxLTIzIDEwOjExOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB0aGUgeGluZ211eCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzogKHNldHVwX3hpbmdtdXgpLAoJICAoY2xlYW51cF94aW5nbXV4KSwgKEdTVF9TVEFSVF9URVNUKSwgKHhpbmdtdXhfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eF90ZXN0ZGF0YS5oOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdGhlIHhpbmdtdXggZWxlbWVudC4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlciksCgkgIChnc3RfeGluZ19tdXhfZmluYWxpemUpLCAoeGluZ19yZXNldCk6CgkgIEZpeCBhIG1lbWxlYWsgYW5kIGludmFsaWQgc2VlayB0YWJsZXMgd2l0aCBsZXNzIHRoYW4gMTAwIE1QMyBmcmFtZXMuCgoyMDA4LTAxLTIzIDA5OjQ5OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2VkIHRoZSBzYXRlbGxpdGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIGFkZGVkIGludG8gbml0J3MgdHJhbnNwb3J0IHN0cnVjdHVyZSBmb3IgZGVsaXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlZCB0aGUgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZAoJICBhZGRlZCBpbnRvIG5pdCdzIHRyYW5zcG9ydCBzdHJ1Y3R1cmUgZm9yIGRlbGl2ZXJ5CgkgIG92ZXIgdGhlIGJ1cy4KCjIwMDgtMDEtMjIgMjA6Mjc6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBQYXJzZWQgYW5kIGFkZGVkIG5ldHdvcmsgbmFtZSB0byB0aGUgbml0IHN0cnVjdHVyZSBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2VkIGFuZCBhZGRlZCBuZXR3b3JrIG5hbWUgdG8gdGhlIG5pdCBzdHJ1Y3R1cmUgc2VudAoJICBpbiB0aGUgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE5OjU5OjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUmVtb3ZlIGxlYWtzIGludHJvZHVjZWQgYnkgbm90IGZyZWVpbmcgZ19zdHJuZHVwJ2Qgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmVtb3ZlIGxlYWtzIGludHJvZHVjZWQgYnkgbm90IGZyZWVpbmcgZ19zdHJuZHVwJ2Qgc3RyaW5ncy4KCSAgRml4IHN0YXJ0X3RpbWUgYW5kIGR1cmF0aW9uIHBhcnNpbmcgaW4gRUlULgoKMjAwOC0wMS0yMiAxODo0MDoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBldmVudCBuYW1lIGFuZCBkZXNjcmlwdGlvbiB0byB0aGUgZWl0IHN0cnVjdHVyZSBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIGV2ZW50IG5hbWUgYW5kIGRlc2NyaXB0aW9uIHRvIHRoZSBlaXQgc3RydWN0dXJlCgkgIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxODowODowMSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBSZXZlcnQgY29uc3QgcmVtb3ZhbCBmcm9tIHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIFJldmVydCBjb25zdCByZW1vdmFsIGZyb20gcHJldmlvdXMgY29tbWl0LgoKMjAwOC0wMS0yMiAxODowNDowNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZGVkIGRlc2NyaXB0b3Igc2VhcmNoaW5nIGluZnJhc3RydWN0dXJlIGZyb20gRmx1ZW5kbyBUUyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWRkZWQgZGVzY3JpcHRvciBzZWFyY2hpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSBGbHVlbmRvIFRTIGRlbXV4ZXIuCgkgIEFkZCBjaGFubmVsIG5hbWUgYW5kIHByb3ZpZGVyIHRvIHRoZSBzZHQgc3RydWN0dXJlIHNlbnQgaW4gdGhlCgkgIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxNzo0MzozNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBQYXJzZSBOQUwgdW5pdHMgaW4gZm9yd2FyZCBtb2RlIHRvIG1hcmsgZGVsdGEgdW5pdHMgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTIyICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKToKCSAgUGFyc2UgTkFMIHVuaXRzIGluIGZvcndhcmQgbW9kZSB0byBtYXJrIGRlbHRhIHVuaXRzIGZsYWdzLgoKMjAwOC0wMS0yMiAxMjowNjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVnZW5lcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgIFJlZ2VuZXJhdGUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkgIEFkZCB2b3JiaXNpZGVjIGFrYSB0cm1vci4KCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBBZGQgc2hvcnQgZGVzY3JpcHRpb24uCgoyMDA4LTAxLTIyIDA5OjU1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGVvbCBcCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZW9sIFwKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBQbGFjZSBvYmplY3QgbmFtZXMgdG8gc3RhbmRhcmQgc2VjdGlvbmFzIHBsdWdpbiBkb250IGRvY3VtZW50IHRob3NlLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgcmVnZW5lcmF0ZS4KCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgTWFyayBwcml2YXRlIHZhcnMgYW5kIGFkZCBzaG9ydCBkZXNjLgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgQWRkIHNob3J0IGRlc2MuCgoyMDA4LTAxLTIxIDE0OjMzOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBPbmUgbGVzcyB0byBkby4gSXRzICdudXYnIG5vdCAnbnZ1Jy4gQXMgYW4gZXh0cmEgYm9udXMgSSBtZW50aW9uIHdoYXQgaXQgYWN0dWFsbHkgaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgT25lIGxlc3MgdG8gZG8uIEl0cyAnbnV2JyBub3QgJ252dScuIEFzIGFuIGV4dHJhIGJvbnVzIEkgbWVudGlvbiB3aGF0CgkgIGl0IGFjdHVhbGx5IGlzLgoKMjAwOC0wMS0yMSAxNDoxOTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGxpc3RzIGFnYWluLiBUaG9zZSB3aG9sZSBjYW4gYnVpbGQgaXZvcmJpc2RlYywgbXl0aHR2c3JjLCBudnVkZW11eCBhbmQgdGhlb3JhZGVjZXhwLCBwbGVhc2UgY29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFVwZGF0ZSBsaXN0cyBhZ2Fpbi4gVGhvc2Ugd2hvbGUgY2FuIGJ1aWxkIGl2b3JiaXNkZWMsIG15dGh0dnNyYywKCSAgbnZ1ZGVtdXggYW5kIHRoZW9yYWRlY2V4cCwgcGxlYXNlIGNvbW1pdCB0aGUgaW5zcGVjdC9wbHVnaW4teHh4LnhtbC4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICBSZXBsYWNlIHZpZGVvcGFyc2Ugd2l0aCByYXdwYXJzZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBIZWxwIGd0ay1kb2MgdG8gcmVjb2duaXplIHRoZSBvYmplY3Qgc3RydWN0LgoKMjAwOC0wMS0yMSAxMjo0MjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IERvbid0IHVzZSBndGstZG9jIGNvbW1lbnQgc3R5bGUgZm9yIG5vbiBndGstZG9jIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgY29tbWVudCBzdHlsZSBmb3Igbm9uIGd0ay1kb2MgY29tbWVudHMuCgkgIE1ha2Ugb25lIHN0YXRpYyBmdW5jdGlvbiBzdGF0aWMuCgoyMDA4LTAxLTIxIDEyOjE5OjEzICswMDAwICBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZUBtcDMtdGVjaC5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuKjogUHJvdmlkZSA0OjI6MiBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmUgYXQgbXAzLXRlY2ggZG90IG9yZz4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9pbml0KSwgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2lwKSwgKGdzdF9kZWludGVybGFjZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFByb3ZpZGUgNDoyOjIgc3VwcG9ydAoJICBBbHNvIGRlaW50ZXJsYWNlIGNocm9tYSBwbGFuZXMKCSAgQWxsb3cgdG8gdHVybiBvbi9vZmYgZGVpbnRlcmxhY2luZwoJICBDaGFuZ2Ugb2YgZGVmYXVsdCB0aHJlc2hvbGRzLCBpbiBvcmRlciB0byBwcm92aWRlIGFjY2VwdGFibGUgcmVzdWx0cwoJICB3aXRoIGRlZmF1bHQgcGFyYW1zLiBGaXhlcyAjNTExMDAxLgoKMjAwOC0wMS0yMSAxMTowNDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IFVwZGF0ZSBkb2NzIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBVcGRhdGUgZG9jcyBmaWxlIHRvby4KCjIwMDgtMDEtMjEgMTE6MDE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZHZkc3B1LzogRml4IHVwIGR2ZHNwdSBlbGVtZW50IGFnYWluIGFmdGVyIHByZXZpb3VzIG5hbWVzcGFjZSBtYW5nbGluZzogcmVuYW1lIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIHRvIG9sZCBuYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6IChnc3RfZHZkX3NwdV9yZW5kZXJfc3B1KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZHZkc3B1X2RlYnVnKSwgKEdTVF9DQVRfREVGQVVMVCksCgkgIChzdWJwaWNfc2lua19mYWN0b3J5KSwgKGdzdF9kdmRfc3B1X2Jhc2VfaW5pdCksCgkgIChnc3RfZHZkX3NwdV9jbGFzc19pbml0KSwgKGdzdF9kdmRfc3B1X2luaXQpLCAoZ3N0X2R2ZF9zcHVfY2xlYXIpLAoJICAoZ3N0X2R2ZF9zcHVfZGlzcG9zZSksIChnc3RfZHZkX3NwdV9maW5hbGl6ZSksCgkgIChnc3RfZHZkX3NwdV9mbHVzaF9zcHVfaW5mbyksIChnc3RfZHZkX3NwdV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2R2ZF9zcHVfc3JjX2V2ZW50KSwgKGdzdF9kdmRfc3B1X3ZpZGVvX3NldF9jYXBzKSwKCSAgKGdzdF9kdmRfc3B1X3ZpZGVvX3Byb3h5X2dldGNhcHMpLCAoZ3N0X2R2ZF9zcHVfdmlkZW9fZXZlbnQpLAoJICAoZ3N0X2R2ZF9zcHVfdmlkZW9fY2hhaW4pLCAoZHZzcHVfaGFuZGxlX3ZpZF9idWZmZXIpLAoJICAoZ3N0X2R2ZF9zcHVfcmVkcmF3X3N0aWxsKSwgKGdzdF9kdmRfc3B1X3BhcnNlX2NoZ19jb2xjb24pLAoJICAoZ3N0X2R2ZF9zcHVfZXhlY19jbWRfYmxrKSwgKGdzdF9kdmRfc3B1X2ZpbmlzaF9zcHVfYnVmKSwKCSAgKGdzdF9kdmRfc3B1X3NldHVwX2NtZF9ibGspLCAoZ3N0X2R2ZF9zcHVfaGFuZGxlX25ld19zcHVfYnVmKSwKCSAgKGdzdF9kdmRfc3B1X2hhbmRsZV9kdmRfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfYWR2YW5jZV9zcHUpLAoJICAoZ3N0X2R2ZF9zcHVfY2hlY2tfc3RpbGxfdXBkYXRlcyksIChnc3RfZHZkX3NwdV9zdWJwaWNfY2hhaW4pLAoJICAoZ3N0X2R2ZF9zcHVfc3VicGljX2V2ZW50KSwgKGdzdF9kdmRfc3B1X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZHZkX3NwdV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDogKEdTVF9UWVBFX0RWRF9TUFUpOgoJICBGaXggdXAgZHZkc3B1IGVsZW1lbnQgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgbmFtZXNwYWNlIG1hbmdsaW5nOgoJICByZW5hbWUgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgdG8gb2xkIG5hbWUsIG1hdGNoaW5nIHRoYXQgaW4KCSAgZHZkc3B1LXJlbmRlci5jLCB0byBhdm9pZCB1bmRlZmluZWQgc3ltYm9sIGVycm9yIHdoZW4gbG9hZGluZwoJICB0aGUgbW9kdWxlOyBzYW1lIGZvciB0aGUgX3JlbmRlciBmdW5jdGlvbiBpbiBkdmRzcHUtcmVuZGVyLmM6CgkgIHdlIG11c3QgdXNlIHRoZSBzYW1lIG5hbWUgaW4gYm90aCAuYyBmaWxlczsgY2hhbmdlIGZ1bmN0aW9ucwoJICBub3cgY2FsbGVkIGdzdGdzdF8qIGJhY2sgdG8gZ3N0XyogYWdhaW47IGFuZCB3aGlsZSB3ZSdyZSBhdCBpdCwKCSAgd2UgbWF5IGFzIHdlbGwgY2Fub25pY2FsaXNlIHRoZSBuYW1lc3BhY2UgcHJvcGVybHksIG5hbWVseSB0bwoJICBnc3RfZHZkX3NwdV8qLgoKMjAwOC0wMS0yMSAxMDowNjowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlIGFuZCBhZGRpbmcgc3ltYm9sZCBmcm9tIHVudXNlZCB0byBzZWN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZSBhbmQgYWRkaW5nIHN5bWJvbGQgZnJvbSB1bnVzZWQgdG8gc2VjdGlvbnMuCgoyMDA4LTAxLTIxIDA5OjU3OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldCBldmVuIG1vcmUuCgoyMDA4LTAxLTIxIDA3OjU0OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgeG1sIGluY2x1ZGVzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWdlbmVyYXRlIGZpbGVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMDgtMDEtMjEgMDc6MjI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCB0aGUgYnVpbGQuIEdTVF9USU1FX0FSR1MgdGFrZXMgYSB0aW1lc3RhbXAgbm90IGEgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBGaXggdGhlIGJ1aWxkLiBHU1RfVElNRV9BUkdTIHRha2VzIGEgdGltZXN0YW1wIG5vdCBhIGJ1ZmZlci4KCjIwMDgtMDEtMjAgMDU6MDc6NTIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YKCSAgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgd2hpY2ggaXMgd3JvbmcgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMS0xOSAxNjoxMzozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEhhbmRsZSBmcmFtZXNpemVzID4gNDA5NiB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGNvcnJlY3RseSBpbiBwdWxsIG1vZGUgYW5kIGhhbmRsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApOgoJICBIYW5kbGUgZnJhbWVzaXplcyA+IDQwOTYgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBjb3JyZWN0bHkKCSAgaW4gcHVsbCBtb2RlIGFuZCBoYW5kbGUgc2hvcnQgcmVhZHMgYmV0dGVyLgoJICBBbHNvIHB1dCBvZmZzZXQgYW5kIG9mZnNldF9lbmQgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDEtMTkgMTU6NTM6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBJbXByb3ZlIGhhbmRsaW5nIG9mIHVua25vd24gb3IgdG9vIHNtYWxsIHVwc3RyZWFtIHNpemVzIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2xvb3ApOgoJICBJbXByb3ZlIGhhbmRsaW5nIG9mIHVua25vd24gb3IgdG9vIHNtYWxsIHVwc3RyZWFtIHNpemVzIGluCgkgIHB1bGwgbW9kZS4KCjIwMDgtMDEtMTkgMTU6Mzk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZm9yIGhhbmRsaW5nIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGluIHB1bGwgbW9kZSBjaG9vc2UgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfbG9vcCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZm9yIGhhbmRsaW5nIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyCgkgIGluIHB1bGwgbW9kZSBjaG9vc2UgdGhlIG5leHQgc21hbGxlc3QgbXVsdGlwbHkgb2YgZnJhbWVzaXplIGJlbG93CgkgIDQwOTYgaW5zdGVhZCBvZiBhbHdheXMgaGFuZGxpbmcgMTAyNCBmcmFtZXMuCgoyMDA4LTAxLTE5IDE0OjM0OjUwICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdCB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0CgkgIHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGlvbiBxdWVyeS4KCjIwMDgtMDEtMTggMTc6Mzc6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBTZXQgdGltZXN0YW1wcyBtb3JlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksCgkgIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIFNldCB0aW1lc3RhbXBzIG1vcmUgY29ycmVjdGx5LgoKMjAwOC0wMS0xOCAxNjo1NjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLio6IEltcGxlbWVudCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfaW5pdCksIChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2V0X3NyY19jYXBzKSwgKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksIChnc3RfcmF3X3BhcnNlX2xvb3ApLAoJICAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICBJbXBsZW1lbnQgcHVsbCBtb2RlLgoKMjAwOC0wMS0xOCAxMDowNTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0xOCAwOTo1NDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEVuYWJsZSBzcGVjdHJ1bSB0ZXN0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRW5hYmxlIHNwZWN0cnVtIHRlc3QgYWdhaW4uCgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBwcmVzc2lvbnMgZm9yIGEgc2luZ2xldG9uIGluIEdJTyB0aGF0IGNhbid0IGJlIGZyZWVkLgoKMjAwOC0wMS0xOCAwODo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzogKHNldHVwX2VxdWFsaXplciksCgkgIChjbGVhbnVwX2VxdWFsaXplciksIChHU1RfU1RBUlRfVEVTVCksIChlcXVhbGl6ZXJfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoKMjAwOC0wMS0xOCAwNzowMzoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcCBsZWFraW5nCXRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSk6CgkgIFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AKCSAgbGVha2luZwl0aGVtLgoKMjAwOC0wMS0xOCAwNTozMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoKMjAwOC0wMS0xOCAwNToyNDozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChzb3VwX2FkZF9yYW5nZV9oZWFkZXIpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9jaHVuayk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoKMjAwOC0wMS0xNyAxODozOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IEltcHJvdmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2xlYXJfcXVldWVzKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluZF9zdGFydF9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBGaXggYnVmZmVyIHNwbGl0dGluZyBhdCBzeW5jIGNvZGVzIGFuZCBsZWZ0b3ZlciBidWZmZXIgYWZ0ZXIKCSAgc2Nhbm5pbmcuCgoyMDA4LTAxLTE3IDE2OjEwOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBGaXhlZCBhZGRpbmcgRVhJRiB0YWdzIHRvIGNvcnJlY3QgSUZELiBNYXBwZWQgc29tZSBYTVAgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGFkZGluZyBFWElGIHRhZ3MgdG8gY29ycmVjdCBJRkQuIE1hcHBlZCBzb21lIFhNUCB0YWdzLgoKMjAwOC0wMS0xNiAxODoyODowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IEFkZCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQgZm9yIGNvbnRhaW5lcnMgdGhhdCBkb24ndCBrbm93IGhvdyB0byBwcm9wZXJseSBzZW5kIGRhdGEgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X25hbF9saXN0X25ldyksCgkgIChnc3RfbmFsX2xpc3RfcHJlcGVuZF9saW5rKSwgKGdzdF9uYWxfbGlzdF9kZWxldGVfaGVhZCksCgkgIChnc3RfbmFsX2JzX2luaXQpLCAoZ3N0X25hbF9ic19yZWFkKSwgKGdzdF9uYWxfYnNfZW9zKSwKCSAgKGdzdF9uYWxfYnNfcmVhZF91ZSksIChnc3RfaDI2NF9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2luaXQpLCAoZ3N0X2gyNjRfcGFyc2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2dldF9wcm9wZXJ0eSksIChnc3RfaDI2NF9wYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2xlYXJfcXVldWVzKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5kX3N0YXJ0X3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfaDI2NF9wYXJzZV9jaGFpbiksCgkgIChnc3RfaDI2NF9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9oMjY0X3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgQWRkIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydCBmb3IgY29udGFpbmVycyB0aGF0IGRvbid0IGtub3cgaG93IHRvCgkgIHByb3Blcmx5IHNlbmQgZGF0YSBiZXR3ZWVuIEktZnJhbWVzLgoKMjAwOC0wMS0xNiAwNTo0MDo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBpbiBHSU8gYW5kIHJlcXVpcmUgR0lPIDIuMTUuMiBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBpbiBHSU8gYW5kIHJlcXVpcmUgR0lPIDIuMTUuMiBmb3IgdGhpcy4KCjIwMDgtMDEtMTQgMTA6NTI6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogQml0cmF0ZSBpcyA0IGJpdHMsIG5vdCA4IHNvIGNoZWNrIGZvciAweGUgYXMgbWF4aW11bSB2YWx1ZSBpbnN0ZWFkIG9mIDB4ZmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKToKCSAgQml0cmF0ZSBpcyA0IGJpdHMsIG5vdCA4IHNvIGNoZWNrIGZvciAweGUgYXMgbWF4aW11bSB2YWx1ZSBpbnN0ZWFkCgkgIG9mIDB4ZmUuCgoyMDA4LTAxLTE0IDA5OjA5OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IFJlbW92ZSBhY2NpZGVudGlhbGx5IGxlZnRvdmVyIGRlYnVnIHByaW50Zi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpOgoJICBSZW1vdmUgYWNjaWRlbnRpYWxseSBsZWZ0b3ZlciBkZWJ1ZyBwcmludGYuCgoyMDA4LTAxLTE0IDA4OjU2OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IENob29zZSBzbWFsbGVzdCBwb3NzaWJsZSBmcmFtZSBzaXplIGZvciB0aGUgWGluZyBoZWFkZXIsIHByb3Blcmx5IHNldCB0aGUgdGltZXN0YW1wLCBkdXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoaGFzX3hpbmdfaGVhZGVyKSwKCSAgKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwgKGdzdF94aW5nX211eF9jaGFpbiksCgkgIChnc3RfeGluZ19tdXhfc2lua19ldmVudCk6CgkgIENob29zZSBzbWFsbGVzdCBwb3NzaWJsZSBmcmFtZSBzaXplIGZvciB0aGUgWGluZyBoZWFkZXIsIHByb3Blcmx5CgkgIHNldCB0aGUgdGltZXN0YW1wLCBkdXJhdGlvbiBhbmQgb2Zmc2V0IG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLAoJICBvbmx5IHNlbmQgTkVXU0VHTUVOVCBldmVudHMgaW4gQllURSBmb3JtYXQgZG93bnN0cmVhbSBhbmQgYWxzbwoJICBkcm9wIFZCUkkgaGVhZGVycyBpZiBhbHJlYWR5IGV4aXN0aW5nLgoKMjAwOC0wMS0xMiAwOToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvOiBNYWpvciBjbGVhbnVwIGFuZCByZXdyaXRlIG9mIHhpbmdtdXggd2l0aCBsZXNzIGJ1Z3MgYW5kIG5ldyBmZWF0dXJlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAocGFyc2VfaGVhZGVyKSwgKGdldF94aW5nX29mZnNldCksCgkgIChoYXNfeGluZ19oZWFkZXIpLCAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLAoJICAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCksIChnc3RfeGluZ19tdXhfZmluYWxpemUpLCAoeGluZ19yZXNldCksCgkgIChnc3RfeGluZ19tdXhfaW5pdCksIChnc3RfeGluZ19tdXhfY2hhaW4pLAoJICAoZ3N0X3hpbmdfbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X3hpbmdfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICBNYWpvciBjbGVhbnVwIGFuZCByZXdyaXRlIG9mIHhpbmdtdXggd2l0aCBsZXNzIGJ1Z3MgYW5kIG5ldyBmZWF0dXJlczoKCSAgLSBIYW5kbGVzIG90aGVyIGxheWVycyBhcyAzCgkgIC0gV3JpdGUgVE9DCgoyMDA4LTAxLTExIDE5OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoY3JlYXRlX3Rlc3RfYnVmZmVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAodGVzdF9idWZmZXJfbmV3KToKCSAgSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCjIwMDgtMDEtMTEgMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiByZXR1cm5pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQKCSAgb2YgcmV0dXJuaW5nIGFuIGVycm9yLiBGaXhlcyBhIFRPRE8gYXMgZm91bmQgYnkgWW91bmVzcyBBbGFvdWkuCgoyMDA4LTAxLTExIDE2OjQ1OjU3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MgZG90IGFsYW91aSBhdCBjb2xsYWJvcmEgZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvY2Vzc19ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3N5bmNfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfY2xvY2tfcmF0ZV9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfcmVjb25zaWRlcl9jYWxsYmFjayksIChzb3VyY2VfcHVzaF9ydHApLAoJICAoc291cmNlX2Nsb2NrX3JhdGUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTA4NTg3LgoKMjAwOC0wMS0xMSAxNTo1ODoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiBTbWFsbCBtZWFuaW5nbGVzcyBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfdXRpbF9maW5kX3N0YXJ0X2NvZGUpOgoJICBTbWFsbCBtZWFuaW5nbGVzcyBjbGVhbnVwLgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKHNjYW5fa2V5ZnJhbWUpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoX2RlY29kZSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFRyYWNrIHNlZ21lbnQgZXZlbnRzLgoJICBEbyB0aGUgZmlyc3QgcGFydCBvZiByZXZlcnNlIHBsYXliYWNrIGJ5IHNlbmRpbmcgZGF0YSBiZXR3ZWVuIHR3bwoJICBJLWZyYW1lcyB0byB0aGUgZGVjb2Rlci4KCjIwMDgtMDEtMTAgMjA6NTc6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoKMjAwOC0wMS0xMCAxNDozNDozMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCjIwMDgtMDEtMTAgMTI6MzY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzCgkgIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UgcmVxdWlyZSBHTlUgbWFrZSBpbiBhbG1vc3QKCSAgZXZlcnkgTWFrZWZpbGUgYW55d2F5LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFNX1BST0dfQ0NfQ19PIGFzIGEgY29tcGlsZXIgdGhhdCBhY2NlcHRzIGJvdGggLWMgYW5kIC1vCgkgIGF0IHRoZSBzYW1lIHRpbWUgaXMgcmVxdWlyZWQgZm9yIHBlciB0YXJnZXQgZmxhZ3MuCgoyMDA4LTAxLTA5IDE0OjM5OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIgcGFkIGNhbiByZW5lZ290Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyCgkgIHBhZCBjYW4gcmVuZWdvdGlhdGUgdG8uIEZpeGVzICM1MDc5NDAuCgoyMDA4LTAxLTA5IDEzOjUzOjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZGluZyBjb3ZlcmFnZSByZXBvcnRzLiBBZGQgdG9wLWxldmVsIGNoZWNrIHRhcmdldHMgc2ltaWxhciB0byBvdGhlciBnc3QgcGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGRpbmcgY292ZXJhZ2UgcmVwb3J0cy4gQWRkIHRvcC1sZXZlbAoJICBjaGVjayB0YXJnZXRzIHNpbWlsYXIgdG8gb3RoZXIgZ3N0IHBhY2thZ2VzLgoKMjAwOC0wMS0wNiAyMjozNTozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCBHU1RfQ0ZMQUdTLiAgT3RoZXJ3aXNlIHdlIGRvbid0IGdldCAtV2FsbCAtV2Vycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfQ0ZMQUdTLiAgT3RoZXJ3aXNlIHdlIGRvbid0IGdldCAtV2FsbCAtV2Vycm9yLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgR2V0dGluZyB0aXJlZCBvZiBkaXJlY3RmYidzIGNoYXR0ZXIuICBRdWlldCBpdC4KCjIwMDgtMDEtMDYgMjI6MDA6MzIgKzAwMDAgIFNlYW4gRCdFcGFnbmllciA8c2VhbkBkZXBhZ25pZXIuY29tPgoKCSAgQWRkIGZiZGV2LWJhc2VkIHZpZGVvIHNpbmsuICBMaW51eC1vbmx5LiAgU2VlIGJ1ZyAjNTA2NTQ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYW4gRCdFcGFnbmllciA8c2VhbkBkZXBhZ25pZXIuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkgIEFkZCBmYmRldi1iYXNlZCB2aWRlbyBzaW5rLiAgTGludXgtb25seS4gIFNlZSBidWcgIzUwNjU0OS4KCjIwMDgtMDEtMDYgMTY6MzY6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSB0byBHTWVtb3J5SW5wdXRTdHJlYW0gQVBJIGNoYW5nZXMgaW4gR0xpYiBTVk4gYW5kIHJlcXVpcmUgZ2lvLTIuMCA+PSAyLjE1LjEgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTA3NTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChmcmVlX2lucHV0KSwgKEdTVF9TVEFSVF9URVNUKToKCSAgVXBkYXRlIHRvIEdNZW1vcnlJbnB1dFN0cmVhbSBBUEkgY2hhbmdlcyBpbiBHTGliIFNWTiBhbmQgcmVxdWlyZQoJICBnaW8tMi4wID49IDIuMTUuMSBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MDc1ODQuCgkgIFdlIGNhbiBhbHNvIHJlcG9ydCB0aGUgZHVyYXRpb24gZm9yIGV2ZXJ5IEdTZWVrYWJsZSwgbm90IG9ubHkKCSAgR0ZpbGVJbnB1dFN0cmVhbSBhbmQgR01lbW9yeUlucHV0U3RyZWFtLgoKMjAwOC0wMS0wNiAwMzowMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcyBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcwoJICBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnVsbHNjcmVlbmluZyBiZWluZyBhbgoJICBleGVjcHRpb24pLiAgRG9lc24ndCBoYW5kbGUgZXhwb3NlIGV2ZW50cyBkaXJlY3RseSB0byB0aGUgR0wKCSAgd2luZG93LgoKMjAwOC0wMS0wNiAwMToxOTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZQoJICB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwOC0wMS0wNCAxODo0Nzo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgRml4ZXMgIzUwNzAyMC4KCjIwMDgtMDEtMDMgMjM6MzU6NTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBmaWxlcy4KCjIwMDgtMDEtMDIgMjA6NDk6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdmNkc3JjIGluIHN0YXRlcyB0ZXN0IGJlY2F1c2UgaXQgdGFrZXMgdG9vIG11Y2ggdGltZSB0byBnZXQgdG8gUExBWUlORyBpZiBpdCBjYW4gZmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHZjZHNyYyBpbiBzdGF0ZXMgdGVzdCBiZWNhdXNlIGl0IHRha2VzIHRvbyBtdWNoIHRpbWUKCSAgdG8gZ2V0IHRvIFBMQVlJTkcgaWYgaXQgY2FuIGZpbmQgYSBkZXZpY2UuCgoyMDA4LTAxLTAxIDAxOjE4OjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogRG9uJ3QgZW1pdCBzaWduaXR1cmUgd2hlbiBnb2luZyB0byBSRUFEWSwgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgcmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgRG9uJ3QgZW1pdCBzaWduaXR1cmUgd2hlbiBnb2luZyB0byBSRUFEWSwgYmVjYXVzZSBpdCBtaWdodAoJICBub3QgYmUgcmVhZHkuCgkgICogZXh0L25hcy9uYXNzaW5rLmM6CgkgIFJlbW92ZSB1c2VsZXNzIGNhbGwgdGhhdCBzbGVlcHMgZm9yIDUgc2Vjb25kcy4gIFl1cCwgaXQgY2FsbHMKCSAgc2xlZXAoMSkgNSB0aW1lcy4gIEdvIE5BUy4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBJbml0aWFsaXplIG91ciBkZWJ1ZyBjYXRlZ29yaWVzIHByb3Blcmx5LgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBEb24ndCByZWdpc3RlciBlbGVtZW50IGRldGFpbHMgZm9yIGEgbm9uLWVsZW1lbnQuICBCZSBtdWNoIG1vcmUKCSAgcnVkZSB3aGVuIHN1YmNsYXNzIGRvZXNuJ3Qgc2V0IGEgcGFkIHRlbXBsYXRlIChhc3NlcnQhKS4gIERvbid0CgkgIHVucmVmIHRoZSBwYWQgdGVtcGxhdGU7IHdlIGRvbid0IG93biBpdC4KCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBuYXNzaW5rIGVsZW1lbnQgaW4gdGVzdHMgYmVjYXVzZSBpdCBoYXMgdW5hdm9pZGFibGUKCSAgbG9uZyB0aW1lb3V0cy4KCjIwMDctMTItMzEgMTM6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCjIwMDctMTItMzEgMDc6NTU6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nIGEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZQoJICByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcKCSAgYSBjaGVjayBmb3IgcHJlLXBrZ2NvbmZpZyB2ZXJzaW9ucy4KCjIwMDctMTItMjkgMTc6MzE6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiAoZHZiX2Jhc2VfYmluX2NsYXNzX2luaXQpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW5kIGRvbid0CgkgIGFib3J0KCkgaW4gYW55IGNhc2UgYnV0IHByb3Blcmx5IHJlcG9ydCB0aGUgZXJyb3IuCgoyMDA3LTEyLTI5IDE3OjI5OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgdG8gbGF0ZXN0IEFQSSBjaGFuZ2VzIGluIEdMaWIvR0lPIGFuZCByZXF1aXJlIGF0IGxlYXN0IGdpby0yLjAgMi4xNS4wIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dpby9nc3RnaW8uYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICBVcGRhdGUgdG8gbGF0ZXN0IEFQSSBjaGFuZ2VzIGluIEdMaWIvR0lPIGFuZCByZXF1aXJlIGF0IGxlYXN0CgkgIGdpby0yLjAgMi4xNS4wIGZvciB0aGlzLgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfUExVR0lOX0xERkxBR1MgdG8gTERGTEFHUy4KCjIwMDctMTItMjkgMDA6Mzc6NDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4KCSAgSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gbW9zdGx5IGNvcnJlY3RseS4gIFJlZW5hYmxlIGluIGJ1aWxkLgoKMjAwNy0xMi0yOCAxMTo0NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zb3VwLzogVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoc291cF9nb3RfaGVhZGVycyk6CgkgIFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbgoJICBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCjIwMDctMTItMjcgMDU6MjY6MDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcyBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcwoJICBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiZSBmaXhlZCBzb29uLgoKMjAwNy0xMi0yNyAwNDoxNToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZSB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlCgkgIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdXMgZm9ybWF0cyB0bwoJICBkb3dubG9hZGluZy4gIEZpeCBhIGZldyBwbGFjZXMgd2hlcmUgd2UgbGVhayBHTCBzdGF0ZSB0bwoJICBvdGhlciBlbGVtZW50cyAoYmFkLCBidXQgaGFyZCB0byBwcmV2ZW50KS4KCjIwMDctMTItMjcgMDA6NTI6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9CVUdTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEKCSAgR3N0R0xCdWZmZXJGb3JtYXQgdHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGhvdyB0byB1c2UgdGhlCgkgIHRleHR1cmUsIG5vdCB0aGUgb3JpZ2luYWwgdmlkZW8gZm9ybWF0LiAgQ29udmVydCBnc3RmbGZpbHRlci5jCgkgIGludG8gYSBiYXNlIGNsYXNzLCBhZGQgZ2xmaWx0ZXJleGFtcGxlIGFuZCBnbGNvbnZlcnQgZWxlbWVudHMuCgkgICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzoKCSAgTWlub3IgcmFtYmxpbmdzIGFib3V0IGNvbG9yIGNvbnZlcnNpb24gbWF0cmljZXMuCgoyMDA3LTEyLTI1IDAwOjM0OjE0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMKCSAgR0wgcmVuZGVyaW5nIHRvIGNyZWF0ZSBpbWFnZXMuICBNb3JlIGNsZWFudXAuCgoyMDA3LTEyLTI0IDIxOjI2OjQwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoKMjAwNy0xMi0yNCAyMTowNDo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgoyMDA3LTEyLTI0IDIwOjUzOjU2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZSBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUKCSAgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwgZmlsdGVyaW5nIGFsbAoJICB3b3JrLgoKMjAwNy0xMi0yMyAyMjowNDowMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS86IFJlbW92ZSB2aWRlb3BhcnNlIGVsZW1lbnQsIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvIGdzdC9yYXdwYXJzZS8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcGFyc2UvUkVBRE1FOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgUmVtb3ZlIHZpZGVvcGFyc2UgZWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbW92ZWQgdG8gZ3N0L3Jhd3BhcnNlLwoKMjAwNy0xMi0yMyAxMDozNDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEFsd2F5cyBzZWVrIG9uIGZyYW1lIGJvdW5kYXJpZXMsIHdpbGwgcHJvZHVjZSBub3RoaW5nIHVzZWZ1bCBvdGhlcndpc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpOgoJICBBbHdheXMgc2VlayBvbiBmcmFtZSBib3VuZGFyaWVzLCB3aWxsIHByb2R1Y2Ugbm90aGluZyB1c2VmdWwKCSAgb3RoZXJ3aXNlLgoKMjAwNy0xMi0yMyAwNjoyMjozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIG5ldyBwbHVnaW4gcmF3cGFyc2UgdGhhdCBjb250YWlucyBhIGJhc2UgY2xhc3MgZm9yIHJhdyBkYXRhIHBhcnNlcnMgYW5kIHRoZSB0d28gZWxlbWVudHMgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOiAoZ3N0X2F1ZGlvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksIChnc3RfYXVkaW9fcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYXJzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFyc2VfdXBkYXRlX2ZyYW1lX3NpemUpLCAoZ3N0X2F1ZGlvX3BhcnNlX2dldF9jYXBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9yYXdfcGFyc2VfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19zZXRfc3JjX3BhZF90ZW1wbGF0ZSksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX3NldF9tdWx0aXBsZV9mcmFtZXNfcGVyX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3Jhd19wYXJzZV9jb252ZXJ0KSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCksIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeV90eXBlKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9yYXdfcGFyc2Vfc2V0X2ZyYW1lc2l6ZSksCgkgIChnc3RfcmF3X3BhcnNlX3NldF9mcHMpLCAoZ3N0X3Jhd19wYXJzZV9nZXRfZnBzKSwKCSAgKGdzdF9yYXdfcGFyc2VfaXNfbmVnb3RpYXRlZCk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF90b19mb3VyY2MpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3VwZGF0ZV9mcmFtZV9zaXplKSwgKGdzdF92aWRlb19wYXJzZV9nZXRfY2Fwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgcGx1Z2luIHJhd3BhcnNlIHRoYXQgY29udGFpbnMgYSBiYXNlIGNsYXNzIGZvciByYXcgZGF0YQoJICBwYXJzZXJzIGFuZCB0aGUgdHdvIGVsZW1lbnRzIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFyc2UgdGhhdCBjYW4KCSAgYmUgdXNlZCB0byBwYXJzZSByYXcgYXVkaW8gYW5kIHZpZGVvLiBUaGVzZSBhcmUgaW5zcGlyZWQgYnkgdGhlCgkgIG9sZCB2aWRlb3BhcnNlIGVsZW1lbnQgd2hpY2ggdGhlIG5ldyByYXdwYXJzZSBwbHVnaW4gZGVwcmVjYXRlcy4KCjIwMDctMTItMjIgMDU6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZSByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiAgQ2hlY2twb2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UKCSAgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gIENoZWNrcG9pbnQgYmVjYXVzZSBJJ20gYWJvdXQKCSAgdG8gcmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUuCgoyMDA3LTEyLTIxIDE5OjAxOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkgIFNvbWUgSVBUQyB0YWdzIG1hcHBlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgSVBUQyB0YWdzIG1hcHBlZC4KCjIwMDctMTItMjEgMDk6NDU6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJICBSZW1vdmVkIGdzdG1ldGFkYXRhY29tbW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBnc3RtZXRhZGF0YWNvbW1vbi4KCjIwMDctMTItMjEgMDA6MDM6MTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywKCSAgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vdmUgR0xEcmF3YWJsZSwKCSAgc2luY2UgR3N0R0xEaXNwbGF5IG5vdyBoYXMgYSBkZWZhdWx0IGRyYXdhYmxlIGFuZCBjb250ZXh0LgoKMjAwNy0xMi0yMCAxNzowNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDctMTItMTkgMDk6NTA6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE5ldyBiYXNlIGNsYXNzIGZvciBtZXRhZGF0YSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBiYXNlIGNsYXNzIGZvciBtZXRhZGF0YSBlbGVtZW50cy4KCjIwMDctMTItMTggMTY6MDg6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChlbnVtLCBnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkgKGdzdF9zZWxlY3Rvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChlbnVtLCBnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3J1bm5pbmdfdGltZSkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCwgZ3N0X3NlZ21lbnRfZ2V0X3RpbWVzdGFtcCkKCSAgKGdzdF9zZWdtZW50X3NldF9zdG9wLCBnc3Rfc2VnbWVudF9zZXRfc3RhcnQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogQ2hhbmdlIHNvIHRoYXQgdGhlIHNpZ25hbHMgYW5kCgkgIHByb3BlcnRpZXMgZGVhbCBpbiBydW5uaW5nIHRpbWUsIG5vdCBidWZmZXIgdGltZS4gRG9jdW1lbnQgdGhlCgkgIHNpZ25hbHMgbW9yZS4gQ2hhbmdlIHVpbnQ2NCBpbiBBUEkgdG8gaW50NjQsIHRvIHJlZmxlY3Qgd2hhdCdzIGluCgkgIEdzdFNlZ21lbnQuCgoyMDA3LTEyLTE4IDA5OjI2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0IGZpbGVzIChzZWUgIzM5MzYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdAoJICBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGZvciBsaWJnc3R2aWRlbyBhZGRpdGlvbnMgaW4KCSAgZ2xpbWFnZXNpbmsuIERpc2FibGUgZ2xpbWFnZXNpbmsgdW50aWwgdGhlIG1pc3NpbmcgZmlsZXMgZ2V0CgkgIGNoZWNrZWQgaW4uCgoyMDA3LTEyLTE4IDAxOjI1OjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZAoJICBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Zi4gIFVudGVzdGVkLiAgV2lsbAoJICBsaWtlbHkgY3Jhc2ggeW91ciBtb3RvcmN5Y2xlIGlmIHlvdSB0cnkgaXQuCgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBSZW1vdmUuCgoyMDA3LTEyLTE3IDIxOjEyOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLio6IFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZCBhbiBFT1MgaW5zdGVhZCBvZiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZAoJICBhbiBFT1MgaW5zdGVhZCBvZiBjYXVzaW5nIGFuIGVycm9yLgoKMjAwNy0xMi0xNyAxNTowOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFJldHVybiBPSyB3aGVuIGEgYnVmZmVyIGlzIGlnbm9yZWQsIG5vdCBOT1RfTElOS0VELiBObyBzZW5zZSBpbiBtYWtpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBSZXR1cm4gT0sgd2hlbgoJICBhIGJ1ZmZlciBpcyBpZ25vcmVkLCBub3QgTk9UX0xJTktFRC4gTm8gc2Vuc2UgaW4gbWFraW5nIGEgc291cmNlCgkgIGVsZW1lbnQgZXJyb3Igb3V0OyBhdCBsZWFzdCBmZHNyYyBjb25zaWRlcnMgTk9UX0xJTktFRCB0byBiZSBhCgkgIGZhdGFsIGVycm9yLiBQYXRjaCAxMS8xMi4gVGhlcmUgaXMgbm8gcGF0Y2ggMTIvMTIuIEZvby4KCjIwMDctMTItMTcgMTU6MDY6NDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogTWFrZSB0aGUgYmxvY2soKSBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogTWFrZSB0aGUgYmxvY2soKSBzaWduYWwgcmV0dXJuIHRoZQoJICBsYXN0IHN0b3AgdGltZSBvZiB0aGUgYWN0aXZlIHBhZC4gUGF0Y2ggMTAvMTIuCgoyMDA3LTEyLTE3IDE1OjA0OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0LCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0LCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6IEV4cG9zZSAnbGFzdC1zdG9wLXRpbWUnIGFzIGEKCSAgcGFkIHByb3BlcnR5LCBub3QgYW4gZWxlbWVudCBwcm9wZXJ0eS4KCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBNYXJrIHRoZSBsYXN0X3N0b3AgdGltZSBhcyB0aW1lc3RhbXAgKwoJICBkdXJhdGlvbiwgbm90IHRpbWVzdGFtcC4gUGF0Y2ggOS8xMi4KCjIwMDctMTItMTcgMTU6MDE6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2hhbmdlX3N0YXRlKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaywgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBVc2UgdGhlCgkgIGNvbmQgbWVjaGFuaXNtIGluc3RlYWQgb2YgYmxvY2tlZCBwYWRzLiBQYXRjaCA4LzEyLgoKMjAwNy0xMi0xNyAxNTowMDoxNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfd2FpdCkgKGdzdF9zZWxlY3Rvcl9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfd2FpdCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4sIGdzdF9zdHJlYW1fc2VsZWN0b3JfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZGlzcG9zZSk6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgbmV3IGJsb2NraW5nCgkgIG1lY2hhbmlzbSB0aGF0IGRvZXMgbm90IHVzZSBnc3RfcGFkX3NldF9ibG9ja2VkLCB3aGljaCBkb2VzIG5vdAoJICB3b3JrIG9uIHNpbmsgcGFkcy4gUGF0Y2ggNy8xMi4KCjIwMDctMTItMTcgMTQ6NTg6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6IEFkZCBsYXN0LXN0b3AtdGltZSByZWFkYWJsZQoJICBwcm9wZXJ0eS4gUGF0Y2ggNi8xMi4KCjIwMDctMTItMTcgMTQ6NTU6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBBZGQgc29tZSBzdGF0ZSB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBBZGQgc29tZQoJICBzdGF0ZSB2YXJpYWJsZXMuCgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBQdXNoIGFueSBwZW5kaW5nIHN0b3AgZXZlbnQuCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpOiBGYWN0b3Igb3V0IHNldHRpbmcgdGhlIGFjdGl2ZQoJICBwYWQgdG8gYSBmdW5jdGlvbi4gQ2xvc2UgdGhlIHNlZ21lbnQgb2YgdGhlIHByZXZpb3VzIGFjdGl2ZSBwYWQgaWYKCSAgdG9sZCB0byBkbyBzbyB2aWEgYSBzdG9wX3RpbWUgIT0gR1NUX0NMT0NLX1RJTUVfTk9ORS4KCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogSW1wbGVtZW50IHN3aXRjaCB2bWV0aG9kLiBQYXRjaCA1LzEyLgoKMjAwNy0xMi0xNyAxNDo1MjoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IEltcGxlbWVudCB0aGUgYmxvY2soKSBzaWduYWwuIFRoaXMgaW1wbGVtZW50YXRpb24gd2lsbCBiZSByZXBsYWNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBJbXBsZW1lbnQKCSAgdGhlIGJsb2NrKCkgc2lnbmFsLiBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgcmVwbGFjZWQgaW4gZnV0dXJlCgkgIHBhdGNoZXMsIGhvd2V2ZXIuIFBhdGNoIDQvMTIuCgoyMDA3LTEyLTE3IDE0OjQ4OjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOiBGaXggdm1ldGhvZCBwcm90b3R5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOiBGaXgKCSAgdm1ldGhvZCBwcm90b3R5cGVzLgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2ssIGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogQWRkIGVtcHR5CgkgIHZtZXRob2QgZGVmaW5pdGlvbnMuIFBhdGNoIDMvMTIuCgoyMDA3LTEyLTE3IDE0OjQ2OjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC4qOiBBZGQgYGJsb2NrJyBhbmQgYHN3aXRjaCcgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOiBBZGQKCSAgYGJsb2NrJyBhbmQgYHN3aXRjaCcgc2lnbmFscy4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDogQWRkIGZvbyB0byBnZW5lcmF0ZSBhCgkgIG1hcnNoYWxsZXIgZm9yIHRoZSBgc3dpdGNoJyBzaWduYWwuIFBhdGNoIDIvMTIuCgoyMDA3LTEyLTE3IDE0OjQzOjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC4qOiBSZXBsYWNlIHdpdGggZmlsZXMgZnJvbSBnc3RzdHJlYW1zZWxlY3Rvci5bY2hdLCByZWdpc3RlcmVkIGFzIHRoZSAic3dpdGNoIiBwbHVnaW4sIHdpdGggIkdzdFMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiBSZXBsYWNlIHdpdGggZmlsZXMgZnJvbQoJICBnc3RzdHJlYW1zZWxlY3Rvci5bY2hdLCByZWdpc3RlcmVkIGFzIHRoZSAic3dpdGNoIiBwbHVnaW4sIHdpdGgKCSAgIkdzdFN3aXRjaCIgdHlwZXMuIFBhdGNoIDEvMTIuCgoyMDA3LTEyLTE3IDE0OjM3OjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxpYnNvdXAgcGx1Z2luIHRvIHNwZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaWJzb3VwIHBsdWdpbiB0byBzcGVjCgoyMDA3LTEyLTE3IDEyOjM3OjM2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgInBhcnNlLW9ubHkiIHByb3BlcnR5IHRvIG1ldGFkYXRhZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCAicGFyc2Utb25seSIgcHJvcGVydHkgdG8gbWV0YWRhdGFkZW11eC4KCjIwMDctMTItMTYgMjI6NTc6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgIFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgoyMDA3LTEyLTE2IDAwOjE2OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15IGRyaXZlci4gOigKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgIEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkKCSAgZHJpdmVyLiA6KAoKMjAwNy0xMi0xNSAxOTozMToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yCgkgIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgoyMDA3LTEyLTE1IDE3OjUyOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZyZWUgdGhlIGFkYXB0ZXIgb24gZGlzcG9zZSBhbmQgY29ycmVjdGx5IHJlc2V0IG9uIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfZGlzcG9zZSksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEZyZWUgdGhlIGFkYXB0ZXIgb24gZGlzcG9zZSBhbmQgY29ycmVjdGx5IHJlc2V0IG9uIG5ld3NlZ21lbnQgZXZlbnRzLgoKMjAwNy0xMi0xNSAxMzoxMDowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBJbXByb3ZlIGR1cmF0aW9uIHF1ZXJ5IGJ5IGZpcnN0IGFza2luZyB1cHN0cmVhbSBhbmQgaWYgaXQgY2FuJ3QgaGFuZGxlIHRoZSBxdWVyeSB0cnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeSk6CgkgIEltcHJvdmUgZHVyYXRpb24gcXVlcnkgYnkgZmlyc3QgYXNraW5nIHVwc3RyZWFtIGFuZCBpZiBpdCBjYW4ndCBoYW5kbGUKCSAgdGhlIHF1ZXJ5IHRyeSB0byBnZXQgdGhlIGR1cmF0aW9uIGluIGJ5dGVzIGZyb20gdXBzdHJlYW0gYW5kIGNvbnZlcnQuCgkgIEZvciBzZWVrcywgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgdGhpcyBhbHJlYWR5IGZpcnN0IGFuZCBkbyBvdXIKCSAgY29udmVyc2lvbiB0byBieXRlIGZvcm1hdCBvbmx5IGlmIGl0IGRvZXNuJ3QgYW5kIGlmIHdlIGdldCBhCgkgIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQga2VlcCBpdCBhbmQgb25seSBkbyBvdXIgY29udmVyc2lvbnMKCSAgaWYgdGhlIGV2ZW50IGhhcyBhbm90aGVyIGZvcm1hdC4KCjIwMDctMTItMTUgMDc6Mzc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXJnYiBhbmQgdmlkZW8veC1yYXctZ3JheS4gQWxzbyBzZW5kIGRvd25zdHJlYW0gZWxlbWVudHMgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X3RvX2ZvdXJjYyksCgkgIChnc3RfdmlkZW9fcGFyc2VfdXBkYXRlX2Jsb2NrX3NpemUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2NoYWluKSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXJnYiBhbmQgdmlkZW8veC1yYXctZ3JheS4gQWxzbyBzZW5kCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgZG93bnN0cmVhbSwgbm90IHVwc3RyZWFtLgoKMjAwNy0xMi0xNSAwNjozMzozNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi4qOiBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLgoJICBUaGlzIHNob3VsZCBldmVudHVhbGx5IG1vdmUgdG8gLWJhc2UuCgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFVzZSB0aGUgbmV3IHZpZGVvLWNvbW1vbi5oIHN0dWZmLiAgUmVhZGQgc3VwcG9ydCBmb3IgUkdCIHZpZGVvLgoKMjAwNy0xMi0xNCAxODoxODozNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgbmV3IG1vZHVsZSBmb3IgY29tbW9uIGZ1bmN0aW9ucy4gVXNpbmcgR1NUX1RZUEVfRlJBQ1RJT04gZm9yIEV4aWYgKFMpUmF0aW9uYWwgdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBuZXcgbW9kdWxlIGZvciBjb21tb24gZnVuY3Rpb25zLiBVc2luZyBHU1RfVFlQRV9GUkFDVElPTiBmb3IgRXhpZiAoUylSYXRpb25hbCB0eXBlcy4KCjIwMDctMTItMTQgMTc6NTE6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci4qOiBIYXNoIHN0cmVhbXMgYnkgcGlkIGFnYWluLiBBZGQgYSBsaW5rZWQgbGlzdCBpbnNpZGUgZWFjaCBzdHJlYW0gd2l0aCBhIGxpc3Qgb2Ygc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICBIYXNoIHN0cmVhbXMgYnkgcGlkIGFnYWluLiBBZGQgYSBsaW5rZWQgbGlzdCBpbnNpZGUgZWFjaAoJICBzdHJlYW0gd2l0aCBhIGxpc3Qgb2Ygc3ViX3RhYmxlcy4gRml4IG11bHRpcGxlIHNlY3Rpb25zCgkgIGFzIGl0IHdhcyBib3JrZWQgd2l0aCBteSBsYXN0IGNvbW1pdC4KCjIwMDctMTItMTQgMTY6MjM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNy0xMi0xMyAxNzoxOTo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIENvZGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvZGUgZG9jdW1lbnRhdGlvbi4KCjIwMDctMTItMTMgMTI6NDU6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NYWtlZmlsZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgYSB0ZXN0IGFwcGxpY2F0aW9uLiBBZGRlZCBzb21lIEVYSUYgdGFncy4gRml4ZWQgYSBtdXhlciBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIHRlc3QgYXBwbGljYXRpb24uIEFkZGVkIHNvbWUgRVhJRiB0YWdzLiBGaXhlZCBhIG11eGVyIGJ1Zy4KCjIwMDctMTItMTMgMTE6MjU6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSW1wbGVtZW50IGEgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWQsIGltcGxlbWVudCBzZWVraW5nIGFuZCB1c2UgQU5ZIGNhcHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnlfdHlwZSk6CgkgIEltcGxlbWVudCBhIHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkLCBpbXBsZW1lbnQgc2Vla2luZwoJICBhbmQgdXNlIEFOWSBjYXBzIGZvciB0aGUgc2luayBwYWQgYXMgdGhlIGVsZW1lbnQgZG9lc24ndCBjYXJlIHdoYXQKCSAgY2FwcyB0aGUgaW5wdXQgaGFzIGFuZCBldmVyeXRoaW5nIGlzIGhhbmRsZWQgdmlhIHByb3BlcnRpZXMuCgoyMDA3LTEyLTEzIDEwOjM4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEhhbmRsZSAtMSB2YWx1ZXMgZm9yIHRoZSBDT05WRVJUIHF1ZXJ5IHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2NvbnZlcnQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBIYW5kbGUgLTEgdmFsdWVzIGZvciB0aGUgQ09OVkVSVCBxdWVyeSB0b28uCgoyMDA3LTEyLTEzIDEwOjE2OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEFkZCBZVjEyIHRvIHRoZSBwYWQgdGVtcGxhdGVzIGFzIGl0IGlzIHN1cHBvcnRlZCB0b28gYW5kIGFsbG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgQWRkIFlWMTIgdG8gdGhlIHBhZCB0ZW1wbGF0ZXMgYXMgaXQgaXMgc3VwcG9ydGVkIHRvbyBhbmQgYWxsb3cKCSAgLTEgYXMgc3RvcCBwb3NpdGlvbiBmb3IgTkVXU0VHTUVOVCBldmVudHMuCgoyMDA3LTEyLTEzIDA4OjU0OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbTogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUyB0byBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUyB0byBmaXggdGhlIGJ1aWxkLgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBnX3ZhbHVlX1tzZ11ldF9lbnVtKCkgZm9yIGVudW0gcHJvcGVydGllcywgZ192YWx1ZV9bc2ddZXRfaW50KCkKCSAgZ2l2ZXMgYSBnX2NyaXRpY2FsKCkuCgoyMDA3LTEyLTEzIDA0OjQzOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlLzogQWRkIGEgYnVuY2ggb2YgZmVhdHVyZXM6IGhhbmRsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaGFuZGxlIHF1ZXJpZXMgYW5kIGNvbnZlcnNpb24uICBXb3JrcyBtdWNoIGxpay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9SRUFETUU6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBZGQgYSBidW5jaCBvZiBmZWF0dXJlczogaGFuZGxlIGZvcm1hdCBzcGVjaWZpY2F0aW9uLCBoYW5kbGUKCSAgcXVlcmllcyBhbmQgY29udmVyc2lvbi4gIFdvcmtzIG11Y2ggbGlrZSBhIG5vcm1hbCBwYXJzZXIgbm93LgoKMjAwNy0xMi0xMiAxNjo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGdzdF9ydHBfc3NyY19kZW11eF9yZXNldCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA3LTEyLTEyIDEyOjExOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgRml4IHNvbWUgbGVha3MuCgoyMDA3LTEyLTEyIDA0OjExOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHRzL2dzdGR0c2RlYy4qOiBBZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIiBhcyB1c2VkIGJ5IGZsdXBzcGFyc2UuIE1vc3QgY2hhbmdlcyBhZGFwdGVkIGZyb20gYTUyZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KSwKCSAgKGdzdF9kdHNkZWNfc2lua19zZXRjYXBzKSwgKGdzdF9kdHNkZWNfY2hhaW5fcmF3KSwKCSAgKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiIGFzIHVzZWQgYnkgZmx1cHNwYXJzZS4gTW9zdAoJICBjaGFuZ2VzIGFkYXB0ZWQgZnJvbSBhNTJkZWMuCgoyMDA3LTEyLTEyIDAyOjMzOjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYSBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEKCSAgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXNpb25hbGx5CgkgIGR1ZSB0byBkaWZmZXJlbnQgdGhyZWFkcyB0b3VjaGluZyBiaXRzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDA3LTEyLTExIDE2OjM5OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwgKHVuaWNvZGlmeSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLCAoc291cF9maW5pc2hlZCksCgkgIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwgKHNvdXBfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cGh0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIFJlb3JnYW5pc2UgYSBidW5jaCBvZiB0aGluZ3MgYW5kIGNsZWFudXBzLgoJICBVc2VzIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAlbGx1LgoJICBTZWUgIzUwMjMzNS4KCjIwMDctMTItMTEgMTY6MjY6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEZpeCBjYXBzIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpOgoJICBGaXggY2FwcyBtZW1sZWFrLgoKMjAwNy0xMi0xMSAxMTo1NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZwoJICB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCjIwMDctMTItMTAgMTg6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChvbl9zc3JjX3NkZXMpOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgVXBkYXRlIHNvbWUgY29tbWVudHMuCgoyMDA3LTEyLTEwIDE3OjE4OjM1ICswMDAwICBtdXRleCBhdCBydW5ib3ggZG90IGNvbSA8bXV0ZXhAcnVuYm94LmNvbT4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRm9yd2FyZCB0aGUgcXVlcnkgdXBzdHJlYW0sIHRoZSBkZWZhdWx0IGVsZW1lbnQgZXZlbnQgaGFuZGxlciBkb2VzIHNvbWV0aGluZyBkaWZmZXJlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IDxtdXRleCBhdCBydW5ib3ggZG90IGNvbT4KCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCB0aGUgcXVlcnkgdXBzdHJlYW0sIHRoZSBkZWZhdWx0IGVsZW1lbnQgZXZlbnQgaGFuZGxlciBkb2VzCgkgIHNvbWV0aGluZyBkaWZmZXJlbnQuIEZpeGVzICM1MDI4NzkuCgoyMDA3LTEyLTEwIDE1OjM0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX3NkZXMpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19zZGVzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgRml4IG9iamVjdCB0eXBlIGluIHRoZSBzaWduYWwgY2FsbGJhY2tzLgoKMjAwNy0xMi0xMCAxNDowMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aCB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksIChzZGVzX3R5cGVfdG9fbmFtZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aAoJICB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KToKCSAgRml4IFNTUkMgcHJvcGVydHkuCgoyMDA3LTEyLTEwIDExOjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIERlZmluZSBzb21lIEdPYmplY3QgcHJvcGVydGllcyB0byBzZXQgU0RFUyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2ZyYWN0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ZyYWN0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc2Rlc19zdHJpbmcpLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKGlzX3J0Y3BfdGltZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2lnbmFsIHdoZW4gbmV3IFNERVMgaW5mb3IgaGFzIGJlZW4gZm91bmQgZm9yIGEgc291cmNlLgoJICBDcmVhdGUgcHJvcGVydGllcyBmb3IgU0RFUyBhbmQgb3RoZXIgaW5mby4KCSAgU2ltcGxpZnkgdGhlIFNERVMgQVBJLgoJICBBZGQgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NzcmMpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX2lzX2FzX2NzcmMpLCAocnRwX3NvdXJjZV9pc19hY3RpdmUpLAoJICAocnRwX3NvdXJjZV9pc192YWxpZGF0ZWQpLCAocnRwX3NvdXJjZV9pc19zZW5kZXIpLAoJICAocnRwX3NvdXJjZV9yZWNlaXZlZF9ieWUpLCAocnRwX3NvdXJjZV9nZXRfYnllX3JlYXNvbiksCgkgIChydHBfc291cmNlX3NldF9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NkZXMpLCAocnRwX3NvdXJjZV9nZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBHT2JqZWN0IHByb3BlcnRpZXMgZm9yIHZhcmlvdXMgdGhpbmdzLgoJICBEb24ndCBsZWFrIHRoZSBieWUgcmVhc29uLgoKMjAwNy0xMi0wOSAxOTozNzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIEVtaXQgdGFnIHdpdGggdGhlIGNvZGVjIG5hbWUgc28gaXQgZ2V0cyBwcm9wZXJseSByZXBvcnRlZCBpbiB0b3RlbSBhbmQKCSAgb3RoZXIgYXBwbGljYXRpb25zLgoKMjAwNy0xMi0wOSAwNDozMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoKMjAwNy0xMi0wNiAxMjo0NTo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0xMi0wNiAxMjo0MjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mzc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbwoJICB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjI5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaCBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgoyMDA3LTEyLTA2IDEwOjQ4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IE1hcmsgY3JjIHZhbHVlcyB0YWJsZSBhcyBjb25zdGFudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChjcmNfdGFiKToKCSAgTWFyayBjcmMgdmFsdWVzIHRhYmxlIGFzIGNvbnN0YW50LgoKMjAwNy0xMi0wNSAxNzowMDo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGRlZCBzb21lIHRhZ3MgdG8gZXhpZiBwYXJzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzb21lIHRhZ3MgdG8gZXhpZiBwYXJzZXIuCgoyMDA3LTEyLTA1IDEyOjQwOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQSBzdWIgdGFibGUgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciB0YWJsZV9pZCBhbmQgc3ViX3RhYmxlX2lkZW50aWZpZXIsIG5vdCBieSBwaWQuIFNvIGhhc2ggd2l0aCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEEgc3ViIHRhYmxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIHBhaXIgdGFibGVfaWQgYW5kCgkgIHN1Yl90YWJsZV9pZGVudGlmaWVyLCBub3QgYnkgcGlkLiBTbyBoYXNoIHdpdGggdGhhdC4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgTWFrZSBzdXJlIGluaXRpYWwgcGlkcyBhcmUgYWRkZWQgcHJvcGVybHkgdG8gZmlsdGVyLAoKMjAwNy0xMi0wNSAxMToyNTo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBEb24ndCBwdXNoIGJ1ZmZlcnMgZnJvbSBhcHAgdGhyZWFkIHdoZW4gdW5zZXR0aW5nIGBxdWV1ZS1idWZmZXJzJywgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogRG9uJ3QgcHVzaAoJICBidWZmZXJzIGZyb20gYXBwIHRocmVhZCB3aGVuIHVuc2V0dGluZyBgcXVldWUtYnVmZmVycycsIGl0J3MKCSAgZGFuZ2Vyb3VzIGFuZCB0aGUgY2hhaW4gZnVuY3Rpb24gd2lsbCBkbyBpdCBmb3IgdXMgYW55d2F5LgoKMjAwNy0xMi0wNCAxNzoyMDoyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJICBOb3cgY29tcGlsZXMgZXZlbiB3aGVuIGxpYmlwdGMgaXMgbWlzc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBjb21waWxlcyBldmVuIHdoZW4gbGliaXB0YyBpcyBtaXNzaW5nLgoKMjAwNy0xMi0wNCAxNjo0MjoyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSAgRml4ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBub3cgbXV4ZXIgd3JpdGVzIHRvIHBuZyBhbHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBub3cgbXV4ZXIgd3JpdGVzIHRvIHBuZyBhbHNvLgoKMjAwNy0xMi0wMyAxODoyODozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSBzaWduYWxzIGZvciBwYXQsIHBtdCwgbml0LCBlaXQsIHNkdC4gUmVwbGFjZSB3aXRoIGJ1cyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIFJlbW92ZSBzaWduYWxzIGZvciBwYXQsIHBtdCwgbml0LCBlaXQsIHNkdC4gUmVwbGFjZSB3aXRoIGJ1cwoJICBtZXNzYWdlcy4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgSW5zdGVhZCBvZiBhdHRhY2hpbmcgdG8gc2lnbmFscywgdXNlIHRoZSBidXMgbWVzc2FnZXMuCgkgIEFsc28gZml4IHVwIHNvIHRoZSBkdmJzcmMgc3RhcnRzIG9ubHkgb3V0cHV0dGluZyB0aGUgaW5mbyB0YWJsZXMKCSAgbGlrZSBQQVQsIENBVCwgTklULCBTRFQsIEVJVCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSB0cy4KCjIwMDctMTItMDMgMTY6MTQ6MDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgSVBUQyBjaHVuayBzZW50IGFzIHRhZy4gTXV4ZXIgaW1wbGVtZXRzIEdzdFRhZ1NldHRlciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgSVBUQyBjaHVuayBzZW50IGFzIHRhZy4gTXV4ZXIgaW1wbGVtZXRzIEdzdFRhZ1NldHRlciBpbnRlcmZhY2UuCgoyMDA3LTEyLTAzIDEzOjA4OjI2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFNob3VsZCBmaXggdGhlIDY0LWJpdCBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgU2hvdWxkIGZpeCB0aGUgNjQtYml0IGJ1aWxkCgoyMDA3LTExLTMwIDE4OjMwOjEyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgRVhJRiBhbmQgWE1QIGNodW5rcyBzZW50IGFzIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgRVhJRiBhbmQgWE1QIGNodW5rcyBzZW50IGFzIHRhZ3MuCgoyMDA3LTExLTMwIDE0OjA4OjE1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IEFkZCBDb1JSRSBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIENvUlJFIGVuY29kaW5nCgoyMDA3LTExLTMwIDEzOjE4OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IENSQyBjaGVjayB0aGUgcHNpIHBpZHMuIENSQyBjaGVja2luZyBjb2RlIHJlbGljZW5jZWQgZnJvbSBNUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBDUkMgY2hlY2sgdGhlIHBzaSBwaWRzLiBDUkMgY2hlY2tpbmcgY29kZSByZWxpY2VuY2VkIGZyb20gTVBMLgoJICBUaGFua3MgRmx1ZW5kby4KCjIwMDctMTEtMzAgMTI6NTM6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJICBGaXhlZCBnZXRfcmFuZ2UgYnVnIHdoZW4gaW5qZWN0aW5nIGFuZCBzdHJpcHBpbmcuIEFuZCBtdXggaXMgYWxtb3N0IGRvbmUgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZ2V0X3JhbmdlIGJ1ZyB3aGVuIGluamVjdGluZyBhbmQgc3RyaXBwaW5nLiBBbmQgbXV4IGlzIGFsbW9zdCBkb25lIG5vdy4KCjIwMDctMTEtMzAgMTA6NDY6MjMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogVXNlIGdsaWIgbWFjcm8gZm9yIHN3YXBwaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBVc2UgZ2xpYiBtYWNybyBmb3Igc3dhcHBpbmcKCjIwMDctMTEtMjkgMTM6MzI6MTEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogRGlzYWJsZSBDb3B5UmVjdCBlbmNvZGluZyBieSBkZWZhdWx0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIERpc2FibGUgQ29weVJlY3QgZW5jb2RpbmcgYnkgZGVmYXVsdAoJICBBZGQgUlJFIGVuY29kaW5nCgoyMDA3LTExLTI5IDEwOjQ5OjE4ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudCBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudAoJICBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuZCBpdCBoYXMgc29tZSBsZWFrcy4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksCgkgIChzb3VwX2ZpbmlzaGVkKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgdW5sb2NrKCkuCgkgIFBpY2tzIHVwIHRoZSBzaXplIGZyb20gdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBhbmQgZW1pdCBhIGR1cmF0aW9uCgkgIG1lc3NhZ2UuCgkgIERvbid0IGxlYWsgdGhlIEdNYWluQ29udGV4dCBvYmplY3QuCgkgIEZpeGVzICM1MDAwOTkuCgoyMDA3LTExLTI5IDEwOjQ0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBkYXRhIHdoZW4gd2UgYXJlIGluIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX3NldF9wYXJhbXMpLAoJICAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpOgoJICBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgZGF0YSB3aGVuIHdlIGFyZSBpbiBlcnJvci4KCjIwMDctMTEtMjggMTQ6MDM6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgU2VuZGluZyBtYWtlIGFuZCBtb2RlbCBpbmRpdmlkdWFsIHRhZ3MgYW5kIG11eGVyIG5vdyBsaW5rcyBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZGluZyBtYWtlIGFuZCBtb2RlbCBpbmRpdmlkdWFsIHRhZ3MgYW5kIG11eGVyIG5vdyBsaW5rcyBmaW5lLgoKMjAwNy0xMS0yOCAwODoxMzo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgU21hbGwgZml4ZXMgaW4gZ2V0X3JhbmdlIGFuZCBiZXR0ZXIgc3RydWN0dXJlIGZvciBnZW5lcmljIG11eGVyIGFuZCBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4ZXMgaW4gZ2V0X3JhbmdlIGFuZCBiZXR0ZXIgc3RydWN0dXJlIGZvciBnZW5lcmljIG11eGVyIGFuZCBkZW11eGVyLgoKMjAwNy0xMS0yNiAxMzoxOTo0OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBRdWlja1RpbWUgV3JhcHBlciBwbHVnLWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yNiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6IEFkZCBRdWlja1RpbWUgV3JhcHBlciBwbHVnLWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKTogRml4CgkgIGJ1aWxkIG9uIE1hYyBPUyBYIExlb3BhcmQuIEluY29ycmVjdCBwcmludGYgZm9ybWF0IGFyZ3VtZW50cy4KCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2luaXQpLAoJICAoY2xlYXJfQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgKGZpbGxfaW5kZXNjX21wMyksCgkgIChmaWxsX2luZGVzY19hYWMpLCAoZmlsbF9pbmRlc2Nfc2FtciksIChmaWxsX2luZGVzY19nZW5lcmljKSwKCSAgKG1ha2Vfc2Ftcl9tYWdpY19jb29raWUpLCAob3Blbl9kZWNvZGVyKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3Npbmtfc2V0Y2FwcyksIChwcm9jZXNzX2J1ZmZlcl9jYiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogKGF1ZGlvX2NhcHNfZnJvbV9zdHJpbmcpLAoJICAoZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6IChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfYXZjMSksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfbXA0diksIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX3N0c2RfYnVmZmVyKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fY29kZWNfZGF0YSk6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6IChnZXRfbmFtZV9pbmZvX2Zyb21fY29tcG9uZW50KSwKCSAgKGdldF9vdXRwdXRfaW5mb19mcm9tX2NvbXBvbmVudCksIChkdW1wX2F2Y2NfYXRvbSksCgkgIChkdW1wX2ltYWdlX2Rlc2NyaXB0aW9uKSwgKGR1bXBfY29kZWNfZGVjb21wcmVzc19wYXJhbXMpLAoJICAoYWRkU0ludDMyVG9EaWN0aW9uYXJ5KSwgKGR1bXBfY3ZwaXhlbF9idWZmZXIpLAoJICAoRGVzdHJveUF1ZGlvQnVmZmVyTGlzdCksIChBbGxvY2F0ZUF1ZGlvQnVmZmVyTGlzdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICAqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfaW5pdCksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9maW5hbGl6ZSksCgkgIChmaWxsX2ltYWdlX2Rlc2NyaXB0aW9uKSwgKG5ld19pbWFnZV9kZXNjcmlwdGlvbiksIChjbG9zZV9kZWNvZGVyKSwKCSAgKG9wZW5fZGVjb2RlciksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9zaW5rX3NldGNhcHMpLAoJICAoZGVjb21wcmVzc0NiKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJzX3JlZ2lzdGVyKTogSW5pdGlhbCBpbXBvcnQgb2YgUXVpY2tUaW1lCgkgIHdyYXBwZXIgam9pbnRseSBkZXZlbG9wcGVkIGJ5IFNvbmdiaXJkIGF1dGhvcnMgKFBpb25lZXJzIG9mIHRoZQoJICBJbmV2aXRhYmxlKSBhbmQgRmx1ZW5kby4KCjIwMDctMTEtMjYgMTA6MDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAwNy0xMS0yNiAwOTozODoyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJICBOb3cgd29ya3Mgd2hlbiBnZXRfcmFuZ2UgaXMgbm90IGF2YWlsYWJsZSB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyB3b3JrcyB3aGVuIGdldF9yYW5nZSBpcyBub3QgYXZhaWxhYmxlIHVwc3RyZWFtLgoKMjAwNy0xMS0yNiAwODo0MzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBVcGRhdGUgc3BlZXggcmVzYW1wbGVyIHRvIGxhdGVzdCBTVk4uIFdlJ3JlIG5vdyBkb3duIHRvIG9ubHkgdGhlIGNoYW5nZXMgbm90ZWQgaW4gUkVBRE1FIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9pbnB1dF9sYXRlbmN5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfb3V0cHV0X2xhdGVuY3kpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBVcGRhdGUgc3BlZXggcmVzYW1wbGVyIHRvIGxhdGVzdCBTVk4uIFdlJ3JlIG5vdyBkb3duIHRvIG9ubHkgdGhlCgkgIGNoYW5nZXMgbm90ZWQgaW4gUkVBRE1FIGFnYWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KToKCSAgQWRqdXN0IHRvIEFQSSBjaGFuZ2VzLgoKMjAwNy0xMS0yNSAxMDo0NTowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUgd2l0aCBnbm9ubGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlCgkgIHdpdGggZ25vbmxpbi4KCjIwMDctMTEtMjUgMTA6MTI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IFNldCBpbml0aWFsIHN0cnVjdHVyZSBuYW1lIHRvIGZpeCBhc3NlcnRpb24sIGR1ZSB0byByZWNlbnQgY2FwcyBuYW1lIGNvbnN0cmFpbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBTZXQgaW5pdGlhbCBzdHJ1Y3R1cmUgbmFtZSB0byBmaXggYXNzZXJ0aW9uLCBkdWUgdG8gcmVjZW50IGNhcHMgbmFtZQoJICBjb25zdHJhaW50cy4KCjIwMDctMTEtMjMgMTc6NTM6MzcgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogcGF0LWluZm8gaXMgbm93IGEgc2lnbmFsIG5vdCBhIEdPYmplY3QgcHJvcGVydHkgdGhhdCBnZXRzIG5vdGlmaWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBwYXQtaW5mbyBpcyBub3cgYSBzaWduYWwgbm90IGEgR09iamVjdCBwcm9wZXJ0eSB0aGF0CgkgIGdldHMgbm90aWZpZWQuCgkgIHBhdC1pbmZvLCBwbXQtaW5mbyBub3cgaW5zdGVhZCBvZiBwYXNzaW5nIGEgR09iamVjdCBhcwoJICBhIHBhcmFtZXRlciwgcGFzcyBhIEdzdFN0cnVjdHVyZS4KCSAgTmV3IHNpZ25hbHM6IG5pdC1pbmZvLCBzZHQtaW5mbywgZWl0LWluZm8gZm9yIERWQiBTSSBpbmZvcm1hdGlvbgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgQ2FtIGNvZGUgbm93IHVzZXMgdGhlIHBtdCBHc3RTdHJ1Y3R1cmUgcGFzc2VkIGZyb20gbXBlZ3RzcGFyc2UKCSAgc2lnbmFscyByYXRoZXIgdGhhbiB0aGUgR09iamVjdC4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVXNlIG5ldyBzaWduYWxzIGluIG1wZWd0c3BhcnNlIGFuZCB1c2UgR3N0U3RydWN0dXJlcyBhcyBwZXIKCSAgbXBlZ3RzcGFyc2UncyBtb2RpZmllZCBBUEkuCgoyMDA3LTExLTIzIDE3OjM1OjIxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkgIE5vdyBwYXJzZXIgaXMgZ2VuZXJpYyAoanVzdCBhZGQvcmVtb3ZlIGEgbGlzdCBvZiBjaHVua3MpLiBBbmQgYSB0ZW1wbGF0ZSBvZiBtdXhlciBoYXMgYmVlbiBjcmVhdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHBhcnNlciBpcyBnZW5lcmljIChqdXN0IGFkZC9yZW1vdmUgYSBsaXN0IG9mIGNodW5rcykuIEFuZCBhIHRlbXBsYXRlIG9mIG11eGVyIGhhcyBiZWVuIGNyZWF0ZWQuCgoyMDA3LTExLTIzIDEwOjIxOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IE9ubHkgcG9zdCB0aGUgbGF0ZW5jeSBtZXNzYWdlIGlmIHdlIGhhdmUgYSByZXNhbXBsZXIgc3RhdGUgYWxyZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSk6CgkgIE9ubHkgcG9zdCB0aGUgbGF0ZW5jeSBtZXNzYWdlIGlmIHdlIGhhdmUgYSByZXNhbXBsZXIgc3RhdGUgYWxyZWFkeS4KCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA3LTExLTIzIDEwOjIxOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfcXVlcnkpLCAoYXVkaW9yZXNhbXBsZV9xdWVyeV90eXBlKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwNy0xMS0yMyAxMDowMTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBbHNvIHBvc3QgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjMgMDg6NDg6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5IG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfcmVzYW1wbGVyX2dldF9sYXRlbmN5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfaW50KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgZnVuY3Rpb25zIHRvIHB1c2ggdGhlIHJlbWFpbmluZyBzYW1wbGVzIGFuZCB0byBnZXQgdGhlIGxhdGVuY3kKCSAgb2YgdGhlIHJlc2FtcGxlci4gVGhlc2Ugd2lsbCBnZXQgYWRkZWQgdG8gU3BlZXggU1ZOIGluIHRoaXMgb3IgYQoJICBzbGlnaHRseSBjaGFuZ2VkIGZvcm0gYXQgc29tZSBwb2ludCB0b28gYW5kIHNob3VsZCBnZXQgbWVyZ2VkIHRoZW4KCSAgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeV90eXBlKToKCSAgRHJvcCB0aGUgcHJlcGVuZGluZyB6ZXJvZXMgYW5kIG91dHB1dCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgb24gRU9TLgoJICBBbHNvIHByb3Blcmx5IGltcGxlbWVudCB0aGUgbGF0ZW5jeSBxdWVyeSBmb3IgdGhpcy4gc3BlZXhyZXNhbXBsZQoJICBzaG91bGQgYmUgY29tcGxldGVseSByZWFkeSBmb3IgcHJvZHVjdGlvbiB1c2Ugbm93LgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0yMSAxMDoxODo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOiBBZGQgUkVBRE1FIGV4cGxhaW5pbmcgd2hlcmUgdGhlIHJlc2FtcGxpbmcgY29kZSB3YXMgdGFrZW4gZnJvbSBhbmQgd2hpY2ggY2hhbmdlcyB3ZXJlIGRvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20KCSAgYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpOgoJICBVc2UgZ19tYWxsb2MoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1hbGxvYygpIHRvIGFjaGlldmUgaGlnaGVyCgkgIHBvcnRhYmlsaXR5IGFuZCBkZWZpbmUgdGhlIGZ1bmN0aW9ucyBpbmxpbmUuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIEFkZCBiYWNrIHNvbWUgdXNlbGVzcyBwcmVwcm9jZXNzb3Igc3R1ZmYgdG8ga2VlcCB0aGUgZGlmZiBiZXR3ZWVuCgkgIG91ciB2ZXJzaW9uIGFuZCB0aGUgb25lIGZyb20gdGhlIFNwZWV4IFNWTiByZXBvc2l0b3J5IGxvd2VyLgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwOTo0NTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gZmx1c2ggdGhlIGRlY29kZXIgb24gRU9TIHdoZW4gaXQgd2FzIG5vdCBpbml0aWFsaXplZC4KCSAgRml4ZXMgIzQ5ODY2NwoKMjAwNy0xMS0yMSAwOTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiBGaXggYnVpbGQgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIxICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua193cml0ZSk6IEZpeCBidWlsZAoJICBvbiBNYWMgT1MgWC4gKG1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcikKCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDIwOjIzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwIGFuZCBhZGRpdGlvbiBvZiBhIFRPRE8gaXRlbS4KCjIwMDctMTEtMjAgMTI6NTY6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDctMTEtMjAgMDc6NTI6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgbWlzc2luZyBpbnNwZWN0aW9uIGZpbGVzIHRvIENWUy4KCjIwMDctMTEtMjAgMDc6NDc6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgoyMDA3LTExLTIwIDA3OjMwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgSWYgdGhlIHJlc2FtcGxlciBnaXZlcyBsZXNzIG91dHB1dCBzYW1wbGVzIHRoYW4gZXhwZWN0ZWQKCSAgYWRqdXN0IHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBwcmludCBhIHdhcm5pbmcuCgoyMDA3LTExLTIwIDA3OjAyOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpLCAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksIChjdWJpY19jb2VmKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0KSwgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2Rlc3Ryb3kpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlKSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcmF0ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGlvKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcXVhbGl0eSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3F1YWxpdHkpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9vdXRwdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfb3V0cHV0X3N0cmlkZSksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKSwgKHNwZWV4X3Jlc2FtcGxlcl9zdHJlcnJvcik6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCByZXNhbXBsZSBlbGVtZW50IGJhc2VkIG9uIHRoZSBTcGVleCByZXNhbXBsaW5nIGFsZ29yaXRobS4KCjIwMDctMTEtMTkgMjI6MDk6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBidWZmZXIgc3RyaXAgKHNhZmVyIHdpbCBwdWxsIGFuZCBhZnRlciBzZWVrKS4KCjIwMDctMTEtMTkgMjA6MzA6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoKMjAwNy0xMS0xOSAxMzowNToyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBpbiBwdWxsIG1vZGUgYWxzby4gU2VlayBhbmQgUXVlcnkgZnVuY3Rpb25zIGFkZGVkLgoKMjAwNy0xMS0xOCAyMTowNjo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldHlwZXMuaDoKCSAgU3RyaXAgb3V0IG1ldGFkYXRhIGNodW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgoyMDA3LTExLTE2IDExOjExOjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzIHVzZSBBR19HU1RfUExVR0lOX0RPQ1MgKHNlZSAjMzQ0MDM5KS4KCjIwMDctMTEtMTUgMTk6MDM6MzMgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzIHF1ZXJpZWQgYmVmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogKGZvcmVhY2hfc3RyZWFtX2NsZWFyKSwKCSAgKHJlbW92ZV9hbGwpLCAobXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIpOgoJICBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzCgkgIHF1ZXJpZWQgYmVmb3JlIGEgUEFUIGlzIGF2YWlsYWJsZS4gSXQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIFBBVCBpbmZvIGlzCgkgIGNsZWFyZWQgd2hlbiB0aGUgY2hhbmdpbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZLgoJICBGaXhlcyAjNDg3ODkyLgoKMjAwNy0xMS0xNSAxODo1Mzo1NiArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiA8d291dGVyIGF0IGJsdWUtZ2F0ZSBkb3QgYmU+CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEhhbmRsZSBzZWVraW5nIGNvcnJlY3RseS4gRml4ZXMgIzQ2MTA2OC4KCjIwMDctMTEtMTUgMTg6NDE6MzEgKzAwMDAgIE1pY2hhZWwgS8O2dHRlciA8bS5rb2V0dGVyQG9yYWlzZS5kZT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhZWwgS8O2dHRlciA8bSBkb3Qga29ldHRlciBhdCBvcmFpc2UgZG90IGRlPgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX3NldF9wYXJhbXMpLCAoYWxzYXNwZGlmc2lua19kZWxheSksIChwbHVnaW5faW5pdCk6CgkgIEZpeCBzYW1wbGUgcmF0ZSBhbmQgY2xvY2tpbmcuCgkgIFJlbW92ZSBidWZmZXJfdGltZSBhbmQgcGVyaW9kX3RpbWUgYXMgdGhpcyBzZWVtcyB0byBicmVhayBvbiBzb21lCgkgIGhhcmR3YXJlLiBGaXhlcyAjNDg1NDYyLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE1OjMyOjQ3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcHJlY2FsY3VsYXRlIHNvbWUgbWFueSB1c2VkIHZhbHVlcwoKMjAwNy0xMS0xNSAwODoyODoyOSArMDAwMCAgQXJtYW5kbyBUYWZmYXJlbCBOZXRvIDx0YWZmYXJlbEBzb2xpcy5jb29wLmJyPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXJzCgoyMDA3LTExLTE0IDE3OjAzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UKCSAgYWN0dWFsbHkgaGF2ZSBkYXRhIHRvIHJlYWQgYXQgdGhlIGVuZCBvZiB0aGUgdGFnLiBUaGlzIGF2b2lkcyB0cnlpbmcKCSAgdG8gYWxsb2NhdGUgbmVnYXRpdmUgYnVmZmVycy4KCjIwMDctMTEtMTIgMTc6Mjc6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA5IDE1OjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRXh0cmFjdGluZyBtb3JlIGRldGFpbGVkIGluZm8gZnJvbSBYTVAuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDcgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgR0lPID49IDAuMS4yIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IGZvciBhbiBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMTEtMDcgMTU6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmg6IEFkZCBtYWNybyB0byBjaGVjayBpZiBhIHN0cmVhbSBzdXBwb3J0cyBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGdzdF9naW9fYmFzZV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fYmFzZV9zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fYmFzZV9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NyZWF0ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICBSZWZhY3RvciBjb21tb24gR0lPIGZ1bmN0aW9ucyB0byBHc3RHaW9CYXNlU2luayBhbmQgR3N0R2lvQmFzZVNyYwoJICBiYXNlIGNsYXNzZXMgdGhhdCBvbmx5IHJlcXVpcmUgYSBHSW5wdXRTdHJlYW0gb3IgR091dHB1dFN0cmVhbSB0bwoJICB3b3JrLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgVXNlIHRoZSBuZXdseSBjcmVhdGVkIGJhc2UgY2xhc3NlcyBoZXJlLgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3N0cmVhbV9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgIEltcGxlbWVudCBHc3RHaW9TdHJlYW1TaW5rIGFuZCBHc3RHaW9TdHJlYW1TcmMgdGhhdCBoYXZlIGEgcHJvcGVydHkKCSAgdG8gc2V0IHRoZSBHSW5wdXRTdHJlYW0vR091dHB1dFN0cmVhbSB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKG1lc3NhZ2VfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChnaW9fdGVzdHN1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBnaW9zdHJlYW1zcmMgYW5kIGdpb3N0cmVhbXNpbmsuCgoyMDA3LTExLTA3IDExOjQ4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBSZW1vdmUgbm93YWRheXMgdW5uZWNlc3Nhcnkgd29ya2Fyb3VuZCBmb3IgYSBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwgKGdzdF9naW9fc2lua19zdG9wKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fc3JjX3N0b3ApLCAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1ha2UgdGhlIGZpbmFsaXplIGZ1bmN0aW9uIHNhZmVyLCBjbGVhbiB1cCBldmVyeXRoaW5nIHRoYXQgY291bGQgc3RheQoJICBhcm91bmQuCgkgIFJlc2V0IHRoZSBjYW5jZWxsYWJsZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZSBhZnRlciBjYW5jZWxsaW5nCgkgIHNvbWUgb3BlcmF0aW9uLgoJICBEb24ndCBzdG9yZSB0aGUgR0ZpbGUgaW4gdGhlIGVsZW1lbnQsIGl0J3Mgb25seSBuZWNlc3NhcnkgZm9yIGNyZWF0aW5nCgkgIHRoZSBzdHJlYW1zLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDQgMTE6MDQ6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay4qOiBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvciBub3QgbmVjZXNzYXJpbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgIChDRHNob3dGYWtlU2luay5DRHNob3dGYWtlU2luayk6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDogKENEc2hvd0Zha2VTaW5rLm1faHJlcyk6CgkgIEZpeCBjcmFzaGVyIGluIGNvbnN0cnVjdG9yIGR1ZSB0byB0aGUgYmFzZSBjbGFzcydzIGNvbnN0cnVjdG9yCgkgIG5vdCBuZWNlc3NhcmlseSBiZWluZyBOVUxMLXNhZmUgKGRlcGVuZHMgb24gdGhlIFNESyB2ZXJzaW9uIHVzZWQKCSAgYXBwYXJlbnRseTsgIzQ5MjQwNikuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6IChnc3RfZHNob3dhdWRpb3NyY19wcmVwYXJlKToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzogKGdzdF9kc2hvd3ZpZGVvc3JjX3NldF9jYXBzKToKCSAgRml4IGEgY291cGxlIG9mIE1TVkMgY29tcGlsZXIgd2FybmluZ3MgKCM0OTI0MDYpLgoKMjAwNy0xMS0wMyAxOTo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKHNldHVwX2ZpbHRlcik6CgkgIEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgQWxzbyBoYW5kbGUgYSBiYW5kd2lkdGggb2YgcmF0ZS8yIHByb3Blcmx5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCk6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gZ2VuZXJhdGUgYSBOLWJhbmQgZXF1YWxpemVyIHdpdGggMSBiYW5kcy4gVGhlCgkgIHByZXZpb3VzIGxpbWl0IG9mIDIgd2FzIGNhdXNlZCBieSBhIG5vd2FkYXlzIHJlcGxhY2VkIGNhbGN1bGF0aW9uCgkgIGRvaW5nIGEgZGl2aXNpb24gYnkgemVybyBpZiBudW1iZXIgb2YgYmFuZHMgd2FzIDEuCgoyMDA3LTExLTAyIDIxOjQ1OjM4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCjIwMDctMTEtMDIgMTY6NTA6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgUE5HL1hNUC4gSW5kZW50YXRpb24uIEFuZCBmaXhlZCBwdWxsIG1vZGUgdG8gcGFyc2UgdGhlIGZpbGUuCgoyMDA3LTExLTAyIDEyOjAzOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IG1ldGFkYXRhcGFyc2Ugd29ya3MgaW4gcHVzaCBvciBwdWxsIG1vZGUuCgoyMDA3LTExLTAxIDE2OjA0OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBYTVAgc3R1ZmYgYWRkZWQuCgoyMDA3LTEwLTMxIDE2OjIxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBOb3cgc2VuZGluZyBpcHRjIHRhZyBpbiB3aG9sZSBjaHVuay4gUmVhZHkgdG8gYWxzbyBzZW5kIGV4aWYgYW5kIHhtcCBpbiB0aGUgc2FtZSB3YXkgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMzEgMTQ6NDQ6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU29tZSByZWZhY3RvcmluZyBpbiBSQVcgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgoyMDA3LTEwLTMxIDE0OjA5OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgQWRkZWQgY29weXJlY3QgZW5jb2RpbmcKCjIwMDctMTAtMzEgMTM6MzE6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6IFdhcm4gb24gZmFpbGVkIHdyaXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIFdhcm4gb24gZmFpbGVkIHdyaXRlLgoKMjAwNy0xMC0zMCAyMTozNzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucyB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChvbl9jb25maWd1cmVfZXZlbnQpLAoJICAob25fZ2Fpbl9jaGFuZ2VkKSwgKG9uX2JhbmR3aWR0aF9jaGFuZ2VkKSwgKG9uX2ZyZXFfY2hhbmdlZCksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zCgkgIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHVzaGVzIGl0IHRocm91Z2ggYW4gZXF1YWxpemVyIGFuZAoJICBwYWludHMgdGhlIHNwZWN0cnVtLiBGb3IgZXZlcnkgZXF1YWxpemVyIGJhbmQgaXQncyBwb3NzaWJsZSB0byBzZXQKCSAgZ2FpbiwgYmFuZHdpZHRoIGFuZCBmcmVxdWVuY3kuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHNldHVwX2ZpbHRlcik6CgkgIEFkZCBzb21lIGd1YXJkaW5nIGFnYWluc3QgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmcmVxdWVuY2llcyBhbmQKCSAgYmFuZHdpZHRocy4gQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMTAtMzAgMjE6MTg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkgZmluZCBkb2N1bWVudGF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgIFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkKCSAgZmluZCBkb2N1bWVudGF0aW9uLCB3aGljaCBkb24ndCBjaGFuZ2UgYW55dGhpbmcgb24gemVybyBnYWluLCBldGMuCgkgIE1ha2UgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBvZiB0aGUgYmFuZHMgd3JpdGFibGUsIHJlbmFtZSB0aGUKCSAgYmFuZC13aWR0aCBwcm9wZXJ0eSB0byBiYW5kd2lkdGggYW5kIGNoYW5nZSB0aGUJbWVhbmluZyB0byB0aGUKCSAgZnJlcXVlbmN5IGRpZmZlcmVuY2UgYmV0d2VlbiBiYW5kZWRnZXMsIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUKCSAgZ2FpbiBwcm9wZXJ0eSB0byBkQiBpbnN0ZWFkIG9mIGEgd2VpcmQgc2NhbGUgYmV0d2VlbiAtMQlhbmQgMSB0aGF0CgkgIGhhcyBubyByZWFsIG1lYW5pbmcuCgoyMDA3LTEwLTMwIDIwOjU1OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTEwLTMwIDE4OjIxOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQga2NsYXNzIHRvICJQYXJzZXIvRXh0cmFjdGVyL01ldGFkYXRhIiwgY2hhbmdlZCBjYXBzIHRvICJpbWFnZS9qcGVnLCB0YWdzLWV4dHJhY3Q9dHJ1ZS9mYWxzZSIgYW5kIGNoYW5nZWQgcHJpb3JpdHkgdG8gR1NUX1JBTktfUFJJTUFSWSsxLiBBbHNvLCBzcmNwYWQgY2FuIG9ubHkgd29yayBpbiBwdXNoIG1vZGUgdW50aWwgZml4ZWQgdG8gYWxzbyB3b3JrIGluIHB1bGwgbW9kZS4KCjIwMDctMTAtMzAgMTI6NDk6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMjkgMTU6NTQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVbmNvbW1lbnQgdGhlIGxpbmUgdGhhdCBzZXRzIHRoZSBwaWQgZmlsdGVyLiBXcm9uZyB3YXkgdG8KCSAgd29yay1hcm91bmQgZHJpdmVyIGlzc3Vlcy4KCjIwMDctMTAtMjggMTU6MjI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBiaXRyYXRlIHJhbmdlcyBhbmQgY2hhbmdlIGVudW0gbmljayBmb3IgbG93IGNvbXBsZXhpdHkgcHJvZmlsZSBmcm9tIExPVyB0byBMQyBmb3IgY29uc2lzdGVuY3kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfcHJvZmlsZV9nZXRfdHlwZSksCgkgIChnc3RfZmFhY19jbGFzc19pbml0KSwgKGdzdF9mYWFjX2luaXQpOgoJICBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5CgkgIHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5ICgjNDkwMDYwKS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI3IDA4OjIwOjU5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IEltcHJvdmVkIHZlcnNpb24gbm90IGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEltcHJvdmVkIHZlcnNpb24gbm90CgkgIGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCjIwMDctMTAtMjYgMTc6MTg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGJ1aWxkIGFnYWluc3QgdGhlIGxpYngyNjQgdmVyc2lvbiB0aGF0IHNoaXBzIHdpdGggZGViaWFuIHN0YWJsZS4KCjIwMDctMTAtMjYgMTY6MDg6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkIGEgc2ltcGxlIE1QRUc0IEVTIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9jbGVhbnVwKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X21wZWc0dnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbXBlZzR2cGFyc2VfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDogQWRkIGEgc2ltcGxlIE1QRUc0IEVTCgkgIHBhcnNlci4KCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yMyAxMzowODoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIEl0IHR1cm5zIG91dCBzZXR0aW5nIHRvIEFVVE8gZG9lcyBub3QgYWx3YXlzIHdvcmsgKAoJICBlc3BlY2lhbGx5IGluIGRpc2VxIHNpdHVhdGlvbnMpLiBTZXQgYnkgZGVmYXVsdCB0bwoJICBGRUNfQVVUTy4KCjIwMDctMTAtMjIgMTU6NDU6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMTAtMTkgMTY6MjA6NTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoKMjAwNy0xMC0xOCAwNjoyMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogQWRkIGEgbWlzc2luZyBicmVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgbWlzc2luZyBicmVhay4KCjIwMDctMTAtMTggMDY6MTQ6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoKMjAwNy0xMC0xNyAxNDo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOiBBZGQgYW5vdGhlciBtaXNzaW5nIEdTVF9MSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCjIwMDctMTAtMTcgMTQ6MzM6MDMgKzAwMDAgIFJpY2hhcmQgSHVsdCA8cmljaGFyZEBpbWVuZGlvLmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IEZpeCBMSUJTIC0gd2UgbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZ3N0cmVhbWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJpY2hhcmQgSHVsdCA8cmljaGFyZCBpbWVuZGlvIGNvbT4KCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCjIwMDctMTAtMTcgMTA6MzM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZHZiLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDctMTAtMTYgMTk6MjQ6MzEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgdGhlIHNldCBlbmNvZGluZ3MgY2xpZW50IG1lc3NhZ2UKCjIwMDctMTAtMTYgMTg6MzM6NDQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogcmVtb3ZlIHRoZSByZmJieXRlc3RyZWFtIGRlYWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCjIwMDctMTAtMTYgMTc6Mzg6MDUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2R2Yi86IEludGVncmF0ZSBTb0Mgd29yayBkb25lIGJ5IEFsZXNzYW5kcm8gZm9yIHRoZSBGcmVldm8gcHJvamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9jYW0uYzoKCSAgKiBzeXMvZHZiL2NhbS5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgICogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIEFkZHMgY2FtIHN1cHBvcnQgdG8gdGhlIGR2YiBzdGFjayBpbiBHU3RyZWFtZXIgYW5kIGEgbmV3CgkgIGVsZW1lbnQgKGFjdHVhbGx5IGEgYmluKSBjYWxsZWQgZHZiYmFzZWJpbiB0aGF0IGludGVncmF0ZXMKCSAgZHZic3JjIGFuZCBtcGVndHNwYXJzZSB0byBhKSBoYW5kbGUgZGVjcnlwdGlvbiBhbmQgYikgYWxsb3cKCSAgYWNxdWlyaW5nIG11bHRpcGxlIGNoYW5uZWxzIG9uIHNhbWUgdHJhbnNwb25kZXIgd2l0aG91dAoJICBrbm93aW5nIHBpZCBudW1iZXJzLgoKMjAwNy0xMC0xNiAxNjo1MToyMyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgoyMDA3LTEwLTE0IDE3OjIyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgaGlnaGVzdCBhbGxvd2VkIG5lb24gdmVyc2lvbiBmcm9tIDAuMjYuOTkgdG8gMC4yNy45OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE5vIGNvZGUgY2hhbmdlcyBhcmUgcmVxdWlyZWQgdG8gd29yayB3aXRoIHRoZSBuZXdlc3QgbmVvbiB2ZXJzaW9uLgoKMjAwNy0xMC0xMCAxMTo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlIENWUy4gIFRoaXMgaXMgaW1wbGljaXQgaW4gdGhlIC1iYXNlIENWUyByZXF1aXJlbWVudCBhbHJlYWR5LCBzbyB3ZSBtaWdodCBqdXN0IHdlbGwgc3BlbGwgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMKCSAgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGl0CgkgIG91dC4gIEFsc28sIHdlIGRvIG5lZWQgYXQgbGVhc3QgMC4xMC4xNCBmb3IKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuICBNYWtlIGNoZWNrCgkgIGZvciBnbXl0aCBhIGJpdCBtb3JlIHJlc3RyaWN0aXZlIHNvIHRoaW5ncyBkb24ndCBicmVhawoJICBpZiB0aGUgbmV4dCB2ZXJzaW9uIGNoYW5nZXMgQVBJLgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBXb3JrIGFyb3VuZCBhbHNhIGFsbG9jYSBtYWNyb3MgdHJpZ2dlcmluZyAnYWx3YXlzIGV2YWx1YXRlcyB0bwoJICB0cnVlJyB3YXJuaW5ncyB3aXRoIGdjYy00LjIgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjIuCgkgIEFsc28gZG9uJ3QgbGVhayB0aGUgZGV2aWNlIHN0cmluZy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZysrNC4yIGFuZCAtV2FsbCAtV2Vycm9yIChhbHNvIG5lZWRzIHBsdWdpbgoJICBkZWZpbmUgZml4IGZyb20gY29yZSBDVlMpLiBGaXhlcyAjNDYyNzM3LgoKMjAwNy0xMC0wOSAxMDowMTozOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCjIwMDctMTAtMDggMTc6NDY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOiAocmZiX2J1ZmZlcl9uZXdfYW5kX2FsbG9jKToKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX3NvY2tldF9nZXRfYnVmZmVyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbik6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6IChuZXM2NTAyX2V4ZWN1dGUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgoyMDA3LTEwLTA4IDEwOjM5OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIFdoZW4gY2xlYXJpbmcgcGF5bG9hZCBtYXBzLCBhbHNvIGNsZWFyIHNlc3Npb25zIGFuZCBzdHJlYW1zIHBheWxvYWQKCSAgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZmluZF9wYWRfZm9yX3B0KToKCSAgSW1wbGVtZW50IGNsZWFyaW5nIHRoZSBwYXlsb2FkIG1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIEZvcndhcmQgZmx1c2ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSByZWZjb3VudCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlbS4KCjIwMDctMTAtMDggMDY6MDc6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmM6IFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZiBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKToKCSAgVXNlIEdJTyBmdW5jdGlvbiB0byBnZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBVUkkgc2NoZW1lcyBpbnN0ZWFkIG9mCgkgIGhhcmQgY29kaW5nIHNvbWV0aGluZy4KCjIwMDctMTAtMDUgMTc6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0IHJlcG9ydCB0aW1lIGluc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwKCSAgV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QKCSAgcmVwb3J0IHRpbWUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjbG9jayB0aW1lIHNvIHRoYXQgd2UgZG9uJ3QgZW5kIHVwCgkgIHJlY29uc2lkZXJpbmcgZm9yZXZlci4KCjIwMDctMTAtMDUgMTI6MDc6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzIHVzIHRvIGdyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MKCSAgdXMgdG8gZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3Mgd2hlbiB0aGUgdGFpbCBlbGVtZW50IGNoYW5nZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpOgoJICBGb3J3YXJkIEZMVVNIIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSB0YWlsLWNoYW5nZWQgY2FsbGJhY2sgaW4gZmF2b3VyIG9mIGEgc2ltcGxlIGJvb2xlYW4gd2hlbiB3ZQoJICBpbnNlcnQgYSBidWZmZXIgaW4gdGhlIHF1ZXVlLgoJICBBZGQgbWV0aG9kIHRvIHBlZWsgdGhlIHRhaWwgb2YgdGhlIGJ1ZmZlci4KCjIwMDctMTAtMDUgMDg6NTE6NDQgKzAwMDAgIEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXRAZ21haWwuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBUaGUgc2l6ZSBvZiB0aGUgWGluZyBoZWFkZXIgaXMgYWN0dWFsbHkgNDE3IGFzIGl0J3Mgcm91bmRlZCB0byB0aGUgbmV4dCBzbWFsbGVyIGludGVnZXIuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR2F1dGllciBQb3J0ZXQgPGthc3NvdWxldCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlCgkgIG5leHQgc21hbGxlciBpbnRlZ2VyLiBGaXhlcyAjMzk3NzU5LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHhpbmdfZ2VuZXJhdGVfaGVhZGVyKSwKCSAgKHhpbmdfcHVzaF9oZWFkZXIpOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgRklYTUVzIGFuZCBUT0RPcyBhbmQgY2hlY2sgaWYgdGhlIG5ld3NlZ21lbnQKCSAgZXZlbnQgdG8gdGhlIGJlZ2lubmluZyB3YXMgc3VjY2Vzc2Z1bCBiZWZvcmUgcHVzaGluZyB0aGUgaGVhZGVyIGFnYWluLgoKMjAwNy0xMC0wNSAwODowNToxNCArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IERvbid0IHNraXAgUEFUIHdpdGggdmVyc2lvbiBudW1iZXIgMC4gRml4ZXMgIzQ4MzQwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3N0cmVhbV9uZXcpOgoJICBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYXBwbHlfcGF0KToKCSAgTWFrZSBhbGwgdmFsdWVzIGFib3ZlIDAgbWFyayBhIHJlZmVyZW5jZWQgcHJvZ3JhbSBhcyB0aGV5IGNhbiBiZQoJICBpbmNyZW1lbnRlZCBhbmQgb25seSAxIGhhZCBtYXJrZWQgYSByZWZlcmVuY2VkIHByb2dyYW0gYmVmb3JlLCBjYXVzaW5nCgkgIGFjdHVhbGx5IHJlZmVyZW5jZWQgcHJvZ3JhbXMgdG8gYmUgdW5yZWZlcmVuY2VkLgoKMjAwNy0xMC0wMiAxMDoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDogQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA3LTEwLTAyIDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGFwcGx5X29mZnNldCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBEb24ndCBhZGQgdGhlIGxhdGVuY3kgdG8gdGhlIHNrZXcgY29ycmVjdGVkIHRpbWVzdGFtcCwgbGF0ZW5jeSBpcyBvbmx5CgkgIHVzZWQgdG8gc3luYyBhZ2FpbnN0IHRoZSBjbG9jay4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLCAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSBzZXJ2ZXIgdGltZXN0YW1wIGdvZXMgYmFja3dhcmRzIG9yIHdpbGRseSBqdW1wcyBieQoJICB0ZW1wb3JhcmlseSBwYXVzaW5nIHRoZSBza2V3IGNvcnJlY3Rpb24uCgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMC0wMiAxMDoxMjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgoyMDA3LTEwLTAyIDA3OjQzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpb3NpbmsuYzogVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICBVcGRhdGUgdG8gQVBJIGNoYW5nZXMgaW4gR0lPLgoKMjAwNy0xMC0wMSAxNDowMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKToKCSAgVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCjIwMDctMTAtMDEgMTE6NDM6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoX2RvX2luaXQpLCAoZ3N0X3NkcF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9zZHBfZGVtdXhfaW5pdCksCgkgIChnc3Rfc2RwX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9zZHBfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZHBfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3B0KSwgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChmaW5kX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9mcmVlKSwgKGdzdF9zZHBfZGVtdXhfY3JlYXRlX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X2NsZWFudXApLCAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3NkcF9kZW11eF9wYXJzZV9ydHBtYXApLCAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3Rfc2RwX2RlbXV4X2RvX3N0cmVhbV9lb3MpLAoJICAob25fYnllX3NzcmMpLCAob25fdGltZW91dCksIChnc3Rfc2RwX2RlbXV4X2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9zZHBfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9wdXNoX2V2ZW50KSwKCSAgKGdzdF9zZHBfZGVtdXhfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3NkcF9kZW11eF9zdGFydCksCgkgIChnc3Rfc2RwX2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X3NkcF9kZW11eF9zaW5rX2NoYWluKSwKCSAgKGdzdF9zZHBfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgICogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIFNEUCBkZW11eGVyIGVsZW1lbnQuIEZpeGVzICM0MjY2NTcuCgoyMDA3LTEwLTAxIDA5OjIxOjE5ICswMDAwICBtdXRleCBhdCBydW5ib3ggZG90IGNvbSA8bXV0ZXhAcnVuYm94LmNvbT4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG11dGV4IGF0IHJ1bmJveCBkb3QgY29tCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2FkYXB0YXRpb25fZmllbGRfY29udHJvbCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYmFzZV9pbml0KSwKCSAgKG1wZWd0c19wYXJzZV9pbml0KSwgKG1wZWd0c19wYXJzZV9wdXNoKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgUmVtb3ZlIHVzZWxlc3Mgc3JjIHBhZCB0aGF0IG9ubHkgcmVzdWx0cyBpbiBub3QgbGlua2VkIGVycm9ycywKCSAgZml4IGEgYnJva2VuIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIG1ha2UgTUFYX0NPTlRJTlVJVFkgY29uc3RhbnQKCSAgY29uZm9ybSB0byB0aGUgc3RhbmRhcmQgdG8gc3RvcCBvdXRwdXR0aW5nIGNvcnJ1cHRlZCBkYXRhLgoJICBGaXhlcyAjNDgxMjc2LCAjNDgxMjc5LgoKMjAwNy0wOS0yOSAxOTozNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlLWFwcGx5IGRvY3MgcGF0Y2ggZnJvbSAjNDY4MDM5OyBmaXggdGFiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1hcnNoYWxsZXIgZmlsZXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDA3LTA5LTI5IDA3OjAxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvLzogU29tZSBtaW5vciBjbGVhbnVwIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvbmx5IHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IHBsYXlpbmcgb3IgcGF1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NpbmtfcmVuZGVyKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZQoJICBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCjIwMDctMDktMjkgMDU6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKToKCSAgUmVtb3ZlIHNwZWNpYWwgY2FzaW5nIGZvciBhIE5VTEwgcXVlcnkgc3RyaW5nLiBnX3N0cmpvaW4gd29uJ3QgYWRkCgkgIHRoZSBzZXBhcmF0b3IgaWYgdGhlcmUncyBvbmx5IG9uZSBzdHJpbmcuCgoyMDA3LTA5LTI4IDE0OjUxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9jbGllbnQpOgoJICBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBIYW5kbGUgY2FzZXMgd2hlcmUgaW5wdXQgYnVmZmVycyBoYXZlIG5vIHRpbWVzdGFtcHMgc28gdGhhdCBubyBjbG9jawoJICBza2V3IGNhbiBiZSBjYWxjdWxhdGVkLCBpbiB0aGlzIGNhc2UgaW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMgYmFzZWQgb24KCSAgcnRwIHRpbWVzdGFtcCBhbmQgYXNzdW1lIGEgMCBjbG9jayBza2V3LgoKMjAwNy0wOS0yOCAxMToxNzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChhcHBseV9sYXRlbmN5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBVc2UgbmV3IC1jb3JlIG1ldGhvZCBmb3IgZG9pbmcgYSBwZWVyIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNb3ZlIGppdHRlciBjb3JyZWN0aW9uIHRvIHRoZSBsb3dsZXZlbCBqaXR0ZXJidWZmZXIuCgkgIEluY3JlYXNlIHRoZSBtYXggd2luZG93IHNpemUuCgkgIFdoZW4gZmlsbGluZyB0aGUgd2luZG93LCBhbHJlYWR5IHN0YXJ0IGVzdGltYXRpbmcgdGhlIHNrZXcgdXNpbmcgYQoJICBwYXJhYm9saWMgd2VpZ2h0aW5nIGZhY3RvciBzbyB0aGF0IHdlIGhhdmUgYSBtdWNoIGJldHRlciBzdGFydHVwCgkgIGJlaGF2aW91ciB0aGF0IGdldHMgbW9yZSBhY2N1cmF0ZSB3aXRoIHRoZSBtb3JlIHNhbXBsZXMgd2UgaGF2ZS4KCSAgSW5jcmVhc2UgdGhlIGRlZmF1bHQgd2VpZ2h0aW5nIGZhY3RvciBmb3IgdGhlIHN0ZWFkeSBzdGF0ZSB0byBnZXQKCSAgc21vb3RoZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMjggMTE6MDc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFscy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgTm93IHRoYXQgd2UgcmVxdWlyZSBsaWJuZW9uID49IDAuMjYgcmVtb3ZlIHRoZSBuZW9uIDAuMjUgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eSBzdHVmZi4gQWxzbyBmaXggdGhlIGRlZmF1bHQgbG9jYXRpb24uCgoyMDA3LTA5LTI4IDEwOjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgbGlibmVvbiA+PSAyNiBub3cgZm9yIHRoZSBxdWVyeSBmaWVsZCBpbiBuZV91cmkuCgoyMDA3LTA5LTI4IDA5OjI5OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEb24ndCBkaXNjYXJkIEdFVCBwYXJhbWV0ZXJzIGZyb20gVVJMIGlmIGV4aXN0aW5nLgoJICBGaXhlcyAjNDgxMjAwLgoKMjAwNy0wOS0yNyAxNDo1Mjo1OCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLio6IEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkZWQgYSBwcm9wZXJ0eSBmb3IgaW5jcmVtZW50YWwgc2NyZWVuIHVwZGF0ZXMKCjIwMDctMDktMjcgMTM6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLio6IFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzICdmcmFtZS1lbmNvZGVkJyBzaWduYWwgKHBlb3BsZSBjYW4KCSAgdXNlIGFuIHVwc3RyZWFtIGlkZW50aXR5J3MgJ2hhbmRvZmYnIHNpZ25hbCBvciBhIHBhZAoJICBwcm9iZSBmb3IgdGhpcyBpZiB0aGV5IG11c3Qga25vdykuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUKCSAgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yNiAxNjo0NDo0MiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZml4IGJ1ZyBmcm9tIGdlbmVyaWMvc3RhdGVzLmdkYgoKMjAwNy0wOS0yNiAxNjozMDo1MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0yNCAxMDo1MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTIyIDE4OjMxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL0xJTkdVQVM6IEFkZGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgQWRkZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOS0yMiAxODoyOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyOToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyODozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjEgMTg6MDA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6IFVwZGF0ZSBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFVwZGF0ZSBoaWVyYXJjaHkuCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgTWFyayBwcml2YXRlIGZpZWxkcyBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0cyBwcml2YXRlLgoKMjAwNy0wOS0yMSAxNzozMTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlIHdoaWxlIGRvaW5nIHRoYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlCgkgIHdoaWxlIGRvaW5nIHRoYXQuCgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX3N0YXJ0KToKCSAgRml4IGEgc21hbGwgbWVtbGVhay4KCjIwMDctMDktMjEgMTc6MDc6NTYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbCBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fZXJyb3IpLCAoZ3N0X2dpb19zZWVrKSwKCSAgKGdzdF9naW9fZ2V0X3N1cHBvcnRlZF9wcm90b2NvbHMpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdHlwZV9zaW5rKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc3JjKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3Byb3RvY29scyksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9zZXRfdXJpKSwgKGdzdF9naW9fdXJpX2hhbmRsZXJfaW5pdCksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2RvX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fc2lua19zdG9wKSwgKGdzdF9naW9fc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fc2lua19ldmVudCksCgkgIChnc3RfZ2lvX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fc2lua19xdWVyeSk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fc3JjX3VubG9jayksCgkgIChnc3RfZ2lvX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19zcmNfY3JlYXRlKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbAoJICBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8gY29uZmlndXJlCgkgIGZvciBub3cgYXMgdGhlIEdJTyBBUEkgaXMgbm90IHN0YWJsZSB5ZXQuIEZpeGVzICM0NzY5MTYuCgoyMDA3LTA5LTIxIDE1OjQ5OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggdmFyaW91cyBuZXcgcGx1Zy1pbnMKCjIwMDctMDktMjEgMTQ6NTU6MTkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkZWQgb2Zmc2V0LXgsIG9mZnNldC15LCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSByZWdpb24gZnJvbSB0aGUgc2NyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eQoJICBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoKMjAwNy0wOS0yMSAxMDoyNzowMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIGZpeCBhZGRyZXNzIHdoaWxlIHJlYWRpbmcgZnJvbSBzdHJlYW0KCjIwMDctMDktMjAgMjA6NDA6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiByYXcgZW5jb2RpbmcgaXMgd29ya2luZywgYnV0IGl0IGxvb2tzIGxpa2UgdGhlIGZmbXBlZ2NvbG9yc3BhY2UgcGx1Z2luIGNhbid0IGhhbmRsZSBoaWdoIHJlc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZQoJICBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvbHV0aW9ucwoKMjAwNy0wOS0yMCAxODozMDozNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGJwcCwgZGVwdGggYW5kIGVuZGlhbm5lc3MgYXJlIG5vdyBzZXQgZnJvbSB0aGUgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlCgkgIHN0cmVhbS4KCjIwMDctMDktMjAgMTc6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiAobWFpbik6CgkgIEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCjIwMDctMDktMjAgMTU6MDY6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTIwIDEzOjU5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQgbGlua2luZyB0byB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9tYXJzaGFsX09CSkVDVF9fVk9JRCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksIChnc3RfYXBwX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZ2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX2lzX2VvcyksIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQKCSAgbGlua2luZyB0byB0aGUgbGlicmFyeS4KCSAgRml4IHNvbWUgbWV0aG9kIG5hbWVzIGFuZCBzaWduYXR1cmVzLgoKMjAwNy0wOS0xOSAyMToxODoyNyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgRml4ZXMgIzQ3NjM3MC4KCjIwMDctMDktMTkgMjA6NTU6NDMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZiB0aGUgc2NyZWVuLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuCgkgIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZgoJICB0aGUgc2NyZWVuLiBMb29rcyBsaWtlIHNvbWUgbGluZXMgYXJlIGNvbmZ1c2VkCgoyMDA3LTA5LTE5IDE4OjIyOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoKMjAwNy0wOS0xOSAxMzo1MDo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIEFkZCBtYXgtZXJyb3JzIHByb3BlcnR5LgoJICBFcnJvciBvdXQgd2hlbiB3ZSByZWNlaXZlIG1heC1lcnJvcnMgaW4gYSByb3cuIEZpeGVzICM0NzgxNTkuCgoyMDA3LTA5LTE5IDEzOjA2OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBBZGQgcGFzc3dvcmQgcHJvcGVydHkgKHdyaXRlIG9ubHkpCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFJlYWQgdGhlIHJlYXNvbiBvbiBmYWlsdXJlCgkgIFVzZSB0aGUgcGFzc3dvcmQgcHJvcGVydHkgZm9yIGF1dGhlbnRpY2F0aW9uCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBkZWZpbmVzIGZvciB2ZXJzaW9uIGNoZWNraW5nCgoyMDA3LTA5LTE5IDEyOjUwOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMTI6NTA6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkgY2hhaW4gdXAgdG8gdGhlIHBhcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KToKCSAgV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkKCSAgY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyB0byBmcmVlIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBjYXBzLgoKMjAwNy0wOS0xOSAwODozNToxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93IHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIFZOQyBBdXRoZW50aWNhdGlvbiBzaG91bGQgYmUgd29ya2luZyBub3cKCSAgdGVtcGVyYWx5IHdpdGggZmFrZSBwYXNzd29yZCAndGVzdHRlc3QnCgoyMDA3LTA5LTE4IDE2OjMyOjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IEFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCBzZWN1cml0eSBoYW5kbGluZyBzdGFydCBpbXBsZW1lbnRpbmcgc2VjdXJpdHkgaGFuZGxpbmcgZm9yIHJmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcKCSAgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZmIgMy4zCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAyMToxMjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoKMjAwNy0wOS0xNyAwMjowMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUKCSAgc3NyYyBkZW11eGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBGaXggcmFjZSBpbiBjcmVhdGluZyB0aGUgUlRQIGFuZCBSVENQIHBhZHMgd2hlbiBhIG5ldyBTU1JDIGlzIGRldGVjdGVkLgoKMjAwNy0wOS0xNiAxOTo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChjb252ZXJ0X3J0cHRpbWVfdG9fZ3N0dGltZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlY29uc3RydWN0IEdTVCB0aW1lc3RhbXAgZnJvbSBSVFAgdGltZXN0YW1wcyBiYXNlZCBvbiBtZWFzdXJlZCBjbG9jawoJICBza2V3IGFuZCBzeW5jIG9mZnNldC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X3RhaWxfY2hhbmdlZCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfY2xvY2tfcmF0ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcGVlayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1lYXN1cmUgY2xvY2sgc2tldy4KCSAgQWRkIGNhbGxiYWNrIHRvIGJlIG5vdGZpZWQgd2hlbiBhIG5ldyBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSB0YWlsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBjbG9jayBza2V3IGRldGVjdGlvbiwgaXQncyBtb3ZlIHRvIHRoZSBqaXR0ZXJidWZmZXIgbm93LgoKMjAwNy0wOS0xNiAwNzoyODoxOCArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBiYW5kbW9kZS4gRml4ZXMgIzQ3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXMgYXQgdGkgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYW5kbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYW1yd2JlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9hbXJ3YmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2NoYWluKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0wOSAxOTowNToxOSArMDAwMCAgVGhvbWFzIEdyZWVuIDx0b203ODk5OUBnbWFpbC5jb20+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBXaXRoIGxpYm5lb24gMi42LCB3ZSBuZWVkIHRvIHNldCB0aGUgTkVfU0VTU0ZMQUdfSUNZUFJPVE8gZmxhZyBpZiB3ZSB3YW50IElDWSBzdHJlYW1zIHRvIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaG9tYXMgR3JlZW4gIDx0b203ODk5OSBnbWFpbCBjb20+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPCgkgIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiZSBoYW5kbGVkIHRvbywgb3RoZXJ3aXNlCgkgIGxpYm5lb24gd2lsbCBlcnJvciBvdXQgd2l0aCBhICdjYW4ndCBwYXJzZSByZXBvbnNlJyBlcnJvci4KCSAgRml4ZXMgIzQ3NDY5Ni4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBVbml0IHRlc3QgZm9yIHRoZSBhYm92ZSBieSBZb3VycyBUcnVseS4KCjIwMDctMDktMDkgMTg6MjI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gZm9yIHRoZSBmYWFkIGFuZCB0aGUgeHZpZCBjb25maWd1cmUgY2hlY2tzLCBzbyB0aGV5IHN0aWxsIHdvcmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlCgkgIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgoJICBGaXhlcyAjNDUyMDA5LgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMjA6Mzc6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoKMjAwNy0wOS0wNiAwNzoyNjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogUmVtb3ZlIGZpeGVkIHBvaW50IEZGVCBhcyBpdCdzIG5vdCB1c2VkIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6CgkgIFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoKMjAwNy0wOS0wNiAwNzoyMToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydCBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc2V0dXApLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0CgkgIGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UgY29udGVudHMsCgkgIGF2ZXJhZ2UgYWxsIEZGVHMgZG9uZSBpbiBvbmUgaW50ZXJ2YWwgZm9yIGJldHRlciByZXN1bHRzLCB1c2UKCSAgYSBiZXR0ZXIgd2luZG93aW5nIGZ1bmN0aW9uLCBhbGxvdyBwb3N0aW5nIHRoZSBwaGFzZSBpbiB0aGUgbWVzc2FnZQoJICBhbmQgYWN0dWFsbHkgZG8gYW4gRkZUIHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYmFuZHMgaW5zdGVhZAoJICBvZiBpbnRlcnBvbGF0aW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVjdHJ1bV9zdWl0ZSk6CgkgIEltcHJvdmUgdGhlIHVuaXRzIHRlc3RzIGJ5IGNoZWNraW5nIGZvciBhIDExMDI1SHogc2luZSB3YXZlCgkgIGFuZCBhZGQgdW5pdCB0ZXN0cyBmb3IgYWxsIDQgc3VwcG9ydGVkIHNhbXBsZSB0eXBlcy4KCjIwMDctMDktMDUgMjE6MDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IHNldCBMT05HIGZvciB3aWR0aC9oZWlnaHQgaW4gY2Fwcy4KCSAgU2V0IGNvcnJlY3Qgb3V0cHV0IGJ1ZmZlciBzaXplIHdoZW4gY2FwcyBjaGFuZ2VkLgoJICBUaGUgY3VzdG9tIG1lc3NhZ2Ugc2VudCB0byB0aGUgZGVjb2RlciBzaG91bGQgbm90IGluY2x1ZGUgdGhlIGZvcm1hdCBhbmQKCSAgc3ViZm9ybWF0LiBGaXhlcyAjNDcxNTU0LgoKMjAwNy0wOS0wNCAxNToyMzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvciAoIzQ3MzU2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvcgoJICAoIzQ3MzU2MikuCgoyMDA3LTA5LTA0IDAyOjIyOjIwICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCjIwMDctMDktMDQgMDI6MTY6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgZ3N0L25zZi9nc3Ruc2YuKjogQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0wMyAgSm9oYW4gRGFobGluICA8am9oYW5AZ25vbWUub3JnPgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6IChnc3RfbnNmZGVjX2ZpbmFsaXplKSwgKHN0YXJ0X3BsYXlfdHVuZSk6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoKMjAwNy0wOS0wMyAyMToxOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoY2Fwc19jaGFuZ2VkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIEhhbmRsZSBzeW5jX3J0Y3AgYnVmZmVycyBmcm9tIHRoZSBTU1JDIGRlbXV4ZXIgdG8gcGVyZm9ybSBsaXAtc3luYy4KCSAgU2V0IHRoZSBkZWZhdWx0IGxhdGVuY3kgY29ycmVjdGx5LgoJICBBZGQgc29tZSBtb3JlIHBvaW50cyB3aGVyZSB3ZSBjYW4gZ2V0IGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gY29udHJvbCB0aW1lc3RhbXBpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZlZWQgcnRwc2Vzc2lvbiBtYW5hZ2VyIHdpdGggTlRQIHRpbWUgYmFzZWQgb24gcGlwZWxpbmUgY2xvY2sgd2hlbgoJICBoYW5kbGluZyBSVFAgcGFja2V0cyBhbmQgUlRDUCB0aW1lb3V0cy4KCSAgUGVyZm9ybSBhbGwgUlRDUCB3aXRoIHRoZSBzeXN0ZW0gY2xvY2suCgkgIFNldCBjYXBzIG9uIFJUQ1Agb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFsc28gZGVtdXggUlRDUCBtZXNzYWdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbW92ZSB0aGUgZ2V0X3RpbWUgY2FsbGJhY2ssIHRoZSBHU3RyZWFtZXIgcGFydCB3aWxsIGZlZWQgdXMgd2l0aAoJICBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLgoJICBTcGxpdCBzeW5jIHRpbWluZyBhbmQgUlRDUCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIEZhY3RvciBvdXQgY29tbW9uIFJCIGhhbmRsaW5nIGZvciBTUiBhbmQgUlIuCgkgIFNlbmQgb3V0IFNSIFJUQ1AgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgIE1vdmUgU1IgYW5kIFJSIHBhY2tldCBpbmZvIGdlbmVyYXRpb24gdG8gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgY2FwcyBvbiBpbmNvbW1pbmcgYnVmZmVycyB0byBnZXQgdGltaW5nIGluZm9ybWF0aW9uIHdoZW4gdGhleSBhcmUKCSAgdGhlcmUuCgkgIENhbGN1bGF0ZSBjbG9jayBzY2V3IG9mIHRoZSByZWNlaXZlciBjb21wYXJlZCB0byB0aGUgc2VuZGVyIGFuZCBhZGp1c3QKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzLgoJICBDYWxjdWxhdGUgdGhlIHJvdW5kIHRyaXAgaW4gc291cmNlcy4KCSAgRG8gU1IgYW5kIFJSIGNhbGN1bGF0aW9ucyBpbiB0aGUgc291cmNlLgoKMjAwNy0wOS0wMyAyMDowNzoxNyArMDAwMCAgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoKMjAwNy0wOC0zMSAxNToyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdCB3ZSBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdAoJICB3ZSBjYW4gaGFuZGxlIHRoZSBydHAgd3JhcGFyb3VuZCBjb3JyZWN0bHkuCgoyMDA3LTA4LTI5IDE2OjU2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEltcHJvdmUgQ29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbXByb3ZlIENvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3Nlc3Npb25fcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgQWxzbyBwYXJzZSB0aGUgc2luayBjYXBzIGZvciBjbG9jay1yYXRlIGluc3RlYWQgb2Ygb25seSByZWx5aW5nIG9uIHRoZQoJICByZXN1bHQgb2YgdGhlIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgZmV0Y2ggdGhlIGNsb2NrIHJhdGUgZm9yIHBheWxvYWRzIHdlIGFyZSBzZW5kaW5nIG91dCBzbwoJICB0aGF0IHdlIGNhbiB1c2UgaXQgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA4LTI5IDE2OjIwOjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBJZiBhbGwgaW5mb3JtYXRpb24gaXMga25vd24gYXQgdGltZSBvZiBzZXR0aW5nIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KToKCSAgSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdGFydC10aW1lCgkgIHByb3BlcnR5LCBzZW5kIG5ldyBzZWdtZW50cyB0aGVuLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjggMDg6MTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wOC0yNyAyMToxNzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBvdXIgbGF0ZW5jeSB0byBpbnZhbGlkIHBlZXIgbWF4IGxhdGVuY3kgdmFsdWVzLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgoyMDA3LTA4LTI3IDE0OjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IENvbW1pdCB0aGUgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCjIwMDctMDgtMjcgMTQ6MzM6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZHZkc3B1Ly5jdnNpZ25vcmU6CgkgICogZ3N0L2R2ZHNwdS9Ob3Rlcy50eHQ6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6IChkdmRzcHVfcmVjYWxjX3BhbGV0dGUpLAoJICAoZHZkc3B1X3VwZGF0ZV9wYWxldHRlcyksIChkdmRzcHVfY2xlYXJfY29tcF9idWZmZXJzKSwKCSAgKGR2ZHNwdV9nZXRfbmliYmxlKSwgKGR2ZHNwdV9nZXRfcmxlX2NvZGUpLCAoZHZkc3B1X2RyYXdfcmxlX3J1biksCgkgIChybGVfZW5kX3gpLCAoZHZkc3B1X3JlbmRlcl9saW5lKSwgKGR2ZHNwdV91cGRhdGVfY2hnY29sKSwKCSAgKGR2ZHNwdV9yZW5kZXJfbGluZV93aXRoX2NoZ2NvbCksIChkdmRzcHVfYmxlbmRfY29tcF9idWZmZXJzKSwKCSAgKGdzdGR2ZHNwdV9yZW5kZXJfc3B1KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZHZkc3B1X2Jhc2VfaW5pdCksIChkdmRzcHVfY2xhc3NfaW5pdCksCgkgIChkdmRzcHVfaW5pdCksIChkdmRzcHVfY2xlYXIpLCAoZHZkc3B1X2Rpc3Bvc2UpLCAoZHZkc3B1X2ZpbmFsaXplKSwKCSAgKGR2ZHNwdV9mbHVzaF9zcHVfaW5mbyksIChkdmRzcHVfYnVmZmVyX2FsbG9jKSwgKGR2ZHNwdV9zcmNfZXZlbnQpLAoJICAoZHZkc3B1X3ZpZGVvX3NldF9jYXBzKSwgKGR2ZHNwdV92aWRlb19wcm94eV9nZXRjYXBzKSwKCSAgKGR2ZHNwdV92aWRlb19ldmVudCksIChkdmRzcHVfdmlkZW9fY2hhaW4pLAoJICAoZHZzcHVfaGFuZGxlX3ZpZF9idWZmZXIpLCAoZHZkc3B1X3JlZHJhd19zdGlsbCksCgkgIChnc3RkdmRzcHVfcGFyc2VfY2hnX2NvbGNvbiksIChkdmRzcHVfZXhlY19jbWRfYmxrKSwKCSAgKGR2ZHNwdV9maW5pc2hfc3B1X2J1ZiksIChkdmRzcHVfc2V0dXBfY21kX2JsayksCgkgIChkdmRzcHVfaGFuZGxlX25ld19zcHVfYnVmKSwgKGR2ZHNwdV9oYW5kbGVfZHZkX2V2ZW50KSwKCSAgKGR2ZHNwdV9kdW1wX2Rjc3EpLCAoZHZkc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGR2ZHNwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGR2ZHNwdV9zdWJwaWNfY2hhaW4pLAoJICAoZHZkc3B1X3N1YnBpY19ldmVudCksIChkdmRzcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdGR2ZHNwdV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIFVuaXQsIGRlY29kaW5nIGFuZCBvdmVybGF5aW5nIERWRCBzdWJ0aXRsZXMgYW5kIG1lbnUgZ3JhcGhpY3MuCgkgICogZ3N0L21wZWcyc3ViLy5jdnNpZ25vcmU6CgkgICogZ3N0L21wZWcyc3ViL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMnN1Yi9Ob3Rlcy50eHQ6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZzJzdWIvbXBlZzJzdWJ0LnZjcHJvajoKCSAgRGVsZXRlIG9sZCBhbmQgYnJva2VuIG1wZWcyc3VidCBlbGVtZW50IHRoYXQgd2FzIG5ldmVyIHBvcnRlZCBmcm9tIDAuOAoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjU2OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTWFrZSBzd2l0Y2ggbW9yZSByZWxpYWJsZSBhbmQgYWxzbyBub3QgbG9jayB1cCB3aGVuIHNpbmsgcGFkIGNhcHMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbgoJICBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yNCAxMToyMzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgIFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoKMjAwNy0wOC0yMyAyMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURQoJICByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEZvbyB0eXBlcyB0aGF0CgkgIGZhcnNpZ2h0IHJlZ2lzdGVycyAobHVja2lseSBHVHlwZSBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUpLiBTaG91bGQKCSAgZmluYWxseSBmaXggIzQzMDY2NC4KCjIwMDctMDgtMjMgMTc6MjE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIHZpYSBjb25maWd1cmUgKHRoaXMKCSAgZW5zdXJlcyB0aGUgd2luMzIgdmVyc2lvbiBvZiBjb25maWcuaCBpcyB1cC10by1kYXRlIHdoZW4gYSByZWxlYXNlCgkgIGlzIG1hZGUsICM0MzMzNzMpLiBjb25maWcuaC5pbiBmaWxlIG1pZ2h0IG5lZWQgc29tZSBtb3JlIHdvcmsuCgoyMDA3LTA4LTIzIDEzOjI0OjMzICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgUG9ydCBmZXN0aXZhbCBwbHVnaW4gdG8gR1N0cmVhbWVyLTAuMTAgKCM0NjEzNzcpLgoKMjAwNy0wOC0yMiAxNTozMjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgdW5yZWYgdGhlIGJ1ZmZlciB3aGVuIGl0IHdhcyBjbGlwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCjIwMDctMDgtMjIgMTQ6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMjEgMTc6MTg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoIHRoZSBidWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgIFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaAoJICB0aGUgYnVmZmVyIGFzIGZhc3QgYXMgcG9zc2libGUuCgkgIEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA3LTA4LTIxIDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCjIwMDctMDgtMjEgMTU6NTk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA3LTA4LTIxIDEyOjU5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIERvbid0IHVzZSBOVUxMIGNhcHMgZm9yIHNyY3BhZCBpcyBub3QgeWV0IGNvbm5lY3RlZC4KCjIwMDctMDgtMjAgMTQ6MjM6NDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIEFkZCBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGFyc2VyIHdyaXR0ZW4gYnk6CgkgIEFsZXNzYW5kcm8gRGVjaW5hLiBJbmNsdWRlcyBhIGNvdXBsZSBvZiBmaWxlcyBmcm9tIHRoZQoJICBGbHVlbmRvIHRyYW5zcG9ydCBzdHJlYW0gZGVtdXhlciB0aGF0IEZsdWVuZG8gaGF2ZQoJICBraW5kbHkgYWxsb3dlZCB0byBiZSBsaWNlbmNlZCB1bmRlciBMR1BMIGFsc28uCgoyMDA3LTA4LTIwIDA5OjEzOjQ3ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgIDxoYWRlc3MgYXQgaGFkZXNzIG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIEFsc28gY29udmVydCBzb21lIHRhYnMgaW50byBzcGFjZXMuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAwNjo1NTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjExOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kIHR3aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgT3ZlcnJpZGUgdGhlIHByZXJvbGwgdm1ldGhvZCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHJlbmRlciBtZXRob2QKCSAgdHdpY2UuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xNiAxMTozNDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgoyMDA3LTA4LTE2IDA5OjQ4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGxwd3NpbmNfdHJhbnNmb3JtKSwgKGxwd3NpbmNfc3RhcnQpLCAobHB3c2luY19xdWVyeSksCgkgIChscHdzaW5jX3F1ZXJ5X3R5cGUpLCAobHB3c2luY19ldmVudCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoKMjAwNy0wOC0xNiAwNzowNzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogRG9uJ3QgbGVhayBsaWtlIGhlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIERvbid0IGxlYWsgbGlrZSBoZWxsLgoKMjAwNy0wOC0xNiAwNjo0OTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgZ2VuZXJpYyBzdGF0ZS1jaGFuZ2UgdGVzdCBzdWl0ZSB0byBoZWxwIHRvIGZpIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCjIwMDctMDgtMTUgMTM6Mjg6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA3LTA4LTE1IDEzOjI2OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICBwYXRjaCBieTogPGRlbGV0ZSBpZiBub3Qgc29tZW9uZSBlbHNlJ3MgcGF0Y2g+CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgoyMDA3LTA4LTE0IDE3OjQ3OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IERvbid0IHVzZSBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCk6CgkgIERvbid0IHVzZSBuZXcgQVBJLgoKMjAwNy0wOC0xNCAxNzozODowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwgKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19yZW5kZXIpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZW5kX29mX3N0cmVhbSksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIE1ha2UgbG92ZSB0byBhcHBzaW5rLgoJICBNYWtlIGl0IHN1cHBvcnQgcHVsbGluZyBvZiB0aGUgcHJlcm9sbCBidWZmZXIuCgkgIEFkZCBkb2NzIGFuZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXggc29tZSByYWNlcyB3cnQgdG8gRU9TIGhhbmRsaW5nIGFuZCBzdG9wcGluZy4KCSAgSW1wbGVtZW50IGdldGNhcHMuCgkgIEltcGxlbWVudCBGTFVTSElORy4KCSAgQVBJOiBnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKCkKCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KToKCSAgRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCjIwMDctMDgtMTQgMTQ6MjI6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTMgMDY6MTY6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMiAyMDo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoKMjAwNy0wOC0xMiAyMDo1MzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKHNldHVwX2Jwd3NpbmMpLAoJICAoY2xlYW51cF9icHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGJwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgoyMDA3LTA4LTEyIDIwOjE5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoc2V0dXBfbHB3c2luYyksCgkgIChjbGVhbnVwX2xwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAobHB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCjIwMDctMDgtMTIgMTU6NDE6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0wOC0xMiAxMjo0NjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUgb24gc3RyZWFtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3N0YXJ0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAobHB3c2luY19zdGFydCk6CgkgIFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUKCSAgb24gc3RyZWFtIGNoYW5nZXMuCgoyMDA3LTA4LTExIDIxOjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wOC0xMCAwNTo1MTo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZAoJICB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IGJ1ZmZlci4KCjIwMDctMDgtMTAgMDU6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdyBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jwd3NpbmNfd2luZG93X2dldF90eXBlKSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93CgkgIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFuZCBhbm90aGVyIHNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNToyMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY19nZXRfdW5pdF9zaXplKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICAtIFN1cHBvcnQgZG91YmxlIGlucHV0CgkgIC0gRml4IHByb2Nlc3NpbmcgZm9yIGlucHV0IHdpdGggPjEgY2hhbm5lbHMKCSAgLSBTcGVjaWZ5IGZyZXF1ZW5jeSBpbiBIegoJICAtIFNwZWNpZnkgYWN0dWFsIGZpbHRlciBrZXJuZWwgbGVuZ3RoCgkgIC0gVXNlIHRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcCBhcyB3ZSdyZSB3b3JraW5nCgkgIG91dCBvZiBwbGFjZSBhbnl3YXkKCSAgLSBGYWN0b3Igb3V0IGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiBhbmQgdXBkYXRlIHRoZSBmaWx0ZXIKCSAga2VybmVsIHdoZW4gdGhlIHByb3BlcnRpZXMgYXJlIHNldAoJICBGaXggYmFuZHBhc3MgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIHRvIGFjdHVhbGx5IGdlbmVyYXRlCgkgIGEgYmFuZHBhc3MgZmlsdGVyIGJ5IGNyZWF0aW5nIGEgaGlnaHBhc3MgaW5zdGVhZCBvZiBhIHNlY29uZAoJICBsb3dwYXNzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNDo0NDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZCAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZAoJICAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvIHRoZSBuZXh0IG9kZCBudW1iZXIuCgkgIEFsc28gcmVtb3ZlIG5vdyBvYnNvbGV0ZSBGSVhNRXMuCgoyMDA3LTA4LTEwIDA0OjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbiB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY193aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbgoJICB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3RvcGJhbmQgYXR0ZW51YXRpb24gYnV0IGEgYml0IHNsb3dlcgoJICByb2xsb2ZmLgoKMjAwNy0wOC0xMCAwNDoyMTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgoyMDA3LTA4LTEwIDA0OjA2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgoyMDA3LTA4LTA5IDE5OjIzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIEFkZCBUT0RPcyBhbmQgRklYTUVzIGFuZCByZW1vdmUgdHdvIHdyb25nIEZJWE1Fcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIEZJWE1FcyBhbmQgYSBuZXcgVE9ETy4KCjIwMDctMDgtMDkgMTg6MDg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIgaXMgYSBDKysga2V5d29yZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwKCSAgKHByb2Nlc3NfNjQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXR1cCksCgkgIChscHdzaW5jX2dldF91bml0X3NpemUpLCAobHB3c2luY190cmFuc2Zvcm0pLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIKCSAgaXMgYSBDKysga2V5d29yZC4KCSAgSW1wbGVtZW50IHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgaW4gSHogaW5zdGVhZCBvZiBmcmFjdGlvbgoJICBvZiBzYW1wbGluZyBmcmVxdWVuY3kuCgkgIFJlbW92ZSBzb21lIHVuZWNlc3NhcnkgRklYTUVzIGFuZCBhZGQgc29tZSBUT0RPcywgYWRkIHNvbWUKCSAgcmVxdWlyZWQgbG9ja2luZyBhbmQgcmVmYWN0b3IgdGhlIGtlcm5lbCBnZW5lcmF0aW9uIGludG8gYQoJICBzZXBhcmF0ZSBmdW5jdGlvbiB0aGF0IGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHByb3BlcnRpZXMKCSAgY2hhbmdlIG5vdy4KCSAgQW5kIHVzZSBCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAKCSAgYXMgdGhlIGNvbnZvbHV0aW9uIGlzIGRvbmUgb3V0IG9mIHBsYWNlIGFueXdheS4gU2hvdWxkCgkgIGJlIGRvbmUgaW4gcGxhY2UgbGF0ZXIuCgoyMDA3LTA4LTA5IDE3OjM5OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fYmFzZV9pbml0KSwKCSAgKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCksIChnc3Rfc3RlcmVvX2luaXQpLAoJICAoZ3N0X3N0ZXJlb190cmFuc2Zvcm1faXApLCAoZ3N0X3N0ZXJlb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N0ZXJlb19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgIFBvcnQgdGhlIHN0ZXJlbyBlbGVtZW50IHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNy0wOC0wOSAxMTowMToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdWJtaXR0ZWQgYnk6IFJhcGhhZWwgSGlnaW5vIDxwaGhpZ2lub0BnbWFpbC5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkZWQgUG9ydHVndWVzZSAoQnJhemlsaWFuKSB0cmFuc2xhdGlvbi4KCjIwMDctMDgtMDkgMTE6MDA6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE1OjE1OjU2ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19zdGFydCksIChnc3RfbW1zX3NldF9wcm9wZXJ0eSksIChnc3RfbW1zX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoKMjAwNy0wOC0wNyAxNToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgoyMDA3LTA4LTA3IDEwOjUxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAob3Blbl9saWJyYXJ5KToKCSAgUmVtb3ZlIGZyYWdtZW50IGFuZCB0aW1lc3RhbXAgY29ycmVjdGlvbiBjb2RlIGZyb20gdGhlIGRlY29kZXIgdG8gbWFrZQoJICB0aGUgY2FwcyBhbmQgYnVmZmVyIGNvbnRlbnRzIGNvbXBhdGlibGUgd2l0aCBtYXRyb3NrYS9mZmRlY19ydngwLy4uLgoKMjAwNy0wNy0zMCAxMjo0MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAxIGFuZCBvdGhlcnMpLgoKMjAwNy0wNy0zMCAwOTo1MjozNiArMDAwMCAgSWFuIE11bnJvIDxpbXVucm9AbmV0c3BhY2UubmV0LmF1PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90IGJlIGF2YWlsYWJsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSWFuIE11bnJvICA8aW11bnJvIGF0IG5ldHNwYWNlIG5ldCBhdT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEluY2x1ZGUgb3VyIG93biAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4gKHdoaWNoIG1heSBub3QKCSAgYmUgYXZhaWxhYmxlKS4KCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgTmF0aXZlIEhQLVVYIGNvbXBpbGVyIGRvc24ndCBzZWVtIHRvIGxpa2UgZW51bSB0eXBlZGVmcyBiZWZvcmUgdGhlCgkgIGFjdHVhbCBlbnVtIHdhcyBkZWZpbmVkLgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgRml4IHdyb25nIHVzYWdlIG9mIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvICgjNDYxMzczKS4KCjIwMDctMDctMjYgMTY6MTY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogVXNlIHRoZSBwcm9wZXIgY29udGV4dCB2YXJpYWJsZSB3aGVuIHNldHRpbmcgdGhlIHBhc3N3b3JkICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIExPRyA9PiBXQVJOSU5HIGZvciBlcnJvcnMuCgkgIEdpdmUgcHJvcGVyIHBhdGggd2hlbiBvcGVuaW5nIHRoZSBjb2RlYyAobmVlZHMgYSAnLycgYXQgdGhlIGVuZCkuCgoyMDA3LTA3LTI1IDE4OjEwOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvTWFrZWZpbGUuYW06IEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgQW5kIGRpc3QgdGhlIG5ldyBoZWFkZXIgZmlsZSB0b28uCgoyMDA3LTA3LTI1IDE0OjM2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbC5oOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMjUgMDU6NTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS4qOiBEb24ndCBpbml0aWFsaXplIHRpbWlkaXR5IGluIHBsdWdpbl9pbml0IGZvciBzaW1pbGFyIHJlYXNvbiBhcyBiZWxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSAgRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgoyMDA3LTA3LTI0IDE1OjEzOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB3aWxkbWlkaSBpbiBwbHVnaW5faW5pdCBhcyBpdCBhbHNvIHNldHVwcyBhdWRpbyBmaWx0ZXJzIHdoaWNoIGlzIHNsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpLAoJICAoZ3N0X3dpbGRtaWRpX2luaXQpLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8KCSAgZmlsdGVycyB3aGljaCBpcyBzbG93LgoKMjAwNy0wNy0yNCAxNDozNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsLzogSW1wcm92ZWQgc2VhcmNoIGFsZ29yaXRobSBmb3IgbG9jYXRpb24gb2YgcmVhbCAuc28gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBGaXhlcyAjMzkzNDYxCgoyMDA3LTA3LTI0IDA1OjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQKCSAgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDctMjMgMDk6MTM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMTE6MDM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbTogQWxzbyBpbmNsdWRlIHN0ZGxpYiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCjIwMDctMDctMTkgMTU6Mjk6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogRml4IHRoZSBidWlsZGJvdCB3aXRoIHRoZSBjdnNpZ25vcmUgaXQgd2FudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwNy0wNy0xOSAwOTowODozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwgbWFpbik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwKCSAgbWFpbik6CgkgIEFkZCB0eXBlZmluZCB0ZXN0IGZvciBtaWRpLgoKMjAwNy0wNy0xOCAyMDo1NjoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IElmIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudCwgZG9uJ3QgdHJ5IHRvIHB1c2ggYnVmZmVycyBvdXQgaW4gcmVzcG9uc2UgKHdpdGhvdXQgZmlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0CgkgIGluIHJlc3BvbnNlICh3aXRob3V0IGZpcnN0IHNlbmRpbmcgaXQgb24hKS4KCSAgSW5zdGVhZCwgZmx1c2ggaW50ZXJuYWwgYnVmZmVycyBvbiByZWNlaXZpbmcgZmx1c2ggZXZlbnRzLgoJICBGaXhlcyBwbGF5YmFjayBhZnRlciBzZWVraW5nLgoKMjAwNy0wNy0xOCAwODowMDowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBBZGQgYmFzaWMgZG9jcy4gVXNlIGdsaWJzIG1lbSByb3V0aW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiAoZ3N0X2JheWVyMnJnYl9zZXRfY2FwcyksCgkgIChnc3RfYmF5ZXIycmdiX3Jlc2V0KToKCSAgQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDctMTYgMDk6MTk6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChjbGlwX291dGdvaW5nX2J1ZmZlcik6CgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDctMDctMTQgMTg6NDg6MjUgKzAwMDAgIEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGVAaGhzLm5sPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogYWRkIHNldmVyYWwgbWlzc2luZyBzdXBwb3J0ZWQgbWltZS10eXBlcyB0byB0aGUgbW9kcGx1ZyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFucyBkZSBHb2VkZSA8ai53LnIuZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBGaXhlcyAjNDU2OTAxLgoKMjAwNy0wNy0xMyAxNjo0NjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQgd2UKCSAgd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sgb3Vyc2VsdmVzCgkgIGFueXdheS4KCjIwMDctMDctMTIgMTE6NTU6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMDkgMDY6MDU6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgoyMDA3LTA3LTA4IDE5OjA2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVRVUlSRU1FTlRTOiBBZGQgZG93bmxvYWQgbG9jYXRpb24gb2YgbGliYW1yd2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoKMjAwNy0wNy0wNiAyMTowNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpOgoJICBTY3JlYW0gYSBiaXQgbG91ZGVyIHdoZW4gaW5pdGlhbGlzYXRpb24gZmFpbHMuCgkgICogZ3N0LWxpYnMvUkVBRE1FOgoJICAqIGdzdC1saWJzL2V4dC8uY3ZzaWdub3JlOgoJICBSZW1vdmUgc29tZSBjcnVmdC4KCjIwMDctMDctMDUgMjI6Mjg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlciBmaWxlcy4gRml4ZXMgIzQ1NDA3OC4KCjIwMDctMDctMDUgMDg6NDU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgRml4IGNvbW1lbnQgc3RhcnQuCgoyMDA3LTA3LTA0IDExOjU2OjU1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgQVJHX0RWQlNSQ19GUk9OVEVORCwgQVJHX0RWQlNSQ19ESVNFUUNfU1JDLCBBUkdfRFZCU1JDX0ZSRVFVRU5DWSwKCSAgQVJHX0RWQlNSQ19QT0xBUklUWSwgZ3N0X2R2YnNyY19jbGFzc19pbml0LCBnc3RfZHZic3JjX2luaXQsCgkgIGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfZHZic3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kLCBnc3RfZHZic3JjX29wZW5fZHZyLCByZWFkX2RldmljZSwKCSAgZ3N0X2R2YnNyY19jcmVhdGUsIGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oIChhZGFwdGVyX251bWJlciwgZnJvbnRlbmRfbnVtYmVyKToKCSAgUmVtb3ZlZCBwcm9wZXJ0eSAiZGV2aWNlIi4gQWRkZWQgcHJvcGVydGllcyAiYWRhcHRlciIgYW5kICJmcm9udGVuZCIuCgkgIEZpeGVzICM0NTM2MzYuCgkgIFJlbmFtZSBmcmVxIHByb3BlcnR5IHRvIGZyZXF1ZW5jeS4KCjIwMDctMDctMDMgMTc6MDk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBGaXggcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAwNy0wNy0wMyAwOToxODoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgoyMDA3LTA3LTAzIDA4OjE2OjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBDbGVhbnVwIHRoZSBzZWN0aW9uIGZpbGUgc28gdGhhdCAtdW51c2VkIGlzIGVtcHR5IGFnYWluIChhbmQgdXNlZnVsIHRvIHNwb3QgbmV3IGRvY3MpLiBBZGQgbm90IHlldCBhZGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0bwoJICBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkZWQgZG9jcyB0byBzZ21sIGZpbGUuIEFkZCBtb3JlIGhlYWRlcgoJICB0byBNYWtlZmlsZS5hbSB0byBtYWtlIHRoZW0gaW50cm9zcGVjdGFibGUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSB0aGUgZG9jIGJsb2JzLgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzo1Mjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogQWN0aXZhdGUgZG9jIHNlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoKMjAwNy0wNy0wMyAwNzo0MTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5LzogRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBGaXggbGljZW5jZSAoYm90aCBhcmUgR1BMKS4gQWRkIGVsZW1lbnQgZG9jcy4KCjIwMDctMDctMDMgMDc6MzA6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDogRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgoyMDA3LTA3LTAzIDA3OjE2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDctMDYtMjkgMTU6MjM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogTWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBzdGF0aWMsIGFuZCBtb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgc3RhcnQgb2YgYmxvY2tzIHRvIGF2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NyY19maXhhdGUpLAoJICAoZ3N0X2RjMTM5NF9jcmVhdGUpLCAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2Fwcyk6CgkgIE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCSAgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdm9pZCBwcm9ibGVtcyBvbiBvbGRlciBnY2MuCgkgIE1ha2Ugc3VyZSB0byB1bnNldCB2YWx1ZSB0eXBlcy4KCjIwMDctMDYtMjkgMTQ6NDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKToKCSAgVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIFdpdGggQ1ZTIG9mIGZmbXBlZ2NvbG9yc3BhY2UgZnJvbSBwbHVnaW5zLWJhc2UsIEkgY2FuIG5vdwoJICBnZXQgMzAgZnBzIGZyb20gdGhlIGlTaWdodC4KCjIwMDctMDYtMjkgMTQ6MTE6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogQ2hhbmdlIGEgZ19wcmludCB0byBhIEdTVF9ERUJVRyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCjIwMDctMDYtMjkgMTM6MDk6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGFkZCBhbiBhdHRyaWJ1dGlvbiBmb3IgQW50b2luZSBUcmVtYmxheSB0b28gLSB0aGUgb3JpZ2luYWwgcGF0Y2ggYXV0aG9yLgoKMjAwNy0wNi0yOSAxMzowMzoyNyArMDAwMCAgRXJpYyBKb25hcyA8am9uYXNAbWl0LmVkdT4KCgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9iYXNlX2luaXQpLAoJICAoZ3N0X2RjMTM5NF9jbGFzc19pbml0KSwgKGdzdF9kYzEzOTRfaW5pdCksCgkgIChnc3RfZGMxMzk0X3NyY19maXhhdGUpLCAoZ3N0X2RjMTM5NF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RjMTM5NF9nZXRfcHJvcGVydHkpLCAoZ3N0X2RjMTM5NF9nZXRjYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0Y2FwcyksIChnc3RfZGMxMzk0X2dldF90aW1lcyksIChnc3RfZGMxMzk0X2NyZWF0ZSksCgkgIChnc3RfZGMxMzk0X3BhcnNlX2NhcHMpLCAoZ3N0X2RjMTM5NF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKSwgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplX3JhbmdlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZnJhbWVyYXRlX2xpc3QpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfY29uc3RfdG9fZnJhYyksCgkgIChnc3RfZGMxMzk0X2dldF9hbGxfZGMxMzk0X2NhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfZnJhY190b19jb25zdCksCgkgIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIFBhdGNoIEJ5OiBFcmljIEpvbmFzIDwgam9uYXMgYXQgbWl0IGRvdCBlZHUgPgoJICBDbG9zZTogIzM4NzI1MQoKMjAwNy0wNi0yOCAxMDo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCjIwMDctMDYtMjggMDk6MzY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuKjogQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20gdGhpcyBjZW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICBBZGQgcHJvcGVydHkgdG8gYWRqdXN0IHRoZSBjZW50ZXIsIHNlbnNpdGl2aXR5IGlzIG5vdyB0aGUgZGlzdGFuY2UgZnJvbQoJICB0aGlzIGNlbnRlci4KCjIwMDctMDYtMjcgMTU6MzM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvOiBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZSBwYXR0ZXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOiAoZ3N0X3ZpZGVvX21hcmtfZHJhd19ib3gpLAoJICAoZ3N0X3ZpZGVvX21hcmtfNDIwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZQoJICBwYXR0ZXJuLgoKMjAwNy0wNi0yNSAxMjo0Nzo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgoyMDA3LTA2LTI1IDExOjAyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvOiBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi8uY3ZzaWdub3JlOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICAqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJICBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGkxOG4gYmluZHRleHRkb21haW4gc3R1ZmYuCgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcgR1NUX0ZMT1dfRVJST1I7IG1pbm9yIGNsZWFudXBzLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBzb3VyY2UgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoZml4ZXMgIzQ1MDYwNSkuCgoyMDA3LTA2LTIzIDExOjI0OjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb250cmlidXRlZCBieTogV2VuemhlbmcgSHUgPGRiX2xvYnN0ZXJAMTYzLmNvbT4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE1OjMwOjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLCBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3RfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzd2l0Y2hfbXV0ZXgsIEdTVF9TV0lUQ0hfTE9DSywKCSAgR1NUX1NXSVRDSF9VTkxPQ0spOgoJICBBZGQgYW4gZXh0cmEgbG9jayB0byBwcm90ZWN0IGFnYWluc3QgY2VydGFpbiB2YXJpYWJsZXMgaW5zdGVhZCBvZgoJICB1c2luZyB0aGUgb2JqZWN0IGxvY2suIEZpeCBjYXNlIHdoZXJlIGNhcHMgYXJlIGRpZmZlcmVudCBpbiB0aGUKCSAgc2luayBwYWRzIGNhdXNlcyBkZWFkbG9jay4gVXBkYXRlIGV4YW1wbGUgdG8gdXNlIGRpZmZlcmVudCBjYXBzCgkgIG9uIGVhY2ggc2luayBwYWQuCgoyMDA3LTA2LTIyIDE0OjI3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjQ2OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IChnc3RfYnoyZGVjX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IChnc3RfYnoyZW5jX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKGdzdF9kaXZ4ZW5jX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfaW5pdCk6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9pbml0KToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAoZ3N0X2ZyZWV6ZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAoZ3N0X3N5c3RlbV9lbmNvZGVfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2luaXQpOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2luaXQpOgoJICBGaXggbGVha3MuCgoyMDA3LTA2LTIxIDE4OjQxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUxFQVNFOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjQyOjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvOiBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19maW5hbGl6ZSksCgkgIChnc3RfYW1yd2JkZWNfZXZlbnQpLCAoZ3N0X2FtcndiZGVjX2NoYWluKSwKCSAgKGdzdF9hbXJ3YmRlY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcHVsbF9oZWFkZXIpLCAoZ3N0X2FtcndicGFyc2VfbG9vcCk6CgkgIEFkZCBuZXdzZWdtZW50IGFuZCBkaXNjb250IGhhbmRsaW5nLiBTb21lIGNvZGUgY2xlYW51cHMuIERvbid0IGxlYWsKCSAgdGhlIGFkYXB0ZXIsIHVucmVmIGl0IGluIGEgbmV3IGZpbmFsaXplIG1ldGhvZCBpbnN0ZWFkLiBTeW5jIHRoZQoJICBwYXJzZXIgd2l0aCB0aGUgYW1yLW5iIGNoYW5nZXMuCgoyMDA3LTA2LTE5IDEwOjQ1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMuCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjUgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDctMDYtMTkgMTA6MzI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjUKCjIwMDctMDYtMTkgMDk6Mzc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNSAwOToyNzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBDb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBDUkxGIGFuZCBtYXJrIGFzIGJpbmFyeSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RuZW9uLmRzcDoKCSAgQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgoyMDA3LTA2LTEzIDExOjQ4OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL01ha2VmaWxlLmFtOiBEaXNhYmxlIFZDRCBidWlsZCBiZWNhdXNlIHdlJ3JlIGZyb3plbi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoKMjAwNy0wNi0xMyAxMTozNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFBvcnQgVkNEIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF92Y2RzcmNfYmFzZV9pbml0KSwgKGdzdF92Y2RzcmNfY2xhc3NfaW5pdCksIChnc3RfdmNkc3JjX2luaXQpLAoJICAoZ3N0X3ZjZHNyY19tc2YpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSksCgkgIChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmNkc3JjX2NyZWF0ZSksIChnc3RfdmNkc3JjX3N0YXJ0KSwgKGdzdF92Y2RzcmNfc3RvcCksCgkgIChnc3RfdmNkc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBQb3J0IFZDRCBlbGVtZW50LgoKMjAwNy0wNi0xMiAyMToyODoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBtZWd2aWRlb3BhcnNlLCBsaWJkc2hvdyBhbmQgZHNob3dzcmN3cmFwcGVyIHRvIHdpbjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgUmVtb3ZlIHF0ZGVtdXgsIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kIGFuZCB3YXZlZm9ybSBwcm9qZWN0IGZpbGVzCgkgIGZyb20gdGhlIHdvcmtzcGFjZSBhcyB0aGV5IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZC4KCjIwMDctMDYtMTIgMjA6MjI6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IFJlbW92ZSBxdGRlbXV4IGZyb20gdGhlIHRyYW5zbGF0aW9uIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoKMjAwNy0wNi0xMiAyMDoxNToxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgICogZ3N0L3ZpZGVvY3JvcC92aWRlb2Nyb3AudmNwcm9qOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDE5OjM2OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC52Y3Byb2o6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgTW92ZSBxdGRlbXV4IHRvIC1nb29kLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3Qgd2F2cGFjayAmIHF0ZGVtdXggbW92aW5nIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxODo1MzowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBub3cgdGhhdCBpdCBpcyBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgoyMDA3LTA2LTA4IDIwOjIwOjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgTW92ZSB3YXZwYWNrIHRvIGdvb2QuCgoyMDA3LTA2LTA4IDE3OjM2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL2dzdC5zbG46CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgoyMDA3LTA2LTA4IDE2OjQ5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgV2hlbiBkcml2aW5nIHRoZSBwaXBlbGluZSwgYWxzbyBwb3N0IGFuIGVycm9yIHdoZW4gd2UgZ2V0IGEgbm90LWxpbmtlZCBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2xvb3ApOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6CgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhCgkgIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAwODoxMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlCgkgIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIGRvbid0IGhhbmRsZSB0aGUgd2F5IHdlIHVzZSBpdCBpbgoJICB0aGUgd2F5IHdlIGV4cGVjdCBpdCB0by4KCjIwMDctMDYtMDYgMTg6MzA6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLCBhbmQgcmVtb3ZlIHNwZWNpYWwtY2FzaW5nIGZvciBlcXVhbGl6ZXIgYW5kIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZQoJICBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCBydHBtYW5hZ2VyIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnkKCSAgbG9uZ2VyLgoKMjAwNy0wNi0wNiAxNTo1ODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4gZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19zdG9wKSwKCSAgKGdzdF9nbGltYWdlX3NpbmtfY3JlYXRlX3dpbmRvdyksIChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4KCSAgZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2luZ2xlIGdsaW1hZ2VzaW5rLgoKMjAwNy0wNi0wNiAxMTowMzoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCk6CgkgIEZpeCBzb21lIHNpbGx5IGJ1Z3Mgd2l0aCBjYWxjdWxhdGluZyB0aGUgZ3VhcmQgc2l6ZXMuCgkgIFByb3Blcmx5IGNvbXBhcmUgdGhlIG9sZCBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0dXJlIHdpdGggdGhlIG5ldyBvbmUuCgkgIERvbid0IGVycm9yIG91dCBvbiBhbiBpbnZhbGlkIHNlcXVlbmNlIC0ganVzdCBpZ25vcmUgaXQuCgoyMDA3LTA2LTA2IDA5OjExOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSk6CgkgIFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgoyMDA3LTA2LTA2IDA4OjA2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC86IEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZSAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2X3Byb2Nlc3NfZXZlbnRzKToKCSAgQWRkIEdTVF9DRkxBR1MsIHdoaWNoIGFwcGFyZW50bHkgc29tZWhvdyBmaXhlcyB0aGUgYnVpbGQgc29tZXdoZXJlCgkgICgjNDQ0NDk5KTsgaW5pdGlhbGlzZSB2YXJpYWJsZSB0byBhdm9pZCBmYWxzZSBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wNi0wNSAxNDoxNzozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB1cCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBzcGVjIGZpbGUKCjIwMDctMDYtMDEgMTQ6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwgKGdzdF92aWRlb19tYXJrXzQyMCksCgkgIChnc3RfdmlkZW9fbWFya190cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX21hcmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fbWFya19iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fbWFya19pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBwbHVnaW4gdG8gZ2VuZXJhdGUgYSBwYXR0ZXJuIGRldGVjdGFibGUgYnkgdmlkZW9kZXRlY3QuCgoyMDA3LTA2LTAxIDExOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRG9uJ3QgbGVhayBidWZmZXIgd2hlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSk6CgkgIERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoKMjAwNy0wNi0wMSAwOTo1ODowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIENoYW5nZSBkZWZhdWx0IFVzZXItQWdlbnQgdG8gdGhlIHNsaWdodGx5IG1vcmUgZGVzY3JpcHRpdmUKCSAgIkdTdHJlYW1lciBuZW9uaHR0cHNyYyIuCgkgIFZhcmlvdXMgb3RoZXIgc21hbGwgY2xlYW51cHMsIG1vc3RseSBwcm9wZXJ0eSByZWxhdGVkLgoKMjAwNy0wNS0zMSAxOToxMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmg6IE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJIGNhbiBzZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJCgkgIGNhbiBzZWUuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hZ2ljIG1hcmtlcnMgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBtZWFudCB0byBiZQoJICBwYXJzZWQgYnkgZ3RrLWRvYy4gTWFrZXMgZ3RrLWRvYyBjb21wbGFpbiBhIGJpdCBsZXNzLgoKMjAwNy0wNS0zMCAxNDo1MjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6IChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9wb3N0X21lc3NhZ2UpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfNDIwKSwKCSAgKGdzdF92aWRlb19hbmFseXNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19hbmFseXNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19hbmFseXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3Rfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9wb3N0X21lc3NhZ2UpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jYWxjX2JyaWdodG5lc3MpLCAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19kZXRlY3RfaW5pdCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSAgQWRkZWQgdmlkZW9zaWduYWwgcGx1Z2luIHdpdGggdHdvIHBsdWdpbnMgdG8gYW5hbHlzZSB2aWRlbyBmcmFtZXMuCgkgIEFkZGVkIHZpZGVvYW5hbHlzZSB0byByZXBvcnQgYWJvdXQgYnJpZ2h0bmVzcyBhbmQgdmFyaWFuY2UgaW4gdmlkZW8KCSAgZnJhbWVzLgoJICBBZGRlZCB2aWRlb2RldGVjdCB0byBkZXRlY3QgcHJlZGVmaW5lZCBwYXR0ZXJucyBpbiBhIHZpZGVvIHNpZ25hbC4KCjIwMDctMDUtMzAgMDk6MzA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogTW9yZSB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBNb3JlIHVwZGF0ZXMuCgoyMDA3LTA1LTMwIDA5OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwKCSAgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvdHMgaGFwcHkgYWdhaW4uCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMyAxODowMDoxNSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IFNlcGFyYXRlIHRoZSBhdXRob3JzIGJ5IG5ld2xpbmVzIGluc3RlYWQgb2Ygbm90aGluZy4gRml4ZXMgIzQ0MDc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPjoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgoyMDA3LTA1LTIzIDE2OjE0OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOiBBZGQgZG9jIHhtbCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIEFkZCBkb2MgeG1sIGZpbGUuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IGZyb20gY29uY3VycmVudCBhY2Nlc3MuCgoyMDA3LTA1LTIxIDExOjM3OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgoyMDA3LTA1LTIxIDExOjE3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQKCSAgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXJlbnQgZXh0cmEgcHJvY2Vzc2luZyBtb2RlcyBpbnN0ZWFkIG9mIG9ubHkKCSAgYWxsb3dpbmcgbm9uZSBhbmQgdGhlIGRlZmF1bHQgb25lLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTU6MTI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IGRvY3MgYnVpbGQgYW5kIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDoxNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoKMjAwNy0wNS0xOSAxMDowNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgoyMDA3LTA1LTE5IDEwOjAxOjQ1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6IChnc3RfcmdfbGltaXRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfY2xhc3NfaW5pdCksIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfbGltaXRlcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9jbGFzc19pbml0KSwgKGdzdF9yZ192b2x1bWVfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX3NldF9wcm9wZXJ0eSksIChnc3Rfcmdfdm9sdW1lX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfcmdfdm9sdW1lX2Rpc3Bvc2UpLCAoZ3N0X3JnX3ZvbHVtZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zaW5rX2V2ZW50KSwgKGdzdF9yZ192b2x1bWVfdGFnX2V2ZW50KSwKCSAgKGdzdF9yZ192b2x1bWVfcmVzZXQpLCAoZ3N0X3JnX3ZvbHVtZV91cGRhdGVfZ2FpbiksCgkgIChnc3Rfcmdfdm9sdW1lX2RldGVybWluZV9nYWluKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoc2V0dXBfcmdsaW1pdGVyKSwKCSAgKGNsZWFudXBfcmdsaW1pdGVyKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKGNyZWF0ZV90ZXN0X2J1ZmZlciksCgkgICh2ZXJpZnlfdGVzdF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAocmdsaW1pdGVyX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6IChldmVudF9mdW5jKSwgKHNldHVwX3Jndm9sdW1lKSwKCSAgKGNsZWFudXBfcmd2b2x1bWUpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoc2V0X251bGxfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAodGVzdF9idWZmZXJfbmV3KSwKCSAgKGZhaWxfdW5sZXNzX3RhcmdldF9nYWluKSwgKGZhaWxfdW5sZXNzX3Jlc3VsdF9nYWluKSwKCSAgKGZhaWxfdW5sZXNzX2dhaW4pLCAoR1NUX1NUQVJUX1RFU1QpLCAocmd2b2x1bWVfc3VpdGUpLCAobWFpbik6CgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCjIwMDctMDUtMTggMTY6NDU6NTQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNy0wNS0xOCAxMjozOTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydCBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQKCSAgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgZm9ybWF0cywgbm90IGp1c3QgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzOiAjNDM5NDA1CgoyMDA3LTA1LTE4IDA5OjM1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmMgKGdzdF9hbXJ3YmRlY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULCBfZG9faW5pdCwgZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZGVjX2NsYXNzX2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYyAoZ3N0X2FtcndiZW5jX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JlbmNfYmFzZV9pbml0LCBnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYyAoZ3N0X2FtcndicGFyc2VfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCwgZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgIEZpcnN0IHJvdW5kIG9mIGNsZWFudXBzLCB0aGF0IHVzZSBHU1RfQk9JTEVSUExBVEUsIEdTVF9FTEVNRU5UX0RFVEFJTFMsCgkgIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBhZGQgbG9nLWNhdGVnb3J5LgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDEwOjA4OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBBUkdfU1RBUlRfVkFMVUUsIEFSR19TVE9QX1ZBTFVFLCBBUkdfTEFTVF9UUywgQVJHX1FVRVVFX0JVRkZFUlMsCgkgIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsCgkgIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsCgkgIHVucmVmX2J1ZmZlciwgdW5yZWZfYnVmZmVyc19hbmRfZGVzdHJveV9saXN0LCBnc3Rfc3dpdGNoX2luaXQsCgkgIGdzdF9zd2l0Y2hfYmFzZV9pbml0LCBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50LCBxdWV1ZV9idWZmZXJzLAoJICBzdG9wX3ZhbHVlLCBzdGFydF92YWx1ZSwgY3VycmVudF9zdGFydCwgbGFzdF90cywgc3RvcmVkX2J1ZmZlcnMpOgoJICBBZGQgaGFuZGxpbmcgb2YgYXBwbGljYXRpb24gcHJvdmlkZWQgc3RvcCBhbmQgc3RhcnQgdmFsdWVzLCBhbGxvd2luZwoJICBBL1Ygc3luYyBhY3Jvc3MgMiBzd2l0Y2ggZWxlbWVudHMuCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNzoxNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCB3aGVuIHdlIGdldCBhIGJ1ZmZlciBhbmQgb3VyIGlucHV0IGNhcHMgaGF2ZW4ndCBiZWVuIHNldAoJICB5ZXQ7IGFsc28sIGRvbid0IGxlYWsgYWxsIHRoZSBpbnB1dCBidWZmZXJzIChyZWFsYXVkaW9kZWMgb25seSkuCgoyMDA3LTA1LTE2IDEzOjUwOjUxICswMDAwICBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CgoJICBVc2UgZXh0ZXJuYWwgc2hhcmVkIGxpYmFtcndiLiBGaXhlcyAjNDIzNzQxICh3aXRoIGxvdHMgb2YgY2xlYW51cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oIChfX0dTVF9BTVJXQkRFQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oIChfX0dTVF9BTVJXQkVOQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaCAoX19HU1RfQU1SV0JQQVJTRV9IX18pOgoJICAqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoKMjAwNy0wNS0xNSAyMToyMzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKTogVGhpcyBuZWVkcyBhIHZlcnNpb24gY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6CgkgIFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZC4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTM6Mjk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCjIwMDctMDUtMTUgMDM6NDU6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgoyMDA3LTA1LTE1IDAyOjU0OjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgUGFydGlhbCBmaXggZm9yICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE4OjAzOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR19BQ1RJVkVfU09VUkNFLCBBUkdfU1RPUF9WQUxVRSwKCSAgQVJHX0xBU1RfVFMsIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChwcmV2aW91c19zaW5rcGFkLCBuYl9zaW5rcGFkcywgc3RvcF92YWx1ZSwKCSAgY3VycmVudF9zdGFydCwgbGFzdF90cyk6CgkgIEFsbG93IGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYSBzdG9wIHRpbWVzdGFtcCwgc28gYSBuZXcgc2VnbWVudAoJICB1cGRhdGUgY2FuIGJlIHNlbnQgYmVmb3JlIHN3aXRjaGluZy4KCjIwMDctMDUtMTQgMTU6Mjg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGNsZWFyLXB0LW1hcCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXQgY2xvY2stcmF0ZSB0byAtMSB0byBtYXJrIHVua25vdyBjbG9jayByYXRlLgoJICBGaXggZmx1c2hpbmcuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDA3OjA4OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE1ha2UgcmVkaXJlY3Rpb24gdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBGaXhlcyAjNDEzODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCjIwMDctMDUtMTEgMTE6MjA6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRm9ybWF0IGFyZyBmaXggKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikKCjIwMDctMDUtMTAgMDc6NDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbW1vbi9tNC9nc3QteDExLm00OiBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL200L2dzdC14MTEubTQ6CgkgIFJlc3RvcmUgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0IHByZXZpb3VzIHBhdGNoLgoKMjAwNy0wNS0xMCAwNjozNTozMSArMDAwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFNhdmUgYW5kIHJlc3RvcmUgQ0ZMQUdTIGZvciBPcGVuR0wgY2hlY2suIEZpeGVzICM0MzcyNjAuCgoyMDA3LTA1LTA5IDIwOjAxOjIxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogQWRkIGRpcmVjdHJhdyBhbmQgZGlyZWN0c291bmQgc2lua3MgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgoyMDA3LTA1LTA5IDE3OjU4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGhvcGVmdWxseSkuCgoyMDA3LTA1LTA5IDExOjI0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgoyMDA3LTA1LTA2IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgR01vZHVsZSBpbnN0ZWFkIG9mIHVzaW5nIGRsc3ltKCkgZGlyZWN0bHkuIEZpeGVzICM0MzA1OTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoKMjAwNy0wNS0wNCAyMTowMjo1OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgZG9jcyBmb3IgV2luZG93cyBzaW5rcy4KCjIwMDctMDUtMDQgMTc6MjA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZSB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfZXZlbnQpLCAoc3BlZWRfc2lua19ldmVudCksCgkgIChzcGVlZF9jaGFpbiksIChzcGVlZF9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZXZlbnQgaGFuZGxpbmcgYSBiaXQgYnkgcmVwbGFjaW5nIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlCgkgIHdyaXR0ZW4gYnkgc29tZW9uZSBlbHNlIHdpdGggY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbgoJICBieSBtZS4gU2hvdWxkIGF0IGxlYXN0IGZpeCAjNDEyMDc3IHRob3VnaC4KCjIwMDctMDUtMDQgMTY6MTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfcXVlcnkpLCAoc3BlZWRfY2hhaW4pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKigpIHV0aWxpdHkgZnVuY3Rpb25zOwoJICB1c2UgZ3N0X3V0aWxfc2NhbGUqKCk7IGFkZCBndGstZG9jIGJsdXJiLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNS0wMyAxNjo0OTowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKGxvb3AsIG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLAoJICBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEdTVF9DQVRfREVGQVVMVCwgZ3N0X3N3aXRjaF9kZXRhaWxzLAoJICBnc3Rfc3dpdGNoX3NyY19mYWN0b3J5LCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWQsIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9idWZmZXJhbGxvYywgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZHMsCgkgIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0LCBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwKCSAgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChHc3RTd2l0Y2gsIEdzdFN3aXRjaENsYXNzLCBfR3N0U3dpdGNoLAoJICBlbGVtZW50LCBhY3RpdmVfc2lua3BhZCwgc3JjcGFkLCBuYl9zaW5rcGFkcywgbmV3c2VnbWVudF9ldmVudHMsCgkgIG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50KToKCSAgUG9ydCBzd2l0Y2ggZWxlbWVudCBhbmQgZXhhbXBsZSBwcm9ncmFtIHRvIDAuMTAuCgoyMDA3LTA1LTAyIDE4OjMxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBIYW5kbGUgRElTQ09OVCBidWZmZXJzIGJ5IGNvcnJlY3RseSBzZXR0aW5nIHRoZSBESVNDT05UIGZsYWcKCSAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KQoJICBTZW5kIG5ld3NlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDQtMzAgMTU6Mzk6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMKCjIwMDctMDQtMzAgMTM6NDE6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKToKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICBSZW5hbWUgUlRDUCBzZW5kIHBhZCwgbGlrZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBBbGxvdyBnZXR0aW5nIGFuIFJUQ1AgcGFkIGZvciByZWNlaXZpbmcgZXZlbiBpZiB3ZSBkb24ndCByZWNlaXZlIFJUUC4KCSAgZml4IGhhbmRsaW5nIG9mIHNlbmRfcnRwX3NyYyBwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdoZW4gbm8gcHQgbWFwIGNvdWxkIGJlIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIHNpbmtwYWQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBwYWQgbmFtZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVW5sb2NrIHNlc3Npb24gd2hlbiBwZXJmb3JtaW5nIGEgY2FsbGJhY2suCgkgIEFkZCBjYWxsYmFja3MgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIG9iamVjdC4KCSAgRml4IHNlbmRpbmcgb2YgUlRQIHBhY2tldHMuCgkgIGZpcnN0IGF0dGVtcHQgYXQgYWRkaW5nIE5UUCB0aW1lcyBpbiB0aGUgU1IgcGFja2V0cy4KCSAgU21hbGwgZGVidWcgYW5kIGRvYyBpbXByb3ZlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgVXBkYXRlIHN0YXRzIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wNC0yOSAxNDo0NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUmVtb3ZlIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgUmVtb3ZlIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZwoJICBGaXggaW50ZXJ2YWwgZm9yIEJZRS9SVENQIHBhY2tldHMuCgoyMDA3LTA0LTI5IDE0OjAxOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIENvbW1pdCByZXN1bHQgb2YgcnVubmluZyBzY2Fub2JqLXVwZGF0ZQoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wNC0yOSAxMzo1MzoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBGaXggdXAgTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCgoyMDA3LTA0LTI5IDEzOjQ5OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIGphY2sgYW5kIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIGphY2sgYW5kIHVwZGF0ZS4KCjIwMDctMDQtMjggMTI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGJ1aWxkIGVxdWFsaXplciB1bmxlc3Mgd2UgaGF2ZSBjb3JlIGZyb20gQ1ZTIChpdCB3b24ndCB3b3JrIHdpdGggZWFybGllciB2ZXJzaW9ucyBkdWUgdG8gR3N0Q2hpbGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3QKCSAgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkUHJveHkgYnJva2VuZXNzKS4KCSAgQWxzbyB1cCByZXF1aXJlbWVudHMgdG8gbGFzdCByZWxlYXNlZCBjb3JlL2Jhc2UuCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwNy0wNC0yNyAxNTozMzo0NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseSB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoX3RoZW9yYV9ncmFudWxlX3RpbWUpLAoJICAodGhlb3JhX2RlY19wdXNoX2ZvcndhcmQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2RlY29kZV9idWZmZXIpOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseQoJICB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOiBHbGliIHByb3ZpZGVzIEFCUy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNSAxNjozODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTU6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERlYnVnaW5nIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxMzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKToKCSAgUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBEb24ndCBzZW5kIFJUQ1AgcmlnaHQgYmVmb3JlIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgSW1wcm92ZSByZXBvcnQgYmxvY2tzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBDbGVhbnVwcywgYWRkIG1ldGhvZHMgdG8gYWNjZXNzIHN0YXRzLgoKMjAwNy0wNC0yNSAwODozMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgRml4IGZvciByZW5hbWVkIG1ldGhvZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydHBfc2Vzc2lvbl9zZXRfY25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9uYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9uYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9lbWFpbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfZW1haWwpLCAocnRwX3Nlc3Npb25fc2V0X3Bob25lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9waG9uZSksIChydHBfc2Vzc2lvbl9zZXRfbG9jYXRpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF90b29sKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF90b29sKSwgKHJ0cF9zZXNzaW9uX3NldF9ub3RlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ub3RlKSwgKHNvdXJjZV9wdXNoX3J0cCksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9yZXBvcnRpbmdfaW50ZXJ2YWwpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHNlc3Npb25fc2RlcyksIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBQcmVwYXJlIGZvciBpbXBsZW1lbnRpbmcgU1NSQyBzYW1wbGluZy4KCSAgQ3JlYXRlIFNTUkMgZm9yIHRoZSBzZXNzaW9uLgoJICBBZGQgbWV0aG9kcyB0byBzZXQgdGhlIFNERVMgZW50cmllcy4KCSAgZml4IGFjY291bnRpbmcgb2Ygc2VuZGVycy9yZWNlaXZlcnMuCgkgIEltcGxlbWVudCBTUi9SUi9TREVTIFJUQ1AgcmVwb3J0aW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgSW1wbGVtZW50IGV4dGVuZGVkIHNlcXVlbmNlIG51bWJlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBSZW5hbWUgc29tZSBmaWVsZHMuCgoyMDA3LTA0LTI0IDE1OjQ5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCjIwMDctMDQtMjEgMTk6Mzk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2ssIGhvcGVmdWxseSAocnRwbWFuYWdlciBpcyBhbHJlYWR5IGluIEdTVF9QTFVHSU5TX0FMTCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTIxIDE0OjE0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCjIwMDctMDQtMjEgMTM6NTQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvcmVzYW1wbGUgc2h1dGRvd24gY3Jhc2hlciAoIzQyMDEwNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCjIwMDctMDQtMjAgMTU6MzE6MzIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRkFBRCBmYWlscyB0byBkZWNvZGUgbG93IChlLmcuIDgga0h6KSBzYW1wbGUgcmF0ZSBBQUMgZGF0YSBpbiBxdWlja3RpbWUgYmVjYXVzZSBvZiBzYW1wbGUgcmF0ZSBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9vcGVuX2RlY29kZXIpOgoJICBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluCgkgIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pc21hdGNoZXMuCgkgIFJlZW5hYmxlIG92ZXJyaWRpbmcgdGhlIGltcGxpY2l0IFNCUiBiZWhhdmlvdXIgKGFjY2lkZW50bHkgY2hhbmdlZD8pCgkgIHRvIGFsbG93IHBsYXliYWNrIG9mIHRoZXNlIGZpbGVzLgoKMjAwNy0wNC0xOSAxNTo0MzoyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGFuZ2UgcnRwbWFuYWdlciBkaXNhYmxpbmcgdG8ga2VlcCAtYmFkIHJlbGVhc2FibGUuCgoyMDA3LTA0LTE4IDE5OjQ1OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uIGxpbmUgMjY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggd3RheSdzIGhhY2suICBydHBtYW5hZ2VyIGlzIGRpc2FibGVkIGluIGNvbmZpZ3VyZS5hYyBvbgoJICBsaW5lIDI2OC4KCjIwMDctMDQtMTggMTk6MjY6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvTWFrZWZpbGUuYW06IEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoKMjAwNy0wNC0xOCAxODo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGRlZCBuZXcgZmlsZXMgZm9yIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIgY2FuIG5vdyBhbHNvIHJlcXVlc3QgYSBwdC1tYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3RpbWUpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIFdlIGNhbiBhc2sgZm9yIHB0LW1hcCBub3cgdG9vIHdoZW4gdGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyBpdC4KCSAgSG9vayB1cCB0byB0aGUgbmV3IHNlc3Npb24gbWFuYWdlciwgaW1wbGVtZW50IHRoZSBuZWVkZWQgY2FsbGJhY2tzIGZvcgoJICBwdXNoaW5nIGRhdGEsIGdldHRpbmcgY2xvY2sgdGltZSBhbmQgcmVxdWVzdGluZyBjbG9jay1yYXRlcy4KCSAgUmVuYW1lIHJ0Y3Bfc3JjIHRvIHNlbmRfcnRjcF9zcmMgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgUlRDUCBpcyB0bwoJICBiZSBzZW5kIHRvIGNsaWVudHMuCgkgIEFkZCBjb2RlIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSB0aHJlYWQgdGhhdCB3aWxsIHNjaGVkdWxlIFJUQ1AgdGhyb3VnaAoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKHJ0cF9zZXNzaW9uX25ldyksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoKSwKCSAgKHNvdXJjZV9wdXNoX3J0cCksIChzb3VyY2VfY2xvY2tfcmF0ZSksIChjaGVja19jb2xsaXNpb24pLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2FwcCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fcHJvZHVjZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFRoZSBhZHZhbmNlZCBiZWdpbm5pbmdzIG9mIHRoZSBtYWluIHNlc3Npb24gbWFuYWdlciB0aGF0IGhhbmRsZXMgdGhlCgkgIHBhcnRpY2lwYW50IGRhdGFiYXNlIG9mIFJUUFNvdXJjZXMsIFNTUkMgcHJvYmF0aW9uLCBTU1JDIGNvbGxpc2lvbnMsCgkgIHBhcnNlIFJUQ1AgdG8gdXBkYXRlIHNvdXJjZSBzdGF0cy4gZXRjLi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX25ldyksCgkgIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX3NldF9ydHBfZnJvbSksIChydHBfc291cmNlX3NldF9ydGNwX2Zyb20pLAoJICAocHVzaF9wYWNrZXQpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ieWUpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgT2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIGFuIFNTUkMgYW5kIGl0cyBzdGF0ZSBpbiB0aGUgZGF0YWJhc2UuCgkgIENhbGN1bGF0ZXMgdGhlIGppdHRlciBhbmQgdHJhbnNpdCB0aW1lcyBvZiBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBWYXJpb3VzIHN0YXRzIHJlZ2FyZGluZyB0aGUgc2Vzc2lvbiBhbmQgc291cmNlcy4KCSAgVXNlZCB0byBjYWxjdWxhdGUgdGhlIFJUQ1AgaW50ZXJ2YWwuCgoyMDA3LTA0LTE3IDEwOjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwcC9NYWtlZmlsZS5hbTogRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIGhvcGVmdWxseSAjNDMwNTk0LgoKMjAwNy0wNC0xNyAwODo0ODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvdHlwZXMuaDogUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbyB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbmFtZSAjaWZuZGVmIGhlYWRlciBndWFyZCBzeW1ib2wgdG8gc29tZXRoaW5nIGxlc3MgZ2VuZXJpYywgc28KCSAgdHlwZXMuaCBkb2Vzbid0IGdldCBza2lwcGVkIG92ZXIgd2hlbiBjb21waWxpbmcgb24gTWluZ1cuIEluY2x1ZGUKCSAgR0xpYiBoZWFkZXJzIGFuZCB1c2UgdGhvc2UgdG8gc2V0IHRoZSBlbmRpYW5uZXNzIGFuZCB0aGUgYmFzaWMKCSAgdHlwZXMgc28gdGhhdCB0aGlzIGlzbid0IGVudGlyZWx5IGJyb2tlbiBmb3Igbm9uLXg4NiBhcmNoaXRlY3R1cmVzLgoKMjAwNy0wNC0xNyAwODowNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9faW5pdCk6CgkgIFVzZSBHX0xJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBMSVRUTEVfRU5ESUFOLCBzbyBzdHVmZiBjb21waWxlcyBvbgoJICBNaW5nVyAobm8gaWRlYSB0aG91Z2ggd2h5IHdlIGFkZCBhIEJZVEVfT1JERVIgZW5kaWFubmVzcyBmaWVsZCBpZgoJICB0aGUgYXVkaW8gaXMgY29tcHJlc3NlZCkuCgoyMDA3LTA0LTE2IDIyOjIwOjAzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfcmVuZGVyX3RpbWUpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvcmlmZi1tZWRpYS5jOiAoZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KToKCSAgVXNlIHRoZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIGZvcm1hdHMuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoxODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChwdF9tYXBfcmVxdWVzdGVkKToKCSAgRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBFbWl0IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgoyMDA3LTA0LTExIDEzOjQ5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY2xvY2tfcmF0ZV9yZXF1ZXN0KSwgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBjYWNoaW5nIHB0IG1hcHMuCgkgIENvbm5lY3QgdG8gc2lnbmFscyB0byBjb2xsZWN0IHB0IG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgcmVxdWVzdF9jbG9ja19yYXRlIHNpZ25hbC4KCSAgVXNlIHNjYWxlIGluc3RlYXQgb2Ygc2NhbGVfaW50IGJlY2F1c2UgdGhlIGxhdGVyIGRvZXMgbm90IGRlYWwgd2l0aAoJICBuZWdhdGl2ZSBudW1iZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA1IDEzOjQ5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL25sLnBvOgoJICB1cGRhdGUgZHV0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBkdXRjaAoKMjAwNy0wNC0wNSAxMzo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN1Ym1pdHRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA3LTA0LTAzIDEzOjI3OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDctMDMtMzAgMDQ6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGgKCSAgd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoaXMgYW5kIGxldCBhdWRpb2NvbnZlcnQgY29udmVydAoJICB0byBhY2NlcHRlZCBmb3JtYXRzIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gdGhlIGVsZW1lbnQgZm9yIG4qOCBkZXB0aHMuCgkgIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIG5vbi1uKjggZGVwdGhzIGFuZCBwcmV2ZW50cyBzb21lIHVzZWxlc3MKCSAgbWVtb3J5IGFsbG9jYXRpb25zLiBGaXhlcyAjNDIxNTk4CgkgIEFsc28gYWRkIGEgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDIgaW4gd2F2cGFja2VuYyBmb3Igbm93Li4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ29uc2lkZXIgdGhlIGNoYW5nZSBhYm92ZSBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQgdGVzdCBpZiB0aGUgY29ycmVjdAoJICBjYXBzIGFyZSBhY2NlcHRlZCBhbmQgc2V0LiBBbHNvIGNoZWNrIGZvciBHU1RfQlVGRkVSX09GRlNFVF9FTkQgaW4KCSAgdGhlIHdhdnBhY2twYXJzZSB1bml0IHRlc3QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpOgoJICBTZXQgY2FwcyBvbiB0aGUgc3JjIHBhZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBGaXggaW5kZW50aW9uLiBnc3QtaW5kZW50IGlzIG5vdyBjYWxsZWQgYnkgY2ljbC4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI3IDE4OjAwOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogQWRkIHNvbWUgZGVidWcgbG9nIGFuZCBmaXggYSBzdHVwaWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOiBBZGQgc29tZQoJICBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCjIwMDctMDMtMjYgMTQ6NDk6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgZm9yIHgyNjQgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgoyMDA3LTAzLTI1IDEzOjA2OjI2ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndCBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXMgYXQgaXRvbmlzIHR2PgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrIDxqb3NlZi56bG9tZWsgYXQgaXRvbmlzIHR2PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX21lX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19hbmFseXNlX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2ZyZWUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9wdXQpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9nZXQpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX2Nsb3NlX2VuY29kZXIpLCAoZ3N0X3gyNjRfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgQWRkIGxpYngyNjQtYmFzZWQgaDI2NCBlbmNvZGVyIHBsdWdpbiAoIzQyMTExMCkuIFByb2JhYmx5IGRvZXNuJ3QKCSAgaGFuZGxlICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cyBjb3JyZWN0bHkgeWV0LgoKMjAwNy0wMy0yNCAxOTo0Njo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKToKCSAgUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50bwoJICAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkgZ3Vlc3MgdGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHNldCB0aGUKCSAgcG9zaXRpb24gZm9yIGVhY2ggY2hhbm5lbCBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgaXQncyBub24tTk9ORSwKCSAgYnV0IEknbGwgc2F2ZSB0aGF0IGFzIGEgdGFzayBmb3IgYW5vdGhlciBkYXkpLgoKMjAwNy0wMy0yMyAxODo0MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZtbmMvdm1uY2RlYy5jOiBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdCBtb2RlIHlldCwgdGhvdWdoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2luaXQpLCAodm1uY19kZWNfZmluYWxpemUpLCAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwKCSAgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwKCSAgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLAoJICAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9jb3B5X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbl9mcmFtZSksICh2bW5jX2RlY19jaGFpbiksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgUmVkZXNpZ24gdG8gaW5jbHVkZSBhIHBhcnNlciBmb3IgcmF3IGZpbGVzIChubyB0aW1lc3RhbXBzIGluIHRoYXQKCSAgbW9kZSB5ZXQsIHRob3VnaCkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMjE6MDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2luaXQpOgoJICBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgoyMDA3LTAzLTIyIDE2OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MgaXMgbm8gY2xlYW4gc29sdXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzCgkgIGlzIG5vIGNsZWFuIHNvbHV0aW9uIGFuZCBpbiBnZW5lcmFsIHRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBvbmUgd2FudHMKCSAgdG8gcGFyc2UgZnJhbWVkIHdhdnBhY2sgZGF0YSBhZ2Fpbi4KCjIwMDctMDMtMjIgMTU6NTI6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMKCSAgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja2RlYyAhIHNvbWVhdWRpb3NpbmsiIHBpcGVsaW5lcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQWNjZXB0IGZyYW1lZCBhbmQgbm9uLWZyYW1lZCBpbnB1dCwgd2F2cGFja3BhcnNlIGRvZXNuJ3QgY2FyZS4gVG8KCSAgcHJldmVudCAid2F2cGFja3BhcnNlICEgd2F2cGFja3BhcnNlICEgLi4uIiBwaXBlbGluZXMgbG93ZXIgdGhlCgkgIHJhbmsgb2Ygd2F2cGFja3BhcnNlIGJ5IG9uZS4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrcGFyc2UgIQoJICAuLi4iIHBpcGVsaW5lcy4KCjIwMDctMDMtMjIgMTQ6Mzc6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQUxMX0xERkxBR1MsIHdoaWNoIGFjdHVhbGx5IGV4aXN0cywgYnV0IG1heWJlIERhdmlkCgkgIGNhbiBjb25maXJtIHRoYXQgd2FzIHdoYXQgaGUgd2FudGVkLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTE4IDE3OjU3OjQ4ICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQgY2F1c2UgZGVhZGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pOgoJICBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQKCSAgY2F1c2UgZGVhZGxvY2tzLgoKMjAwNy0wMy0xNiAxODozODoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgoyMDA3LTAzLTE2IDE2OjI3OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlIHdpbGwgY29udGFpbiBhIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZQoJICB3aWxsIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIE5TVmlldy4KCjIwMDctMDMtMTYgMTE6MjI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogTW92ZSB0aGUgTVBFRyBzcGVjaWZpYyBieXRlIHBhcnNpbmcgaW50byB0aGUgbXBlZ3BhY2tldGlzZXIgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKSwKCSAgKGNvbGxlY3RfcGFja2V0cyksIChzZXRfcGFyX2Zyb21fZGFyKSwgKHNldF9mcHNfZnJvbV9jb2RlKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfcGljdHVyZSksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBBZGQgcGFyc2luZyBvZiBwaWN0dXJlIHR5cGVzLCB0aGF0IGp1c3QgZmVlZHMgaW50byBhIGRlYnVnIG1lc3NhZ2UKCSAgZm9yIG5vdy4KCSAgRml4IHNvbWUgNjQtYml0IGZvcm1hdCBzdHJpbmdzLgoKMjAwNy0wMy0xNiAxMDoxNTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDMtMTYgMDk6NTc6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOiBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCk6CgkgIEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgoyMDA3LTAzLTE1IDIwOjQ4OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28gdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL21wMXZpZGVvcGFyc2UudmNwcm9qOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfcGFja2V0aXNlcl9pbml0KSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mcmVlKSwgKG1wZWdfcGFja2V0aXNlcl9hZGRfYnVmKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mbHVzaCksIChtcGVnX2ZpbmRfc3RhcnRfY29kZSksCgkgIChnZXRfbmV4dF9mcmVlX2Jsb2NrKSwgKGNvbXBsZXRlX2N1cnJlbnRfYmxvY2spLAoJICAoYXBwZW5kX3RvX2N1cnJlbnRfYmxvY2spLCAoc3RhcnRfbmV3X2Jsb2NrKSwgKGhhbmRsZV9wYWNrZXQpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKG1wZWdfcGFja2V0aXNlcl9oYW5kbGVfZW9zKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9nZXRfYmxvY2spLCAobXBlZ19wYWNrZXRpc2VyX25leHRfYmxvY2spOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAobXBlZ3ZpZGVvcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2xhc3NfaW5pdCksCgkgIChtcHZfcGFyc2VfcmVzZXQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2luaXQpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Rpc3Bvc2UpLCAoc2V0X3Bhcl9mcm9tX2RhciksCgkgIChzZXRfZnBzX2Zyb21fY29kZSksIChtcGVndmlkZW9wYXJzZV9wYXJzZV9zZXEpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX3RpbWVfY29kZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28KCSAgdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBSZW5hbWUgaXQgdG8gbXBlZ3ZpZGVvcGFyc2UgdG8gcmVmbGVjdCB0aGF0IGl0IGhhbmRsZXMgTVBFRy0xIGFuZAoJICBNUEVHLTIgbm93LgoJICBSZS13cml0ZSB0aGUgcGFyc2luZyBjb2RlIHNvIHRoYXQgaXQgY29sbGVjdHMgcGFja2V0cyBkaWZmZXJlbnRseQoJICBhbmQgdGltZXN0YW1wcyBQaWN0dXJlIHBhY2tldHMgY29ycmVjdGx5LgoJICBBZGQgYSBsaXN0IG9mIEZJWE1FJ3MgYXQgdGhlIHRvcC4KCjIwMDctMDMtMTUgMTA6NTI6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgdHJpZ2dlciBkaXNjb250aW51aXRpZXMgZm9yIHZlcnkgc21hbGwgaW1wZXJmZWN0aW9uczsgYSBmaWx0ZXIgZmx1c2ggd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlcgoJICBmbHVzaCB3aWxsIHNvdW5kIGJhZCwgYW5kIG1hbnkgcGx1Z2lucyBoYXZlIHJvdW5kaW5nIGVycm9ycyBsZWFkaW5nCgkgIHRvIHRoZXNlLgoKMjAwNy0wMy0xNCAxNzoxNjozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEhhbmRsZSBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpOiBIYW5kbGUKCSAgZGlzY29udGludW91cyBzdHJlYW1zLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOiBBZGQgYSB0ZXN0IGZvciBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiBVcGRhdGVkLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MzM6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vc3YucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wMy0xNCAxNDo0ODoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5pdCk6CgkgIFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUKCSAgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXJ5J3MgZGVidWdnaW5nIHRvIGl0cyBvd24gY2F0ZWdvcnksCgkgIGxpYmF1ZGlvcmVzYW1wbGUKCjIwMDctMDMtMTQgMTQ6NDg6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpOgoJICBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBZGQgc29tZSBjb21tZW50cyBhYm91dCBmbG9hdCBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNDowOToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCjIwMDctMDMtMTMgMTg6MDE6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWdhdWRpb3BhcnNlLzogUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseSBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9tcGVnYXVkaW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBib2d1cyAybmQgY29weSBvZiBtcDNwYXJzZSAtIGl0J3MgYWN0dWFsbHkKCSAgaW4gLXVnbHkuCgoyMDA3LTAzLTEyIDExOjQ3OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOiBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAzLTExIDAwOjQ4OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhcHBzcmMvYXBwc2luayBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIEFkZCBhcHBzaW5rLgoKMjAwNy0wMy0xMCAyMDoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKE5BU19jcmVhdGVGbG93KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiAoZ3N0X3NmX3NyY19jcmVhdGUpOgoJICBQcmludGYgZm9ybWF0IHN0cmluZyBmaXhlcy4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjM6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fZXZlbnQpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrCgkgIHNlZ21lbnQuCgoyMDA3LTAzLTA2IDEzOjU3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIEFkZCBGSVhNRXMgZm9yIHN0dWZmIHRoYXQgbG9va3MgcmF0aGVyIHdyb25nLgoKMjAwNy0wMy0wNSAwODozMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgoyMDA3LTAzLTA0IDIxOjM2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X25hc19zaW5rX2luaXQpLCAoZ3N0X25hc19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSk6CgkgIFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA3LTAzLTA0IDIwOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy86IEJ1bmNoIG9mIG5hc3NpbmsgY2xlYW4tdXBzOiBtYWtlIGJ1aWxkIGJ5IGFkZGluZyB0aGUgcmlnaHQgQ0ZMQUdTIGFuZCBMSUJTIHRvIE1ha2VmaWxlLmFtOyByZW5hbWUgc3RydWN0dXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9SRUFETUU6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfZ2V0X3R5cGUpLAoJICAoZ3N0X25hc19zaW5rX2Jhc2VfaW5pdCksIChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X25hc19zaW5rX2dldGNhcHMpLCAoZ3N0X25hc19zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSksIChnc3RfbmFzX3NpbmtfZGVsYXkpLAoJICAoZ3N0X25hc19zaW5rX3Jlc2V0KSwgKGdzdF9uYXNfc2lua193cml0ZSksCgkgIChnc3RfbmFzX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9uYXNfc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25hc19zaW5rX29wZW4pLCAoZ3N0X25hc19zaW5rX2Nsb3NlKSwgKE5BU19mbHVzaCksCgkgIChOQVNfc2VuZERhdGEpLCAoTkFTX0V2ZW50SGFuZGxlciksIChnc3RfbmFzX3Npbmtfc2lua19nZXRfZm9ybWF0KSwKCSAgKE5BU19jcmVhdGVGbG93KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MKCSAgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUsIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIGFjY29yZGluZyB0byBjYW5vbmljYWwgbmFtaW5nIHNjaGVtZTsgbW92ZSBzb21lIHRoaW5ncyBhcm91bmQgYSBiaXQ7CgkgIHVzZSBHU1RfQ0FUX0RFRkFVTFQgaW5zdGVhZCBvZiBHU1RfQ0FUXyogZXZlcnl3aGVyZTsgcmVtb3ZlIFJFQURNRQoJICBmaWxlIHRoYXQgZGlkbid0IHJlYWxseSBjb250YWluIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYW55d2F5ICh0aGUKCSAgdXNlZnVsIGJpdHMgaGF2ZSBiZWVuIG1vdmVkIGludG8gdGhlICdob3N0JyBwcm9wZXJ0eSBkZXNjcmlwdGlvbikuCgoyMDA3LTAzLTA0IDE2OjM4OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogQ2hhaW4gdXAgaW4gZmluYWxpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpOgoJICBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCjIwMDctMDMtMDMgMjI6Mjg6MDMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEZpeCB1cCBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBkaXN0LgoKMjAwNy0wMy0wMyAyMjoxMzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKGdzdF92bW5jX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3ZtbmNfZGVjX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksCgkgICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksCgkgIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLCAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbiksICh2bW5jX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAodm1uY19kZWNfc2V0X3Byb3BlcnR5KSwgKHZtbmNfZGVjX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBWTW5jIGRlY29kZXIuCgkgIFN0aWxsIG1pc3Npbmcgc3VwcG9ydCBmb3I6CgkgIC0gcmVjdGFuZ2xlIHR5cGVzIEkgZGlkbid0IGZpbmQgaW4gbXkgc2FtcGxlcyAoZS5nLiBjb3B5LCBSUkUsCgkgIFpSTEUpCgkgIC0gYWxwaGEtY29tcG9zaXRlZCBjdXJzb3JzCgoyMDA3LTAzLTAzIDEwOjIzOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06IEluc3RhbGwgdGhlIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEluc3RhbGwgdGhlIGhlYWRlcnMuCgoyMDA3LTAzLTAzIDEwOjEwOjMwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvOiBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IKCSAgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoKMjAwNy0wMy0wMyAwOTowNjowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCjIwMDctMDMtMDMgMDg6MTY6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTW92ZSB0aGUgYXBwIGxpYnJhcnkgdG8gZ3N0LWxpYnMvZ3N0L2FwcCAoZHVoISkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoKMjAwNy0wMy0wMiAxOTo0Mzo0OCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uYXMvbmFzc2luay5oOgoJICBDb21taXQgTkFTIFNpbmssIGNsb3NlZCBidWd6aWxsYSAzNDU2MzMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoKMjAwNy0wMy0wMiAxODoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksIChnc3RfZHRzZGVjX3NpbmtfZXZlbnQpOgoJICBBIGZldyBzbWFsbCBjbGVhbi11cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIE1vcmUgZGVidWcgb3V0cHV0IGZvciBmYWlsdXJlIGNhc2VzLgoKMjAwNy0wMy0wMiAxODoxMDowNiArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0gY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBhdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaGFuZGxlX2ZyYW1lKSwKCSAgKGdzdF9kdHNkZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZG8gZm9yY2VkIGRvd25taXhpbmcgdG8gc3RlcmVvLCBidXQgY2hlY2sgd2hhdCBkb3duc3RyZWFtCgkgIGNhbiBkbyBhbmQgbGV0IGxpYmR0cyBkbyB0aGUgZG93bm1peGluZyBiYXNlZCBvbiB0aGF0ICgjNDAwNTU1KS4KCjIwMDctMDMtMDIgMTM6MzM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgoyMDA3LTAzLTAyIDEyOjA0OjAyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cCBtZW1iZXIgKCMzODgwNTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciAgPGx1dHogdG9wZnJvc2UgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cAoJICBtZW1iZXIgKCMzODgwNTApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBib2d1cyBVUkkgdG8gc29tZXRoaW5nIHRoYXQgYWN0dWFsbHkgZXhpc3RzLCBvdGhlcndpc2Ugd2UganVzdAoJICBieXBhc3MgdGhlIHRlc3QgKGFuZCBhbHNvIHRvIHNvbWV0aGluZyB0aGF0IGRvZXNuJ3QgcmVkaXJlY3QsIHNpbmNlCgkgIG5lb25odHRwc3JjIGRvZXNuJ3Qgc2VlbSB0byBoYW5kbGUgdGhpcyB2ZXJ5IGdyYWNlZnVsbHkgeWV0KQoKMjAwNy0wMy0wMiAxMToxNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgoyMDA3LTAzLTAxIDE3OjI3OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuCgkgIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMi0yOCAxOTozMToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDIxOjAxOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYSBuZXcgcGx1Z2luL2xpYnJhcnkgdG8gbWFrZSBpdCBlYXN5IGZvciBhcHBzIHRvIHNob3ZlCgkgIGRhdGEgaW50byBhIHBpcGVsaW5lLgoKMjAwNy0wMi0yNiAxMDozMjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24gZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgIS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24KCSAgZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgISBjcyAhIHhpbWFnZXNpbmsgYW5kIHRoZQoJICBpbWFnZXNpbmsgd2luZG93IGlzIHJlc2l6ZWQpOyBhbHNvLCBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDItMjQgMjI6NTI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTYgMTY6MjY6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGVxdWFsaXplciBwbHVnaW4KCjIwMDctMDItMTMgMTQ6MjI6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoKMjAwNy0wMi0xMyAwOTo0NDoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluCgkgIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgQWxzbyBidWlsZCBpZiBubyBjb25maWcgd2FzIGRldGVjdGVkIGF0IGNvbmZpZ3VyZSB0aW1lLgoKMjAwNy0wMi0xMSAxNTo0NjoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cCBsb2dnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2xhc3NfaW5pdCksIChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfc3JjX2NvbnZlcnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19xdWVyeSksCgkgIChnc3Rfd2lsZG1pZGlfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dpbGRtaWRpX2dldF9zZWdtZW50KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19ldmVudCksCgkgIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGUpLCAoZ3N0X3dpbGRtaWRpX2FjdGl2YXRlcHVsbCksCgkgIChnc3Rfd2lsZG1pZGlfYWxsb2NhdGVfYnVmZmVyKSwgKGdzdF93aWxkbWlkaV9jbGlwX2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfZmlsbF9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2dldF9idWZmZXIpLAoJICAoZ3N0X3dpbGRtaWRpX2xvb3ApLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2lsZG1pZGlfc2V0X3Byb3BlcnR5KSwgKGdzdF93aWxkbWlkaV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dpbGRtaWRpX3R5cGVmaW5kKSwgKHdpbGRtaWRpX29wZW5fY29uZmlnKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cAoJICBsb2dnaW5nLgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTE6NTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgoyMDA3LTAyLTExIDExOjM1OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRlbGwgdGhlIGNvZGUgd2hpY2ggZmFhZCBpdCBpcywgc28gdGhhdCB3ZSBjYW4gYWRqdXN0IHRoZSBoYWNrcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzCgkgIG5lZWRlZC4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIE1ha2Ugb3VyIGhhY2tzIGRlcGVuZGVudCBvbiB0aGUgZmFkZCBsaWIgaW4gdXNlLgoKMjAwNy0wMi0xMSAxMDo1ODoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgoyMDA3LTAyLTA4IDE1OjAwOjAwICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoKCSAgQWRkIHRpbWl0aXR5IG1pZGkgcmVuZGVyIHBsdWdpbiAoIzQwMzk5MikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2xhc3NfaW5pdCksIChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfc2V0X3Nvbmdfb3B0aW9ucyksIChnc3RfdGltaWRpdHlfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19xdWVyeSksIChnc3RfdGltaWRpdHlfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9zZWdtZW50KSwgKGdzdF90aW1pZGl0eV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19ldmVudCksIChnc3RfdGltaWRpdHlfYWN0aXZhdGUpLAoJICAoZ3N0X3RpbWlkaXR5X2FjdGl2YXRlcHVsbCksIChnc3RfdGltaWRpdHlfYWxsb2NhdGVfYnVmZmVyKSwKCSAgKGdzdF90aW1pZGl0eV9jbGlwX2J1ZmZlciksIChnc3RfdGltaWRpdHlfZmlsbF9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9idWZmZXIpLCAoZ3N0X3RpbWlkaXR5X2xvb3ApLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChnc3RfdGltaWRpdHlfdHlwZWZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoKMjAwNy0wMi0wNyAxMjoyOTowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9xdWVyeSk6CgkgIEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIFN3aXRjaGVkIHRvIHVzaW5nIGdzdF9wYWRfZ2V0X3BhcmVudCgpLgoKMjAwNy0wMi0wNiAxNjowMDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKCkgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoKMjAwNy0wMi0wNiAxMDoxNjo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8gaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEluY3JlYXNlIHJlcXVpcmVkIGxpYnNuZGZpbGUgdmVyc2lvbiB0byBhIHZlcnNpb24gdGhhdCdzIGtub3duIHRvCgkgIGhhdmUgdGhlIGZ1bmN0aW9uIHNmX3dyaXRlX3N5bmMoKSB0byBtYWtlIHRoZSBidWlsZCBib3RzIGhhcHB5LgoKMjAwNy0wMi0wNiAwOTozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IEZpeCBidWlsZCAoaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSAgRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wMi0wNSAxODo0Mjo0NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NuZGZpbGUvOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aCByYW5kb20gYWNjZXNzIHdvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aAoJICByYW5kb20gYWNjZXNzIHdvby4KCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMi0wMiAxMzoyODowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBleHQvTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbQoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDogUG9ydCBzZnNpbmsgdG8gMC4xMC4gV29ya3MgaW4gcHVsbCBvcgoJICBwdXNoIG1vZGUgd2l0aCBpbnRlcmxlYXZlZCBmbG9hdCBvciBpbnQgZGF0YS4KCjIwMDctMDItMDIgMTE6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsgKHdoaWNoIGRpZG4ndCBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgc28gdGhhdCBpdCBkb2Vzbid0IGdldCBhdXRvcGx1Z2dlZCBieSBhdXRvYXVkaW9zaW5rCgkgICh3aGljaCBkaWRuJ3QgaGFwcGVuIHByZXZpb3VzbHkgYmVjYXVzZSB0aGUga2xhc3Mgc3RyaW5nIGRpZG4ndAoJICBjb250YWluIGFueXRoaW5nIGF1dG9hdWRpb3Npbmsgd2FzIGxvb2tpbmcgZm9yKS4KCjIwMDctMDEtMzEgMTA6MDI6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZWFsLzogRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMxIDA4OjE2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpLAoJICAoZ3N0X2xhZHNwYV9jbGFzc19pbml0KToKCSAgSW1wcm92ZSBLbGFzc2lmaWNhdGlvbiBhbmQgcmVkdWNlIGNvZGUgc2xpZ2hseS4KCjIwMDctMDEtMzAgMTc6MTk6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUG9ydCBvZiBvc3h2aWRlbyBwbHVnaW4gdG8gMC4xMC4gRG8gTk9UIGNvbnNpZGVyIDEwMCUgc3RhYmxlICEKCSAgRml4ZXMgIzQwMjQ3MAoKMjAwNy0wMS0yOSAyMDo1MTowMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMDEtMjggMTg6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpOgoJICBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAoY2hlY2tfYnVzX2Zvcl9lcnJvcnMpLAoJICAodGVzdF93aXRoX2NhcHMpLCAobWFpbik6CgkgIEJsb2NrIHN0cmVhbWluZyB0aHJlYWQgYmVmb3JlIGNoYW5naW5nIGZpbHRlciBjYXBzIHdoaWxlIHRoZQoJICBwaXBlbGluZSBpcyBydW5uaW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IHJhbmRvbSBub3QtbmVnb3RpYXRlZAoJICBlcnJvcnMganVzdCBiZWNhdXNlIEdTdHJlYW1lciBjYW4ndCBoYW5kbGUgdGhhdCB5ZXQuCgoyMDA3LTAxLTI4IDE3OjM1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9jbGFzc19nZXRfcGFyYW1fc3BlYyk6CgkgIGFkZCBHc3RDb250cm9sbGVyIHN1cHBvcnQgdG8gbGFkc3BhCgoyMDA3LTAxLTI4IDEzOjAxOjAyICswMDAwICBSb3NmcmFuIEJvcmdlcyA8cm9zZnJhbi5ib3JnZXNAaWRudC5vcmcuYnI+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZW1vdmUgc2xlZXAgY2FsbHMsIHRoZXkndmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBsaWJyYXJ5IG5vdyAuLi4gKCMzNTQ0NTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuIGRvdCBib3JnZXMgYXQgaWRudCBvcmcgYnI+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbik6CgkgIFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLgoJICAoIzM1NDQ1MSkuCgoyMDA3LTAxLTI3IDE2OjA4OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2Fwcyk6CgkgIENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoKMjAwNy0wMS0yNSAyMzoyNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlCgkgIG90aGVyIHdheSBhcm91bmQuIEFsc28gc2V0IHRoZSBjb3JyZWN0IGZvcm1hdCBpbiB0aGUgc2Vla2luZyBxdWVyeSBhbmQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBoZWFkZXJzIGFyZSBub3QgcmVhZCB5ZXQgYW5kIHdlIGNhbid0IHNheQoJICBhbnl0aGluZyBhYm91dCBvdXIgc2Vla2luZyBjYXBhYmlsaXRpZXMuCgoyMDA3LTAxLTI1IDIxOjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoKMjAwNy0wMS0yNSAxMjowNToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIChnc3RfbXVsdGlfZmlsZV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV92aWRlb19jcmVhdGVfYnVmZmVyKSwKCSAgKGdzdF9tdmVfdmlkZW9fcGFsZXR0ZSksIChnc3RfbXZlX3ZpZGVvX2NvZGVfbWFwKSwKCSAgKGdzdF9tdmVfYXVkaW9faW5pdCksIChnc3RfbXZlX2F1ZGlvX2RhdGEpLCAoZ3N0X212ZV90aW1lcl9jcmVhdGUpLAoJICAoZ3N0X212ZV9kZW11eF9jaGFpbik6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3B1c2hfY2h1bmspOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOiAobXZlX2VuY29kZV9mcmFtZTE2KToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOiAobXZlX2VuY29kZV9mcmFtZTgpOgoJICBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hYyBvcyB4LgoJICA8d2luZ28+IG9vIGxvb2sgYXQgbWUgbXkgbmFtZSBpcyBlZHdhcmQgaSdtIGhhY2tpbmcgb24gbWFjb3Mgd29vbwoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxNDo1NDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgIHdvcmsgaWYgaXQncyBhbHJlYWR5IHRoZXJlIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgoyMDA3LTAxLTE3IDE3OjI5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxMjozNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbiBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZG9fcmVhZF9yZXF1ZXN0X3Jlc3BvbnNlKSwKCSAgKGdzdF9teXRodHZfc3JjX2NyZWF0ZSksIChnc3RfbXl0aHR2X3NyY19nZXRfcG9zaXRpb24pLAoJICAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksIChnc3RfbXl0aHR2X3NyY19zdGFydCksCgkgIChnc3RfbXl0aHR2X3NyY19uZXh0X3Byb2dyYW1fY2hhaW4pLCAoZ3N0X215dGh0dl9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX2V2ZW50KSwgKGdzdF9teXRodHZfc3JjX2hhbmRsZV9xdWVyeSksCgkgIChnc3RfbXl0aHR2X3NyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teXRodHZfc3JjX3VyaV9nZXRfdHlwZSk6CgkgIENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbgoJICBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIGNhc2VzOyBmaXggdXAgcXVlcnkgZnVuY3Rpb24uCgoyMDA3LTAxLTEyIDIxOjU4OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2FwcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIFJlbW92ZSBmaXhhdGUvb3VpamEgc3R1ZmYsIHRoYW5rZnVsbHksIGR1ZSB0byB0aGUgbmV3CgkgIHBhcnQtbmVnb3RpYXRpb24udHh0IHB1bGwtbW9kZSBuZWdvdGlhdGlvbiBzY2hlbWUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogSW1wbGVtZW50IHVwc3RyZWFtIHNldF9jYXBzIHB1bGwKCSAgcHJveHlpbmcgZm9yIHB1bGwgbW9kZS4gTm93IHRoaXMgd29ya3M6IGxhZHNwYS1zaW5lLWZjYWMgIQoJICBhdWRpb2NvbnZlcnQgISBhbHNhc2luay4KCjIwMDctMDEtMTIgMTk6MDI6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBNeXRoVFYgY2xpZW50IHNvdXJjZSBwbHVnaW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoKMjAwNy0wMS0xMiAxNzoxNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF94cXRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3F1aWNrdGltZV9wYXJzZV9zZCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBNYWtlIG5ldyBwbHVnaW4gZW50cnkgcG9pbnQgd2l0aCBxdWlja3RpbWUgcmVsZWF0ZWQgc3R1ZmYuCgoyMDA3LTAxLTEyIDEyOjEwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06IERpc3QgYWxsIG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIG5ldyBmaWxlcy4KCjIwMDctMDEtMTIgMTA6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCjIwMDctMDEtMTIgMTA6MjU6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLio6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19zYW1wbGVfcmF0ZV9jYiksCgkgIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjI0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21lbmMuYzogRml4IHR5cG8gaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCk6CgkgIEZpeCB0eXBvIGluIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjIyOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X25vZGVfZHVtcCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6IChxdGRlbXV4X3R5cGVfZ2V0KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgIENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgTW92ZSBkZWJ1Z2dpbmcvdGFibGVzIGludG8gc2VwYXJhdGUgZmlsZXMuCgkgIEFkZCAyLzQvMTYgY29sb3IgcGFsbGV0ZWUgc3VwcG9ydC4KCSAgRml4IHJhdyAxNSBiaXQgUkdCIGhhbmRsaW5nLgoJICBVc2UgbW9yZSBGT1VSQ0MgY29uc3RhbnRzLgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wMS0xMSAxOTo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSk6CgkgIE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCjIwMDctMDEtMTEgMTI6Mjg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IFN1cHBvcnQgU0VFS0lORyBxdWVyeSAoYmFkIG5ld3Mgbm93IGRlbGl2ZXJlZCBwcm9wZXJseSEpOyBhZGQgZXZlbnQgZnVuY3Rpb24gdG8gc291cmNlIHBhZHMgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfbXZlX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X212ZV9hZGRfc3RyZWFtKToKCSAgU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudAoJICBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0byBtYWtlIHN1cmUgc2Vla3MgYXJlbid0IHByb3BhZ2F0ZWQKCSAgdXBzdHJlYW0sIGV2ZW4gaWYgdGhleSBhcmVuJ3QgaGFuZGxlZC4KCjIwMDctMDEtMTEgMTE6Mzk6NTYgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEFkZCBJbnRlcnBsYXkgTVZFIGZvcm1hdCBkZW11eGVyL2RlY29kZXIgYW5kIG11eGVyL2VuY29kZXIuIERlbXV4ZXIgZG9lc24ndCBzdXBwb3J0IHNlZWtpbmcgeWV0LCBidXQgc2VlbXMgdG8gd29yayBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9UT0RPOgoJICAqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkgICogZ3N0L212ZS9tdmUuaDoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlcgoJICBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpbmUgb3RoZXJ3aXNlLgoJICBDbG9zZXMgIzM0ODk3My4KCjIwMDctMDEtMDkgMTA6MDY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCAoYWRkIExJQlMgYW5kIENGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBzdHVmZikuCgoyMDA3LTAxLTA3IDIyOjAzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQKCSAgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBUaGUgaW50ZXJsZWF2ZXIgY2FuIG9wZXJhdGUgaW4gcHVsbCBvciBwdXNoIG1vZGUgYnV0IHRoZQoJICBkZWludGVybGVhdmVyIGlzIG1vcmUgbGlrZSBhIGRlbXV4ZXIgYW5kIGNhbiBvbmx5IG9wZXJhdGUgaW4gcHVzaAoJICBtb2RlLgoKMjAwNy0wMS0wNiAxOToyMzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFByb3Blcmx5IGRldGVjdCB0aGUgdHdvIGFyY2hpdGVjdHVyZXMgb24gd2hpY2ggdGhlIHJlYWwgcGx1Z2luIGNhbiBiZQoJICBidWlsdC4KCSAgRml4ZXMgIzM5MzYyMgoKMjAwNy0wMS0wNiAxNzoyMjoxMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBNb3ZlIGFyb3VuZCBpbiB0aGUgc291cmNlCgkgIGZpbGUuLi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUsIGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKToKCSAgQ2FsbCBvdWlqYV9jYXBzIGluIHByZXBhcmUoKSBpbnN0ZWFkIG9mIGRvX3B1bGxzKCksIGEgYml0IGVhcmxpZXIuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhdmUgY2FwcyB3aGVuIHdlIGRvIHRoZSBwYWRfYWxsb2NfYnVmZmVyKCkuCgkgIChnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMpOiBVc2Ugc2VsZi0+Y2FwcyBpbnN0ZWFkIG9mIHRoZQoJICBwYWQgY2Fwcywgd2hpY2ggbWlnaHQgbm90IGJlIHNldCB5ZXQuCgoyMDA3LTAxLTA2IDE1OjU2OjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKTogQWRkIGEgZml4YXRlIGZ1bmN0aW9uLCB0byBhc3Npc3QgaW4KCSAgcGF0aG9sb2dpY2FsIGxhZHNwYS1zaW5lLWZjYWMgISBmYWtlc2luayBjYW4tYWN0aXZhdGUtcHVsbD10cnVlCgkgIGNhc2VzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEFkZAoJICBuZnJhbWVzIGFyZ3Mgc28gdGhhdCBnZXRyYW5nZSBjYW4gdGVsbCBsYWRzcGEgaG93IG1hbnkgZnJhbWVzIHRvCgkgIHByb2Nlc3MuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzKTogc2V0Y2FwcyBuZWVkcyB0byBiZSBjYWxsZWQKCSAgYmVmb3JlIHByb2Nlc3NpbmcsIHdoaWNoIG5vcm1hbGx5IGhhcHBlbnMgd2hlbiBjaGFpbmluZyBhIGJ1ZmZlcgoJICB0byBhIHBhZC4gSG93ZXZlciBpbiBnZXRyYW5nZSBtb2RlIHdpdGggbm8gc2lua3Mgd2UgbmVlZCB0byBjaGVjawoJICBleHBsaWNpdGx5IGZvciB0aGlzIGNvbmRpdGlvbiwgZ3Vlc3Mgc29tZSBjYXBzIHRvIHVzZSwgYW5kIHVzZQoJICB0aG9zZSB0byBzZXRjYXBzKCkuIEhlbmNlIHRoaXMgbXlzdGljYWwgZnVuY3Rpb24uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IFB1bGwgaW4gYnl0ZXMsIG5vdCBzYW1wbGVzLgoJICBEaXZpbmUgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBJbnRlcnByZXQgdGhlIGxlbmd0aCBhcyBieXRlcywKCSAgbm90IHNhbXBsZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6IG5mcmFtZXM9R19NQVhVSU5ULCB3aWxsIGJlIGxpbWl0ZWQKCSAgYnkgaW5jb21pbmcgYnVmZmVyIHNpemVzLgoKMjAwNy0wMS0wNiAxNDowODoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgRG9uJ3QgY2FsbCB0aGUgUkFGcmVlRGVjb2RlciBzaW5jZSBpdCByYW5kb21seSBjYXVzZXMgc2VnZmF1bHRzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBpbmRlbnQgcHJvcGVybHkuCgoyMDA3LTAxLTA2IDEwOjU4OjEzICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcGxlbWVudCBlcnJvciByZWNvdmVyeSBvbiBzZXRjYXBzIGZhaWx1cmUuCgoyMDA3LTAxLTA2IDEwOjQxOjQ2ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC86IEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBBZGRlZCBSZWFsQXVkaW8gd3JhcHBlciBlbGVtZW50ZmFjdG9yeS4KCSAgTW9kaWZpZWQgc3RydWN0dXJlcyBzbyBpdCBjYW4gYWxzbyB3b3JrIG9uIHg4Nl82NCB1c2luZyB0aGUKCSAgYWRlcXVhdGUgLnNvIC4KCjIwMDctMDEtMDUgMTg6MzI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdik6CgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIKCSAgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS1leHRlcm5hbCBoYXMKCSAgYmVlbiBzcGVjaWZpZWQhKSwgZGlzYWJsZSB0aGUgYml0cyBpbiBxdGRlbXV4IHRoYXQgdXNlIGl0LiBGaXhlcwoJICBidWlsZCBvbiBNaW5nVyAoIzM5Mjg1NikuCgoyMDA3LTAxLTA1IDE4OjE1OjUyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgUmVhbCBwbHVnaW4gb24gaTM4NiBBTkQgeDg2XzY0LgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgTmV3IHBsdWdpbiBmaWxlIGZvciByZWFsIC5zbyB3cmFwcGVyIHBsdWdpbnMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19iYXNlX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIE1vdmVkIFJlYWxWaWRlbyBlbGVtZW50IHRvIHNlcGFyYXRlIGZpbGUKCSAgQ2xlYW5lZCB1cCBjb2RlIHNvbWUgbW9yZS4KCSAgTWFrZSBpdCB3b3JrIG9uIHg4Nl82NC4KCSAgVHJ5IHNldmVyYWwgcG9zc2libGUgbG9jYXRpb25zIGZvciAuc28KCSAgU2VwYXJhdGUgb3BlbmluZy9jbG9zaW5nIGxpYnJhcmllcyBpbiBzZXBhcmF0ZSBmdW5jdGlvbnMuCgoyMDA3LTAxLTA1IDE2OjA3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzCgkgIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlYWR5IGJlZW4gaW5pdGVkIHZpYSB0aGUgR09wdGlvbiBzdHVmZi4KCjIwMDctMDEtMDUgMTQ6MDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBTaG91bGQgZml4IGNvbXBpbGF0aW9uIG9uIE1pbmdXLgoKMjAwNy0wMS0wNCAxNjozOTozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvcnVuLnNoOgoJKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCjIwMDctMDEtMDQgMTY6MzI6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIG1vdmUgYW1yd2IgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBhbXJ3YiBjb2RlCgo9PT0gcmVsZWFzZSAwLjEwLjEyID09PQoKMjAwNy0wMS0wNCAxMjo0OTo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHNwbGl0IG91dCBHU1RfQ0ZMQUdTIGludG8gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgYW5kIEdTVF9DRkxBR1Mgc28gdGhhdCBHU1RfQkFTRV9DRkxBR1MgY2FuIGdvIGluYmV0d2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBzcGxpdCBvdXQgR1NUX0NGTEFHUyBpbnRvIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQ0ZMQUdTCgkgIHNvIHRoYXQgR1NUX0JBU0VfQ0ZMQUdTIGNhbiBnbyBpbmJldHdlZW4gdGhlbSwgbWFraW5nIHN1cmUKCSAgd2UgdXNlIHVuaW5zdGFsbGVkIGdzdC1saWJzIGhlYWRlcnMKCSAgKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9yaWZmL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3RhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYWRhcHQKCjIwMDctMDEtMDQgMDk6NTE6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0LzogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdCByZXZlYWwgcG90ZW50aWFsIGJ1Z3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX29wZW4pOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB0aGF0CgkgIHJldmVhbCBwb3RlbnRpYWwgYnVncy4KCjIwMDctMDEtMDQgMDk6NDQ6NTcgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX3Jlc2V0KToKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyNjM4KS4gQWxzbyBzaW1wbGlmeSBEaXJlY3REcmF3IGNoZWNrIGEgYml0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCBDVlMgaWdub3JlIGZvciBuZW9uaHR0cHNyYyB0ZXN0IGJpbmFyeS4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDctMDEtMDMgMTY6NDE6MTAgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGlpcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2hlYWRlcl9sb2FkKSwKCSAgKGdzdF9udXZfZGVtdXhfc3RyZWFtX2V4dGVuZF9oZWFkZXIpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgoyMDA3LTAxLTAyIDExOjA2OjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbC5jOiBVc2UgY29kZWNfZGF0YSBzdXBwbGllZCBpbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICAoZ3N0X3JlYWxkZWNfc2V0Y2Fwcyk6IFVzZSBjb2RlY19kYXRhIHN1cHBsaWVkIGluIGNhcHMuCgkgIChnc3RfcmVhbGRlY19nZXRfcHJvcGVydHkpOiBDb3JyZWN0bHkgcmV0dXJuIGRlZmF1bHQgcGF0aC4KCSAgKGdzdF9yZWFsZGVjX2NsYXNzX2luaXQpOiBSZW1vdmUgdW51c2VkIHN0YXRlX2NoYW5nZSBtZXRob2QuCgoyMDA3LTAxLTAxIDE4OjA2OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGJ1aWxkIHRoZSBwbHVnaW4gb24gMzJiaXQgeDg2IGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBidWlsZCB0aGUgcGx1Z2luIG9uIDMyYml0IHg4NiBhcmNoaXRlY3R1cmVzLgoKMjAwNy0wMS0wMSAxNzo0Nzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIE5ldyBwbHVnaW4gZm9yIGRlY29kaW5nIFJlYWxWaWRlbyBTdHJlYW1zIHVzaW5nIHRoZSB4ODYgMzJiaXQgc2hhcmVkIGxpYnJhcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChnc3RfcmVhbGRlY19hbGxvY19idWZmZXIpLAoJICAoZ3N0X3JlYWxkZWNfZGVjb2RlKSwgKGdzdF9yZWFsZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsZGVjX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X3JlYWxkZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbGRlY19pbml0KSwgKGdzdF9yZWFsZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfcmVhbGRlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxkZWNfZmluYWxpemUpLAoJICAoZ3N0X3JlYWxkZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsZGVjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbGRlY19jbGFzc19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgTmV3IHBsdWdpbiBmb3IgZGVjb2RpbmcgUmVhbFZpZGVvIFN0cmVhbXMgdXNpbmcgdGhlIHg4NiAzMmJpdAoJICBzaGFyZWQgbGlicmFyaWVzLgoJICBDbG9zZXMgIzM1NDE3NAoKMjAwNi0xMi0zMCAxMjo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZSBkZXRhaWxpbmcgd2hpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlCgkgIGRldGFpbGluZyB3aGljaCBlbGVtZW50IGl0IGFjdHVhbGx5IGlzIHRoYXQncyBtaXNzaW5nICgjMzkwNjczKS4KCjIwMDYtMTItMjIgMTY6MjM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWRkZWQgc2VlayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc2VlayBzdXBwb3J0LgoKMjAwNi0xMi0yMiAxMDoxNToyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDE3OjA1OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgcmVsZWFzZSBzZWN0aW9uIGZvciAwLjEwLjQKCj09PSByZWxlYXNlIDAuMTAuNCA9PT0KCjIwMDYtMTItMjEgMTU6NDU6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNCA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCjIwMDYtMTItMjEgMTU6NDA6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTIxIDE0OjA3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBjaGFuZ2Vsb2cgZW50cnkgYWJvdXQgcmV2ZXJ0aW5nIGEgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgZHVwbGljYXRlIGNoYW5nZWxvZyBlbnRyeSBhYm91dCByZXZlcnRpbmcgYSBwcmV2aW91cyBjb21taXQKCjIwMDYtMTItMjEgMTQ6MDM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAxMjo1ODo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDA4OjIwOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAwODoxMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoY2xlYW51cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYzogKHRlYXJkb3duX3N1YnBhcnNlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOiAoY2xlYW51cF90ZXh0b3ZlcmxheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChjbGVhbnVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjbGVhbnVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChjbGVhbnVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpLAoJICAoY2xlYW51cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOiAoc2V0dXBfdm9yYmlzdGFnKSwKCSAgKGNsZWFudXBfdm9yYmlzdGFnKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMTggMTc6MTE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0gaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0KCSAgaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXRhOyBpbnN0ZWFkLCBwb3N0ICJwcm9ncmVzcyIgZWxlbWVudAoJICBtZXNzYWdlcyBhcyBhIHRlbXBvcmFyeSBzb2x1dGlvbi4gQXBwcyBtaWdodCBnZXQgY29uZnVzZWQgYW5kIGRvCgkgIHNpbGx5IHRoaW5ncyB0byB0aGUgcGlwZWxpbmUgc3RhdGUgaWYgdGhleSBzZWUgYnVmZmVyaW5nIG1lc3NhZ2VzCgkgIGZyb20gZGlmZmVyZW50IHNvdXJjZXMgYW5kIGRvbid0IHJlYWxpemUgdGhleSBjb21lIGZyb20gZGlmZmVyZW50CgkgIHNvdXJjZXMgKCMzODcxNjApLgoKMjAwNi0xMi0xOCAxNjo0NzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIExBRFBTQSBwbHVnaW4gZnJvbSAtZ29vZCBmb3IgdGhlIHJlbGVhc2UsIGFzIGl0J3Mgbm90IHF1aXRlIHJlYWR5IHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgLWdvb2QgbW9kdWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhLyo6CgkgIE1vdmUgTEFEUFNBIHBsdWdpbiBmcm9tIC1nb29kIGZvciB0aGUgcmVsZWFzZSwgYXMgaXQncyBub3QgcXVpdGUKCSAgcmVhZHkgdG8gYmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIHRoZSAtZ29vZCBtb2R1bGUgeWV0LgoKMjAwNi0xMi0xOCAxNTo1MTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIgZXJyb3Igc3RhdGUgYWZ0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6CgkgIFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIKCSAgZXJyb3Igc3RhdGUgYWZ0ZXIgdGhlIGZsdXNoLiBGaXhlcyAjMzc0MjEzCgoyMDA2LTEyLTE4IDEzOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIGFuZCBkb24ndCBhZGQgdGhlIHBhZC4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIGl0IGRvZXNuJ3QgY2hlY2sgZm9yIGEgTlVMTCBwYWQgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIEZpeGVzICMzODcxMzcKCjIwMDYtMTItMTggMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBGaXhlcyAjMzg3MTIyLgoKMjAwNi0xMi0xOCAxMDowMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDogVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrIGluc3RhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjawoJICBpbnN0YWxscy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICBGaXhlczogIzM4NzA3NgoKMjAwNi0xMi0xNyAyMDoxOTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMTcgMjA6MTk6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZXBsYWNlIHNvbWUgZW1haWwgYWRkcmVzc2VzIHdpdGggbmFtZXMrZW1haWwgYWRkcmVzc2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlIHNvbWUgZW1haWwgYWRkcmVzc2VzIHdpdGggbmFtZXMrZW1haWwgYWRkcmVzc2VzCgoyMDA2LTEyLTE2IDE1OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIEltcGxlbWVudCBzZWVraW5nIHF1ZXJ5IHNvIGFwcHMgY2FuIHF1ZXJ5IHNlZWthYmlsaXR5IHByb3Blcmx5CgkgIChzZWUgIzM2NTQxNCkuIEZpeCBkdXJhdGlvbiBxdWVyeS4KCjIwMDYtMTItMTUgMTI6MTg6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGRvYXAgZmlsZQoKMjAwNi0xMi0xNSAwOTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFRoZXNlIGRlYnVnIHN0YXRlbWVudHMgc2hvdWxkIGJlIHVzaW5nIExPRyBsZXZlbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgVGhlc2UgZGVidWcgc3RhdGVtZW50cyBzaG91bGQgYmUgdXNpbmcgTE9HIGxldmVsLgoKMjAwNi0xMi0xNCAxNTo0NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IChDVkUtMjAwNi00MTkyKSAoIzM4NTc4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IChDVkUtMjAwNi00MTkyKSAoIzM4NTc4OCkuCgoyMDA2LTEyLTEzIDE3OjEyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDYtMTItMTIgMTY6MTA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBGaXggbWlub3IgbWVtIGxlYWsgaW4gcmVkaXJlY3QgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBGaXggbWlub3IgbWVtIGxlYWsgaW4gcmVkaXJlY3QgY29kZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6IChoYW5kb2ZmX2NiKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG5lb25odHRwc3JjX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cGVyLWJhc2ljIHVuaXQgdGVzdCBmb3IgIzM4NDE0MC4KCjIwMDYtMTItMTIgMTI6NDY6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBTZXQgb2Zmc2V0IG9uIGJ1ZmZlcnMgcHVzaGVkIG91dCAoaWQzZGVtdXggZ2V0cyBjb25mdXNlZCBpZiB0aGUgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGhhdmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBTZXQgb2Zmc2V0IG9uIGJ1ZmZlcnMgcHVzaGVkIG91dCAoaWQzZGVtdXggZ2V0cyBjb25mdXNlZCBpZiB0aGUKCSAgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGhhdmUgYW4gb2Zmc2V0IG9mIDApLiBGaXhlcyAjMzg0MTQwLgoKMjAwNi0xMi0xMiAxMTo0NjowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE1pbm9yIGNsZWFuLXVwczsgcmVtb3ZlIG5ld2xpbmVzIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChvb21fY2FsbGJhY2spOgoJICBNaW5vciBjbGVhbi11cHM7IHJlbW92ZSBuZXdsaW5lcyBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMTItMTEgMTc6MzM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UKCSAgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcyAjMzc4NjEzLgoKMjAwNi0xMi0xMSAwOTo1MToxNyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggbW9kcGx1ZyBkdXJhdGlvbiBxdWVyeS4gRml4ZXMgIzM4NDI5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4pLgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBtb2RwbHVnIGR1cmF0aW9uIHF1ZXJ5LiBGaXhlcyAjMzg0Mjk0LgoKMjAwNi0xMi0wOCAxNzowNjo0MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgRml4ZXMgIzM4MzQ3MS4KCjIwMDYtMTItMDcgMTE6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoKMjAwNi0xMi0wNiAxNjo1NzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvamFjay8uY3ZzaWdub3JlOiBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCjIwMDYtMTItMDYgMTY6MTQ6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdGhlIEphY2sgcmVxdWlyZW1lbnQgdG8gdGhlIHZlcnNpb24gd2hlcmUgSSB0aGluayBvcHRpb25zX3QgYXBwZWFyZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdGhlIEphY2sgcmVxdWlyZW1lbnQgdG8gdGhlIHZlcnNpb24gd2hlcmUgSSB0aGluayBvcHRpb25zX3QKCSAgYXBwZWFyZWQKCjIwMDYtMTItMDEgMTA6MzU6MzkgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVDogRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBkb3QgY29tPgoJICBQYXJ0aWFsbHkgZml4ZXMgIzM4MTE3NQoKMjAwNi0xMS0zMCAxNTowODowOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpOgoJICBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoKMjAwNi0xMS0zMCAxMTo1OTowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMS0zMCAxMTo0OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2luaXQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGlzcG9zZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3BhdXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0b3ApLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGVsYXkpLAoJICAoZ3N0X2phY2tfY29ubmVjdF9nZXRfdHlwZSksIChnc3RfamFja19hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCjIwMDYtMTEtMjcgMTc6MTY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yCgkgIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgoyMDA2LTExLTI2IDE3OjIzOjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBTZW5kIGV2ZW50cyBvbiB0aGUgcmlnaHQgcGFkcywgc2luY2UgdGhleSBkb24ndCB3b3JrIHZlcnkgd2VsbCBpZiB5b3Ugc2VuZCB0aGVtIGluIHRoZSB3cm9uZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19jaGFpbik6CgkgIFNlbmQgZXZlbnRzIG9uIHRoZSByaWdodCBwYWRzLCBzaW5jZSB0aGV5IGRvbid0IHdvcmsgdmVyeSB3ZWxsIGlmCgkgIHlvdSBzZW5kIHRoZW0gaW4gdGhlIHdyb25nIGRpcmVjdGlvbi4KCjIwMDYtMTEtMjQgMDk6MDU6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcyBhbmQgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L3BvbHlwL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MgYW5kIGZ1bmN0aW9ucwoKMjAwNi0xMS0yMSAxMzowMDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCByZmJzcmMgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcmZic3JjIHBsdWdpbgoKMjAwNi0xMS0xOSAxMjowMjoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbTogQ29tcGlsZSB3aXRoIGFwcHJvcHJpYXRlIGNmbGFncy4gRml4ZXMgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIENvbXBpbGUgd2l0aCBhcHByb3ByaWF0ZSBjZmxhZ3MuIEZpeGVzIGJ1aWxkLgoKMjAwNi0xMS0xNyAxODo1MTo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgVE9ORSBwYXJhbWV0ZXIgZm9yIERWQi1TIHdoZW4gd2Ugc2hvdWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0xNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3R1bmUpOgoJICBBY3R1YWxseSBzZXQgdGhlIFRPTkUgcGFyYW1ldGVyIGZvciBEVkItUyB3aGVuIHdlIHNob3VsZC4KCjIwMDYtMTEtMTcgMDM6NTE6MDQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeGVzIGZvciA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeGVzIGZvciA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KCjIwMDYtMTEtMTcgMDM6Mjk6MzIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDogT29wcywgYWRkIHRoaXMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDogIE9vcHMsIGFkZCB0aGlzIGZpbGUuCgoyMDA2LTExLTE3IDAzOjE1OjQwICswMDAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyA8YW5kcnVua29AZ21haWwuY29tPgoKCSAgUG9ydCBsaWJyZmIgdG8gMC4xMCAoIzM3NjEwNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgPGFuZHJ1bmtvQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiLmM6CgkgICogZ3N0L2xpYnJmYi9yZmIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgIFBvcnQgbGlicmZiIHRvIDAuMTAgKCMzNzYxMDYpLgoKMjAwNi0xMS0xNiAxODoyMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGMvZ3N0c3BjLmM6IEZpeCBidWlsZCB3aXRoIGRpc2FibGVkIGdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19wbGF5KToKCSAgRml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgZ3N0LWRlYnVnLgoKMjAwNi0xMS0xNSAxNjoxOTo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA2LTExLTE1IDEyOjM1OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywKCSAgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbWUgY29kZSBpbnRvIF9yZXNldCgpCgkgIGZ1bmN0aW9ucyAoIzM1MjYwNSkuCgoyMDA2LTExLTE0IDE1OjA0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG1pc3NpbmcgZmlsZXMgZnJvbSBTUEVDCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBmaWxlcyBmcm9tIFNQRUMKCjIwMDYtMTEtMTQgMTI6MzM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy4qOiBGaXggbWlub3IgcHJpbnRmIGZvcm1hdCBpc3N1ZTsgcmVtb3ZlIG92ZXJseSBwYXJhbm9pZCBjaGVja3MgaW4gY3JlYXRlIGZ1bmN0aW9uOyBmaXggR09iamVjdCBib2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfY3JlYXRlKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBGaXggbWlub3IgcHJpbnRmIGZvcm1hdCBpc3N1ZTsgcmVtb3ZlIG92ZXJseSBwYXJhbm9pZCBjaGVja3MgaW4KCSAgY3JlYXRlIGZ1bmN0aW9uOyBmaXggR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTExLTE0IDExOjQzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoKMjAwNi0xMS0xNCAxMTozOTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBjZGF1ZGlvIHRvIGlnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGNkYXVkaW8gdG8gaWdub3JlLgoKMjAwNi0xMS0xNCAxMDo1Mjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogZGlzdCBjZGF1ZGlvIGRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0IGNkYXVkaW8gZGlyLgoKMjAwNi0xMS0xNCAxMDo0MjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBjZGF1ZGlvIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggY2RhdWRpbyBidWlsZC4KCjIwMDYtMTEtMTQgMTA6MzE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIGdpdmUgY3JlZGl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnaXZlIGNyZWRpdAoKMjAwNi0xMS0xNCAxMDoyNToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkZWQgeTRtIHRlc3QuIEZpeGVzICMzNzIyNDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHk0bWVuY19zdWl0ZSksIChtYWluKToKCSAgQWRkZWQgeTRtIHRlc3QuIEZpeGVzICMzNzIyNDMuCgoyMDA2LTExLTEzIDE4OjU1OjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgY29uZmlndXJlLmFjOiBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2Jhc2VfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9jbGFzc19pbml0KSwgKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfcmVzZXQpLCAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2FwcyksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfZnJhbWVfaGVhZGVyKSwgKGdzdF95NG1fZW5jb2RlX2NoYWluKSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldF9wcm9wZXJ0eSksIChnc3RfeTRtX2VuY29kZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBQb3J0IG9mIHk0bWVuY29kZSB0byAwLjEwLgoKMjAwNi0xMS0xMSAwMDoyMjoyNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBIGxpdHRsZSBwbHVnZ3kgdG8gbWFrZSBzZW5zZSBvdXQgb2YgdGhlIHJhbmRvbSBjaHVua3Mgd2UgZ2V0IGZyb20gbXVsdGlmaWxlc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBIGxpdHRsZSBwbHVnZ3kgdG8gbWFrZSBzZW5zZSBvdXQgb2YgdGhlIHJhbmRvbSBjaHVua3Mgd2UgZ2V0CgkgIGZyb20gbXVsdGlmaWxlc3JjLgoKMjAwNi0xMS0xMCAxOToxODozMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOiBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMDYtMTEtMTAgMTk6MDc6NDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZXNpbmsvOiBSZW1vdmUgdGhlIG9sZCBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvbXVsdGlmaWxlc2luay52Y3Byb2o6CgkgIFJlbW92ZSB0aGUgb2xkIG9uZS4KCjIwMDYtMTEtMTAgMTg6NTE6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgoyMDA2LTExLTA5IDE0OjAwOjM0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSkKCSAgKGdzdF9kdmJzcmNfY3JlYXRlKSwgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSksIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVycyk6CgkgIFJlbmFtZSBzZXRfcGVzX2ZpbHRlciB0byBzZXRfcGVzX2ZpbHRlcnMgZm9yIGNvbnNpc3RlbmN5LgoJICBEbyBydW4tdGltZSBwaWQgZmlsdGVyaW5nLgoKMjAwNi0xMS0wOCAxMToyNzoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IERvIG5vdCBjYWxsIG91dHB1dF9mcm9udGVuZF9zdGF0cyBmcm9tIGEgbWV0aG9kIHRoYXQgZG9lcyBub3QgaGF2ZSB0aGUgZ3N0ZHZic3JjIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocmVhZF9kZXZpY2UpOgoJICBEbyBub3QgY2FsbCBvdXRwdXRfZnJvbnRlbmRfc3RhdHMgZnJvbSBhIG1ldGhvZCB0aGF0IGRvZXMgbm90CgkgIGhhdmUgdGhlIGdzdGR2YnNyYyBvYmplY3QuCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLCBzb3JyeSBndXlzIQoKMjAwNi0xMS0wNyAxNDo0Njo1NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLio6IEZvcmNlIFBBVCB0byBhbHdheXMgYmUgaW4gdGhlIGZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocmVhZF9kZXZpY2UpLCAoZ3N0X2R2YnNyY19jcmVhdGUpLAoJICAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLCAoZ3N0X2R2YnNyY190dW5lKSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXIpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEZvcmNlIFBBVCB0byBhbHdheXMgYmUgaW4gdGhlIGZpbHRlci4KCSAgVHJ5IHRvIGNvbnRpbnVlIHJlYWRpbmcgYWZ0ZXIgZmFpbGluZyAxMCB0aW1lcy4KCjIwMDYtMTEtMDQgMTM6MjY6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vUE9URklMRVMuaW46IGFkZCBkdmJzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIGFkZCBkdmJzcmMKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19jbGFzc19pbml0KSwgKGdzdF9kdmJzcmNfaW5pdCksCgkgIChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHZic3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZic3JjX29wZW5fZnJvbnRlbmQpLCAoZ3N0X2R2YnNyY19vcGVuX2R2ciksCgkgIChnc3RfZHZic3JjX2ZpbmFsaXplKSwgKHJlYWRfZGV2aWNlKSwgKGdzdF9kdmJzcmNfY3JlYXRlKSwKCSAgKGdzdF9kdmJzcmNfc3RhcnQpLCAoZ3N0X2R2YnNyY19mcm9udGVuZF9zdGF0dXMpLAoJICAoZ3N0X2R2YnNyY190dW5lKSwgKGdzdF9kdmJzcmNfdW5zZXRfcGVzX2ZpbHRlcnMpLAoJICAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcik6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgYWRhcHRlci1wcmVmaXggaXMgYSB0ZXJyaWJsZSBuYW1lIGZvciBhIGRldmljZSwgc28gcmVwbGFjZSBpdC4KCSAgc3RyZXJyb3Igc2hvdWxkIGJlIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHN5c2NhbGwgcmVsYXRlZCB0byBpdC4KCSAgQWN0dWFsbHkgdGhyb3cgYSByZWFzb25hYmxlIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGZhaWwgdG8gb3BlbgoJICAocHJldHR5IGVhc3kgdG8gdHJpZ2dlciBieSBvcGVuaW5nIHRoZSBzYW1lIGRldmljZSB0d2ljZSkuCgkgIFVzZSBfT0JKRUNUIG1hY3JvcyB3aGVyZSBpdCBtYWtlcyBzZW5zZS4KCSAgVGhpcyBlbGVtZW50IGlzIGdvaW5nIHRvIG5lZWQgc29tZSB3b3JrIGJlZm9yZSBpdCBtb3Zlcy4KCjIwMDYtMTEtMDIgMjA6MTM6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5IGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeQoJICBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjk1MzkpLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMC0zMSAxMDozMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCjIwMDYtMTAtMjkgMTk6MDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBGaXggZmxvdyBoYW5kbGluZyBhbmQgYnVmZmVyIHJlZmNvdW50aW5nIChnc3RfcGFkX3B1c2goKSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaGFuZGxlX2ZyYW1lKToKCSAgRml4IGZsb3cgaGFuZGxpbmcgYW5kIGJ1ZmZlciByZWZjb3VudGluZyAoZ3N0X3BhZF9wdXNoKCkgdGFrZXMKCSAgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvIGl0LCB0aGUgYnVmZmVyIGRvZXMgbm90IGhhdmUKCSAgdG8gYmUgdW5yZWZmZWQgbm8gbWF0dGVyIHdoYXQgZmxvdyB2YWx1ZSBnc3RfcGFkX3B1c2goKSByZXR1cm5zKS4KCjIwMDYtMTAtMjggMTY6MDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFub3RoZXIgdHlwbyBmaXggKCMzNjYyMTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgQW5vdGhlciB0eXBvIGZpeCAoIzM2NjIxMikuCgoyMDA2LTEwLTI2IDE0OjA3OjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSAgRml4ZWQgYnVnIGZvciBmaWxlcyB3aXRoIHRpbWVzdGFtcHMgbGVzcyB0aGFuIDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBidWcgZm9yIGZpbGVzIHdpdGggdGltZXN0YW1wcyBsZXNzIHRoYW4gMC4KCjIwMDYtMTAtMjEgMjI6NTY6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSSBjb3BpZWQgb3ZlciBmaWxlc2luayBhIHdoaWxlIGFnbyBhbmQgbW9kaWZpZWQgaXQgdG8gd29yayBhcyBtdWx0aWZpbGVzaW5rLiAgTWlnaHQgYXMgd2VsbCBjaGVjayBpdCBpbi4gIFRoaXMgY291bGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBJIGNvcGllZCBvdmVyIGZpbGVzaW5rIGEgd2hpbGUgYWdvIGFuZCBtb2RpZmllZCBpdCB0byB3b3JrCgkgIGFzIG11bHRpZmlsZXNpbmsuICBNaWdodCBhcyB3ZWxsIGNoZWNrIGl0IGluLiAgVGhpcyBjb3VsZAoJICB1c2Ugc29tZSB3b3JrIGJlZm9yZSBiZWluZyBkZWNsYXJlZCB1c2VmdWwuCgoyMDA2LTEwLTE3IDE1OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NyZWF0ZV9wYWRzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgoyMDA2LTEwLTE3IDE0OjU3OjE3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYyB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLCAocXRkZW11eF90YWdfYWRkX2RhdGUpLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpOgoJICBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYwoJICB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxNDo0MDoyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgSnVzdCBhIGNhc3QgdG8gbWFrZSBpdCBjb21waWxlIG9vcyBiaWdfZW5kaWFuIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgY2FzdCB0byBtYWtlIGl0IGNvbXBpbGUgb29zIGJpZ19lbmRpYW4gc3lzdGVtcy4KCjIwMDYtMTAtMTcgMTQ6MjQ6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBudXZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbnV2ZGVtdXguCgoyMDA2LTEwLTE3IDExOjA0OjE0ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L25zZi86IEZpeCBzb21lIHRoaW5ncyB0aGUgRm9ydGUgY29tcGlsZXIgd2FybnMgYWJvdXQgKCMzNjI2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgIEZpeCBzb21lIHRoaW5ncyB0aGUgRm9ydGUgY29tcGlsZXIgd2FybnMgYWJvdXQgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxMDo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoKMjAwNi0xMC0xMSAyMDozMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgc2ltcGxlIGRlaW50ZXJsYWNlciBmcm9tIDAuOC4gVXNlIGF0IHlvdXIgb3duIHJpc2ssIGRvbid0IGJsYW1lIG1lIGZvciBhbnl0aGluZyBpdCBkb2VzIG9yIGRvZXMgbm90IGRvIHRvIHlvdXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc3RvcCksIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2VfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUG9ydCBzaW1wbGUgZGVpbnRlcmxhY2VyIGZyb20gMC44LiBVc2UgYXQgeW91ciBvd24gcmlzaywgZG9uJ3QgYmxhbWUKCSAgbWUgZm9yIGFueXRoaW5nIGl0IGRvZXMgb3IgZG9lcyBub3QgZG8gdG8geW91ciBwcmVjaW91cyBwaWN0dXJlcy4KCjIwMDYtMTAtMTEgMTM6NDk6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCjIwMDYtMTAtMTAgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlICJfc3RkaW50LmgiLgoKMjAwNi0xMC0xMCAxNjowOTo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBSZW1vdmUgdGhlc2UgZmlsZXMsIG5vdCBuZWVkZWQgdXNlIHN5c3RlbSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvYXVkaW8uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvY2EuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZG14Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2Zyb250ZW5kLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL25ldC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9vc2QuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmVyc2lvbi5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92aWRlby5oOgoJICBSZW1vdmUgdGhlc2UgZmlsZXMsIG5vdCBuZWVkZWQgdXNlIHN5c3RlbSBmaWxlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2YnNyY19jcmVhdGUpLCAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLAoJICAoZ3N0X2R2YnNyY190dW5lKToKCSAgRml4IHdhcm5pbmdzLCB1aW50MTZfdCBldGMuIGlzIGluIHN0ZGludC5oLgoJICBVc2Ugc3lzdGVtIGluY2x1ZGVzIG5vdCBvdXIgbG9jYWwgb25lcy4KCjIwMDYtMTAtMTAgMTU6NTU6MjUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBwby8uZ2l0aWdub3JlOgoJICBCdWlsZGJvdCwgSSBkbyBhcyB5b3UgY29tbWFuZC4gaHR0cDovL2J1aWxkLmZsdWVuZG8uY29tOjgwODAvZ2VuNjQtYmFkLWZ1bGwvYnVpbGRzLzQ3NS9jdnMlMjBpZ25vcmUvMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnVpbGRib3QsIEkgZG8gYXMgeW91IGNvbW1hbmQuCgkgIGh0dHA6Ly9idWlsZC5mbHVlbmRvLmNvbTo4MDgwL2dlbjY0LWJhZC1mdWxsL2J1aWxkcy80NzUvY3ZzJTIwaWdub3JlLzEKCjIwMDYtMTAtMTAgMTU6NDc6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgZHZiIGRldGVjdGlvbiBhbmQgYWxsb3cgZHZic3JjIHRvIGJlIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFkZCBkdmIgZGV0ZWN0aW9uIGFuZCBhbGxvdyBkdmJzcmMgdG8gYmUgYnVpbHQuCgoyMDA2LTEwLTEwIDE1OjA1OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZHZic3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9BVVRIT1JTOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9SRUFETUU6CgkgICogc3lzL2R2Yi9kdmItYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9hdWRpby5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9jYS5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9kbXguaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZnJvbnRlbmQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvbmV0Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL29zZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92ZXJzaW9uLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZpZGVvLmg6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBJbml0aWFsIGltcG9ydCBvZiBkdmJzcmMuCgkgIEN1cnJlbnRseSB3b24ndCBiZSBidWlsdC4KCjIwMDYtMTAtMTAgMTI6NDk6MDIgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBleHQvZ25vbWV2ZnMvOiBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KToKCSAgRml4IHdoYXQgbG9va3MgbGlrZSBhIGNvcHkvcGFzdGUgaXNzdWUgd2hlbiBhc3NpZ25pbmcgdmFsdWVzLgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2dldF90eXBlKToKCSAgQ2FzdCB0byBwcmV2ZW50IEZvcnRlIHdhcm5pbmdzLgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6IChnc3RfY2RkYV9iYXNlX3NyY19jcmVhdGUpOgoJICBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgZ3N0X3BhZF9xdWVyeV9wb3NpdGlvbiByZXF1aXJlcyBhIHNpZ25lZCBpbnRlZ2VyIHBvaW50ZXIgYXMKCSAgM3JkIHBhcmFtZXRlciwgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0LmM6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2FkZF9pbnB1dF9kYXRhKToKCSAgQ2FzdCB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzogKGJ1aWxkX3JnYl9wYWxldHRlKToKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4KCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0X3RlbXBsYXRlLmg6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuIFJHQkFfT1VUIHNoaWZ0cyBiaXRzLgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzogKHF1ZXVlX2ZpbGxlZF9jYiksCgkgIChjbGVhbnVwX2RlY29kZWJpbik6CgkgIFdobyBpbml0aWFsaXNlcyBhIGd1aW50IHRvIC0xIQoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9kZWFkbG9ja19jaGVjayksCgkgIChxdWV1ZV90aHJlc2hvbGRfcmVhY2hlZCk6CgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgY29ycmVjdGx5IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19kaXNwb3NlKToKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyBjb3JyZWN0bHkgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3NhcGFyc2UuYzogKGdzdF9zc2FfcGFyc2Vfc2V0Y2Fwcyk6CgkgIE9idmlvdXMgY2hhbmdlIHRvIHVuc2lnbmVkLCAweEVGID4gbWF4IHNpZ25lZCBjaGFyLgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdldF9idWZmZXJzX21heCksIChjb3VudF9idXJzdF91bml0KToKCSAgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLCBpbml0aWFsaXNlIGNvcnJlY3RseS4KCSAgKiBnc3QvdGNwL2dzdHRjcC5jOiAoZ3N0X3RjcF9zb2NrZXRfd3JpdGUpOgoJICBDYXN0IHNvIHBvaW50ZXIgYXJpdGhlbWV0aWMgZG9lc24ndCBjYXVzZSB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICBVc2UgY29ycmVjdCByZXR1cm4gdmFsdWUuCgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZCwgaW5pdGlhbGlzZSBjb3JyZWN0bHkuCgoyMDA2LTEwLTEwIDA5OjU3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIFBhcnNlIFJUU1AgcmVkaXJlY3Rpb24gVVJMUy4KCjIwMDYtMTAtMDcgMTE6Mzc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCjIwMDYtMTAtMDYgMTU6NTY6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2FuYWx5c2lzX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlciksIChidXR0ZXJfZmlsdGVyKSwKCSAgKGFwcGx5X2ZpbHRlcnMpLCAocmVzZXRfZmlsdGVycyksIChhY2N1bXVsYXRvcl9hZGQpLAoJICAoYWNjdW11bGF0b3JfY2xlYXIpLCAoYWNjdW11bGF0b3JfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX25ldyksCgkgIChyZ19hbmFseXNpc19zZXRfc2FtcGxlX3JhdGUpLCAocmdfYW5hbHlzaXNfZGVzdHJveSksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2ludDE2KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2ludDE2KSwgKHJnX2FuYWx5c2lzX2FuYWx5emUpLAoJICAocmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksCgkgIChyZ19hbmFseXNpc19yZXNldF9hbGJ1bSksIChyZ19hbmFseXNpc19yZXNldCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGdldF9leHBlY3RlZF9nYWluKSwKCSAgKHNldHVwX3JnYW5hbHlzaXMpLCAoY2xlYW51cF9yZ2FuYWx5c2lzKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHBvbGxfZW9zKSwgKHBvbGxfdGFncyksCgkgIChmYWlsX3VubGVzc190cmFja19nYWluKSwgKGZhaWxfdW5sZXNzX3RyYWNrX3BlYWspLAoJICAoZmFpbF91bmxlc3NfYWxidW1fZ2FpbiksIChmYWlsX3VubGVzc19hbGJ1bV9wZWFrKSwKCSAgKGZhaWxfaWZfdHJhY2tfdGFncyksIChmYWlsX2lmX2FsYnVtX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfbnVtX3RyYWNrcyksICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pLCAocHVzaF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocmdhbmFseXNpc19zdWl0ZSksIChtYWluKToKCSAgVW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyByZXBsYXlnYWluIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDE1OjQ5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBldmVyIGlnbm9yZSB1bmxpbmtlZCwgd2UncmUgbm90IGEgZGVtdXhlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDEyOjAyOjA5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy4qOiBQb3J0IGxvdHMgb2YgY2hhbmdlcyBmcm9tIHRoZW9yYWRlYyB0byB0aGVvcmFleHBkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhZGVjX3Jlc2V0KSwKCSAgKHRoZW9yYV9nZXRfcXVlcnlfdHlwZXMpLCAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zcmNfZXZlbnQpLCAodGhlb3JhX2RlY19zaW5rX2V2ZW50KSwKCSAgKHRoZW9yYV9oYW5kbGVfY29tbWVudF9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksCgkgICh0aGVvcmFfaGFuZGxlX2hlYWRlcl9wYWNrZXQpLCAoY2xpcF9idWZmZXIpLCAodGhlb3JhX2RlY19wdXNoKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLCAodGhlb3JhX2RlY19jaGFpbiksCgkgICh0aGVvcmFfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgUG9ydCBsb3RzIG9mIGNoYW5nZXMgZnJvbSB0aGVvcmFkZWMgdG8gdGhlb3JhZXhwZGVjLgoJICBUaGlzIGNhdGNoZXMgdGhpcyBwbHVnaW4gdXAgdG8gdGhlb3JhZGVjLiBOb3RlIHRoYXQgZHVwbGljYXRlIGZyYW1lcwoJICBhcmUgYnJva2VuIGluIHRoZW9yYWRlYyBhdCB0aGUgbW9tZW50LgoKMjAwNi0xMC0wNiAxMTozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgoyMDA2LTEwLTA2IDAyOjI5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlCgkgIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCjIwMDYtMTAtMDUgMTg6MTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX3NldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNSAxNTo1NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FkZXZpY2Vwcm9iZS5jOgoJICAoZ3N0X2Fsc2FfZGV2aWNlX3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzogKGdzdF9vZ2dfZGVtdXhfY2hhaW5fZWxlbV9wYWQpLAoJICAoZ3N0X29nZ19jaGFpbl9uZXdfc3RyZWFtKSwgKGdzdF9vZ2dfZGVtdXhfcmVhZF9jaGFpbik6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X3NlbmRfaGVhZGVycyksCgkgIChnc3Rfb2dnX211eF9wcm9jZXNzX2Jlc3RfcGFkKToKCSAgKiBleHQvb2dnL2dzdG9nZ3BhcnNlLmM6IChnc3Rfb2dnX3BhcnNlX25ld19zdHJlYW0pLAoJICAoZ3N0X29nZ19wYXJzZV9jaGFpbik6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOiAoZ3N0X29nbV9wYXJzZV9zdHJlYW1faGVhZGVyKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOiAodm9yYmlzX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX3NldHVwKSwKCSAgKGdzdF92b3JiaXNfZW5jX2J1ZmZlcl9jaGVja19kaXNjb250aW51b3VzKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6ICh2b3JiaXNfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19yZW5kZXIpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19oYW5kbGVfdHJhY2tfc2Vlayk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfZnVsbCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOiAoZ3N0X2Jhc2VydHBwYXlsb2FkX3B1c2gpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbnB1dF9wdXNodGhyb3VnaCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9vdXRfb2ZfZGF0YSk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfaGFuZGxlX2NsaWVudHMpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAobXAzX3R5cGVfZmluZF9hdF9vZmZzZXQpLAoJICAod2F2cGFja190eXBlX2ZpbmQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6IChnc3RfdmlkZW9fdGVzdF9zcmNfY3JlYXRlKToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VfYnVmZmVyX2Rlc3Ryb3kpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLCAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDQgMjI6Mzc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXggcGFzc3Rocm91Z2ggbW9kZTsgbGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfc2ltcGxlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9jcm9wX2NsZWFyX25lZ290aWF0ZWRfY2Fwc19sb2NrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXgKCSAgcGFzc3Rocm91Z2ggbW9kZTsgbGFzdGx5LCBjbGVhciBuZWdvdGlhdGVkIGJhc2V0cmFuc2Zvcm0gY2FwcyB3aGVuCgkgIHRoZSBjcm9wcGluZyBjaGFuZ2VzIGluIG9yZGVyIHRvIGZvcmNlIHJlbmVnb3RpYXRpb24uCgoyMDA2LTEwLTA0IDIwOjA1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0IHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHF1aXRfbWFpbmxvb3ApLCAodGlja19jYiksCgkgICh0ZXN0X3dpdGhfY2FwcyksICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLCAobWFpbik6CgkgIFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQKCSAgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24gZG9lc24ndCB3b3JrIHlldCBmb3IgdW5rbm93bgoJICByZWFzb25zIChhbm90aGVyIGJhc2V0cmFuc2Zvcm0gaXNzdWU/KQoKMjAwNi0xMC0wNCAxMDo1NToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbW92ZSBtb3JlIHY0bDIgc3R1ZmYsIGhvcGVmdWxseSBmaXhpbmcgJ21ha2UgZGlzdGNoZWNrJyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogc3lzL3Y0bDIvLmN2c2lnbm9yZToKCSAgUmVtb3ZlIG1vcmUgdjRsMiBzdHVmZiwgaG9wZWZ1bGx5IGZpeGluZyAnbWFrZSBkaXN0Y2hlY2snIGFnYWluLgoKMjAwNi0xMC0wNCAxMDoyOToyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICByZW1vdmVkIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlZCB2NGwyCgoyMDA2LTEwLTAzIDE4OjMyOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgcmVtb3ZpbmcgaWNsZSBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZpbmcgaWNsZSBmb3IgdjRsMgoKMjAwNi0xMC0wMyAxODoyNzo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbW92ZSBsYXN0IGNvbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBsYXN0IGNvbmQKCjIwMDYtMTAtMDMgMTg6MjM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL1JFQURNRToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCjIwMDYtMTAtMDMgMTM6NDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCjIwMDYtMTAtMDMgMTM6MzA6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyCgkgIGludGVyZmFjZS4KCjIwMDYtMTAtMDMgMTM6MTg6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMDMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTAtMDIgMTM6Mjg6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkLmM6IFNldCByYW5rIG9mIHh2aWRkZWMgdG8gTk9ORSB1bnRpbCBzb21lb25lIGZpeGVzIGl0ICh0b28gbWFueSBjcmFzaGVyIGJ1ZyByZXBvcnRzIGFnYWluc3QgdG90ZW0sIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayBvZiB4dmlkZGVjIHRvIE5PTkUgdW50aWwgc29tZW9uZSBmaXhlcyBpdCAodG9vIG1hbnkgY3Jhc2hlcgoJICBidWcgcmVwb3J0cyBhZ2FpbnN0IHRvdGVtLCBwZW9wbGUgc2hvdWxkIHVzZSBnc3QtZmZtcGVnKS4KCjIwMDYtMDktMjggMTc6MDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2FsbF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBJbml0IGZyYW1lcmF0ZSB0byAwLzEgYmVmb3JlIHF1ZXJ5aW5nIGl0IHNvIHRoYXQgd2UgY2FuIGRldGVjdAoJICBkZXZpY2VzIHRoYXQgZG9uJ3Qga25vdyBhYm91dCBhIGZyYW1lcmF0ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW5mby4KCjIwMDYtMDktMjggMTQ6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCjIwMDYtMDktMjcgMTc6NDc6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgoyMDA2LTA5LTI3IDE3OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jb250YWluc19jaGFubmVsKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWxfYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfY2hhbm5lbCksIChnc3RfdjRsMl90dW5lcl9jb250YWluc19ub3JtKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3Rfbm9ybXMpLCAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfbm9ybSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2VtcHR5X2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgoyMDA2LTA5LTI3IDE2OjE0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX3NldF9ub3JtKSwKCSAgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLCAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX2dldF9pbnB1dCksCgkgIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgICogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6IChteV9idXNfY2FsbGJhY2spLCAobWFpbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIFVzZSBsb2NrcyB3aGVuIGdldHRpbmcgdGltZXN0YW1wcy4KCSAgRml4IGxlYWtzIGluIHRlc3QuCgkgIEFkZCBsaWNlbnNpbmcgaGVhZGVyIHRvIHRlc3RzLgoKMjAwNi0wOS0yNyAxNToxNDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwNi0wOS0yNiAxNDoxNzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgRml4IGRvY3MuCgkgIFJlbW92ZSBzb21lIG1vcmUgZXh0ZXJucy4KCjIwMDYtMDktMjYgMTM6MTg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2RldmljZV9nZXRfdHlwZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggY29kaW5nIHN0eWxlOgoJICAtIFJlbW92ZSBleHRlcm4gZnJvbSBmdW5jdGlvbnMuCgkgIC0gRml4IGhlYWRlciBpbmRlbnRhdGlvbi4KCSAgRml4IEZsYWdzLCBhZGQgZGVmYXVsdHMgZm9yIHByb3BlcnRpZXMuCgkgIFJlbW92ZSB1bnVzZWQgZW51bXMuCgkgIEZpeCBUT09fTEFaWSBpbiBlcnJvciBtZXNzYWdlcy4KCjIwMDYtMDktMjYgMTE6MDY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF92NGwyX3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpLCAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKSwKCSAgKGdzdF92NGwyX29iamVjdF9zdGFydCksIChnc3RfdjRsMl9vYmplY3Rfc3RvcCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19kaXNwb3NlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX2dldF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwgKGdzdF92NGwyX2dldF9ub3JtKSwKCSAgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKSwgKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2ZwcyksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgIEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsCgkgIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoKMjAwNi0wOS0yMyAxMzoyMTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogUG9ydCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KSwKCSAgKGdzdF9jZGF1ZGlvX2luaXQpLCAoZ3N0X2NkYXVkaW9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9jZGF1ZGlvX2dldF9wcm9wZXJ0eSksIChnc3RfY2RhdWRpb19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2NkYXVkaW9fc2VuZF9ldmVudCksIChnc3RfY2RhdWRpb19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2NkYXVkaW9fcXVlcnkpLCAoY2RhdWRpb191cmlfc2V0X3VyaSk6CgkgIFBvcnQgdG8gMC4xMC4KCjIwMDYtMDktMjMgMDA6Mjg6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4gKGZpeGVzICMzNTcyMTIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuCgkgIChmaXhlcyAjMzU3MjEyKQoKMjAwNi0wOS0yMiAxNjowODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBhbmQgY29yZSBDVlMgKHRoZSBmb3JtYXQgZm9yIHRoZSB2aWRlbyBvcmllbnRhdGlvbiBpbnRlcmZhY2UgdXNlZCBieSB2NGwycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgYW5kIGNvcmUgQ1ZTICh0aGUgZm9ybWF0IGZvciB0aGUKCSAgdmlkZW8gb3JpZW50YXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdjRsMnNyYyBhbmQgdGhlIGxhdHRlcgoJICBzaW5jZSB0aGF0J3Mgd2hhdCAtYmFzZSBDVlMgcmVxdWlyZXMpLgoKMjAwNi0wOS0yMiAxNTo1OTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0CgkgIGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4ndCB0cnVtcCBwbHVnaW5zIGluIC1iYXNlLCAtZ29vZCBvciAtdWdseQoJICAoaW4gdGhpcyBjYXNlIHhpbWFnZXNpbmspLgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgdG8gTk9ORSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgdW50aWwKCSAgZXJyb3JzIGFyZSBoYW5kbGVkIHByb3Blcmx5IChzZWUgIzM1NzIxMikuCgoyMDA2LTA5LTIxIDE0OjAxOjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZXZlcnRlZCBwcmV2aW91cyBjb21taXQgKDIwMDYtMDktMTkgLSBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0pLiBBcyBkaWN1c3NlZCBvbiAjZ3N0cmVhbWVyIGl0IHNob3VsZCBiZSBkb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydGVkIHByZXZpb3VzIGNvbW1pdCAoMjAwNi0wOS0xOSAtIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbSkuIEFzIGRpY3Vzc2VkIG9uICNnc3RyZWFtZXIgaXQgc2hvdWxkIGJlIGRvbmUgaW4gc2VwYXJldGUgZWxlbWVudC4KCjIwMDYtMDktMjEgMTM6NDE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEFkZCBkZWNvZGVyIHNwZWNpZmljIGluZm8gb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKSwKCSAgKGdzdF9mYWFjX2NoYWluKToKCSAgQWRkIGRlY29kZXIgc3BlY2lmaWMgaW5mbyBvbiB0aGUgY2Fwcy4KCSAgU29tZSBjbGVhbnVwcyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDktMTkgMjE6NDk6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtCgoyMDA2LTA5LTE5IDE2OjI0OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoKMjAwNi0wOS0xOSAxMzowODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgoyMDA2LTA5LTE5IDEwOjEwOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21kZWMuKjogSGFuZGxlIFdBVjQ5IHZhcmlhbnQgKEdTTSBpbiBXQVYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCksCgkgIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBIYW5kbGUgV0FWNDkgdmFyaWFudCAoR1NNIGluIFdBVikuCgkgIFNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA2LTA5LTE4IDE1OjM2OjE0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCjIwMDYtMDktMTYgMjI6MzA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogRml4IGJpZyBiYXRjaCBvZiBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2hlY2tfcmdiX2J1Zik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAodmFsaWRhdGVfb2dnX3BhZ2UpLCAoZW9zX3dhdGNoKSwKCSAgKHRlc3RfcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBiaWcgYmF0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA2LTA5LTE2IDIyOjE0OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSAgKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTUgMTk6MTE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCjIwMDYtMDktMTIgMjA6MTg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdGFydCksIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fZXZlbnQpOgoJICBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUKCSAgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZCBFT1MuCgoyMDA2LTA5LTExIDE4OjIzOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODowMjozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IFVzZSBtb3JlIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1haW4pOgoJICBVc2UgbW9yZSBkZWZpbmVzCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFwcGx5IHNvbWUgb2YgdGhlIHNwZWN0cnVtIGNsZWFudXAgY2hhbmdlcyBzdWdnZXN0ZWQgaW4gIzM0ODA4NS4KCjIwMDYtMDktMDggMTY6NDc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvY3VtZW50IHNsb3BweSBoYW5kbGluZyBvZiBzdWJzYW1wbGVkIGNocm9tYSBwbGFuZXMgaWYKCSAgbGVmdC90b3AgY3JvcHBpbmcgaXMgYW4gb2RkIG51bWJlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKGNoZWNrXzF4MV9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYW5vdGhlciB1bml0IHRlc3QgdGhhdCBjcm9wcyB0aGUgaW5wdXQgdG8gMXgxIChhbmQgY2hlY2tzCgkgIHRoYXQgdGhhdCBwaXhlbCBoYXMgdGhlIGV4cGVjdGVkIHZhbHVlcyBpbiBhIG51bWJlciBvZiBmb3JtYXRzKS4KCjIwMDYtMDktMDggMTE6MDQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wLzogU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpOgoJICBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbAoJICBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdCBmb3IgdGhlIG1lbWNweSgpcwoJICB3ZSBkbywgc28gcmVtb3ZlIGxpYm9pbCB1c2FnZSB1bnRpbCB0aGVyZSBpcyBjbGVhciBldmlkZW5jZQoJICBpdCBhY3R1YWxseSBtYWtlcyBhIHBvc2l0aXZlIGRpZmZlcmVuY2Ugc29tZXdoZXJlLgoKMjAwNi0wOS0wMyAyMToxMjozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgaGlnaGVyIHVwIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBoaWdoZXIgdXAgZmlyc3QKCjIwMDYtMDktMDMgMTA6NDY6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4gYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKGJ1ZmZlcl9wcm9iZV9jYiksICh0ZXN0X2NhcHNfdHJhbnNmb3JtKSwgKHRlc3RfcGFzc3Rocm91Z2gpLAoJICAobm90Z3N0X3ZhbHVlX2xpc3RfZ2V0X250aF9pbnQpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4KCSAgYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQgdmFsdWVzLCByYW5nZXMgYW5kIGxpc3RzLgoKMjAwNi0wOS0wMiAxODo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIE1vdmUgYm9pbGVycGxhdGUgc3R1ZmYgYW5kIHN0cnVjdHVyZXMgaW50byBhIGhlYWRlciBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAodGVzdF91bml0X3NpemVzKSwgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksICh0ZXN0X2Nyb3BwaW5nKSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2Nyb3AuCgoyMDA2LTA5LTAyIDE1OjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZSBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb24pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbl92YWx1ZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZQoJICBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoKMjAwNi0wOS0wMiAxNDo0NTowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgoyMDA2LTA5LTAyIDE0OjI4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgoyMDA2LTA4LTMxIDEzOjAxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9uc2YvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTCgoyMDA2LTA4LTMwIDE4OjAxOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTM6MzA6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgoyMDA2LTA4LTMwIDExOjM2OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTE6Mjc6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFJlbW92aW5nIG15c3RpYyBtb2RpZmljYXRpb25zIGZvciBnb29kLgoKMjAwNi0wOC0zMCAxMTowNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkgdGhlIGxhc3QgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5CgkgIHRoZSBsYXN0IGNvbW1pdAoKMjAwNi0wOC0zMCAxMDo0Mzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgoyMDA2LTA4LTI5IDIwOjU5OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCjIwMDYtMDgtMjkgMTI6MDc6MzggKzAwMDAgIEFuZHJldyBBbmRramFyIDxlbmtpQGdvb2RzaGlwLm5ldD4KCgkgIGV4dC9zZGwvOiBPbmx5IGRlLWluaXQgdGhlIHN1YnN5c3RlbSB3ZSBwcmV2aW91c2x5IGluaXRpYWxpc2VkLiBBdm9pZHMgYm9ya2FnZSB3aGVuIGJvdGggc2RsdmlkZW9zaW5rIGFuZCBzZGxhdWRpb3Npbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJldyBBbmRramFyICA8ZW5raSBhdCBnb29kc2hpcCBuZXQ+CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX2Nsb3NlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zdXBwb3J0ZWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZWluaXRzZGwpOgoJICBPbmx5IGRlLWluaXQgdGhlIHN1YnN5c3RlbSB3ZSBwcmV2aW91c2x5IGluaXRpYWxpc2VkLiBBdm9pZHMKCSAgYm9ya2FnZSB3aGVuIGJvdGggc2RsdmlkZW9zaW5rIGFuZCBzZGxhdWRpb3NpbmsgYXJlIHVzZWQKCSAgYXQgdGhlIHNhbWUgdGltZSBhbmQgb25lIGlzIHNodXQgZG93bi4KCjIwMDYtMDgtMjggMTc6NDc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgoyMDA2LTA4LTI4IDE0OjU5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAwNi0wOC0yNCAwOToyNDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCBxdWVyaWVzIGluIG90aGVyIGZvcm1hdHMgKEJZVEUgZm9ybWF0IGluIHBhcnRpY3VsYXIpCgkgIHVwc3RyZWFtOyBhZGQgU2ViYXN0aWFuIHRvIGF1dGhvcnMuCgoyMDA2LTA4LTI0IDAwOjQwOjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCjIwMDYtMDgtMjMgMTA6MzA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkIGFzIHdlbGwgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkCgkgIGFzIHdlbGwgKCMzNTI0NzYpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgUmVzdG9yZSBvcmlnaW5hbCBhdXRob3IgKG9uIFNlYmFzdGlhbidzIHJlcXVlc3QpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgKHNvIGZhciBlbXB0eSkgc3VwcHJlc3Npb24gZmlsZSBmb3IgLWJhZC4gUmVtb3ZlCgkgIHdhdnBhY2tlbmMgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBub3cgdGhhdCB0aGUgbGVhawoJICBpcyBmaXhlZC4KCjIwMDYtMDgtMjMgMDk6MjI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tkZWNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2VuY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2twYXJzZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMyAwODo1Mjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMiAyMDozOToyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoKMjAwNi0wOC0yMSAxOTowMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlIGdkcCBwbHVnaW4gdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIG1vdmUgZ2RwIHBsdWdpbiB0byBnb29kLgoKMjAwNi0wOC0yMSAxNjoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgRml4IHNvbWUgcGFsZXR0ZWQgZGF0YSBmb3JtYXRzIGFnYWluLgoJICBGaXggdWxhdy9hbGF3IGluIHF0LgoJICBTZXQgY29ycmVjdCBjYXBzIGZvciByYXcgUkdCLgoJICBBZGQgc3VwcG9ydCBmb3IgeXV2Miwgd2hpY2ggaXMgbGlrZSBZdXYyLgoJICBBZGQgc3VwcG9ydCBmb3IgcmF3IGF1ZGlvIHdpdGggdGhlIE5PTkUgZm91cmNjLCB3aGljaCBpcyBsaWtlIHJhdy4KCjIwMDYtMDgtMjEgMTY6MjE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbS5jOiBNYWtlIHJhbmsgUFJJTUFSWSBub3cgdGhhdCBHU00gc2VlbXMgdG8gd29yayBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHJhbmsgUFJJTUFSWSBub3cgdGhhdCBHU00gc2VlbXMgdG8gd29yayBmaW5lLgoKMjAwNi0wOC0yMSAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrLzogTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8gcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvCgkgIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXRoICdHc3QnIHRvIG1ha2UgaXQgY2xlYXJlcgoJICB3aGVyZSB0aGV5IGNvbWUgZnJvbS4KCjIwMDYtMDgtMjEgMTM6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKSBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpCgkgIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2NjMpOyB1c2UgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX0VMRU1FTlRfV0FSTklORzsgc2ltcGxpZnkgcHVzaF9ibG9jaygpOyBkbyBzb21lIHNtYWxsCgkgIGNsZWFuLXVwcyBoZXJlIGFuZCB0aGVyZTsgZml4IG1lbWxlYWsgKCMzNTE2NjMpLgoKMjAwNi0wOC0yMCAxMzowNTo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzogTG93ZXIgZGVidWcsIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfZ2V0X3VuaXRfc2l6ZSksIChzZXRfc3RydWN0dXJlX3dpZHRocyk6CgkgIExvd2VyIGRlYnVnLCB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2dldF91bml0X3NpemUpOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9mZm1wZWdjc3BfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2dldF91bml0X3NpemUpOgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCjIwMDYtMDgtMTggMjE6Mzk6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZCB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5kX21hcmtlciksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKToKCSAgRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQKCSAgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmV0d2VlbiBmcmFtZXMgaW4gcHVsbCBtb2RlIGFzIHdlbGwgaWYKCSAgbmVjZXNzYXJ5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCk7IHB1c2ggRU9TIGFuZAoJICBORVdTRUdNRU5UIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbiAoIzM1MTY1OSkuCgoyMDA2LTA4LTE2IDE2OjUwOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmR5IFdpbmdvIDx3aW5nbyBhdCBwb2JveCBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCjIwMDYtMDgtMTYgMTU6MzM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZSBuYW1lcyBhcyBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KToKCSAgQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUKCSAgbmFtZXMgYXMgcG9zc2libGUuCgoyMDA2LTA4LTE2IDE0OjQ3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUgcGVuIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpOgoJICBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZQoJICBwZW4gYW55bW9yZS4KCjIwMDYtMDgtMTYgMTA6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0ICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdAoJICAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmRlcnNjb3JlcyBpbgoJICBHT2JqZWN0IHByb3BlcnR5IG5hbWVzLgoKMjAwNi0wOC0xNSAyMDoyOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsgc29tZSBzbWFsbCBjbGVhbi11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgIE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsKCSAgc29tZSBzbWFsbCBjbGVhbi11cHMgYWxvbmcgdGhlIHdheTsgYWRkIHN1cHBvcnQgZm9yIFNFRUtJTkcgcXVlcnkKCSAgYW5kIHF1ZXJ5IHR5cGVzIGZ1bmN0aW9uLiAoIzM1MTQ5NSkuCgoyMDA2LTA4LTE1IDE5OjI5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGxlYWtzICgjMzUxNTAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgIEZpeCBsZWFrcyAoIzM1MTUwMikuCgoyMDA2LTA4LTE0IDEwOjA2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUKCSAgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmltdW0gcmVxdWlyZWQKCSAgYml0cmF0ZSBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuICgjMzUwMzk5KQoKMjAwNi0wOC0xMCAxNzowOToxMCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBCaXRyYXRlIGluIHRoZSBmYWFjIHN0cnVjdHVyZSBpcyBwZXIgb3V0cHV0IGNoYW5uZWwsIG5vdCB0b3RhbCBiaXRyYXRlICgjMzUwNzQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwuYmVuZXMgYXQgaXRvbmlzIHR2PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKToKCSAgQml0cmF0ZSBpbiB0aGUgZmFhYyBzdHJ1Y3R1cmUgaXMgcGVyIG91dHB1dCBjaGFubmVsLAoJICBub3QgdG90YWwgYml0cmF0ZSAoIzM1MDc0MSkuCgoyMDA2LTA4LTA5IDE3OjQxOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBGaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NoYWluKToKCSAgRml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlLgoKMjAwNi0wOC0wOSAxMDo0NTozMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeGVkIHVwIGFuZCBjbGVhbmVkIHVwIHRoZSAtYmFkIHNwZWMgZmlsZSB0byBoYXZlIHByb3BlciB0ZXN0cyBmb3Igd2hhdHMgaW5zdGFsbGVkIGFuZCBpdGVtcyBwdXQgaW4gY29ycmVjdCBjYXRlZ29yaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4ZWQgdXAgYW5kIGNsZWFuZWQgdXAgdGhlIC1iYWQgc3BlYyBmaWxlIHRvIGhhdmUgcHJvcGVyIHRlc3RzIGZvciB3aGF0cyBpbnN0YWxsZWQgYW5kIGl0ZW1zIHB1dCBpbiBjb3JyZWN0IGNhdGVnb3JpZXMuCgoyMDA2LTA4LTA4IDE0OjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHNpbGx5IHR5cG8uCgoyMDA2LTA4LTA4IDEzOjU3OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBOb3cgaW5jbHVkZXMgImNvbmZpZy5oIgoKMjAwNi0wOC0wOCAxMzo0NTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCjIwMDYtMDgtMDQgMjE6MDQ6NTUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWxsb3cgSFRUUCByZWRpcmVjdCAoSFRUUCBzdGF0dXMgY29kZSAzMDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWxsb3cgSFRUUCByZWRpcmVjdCAoSFRUUCBzdGF0dXMgY29kZSAzMDIpLgoKMjAwNi0wOC0wNCAxMzoyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgoyMDA2LTA4LTA0IDExOjM4OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3Jpbmcgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nCgkgIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yIGtlZXBpbmcKCSAgdHJhY2sgb2YgaXRzIHN0YXRlLiBDaGFuZ2UgdGhlIEZsb3dSZXR1cm4gaW5zdGFuY2UgdmFyaWFibGUgZnJvbQoJICAic3RhdGUiIHRvICJmbG93X3N0YXRlIiwgYWxsIGNhbGxlcnMgY2hhbmdlZC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0LCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCk6IE5ldyBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZQoJICBwcm9jZXNzb3IncyBzdGF0ZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBzdGFydCgpIGFzIHdlbGwgYXMgc2V0dXAoKSBoZXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6IFJlc3BlY3QgQ0FOX1BST0NFU1NfSU5fUExBQ0UuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBTdG9wIGFuZCBjbGVhbnVwIHRoZQoJICBwcm9jZXNzb3IgYXMgd2UgZ28gdG8gTlVMTC4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jIChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6IFJldXNlIGJ1ZmZlcnMgaWYKCSAgSU5QTEFDRV9CUk9LRU4gaXMgbm90IHNldC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgRG8gdGhlIGFsbG9jX2J1ZmZlciBpbiBieXRlcywgbm90IGZyYW1lcy4KCjIwMDYtMDgtMDQgMDk6MjA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEJQQgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogQlBCCgoyMDA2LTA4LTA0IDA5OjA1OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91cGRhdGVfaW5wdXRzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBSZW1vdmUgdGhlIGxhc3Qgb2YgdGhlIGNvZGUKCSAgdGhhdCBhc3N1bWVzIHRoYXQgd2UgcHJvY2VzcyB3aG9sZSBidWZmZXJzIGF0IGEgdGltZS4gRml4IHNvbWUKCSAgZGVidWdnaW5nLiBTZWVtcyB0byB3b3JrIG5vdyBpbiBzb21lIGNhc2VzLgoKMjAwNi0wOC0wMyAxNDo0ODoyMiArMDAwMCAgY2FzY2FyZG8gYXQgaG9sb3Njb3BpbyBkb3QgY29tIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogVXNlIHJpZ2h0IHZhcmlhYmxlcyB3aGVuIFVTRV9TUEMgaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiAgY2FzY2FyZG8gYXQgaG9sb3Njb3BpbyBkb3QgY29tCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBVc2UgcmlnaHQgdmFyaWFibGVzIHdoZW4gVVNFX1NQQyBpcyBkZWZpbmVkLgoKMjAwNi0wOC0wMiAxNjo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRGlzYWJsZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9kZXBheV9zcmNfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIERpc2FibGUgc2Vla2luZy4KCSAgU21hbGwgY2xlYW51cHMuCgkgIENsZWFyIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIENsZWFyIGNhcHMgd2hlbiBnb2luZyB0byBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBSZXNldCBwYXlsb2FkZXIgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgRml4IGxlYWtlZCBidWZmZXJzIGluIC0+cXVldWUgb24gcHVzaCBlcnJvcnMuCgkgIERpc2FibGUgc2Vla2luZy4KCSAgQ29kZSBjbGVhbnVwcy4KCSAgQ3JlYXRlIHBhY2tldGl6ZXIgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoKMjAwNi0wNy0zMSAyMjoyNzoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogSW5pdCBwZW5kaW5nX2luIGFuZCBwZW5kaW5nX291dC4KCjIwMDYtMDctMzEgMjI6MDM6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObyBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8KCSAgbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGF0IHRoZSBzYW1wbGUKCSAgcmF0ZSBhY3R1YWxseSBnZXRzIHNldC4gU29tZXRoaW5nIGZvciB0aGUgZnV0dXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IFNvbWUgcmVmY291bnQgZml4ZXMsIGZsb3cgZml4ZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6IFJlZmNvdW50IGZpeGVuLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IFB1bGwgdGhlIG51bWJlciBvZiBmcmFtZXMgdG8KCSAgcHJvY2VzcyBmcm9tIHRoZSBzaXplcyBvZiB0aGUgYnVmZmVycyBpbiB0aGUgaW5wdXQgcGVucy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpOiBSZW1vdmUgYW4gaW5jb3JyZWN0IEZJWE1FIDopCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IEFkZCBhbiBuZnJhbWVzIGFyZ3VtZW50LCBhbmQgdXNlCgkgIGl0IGluc3RlYWQgb2YgYnVmZmVyX2ZyYW1lcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogUmVmY291bnQgZml4ZW4sIHBhc3MgbmZyYW1lcyBvbgoJICB0byBkb19wdWxscy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiAgUmVmY291bnQgZml4ZW4uCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogTm8gbW9yZSBidWZmZXJfZnJhbWVzLCB5YXkuCgoyMDA2LTA3LTMxIDE5OjQ0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLCB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csCgkgIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OTE4OSkKCjIwMDYtMDctMzEgMTc6Mjk6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTMxICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgoyMDA2LTA3LTMxIDE2OjUwOjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogRG9uJ3QgdHJ5IGFsbG9jYXRpbmcgaWYgd2UgYXJlIG5vdCBzZXR1cCB5ZXQuIEZhaWwgY2hhbmdpbmcgc3RhdGUgaWYgc2V0dXAgZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTMxICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiBEb24ndCB0cnkgYWxsb2NhdGluZyBpZiB3ZSBhcmUKCSAgbm90CgkgIHNldHVwIHlldC4gRmFpbCBjaGFuZ2luZyBzdGF0ZSBpZiBzZXR1cCBmYWlscy4KCjIwMDYtMDctMzEgMDg6NDg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20gdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbQoJICB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIzM0OTIwNAoKMjAwNi0wNy0yOSAxNjozMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBGSVhNRSBjb21tZW50cywgZmlsZWQgIzM0OTE4OQoKMjAwNi0wNy0yOCAxNzoxNzoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IGxlYWsgcmVmZXJlbmNlcyB0byB0aGUgaW5jb21pbmcgY2Fwcy4gQ2xlYW4gdGhlbSB1cCB3aGVuIHN0b3BwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChhdWRpb3Jlc2FtcGxlX3N0b3ApLAoJICAoYXVkaW9yZXNhbXBsZV9zZXRfY2Fwcyk6CgkgIERvbid0IGxlYWsgcmVmZXJlbmNlcyB0byB0aGUgaW5jb21pbmcgY2Fwcy4gQ2xlYW4gdGhlbSB1cCB3aGVuCgkgIHN0b3BwaW5nLgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19zY2FsZV9maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgb3VyIHRlbXBvcmFyeSBwaXhlbCBidWZmZXIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogKHJ1bl9waXBlbGluZSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgRml4IGxlYWtzIGFuZCByZS1lbmFibGUgdGhlIHRlc3QgZm9yIHZhbGdyaW5kIGNoZWNraW5nLgoKMjAwNi0wNy0yOCAxMjoxNDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuKjogQ2xlYW4tdXBzIGFuZCBjb2RlIHJlZmxvd3MuIFBhc3MgcmV0dXJuIHZhbHVlIGZyb20gZ3N0X3BhZF9hbGxvY19idWZmZXIoKSB1cHN0cmVhbSBhbW9uZyBvdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19pbml0KSwgKGdzdF94dmlkZGVjX3Jlc2V0KSwKCSAgKGdzdF94dmlkZGVjX3Vuc2V0KSwgKGdzdF94dmlkZGVjX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF94dmlkZGVjX3NldHVwKSwgKGdzdF94dmlkZGVjX25lZ290aWF0ZSksIChnc3RfeHZpZGRlY19jaGFpbiksCgkgIChnc3RfeHZpZGRlY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZGVjX3NyY19nZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX3NldGNhcHMpLCAoZ3N0X3h2aWRkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgIENsZWFuLXVwcyBhbmQgY29kZSByZWZsb3dzLiBQYXNzIHJldHVybiB2YWx1ZSBmcm9tCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgdXBzdHJlYW0gYW1vbmcgb3RoZXIgdGhpbmdzLiBBbHNvIGNoZWNrCgkgIGZvciBOVUxMIEdWYWx1ZSBiZWZvcmUgdXNpbmcgR1NUX1ZBTFVFX1RZUEUgbWFjcm8gKCMzNDg5NzYpLgoJICBNYXNzIHJlbmFtZSBvZiB4dmlkZGVjIC0+IGRlYyB2YXJpYWJsZSBmb3IgYmV0dGVyCgkgIGNvZGUgcmVhZGFiaWxpdHkuCgoyMDA2LTA3LTI4IDEwOjE5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZC5jOiBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgSTQyMC9ZVjEyLiBGaXhlcyAjMzQ4OTc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChnc3RfeHZpZF9pbWFnZV9maWxsKToKCSAgRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIEk0MjAvWVYxMi4gRml4ZXMgIzM0ODk3Ni4KCjIwMDYtMDctMjcgMTA6NTA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtLzogRml4IG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCk6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCksIChnc3RfZ3NtZW5jX3NldGNhcHMpOgoJICBGaXggbmVnb3RpYXRpb24uCgoyMDA2LTA3LTI2IDEwOjUyOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5IGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpOgoJICBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkKCSAgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50YWxseQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHJlbW92ZSBkZWNsYXJhdGlvbiBvZiBidWZmZXJzLCBpdCdzIGFscmVhZHkgZG9uZSBpbiBnc3RjaGVjay5oCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA3LTIzIDExOjUyOjM0ICswMDAwICBDaHJpcyBMZWUgPGNsZWVAa2RlLm9yZz4KCgkgIEFkZCBsaWJvcGVuc3BjLWJhc2VkIFNQQyBkZWNvZGVyIGVsZW1lbnQgKCMzNDgyMjApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENocmlzIExlZSAgPGNsZWUgYXQga2RlIG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19uZWdvdGlhdGUpLCAoZ3N0X3NwY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3NwY19kZWNfaW5pdCksIChnc3Rfc3BjX2RlY19jaGFpbiksCgkgIChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9zcGNfZGVjX3NyY19ldmVudCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnkpLCAoc3BjX3BsYXkpLCAoc3BjX3NldHVwKSwKCSAgKGdzdF9zcGNfZGVjX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwYy9nc3RzcGMuaDoKCSAgQWRkIGxpYm9wZW5zcGMtYmFzZWQgU1BDIGRlY29kZXIgZWxlbWVudCAoIzM0ODIyMCkuCgoyMDA2LTA3LTE5IDE0OjM2OjAwICswMDAwICBNYXJ0aW4gU3p1bGVja2kgPGNvbXBpekBzdWtpbWFzaGl0YS5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdCBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJ0aW4gU3p1bGVja2kKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlcik6CgkgIElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdAoJICBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnRhaW4gdGhpcwoJICBpbmZvcm1hdGlvbiAoIzM0MjQ5NCkuCgoyMDA2LTA3LTE5IDExOjQ3OjIwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wNy0xOSAxMTo0Mzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvbnNmLmM6IFJlYWxseSBmaXggY29tcGlsYXRpb24uIEFwcGFyZW50bHkgaXQncyBub3QgZW5vdWdoIHRvIGp1c3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBmb3IgZXJyb3JzLCBidXQgd2Ugbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5jOiAobnNmX2xvYWQpOgoJICBSZWFsbHkgZml4IGNvbXBpbGF0aW9uLiBBcHBhcmVudGx5IGl0J3Mgbm90IGVub3VnaCB0bwoJICBqdXN0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVycm9ycywgYnV0IHdlIG5lZWQgdG8KCSAgY2hlY2sgZm9yIHNob3J0IHJlYWRzIGFzIHdlbGwgKG5vdyBpZiBvbmx5IHdlIGhhbmRsZWQKCSAgdGhlbSB0b28gLi4uKS4gRml4ZXMgIzM0NzkzNS4KCjIwMDYtMDctMTggMTg6MDU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFF1ZXVlIGluY29taW5nIGV2ZW50cyBpZiB0aGVyZSdzIG5vIHNvdXJjZSBwYWQgeWV0IGFuZAoJICBzZW5kIHRoZW0gZG93bnN0cmVhbSBsYXRlciB3aGVuIHRoZSBwYWQgaXMgdGhlcmUuCgoyMDA2LTA3LTE4IDE2OjQ3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldCBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQKCSAgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdXQgc2FtcGxlcyB3aXRoIDIxLTI0IGJpdCBkZXB0aAoJICB3aXRoIDMyIGJpdCB3aWR0aCAobWFrZXMgdGhpbmdzIGVhc2llciBmb3IgdXMpLgoKMjAwNi0wNy0xOCAxNTo1MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24gcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uCgkgIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmVyIGdldHMgaW1wbGVtZW50ZWQgYSBsb3Qgb2Ygc3R1ZmYKCSAgd2lsbCBoYXZlIHRvIGJlIHJld3JpdHRlbiBhbnl3YXk7IHJlZG8gY2hhaW4gZnVuY3Rpb24sIG1vdmUKCSAgZXJyb3JzIHRvIGVuZCwgZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQoKWluZy4gQWxzbyByZW5hbWUKCSAgb3Zlcmx5IGxvbmcgdmFyaWFibGUgJ3dhdnBhY2tkZWMnIHRvIGp1c3QgJ2RlYyc7IG1pc2NlbGxhbmVvdXMKCSAgb3RoZXIgc21hbGwgc3R1ZmYuCgoyMDA2LTA3LTE4IDE0OjA4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYKCSAgbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF93YXZwYWNrX3JlYWRfbWV0YWRhdGEpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5hbGl6ZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICBQb3J0IHRvIG5ldy9vZmZpY2lhbCB3YXZwYWNrIEFQSSwgZG9uJ3QgdXNlIEFQSSB0aGF0IHdhcyBleHBvcnRlZAoJICBpbiB3YXZwYWNrIGhlYWRlciBmaWxlcyBhbmQgaW4gdGhlIGxpYiBidXQgbWVhbnQgdG8gYmUgcHJpdmF0ZSwgYXQKCSAgbGVhc3Qgbm90IGZvciByZWNlbnQgd2F2cGFjayB2ZXJzaW9uczsgbWlzYy4gJ2NsZWFudXBzJyAoIzM0NzQ0MykuCgoyMDA2LTA3LTE4IDA5OjM2OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi9uc2YuYzogRml4IGNvbXBpbGF0aW9uIGJ5IG5vdCBpZ25vcmluZyByZXR1cm4gdmFsdWVzIG9mIGZyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5jOiAobnNmX2xvYWQpOgoJICBGaXggY29tcGlsYXRpb24gYnkgbm90IGlnbm9yaW5nIHJldHVybiB2YWx1ZXMgb2YgZnJlYWQuCgoyMDA2LTA3LTE3IDE1OjA5OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogYWRkaW5nIG1vcmUgaW5zcGVjdCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgYWRkaW5nIG1vcmUgaW5zcGVjdCBkb2NzCgoyMDA2LTA3LTE3IDE0OjQzOjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOiBhY3R1YWxseSBjb21taXQgaW5zcGVjdGF0aW9uIG9mIGdkcCBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICBhY3R1YWxseSBjb21taXQgaW5zcGVjdGF0aW9uIG9mIGdkcCBlbGVtZW50CgoyMDA2LTA3LTE3IDE0OjE3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcyBmaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE3ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcwoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgZml4IHR5cG8gaW4gY29tbWVudAoKMjAwNi0wNy0xNyAxMDoyNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBXaGVuIHdlIGRvIGEga2V5ZnJhbWUgc2VlayBhbmQgdGhlIHJlcXVlc3RlZCB0aW1lIGlzIGF0IHRoZQoJICBrZXlmcmFtZSwgZG9uJ3Qgc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGtleWZyYW1lLgoJICBGaXhlcyAjMzQ3NDM5LgoKMjAwNi0wNy0xNiAxNDo0NjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgY3Jhc2ggb24gc21hbGwgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9zeW5jKToKCSAgRG9uJ3QgY3Jhc2ggb24gc21hbGwgYnVmZmVycy4KCjIwMDYtMDctMTUgMTE6NTc6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogUmVzZXQgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX3NpbmtfYWN0aXZhdGUpOgoJICBSZXNldCBhZGFwdGVyLgoKMjAwNi0wNy0xNSAxMTo1MDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgoyMDA2LTA3LTE0IDEwOjM0OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCjIwMDYtMDctMTQgMDk6MTE6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmLzogUmVtb3ZlIGNyYWNrIG1hbGxvYy9mcmVlIHJlcGxhY2VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBSZW1vdmUgY3JhY2sgbWFsbG9jL2ZyZWUgcmVwbGFjZW1lbnQuCgoyMDA2LTA3LTEzIDE1OjI1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBmaXggc2VnZmF1bHRzIGR1ZSB0byB3cm9uZyBnX2ZyZWUKCSAgYWRkIGV4YW1wbGUKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgZXhhbXBsZQoKMjAwNi0wNy0xMyAxNToyMjozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNy0xMyAxNToyMjoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoKMjAwNi0wNy0xMyAxNTowNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIE5TRiBkZWNvZGVyIHBsdWdpbi4gRml4ZXMgMTUxMTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2hlcyBieTogSm9oYW4gRGFobGluIDxqb2hhbiBhdCBnbm9tZSBkb3Qgb3JnPgoJICBSb25hbGQgQnVsdGplIDxyYnVsdGplIGF0IHJvbmFsZCBkb3QgYml0ZnJlYWsgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2RpczY1MDIuaDoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSAgKiBnc3QvbnNmL2Ztb3BsLmM6CgkgICogZ3N0L25zZi9mbW9wbC5oOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvbnNmL2xvZy5jOgoJICAqIGdzdC9uc2YvbG9nLmg6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5oOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5oOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgKiBnc3QvbnNmL29zZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5oOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIEFkZGVkIE5TRiBkZWNvZGVyIHBsdWdpbi4gRml4ZXMgMTUxMTkyLgoKMjAwNi0wNy0xMyAxMjo0MjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBPbmx5IHJ1biBtcGVnMmVuYyB1bml0IHRlc3QgaWYgd2UgYnVpbHQgdGhlIG1wZWcyZW5jIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE9ubHkgcnVuIG1wZWcyZW5jIHVuaXQgdGVzdCBpZiB3ZSBidWlsdCB0aGUgbXBlZzJlbmMgcGx1Z2luLgoKMjAwNi0wNy0xMyAxMjoyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZXJyb3Igb3V0IGluIGNvbmZpZ3VyZSBpZiBtanBlZ3Rvb2xzIGRldiBpcyBub3QgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZXJyb3Igb3V0IGluIGNvbmZpZ3VyZSBpZiBtanBlZ3Rvb2xzIGRldiBpcyBub3QgdGhlcmUuCgoyMDA2LTA3LTEzIDExOjA2OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgUG9ydCBtcGVnMmVuYyB0byAwLjEwICgjMzQzMTg0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkgIFBvcnQgbXBlZzJlbmMgdG8gMC4xMCAoIzM0MzE4NCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBtcGVnMmVuYy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcGl0Y2gtdGVzdC4KCjIwMDYtMDctMTIgMDk6Mjg6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgoyMDA2LTA3LTEwIDE0OjQ5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgoyMDA2LTA3LTEwIDE0OjQzOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqKiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqCgoyMDA2LTA3LTEwIDE0OjQyOjE1ICswMDAwICBNYXRoaXMgSG9mZXIgPG1hdGhpcy5ob2ZlckBkcmVhbWxhYi5uZXQ+CgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWF0aGlzIEhvZmVyIDxtYXRoaXMgZG90IGhvZmVyIGF0IGRyZWFtbGFiIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXRfY2FwcyksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2Rpc3Bvc2UpLCAoZ3N0X2lpcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9jbGFzc19pbml0KSwgKGdzdF9paXJfaW5pdCksIChpaXJfc2V0X2NhcHMpLAoJICAoaWlyX3RyYW5zZm9ybV9pcCksIChpaXJfc2V0X3Byb3BlcnR5KSwgKGlpcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0X2NhcHMpLCAobHB3c2luY190cmFuc2Zvcm1faXApLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA2LTA3LTEwIDA5OjU3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoKMjAwNi0wNy0xMCAwOTo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpOgoJICBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgoyMDA2LTA3LTA3IDE0OjMwOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoKMjAwNi0wNy0wNyAxMTo0NDowNSArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogUmVtb3ZlIHVubG9jayBmdW5jdGlvbi4gc3RhcnQvc3RvcCB3aWxsIGRvIGV2ZXJ5dGhpbmcgbmVlZGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX2ZpbmFsaXplKSwKCSAgKHJlcXVlc3RfZGlzcGF0Y2gpLCAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RvcCksIChzZXRfcHJveHkpLCAoc2V0X3VyaSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKSwgKHNpemVfaGVhZGVyX2hhbmRsZXIpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJlbW92ZSB1bmxvY2sgZnVuY3Rpb24uIHN0YXJ0L3N0b3Agd2lsbCBkbyBldmVyeXRoaW5nIG5lZWRlZAoJICBSZW1vdmVkIGNvZGUgdGhhdCB3YXMgbmV2ZXIgY2FsbGVkLgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXIuIERvbid0IHNlbmQgRU9TIC0gcGFyZW50IGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIERvIG5vdCBlc2NhcGUgcGF0aC4gRml4ZXMgIzM0NjcyMy4KCSAgQWRkaXRpb25hbCBjb2RlIGNsZWFudXBzLgoKMjAwNi0wNy0wMyAyMDowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIElWNDEgZm91cmNjIChzZWUgYnVnICMxNzExMTEpOyBkb24ndCBvdXRwdXQgY29uZnVzaW5nCgkgIGRlYnVnIG1lc3NhZ2Ugd2hlbiBza2lwcGluZyBhdG9tcy4KCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA2LTIyIDEwOjEwOjUxICswMDAwICBDb2R5IFJ1c3NlbGwgPGJyYXRzY2hlQGdub21lLm9yZz4KCgkgIGdzdC86IEF2b2lkIHVubmVjZXNzYXJ5IGNsYXNzIGNhc3QgY2hlY2sgaW4gY2xhc3NfaW5pdCBmdW5jdGlvbnMgKCMzMzc3NDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENvZHkgUnVzc2VsbCA8YnJhdHNjaGUgYXQgZ25vbWUgb3JnPgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgIEF2b2lkIHVubmVjZXNzYXJ5IGNsYXNzIGNhc3QgY2hlY2sgaW4gY2xhc3NfaW5pdAoJICBmdW5jdGlvbnMgKCMzMzc3NDcpLgoKMjAwNi0wNi0yMCAxMTowNzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6IEZpeCBtb2RwbHVnIG9uIEFNRDY0LiBGaXhlcyAjMzQ1MzM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJICBGaXggbW9kcGx1ZyBvbiBBTUQ2NC4gRml4ZXMgIzM0NTMzNi4KCjIwMDYtMDYtMTkgMTQ6MDc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjaGVjayBzbyB0aGF0IGZ1dHVyZSBsaWJuZW9uIEFQSSBjaGFuZ2VzIHdvbid0IGJyZWFrIHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY2hlY2sgc28gdGhhdCBmdXR1cmUgbGlibmVvbiBBUEkgY2hhbmdlcyB3b24ndCBicmVhayB0aGUgYnVpbGQuCgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgRml4IGJ1aWxkIHdpdGggbGlibmVvbi0wLjI2LnggKCMzNDUxODIpLgoKMjAwNi0wNi0xOSAxMzoxNzo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zCgoyMDA2LTA2LTE3IDE1OjA5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksICMzNDM2MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwKCSAgIzM0MzYwMikuCgoyMDA2LTA2LTE2IDE1OjQzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdGVzdCBjYXNlIGZvciBidWcgIzM0Mjc4OSBmaXhlZCBiZWxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAodGVzdF9yZXVzZSksCgkgIChhdWRpb3Jlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHRlc3QgY2FzZSBmb3IgYnVnICMzNDI3ODkgZml4ZWQgYmVsb3cuCgoyMDA2LTA2LTE2IDE1OjE3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBJbXBsZW1lbnQgR3N0QmFzZVRyYW5zZm9ybTo6c3RhcnQgYW5kIDo6c3RvcCBzbyB0aGF0IGF1ZGlvcmVzYW1wbGUgY2FuIGNsZWFyIGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3N0YXJ0KSwgKGF1ZGlvcmVzYW1wbGVfc3RvcCksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KToKCSAgSW1wbGVtZW50IEdzdEJhc2VUcmFuc2Zvcm06OnN0YXJ0IGFuZCA6OnN0b3Agc28gdGhhdCBhdWRpb3Jlc2FtcGxlCgkgIGNhbiBjbGVhciBpdHMgaW50ZXJuYWwgc3RhdGUgcHJvcGVybHkgYW5kIGJlIHJldXNlZCBpbnN0ZWQgb2YKCSAgY2F1c2luZyBub24tbmVnb3RpYXRlZCBlcnJvcnMgd2l0aCBwbGF5YmluIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcwoJICAoIzM0Mjc4OSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICBOZWVkIHRvIHNldCBlbGVtZW50IHN0YXRlIGhlcmUgc28gdGhhdCA6OnN0YXJ0IGFuZCA6OnN0b3AgYXJlCgkgIGNhbGxlZC4KCjIwMDYtMDYtMTYgMTI6MzU6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDYtMTYgMDk6NDk6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX3dpbmRvd19kZXN0cm95KSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBwb3J0IHRvIGRlcml2ZSBmcm9tIGJhc2V0cmFuc2Zvcm0gYW5kIHNlbmQgcmVzdWx0cyB2aWEgbWVzc2FnZXMKCSAgKGxpa2UgbGV2ZWwgZWxlbWVudCkKCjIwMDYtMDYtMTUgMTU6NTg6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgoyMDA2LTA2LTE1IDA4OjUwOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIEZpeGVzICMzNDQ5NDQuCgoyMDA2LTA2LTE0IDE4OjA3OjUxICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIGV4dC9zb3VuZHRvdWNoLzogTWFrZSBwaXRjaCBlbGVtZW50IGNvbnRyb2xsYWJsZSB2aWEgR3N0Q29udHJvbGxlciBpbnRlcmZhY2UgKCMzNDQ4MjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gIDx3b3V0ZXIgYXQga2FuZ2Fyb290IG5ldD4KCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgTWFrZSBwaXRjaCBlbGVtZW50IGNvbnRyb2xsYWJsZSB2aWEgR3N0Q29udHJvbGxlciBpbnRlcmZhY2UKCSAgKCMzNDQ4MjEpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXAgY29yZSByZXF1aXJlbWVudHMgdG8gMC4xMC44LjEvQ1ZTIGJlY2F1c2UgZWFybGllcgoJICBHc3RDb250cm9sbGVycyBjYW4ndCBoYW5kbGUgZmxvYXQgcHJvcGVydGllcyBjb3JyZWN0bHkuCgkgIENoZWNrIGZvciBHc3RDb250cm9sbGVyIENGTEFHUyBhbmQgTElCUy4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6IChtYWluKToKCSAgQWRkIHNtYWxsIHRlc3QgcHJvZ3JhbSBmb3IgdGhlIGFib3ZlICh3ZWxjb21lIHRvIHRoZSA4MHMhKS4KCjIwMDYtMDYtMTQgMDk6MzI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldyBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcKCSAgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3RoZXIgc3R1ZmYuIFNldCBkdXJhdGlvbgoJICB0byAndW5rbm93bicgaW4gaW5pdGlhbCBoZWFkZXIgYW5kIHJlc2VuZCBoZWFkZXIgd2l0aCBwcm9wZXIKCSAgZHVyYXRpb24gb24gRU9TOyB1cGRhdGUgU2ViYXN0aWFuJ3MgZS1tYWlsIGFkZHJlc3MuCgoyMDA2LTA2LTEyIDExOjMwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXgvOiAjZGVmaW5lIHJlZCBncmVlbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi8uY3ZzaWdub3JlOgoJICAqIGV4dC9kaXJlY3RmYi8uY3ZzaWdub3JlOgoJICAjZGVmaW5lIHJlZCBncmVlbgoKMjAwNi0wNi0xMiAxMTowNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMTEgMjI6Mzc6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTA2LTExIDEzOjU3OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IHJlcXVpcmUgYW0xNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICByZXF1aXJlIGFtMTcKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBjbGVhbiB1cCBidWlsZCBmdXJ0aGVyCgoyMDA2LTA2LTEwIDE1OjMzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBleHQvd2F2cGFjay86IEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCjIwMDYtMDYtMDkgMTc6Mzg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUywgZml4ZXMgYnVpbGQgb24gY3lnd2luICgjMzQzODY2KS4KCjIwMDYtMDYtMDYgMTY6MjY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoKMjAwNi0wNi0wNiAxNjoxNDo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgZ2RwIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGdkcCBwbHVnaW5zCgoyMDA2LTA2LTA2IDE1OjE2OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNi0wNiAxNDozOToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIGFkZCB2ZXJzaW9uIDEuMAoKMjAwNi0wNi0wMiAxNzowMTowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBEb24ndCBidXN5LXdhaXQgaW4gdGVzdHM7IHRoaXMgd2FzIGNhdXNpbmcgdGVzdCB0aW1lb3V0cyB2ZXJ5IGZyZXF1ZW50bHkgd2hlbiBydW5uaW5nIHVuZGVyIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzogKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnZXRfZmxvYXRfbWNfY2FwcyksIChnZXRfaW50X21jX2NhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGJ1c3ktd2FpdCBpbiB0ZXN0czsgdGhpcyB3YXMgY2F1c2luZyB0ZXN0IHRpbWVvdXRzIHZlcnkKCSAgZnJlcXVlbnRseSB3aGVuIHJ1bm5pbmcgdW5kZXIgdmFsZ3JpbmQuCgoyMDA2LTA2LTAyIDE2OjQ1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgc21hbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGZpeGVzCgoyMDA2LTA2LTAyIDEzOjQzOjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBUaGVvcmEgNDo0OjQgcGl4ZWwgZm9ybWF0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV80NDRfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgIFRoZW9yYSA0OjQ6NCBwaXhlbCBmb3JtYXQgc3VwcG9ydC4KCjIwMDYtMDYtMDIgMTA6Mjg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpOgoJICBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcwoJICBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdkcHBheV9zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBjcmMKCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNi0wMSAxOToxOTo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50Lmg6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyb3B0aW9ucy5oOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmg6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5oOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhZGVjLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFlbmMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYXBhcnNlLmg6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5oOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2Nsb2NrLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwYXVkaW9wYXlsb2FkLmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuaDoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmg6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmg6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuaDoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5oOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuaDoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5oOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxqcGVnc3JjLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuaDoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuaDoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5oOgoJICAqIHRlc3RzL29sZC90ZXN0c3VpdGUvYWxzYS9zaW5lc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMzEgMTk6MjY6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmg6IEZvcmdvdCB0byBjb21taXQgdGhlIGhlYWRlciBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBGb3Jnb3QgdG8gY29tbWl0IHRoZSBoZWFkZXIgZmlsZSB0b28uCgoyMDA2LTA1LTMxIDEzOjM3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGRlZCBHc3RTZWdtZW50IHRvIGNvbnRyb2wgc2VnbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWRfaW5pdCksCgkgIChnc3RfZmFhZF9kaXNwb3NlKSwgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgQWRkZWQgR3N0U2VnbWVudCB0byBjb250cm9sIHNlZ21lbnRzLgoJICBBZGRlZCBjbGlwcGluZy9kcm9wcGluZyBvZiBvdXRnb2luZyBidWZmZXJzIGluIG9yZGVyIHRvIGhhdmUgYWNjdXJhdGUKCSAgc2Vla2luZyB3b3JraW5nIHByb3Blcmx5LgoKMjAwNi0wNS0yOCAxNzowODoxNyArMDAwMCAgTHV0eiBNw7xsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L2J6Mi86IFVzZSBnc3RfdHlwZV9maW5kX2hlbHBlcl8qIGZ1bmN0aW9ucyBmb3IgdHlwZWZpbmRpbmc7IHVzZSBjb3JyZWN0IGNhcHMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBhZGQgc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNw7xsbGVyICA8bHV0eiBhdCB0b3Bmcm9zZSBkZT4KCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IChnc3RfYnoyZGVjX2NoYWluKSwgKGdzdF9iejJkZWNfaW5pdCksCgkgIChnc3RfYnoyZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfYnoyZGVjX2NsYXNzX2luaXQpOgoJICBVc2UgZ3N0X3R5cGVfZmluZF9oZWxwZXJfKiBmdW5jdGlvbnMgZm9yIHR5cGVmaW5kaW5nOyB1c2UKCSAgY29ycmVjdCBjYXBzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgYWRkIHN0YXRlIGNoYW5nZQoJICBmdW5jdGlvbiBhbmQgcmVzZXQgZGVjb2RlciBpbiBpdDsgZG9uJ3QgdW5yZWYgYnVmZmVyIGlmCgkgIHBhZF9wdXNoIGZhaWxzOyB1c2UgZml4ZWQgY2FwcyBvbiBzb3VyY2UgcGFkLiAoIzM0MTUyNCkuCgoyMDA2LTA1LTI2IDIyOjM1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fZnJlcXVlbmN5X2NoYW5nZWQpLAoJICAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZml4IHR5cG8KCjIwMDYtMDUtMjYgMTM6MTY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wCgkgIHRpbWUuCgoyMDA2LTA1LTI2IDExOjQ4OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCjIwMDYtMDUtMjQgMTE6NTY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoKMjAwNi0wNS0yMiAxODowMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcG8vUE9URklMRVMuaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksIChwbHVnaW5faW5pdCk6CgkgIHBvL1BPVEZJTEVTLmluOgoJICBUaHJvdyBhbiBlcnJvciB3aGVuIHRoZSBmaWxlIGlzIGVuY3J5cHRlZC4gTW92ZSBwbHVnaW5faW5pdCBzdHVmZgoJICB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLCBhZGQgc3R1ZmYgZm9yIGkxOG4sIG1ha2UgZGVidWcgY2F0ZWdvcnkKCSAgc3RhdGljLgoKMjAwNi0wNS0yMiAxNjoyNDoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc2lnaCwgcmVhbGx5IGRvbid0IGJ1aWxkIHRoZXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzaWdoLCByZWFsbHkgZG9uJ3QgYnVpbGQgdGhlc2UKCjIwMDYtMDUtMjIgMTY6MDg6MzQgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgTmV3IHBsdWdpbjogaDI2NHBhcnNlICgjMzQwNjM4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgeGVyaXMgZG90IGN6PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2gyNjRfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9pbml0KSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2hhbmRsZV9ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgTmV3IHBsdWdpbjogaDI2NHBhcnNlICgjMzQwNjM4KQoKMjAwNi0wNS0yMiAxNTo1MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9wYXlfY2hhaW4pLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zCgkgIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgY2xlYW4gdXAgbW9yZQoKMjAwNi0wNS0yMiAxNDozNzo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCjIwMDYtMDUtMjIgMTM6NDA6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgoyMDA2LTA1LTIyIDEzOjI1OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfZ2RwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfZGlzcG9zZSksIChnc3RfZ2RwX3N0YW1wX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9nZHBfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KSwgKGdkcGRlcGF5X3B1c2hfcGVyX2J5dGUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcGRlcGF5X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwcGF5X3N1aXRlKSwKCSAgKG1haW4pOgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsCgkgIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoKMjAwNi0wNS0yMSAxNjo0MTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgIFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoKMjAwNi0wNS0yMSAxNjoyMzoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgTGluayB0byBiYXNlIGxpYnJhcmllcwoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIHVzZSBuZXcgdGhyZXNoaG9sZCBwcm9wZXJ0eQoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pLAoJICAoZ3N0X3NwZWN0cnVtX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBnc3RfYWRhcHRlciwgc3VwcG9ydCBtdWx0aXBsZS1jaGFubmVscywgYWRkIHRocmVzaG9sZCBwcm9wZXJ0eSBmb3IKCSAgcmVzdWx0LCBhZGQgZG9jcywgZml4IHJlc3VsdGluZyBzcGVjdHJ1bSByYW5nZSAod2FzIGluY2x1ZGluZyBtaXJyb3JlZAoJICByZXN1bHRzKQoKMjAwNi0wNS0yMCAyMjo0MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IChnc3Rfc3BlY3RydW1fZml4X2RvdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoKMjAwNi0wNS0xOSAxODo1ODowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgoyMDA2LTA1LTE5IDE4OjMxOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xOSAxNDoxNzowNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLio6IFVzZSBzYW1wbGluZyByYXRlIGZyb20gc2V0X2NhcHMuIENvbW1lbnQgb3V0IHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2Jhc2VfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2NsYXNzX2luaXQpLCAoYWxzYXNwZGlmc2lua19pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfZGlzcG9zZSksIChhbHNhc3BkaWZzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChhbHNhc3BkaWZzaW5rX2dldF9wcm9wZXJ0eSksIChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xvc2UpLCAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpLAoJICAoYWxzYXNwZGlmc2lua193cml0ZV9mcmFtZSksIChhbHNhc3BkaWZzaW5rX2V2ZW50KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWVzKSwgKGFsc2FzcGRpZnNpbmtfY3VycmVudF9kZWxheSksCgkgIChnZW5lcmF0ZV9pZWM5NThfemVyb19mcmFtZSksIChhbHNhc3BkaWZzaW5rX3JlbmRlciksCgkgIChpZ25vcmVfYWxzYV9lcnIpLCAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICBVc2Ugc2FtcGxpbmcgcmF0ZSBmcm9tIHNldF9jYXBzLiBDb21tZW50IG91dCBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgoyMDA2LTA1LTE4IDE5OjM0OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWDExCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2lmYWNlX3N1cHBvcnRlZCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIENvZGUgY2xlYW51cHMsIGZpeCBkZWJ1ZyBtYWNyb3MKCjIwMDYtMDUtMTggMTM6MTI6MTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3RjaGVjaz8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggZGlzdGNoZWNrPwoKMjAwNi0wNS0xOCAxMjo1MTowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGFuIGFsc2EgcGx1Z2luIHRvIG91dHB1dCBJRUM5NTggZnJhbWVzIG92ZXIgUy9QRElGCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfYmFzZV9pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xhc3NfaW5pdCksIChhbHNhc3BkaWZzaW5rX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19kaXNwb3NlKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3Byb3BlcnR5KSwgKGFsc2FzcGRpZnNpbmtfcHJvdmlkZV9jbG9jayksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX2Nsb3NlKSwgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKSwKCSAgKGFsc2FzcGRpZnNpbmtfd3JpdGVfZnJhbWUpLCAoYWxzYXNwZGlmc2lua19ldmVudCksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lcyksIChhbHNhc3BkaWZzaW5rX2N1cnJlbnRfZGVsYXkpLAoJICAoZ2VuZXJhdGVfaWVjOTU4X3plcm9fZnJhbWUpLCAoYWxzYXNwZGlmc2lua19yZW5kZXIpLAoJICAoaWdub3JlX2Fsc2FfZXJyKSwgKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgQWRkIGFuIGFsc2EgcGx1Z2luIHRvIG91dHB1dCBJRUM5NTggZnJhbWVzIG92ZXIgUy9QRElGCgoyMDA2LTA1LTE3IDA5OjM5OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBSZW1vdmUgdW51c2VkIGNhcHMgY3J1ZnQgZnJvbSBjaGFpbiBmdW5jdGlvbiBhbHRvZ2V0aGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF91cGRhdGVfY2FwcyksIChnc3RfZmFhZF9jaGFpbik6CgkgIFJlbW92ZSB1bnVzZWQgY2FwcyBjcnVmdCBmcm9tIGNoYWluIGZ1bmN0aW9uIGFsdG9nZXRoZXIuCgoyMDA2LTA1LTE3IDA5OjE1OjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IGNhcHMgd2FzIHNldCB0byBzb21ldGhpbmcsIGFuZCBpZiBpdCBkaWQsIHRoZSBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCBjYXBzIHdhcyBzZXQgdG8gc29tZXRoaW5nLCBhbmQgaWYgaXQgZGlkLCB0aGUKCSAgZnVuY3Rpb24gY2FsbGVkIHRvIGZpbGwgdGhhdCB2YXJpYWJsZSBhY3R1YWxseSBzZXRzIHRoZSBjYXBzIG9uIHRoZQoJICBzb3VyY3BhZCwgc28gd2UgY2FsbCBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB1c2luZwoJICBHU1RfUEFEX0NBUFMoZmFhZC0+c3JjcGFkKS4KCjIwMDYtMDUtMTUgMTA6MTA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCBjaGFuZ2VzIHdpdGggYWRkaXRpb25zIGFuZCByZW1vdmFscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IGNoYW5nZXMgd2l0aCBhZGRpdGlvbnMgYW5kIHJlbW92YWxzCgoyMDA2LTA1LTEzIDE4OjM5OjEzICswMDAwICBZb3VuZy1IbyBDaGEgPGdhbmFkaXN0QGNob2xsaWFuLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogSWYgd2UgZW5jb3VudGVyIGEgZGVjb2RpbmcgZXJyb3IsIGRvbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSwgYnV0IHRyeSB0byByZXN5bmMgKG9yIHNlZSBpZiB3ZSBoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5nLUhvIENoYSAgPGdhbmFkaXN0IGNob2xsaWFuIG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBJZiB3ZSBlbmNvdW50ZXIgYSBkZWNvZGluZyBlcnJvciwgZG9uJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5LAoJICBidXQgdHJ5IHRvIHJlc3luYyAob3Igc2VlIGlmIHdlIGhhdmUgYmV0dGVyIGx1Y2sgd2l0aCB0aGUgbmV4dAoJICBidWZmZXIgaW4gY2FzZSBvZiBmcmFtZWQgaW5wdXQpLiBPbmx5IGVycm9yIG91dCBhZnRlciBmaXZlCgkgIGNvbnNlY3V0aXZlIGVycm9ycy4gRml4ZXMgIzM0MTU2My4KCjIwMDYtMDUtMTIgMTA6NDM6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IENvbXBpbGUgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfaW5pdCksIChnc3RfeHZpZGVuY19maW5hbGl6ZSksCgkgIChnc3RfeHZpZGVuY19oYW5kbGVfc2lua19ldmVudCksIChnc3RfeHZpZGVuY19zZXR1cCksCgkgIChnc3RfeHZpZGVuY19zZXRjYXBzKSwgKGdzdF94dmlkZW5jX2VuY29kZSksIChnc3RfeHZpZGVuY19jaGFpbiksCgkgIChnc3RfeHZpZGVuY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICBDb21waWxlIGZpeGVzLgoKMjAwNi0wNS0xMiAwOToyODoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGV4dC94dmlkLzogeHZpZCBwbHVnaW4gdG8gc3VwcG9ydCBtb3JlIGNhcGFiaWxpdGllcyBvZiBYdmlEIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKGdzdF94dmlkX2luaXQpLCAoZ3N0X3h2aWRfc3RydWN0dXJlX3RvX2NzcCksCgkgIChnc3RfeHZpZF9jc3BfdG9fY2FwcyksIChnc3RfeHZpZF9pbWFnZV9nZXRfc2l6ZSksCgkgIChnc3RfeHZpZF9pbWFnZV9maWxsKToKCSAgKiBleHQveHZpZC9nc3R4dmlkLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfeHZpZGRlY19pbml0KSwgKGdzdF94dmlkZGVjX3Jlc2V0KSwgKGdzdF94dmlkZGVjX3Vuc2V0KSwKCSAgKGdzdF94dmlkZGVjX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF94dmlkZGVjX3NldHVwKSwKCSAgKGdzdF94dmlkZGVjX2FkZF9wYXIpLCAoZ3N0X3h2aWRkZWNfbmVnb3RpYXRlKSwKCSAgKGdzdF94dmlkZGVjX2RlY29kZSksIChnc3RfeHZpZGRlY19jaGFpbiksCgkgIChnc3RfeHZpZGRlY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZGVjX3NyY19nZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX3NyY19saW5rKSwgKGdzdF94dmlkZGVjX3NldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfcHJvZmlsZV9nZXRfdHlwZSksCgkgIChnc3RfeHZpZGVuY19xdWFudF90eXBlX2dldF90eXBlKSwgKGdzdF94dmlkZW5jX3Bhc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3R5cGUpLCAoZ3N0X3h2aWRlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF94dmlkZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3h2aWRlbmNfaW5pdCksCgkgIChnc3RfeHZpZGVuY19maW5hbGl6ZSksIChnc3RfeHZpZGVuY19oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfeHZpZGVuY19zZXR1cCksIChnc3RfeHZpZGVuY19zZXRjYXBzKSwgKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19jaGFpbiksIChnc3RfeHZpZGVuY19mbHVzaF9idWZmZXJzKSwKCSAgKGdzdF94dmlkZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3h2aWRlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWQgcGx1Z2luIHRvIHN1cHBvcnQgbW9yZSBjYXBhYmlsaXRpZXMgb2YgWHZpRCBjb2RlYy4KCSAgRml4ZXMgIzMzOTQ2Mi4KCSAgU29tZSBtb3JlIGNsZWFudXBzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wNS0xMSAyMDo0Nzo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHB1dCBiYWNrIC1uby11bmRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHB1dCBiYWNrIC1uby11bmRlZmluZWQKCjIwMDYtMDUtMTEgMTc6NTk6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTExIDA5OjA5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZSBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUKCSAgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbmFsIGVzZHMgYm94LiBQcm9tb3RlIHRoZQoJICBkZWZhdWx0IEFBQyB0byBtcDMgd2hlbiBpbmRpY2F0ZWQuIEZpeGVzICMzMzA2MzIuCgoyMDA2LTA1LTEwIDE3OjQ0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X2R1bXBfdW5rbm93biksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgRG9uJ3QgI2RlZmluZSBnc3RfdXRpbF9kdW1wX21lbSgpLCB1c2Ugc29tZXRoaW5nIG1vcmUKCSAgc3BlY2lmaWMgaW5zdGVhZCB0byBhdm9pZCBjb25mdXNpb24uCgoyMDA2LTA1LTA4IDE5OjIxOjE4ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCjIwMDYtMDUtMDggMTU6MjA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChxdGRlbXV4X2R1bXBfbXZoZCk6CgkgIERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgQWxzbyByZXBvcnQgZHVyYXRpb24gaW4gcHVzaCBtb2RlIHNpbmNlIHdlIGNhbi4KCjIwMDYtMDUtMDggMTE6NTU6MDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBhdXRvZ2VuLnNoOiBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6IChDT05GSUdVUkVfREVGX09QVCk6CgkgIGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUKCjIwMDYtMDUtMDYgMDA6MTU6NTkgKzAwMDAgIE1hY2llaiBLYXRhZmlhc3ogPG1hdGhyaWNrQG1hdGhyaWNrLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCjIwMDYtMDUtMDUgMjA6MTI6NTkgKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGVjdGlvbi4KCjIwMDYtMDUtMDUgMTU6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiBVc2UgKE5VTEwpIGluc3RlYWQgb2YganVzdCBOVUxMIGluIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3NpbmtfcHJlcGFyZSk6CgkgIFVzZSAoTlVMTCkgaW5zdGVhZCBvZiBqdXN0IE5VTEwgaW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8uCgoyMDA2LTA1LTA0IDE1OjMyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4zID09PQoKMjAwNi0wNS0wNCAxNToyODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgoyMDA2LTA1LTA0IDE1OjA5OjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBQZXJmb3JtIHZlcnNpb24gbnVtYmVyIHN1cmdlcnkgdG8gY29ycmVjdGx5IHJlbGVhc2UgdGFyYmFsbHMgb2YgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQZXJmb3JtIHZlcnNpb24gbnVtYmVyIHN1cmdlcnkgdG8gY29ycmVjdGx5IHJlbGVhc2UgdGFyYmFsbHMgb2YgMC4xMC4zCgoyMDA2LTA1LTA0IDE0OjUyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKMjAwNi0wNS0wNCAxNDo1MTowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wNCAwOToyOToyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgoyMDA2LTA1LTAzIDIxOjQ4OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wNS0wMyAxNjo1NDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbTogQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBmb3IgZ3N0L3RhZy90YWcuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1MgZm9yIGdzdC90YWcvdGFnLmgKCjIwMDYtMDUtMDMgMTQ6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhIGRlYWQgY29kZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYQoJICBkZWFkIGNvZGUgYmxvY2suCgoyMDA2LTA1LTAzIDEzOjIwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRXZlcnlib2R5IGxvdmVzIGRvY3MgLSBhZGQgZG9jcyBmb3IgbXVzaWNicmFpbnogcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBFdmVyeWJvZHkgbG92ZXMgZG9jcyAtIGFkZCBkb2NzIGZvciBtdXNpY2JyYWlueiBwbHVnaW4uCgoyMDA2LTA1LTAzIDEyOjAxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgbXVzaWNicmFpbnogZGlyIHRvIERJU1RfU1VCRElSUyBhcyB3ZWxsIChmaXhlcyBkaXN0Y2hlY2spLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBtdXNpY2JyYWlueiBkaXIgdG8gRElTVF9TVUJESVJTIGFzIHdlbGwgKGZpeGVzIGRpc3RjaGVjaykuCgoyMDA2LTA1LTAzIDExOjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUuCgoyMDA2LTA1LTAzIDExOjI3OjQyICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IE11c2ljQnJhaW56IFRSTSBwbHVnaW4gKCMzMzY4OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fYmFzZV9pbml0KSwKCSAgKGdzdF90cm1fY2xhc3NfaW5pdCksIChnc3RfdHJtX2luaXQpLCAoZ3N0X3RybV9zZXRjYXBzKSwKCSAgKGdzdF90cm1fY2hhaW4pLCAoZ3N0X3RybV9lbWl0X3NpZ25hdHVyZSksIChnc3RfdHJtX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdHJtX2dldF9wcm9wZXJ0eSksIChnc3RfdHJtX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBQb3J0IE11c2ljQnJhaW56IFRSTSBwbHVnaW4gKCMzMzY4OTgpLgoKMjAwNi0wNS0wMyAxMDoyNTo0NiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggIzMzNDc0ODogdXNlIGZha2VfY29kZWNfZGF0YSBpZiB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBwcm9jZXNzIGRvZXNuJ3QgbG9vayBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAobG9va3NfbGlrZV92YWxpZF9oZWFkZXIpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBGaXggIzMzNDc0ODogdXNlIGZha2VfY29kZWNfZGF0YSBpZiB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGZpcnN0CgkgIGJ1ZmZlciB3ZSBwcm9jZXNzIGRvZXNuJ3QgbG9vayBsaWtlIHBsYXVzaWJsZSBBQUMgZGF0YSAoZS5nLgoJICByZXNlcnZlZCB2YWx1ZXMgZm9yIHJhdGUsIG9yIGNoYW5uZWxzKS4gRml4ZXMgcGxheWJhY2sgb2YgQXBwbGUncwoJICBtb3ZpZSB0cmFpbGVycy4KCjIwMDYtMDUtMDIgMjE6NTI6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCjIwMDYtMDUtMDEgMjE6Mzc6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoKMjAwNi0wNS0wMSAxNzo1ODozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlZCB0byBnb29kLiAgQ2xvc2VzICMzMzYxMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBtb3ZlZCB0byBnb29kLiAgQ2xvc2VzICMzMzYxMTAKCjIwMDYtMDQtMzAgMTY6MTY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0zMCAxNTozMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MKCjIwMDYtMDQtMzAgMTU6MTM6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICB1cGRhdGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgc2lnbmFscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIHNpZ25hbHMKCjIwMDYtMDQtMzAgMTU6MTE6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGlnbm9yZSBtb3JlOyBhZGQgbmV3IGluc3BlY3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlOyBhZGQgbmV3IGluc3BlY3QgZmlsZXMKCjIwMDYtMDQtMzAgMTQ6NTk6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW4gY3ZzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZmlsZXMgdGhhdCBzaG91bGQgbm90IGJlIGluIGN2cwoKMjAwNi0wNC0zMCAxNDo1ODoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBGaXggdXAgZG9jcyBmb3IgdGFnbGliIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgRml4IHVwIGRvY3MgZm9yIHRhZ2xpYiBwbHVnaW4KCSAgQWxzbyBzY2FuIC5jYyBmaWxlcwoKMjAwNi0wNC0zMCAxNDo1NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCjIwMDYtMDQtMjkgMTg6NDY6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpIGNhc2Ugb2YgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkKCSAgY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDQtMjkgMTg6MTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50byBpdHMgb3duIHN1YmNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8KCSAgaXRzIG93biBzdWJjbGFzcy4KCjIwMDYtMDQtMjkgMTU6MzY6MTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IGFkZGVkIGlyYWRpby1tb2RlIHN1cHBvcnQgYXMgaW4gZ25vbWV2ZnNzcmMgdG8gZW5hYmxlIGNvbm5lY3Rpb25zIHdpdGggaWN5ZGVtdXggdGhhdCB3aWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIGFkZGVkIGlyYWRpby1tb2RlIHN1cHBvcnQgYXMgaW4gZ25vbWV2ZnNzcmMgdG8gZW5hYmxlCgkgIGNvbm5lY3Rpb25zIHdpdGggaWN5ZGVtdXggdGhhdCB3aWxsIHNlbmQgdGl0bGUgdGFnIG1lc3NhZ2VzIG9uCgkgIHNob3V0Y2FzdC9pY2VjYXN0IHN0cmVhbXMuIEkndmUgYWxzbyBhZGRlZCBpcmFkaW8gcHJvcGVydGllcwoJICBpcmFkaW8tbmFtZSwgaXJhZGlvLWdlbnJlLCBpcmFkaW8tdXJsLgoJICBhZGRlZCB1c2VyLWFnZW50IHByb3BlcnR5IGJlY2F1c2Ugc29tZSBzaG91dGNhc3Qgc3RyZWFtcyBkb24ndCByZXR1cm4KCSAgZGF0YSBpZiB0aGUgR0VUIHJlcXVlc3RzIGRvbid0IGhhdmUgYSBVc2VyLUFnZW50LgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RuZW9uLmRzcDoKCSAgdXNlIGRlYnVnIHZlcnNpb24gb2YgbGlibmVvbiBpbiBkZWJ1ZyBtb2RlCgoyMDA2LTA0LTI4IDIxOjQzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIGVsZW1lbnQgcmVuYW1lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZWxlbWVudCByZW5hbWVkCgoyMDA2LTA0LTI4IDE5OjQ2OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBtYWtlIEdzdEVsZW1lbnREZXRhaWxzIGNvbnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ3BhcnNlLmM6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy92NGwvZ3N0djRsanBlZ3NyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgIG1ha2UgR3N0RWxlbWVudERldGFpbHMgY29uc3QKCjIwMDYtMDQtMjggMTk6MjQ6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIHJlbW92ZWQgcGx1Z2luIGRvYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCBwbHVnaW4gZG9jCgoyMDA2LTA0LTI4IDE5OjIzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgbW92ZWQgeGltYWdlc3JjIHRvIGdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmVkIHhpbWFnZXNyYyB0byBnb29kCgoyMDA2LTA0LTI4IDE2OjUxOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgIGJvcmdpZnkgbmFtaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IG5hbWluZwoKMjAwNi0wNC0yOCAxNjo0Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBkb2MgdHdlYWtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdHdlYWtzCgoyMDA2LTA0LTI4IDE2OjE1OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoKMjAwNi0wNC0yOCAxNTozMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgcGVkYW50aWMgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBlZGFudGljIGNsZWFudXBzCgoyMDA2LTA0LTI4IDE0OjE3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBZGQgc3VwcG9ydCBmb3Igb3RoZXIgZm9ybWF0cyBhdWRpb3Jlc2FtcGxlIGNhbiBoYW5kbGUgc3VjaCBhcyAzMiBiaXRzIGluIGFuZCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAocmVzYW1wbGVfc2V0X3N0YXRlX2Zyb21fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBvdGhlciBmb3JtYXRzIGF1ZGlvcmVzYW1wbGUgY2FuIGhhbmRsZSBzdWNoIGFzCgkgIDMyIGJpdHMgaW4gYW5kIGZsb2F0IGFuZCA2NCBiaXRzIGZsb2F0LiBGaXhlcyAjMzAxNzU5CgoyMDA2LTA0LTI4IDExOjA0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBJZiB3ZSBydW4gaW50byBhIGRlY29kaW5nIGVycm9yLCB0cnkgcmUtb3BlbmluZyB0aGUgZGVjb2RlciB3aXRoIGZhYWNEZWNJbml0MigpIHVzaW5nIGZha2UgY29kZWMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoYWFjX3JhdGVfaWR4KSwKCSAgKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfb3Blbl9kZWNvZGVyKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIElmIHdlIHJ1biBpbnRvIGEgZGVjb2RpbmcgZXJyb3IsIHRyeSByZS1vcGVuaW5nIHRoZSBkZWNvZGVyCgkgIHdpdGggZmFhY0RlY0luaXQyKCkgdXNpbmcgZmFrZSBjb2RlYyBkYXRhIGNyZWF0ZWQgZnJvbSB0aGUKCSAgZGF0YSB0aGUgZGVtdXhlciBnYXZlIHVzLiBTaG91bGQgZml4IGEgd2hvbGUgYnVuY2ggb2YKCSAgR1N0cmVhbWVyLWZhYWQgcHJvYmxlbXMgaW5jbC4gJ2NoYW5uZWwgY291cGxpbmcgbm90CgkgIGltcGxlbWVudGVkJywgJ21heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkJwoJICBldGMuICgjMTczMDA3LCAjMzMyODkyKS4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yMCAxODowMjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDYtMDQtMjAgMTc6Mjk6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoKMjAwNi0wNC0yMCAwOTo0ODowNSArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIEFkZCBxdGRydyBtaW1lIHR5cGUuCgkgIEZpeGVzICMzMzkwNDEKCjIwMDYtMDQtMTkgMDk6Mjc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgRml4ZXMgIzMzODkzNS4KCjIwMDYtMDQtMTcgMTk6NDM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCjIwMDYtMDQtMTcgMTg6NDQ6NDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLio6IEFwcGx5IGZpeCBmcm9tIGpeIGZvciBBUEkgY2hhbmdlIGluIGxpYnRoZW9yYWRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBBcHBseSBmaXggZnJvbSBqXiBmb3IgQVBJIGNoYW5nZSBpbiBsaWJ0aGVvcmFkZWMuCgkgIEltcGxlbWVudCA0OjI6MiBwaXhlbCBmb3JtYXQuIFVudGVzdGVkIGF0IHRoZSBtb21lbnQuCgoyMDA2LTA0LTE0IDEzOjEyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEZpeCB0cmFjay9hbGJ1bSBwZWFrIHRhZyB2YWx1ZXM7IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KToKCSAgRml4IHRyYWNrL2FsYnVtIHBlYWsgdGFnIHZhbHVlczsgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZAoJICBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLgoKMjAwNi0wNC0xMyAyMTo0NTo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCjIwMDYtMDQtMTIgMjE6NTc6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgoyMDA2LTA0LTExIDE2OjE4OjEzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHZlcnNpb25pbmcgbWFjcm8gYW5kIGFkZCB0cmFuc2xhdGlvbiBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZlcnNpb25pbmcgbWFjcm8gYW5kIGFkZCB0cmFuc2xhdGlvbiBmaWxlcwoKMjAwNi0wNC0xMCAxNzoxNjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoKMjAwNi0wNC0xMCAxNDoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoKMjAwNi0wNC0xMCAxMzo1ODoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEZpeCBidWlsZCAoY2xhc3NfaW5pdCBkZWNsYXJhdGlvbi9kZWZpbml0aW9uIG1pc21hdGNoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCAoY2xhc3NfaW5pdCBkZWNsYXJhdGlvbi9kZWZpbml0aW9uIG1pc21hdGNoKS4KCjIwMDYtMDQtMTAgMDg6MzE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoKMjAwNi0wNC0wOSAxODozMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRvbmUgc29tZSBjbGVhbnMgaW4gc291cmNlcwoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHByb2plY3QgZmlsZXMgZm9yIG5lb24sIHF0ZGVtdXgKCjIwMDYtMDQtMDkgMTc6MTQ6MjIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6IHJlcGxhY2UgZGVidWcgbWFjcm9zIHdpdGggdmFyaWFibGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgYnkgYSBzaW1wbGUgYWxpYXMgdG8gZ3N0cmVhbWVyIHN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICByZXBsYWNlIGRlYnVnIG1hY3JvcyB3aXRoIHZhcmlhYmxlIG51bWJlciBvZiBwYXJhbWV0ZXJzCgkgIGJ5IGEgc2ltcGxlIGFsaWFzIHRvIGdzdHJlYW1lciBzdGFuZGFyZCBkZWJ1ZyBtYWNyb3MKCSAgKCNkZWZpbmUgUkVTQU1QTEVfRVJST1IgR1NUX0VSUk9SLCBfX1ZBX0FSR1NfXyBpcyBub3QKCSAgc3VwcG9ydGVkIGJ5IE1TVkMgNi4wIGFuZCA3LjEpCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgZGVmaW5lIE1fUEkgYW5kIHJpbnQgZm9yIFdJTjMyCgkgICogd2luMzIvY29tbW9uL2xpYmdzdGF1ZGlvLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cmlmZi5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHRhZy5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHZpZGVvLmRlZjoKCSAgYWRkIG5ldyBleHBvcnRlZCBmdW5jdGlvbnMKCSAgKiB3aW4zMi92czY6CgkgIHVwZGF0ZSBwcm9qZWN0IGZpbGVzCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA0OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODo0MTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjU6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfc3RzeiksCgkgIChxdGRlbXV4X2R1bXBfc3RjbyksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBGaXggdGltZXN0YW1wcyBmb3IgQU1SIGFuZCBJTUE0LiAgRml4ZXMgKCMzMzc0MzYpLgoJICBDcmVhdGUgYSBkdW1teSBzZWdtZW50IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBlZGl0IGxpc3QuCgoyMDA2LTA0LTA3IDE2OjU5OjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OiBVcGRhdGVzLgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgZXhhbXBsZSByZXNvdXJjZSBmaWxlcyB0bwoJICBkaXN0LgoKMjAwNi0wNC0wNyAxNTo1Mzo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0byAyNWZwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0bwoJICAyNWZwcwoKMjAwNi0wNC0wNyAxNTo0NzoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IChtYWluKToKCSAgQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgoyMDA2LTA0LTA3IDE1OjI3OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoY29tcG9zaXRlX3BpeGVsKSwgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTA2IDE5OjE2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfZmluZF9pbmRleCksCgkgIChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBBdm9pZCBvdmVyZmxvd3MgaW4gcHJvbG9ndWUgaW1hZ2UgZGV0ZWN0aW9uIGNvZGUuCgkgIEF2b2lkIHJvdW5kb2ZmIGVycm9ycyBpbiB0aW1lc3RhbXAgY2FsY3VsYXRpb25zLgoKMjAwNi0wNC0wNiAxNDoyMDoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICBtb3JlIGRpc3RjaGVjayBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBkaXN0Y2hlY2sgZml4ZXMKCjIwMDYtMDQtMDYgMTQ6MDg6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBjbGVhbiB1cCBzbyByZXBvcnQgcHJvcGVybHkgb24gbWlzc2luZyBzdHVmZiBmaXggbW9kcGx1ZyBkZXRlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBjbGVhbiB1cCBzbyByZXBvcnQgcHJvcGVybHkgb24gbWlzc2luZyBzdHVmZgoJICBmaXggbW9kcGx1ZyBkZXRlY3Rpb24KCjIwMDYtMDQtMDYgMTI6NTI6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0LzogZG9uJ3QgZGlzdCBhbXIgd2Igc291cmNlIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICBkb24ndCBkaXN0IGFtciB3YiBzb3VyY2UgY29kZQoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wNiAwOTozNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEFkZCBiYWNrICJ1cmkiIHByb3BlcnR5IGFuZCBtYXJrIGl0IGFzIGRlcHJlY2F0ZWQ7IHVuZG9lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIGJhY2sgInVyaSIgcHJvcGVydHkgYW5kIG1hcmsgaXQgYXMgZGVwcmVjYXRlZDsgdW5kb2VzCgkgIEFQSS9BQkkgYnJlYWthZ2UgZnJvbSAyMDA2LTAyLTI0LgoKMjAwNi0wNC0wNSAwODozNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKToKCSAgVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzCgkgIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgQWxzbyBwZXJmb3JtIEVPUyB3aGVuIHdlIHJ1biBwYXN0IHRoZSBzZWdtZW50IHN0b3AuCgoyMDA2LTA0LTA0IDExOjIwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBNYXJrIGRpc2NvbnRpbnVpdGllcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBQb3N0IGJldHRlciBlcnJvcnMgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgSGFuZGxlIEVPUyBhbmQgc2VnbWVudCBlbmQgcHJvcGVybHkuCgoyMDA2LTA0LTA0IDA4OjQwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNYXJrIGxhdGVzdCBjaGFuZ2UgYXMgZml4aW5nIGEgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFyayBsYXRlc3QgY2hhbmdlIGFzIGZpeGluZyBhIGJ1Zy4KCjIwMDYtMDQtMDQgMDg6MzE6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChwbHVnaW5faW5pdCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBJbXBsZW1lbnQgY29ycmVjdCBhY2N1cmF0ZSBhbmQga2V5ZnJhbWUgc2Vla2luZy4KCSAgVXNlIF9ERUJVR19PQkpFQ1Qgd2hlbiBwb3NzaWJsZS4KCjIwMDYtMDQtMDMgMTE6MDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogT25seSBydW4gdGhlIGlkM3YybXV4IGNoZWNrIGlmIHRhZ2xpYiBpcyBhdmFpbGFibGUgYW5kIHRoZSB0YWdsaWIgcGx1Z2luIGhhcyBiZWVuIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgT25seSBydW4gdGhlIGlkM3YybXV4IGNoZWNrIGlmIHRhZ2xpYiBpcyBhdmFpbGFibGUgYW5kCgkgIHRoZSB0YWdsaWIgcGx1Z2luIGhhcyBiZWVuIGJ1aWx0LgoKMjAwNi0wNC0wMyAxMDo1NzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06IERvbid0IHNldCBwbHVnaW5kaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgIERvbid0IHNldCBwbHVnaW5kaXIuCgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDIGlzbid0IGEgZ29vZCBpZGVhIGZvciBpbnN0YWxsZWQgcGx1Z2lucy4KCjIwMDYtMDQtMDMgMTA6NTE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBBWF9DUkVBVEVfU1RESU5UX0ggdG8gY3JlYXRlIF9zdGRpbnQuaCwgbmVlZGVkIGJ5IHRoZSBkdHMgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBBWF9DUkVBVEVfU1RESU5UX0ggdG8gY3JlYXRlIF9zdGRpbnQuaCwgbmVlZGVkIGJ5CgkgIHRoZSBkdHMgcGx1Z2luLgoKMjAwNi0wNC0wMyAxMDozNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEdTVF9PUklHSU4gPT4gR1NUX1BBQ0tBR0VfT1JJR0lOCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgR1NUX09SSUdJTiA9PiBHU1RfUEFDS0FHRV9PUklHSU4KCSAgR1NUX1BBQ0tBR0UgPT4gR1NUX1BBQ0tBR0VfTkFNRQoKMjAwNi0wNC0wMiAxMDo0MjozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICBhZGQgbW9yZSBwbHVnaW5zIHRvIGRvY3MKCjIwMDYtMDQtMDIgMDk6MzM6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICB0aGUgYWxwaGFiZXQsIGEgdHJpY2t5IGNvbmNlcHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRoZSBhbHBoYWJldCwgYSB0cmlja3kgY29uY2VwdAoKMjAwNi0wNC0wMiAwOToxNzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFkZCBsaWJvaWwgY2hlY2ssIGR0cyB1c2VzIGl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGlib2lsIGNoZWNrLCBkdHMgdXNlcyBpdAoKMjAwNi0wNC0wMSAxNjo1MDo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmg6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgoyMDA2LTA0LTAxIDE1OjM2OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCB1c2UgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHVzZSBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yawoKMjAwNi0wNC0wMSAxMDoxNjoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiBkb2NzLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDQtMDEgMTA6MTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgNSBzZWNvbmQgdGltZW91dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgNSBzZWNvbmQgdGltZW91dAoKMjAwNi0wNC0wMSAxMDoxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgcmVuYW1lIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSB0ZXN0CgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZXh0L2FtcndiL2dzdGFtcndiLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuYzoKCSogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDMtMzEgMTc6NTI6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKHRlcm1pbmF0ZV9wbGF5YmFjayksIChtYWluKToKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE2OjMyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogQWRkIGRvY3MgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgQWRkIGRvY3MgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE1OjIxOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy86IEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubyB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vCgkgIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoKMjAwNi0wMy0zMSAxNDoyNjowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBZGQgYXV0b2NvbmZlcnkgZm9yIHRoZW9yYWRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgYXV0b2NvbmZlcnkgZm9yIHRoZW9yYWRlYy4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCB0aGVvcmEgZGlyZWN0b3J5LgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF90aGVvcmFkZWNfY2xhc3NfaW5pdCksIChnc3RfdGhlb3JhZGVjX2luaXQpLAoJICAoZ3N0X3RoZW9yYWRlY19yZXNldCksIChpbmNfZ3JhbnVsZXBvcyksICh0aGVvcmFfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF90aGVvcmFkZWNfZ3JhbnVsZV9jbG9ja3RpbWUpLCAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfZGVjX3NpbmtfY29udmVydCksICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NpbmtfcXVlcnkpLCAodGhlb3JhX2RlY19zcmNfZXZlbnQpLAoJICAodGhlb3JhX2RlY19zaW5rX2V2ZW50KSwgKHRoZW9yYV9oYW5kbGVfY29tbWVudF9wYWNrZXQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlX2hlYWRlcl9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19wdXNoKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLCAodGhlb3JhX2RlY19jaGFpbiksCgkgICh0aGVvcmFfZGVjX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQWRkIHRoZW9yYSBwbHVnaW4gZm9yIHRoZW9yYS1leHAgZGVjb2Rlci4gVmVyeSBoZWF2aWx5IGJhc2VkIG9uIHRoZQoJICBleGlzdGluZyB0aGVvcmEgZGVjb2RlciBwbHVnaW4uCgoyMDA2LTAzLTI5IDE2OjU0OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS86IENsZWFudXBzLCBmaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfZmluYWxpemUpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KSwgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfY2xhc3NfaW5pdCksIChnc3RfZ3NtZW5jX2luaXQpLAoJICAoZ3N0X2dzbWVuY19maW5hbGl6ZSksIChnc3RfZ3NtZW5jX2NoYWluKToKCSAgQ2xlYW51cHMsIGZpeCBsZWFrcy4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgRElTQ09OVC4KCSAgVXNlIGFkYXB0ZXIgaW4gdGhlIGRlY29kZXIuCgoyMDA2LTAzLTI5IDE2OjUwOjA4ICswMDAwICBSZW5hdG8gQXJhdWpvIE9saXZlaXJhIEZpbGhvIDxyZW5hdG94QGdtYWlsLmNvbT4KCgkgIEFkZGVkIG5ldyBwbHVnaW4gYW1yd2IgcGFyc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuYXRvIEFyYXVqbyBPbGl2ZWlyYSBGaWxobyA8cmVuYXRveCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9SRUFETUU6CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvcnVuLnNoOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JkZWNfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfc2V0Y2FwcyksIChnc3RfYW1yd2JkZWNfZXZlbnQpLCAoZ3N0X2FtcndiZGVjX2NoYWluKSwKCSAgKGdzdF9hbXJ3YmRlY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JlbmNfaW5pdCksCgkgIChnc3RfYW1yd2JlbmNfZmluYWxpemUpLCAoZ3N0X2FtcndiZW5jX3NldGNhcHMpLAoJICAoZ3N0X2FtcndiZW5jX2NoYWluKSwgKGdzdF9hbXJ3YmVuY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JwYXJzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5dHlwZXMpLCAoZ3N0X2FtcndicGFyc2VfcXVlcnkpLAoJICAoZ3N0X2FtcndicGFyc2VfY2hhaW4pLCAoZ3N0X2FtcndicGFyc2VfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X2FtcndicGFyc2VfbG9vcCksIChnc3RfYW1yd2JwYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYW1yd2JwYXJzZV9zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEFkZGVkIG5ldyBwbHVnaW4gYW1yd2IgcGFyc2UuCgkgIFJlbmFtZWQgYXVkaW8vQU1SIHRvIGF1ZGlvL0FNUi1XQiBhcyBwZXIgc3BlYy4KCSAgRml4ZXMgIzMzMzMwNwoKMjAwNi0wMy0yNyAxNzowNjo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoKMjAwNi0wMy0yNyAxMDoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIENYWCB0YWcgZnJvbSBBU19MSUJUT09MX1RBR1MsIGp1c3QgbGlrZSB3ZSBkaWQgZm9yIC1nb29kIGFuZCAtdWdseS4gRml4ZXMgYnVpbGQgb24gc29tZSBzeXN0ZW1zIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBDWFggdGFnIGZyb20gQVNfTElCVE9PTF9UQUdTLCBqdXN0IGxpa2Ugd2UKCSAgZGlkIGZvciAtZ29vZCBhbmQgLXVnbHkuIEZpeGVzIGJ1aWxkIG9uIHNvbWUgc3lzdGVtcwoJICBhbmQgZG9lc24ndCBzZWVtIHRvIGJlIHJlcXVpcmVkIGZvciBDKysgY29kZS4KCjIwMDYtMDMtMjYgMTk6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi4qOiBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0byBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8KCSAgY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgY2FuJ3QKCSAgYWRqdXN0IG9mZnNldHMgeWV0IHdoZW4gd2UgZ2V0IGl0LCBhcyB3ZSBkb24ndAoJICBrbm93IHRoZSBzaXplIG9mIHRoZSB0YWcgeWV0IGZvciBzdXJlIGF0IHRoYXQgcG9pbnQuCgkgIEFsc28gZG8gc29tZSBtaW5vciBjbGVhbmluZyB1cCBoZXJlIGFuZCB0aGVyZSBhbmQgYWRkCgkgIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDMtMjUgMjE6NTc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyCgkgIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pZDMgY2FwczsgYWxzbywKCSAgZG9uJ3QgdXNlIGFscmVhZHktZnJlZWQgc3RyaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlczsKCSAgZmluYWxseSwgYWRqdXN0IGJ1ZmZlciBvZmZzZXRzIG9uIGJ1ZmZlcnMgc2VudCBvdXQuCgoyMDA2LTAzLTI1IDEzOjAyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LAoJICBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZml4ZWQgcHJvcGVybHkgKGFuZCBtYWtlCgkgIGJ1aWxkYm90cyBoYXBweSkuCgoyMDA2LTAzLTI1IDA1OjMxOjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoKMjAwNi0wMy0yMyAwOToxNTowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogUGF0Y2ggdG8gbWFyayBvdXRnb2luZyBlbmNvZGVkIGJ1ZmZlcnMgYXMgZGVsdGEtdW5pdHMgKG9yIG5vdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCksIChnc3RfeHZpZGVuY19zZXR1cCksCgkgIChnc3RfeHZpZGVuY19jaGFpbik6CgkgIFBhdGNoIHRvIG1hcmsgb3V0Z29pbmcgZW5jb2RlZCBidWZmZXJzIGFzIGRlbHRhLXVuaXRzIChvciBub3QpLgoJICBOb3RlIHRoYXQgdGhpcyBwYXRjaCBhbHNvIHBhdGNoZXM6CgkgIC0gdGhlIHNldHRpbmcgb2YgZmluY3IgYW5kIGZiYXNlIGluIHh2aWQtZW5jb2RlciBjcmVhdGlvbiBiYXNlZCBvbgoJICBjYXBzIGZyYW1lcmF0ZQoJICAtIG1ha2VzIDAsIHJhdGhlciB0aGFuIDIsIHRoZSBkZWZhdWx0IG1heF9iX2ZyYW1lcywgYXMgdGhlIGN1cnJlbnQKCSAgeHZpZGVuYyBkb2VzIG5vdCBzZWVtICJmdWxseSBwcmVwYXJlZCIgdG8gaGFuZGxlIGItZnJhbWUKCSAgImVmZmVjdHMiLCBzdWNoIGFzIGVuY29kZXIgcmV0dXJuaW5nIDAgZW5jb2RlZCBieXRlcywgZXRjLgoJICBGaXhlcyAjMzM1NTg1CgoyMDA2LTAzLTIyIDE5OjUxOjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zIGFkZGl0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zIGFkZGl0aW9ucwoKMjAwNi0wMy0yMiAxNzoxMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvOiBUcnkgdGhhdCBhZ2FpbiAobm90IG9ubHkgc2hvdWxkIGl0IGJlIE1PRFBMVUdfIGluc3RlYWQgb2YgTU9ERklMRSwgYWxzbyB0aGF0IGRlZmluZSBpcyBhbHJlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkgIFRyeSB0aGF0IGFnYWluIChub3Qgb25seSBzaG91bGQgaXQgYmUgTU9EUExVR18gaW5zdGVhZAoJICBvZiBNT0RGSUxFLCBhbHNvIHRoYXQgZGVmaW5lIGlzIGFscmVhZHkgc2V0IGluIHN0ZGFmeC5oOwoJICB3aGF0IHdlIHJlYWxseSBuZWVkIGlzIHNvbWUgbW9yZSAjaWZuZGVmcykuCgoyMDA2LTAzLTIyIDE1OjAyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbTogTW9yZSBnY2MtNC4xIGZpeGVzICh3ZSBkb24ndCBuZWVkIGZpbGUgc2F2aW5nLCBzbyBqdXN0IGRlZmluZSBNT0RQTFVHX05PX0ZJTEVTQVZFLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgIE1vcmUgZ2NjLTQuMSBmaXhlcyAod2UgZG9uJ3QgbmVlZCBmaWxlIHNhdmluZywgc28ganVzdAoJICBkZWZpbmUgTU9EUExVR19OT19GSUxFU0FWRS4gVGhhdCB3YXksIHRoZSBjb21waWxlciB3b24ndAoJICBjb21wbGFpbiBhYm91dCBtb2RwbHVnIGlnbm9yaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgZndyaXRlCgkgIGFueSBsb25nZXIgYW5kIHdlIG1pZ2h0IGV2ZW4gc2F2ZSBhIGZldyBieXRlcyBhcyB3ZWxsKS4KCjIwMDYtMDMtMjIgMTQ6MzE6NDcgKzAwMDAgIFdvdXRlciBQYWVzb24gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgQWRkIG5ldyBsaWJzb3VuZHRvdWNoLWJhc2VkIHBpdGNoIHBsdWdpbiAoIzMzMTMzNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNvbiAgPHdvdXRlciBhdCBrYW5nYXJvb3QgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBBZGQgbmV3IGxpYnNvdW5kdG91Y2gtYmFzZWQgcGl0Y2ggcGx1Z2luICgjMzMxMzM1KS4KCjIwMDYtMDMtMjEgMTY6MDI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMSBhbmQgLVdlcnJvciAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4xIGFuZCAtV2Vycm9yICgjMzI3MzU1KS4KCjIwMDYtMDMtMjAgMDg6NTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCjIwMDYtMDMtMTcgMTY6MzQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCjIwMDYtMDMtMTUgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kaXNwb3NlKToKCSAgTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgoyMDA2LTAzLTE1IDE0OjM5OjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcXRkZW11eF9pbml0KSwgKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgLSBVbnJlZiB0aGUgR3N0QWRhcHRlciBpbiBmaW5hbGl6ZS4KCSAgLSBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSwgc2hvcnRlciBhbmQgc2FmZXIuCgkgIC0gRnJlZSB1bnVzZWQgUXREZW11eFN0cmVhbSB3aGVuIG5vdCB1c2VkLgoKMjAwNi0wMy0xNCAxNzoyNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsIG1vdmluZyBpdCBmcm9tIF9jbGFzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgIEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLAoJICBtb3ZpbmcgaXQgZnJvbSBfY2xhc3NfaW5pdCgpIHRvIGJlZ2lubmluZyBvZiBfYmFzZV9pbml0KCkuCgoyMDA2LTAzLTEzIDE3OjIyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZCBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQKCSAgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIG9mIHRoZSBwbHVnaW4gKHRhZ2xpYm11eCA9PiB0YWdsaWIpCgoyMDA2LTAzLTEzIDEyOjE0OjE4ICswMDAwICBNaWtoYWlsIFphYmFsdWV2IDxtaHpAYWx0bGludXgub3JnPgoKCSAgYXV0b2dlbi5zaDogRG9uJ3QgY2hlY2sgZm9yIGZpbGUgdGhhdCBvbmx5IGV4aXN0cyBpbiBDVlMgYnV0IGlzbid0IGRpc3RlZCAoIzMzNDQxNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWtoYWlsIFphYmFsdWV2ICA8bWh6IGFsdGxpbnV4IG9yZz4KCSAgKiBhdXRvZ2VuLnNoOgoJICBEb24ndCBjaGVjayBmb3IgZmlsZSB0aGF0IG9ubHkgZXhpc3RzIGluIENWUyBidXQgaXNuJ3QKCSAgZGlzdGVkICgjMzM0NDE3KQoKMjAwNi0wMy0xMyAxMDowNTowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgoyMDA2LTAzLTEyIDIzOjU2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZGlzdGNoZWNrLgoKMjAwNi0wMy0xMiAxNTozMzowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldCBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfZnJlZSk6CgkgIGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQKCSAgaW5zdGVhZC4KCjIwMDYtMDMtMTIgMTU6MjU6NTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQwoJICBidWlsZGJvdCBoYXBweS4KCSAgSSB3aWxsIGp1c3QgdXNlIHRoZSBzYW1lIGNvbW1lbnQgUm9uYWxkIHVzZWQgd2hlbiBoZSBhZGRlZCB0aGVzZSBsaW5lczoKCSAgWWV0IEFub3RoZXIgSGFjayAodG0pIGZvciBrZXJuZWwgaGVhZGVyIGJvcmtlZG5lc3MuCgoyMDA2LTAzLTEyIDE1OjAyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgoyMDA2LTAzLTEyIDE0OjQzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBQUEMtYnVpbGRib3QgaGFwcHkuCgoyMDA2LTAzLTExIDIyOjUwOjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCjIwMDYtMDMtMTEgMTc6MDg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgY29tcGlsZSB0aGUgdGFnbGliIHBsdWdpbiBpZiBhIEMrKyBjb21waWxlciBpcyBwcmVzZW50LiBVc2UgR1NUX0RFRkFVTFRfRUxFTUVOVFMgbWFjcm8gZnJvbSBjb21tb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGNvbXBpbGUgdGhlIHRhZ2xpYiBwbHVnaW4gaWYgYSBDKysgY29tcGlsZXIgaXMKCSAgcHJlc2VudC4gVXNlIEdTVF9ERUZBVUxUX0VMRU1FTlRTIG1hY3JvIGZyb20gY29tbW9uLwoJICBmb3IgYWxsIHRoZSBkZWZhdWx0cyBzdHVmZi4KCjIwMDYtMDMtMTEgMTE6MTI6MzAgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBhZGRlZCBuZXcgZWxlbWVudCB0byBhZGQgWGluZyBoZWFkZXJzIHRvIE1QMyBmaWxlcyAodGhpcyBhbGxvd3MgZGVjb2RlciB0byBmaWd1cmUgb3V0IHRoZSBsZW5ndGggb2YgVkJSIGZpbGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6IGFkZGVkIG5ldyBlbGVtZW50IHRvIGFkZCBYaW5nIGhlYWRlcnMKCSAgdG8gTVAzIGZpbGVzICh0aGlzIGFsbG93cyBkZWNvZGVyIHRvIGZpZ3VyZSBvdXQgdGhlIGxlbmd0aCBvZiBWQlIKCSAgZmlsZXMpCgoyMDA2LTAzLTExIDEwOjU4OjA4ICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogZml4IHdyaXRpbmcgb2YgVFBPUyB0YWdzIChhbGJ1bSBudW1iZXIpLAoJICBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCjIwMDYtMDMtMTAgMjI6NDE6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21vZHBsdWcvOiBGaXggbW9kcGx1ZyBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggbW9kcGx1ZyBjb21waWxhdGlvbi4KCjIwMDYtMDMtMTAgMTc6MTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOiAqIGNvbmZpZ3VyZS5hYzogKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbTogKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDogKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOiAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOiBtb2RwbHVnIHBsdWdpbiBwb3J0ZWQgdG8gMC4xMCAoIzMzMjU5OCwgcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PikuCgoyMDA2LTAzLTEwIDEzOjQ5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuKjogU29tZSBjbGVhbi11cHM7IG1vcmUgZGVidWcgb3V0cHV0OyB1c2UgYmxvY2tzaXplIHByb3BlcnR5IG9mIEdzdEJhc2VTcmMgaW5zdGVhZCBvZiByZS1yZWdpc3RlcmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3VyaWhhbmRsZXJfaW5pdCksCgkgIChnc3RfbW1zX2Jhc2VfaW5pdCksIChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19pbml0KSwKCSAgKGdzdF9tbXNfZmluYWxpemUpLCAoZ3N0X21tc19jcmVhdGUpLCAoZ3N0X21tc19zdGFydCksCgkgIChnc3RfbW1zX3NldF9wcm9wZXJ0eSksIChnc3RfbW1zX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbW1zX3VyaV9nZXRfdXJpKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBTb21lIGNsZWFuLXVwczsgbW9yZSBkZWJ1ZyBvdXRwdXQ7IHVzZSBibG9ja3NpemUgcHJvcGVydHkKCSAgb2YgR3N0QmFzZVNyYyBpbnN0ZWFkIG9mIHJlLXJlZ2lzdGVyaW5nIG91ciBvd247IG1ha2UgZGVidWcKCSAgY2F0ZWdvcnkgYWN0dWFsbHkgYmUgdXNlZC4KCjIwMDYtMDMtMDkgMjA6MDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgoyMDA2LTAzLTA5IDE3OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wOSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCjIwMDYtMDMtMDggMTI6MTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZQoJICAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIGZvciB0aGF0CgkgIChmaXhlcyAjMzMyMDY2KS4KCjIwMDYtMDMtMDYgMTM6MTU6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svOiBGb3Jnb3QgdGhvc2UgdHdvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzogKGdzdF9tdXNlcGFja19yZWFkZXJfcGVlayk6CgkgIEZvcmdvdCB0aG9zZSB0d28uCgoyMDA2LTAzLTA2IDEzOjEzOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IFNvbWUgY2xlYW51cHM7IHBhdXNlIHRhc2sgd2hlbiBwdXNoIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksCgkgIChnc3RfbXVzZXBhY2tkZWNfY2hhbmdlX3N0YXRlKToKCSAgU29tZSBjbGVhbnVwczsgcGF1c2UgdGFzayB3aGVuIHB1c2ggZmFpbHMuCgoyMDA2LTAzLTA1IDEzOjAzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCjIwMDYtMDMtMDQgMjA6MDQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24vZHVyYXRpb24gcXVlcnlpbmcgKG1vc3RseSBmb3IgcmF3IEFBQyBzdHJlYW1zKTsgbWFrZSBzZWVraW5nIGluIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9kb19yYXdfc2VlayksIChnc3RfZmFhZF9zcmNfZXZlbnQpLAoJICAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChnc3RfZmFhZF9zcmNfY29udmVydCksCgkgIChnc3RfZmFhZF9zcmNfcXVlcnkpLCAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbi9kdXJhdGlvbiBxdWVyeWluZyAobW9zdGx5IGZvcgoJICByYXcgQUFDIHN0cmVhbXMpOyBtYWtlIHNlZWtpbmcgaW4gcmF3IEFBQyBzdHJlYW1zIHdvcms7IHBvc3QKCSAgdGFncyB3aXRoIGNvZGVjIG5hbWUgaWYgdGhpcyBpcyBhIHJhdyBBQUMgc3RyZWFtLgoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMy0wMyAxODoxMDoxMiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiBEZWNsYXJlIHZhcmlhYmxlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGFuZCBtYWtlIGdjYy0yLjl4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NoYWluKToKCSAgRGVjbGFyZSB2YXJpYWJsZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBhbmQgbWFrZSBnY2MtMi45eAoJICBoYXBweSAoZml4ZXMgIzMzMzI4MzsgcGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyKS4KCjIwMDYtMDMtMDMgMTE6MDc6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcyB3aGVuIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zCgkgIHdoZW4gcGFyc2luZy4KCSAgQWxzbyBsZXQncyBiZSBhIGJpdCBsZXNzIHZ1bGdhciBpbiBvdXIgd2FybmluZyBtZXNzYWdlcyA6KQoKMjAwNi0wMy0wMiAxODoyMzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBhdWRpb3Jlc2FtcGxlIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGF1ZGlvcmVzYW1wbGUgdG8gZG9jcy4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICBBZGQgcmV2aXNpb24gZGF0ZS4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2Rpc3Bvc2UpLAoJICAoYXVkaW9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX2NhcHMpLAoJICAocmVzYW1wbGVfc2V0X3N0YXRlX2Zyb21fY2FwcyksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc2V0X2NhcHMpLCAoYXVkaW9yZXNhbXBsZV9ldmVudCksCgkgIChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChhdWRpb3Jlc2FtcGxlX3B1c2h0aHJvdWdoKSwgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgQWRkZWQgZG9jcy4KCSAgU21hbGwgY29kZSBjbGVhbnVwcy4KCjIwMDYtMDItMjggMTE6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZiBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mCgkgIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKHNlZSAjMzI3MDgzKQoKMjAwNi0wMi0yNSAyMTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoKMjAwNi0wMi0yNCAxOTo0OTozMiArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgcGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoKMjAwNi0wMi0yNCAxNzoxNTozNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgYXV0b2dlbi5zaDogQWxsb3cgYXV0b21ha2UgMS45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFsbG93IGF1dG9tYWtlIDEuOQoKMjAwNi0wMi0yNCAxNzowMjowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBDaGFuZ2VkIHByb3BlcnR5IG5hbWUgZnJvbSAidXJpIiB0byAibG9jYXRpb24iLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBuYW1lIGZyb20gInVyaSIgdG8gImxvY2F0aW9uIi4KCjIwMDYtMDItMjIgMTQ6Mzc6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBNZXJnZSBwYXRjaCBmcm9tICMzMTcwNDggZm9yIGJ1aWxkaW5nIG9uIEN5Z3dpbi4gUGF0Y2ggYnkKCSAgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuCgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBNb3ZlIG5vcm1hbCBkZWJ1ZyBvdXRwdXQgdG8gTE9HIGxldmVsIG5vdCBFUlJPUi4KCjIwMDYtMDItMjIgMDk6MzM6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnkgOiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIEFkZCBpbWFnZS9wbmcgZm9yIGZvdXJjYyAncG5nICcKCjIwMDYtMDItMjEgMTU6NDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN1cmVseSB0aGlzIGlzIHN1cHBvc2VkIHRvIGJlID49IGEuYiwgbm90ID09IGEuYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN1cmVseSB0aGlzIGlzIHN1cHBvc2VkIHRvIGJlID49IGEuYiwgbm90ID09IGEuYgoKMjAwNi0wMi0yMCAyMToxOTo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JldHVybl9idWYpLAoJICAoZ3N0X3hpbWFnZXNyY19vcGVuX2Rpc3BsYXkpLCAoZ3N0X3hpbWFnZXNyY19zdGFydCksCgkgIChnc3RfeGltYWdlc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZXNyY191bmxvY2spLAoJICAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLCAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksCgkgIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2NsZWFyX2J1ZnBvb2wpLCAoZ3N0X3hpbWFnZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19kaXNwb3NlKSwgKGdzdF94aW1hZ2VzcmNfZmluYWxpemUpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX3NldF9jYXBzKSwKCSAgKGdzdF94aW1hZ2VzcmNfZml4YXRlKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2hhbmRsZV94ZXJyb3IpLAoJICAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKSwgKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KSwKCSAgKHhpbWFnZXV0aWxfeGNvbnRleHRfY2xlYXIpLAoJICAoeGltYWdldXRpbF9jYWxjdWxhdGVfcGl4ZWxfYXNwZWN0X3JhdGlvKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF94aW1hZ2VfYnVmZmVyX2ZyZWUpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfaW5pdCksIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2dldF90eXBlKSwgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9uZXcpLAoJICAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX2Rlc3Ryb3kpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCjIwMDYtMDItMjAgMjA6NTI6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBldmVudCBoYW5kbGluZyBhZGRlZCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCjIwMDYtMDItMjAgMTk6MTM6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUyBuYW5vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMgbmFubwoKPT09IHJlbGVhc2UgMC4xMC4xID09PQoKMjAwNi0wMi0yMCAxOToxMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCjIwMDYtMDItMjAgMTM6MDg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndCBlbmFibGVkIGZvciB0aGUgYnVpbGQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndAoJICBlbmFibGVkIGZvciB0aGUgYnVpbGQsIGJ1dCBpdCBoZWxwcyBtZSB3aW4gdGhlIGZlYXR1cmUtY291bnQKCSAgY29tcGV0aXRpb25zIG9vaCB5ZWFoLgoKMjAwNi0wMi0xOSAyMzo0NTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbGVhc2UgMC4xMC4wLjMgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjAuMyAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCjIwMDYtMDItMTkgMjA6MDA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYnoyLzogQWRkIHByb3BlciBjb3B5cmlnaHQgaGVhZGVycyBpZGVudGlmeWluZyBMdXR6IE3DvGxsZXIgYXMgdGhlIGF1dGhvciBhbmQgY29weXJpZ2h0IGhvbGRlciAoIzMzMTYwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9iejIvZ3N0YnoyLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgQWRkIHByb3BlciBjb3B5cmlnaHQgaGVhZGVycyBpZGVudGlmeWluZyBMdXR6IE3DvGxsZXIKCSAgYXMgdGhlIGF1dGhvciBhbmQgY29weXJpZ2h0IGhvbGRlciAoIzMzMTYwMCkuCgoyMDA2LTAyLTE3IDE4OjI1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleCBlbnRyaWVzICgjMzMxNTgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4CgkgIGVudHJpZXMgKCMzMzE1ODIpLgoKMjAwNi0wMi0xNyAxNjoyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHRoYXQuCgkgIEZpeGVzICMzMzE1NDMuCgoyMDA2LTAyLTE3IDE2OjAwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVsZWFzZSAwLjEwLjAuMiAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMC4yIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoKMjAwNi0wMi0xNyAxNTowMzoxMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgdXBkYXRlcwoKMjAwNi0wMi0xNiAxNDowMjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDYtMDItMTUgMTI6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCjIwMDYtMDItMTUgMDk6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzCgkgIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA2LTAyLTE0IDE4OjUwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIERvbid0IGFuc3dlciBkdXJhdGlvbiBxdWVyeS4gVGhpcyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byByZXBseWluZwoJICBGQUxTRSB0byBzZWVrIGV2ZW50cy4KCjIwMDYtMDItMTQgMTI6MjY6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIG9uIEVPUywgbm90IEZMT1dfRVJST1IuIEFsc28sIG5vIG5lZWQgdG8gcHVzaCBvdXIgb3duIEVPUyBldmVudCBvbiBFT1MsIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2NyZWF0ZSksCgkgIChnc3RfbW1zX3N0YXJ0KToKCSAgUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCBvbiBFT1MsIG5vdCBGTE9XX0VSUk9SLiBBbHNvLCBubyBuZWVkIHRvCgkgIHB1c2ggb3VyIG93biBFT1MgZXZlbnQgb24gRU9TLCB0aGUgYmFzZSBjbGFzcyB3aWxsIGRvIHRoYXQgZm9yIHVzOwoJICBmaXggYm9ndXMgcXVlcnkgY29kZTsgcG9zdCBzZW1pLWRlY2VudCBlcnJvcnMgb24gdGhlIGJ1cyB3aGVuIGFuCgkgIGVycm9yIG9jY3VycyBpbiA6OnN0YXJ0KCksIG90aGVyd2lzZSB0aGUgdXNlciB3aWxsIGdldCB0byBzZWUKCSAgd2hhdGV2ZXIgY3J5cHRpYyBkZWZhdWx0IG1lc3NhZ2UgR3N0QmFzZVNyYyBjb21lcyB1cCB3aXRoLgoKMjAwNi0wMi0xNCAxMTozNjozMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24KCSAgc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgoyMDA2LTAyLTE0IDExOjI0OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBFcnJvcnMgb3V0IGdyYWNlZnVsbHkuCgoyMDA2LTAyLTEzIDIyOjA0OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBJdCBzdGlsbCBuZWVkcyBzb21lIGxvdmUgZm9yIHNlZWtpbmcuCgoyMDA2LTAyLTEzIDE3OjAyOjA5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXplL0ZBUToKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZnJlZXplIHBsdWdpbiBwb3J0ZWQgdG8gMC4xMCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCjIwMDYtMDItMTAgMTc6NDE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IGNkeGFwYXJzZSwgbWFrZXMgVkNEIHBsYXliYWNrIHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgUG9ydCBjZHhhcGFyc2UsIG1ha2VzIFZDRCBwbGF5YmFjayB3b3JrLgoKMjAwNi0wMi0xMCAxMzoxNjo0OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDItMDcgMTg6MzE6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICByZW1vdmUgdW51c2VkIHZhcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCjIwMDYtMDItMDcgMTg6MDE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZSB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlCgkgIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGJ1ZywgYW5kIG1ha2VzCgkgIHRoZSBkdW1wIG9mIG9mZnNldHMgY29tcGFyYWJsZSB0byBvdGhlciB0b29scwoKMjAwNi0wMi0wNyAxNzo1NTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgIGRvYyB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdXBkYXRlcwoKMjAwNi0wMi0wNyAxNzo1NDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZwoJICBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCjIwMDYtMDItMDYgMjA6NTE6NDkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBOb3cgaXQgdXNlcyBsaWJuZW9uIDAuMjUuNSB0aGF0IHN1cHBvcnRzIHNob3V0Y2FzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpdCB1c2VzIGxpYm5lb24gMC4yNS41IHRoYXQgc3VwcG9ydHMgc2hvdXRjYXN0LgoKMjAwNi0wMi0wNiAxODoyMTo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9iejIvZ3N0YnoyZW5jLmM6IEFjY2VwZCAiQU5ZIiBjYXBzLiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZiAieC1iejIiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiBBY2NlcGQgIkFOWSIgY2Fwcy4gVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YKCSAgIngtYnoyIi4KCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZiAieC1iejIiLiBJbml0aWFsCgkgIGNhcHMgYXJlICJBTlkiLgoJICAoZ3N0X2J6MmRlY19jaGFpbik6IENvbmZpZ3VyZSB0aGUgc291cmNlIHBhZCBpZiB3ZSBjYW4gZmlndXJlIG91dAoJICB0aGUgbWltZSB0eXBlIG9mIHRoZSBkZWNvbXByZXNzZWQgZGF0YS4KCSAgKGdzdF9iejJkZWNfW2dldCxzZXRdX3Byb3BlcnR5KToKCSAgKGdzdF9iejJkZWNfY2xhc3NfaW5pdDogTmV3IHByb3BlcnR5ICJmaXJzdF9idWZmZXJfc2l6ZSIuCgoyMDA2LTAyLTA2IDE1OjQxOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIEhhbmRsZSBzZWVraW5nIGluIGEgbGVzcyBicm9rZW4gd2F5LgoJICBGaXggQU1SIGNhcHMgdG8gbWF0Y2ggdGhlIEFNUiBkZWNvZGVyLgoJICBTZXQgZmlyc3QgdGltZXN0YW1wIG9uIEFNUiBzYW1wbGVzIHRvIDAgZm9yIG5vdy4KCSAgUmVtb3ZlIHNvbWUgXG4gaW4gREVCVUcgc3RyaW5ncy4KCSAgVXNlIF9zY2FsZV9pbnQgZm9yIG1heGltdW0gcHJlY2lzaW9uLgoKMjAwNi0wMi0wNiAxMjo1NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvOiBSZW1vdmUgb2xkIGZpbGVzLCBhcGV0YWcgaXMgaW4gZ3N0LXBsdWdpbnMtZ29vZCBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2FwZXRhZy5jOgoJICBSZW1vdmUgb2xkIGZpbGVzLCBhcGV0YWcgaXMgaW4gZ3N0LXBsdWdpbnMtZ29vZCBub3cuCgoyMDA2LTAyLTA2IDA5OjU0OjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvYnoyLzogTm8gbmVlZCB0byBpbml0IHBhcmVudF9jbGFzcywgdGhlIGJvaWxlcnBsYXRlIGRvZXMgaXQgZm9yIHlvdS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYyAoZ3N0X2J6MmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jIChnc3RfYnoyZGVjX2NsYXNzX2luaXQpOiBObyBuZWVkIHRvIGluaXQKCSAgcGFyZW50X2NsYXNzLCB0aGUgYm9pbGVycGxhdGUgZG9lcyBpdCBmb3IgeW91LgoKMjAwNi0wMi0wNiAwOTo0MDowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgSG9vayBpdCB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDUgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgcmV2aWV3ZWQgYnk6IEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOiBIb29rIGl0IHVwLgoJICAqIGV4dC9iejIvZ3N0YnoyLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogTmV3IHBsdWdpbiwgaW1wbGVtZW50cyBiejIgZW5jb2RpbmcgYW5kCgkgIGRlY29kaW5nICgjMzAzMTY3KS4KCjIwMDYtMDItMDMgMTA6MTM6MjIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBvcGVuZ2wgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgb3BlbmdsIHBsdWdpbgoKMjAwNi0wMS0zMCAxNTo0Nzo0NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfQ0ZMQUdTKTogQWRkIFBMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMuCgoyMDA2LTAxLTI5IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZyBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3NldGNhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nCgkgIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBSZXdyaXRlIGEgYml0LCBtb3N0bHkgdG8gZml4IGZsb3cgbG9naWMgYW5kIHRvIG1ha2Ugc2Vla2luZyB3b3JrLgoJICBGaXggYnVmZmVyL2V2ZW50IHJlZmNvdW50aW5nLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiBBZGQKCSAgd2lkdGggb2YgMzIgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLiBVc2UgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wMS0yOCAxMjo0NTo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoKMjAwNi0wMS0yOCAwNDozOToxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgIHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoKMjAwNi0wMS0yNyAxMjo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlICdmcmFtZWQnIGZpZWxkIGluIGNhcHM7IFBvcnQgc3luY2luZyBmb3IgcmF3IHN0cmVhbXMgZnJvbSAwLjggYnJhbmNoIChmb3IgQUFDKyByYWRpbyBzdHJlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwgKGdzdF9mYWFkX3N5bmMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBIYW5kbGUgJ2ZyYW1lZCcgZmllbGQgaW4gY2FwczsgUG9ydCBzeW5jaW5nIGZvciByYXcgc3RyZWFtcwoJICBmcm9tIDAuOCBicmFuY2ggKGZvciBBQUMrIHJhZGlvIHN0cmVhbXMpICgjMzI4NzIyKS4KCjIwMDYtMDEtMjcgMDE6MzE6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogRml4IG91dHB1dCBzdHJpZGUgY29weWluZywgc28gdGhhdCBpdCBkaXNwbGF5cyBjb3JyZWN0bHkgb24gZnJhbWVidWZmZXIgZGV2aWNlcyB0aGF0IGRvbid0IG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3N1cHBvcnRlZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3hvdmVybGF5X3NldF94d2luZG93X2lkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVpbml0c2RsKSwgKGdzdF9zZGx2X3Byb2Nlc3NfZXZlbnRzKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2Rlc3Ryb3kpLCAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgRml4IG91dHB1dCBzdHJpZGUgY29weWluZywgc28gdGhhdCBpdCBkaXNwbGF5cyBjb3JyZWN0bHkgb24KCSAgZnJhbWVidWZmZXIgZGV2aWNlcyB0aGF0IGRvbid0IG1hdGNoIG91ciBpbXBsaWN0IEdTdHJlYW1lciBzdHJpZGUKCSAgYXJyYW5nZW1lbnQuCgkgIEZpeCBsb2NraW5nIHRoaW5ncy4gT2ZmZXIgWE92ZXJsYXkgb25seSB3aGVuIFNETCBpcyBydW5uaW5nIGFnYWluc3QKCSAgWC4gTWFrZSBub24tc2NhbGVkIChhbmQgdWdseSkgZW1iZWRkaW5nIHdvcmsgdmlhIFggT3ZlcmxheS4gSXQgY2FuJ3QKCSAgYWN0dWFsbHkgbWF0Y2ggdGhlIGVtYmVkZGVkIHdpbmRvdyBzaXplIGJlY2F1c2UgdGhlcmUncyBubyB3YXkgdG8KCSAgZmlndXJlIG91dCB3aGF0IHNpemUgdGhhdCBzaG91bGQgYmUgZnJvbSB0aGUgWE92ZXJsYXkgaW50ZXJmYWNlLgoJICBTZWUgY29tbWVudCBpbiBzZGx2aWRlb3NpbmsuYwoKMjAwNi0wMS0yNiAxNjoyMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCjIwMDYtMDEtMjUgMTQ6NDQ6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgSnVzdCBjaGFpbiB1cCBmaW5hbGl6ZSBjYWxscyAoY2FsbGluZyBwYXJlbnRfY2xhc3MtPmZpbmFsaXplKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgY2hhaW4gdXAgZmluYWxpemUgY2FsbHMgKGNhbGxpbmcgcGFyZW50X2NsYXNzLT5maW5hbGl6ZSkuCgoyMDA2LTAxLTI1IDE0OjIwOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIEZpbmFsaXplIG1ldGhvZCBoYXMgYmVlbiBjcmVhdGVkIGFuZCBvdGhlcnMgc21hbGwgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpbmFsaXplIG1ldGhvZCBoYXMgYmVlbiBjcmVhdGVkIGFuZCBvdGhlcnMgc21hbGwgY2hhbmdlcy4KCjIwMDYtMDEtMjQgMjE6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svOiBGaXggc2Vla2luZyBpbiBtdXNlcGFjayBmaWxlcyAoaXQncyBzdGlsbCBpbmNyZWRpYmx5IHNsb3csIGJ1dCBJIGRvbid0IHRoaW5rIHRoYXQgaXMgb3VyIHBsdWdpbidzIGZhdWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19jbGFzc19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksIChnc3RfbXVzZXBhY2tkZWNfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLCAoZ3N0X211c2VwYWNrZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6IChnc3RfbXVzZXBhY2tfcmVhZGVyX3BlZWspLAoJICAoZ3N0X211c2VwYWNrX3JlYWRlcl9zZWVrKSwgKGdzdF9tdXNlcGFja19yZWFkZXJfdGVsbCksCgkgIChnc3RfbXVzZXBhY2tfcmVhZGVyX2dldF9zaXplKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgRml4IHNlZWtpbmcgaW4gbXVzZXBhY2sgZmlsZXMgKGl0J3Mgc3RpbGwgaW5jcmVkaWJseSBzbG93LCBidXQgSQoJICBkb24ndCB0aGluayB0aGF0IGlzIG91ciBwbHVnaW4ncyBmYXVsdCkuIENsZWFuIHVwIGNvZGUgYW5kIGdldAoJICByaWQgb2Ygb2xkIGNydWZ0LiBQb3N0IHRhZ3Mgd2l0aCBhbGwga2luZCBvZiBuZWF0IGluZm9ybWF0aW9uIGxpa2UKCSAgcmVwbGF5IGdhaW4gYW5kIHN1Y2ggb24gdGhlIGJ1cywgaWYgaXQgaXMgYXZhaWxhYmxlLiBBZGQgYQoJICAnbXVzZXBhY2tkZWMnIGRlYnVnIGNhdGVnb3J5LgoKMjAwNi0wMS0yNCAxMTo1ODo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgSWYgc2FtcGxlX3NpemUgaXMgYXZhaWxhYmxlLCB1c2UgdGhhdCBmb3IgdGhlIHNhbXBsZXMnIGR1cmF0aW9uIGluCgkgIHRoZSBpbmRleC4gVGhpcyBlbmFibGVzIHNpbmdsZSBmcmFtZSBzdHJlYW1zIHRvIHdvcmsgKGFuZCBJIGltYWdpbmUKCSAgZml4ZXMgc29tZSBvdGhlciBjYXNlcykuCgkgIFRlc3RlZCBvbiB0ZXN0c3VpdGUsIG5vIHJlZ3Jlc3Npb24uCgoyMDA2LTAxLTIzIDE1OjEwOjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6IF8gVlAzMSA6IHZpZGVvL3gtdnAzIF8gQVZESiA6IGltYWdlL2pwZWcgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOgoJICBfIFZQMzEgOiB2aWRlby94LXZwMwoJICBfIEFWREogOiBpbWFnZS9qcGVnCgkgIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZHYsIHN5c3RlbXN0cmVhbT0oYm9vbGVhbilmYWxzZQoJICBfIDB4NmQ3MzAwMTcgOiBhdWRpby94LWFkcGNtLCBsYXlvdXQ9KHN0cmluZylxdWlja3RpbWUKCjIwMDYtMDEtMjEgMTg6MzU6MjkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgVXBkYXRlIGZyb20gc3dmZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogVXBkYXRlIGZyb20gc3dmZGVjLgoKMjAwNi0wMS0yMSAxMTo0Mzo1MyArMDAwMCAgRmFicml6aW8gPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgRml4IDhiaXQgY2FzZSAoIzMyNzEzMywgYmFzZWQgb24gcGF0Y2ggYnk6IEZhYnJpemlvCgkgIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoJICBBbHNvLCAiR19MSVRUTEVfRU5ESUFOIiBhbmQgIkdfQklHX0VORElBTiIgYXJlIG5vdAoJICB2YWxpZCBsaXRlcmFscyBmb3IgZW5kaWFubmVzcyBpbiBjYXBzIHN0cmluZ3MsCgkgIG9ubHkgIkxJVFRMRV9FTkRJQU4iIGFuZCAiQklHX0VORElBTiIgYXJlIHZhbGlkLgoKMjAwNi0wMS0yMCAxNzowNDozOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgRml4ZWQgc3RhdGUgdHJhbnNpY3Rpb25zIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzdGF0ZSB0cmFuc2ljdGlvbnMgUExBWUlORy0+TlVMTC0+UExBWUlORy4KCjIwMDYtMDEtMTkgMTY6NDk6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBTb21lIG1pbm9yIGltcHJvdmVtZW50cyBvbiBsb2cgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIG1pbm9yIGltcHJvdmVtZW50cyBvbiBsb2cgbWVzc2FnZXMuCgoyMDA2LTAxLTE4IDE4OjU0OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoKMjAwNi0wMS0xNyAxNjo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZSBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUKCSAgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgoyMDA2LTAxLTE3IDEzOjE0OjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4aW5nIHZlcnNpb25pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeGluZyB2ZXJzaW9uaW5nCgoyMDA2LTAxLTE2IDEyOjMwOjQxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIFJlbW92ZWQgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlIGZyb20gbW1zIGFuZCBuZW9uLCBhbmQgbm93IGNhbGxpbmcgcGFyZW50X2NsYXNzLT5kaXNwb3NlIGluIGRpc3Bvc2Ugb24gc2RsYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIGdzdF9iYXNlX3NyY19zZXRfbGl2ZSBmcm9tIG1tcyBhbmQgbmVvbiwgYW5kIG5vdyBjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZGlzcG9zZSBpbiBkaXNwb3NlIG9uIHNkbGF1ZGlvLgoKMjAwNi0wMS0xMSAyMDo1OTozOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBOb3cgaW1wbGVtZW50aW5nIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCB1c2luZyBHU1RfQk9JTEVSX1BMQVRFX0ZVTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaW1wbGVtZW50aW5nIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCB1c2luZyBHU1RfQk9JTEVSX1BMQVRFX0ZVTEwuCgoyMDA2LTAxLTExIDE1OjM0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VubWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bm1peGVyLmg6CgkgIHJlbW92ZSBvbGQgKGJyb2tlbikgc3VuYXVkaW8gcGx1Z2luIGZyb20gYmFkIGFzIHRoZXJlIGlzIGEgbmV3IHdvcmtpbmcgb25lIGluIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIChicm9rZW4pIHN1bmF1ZGlvIHBsdWdpbiBmcm9tIGJhZCBhcyB0aGVyZSBpcyBhIG5ldyB3b3JraW5nIG9uZQoJICBpbiAtZ29vZAoKMjAwNi0wMS0xMSAxNDo0MToyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBSZXBsYWNlZCB3cm9uZyBzdHlsZSBjb2RlIGJ5IEdTVF9CT0lMRVJQTEFURS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2VkIHdyb25nIHN0eWxlIGNvZGUgYnkgR1NUX0JPSUxFUlBMQVRFLgoKMjAwNi0wMS0xMSAxMTowNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgQ2xvc2VzICMzMjY1MjQKCjIwMDYtMDEtMDkgMTg6MjA6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQsIHNkbGF1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQsIHNkbGF1ZGlvc2luay4KCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDYtMDEtMDUgMTc6MDM6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKHBsdWdpbl9pbml0KToKCSAgY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgoyMDA2LTAxLTA0IDE5OjM5OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFNvbWUgaW1wcm92ZW1lbnRzIGluIGNhbmNlbGxhdGlvbiBhbmQgZGVidWcgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGltcHJvdmVtZW50cyBpbiBjYW5jZWxsYXRpb24gYW5kIGRlYnVnIG1lc3NhZ2VzLgoKMjAwNi0wMS0wNCAxMzoyNjozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJlbW92ZWQgbm90IG5lZWQgdGhyZWFkIGFuZCBjaGFuZ2VkIHRvIHB1c2ggb3V0IGJsb2Nrc2l6ZSBieXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgbm90IG5lZWQgdGhyZWFkIGFuZCBjaGFuZ2VkIHRvIHB1c2ggb3V0IGJsb2Nrc2l6ZSBieXRlcy4KCj09PSByZWxlYXNlIDAuMTAuMiA9PT0KCjIwMDYtMDEtMDMgMTc6MzM6MTYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6IEFzIGJlZm9yZSwgYnV0IGZvciBvX2J1ZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBBcyBiZWZvcmUsIGJ1dCBmb3Igb19idWYKCjIwMDYtMDEtMDMgMTc6Mjc6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6IERlY2xhcmUgc3RydWN0IF9SZXNhbXBsZVN0YXRlLmJ1ZmZlciBhcyB1bnNpZ25lZCBjaGFyICosIG5vdCB2b2lkICosIHNpbmNlIHdlIGRvIGFyaXRobS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBEZWNsYXJlIHN0cnVjdCBfUmVzYW1wbGVTdGF0ZS5idWZmZXIgYXMgdW5zaWduZWQgY2hhciAqLCBub3Qgdm9pZCAqLAoJICBzaW5jZSB3ZSBkbyBhcml0aG1ldGljIG9uIGl0LgoKMjAwNi0wMS0wMiAxNTowNTowOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBuZW9uIHBsdWdpbiB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBuZW9uIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMDUtMTItMzAgMTU6NDE6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSogZXh0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGh3YXZlL1JFQURNRToKCSogZXh0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIG1vdmUgc21vb3Rod2F2ZSB0byBnc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgc21vb3Rod2F2ZSB0byBnc3QKCjIwMDUtMTItMjggMjE6MDc6MTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG5lb25odHRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBuZW9uaHR0cHNyYy4KCjIwMDUtMTItMTkgMTU6MTk6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jaGFpbiksIChnc3Rfc3dmZGVjX3JlbmRlcik6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgIEdldCBzb21ldGhpbmcgZnJvbSB0aGUgcGVlciBwYWQgb25jZSB3ZSd2ZSBjaGVja2VkIGlmIHRoZXJlIGlzIGEgcGVlciBwYWQuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQ291cGxlIG9mIGZpeGVzCgoyMDA1LTEyLTE5IDE0OjU4OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICBqdXN0IGEgc21hbGwgZml4LiBJIGhhdmUgdG8gcGF5IG1vcmUgYXR0ZW50aW9uIHdoZW4gY29tbWl0aW5nIDstKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganVzdCBhIHNtYWxsIGZpeC4gSSBoYXZlIHRvIHBheSBtb3JlIGF0dGVudGlvbiB3aGVuIGNvbW1pdGluZyA7LSkKCjIwMDUtMTItMTkgMTQ6NDA6MjIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgIGRpdnhkZWMgYW5kIGRpdnhlbmMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpdnhkZWMgYW5kIGRpdnhlbmMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTggMjE6MDY6NDcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgU29tZSBtb3JlIHJlZmFjdG9yaW5nLCBoYW5kbGUgZXhvdGljIERpcmVjdEZCIHJvdyBzdHJpZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KTogU29tZQoJICBtb3JlIHJlZmFjdG9yaW5nLCBoYW5kbGUgZXhvdGljIERpcmVjdEZCIHJvdyBzdHJpZGUuCgoyMDA1LTEyLTE4IDEwOjU4OjQ0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCBwaXhlbC1hc3BlY3QtcmF0aW8uCgkgIFRoaXMgc2hvdWxkIHdvcmsgYm90aCBmb3IgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgc2NhbGluZyBhbmQKCSAgcmV2ZXJzZSBjYXBzIG5lZ290aWF0aW9uIHdpdGggYSBzY2FsaW5nIGVsZW1lbnQuCgoyMDA1LTEyLTE3IDE3OjQ4OjM4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6IFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHZlcnRpY2FsIHN5bmMgYW5kCgkgIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlLgoKMjAwNS0xMi0xNiAyMTo1NToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9uJ3QgdXNlIGRvYyBjb21tZW50cyBmb3Igbm9uLWRvY3MgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKHNvY2tldF9yZWNlaXZlX2ZpbGVfdG9fYnVmZik6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmg6CgkgICogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uYzoKCSAgKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkgIGRvbid0IHVzZSBkb2MgY29tbWVudHMgZm9yIG5vbi1kb2NzCgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgoyMDA1LTEyLTE2IDE0OjQ3OjU5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogQWx3YXlzIHByZWZlciB0aGUgcHJpbWFyeSBsYXllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCk6IEFsd2F5cyBwcmVmZXIgdGhlIHByaW1hcnkgbGF5ZXIuCgoyMDA1LTEyLTE2IDEyOjI1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCjIwMDUtMTItMTYgMDk6NTk6MjEgKzAwMDAgIGdjb2NhdHJlQGdtYWlsLmNvbSA8Z2NvY2F0cmVAZ21haWwuY29tPgoKCSAgZXh0L3dhdnBhY2svOiBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlCgkgIGNhcHMgKGZpeGVzICMzMjI5NzM7IHBhdGNoIGJ5OiBnY29jYXRyZUBnbWFpbC5jb20pLiBBbHNvCgkgIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZ29uZSBpbiAwLjEwLgoKMjAwNS0xMi0xNSAxNDozOTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIEZpeGVkIHNvbWUgbWVtLWxlYWtzIGluIHh2aWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbS1sZWFrcyBpbiB4dmlkLgoKMjAwNS0xMi0xNSAxMDozMDoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzIHRvIGF1ZGlvcmVzYW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycyB0byBhdWRpb3Jlc2FtcGxlLgoKMjAwNS0xMi0xNSAwODo1NDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRvZXNuJ3QgdXNlIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9lc24ndCB1c2UgbGlib2lsCgoyMDA1LTEyLTE0IDIyOjQxOjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkZGVjIGFuZCB4dmlkZWVuYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgeHZpZGRlYyBhbmQgeHZpZGVlbmMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTQgMjA6NTQ6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZHRzZGVjIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTEyIDEwOjQwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9sb29wKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19zcmNfcXVlcnkpLCAoZ3N0X21tc19jcmVhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfdmlkZW9fbGluayksCgkgIChnc3Rfc3dmZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGliLTIuNiB1c2Vycy4KCjIwMDUtMTItMTIgMDk6Mjk6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyIHRoYXQgd3JhcHMgU3dmZGVjQnVmZmVycy4gIEZpeCBhIG1hc3NpdmUgbWVtbGVhayBiZWNhdXNlIHRoZSB2aWRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksIChnc3Rfc3dmZGVjYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9zd2ZkZWNfYnVmZmVyX2Zyb21fc3dmKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKTogQWRkIGEgc3ViY2xhc3MKCSAgb2YgR3N0QnVmZmVyIHRoYXQgd3JhcHMgU3dmZGVjQnVmZmVycy4gIEZpeCBhIG1hc3NpdmUgbWVtbGVhawoJICBiZWNhdXNlIHRoZSB2aWRlbyBidWZmZXJzIHByZXZpb3VzbHkgbmV2ZXIgZ290IGZyZWVkLgoKMjAwNS0xMi0xMSAyMzo1NDo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBKdXN0IHJlbW92ZWQgYSB3ZWlyZCBwcmludGYgOy0pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHJlbW92ZWQgYSB3ZWlyZCBwcmludGYgOy0pCgoyMDA1LTEyLTExIDIzOjA5OjIxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkZWQgc3Vwb3J0IHRvIG1tc2guIFRoZXJlJ3Mgc3RpbGwgYSBzdWNrcyBtc2cgIkVSUk9SOiBQaXBlbGluZSBjYW50IFBSRVJPT0wuLi4iIHRvIGJlIGZpeGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc3Vwb3J0IHRvIG1tc2guIFRoZXJlJ3Mgc3RpbGwgYSBzdWNrcyBtc2cgIkVSUk9SOiBQaXBlbGluZSBjYW50IFBSRVJPT0wuLi4iIHRvIGJlIGZpeGVkLgoKMjAwNS0xMi0wOSAxNTozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscyBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMKCSAgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgZXJyb3JpbmcuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgZS5nLiBqcGVnIHN0cmVhbXMgd2l0aCAwIGR1cmF0aW9uIGZyYW1lcyBhcyBoYXZpbmcgMCBmcmFtZXJhdGUuCgkgIERlYnVnIGZpeGVzLiBTb21lIDY0IGJpdCB2YXJpYWJsZSBmaXhlcwoKMjAwNS0xMi0wOSAwNDoxNTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgc3dmZGVjIFBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3dmZGVjIFBvcnRlZCB0byAwLjEwLgoKMjAwNS0xMi0wNyAxMTo0NjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWVtbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE1lbWxlYWsgZml4ZXMuCgkgIFNlbmQgb3V0IEVPUyBmb3IgdmFsaWQgcmVhc29ucyAoY291bGRuJ3QgcHVsbF9yYW5nZSgpIGZyb20gdXBzdHJlYW0KCSAgZm9yIGV4YW1wbGUpLgoKMjAwNS0xMi0wNiAxOTo1NTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSogZXh0L3hpbmUveGluZWNhcHMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkqIGdzdC9hcGV0YWcvYXBlZGVtdXguaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuaDoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2l0X2RlZnMuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvbXBlZzFzeXMvc3lzdGVtcy5jOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3R0YS9jcmMzMi5oOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3R0YS90dGFkZWMuaDoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkqIHN5cy9xY2FtL2RhcmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0NDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0MjowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDUgMTg6MTE6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC4xMC4wID09PQoKMjAwNS0xMi0wNSAxODowMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTM6MDQ6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6IChnc3RfeGluZV9pbnB1dF9nZXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2NoYWluKToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMzowMjo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDQgMjI6NDY6MzQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA1LTEyLTAyIDExOjM0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBGaXggYXVkaW9yZXNhbXBsZSwgc2VlayB0b3J0dXJlLCBuZXcgc2VnbWVudHMsIHJldmVyc2UgbmVnb3RpYXRpb24gZXRjLi4gd29yayBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuYzogKGF1ZGlvcmVzYW1wbGVfYnVmZmVyX3F1ZXVlX2ZsdXNoKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbnB1dF9mbHVzaCksCgkgIChyZXNhbXBsZV9pbnB1dF9wdXNodGhyb3VnaCksIChyZXNhbXBsZV9pbnB1dF9lb3MpLAoJICAocmVzYW1wbGVfZ2V0X291dHB1dF9zaXplX2Zvcl9pbnB1dCksCgkgIChyZXNhbXBsZV9nZXRfaW5wdXRfc2l6ZV9mb3Jfb3V0cHV0KSwgKHJlc2FtcGxlX2dldF9vdXRwdXRfc2l6ZSksCgkgIChyZXNhbXBsZV9nZXRfb3V0cHV0X2RhdGEpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6IChyZXNhbXBsZV9zY2FsZV9yZWYpOgoJICBGaXggYXVkaW9yZXNhbXBsZSwgc2VlayB0b3J0dXJlLCBuZXcgc2VnbWVudHMsIHJldmVyc2UgbmVnb3RpYXRpb24KCSAgZXRjLi4gd29yayBmaW5lLgoKMjAwNS0xMi0wMiAwOTozMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgJChXQVZQQUNLX0RJUikgKCMzMjI5NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nICQoV0FWUEFDS19ESVIpICgjMzIyOTYyKS4KCjIwMDUtMTItMDEgMTk6MTc6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjcgPT09CgoyMDA1LTEyLTAxIDE5OjEzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTElDRU5TRToKCSogTkVXUzoKCSogUE9SVEVEXzA5OgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9yYW5kb20vTElDRU5TRToKCSogZG9jcy9yYW5kb20vUE9SVEVEXzA5OgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMS0yOSAwMjo1NToxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIGxpYm1tIHBvcnRlZCB0byAwLjkuIEl0IHdvcmtzIGZpbmUsIGJ1dCBwcmludCBzb21lIGVycm9yIG1lc3NhZ2VzLiBJJ2xsIGZpeCB0aGVtIHNvb24uIFRlc3RlZCB3aXRoICBtbXNzcmMgbG9jYXRpb249bS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGlibW0gcG9ydGVkIHRvIDAuOS4gSXQgd29ya3MgZmluZSwgYnV0IHByaW50IHNvbWUgZXJyb3IgbWVzc2FnZXMuIEknbGwgZml4IHRoZW0gc29vbi4gVGVzdGVkIHdpdGggIG1tc3NyYyBsb2NhdGlvbj1tbXM6Ly8gISBmaWxlc2luay4KCjIwMDUtMTEtMjggMjE6MjI6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgIGZpeCBoZWFkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIKCjIwMDUtMTEtMjggMTc6NDc6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgZml4IGluY2x1ZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBpbmNsdWRlCgoyMDA1LTExLTI4IDE1OjQzOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NyY2dldGNhcHMpOgoJICBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yCgkgIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0cyBpbiAwIGNoYW5uZWxzIHdpdGggc2FtcGxlcmF0ZXMgb2YgMC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyB1cHdhcmQgdHJhbnNpdGlvbnMsIHRoZW4gY2FsbCBwYXJlbnQgc3RhdGVfY2hhbmdlLCB0aGVuIGRvCgkgIGRvd253YXJkIHRyYW5zaXRpb25zLgoKMjAwNS0xMS0yOCAxNToxOTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZpeCBtYWtlZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1ha2VmaWxlCgoyMDA1LTExLTI4IDE0OjUwOjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogYWxwaGFiZXRzLCBzbyBoYXJkIHRvIG1hc3Rlci4gIFNob3VsZCBmaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIGFscGhhYmV0cywgc28gaGFyZCB0byBtYXN0ZXIuICBTaG91bGQgZml4IGRpc3RjaGVjay4KCjIwMDUtMTEtMjcgMTQ6MzU6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgoyMDA1LTExLTI1IDE5OjU4OjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgoyMDA1LTExLTI1IDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC93YXZwYWNrLzogcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKSwKCSAgKGdzdF93YXZwYWNrX2RlY193dmNsaW5rKSwgKGdzdF93YXZwYWNrX2RlY19nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NldHVwX2NvbnRleHQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2RlY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGZpbmRfaGVhZGVyKSwgKGZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlZWspLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoKMjAwNS0xMS0yMyAyMToyNzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIwOjA2OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjYgPT09CgoyMDA1LTExLTIzIDE5OjU3OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTg6MDU6MTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVXNlIGZyYWN0aW9uIGZvciBmcmFtZXJhdGUsIHZhcmlvdXMgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOiAobWFpbik6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3RpbWVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVycG9vbF9jbGVhciksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogVXNlIGZyYWN0aW9uIGZvciBmcmFtZXJhdGUsCgkgIHZhcmlvdXMKCSAgZml4ZXMuCgoyMDA1LTExLTIzIDE1OjM2OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IFVwZGF0ZXMgZm9yIGZyYWN0aW9uYWwgZnJhbWVyYXRlcyBhbmQgWE92ZXJsYXkgaW50ZXJmYWNlIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIFVwZGF0ZXMgZm9yIGZyYWN0aW9uYWwgZnJhbWVyYXRlcyBhbmQgWE92ZXJsYXkgaW50ZXJmYWNlIGNoYW5nZXMKCjIwMDUtMTEtMjMgMTE6NTc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgoyMDA1LTExLTIzIDAwOjI4OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEZpeCBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICBGaXggZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoKMjAwNS0xMS0yMiAxNTowOToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgTXVzZXBhY2tkZWMgcG9ydGVkIHRvIDAuOS4gVGhlcmUgaXMgc3RpbGwgYSBzbWFsbCBwcm9ibGVtIHRvIGJlIHNvbHZlZCwgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlLCB0aGUgcGlwZWxpbmUgZG9lbnMndCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXNlcGFja2RlYyBwb3J0ZWQgdG8gMC45LiBUaGVyZSBpcyBzdGlsbCBhIHNtYWxsIHByb2JsZW0gdG8gYmUgc29sdmVkLCBhZnRlciB0aGUgZW5kIG9mIGZpbGUsIHRoZSBwaXBlbGluZSBkb2Vucyd0IHN0b3AuCgoyMDA1LTExLTIyIDExOjU3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KQoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcikKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYyAoc3BlZWRfc2lua19ldmVudCkKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmMgKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KQoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjEgMTg6NDU6NTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgdGFrZSBTVFJFQU1fTE9DSyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2V2ZW50KToKCSAgRG9uJ3QgdGFrZSBTVFJFQU1fTE9DSyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBtb3JlLgoKMjAwNS0xMS0yMSAxODowOTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfc2lua19ldmVudF9oYW5kbGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspOgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cKCSAgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0NLCgkgIHRvIEdTVF9QQURfU1RSRUFNX0xPQ0suIERvbid0IGxlYWsgcmVmZXJlbmNlcyBpbiBmbHhkZWMgZXZlbnQKCSAgZnVuY3Rpb25zLgoKMjAwNS0xMS0yMSAxNzozNzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpOgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgoyMDA1LTExLTIxIDE3OjE0OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogU2VnbWVudCB1cGRhdGUgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3Byb3ZpZGVfY2xvY2spLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19zZXRfY2xvY2spLCAoZ3N0X2Jhc2VfYXVkaW9fc2lua19yZW5kZXIpLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgU2VnbWVudCB1cGRhdGUgZml4LgoKMjAwNS0xMS0yMSAxNjo0NTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogakBib290bGFiLm9yZywgIzMyMTkwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBEWDUwLCBESVZYIGFuZCBESVYzIGZvdXJjY3MgKHBhdGNoIGJ5CgkgIGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoKMjAwNS0xMS0yMSAxNjozNzoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgKi4qOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqICouaDoKCSAgKiAqLmM6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCjIwMDUtMTEtMjEgMTQ6Mzk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3R5cGVfZ2V0KSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX2RyZWYpLCAocXRkZW11eF9kdW1wX3N0c2QpLAoJICAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAwMzoyMTowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIE5vdyBpdCB3b3JrcyBpbiBwdXNoLW1vZGUuIFRlc3RlZCB3aXRoIGdub21ldmZzc3JjIGxvY2F0aW9uPWh0dHA6Ly8uLiAgISB0cmVtb3IgISBhbHNhc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpdCB3b3JrcyBpbiBwdXNoLW1vZGUuIFRlc3RlZCB3aXRoIGdub21ldmZzc3JjIGxvY2F0aW9uPWh0dHA6Ly8uLiAgISB0cmVtb3IgISBhbHNhc2luay4KCSAgU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDoKCSAgMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoJICAyLSBzZWVrIGlzIGZvcmNlZCB0byBkaXNhYmxlZCBpbiBwdWxsLW1vZGUKCjIwMDUtMTEtMTYgMTc6MjY6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIG1ha2UgaXQgd29yawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFrZSBpdCB3b3JrCgoyMDA1LTExLTE1IDE2OjUwOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBTZXQgcHJvcGVyIGNhcHMgb24gc291cmNlIHBhZCAoIzMyMDUzMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCksIChnc3RfZmFhY19pbml0KSwKCSAgKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksIChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCksCgkgIChnc3RfZmFhY19jaGFpbik6CgkgIFNldCBwcm9wZXIgY2FwcyBvbiBzb3VyY2UgcGFkICgjMzIwNTMyKS4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIGNvbW1lbnQgYmxvY2suCgoyMDA1LTExLTE1IDA4OjM4OjE2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSAgc2V0IHJhbmsgdG8gc2Vjb25kYXJ5IGFzIHlvdSBuZXZlciB3YW50IHRoaXMgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIG5vcm1hbCBvZ2dkZW11eCBldGMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgcmFuayB0byBzZWNvbmRhcnkgYXMgeW91IG5ldmVyIHdhbnQgdGhpcyB0byBiZSB1c2VkIGluc3RlYWQgb2Ygbm9ybWFsIG9nZ2RlbXV4IGV0Yy4KCjIwMDUtMTEtMTQgMTc6MTE6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogLW5vLXVuZGVmaW5lZCBmb3IgYmV0dGVyIGRlYnVnZ2luZywgYWxsb3dzIGRsbCBidWlsZHMgb24gd2luZG93cy4gRml4ZXMgIzMxNjA3Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiAtbm8tdW5kZWZpbmVkIGZvciBiZXR0ZXIKCSAgZGVidWdnaW5nLCBhbGxvd3MgZGxsIGJ1aWxkcyBvbiB3aW5kb3dzLiBGaXhlcyAjMzE2MDc2LgoKMjAwNS0xMS0xNCAwMjoxMzoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCjIwMDUtMTEtMTEgMTk6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuNSA9PT0KCjIwMDUtMTEtMTEgMTk6Mzg6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjkuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS41CgoyMDA1LTExLTExIDE4OjU0OjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRml4IGNvbXBpbGUgb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBmYWFkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggY29tcGlsZSBvbiBzeXN0ZW1zIHdpdGggYnJva2VuIGZhYWQgaGVhZGVycy4KCjIwMDUtMTEtMTEgMTg6MTc6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQ2FsbCBmdW5jdGlvbnMgd2l0aCB0aGUgY29ycmVjdCBBUEkuIFVuZm9ydHVuYXRlbHksIHVubGVzcyB5b3VyIGRpc3RyaWJ1dGlvbiBwYXRjaGVzIHVwc3RyZWFtLCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgQ2FsbCBmdW5jdGlvbnMgd2l0aCB0aGUgY29ycmVjdCBBUEkuIFVuZm9ydHVuYXRlbHksIHVubGVzcyB5b3VyCgkgIGRpc3RyaWJ1dGlvbiBwYXRjaGVzIHVwc3RyZWFtLCB0aGUgcHVibGljIGhlYWRlciBmaWxlIGZvciBGQUFECgkgIGRvZXNuJ3QgYWN0dWFsbHkgZGVjbGFyZSB0aGUgQVBJIGFjY3VyYXRlbHkuIFNvLCBzb21lIG5hc3RpbmVzcwoJICBlbnN1ZXMuLi4KCjIwMDUtMTEtMTAgMTI6MzQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoKMjAwNS0xMS0wOSAwMTowNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIG5vcm1hbCBjb21tZW50cy4gRml4IGd0ay1kb2MgZm9ybWF0dGluZyB3aGVyZSByZXF1aXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Rhcmtpbi93YXZlbGV0LmM6CgkgICogZXh0L3Rhcmtpbi93YXZlbGV0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uaDoKCSAgKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJICAqIHN5cy9xY2FtL2RhcmsuYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3Igbm9ybWFsIGNvbW1lbnRzLiBGaXgKCSAgZ3RrLWRvYyBmb3JtYXR0aW5nIHdoZXJlIHJlcXVpcmVkLgoKMjAwNS0xMS0wOCAxNDoyMDo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHJlbW92ZSB3cm9uZyBtcGVnc3RyZWFtIGFkZGl0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgd3JvbmcgbXBlZ3N0cmVhbSBhZGRpdGlvbgoKMjAwNS0xMS0wOCAxNDoxNzowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHRyZW1vciBwbHVnaW5zIHRvIG5lZWRlZCBidWlsZHNjcmlwdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0cmVtb3IgcGx1Z2lucyB0byBuZWVkZWQgYnVpbGRzY3JpcHRzCgoyMDA1LTExLTA4IDEzOjU1OjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFBvcnRlZCB0byAwLjkuIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6IDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMgMi0gc2VnIGZhdWx0IHdoZW4gZW9zIDMtIHNlZWsgaXMgbm93IGRpc2FibGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgdG8gMC45LiBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OgoJICAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgkgIDItIHNlZyBmYXVsdCB3aGVuIGVvcwoJICAzLSBzZWVrIGlzIG5vdyBkaXNhYmxlZAoKMjAwNS0xMS0wNiAyMjoyODozMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogQ2xlYW51cCBub24gZXhpc3RpbmcgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IENsZWFudXAgbm9uIGV4aXN0aW5nCgkgIGV4YW1wbGVzLgoKMjAwNS0xMS0wNiAyMjoyMzowNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6IEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwNS0xMS0wNiAyMjoxOTowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogTWFrZSBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogTWFrZSBidWlsZGJvdCBoYXBweS4KCjIwMDUtMTEtMDYgMjI6MTY6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IGV4YW1wbGVzIGluIGRpc3Qgc3ViZGlycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBNYWtlZmlsZS5hbTogZXhhbXBsZXMgaW4gZGlzdCBzdWJkaXJzLgoJICAqIGNvbmZpZ3VyZS5hYzogZW5hYmxlIHBhcmFtZXRlciBmb3IgYnVpbGRpbmcKCSAgZXhhbXBsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IFVwZGF0ZXMuCgoyMDA1LTExLTA2IDIxOjU1OjAxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEVuYWJsZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOiBFbmFibGUgZG9jdW1lbnRhdGlvbi4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiAobXljbG9jayksIChkeW5hbWljX2xpbmspLAoJICAoc2l6ZV9jaGFuZ2VkKSwgKHNldHVwX2R5bmFtaWNfbGluayksIChtYWluKTogQWRkIGFuIGV4YW1wbGUKCSAgYXBwbGljYXRpb24gZm9yIERpcmVjdEZCLgoKMjAwNS0xMS0wNSAyMzozNjoyMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCSAgKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzogKGdldF9tZV9vdXQpLCAobWFpbik6CgkgIEhlcmUgaXMgYW4gZXhhbXBsZSBhcHBsaWNhdGlvbiB0aGF0IHJ1bnMgdmlkZW90ZXN0c3JjIGZvciAyMAoJICBzZWNvbmRzLiBJdCdzIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1vcmUgZml4ZXMsIGNhbGN1bGF0ZSBuZXcgc2l6ZSBvZiB0aGUgYnVmZmVyIHdoZW4gcmVuZWdvdGlhdGluZy4KCSAgVGhpcyBjb21wbGV0ZWx5IGJyZWFrcyBmZm1wZWdjb2xvcnNwYWNlIGJ1dCBpIG5lZWQgdG8gZGlzY3VzcwoJICB0aGF0IHdpdGggV2ltIG9uIG1vbmRheS4gQWRkIGRvY3VtZW50YXRpb24uCgoyMDA1LTExLTA1IDE5OjU1OjEyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogTWFrZSBhY2NlbGVyYXRpb24gZGV0ZWN0aW9uIHdvcmssIGJldHRlciwgYWRkIHNhZmV0eSBjaGVja3MgYW5kIEFSR0Igc3VwcG9ydCBmb3IgY2FyZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2Fwcyk6IE1ha2UgYWNjZWxlcmF0aW9uIGRldGVjdGlvbiB3b3JrLAoJICBiZXR0ZXIsIGFkZCBzYWZldHkgY2hlY2tzIGFuZCBBUkdCIHN1cHBvcnQgZm9yIGNhcmRzIHRoYXQKCSAgc3VwcG9ydCBpdC4KCjIwMDUtMTEtMDQgMTg6Mjg6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay4qOiBOb3cgZG9lcyBjbGlwcGluZyB3aGVuIHN1cmZhY2UgaXMgdG9vIHNtYWxsLCBoYW5kbGVzIHVwc3RyZWFtIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBjYWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBOb3cgZG9lcyBjbGlwcGluZyB3aGVuIHN1cmZhY2UKCSAgaXMgdG9vIHNtYWxsLCBoYW5kbGVzIHVwc3RyZWFtIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBjYWxsaW5nCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyLCBmaXhlcyBhIGxvdCBvZiBidWdzLgoKMjAwNS0xMS0wMyAyMjozNjo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IFByZXBhcmUgZm9yIGxpYm9pbCB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IFByZXBhcmUgZm9yIGxpYm9pbCB1c2FnZS4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiAgUHJlcGFyZSBmb3IgbGlib2lsLCBoYW5kbGUKCSAgcmVuZGVyaW5nIGluIGV4dGVybmFsIHN1cmZhY2UgY29ycmVjdGx5LiBXaWxsIGNvbW1pdCBhIG5lYXQKCSAgZXhhbXBsZSBzb29uLgoKMjAwNS0xMS0wMyAxNjo1OToyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBBZGQgc3VwcG9ydCB0byBleGl0IHdoZW4gJ0VzYycga2V5IGlzIHByZXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc3VwcG9ydCB0byBleGl0IHdoZW4gJ0VzYycga2V5IGlzIHByZXNzZWQuCgoyMDA1LTExLTAyIDE3OjEyOjMxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZXMgRGlyZWN0RkIgMC45LjI0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBSZXF1aXJlcyBEaXJlY3RGQiAwLjkuMjQKCjIwMDUtMTEtMDIgMTI6NTM6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWRkIGRpcmVjdGZiIHRvIGRpc3RkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkaXJlY3RmYiB0byBkaXN0ZGlyCgoyMDA1LTExLTAyIDEyOjQzOjAzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIENvbXBsZXRlIHJld3JpdGUvcG9ydCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9uYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfY2Fwc19mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF90aW1lcyksIChnc3RfZGZidmlkZW9zaW5rX2NlbnRlcl9yZWN0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnN1cmZhY2VfaW5pdCksIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2dldF90eXBlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdHlwZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5oOiBDb21wbGV0ZSByZXdyaXRlL3BvcnQgb2YKCSAgRGlyZWN0RkIgdmlkZW8gc2luayB0byAwLjkuIEhhbmRsZXMgcmV2ZXJzZSBuZWdvdGlhdGlvbiwKCSAgaGFyZHdhcmUKCSAgc2NhbGluZywgbmF2aWdhdGlvbiwgYnVmZmVyIGFsbG9jYXRpb24gZnJvbSB2aWRlbyBtZW1vcnkgZXRjLi4uCgoyMDA1LTEwLTMxIDIwOjU3OjQyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIENoYW5nZWQgcHJvcGVydHkgZnVsbC1zY3JlZW4gdG8gZnVsbHNjcmVlbiwgdXNpbmcgU0RMX1NXU1VSRkFDRSBpbnN0ZWFkIG9mIFNETF9IV1NVUkZBQ0Ugd2hlbiBpbiBmdWxsIHNjcmVlbiBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBmdWxsLXNjcmVlbiB0byBmdWxsc2NyZWVuLCB1c2luZyBTRExfU1dTVVJGQUNFIGluc3RlYWQgb2YgU0RMX0hXU1VSRkFDRSB3aGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUuCgoyMDA1LTEwLTMxIDE4OjA3OjMwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgQWRkZWQgYSBwcm9wZXJ0eSB0aGF0IGFsbG93cyBmdWxsLXNjcmVlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgcHJvcGVydHkgdGhhdCBhbGxvd3MgZnVsbC1zY3JlZW4uCgoyMDA1LTEwLTI4IDE1OjExOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogRml4IEk0MjAgb3V0cHV0IG9uIHNvbWUgbWFjaGluZXMgKG5vdCB2ZXJ5IG5pY2UsIGJ1dCBzaG91bGQgd29yaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfc2RsX2Zyb21fZm91cmNjKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEZpeCBJNDIwIG91dHB1dCBvbiBzb21lIG1hY2hpbmVzIChub3QgdmVyeSBuaWNlLCBidXQgc2hvdWxkIHdvcmspLgoJICBBZGQgYW4gJ3NkbHZpZGVvc2luaycgZGVidWcgY2F0ZWdvcnkuIERpc2FibGUgZm9ybWF0cyB0aGF0IGRvCgkgIG5vdCB3b3JrLiBGaXggc29tZSB2YXJhcmcgZnVuY3Rpb24gaXNzdWVzLgoKMjAwNS0xMC0yNyAyMDoxNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IEZpeCBTREwgdmlkZW9zaW5rIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdCksIChnc3Rfc2RsdmlkZW9zaW5rX2xvY2spLAoJICAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKSwgKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3Rfc2RsdmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBTREwgdmlkZW9zaW5rIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCjIwMDUtMTAtMjcgMTk6MzY6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgVHJ5aW5nIHRvIGZpeCB2aWRlb3Mgb3V0IG9mIHN5bmMgKG5vdCBmaXhlZCB5ZXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUcnlpbmcgdG8gZml4IHZpZGVvcyBvdXQgb2Ygc3luYyAobm90IGZpeGVkIHlldCkKCjIwMDUtMTAtMjcgMTY6MTY6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmVkIHVudXNlZCBsYW5ndWFnZSBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCB1bnVzZWQgbGFuZ3VhZ2Ugc3R1ZmYKCjIwMDUtMTAtMjcgMTI6NDk6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgZG8gcG8gdW50aWwgc29tZXRoaW5nIHdhbnRzIHRvIGJlIHRyYW5zbGF0ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGRvIHBvIHVudGlsIHNvbWV0aGluZyB3YW50cyB0byBiZSB0cmFuc2xhdGVkCgoyMDA1LTEwLTI3IDExOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOiBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoKMjAwNS0xMC0yNyAxMToyNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlCgkgIG9uIHRoZSBidXMgaW5zdGVhZC4KCjIwMDUtMTAtMjYgMTU6NDU6MTEgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBGaXhpbmcgc3R1ZmYgYXMgd2luZ28gcG9pbnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhpbmcgc3R1ZmYgYXMgd2luZ28gcG9pbnRlZCBvdXQuCgoyMDA1LTEwLTI2IDEzOjQwOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0Y2hlY2sKCjIwMDUtMTAtMjYgMTM6MDE6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICBkb24ndCBwdXQgY3JhcCBpbiB1c2VyLXZpc2libGUgc3RyaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgcHV0IGNyYXAgaW4gdXNlci12aXNpYmxlIHN0cmluZ3MKCjIwMDUtMTAtMjUgMTY6MTI6MDMgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBPdmVyLXdyaXRpbmcgV2ltJ3MgZ3NtIHBsdWdpbnMgKGN1cnJlbnRseSBub3Qgd29ya2luZykgd2l0aCB0aGF0IGZyb20gdGhlIGZhcnNpZ2h0IHJlcG8uIEFsc28gbWFkZSBzdXJlIHRoYXQgdGhleSB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE92ZXItd3JpdGluZyBXaW0ncyBnc20gcGx1Z2lucyAoY3VycmVudGx5IG5vdCB3b3JraW5nKSB3aXRoIHRoYXQgZnJvbSB0aGUgZmFyc2lnaHQgcmVwby4gQWxzbyBtYWRlIHN1cmUgdGhhdCB0aGV5IHdvcmsgd2l0aCB0aGUgUlRQIChkZSlwYXlsb2FkZXIuCgoyMDA1LTEwLTI1IDEzOjMxOjA5ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgRml4ZWQgZXZlbnQgaGFuZGxpbmcgaW4gZ3NtZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZXZlbnQgaGFuZGxpbmcgaW4gZ3NtZW5jLgoKMjAwNS0xMC0yNCAxMzowMjozMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCjIwMDUtMTAtMjMgMjM6MDc6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNCA9PT0KCjIwMDUtMTAtMjMgMjI6NDY6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjQKCjIwMDUtMTAtMjMgMTQ6Mzg6MDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiBTVE9QUEVELT5GQUlMRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9sb29wKTogU1RPUFBFRC0+RkFJTEVELgoKMjAwNS0xMC0yMSAxNjoxMTo1MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgdXBkYXRlcwoKMjAwNS0xMC0yMCAxNTowODoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogRG8gc29tZSB0aW1lc3RhbXAgc21vb3RoaW5nIChtYXRyb3NrYWRlbXV4IGFwcGFyZW50bHkgc2VuZHMgbXVsdGlwbGUgYnVmZmVycyBpbiBhIHJvdyB3aXRoIHRoZSBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9iYXNlX2luaXQpLCAoZ3N0X2ZhYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX3NyY2dldGNhcHMpLCAoZ3N0X2ZhYWRfZXZlbnQpLAoJICAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIERvIHNvbWUgdGltZXN0YW1wIHNtb290aGluZyAobWF0cm9za2FkZW11eCBhcHBhcmVudGx5IHNlbmRzCgkgIG11bHRpcGxlIGJ1ZmZlcnMgaW4gYSByb3cgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXApOyBmaXgKCSAgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVyczsgZml4IGNoYW5nZSBzdGF0ZSBmdW5jdGlvbjsgdXNlCgkgIEdTVF9ERUJVR19GVU5DUFRSIGZvciBwYWQgZnVuY3Rpb25zLgoKMjAwNS0xMC0xOSAxNTo1ODowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHNwZWVkX3NyY19xdWVyeSk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X3R0YV9wYXJzZV9xdWVyeSk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxMjo0MTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWxsIHRoZSBjb29sIGtpZHMgdXNlIEdTVF9ET0NCT09LX0NIRUNLIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbGwgdGhlIGNvb2wga2lkcyB1c2UgR1NUX0RPQ0JPT0tfQ0hFQ0sgbm93LgoKMjAwNS0xMC0xOCAwODozOTo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiBzcGVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiBzcGVlZC4KCjIwMDUtMTAtMTcgMjA6NDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgRml4ZWQgU3BlZWQgLSBSZWNvdmVyZWQgZmVhdHVyZWQgbWlzc2VkIHNpbmNlIHZlcnNpb24gMS4zNywgYW5kIGNoYW5nZWQgb3RoZXIgbWlub3IgdGhpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgU3BlZWQgLSBSZWNvdmVyZWQgZmVhdHVyZWQgbWlzc2VkIHNpbmNlIHZlcnNpb24gMS4zNywgYW5kIGNoYW5nZWQgb3RoZXIKCSAgbWlub3IgdGhpbmdzLgoKMjAwNS0xMC0xNiAxNzowODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGdsaWIgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZ2xpYiBjaGVjawoKMjAwNS0xMC0xNiAxMzo1NDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgcmVzdHJ1Y3R1cmUgY29uZmlndXJlLmFjLCB1c2UgY29ycmVjdCBsaWJ0b29sIExERkxBR1MsIGZpeCB1cCBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXN0cnVjdHVyZSBjb25maWd1cmUuYWMsIHVzZSBjb3JyZWN0IGxpYnRvb2wgTERGTEFHUywgZml4IHVwIGRlZmluZXMKCjIwMDUtMTAtMTMgMTU6MzE6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4LzogYW5kIG1vcmUgdHlwb3MgZml4ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgICogZXh0L3Rhcmtpbi90YXJraW4uYzogKHRhcmtpbl9hbmFseXNpc19mcmFtZWluKSwKCSAgKHRhcmtpbl9zeW50aGVzaXNfcGFja2V0aW4pOgoJICBhbmQgbW9yZSB0eXBvcyBmaXhlZAoKMjAwNS0xMC0xMyAxMTozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogR3N0MDktaXplIGNvZGUgYSBsaXR0bGUgYml0IG1vcmU6IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpLCBtb3ZlIGV2ZW50IGhhbmRsaW5nIGZyb20gY2hhaW4gZnVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jbGFzc19pbml0KSwgKGdzdF9mYWFjX2luaXQpLAoJICAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwgKGdzdF9mYWFjX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pLCAoZ3N0X2ZhYWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mYWFjX2dldF9wcm9wZXJ0eSksIChnc3RfZmFhY19jaGFuZ2Vfc3RhdGUpOgoJICBHc3QwOS1pemUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZTogdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCksCgkgIG1vdmUgZXZlbnQgaGFuZGxpbmcgZnJvbSBjaGFpbiBmdW5jdGlvbiBpbnRvIGFuIGV2ZW50IGZ1bmN0aW9uLAoJICBhZGQgc29tZSBsb2NrcyBoZXJlIGFuZCB0aGVyZSwgZG8gc29tZSBjbGVhbnVwczsgZGlzYWJsZSAzMi1iaXQKCSAgaW50ZWdlciBhbmQgZmxvYXQgaW5wdXQgZm9ybWF0cyB1bnRpbCB3ZSdyZSBzdXJlIHRoYXQgdGhvc2UKCSAgYWN0dWFsbHkgd29yayAoY291bGRuJ3QgcGxheSBiYWNrIHRoZSBwcm9kdWNlZCBmaWxlcyB3aXRoCgkgIGFueXRoaW5nKS4KCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxMzo1NDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGRlcHRoL3dpZHRoIGhhbmRsaW5nIGZvciBmbG9hdCBhdWRpbyAoIzMxODY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Npbmtfc2V0Y2Fwcyk6CgkgIEZpeCBkZXB0aC93aWR0aCBoYW5kbGluZyBmb3IgZmxvYXQgYXVkaW8gKCMzMTg2NTkpLgoKMjAwNS0xMC0xMiAxMjo1MzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogUmVmY291bnQgZml4ZXMgKCMzMTg2NTkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmFhY19zcmNfc2V0Y2FwcyksIChnc3RfZmFhY19jaGFpbik6CgkgIFJlZmNvdW50IGZpeGVzICgjMzE4NjU5KQoKMjAwNS0xMC0xMiAwOToxNTo0MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IGxpYnZpc3VhbCBhbmQgc25hcHNob3QgYXJlIG5vdCBoZXJlIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBsaWJ2aXN1YWwgYW5kIHNuYXBzaG90IGFyZSBub3QgaGVyZSBhbnltb3JlLgoJICBNYWtlcwoJICBhdXRvbWFrZS0xLjcgaGFwcHkgYWdhaW4uCgoyMDA1LTEwLTExIDIzOjAzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfZXZlbnQpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUKCjIwMDUtMTAtMTEgMTY6MzQ6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMDcgMTU6MjQ6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0IGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0CgkgIGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgoyMDA1LTEwLTA0IDE1OjQ5OjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMgZmlsZQoKMjAwNS0xMC0wMyAxODowMDozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS4zID09PQoKMjAwNS0xMC0wMyAxNzo1MDoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2UgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzZSB0aW1lCgoyMDA1LTA5LTI4IDEzOjM4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCjIwMDUtMDktMjYgMTc6NTc6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZAoKMjAwNS0wOS0yNiAxNToxOTozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgc29tZSBkaXN0aW5nIGFuZCBidWlsZCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc29tZSBkaXN0aW5nIGFuZCBidWlsZCBmaXhlcwoKMjAwNS0wOS0yMyAxNzowNToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIEdzbWRlYyBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgZ3NtZGVjICEgYWxzYXNpbmsgYW5kIG9zc3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc21kZWMgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGdzbWRlYyAhIGFsc2FzaW5rIGFuZCBvc3NzaW5rLgoKMjAwNS0wOS0yMyAxNjo0MDoyNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IENvbnZlcnQgdG8gdXNpbmcgZ3N0IGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiBDb252ZXJ0IHRvIHVzaW5nIGdzdCBkZWJ1Z2dpbmcKCjIwMDUtMDktMjMgMDQ6MjI6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgoyMDA1LTA5LTIyIDExOjE3OjI2ICswMDAwICBBcndlZCB2LiBNZXJrYXR6IDx2Lm1lcmthdHpAZ214Lm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgdHRhIHBsdWdpbiBwb3J0ZWQgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0dGEgcGx1Z2luIHBvcnRlZCB0byAwLjkKCjIwMDUtMDktMjEgMjA6MzM6NDIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBTZXR0aW5nIGNhcHMgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXR0aW5nIGNhcHMgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA1LTA5LTIwIDE5OjI1OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgIGZpeCBNYWtlZmlsZS5hbSAgdWdoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggTWFrZWZpbGUuYW0gIHVnaAoKMjAwNS0wOS0yMCAxODo0OTowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgRml4ZWQgY29uZmlndXJlLmFjIGFuZCBleHQvc2RsL01ha2VmaWxlLmFtIGZvciBzZGwgcG9ydCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBjb25maWd1cmUuYWMgYW5kIGV4dC9zZGwvTWFrZWZpbGUuYW0gZm9yIHNkbCBwb3J0IHRvIDAuOS4KCjIwMDUtMDktMTkgMjE6NTE6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoKMjAwNS0wOS0xOSAyMTo0Nzo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoKMjAwNS0wOS0xOSAxNjo0NDozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgoyMDA1LTA5LTA5IDE3OjUzOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNoZWNrLzogQWRkIGV4dHJhIHRlc3RzIGZvciBiYXNldHJhbnNmb3JtIGJhc2VkIGNvbXBvbmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGNoZWNrL3BpcGVsaW5lcy9zaW1wbGVfbGF1bmNoX2xpbmVzLmM6IChzZXR1cF9waXBlbGluZSksCgkgIChydW5fcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpLCAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgIEFkZCBleHRyYSB0ZXN0cyBmb3IgYmFzZXRyYW5zZm9ybSBiYXNlZCBjb21wb25lbnRzLgoJICBDb21tZW50IG91dCB0aGUgdGVzdF9lbGVtZW50X25lZ290aWF0aW9uIHRlc3QgdW50aWwgd2UgZGVjaWRlCgkgIGlmIGl0J3MgdGVzdGluZyBjb3JyZWN0IGJlaGF2aW91ci4KCSAgKiBleHQvbGlidmlzdWFsL3Zpc3VhbC5jOiAoZ3N0X3Zpc3VhbF9pbml0KSwgKGdldF9idWZmZXIpLAoJICAoZ3N0X3Zpc3VhbF9jaGFpbiksIChnc3RfdmlzdWFsX2NoYW5nZV9zdGF0ZSk6CgkgIFNsaWdodGx5IG1vcmUgY29ycmVjdCBidXQgc3RpbGwgYm9ndXMgdGltZXN0YW1waW5nLgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAoZ3N0X2ZmbXBlZ2NzcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9zY2FsZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb3NjYWxlX3ByZXBhcmVfc2l6ZSksIChnc3RfdmlkZW9zY2FsZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9zY2FsZV9wcmVwYXJlX2ltYWdlKToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KSwKCSAgKHZvbHVtZV90cmFuc2Zvcm1faXApOgoJICBCYXNldHJhbnNmb3JtIHVwZGF0ZXMuIEVuYWJsZSBwYXNzdGhyb3VnaCBtb2Rlcy4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNpbmtfcmVuZWdvdGlhdGVfc2l6ZSksIChnc3RfeGltYWdlc2lua194Y29udGV4dF9nZXQpLAoJICAoZ3N0X3hpbWFnZXNpbmtfc2V0Y2FwcyksIChnc3RfeGltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICBOZWdvdGlhdGlvbiBmaXggdGhhdCBhbGxvd3MgdGhlIHdpbmRvdyB0byByZXR1cm4gdG8gdGhlIG9yaWdpbmFsCgkgIHNpemUgYW5kIHJlbmVnb3RpYXRlIHBhc3N0aHJvdWdoIHVwc3RyZWFtLiBFeHRyYSBkZWJ1ZyBvdXRwdXQuCgoyMDA1LTA5LTA4IDE1OjU2OjM4ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIFBvcnRlZCBzcGVlZCBQbHVnaW4gdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIHNwZWVkIFBsdWdpbiB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTA2IDE0OjA2OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS4xID09PQoKMjAwNS0wOS0wNiAxNDowNTo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIFJFTEVBU0U6CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy5zcGVjLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS4xCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA5LTA1IDE1OjEwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogcG8vUE9URklMRVMuaW46CgkgIGNsZWFuaW5nIHVwIGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW5pbmcgdXAgYmFkCgoyMDA1LTA5LTA1IDEzOjQ5OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBkb2NzL3JhbmRvbS9DaGFuZ2VMb2ctMC44OgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGNyZWF0ZWQgZ3N0LXBsdWdpbnMtYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjcmVhdGVkIGdzdC1wbHVnaW5zLWJhZAoKPT09IHJlbGVhc2UgMC45LjIgPT09CgoyMDA1LTA5LTA0IDEwOjM4OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWs6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdGNoZWNrCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgZml4IHdyb25nIGRvY3N0cmluZwoKMjAwNS0wOS0wMiAyMDoyMToxNyArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIFBvcnRlZCBHU00gRW5jb2RlciB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgR1NNIEVuY29kZXIgdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wMiAxNTo0NDo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAyIDE1OjQzOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAxIDE5OjUzOjEyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIFBPUlRFRF8wOToKCSAgdXBkYXRlIFBPUlRFRF8wOSBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgUE9SVEVEXzA5IGZpbGUKCg==